语言模型(二) 评估和类别

一、Evaluation

1、  entropy

l   熵(entropy)又称自信息,self-information

描述一个随机变量的不确定性的数量,熵越大,不确定性越大,正确估计其值的可能性越小。越不确定的随机变量越需要大的信息量以确定其值。


p(x) 表示x 的分布概率

l   相对熵(relativeentropy )又称KL 距离,Kullback-Leibler divergence

衡量相同事件空间里两个概率分布相对差距的测度,当p=q 的时候,相对熵为0 ,当p q 差距变大时,交叉熵也变大。

p(x) q(x) 代表x 的两种概率分布

l   交叉熵(crossentropy

衡量估计模型和真实概率分布之间的差异

定义语言L=(Xi)~p(x) 与其模型q 的交叉熵为:


表示L 的语句( 应该表示一句话) q(x) 表示估计模型,由于无法获取真实模型的概率,需要作出一个假设:假定L 是稳态遍历的随机过程,即当n 无穷大的时候,所有句子的概率和为1


2、  困惑度perplexity


相比如交叉熵的优势在于:

交叉熵的值在6.6 位和7.64 位之间,对应的ppl 100 200 之间,ppl 值更容易记。

交叉熵下降2% ,对应于Ppl 10% 的提升,描述同样的提升,ppl 的数值更漂亮。

最重要的一点是,ppl 更容易计算,最小的ppl 值意味着训练的模型最接近真实模型。

劣势在于:

Ppl 适合直接比较两个模型,交叉熵适合描述一个模型的提升。在描述模型的提升的时候,通常使用相比于基线降低的相对百分比,如下图:

语言模型(二) 评估和类别_第1张图片

 

3、  字错误率worderror rate

S 表示替换个数,D 表示删除个数,I 表示插入个数,N 表示reference 中字的个数。

WER 通常用在语音识别结果的评估上面,有标准答案,适合比较,缺点就是过于死板,没有同义词的容错机制。

适合用于同一个任务的不同技术比较,不适合在不同系统不同技术之间的对比。

二、N-gram model

影响n-gram 模型性能最重要的两点是阶数和平滑。其中KN 平滑算法性能最佳。

n-gram 最大的优势在于速度和可靠性,计算简单。

局限性有以下几点:

跨领域的脆弱性——不同领域的语言使用规律不同

独立性假设的无效性—— n-gram 假设当前词只和前n-1 个词有关

语言模型规模——随着阶数的增加,n-gram 会呈指数型增长,所以无法使用高阶数的语言模型。基于神经网络的LM 可以解决该问题。

语言模型面临两个问题如下:

1、 高阶问题

THE SKY ABOVE OUR HEADS IS BLUE

如果要刻画BLUE SKY 之间的联系,需要6gram 的语言模型,将导致语言模型过大。

2、  相似词问题

PARTY WILL BE ON

由于训练语料的问题,可能导致Friday 的概率明显高于Monday

三、其他语言模型

1、 Cache LM

在文本中刚刚出现的一些词在后面的句子中再次出现的可能性较大。通过原始n-gram 的概率和cache n-gram 概率的线性插值,获得最终的概率。

优势在于可以降低PPL 值,劣势在于PPL 值降低的同时WER 会升高,原因在于识别结果错误的时候会形成错误的反馈。

2、 Class based LM

当训练数据量小时候,为了解决数据稀疏,可以引入classes ,然后根据classes 训练gram

该类语言模型的难点在于高的计算复杂度和如何构造class

3、  Structured LM

在一个句子中的相关词,可能没有出现在临近的位置。Structured LM 将句子看做一种树结构,叶子代表词,节点代表连接符号。

4、 Decision Trees andRandomForest LM

使用决策树通过问问题的方式构建LM ,但是很难找到好的决策树。计算复杂度较高,在某种程度上面类似于class based LM

5、 Maximum Entropy LM

将来自不同信息源的语言模型进行结合(类似于插值),获得更好的语言模型。

6、  Neural Network LM

Frederick Jelinek: "Every time I _re alinguist out of my group, the accuracy goes up."

7、  NNLM

训练trick

每次训练句子随机化,可以减少训练的epoch

学习率,当提升明显的时候,学习率保持不变,当没有明显提升的时候,学习率减半。

权重矩阵初始化为均值为0 、方差为0.1 的随机数分布。

 

参考文献:

statistic language models based on neural networks

http://www.fit.vutbr.cz/~imikolov/rnnlm/thesis.pdf

《统计自然语言处理》宗成庆

你可能感兴趣的:(语言模型(二) 评估和类别)