语言模型的评价方法

语言模型的评价方法

  常用的语言模型效果好坏的评价指标是复杂度(perplexity)。在测试集上得到的perplexity越低,说明模型的效果越好。
  perplexity的公式如下:
语言模型的评价方法
  Perplexity值刻画的是语言模型预测一个语言样本的能力。比如已经知道某句话会出现在语料库中,那么通过语言模型计算得到的这句话的概率越高,说明语言模型对这个语料库拟和的越好。
  在语言模型的训练中,通常采用Perplexity的对数表达形式:
语言模型的评价方法
  相比乘积求平方根的方式,使用加法的形式可以加速计算,同时避免概率乘积数值过小而导致的浮点数向下溢出的问题。
  Log Perplexity可看成真实分布与预测分布之间的交叉熵(Cross Entropy)。
语言模型的评价方法
  假设x是一个单词;u(x)为每个位置上的单词的真实分布;v(x)为模型的预测分布。这样可看出Log Perplexity和交叉熵是等价的。不同的是,语言模型的真实分布是未知的,所以在Log Perplexity的定义中,真实分布用测试语料中的取样代替,认为在给定上下文w1,w2,...,wi-1的条件下,语料库中出现单词wi的概率为1,出现其他词的概率均为0。