概率语言模型
首先需要明确,我们这里讲到的语言模型是概率语言模型,非概率语言模型这里不做讨论。
语言模型的基本任务:在一个文本中,根据词汇wt的前面词汇来推测wt的概率,如果我们加入马尔可夫假设,即词汇wt只和前 n - 1 个词汇相关,则一个长度为T的段落其概率可以表示为:
比较简单的做法使用n-gram:
神经网络语言模型
Bengio 在论文A Neural Probabilistic Language Model提出了基于神经网络的概率语言模型,条件概率 使用softmax函数来计算,这里n是wt之前的词汇的数目。神经网络训练仍然使用MLE,即loss function 为:
这里的即为。
另外,Bengio在论文提出了word embedding的概念,当然改模型计算上还是比较费时的。
word2vec的神经网络结构要比Bengio提出的 word embedding 神经网络结构要简单,其区别主要在于两点:
1. word2vec没有复杂的隐藏层
2. 词汇wt的不再依赖于之前的词汇,而是依赖于其周围的词汇
关于word2vec的具体结构我们会在下个博客讲解
参考文献:
[1] On word embeddings - Part 1