NLP 任务官方过程
sklearn.model_selection.split模块
- 将模型分割,eg.数据集与验证集
Keras分词器 Tokenizer
- 测试的时候由于版本问题,导包要在Keras前面家tensorflow.
- Tokenizer中ovv以及其它参数的使用案例
序列预处理pad_sequences()序列填充
- 做数据填充,将所有句子的长度保持一致
tokenizer.texts_to_sequences()
- 将数据用单词的下标表示
keras中to_categorical函数解析
- 将句子转换成独热编码 eg一个句子有几个字或词,那么这个句子的矩阵表示就有几行
停用词
- 1、使用十分广泛,甚至是过于频繁的一些单词。
- 2、文本中出现频率很高,但实际意义又不大的词。这一类主要包括了语气助词、副词、介词、连词等
词干
- “workers”这个词,worker是词干,work是词根,-er 是词缀,-s就是词尾
python中sorted 函数
- 观察下面两段代码的结果,以及operator.itemgetter()中的参数
#定义元祖列表
inventory = [('apple', 3), ('banana', 2), ('pear', 5), ('orange', 1)]
#定义元祖的排序规则
getcount = operator.itemgetter(1)
map(getcount, inventory)
#对元祖进行排序
sorted(inventory, key=getcount)
>>>[('apple', 3), ('banana', 2), ('orange', 1), ('pear', 5)]
#定义元祖列表
inventory = [('apple', 3), ('banana', 2), ('pear', 5), ('orange', 1)]
#定义元祖的排序规则
getcount = operator.itemgetter(0)
map(getcount, inventory)
#对元祖进行排序
sorted(inventory, key=getcount)
>>>[('apple', 3), ('banana', 2), ('orange', 1), ('pear', 5)]
词嵌入矩阵的应用及原理
- 每一句作分词处理
- 每一个词做word2index处理
- 每一个[0,1,2,3,45,34,.......]表示一句话的列表做one-hot表示,也可以用categorical()函数处理
- 将one-hot与embedding matrix共同计算出一句话的embedding表示
coef
- 代码中的含义暂时理解为系数,或表示权重矩阵里的一列
with open(EMBEDDINGS_PATH) as f:
#读取语言模型里的一行数据
for line in f:
#对这行数据做分词处理
values = line.split()
#得到的分词列表的第一个元素表示特征向量所表示的单词
word = values[0]
#表示这个单词所用的特征向量,也就是从第2位开始一直到最后一位
coefs = np.asarray(values[1:], dtype='float32')
#将这种表示关系建立一种映射
embeddings_index[word] = coefs
sklearn.metrics中的评估方法介绍
坚持学习,坚持记录Simbanana

浙公网安备 33010602011771号