概述
看了一些Word2Vec的一些相关文章,筛选一下主要分为两类(感兴趣可以看原文)。一是有关于Word2Vec的发展,主要是以下4篇文章起到奠基性的作用
A Neural Probabilistic Language Model.2003 (NNLM)
Recurrent neural network based language model.2010 (RNNLM)
Distributed Representations of Words and Phrases and their Compositionality.2013 (Skip Gram Model and CBOW)
Efficient Estimation of Word Representations in Vector Space.2013 (Skip Gram Model and CBOW)
二是关于Word2Vec应用的一些文章,一些有趣的idea像是如下的文章
Linguistic Regularities in Continuous Space Word Representations.2013
Exploiting Similarities among Languages for Machine Translation.2013
Distributed Representations of Sentences and Documents.2014
Development
NNLM: A Neural Probabilistic Language Model.2003
这篇文章主要解决在此之前的自然语言模型是统计语言模型和基于统计语言模型n-gram模型的维度灾难问题。
统计语言模型的基本想法就是对于一句话,在给定前几个词的情况下,统计出现下一个词的概率。这样一句话的出现概率就是第一个词出现的概率 P(W1) 乘上在第一个词给定的情况下出现第二个词的概率 P(W2|W1) , 依此类推,一句话的概率就是上图第一行的联合条件概率乘积。
N-gram模型就是假设一个词出现的概率只考察前后该词前后n个词,以此来降低复杂度。
这些模型的问题就是复杂度非常高,例如:
上图的free parameters就是指前面语言模型的各个概率P. 统计语言模型就是要统计所有文本将所有概率P确定下来。
文章的作者要解决这一问题,采用distributed vectors来表示每一个词,一句话的上下文语境用训练好的vector的值和网络参数来表达。如下:
作者给出的网络结构如下: