--读冯志伟老师《生成词向量的三种方法》
pre:为建立用于自然语言处理的神经网络,必须进行词向量的生成。生成稠密的词向量可以改进自然语言处理中神经网络的性能。
(DAY1中介绍了如何使用单词在词汇中的维度将一个单词表示为一个稀疏的词向量(20000-50000维,大多数值为0),本文介绍如何生成稠密词向量,维度大概在50-100维且大多值不为0)
-
稠密的词向量的优点:
- 容易作为连续的实数值特征被纳入深度学习系统,在自然语言处理的神经网络系统中更好地发挥词嵌入的作用。(分类器只用学习较小的权值来表示单词意义,包含的参数少,更容易泛化,有助于避免过拟合)
- 稠密的词向量可以更好地捕捉同义词
-
词向量生成方法1:连续跳元(continuous skip-gram)和连续词袋(continuous bag of words,CBOW)
具有相近意义的单词在文本中出现时,它们在位置上的分布往往是彼此相近的。神经网络模型可以从任意一个词向量开始学习嵌入,然后从字面上把一个单词的嵌入移动到比较相似的邻近单词的嵌入中。
连续跳元和连续词袋最广泛的方法是Word2vec方法。
Word2vec方法可以把单词的独热向量表示(one-hot vector)转换为分布向量表示(distribution vector)。其中,独热向量是一种局部表示的形式(1000、0100、0010、0001),不足之处有二:1.独热向量维数很高且不能扩展(有一个新的就得