Keras文本分类实战(下)
在上一节Keras文本分类实战(上),讲述了关于NLP的基本知识。这部分,将学会以不同方式将单词表示为向量。 词嵌入(word embedding)是什么 文本也被视为一种序列化的数据形式,类似于天气数据或财务数据中的时间序列数据。在之前的BOW模型中,了解了如何将整个单词序列表示为单个特征向量。下面将看到如何将每个单词表示为向量。这里有多种方法可以对文本进行向量化,比如: 每个词语(word)表示的词语(words)作为向量 每个字符(character)表示的字符(characters)作为向量 N-gram单词/字符表示为向量 在本教程中,将使用单热编码和单词嵌入将单词表示为向量,这是在神经网络中处理文本的常用方法。 独热码(one-hot encoding) 将单词表示为向量的第一种方式是创建独热码,这是通过将词汇长度的向量与语料库中的每个单词的条目组合一起来完成。 通过这种方式,对于每个单词,只要它在词汇表中存在,就会将该单词在相应的位置设置为1,而向量中其它的位置设置为0。但这种方式可能为每个单词创建相当大的向量,且不会提供任何其他信息,例如单词之间的关系。 假设有一个城市列表,如下例所示: >>> cities = [ 'London' , 'Berlin' , 'Berlin' , 'New York' , 'London' ] >>> cities [