本次学习是根据贪心科技的李文哲老师的语言模型课程所整理的相关笔记,并加上自己的理解。
-
内容包括
- 语言模型的介绍
- Chain Rule 以及马尔可夫假设
- Unigram, Bigram, Ngram
- 估计语言模型的概率
- 评估语言模型 - Perplexity
- Add-one 平滑,Add-K平滑
- Interpolation平滑
【0】语言模型(Language Model, LM)
- 概念:用来判断一个句子的合理性,即一句话在语法上是否通顺;
- 方法:通过符合语法的概率来判断;
- 常见的应用场景:拼写纠错;
【1】Chain Rule(链式法则)
- 假设一个句子s是由w1,w2,…,wT组成,则根据贝叶斯公式可得联合概率p(s)
- 定理公式:
由上,一个统计语言模型可以表示成:由前面词求后一个词出现的条件概率 - 例如:s = “I want to do somethings.”
P(S) = P(i)P(want|i)P(to|i want)P(do|i want to)P(somethings|i want to do)
那么,如何求解上面的概率呢?我们很容易的想到:可以通过计算它们在语料库出现的频数比值得出概率,如P(to|i want) = count(i want to) / count(i want) - 缺点:条件概率通过语料库来进行计算;由于语料库的不足,存在稀疏性问题(存在得出的条件概率为0情况),需要通过马尔可夫假设来解决