0111:word2vec

2021-01-11  本文已影响0人  是黄小胖呀

1、首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练;

其次,该工具得到的训练结果——词向量(word embedding),可以很好地度量词与词之间的相似性。

其实word2vec算法的背后是一个浅层神经网络。

另外需要强调的一点是,word2vec是一个计算word vector的开源工具。当我们在说word2vec算法或模型的时候,其实指的是其背后用于计算word vector的CBoW模型和Skip-gram模型。

问题来了:连续的稠密向量去刻画一个word的特征?

基于假设:Distributional Hypothesis,是说上下文环境相似的两个词有着相近的语义。

解决方案:

在03年的论文里,Bengio等人采用了一个简单的前向反馈神经网络𝑓(𝑤𝑡−𝑛+1,...,𝑤𝑡)来拟合一个词序列的条件概率𝑝(𝑤𝑡|𝑤1,𝑤2,...,𝑤𝑡−1)。整个模型的网络结构见下图:

Neural Network Language Model

首先,我们对原始的NNLM模型做如下改造:

移除前向反馈神经网络中非线性的hidden layer,直接将中间层的Embedding layer与输出层的softmax layer连接;

忽略上下文环境的序列信息:输入的所有词向量均汇总到同一个Embedding layer;

将Future words纳入上下文环境

CBoW模型

CBoW模型依然是从context对target word的预测中学习到词向量的表达。反过来,我们能否从target word对context的预测中学习到word vector呢?答案显然是可以的:

Skip-gram模型 层次softmax

参考资料:

1、[NLP] 秒懂词向量Word2vec的本质 https://zhuanlan.zhihu.com/p/26306795

2、NLP之——Word2Vec详解 https://www.cnblogs.com/guoyaohua/p/9240336.html

3、使用笔记 https://www.jianshu.com/writer#/notebooks/27148139/notes/35256142

上一篇 下一篇

猜你喜欢

热点阅读