Word2vector是一群用来生成词向量的模型的集合,Google在2013年开放了Word2vec这一款用于训练词向量的软件工具。
这里先了解词的两种表示形式:转载自http://www.dataguru.cn/article-13488-1.html
1 one-hot representation
这种方法把每个词表示成一个很长的向量,向量的维度是词表大小,采用的是稀疏方式存储,向量中绝大部分元素是0,只有一个维度是1,eg:可爱 [0 0 1 0]
缺点:① 向量的维度会随着句子的词的数量类型增大而增大
② 任意两个词之间在表示上都是孤立的,无法表示语义层面上词汇的相关信息。
2 distributed representation
这里面有一个说法:上下文相似的词,其语义也相似。神经网络语言模型采用的就是文本分布式表示。词向量(word embedding)是训练该语言模型的一个附加产物。
词向量的本质是训练神经网络时候的隐藏层参数或者说矩阵
在word2vec中有两个比较通用的模型,也可以称之为训练方式
1 词袋模型(bag-of-words):通过上下文预测当前词
此模型下,像是句子或是文件这样的文字可以用一个袋子装着这些词的方式表现,这种表现方式不考虑文法以及词的顺序。适用于数据集较小的情况
2 Skip-gram模型 :通过当前词预测上下文
转载:https://blog.csdn.net/itplus/article/details/37969979