提示:第9章 语言模型
9.1 语言模型任务
语言模型是给一个句子分配概率的任务。
除了给每个词序列分配概率,语言模型也对给定单词(或一个词序列)在一个词序列之后的可能性分配概率。
语言模型任务的完美表现是预测序列中的下一个单词具有与人类参与者所需的相同或更低的猜测数目,这是人类智能的体现 ,并且不太可能在不久的将来被实现。
语言模型就是给任何词序列 w 1 : n w_{1:n} w1:n分配一个概率,也就是 P ( w 1 : n ) P(w_{1:n}) P(w1:n)。通过概率的链式法则可以写成如下形式:
这是一系列的词预测任务,其中预测的每个词都取决于其前面的词。当建模一个单词时,基于它的前文建模一个词比分配给整个句子一个概率值更加容易处理,公式中的最后一项取决于前n-1个词,这使得建模整个句子变得十分困难。由于这个原因,我们使用马尔可夫假设:一个k阶马尔可夫假设序列中下一个词只依赖其前k个词。
9.2 语言模型评估:困惑度
一个更直观的评估语言模型的方法是对于未见的句子使用困惑度(perplexity )。困惑度是一种信息论测度,用来测量一个概率模型预测样本的好坏,困惑度越低越好。
好的语言模型(例如,可以反映真实语言的使用)将会为语料中的样例分配更高的概率, 也会有更低的困惑度值。
9.3 语言模型的传统方法
语言模型的传统方法假设k阶马尔可夫性质。语言模型的任务是提供一个对 p ( w i + 1 = m ∣ w i − k : i ) p(w_{i+1}=m|w_{i-k:i}) p(wi+1=m∣w