【自然语言处理】语言模型

语言模型

  1. 什么是语言模型

语言模型 就是估测一些词的序列的概率,即预测 p(w1, w2, w3 ... wn),

一个应用就是句子的生成。

2. 语言模型的种类

  • Ngram

              ngram是一种统计的方法,它相当于固定了一个窗口,在这个窗口内的词是相关的,也就是第n个词和前n个词相关:P(s) = p(w1) p(w2|w1) p(w3| w1, w2) ... p(wn|w1, w2 ...wn-1)

              所以要求这个概率P(s), 就得求所有的条件概率,这就要求数据要足够大,能包含所有的这些词,如果有的条件概率是0,要就行平滑处理

  • 基于神经网络的语言模型

它对于每一部分相乘概率P(wi|wj)不是通过统计得来的,而是通过神经网络预测出来的

如图所示,训练一个神经网络,它的功能就是根据前两个词预测下一个词,输入 ‘潮水’ 和 ‘退了’,输出 预测出 ‘就’ 的概率, 然后利用 优化交叉熵函数(为什么是交叉熵,应该是应为求得是分布,衡量两个分布用的是交叉熵)

有了上述预测函数,就可以算句子的概率了,这里的每个条件概率都是通过神经网络进行预测出来的

 对每一个单词用 one-hot编码,然后放入网络会得到下一个词出现的概率,最后累乘得到句子的概率。

           

猜你喜欢

转载自www.cnblogs.com/zhaopAC/p/9888405.html