Advertisement

自然语言处理相关基础知识

阅读量:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
复制代码
    import torch
    import numpy as np
    import string
    
    #步骤:1、分词   2、创建词表   3、词嵌入表示
    
    s = 'Life is not easy for any of us. We must work, and above all we must believe in ourselves. We must believe that each one of us is able to do some thing well. And that we must work until we succeed.'
    
    #string.punctuation存储了英文标点符号
    for c in string.punctuation:
    #将标点符号替换为空格并大写转小写
    s=s.replace(c,' ').lower()
    
    #分词方式一 将每个字母分出来   #分词方式二 将每个单词分出来   #分词方式三 n-gram
    #print(list(s))           #print(s.split())          #思考中文分词如何改进?
    
    #创建词表 np.unique将s.split()唯一化
    vocab = dict((word,index) for index,word in enumerate(np.unique(s.split())))
    #按照词表将处理标点符号后的话翻译成数值表示
    s = [vocab.get(w) for w in s.split()]
    
    #文本向量化:一是独热编码 二是词嵌入表示
    
    #len(s)为42 len(vocab)为28 先创建一个(42,28)且数值全为0的数组
    b = np.zeros((len(s),len(vocab)))
    #构建独热编码
    for index,i in enumerate(s):
    b[index,i] = 1
    
    #共42个单词 将每个单词映射到长度为20的张量上
    em = torch.nn.Embedding(len(vocab),20)
    #构建词嵌入
    s_em = em(torch.LongTensor(s))

全部评论 (0)

还没有任何评论哟~