NLP 任务官方过程

sklearn.model_selection.split模块

  • 将模型分割,eg.数据集与验证集

Keras分词器 Tokenizer

序列预处理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中的评估方法介绍

posted @ 2021-08-19 18:19  Simbanana  阅读(54)  评论(0)    收藏  举报