贝叶斯模型无法表示长句子,多个单词的条件下,某个词出现的概率极小,再经过链式法则连乘之后,概率更小。
针对这个问题,有马尔科夫假设:
马尔科夫假设:某个单词出现的概率只与它前面的一个或几个单词有关。
一阶马尔科夫模型对应二元语法模型bigram
二阶马尔科夫模型对应三元语法模型trigram
一元语法模型无法表示语句中单词之间的关系。一元模型下,正常语句的概率和改句子打乱后的概率相同,显然不合理。常用二元语法模型,最高用到五元语法模型。
N元模型的问题,无法处理未登录词。
语言模型评估
理想情况下:
- 假设有两个语言模型A,B
- 选定一个特定的任务,比如拼写纠错
- 把两个模型应用到此任务中
- 最后比较准确率。
此方法太麻烦,需要搭建一套流程。
其他评估语言模型方法:困惑度 Perplexity
,其中x:average log likelihood
困惑度越小,句子概率越大,句子确定度越高,越准确。
unigram | bigram | trigram | |
perplexity | 962 | 170 | 109 |