这部分内容为NLP学习笔记
什么是语言模型?
语言模型描述了一门语言的句子的概率分布。也就是给出任意一个句子S(例如“我 喜欢 你”),在语言模型W中,都能够得到(通常是计算出来),其是“人话”(中文的正常表达)的概率W(S)。
为什么要有语言模型?语言模型能够用于衡量一个句子是否是人话。其在诸多任务中,都能够起到作用。例如,中文分词任务中,我们可以通过计算分词后句子的概率,来确定最佳的分词结果。例如,“咬死了猎人的狗 ”
到底是“咬死/了/猎人/的/狗”或是“咬死/了/猎人的狗”(举例不是很恰当),但是就是出现多种分词结果时,我们可以考虑使用语言模型计算合理性。
n-gram语言模型
上面的介绍是很口语化的,而"上身"到具体模型之前,还是得形式化定义一下。语言模型定义了如下了句子
S e n t e n c e = w i w 2 . . . w n Sentence = w_i w_2...w_n Sentence=wiw2...wn
其在符合语言格式的概率是:
p ( w 1 , w 2 , . . , w n ) p(w_1,w_2,..,w_n) p(w1