笔记-N元语法

N元语法

最大似然估计

缺陷:

  • 参数空间过大

    条件概率P(wn|w1,w2,…wn-1)无法估算

  • 数据稀疏严重

    很多语料库中未出现的词组组合,得到的概率为0

马尔可夫假设

目的:解决参数空间过大的问题;随意一个词出现的概率只和与它前面出现的有限的一个或者几个词相关。

unigram

一元语言模型:一个词的出现与周围词独立条件无关假设

bigram

二元语言模型:一个词的出现仅依赖于前面两个词考虑到词与词的搭配关系,比如“pizza”和“eat”的搭配比“drink”的搭配更普遍

trigram

三元语言模型:一个词的出现仅依赖于它前面出现的两个词

模型评价

方法一:将模型放入具体的任务,然后分别得到模型的准确率。但这种方法很耗时间;这种端对端的评测被称为外在评测(extrinsic evaluation)方法二:利用语言模型的特性,使用困惑度对语言模型进行评价;这是一种内在评测(intrinsic evaluation)一般使用在试点试验上,即只是一个小规模的初步研究,以评估一些性能;

困惑度

困惑度.jpg

包括句末标记,然后是

  • 测试集上得到的句子的概率越大,困惑度越小,说明模型越好

数据稀疏问题

“封闭词汇假设”的问题:假设测试集中所有的词汇都出现过。显然这个假设把问题简单化了。对于语料库中未曾出现的词组对,会出现概率为0的现象,这对于我们模型的估计是不利的,因此我们要采取一些平滑方法解决这一问题。

Laplace平滑

又称为加1平滑,目的是保证所有计数结果至少出现一次;

Laplace平滑.jpg

加1的总数为V,要加在分母上,因为要保证全概率公式成立。

  • 将原来大的计数削减用于补偿给未看见的计数

  • 调整计数;

    用来描述平滑算法对分子的影响;

Good-Turing打折法

  • 使用只出现过一次的单词的频率作为零计数的一元语法的频率来重新估计概率量

    其他出现非零次的概率要根据进行打折计算

GoodTurning打折法.jpg

插值法

使用线性插值的方法,将高阶模型和低阶模型做线性组合,

  • 从所有的N元语法估计中把不同的概率估计混合起来进行先行插值

    从保留语料库训练lamda的值

回退法

  • 如果我们需要的N元语法有零计数,我们就回退到N-1元语法近似地计算它

  • 我们不断回退,直到达到具有计数的历史为止

工具包和数据格式

用对数来表示和计算语言模型,以避免下溢,加快计算。对数空间相加等价于线性空间的相乘。要报告概率的时候,取对数概率的指数即可。

SRILM

语言模型训练工具SRILM详解
A Toolkit For Langugae Modeling——SRILM使用记录

ARPA格式

优缺点

优点:可以使用丰富的词汇知识

缺点:依赖训练语料库

你可能感兴趣的:(笔记-N元语法)