2021-12-25 第二章5 自然语言处理常见的三大任务之语言模型:N元语言模型

内容来自哈工大车万翔老师团队的作品《自然语言处理:基于预训练模型的方法》。

自然语言处理常见的三大任务:语言模型、基础任务、应用任务

语言模型

语言模型(language model,LM,也称统计语言模型)是描述自然语言概率分布的模型,是一个非常基础和重要的NLP任务。
利用语言模型,可以计算一个词序列或一句话的概率,也可以在给定上文的条件下对接下来可能出现的词进行概率分布的估计。

1. N元语言模型

语言模型的基本任务是在给定词序列的条件下,对下一时刻可能出现的词的条件概率进行评估。
给定语料库时,条件概率可理解为,当语料中出现“我喜欢”时,有多少次下一个词为“读书”。通过最大似然估计计算:

$C(·)表示词序列在语料库出现的次数。

通过以上的条件概率,可以进一步计算及一个句子出现的改啦,即相应单词序列的联合概率,为序列的长度。可以用链式法则对该式分解,将其转化为条件概率的问题:

image.png

表示由位置 到位置 的字串

问题:随着句子长度的增加,出现的次数会越来越少,甚至从未出现过(例:句子“我爱读书是因为书籍可以帮助我在人生重要时刻做出稍微更合理的选择以取得更好的成就来证明自己是个有一点优秀的人”,这样长的句子,可能整个语料库中只出现过这一次,其可能从来没出现过),那么则很可能为0,此时对于概率估计就没有意义了。
马尔可夫假设(Markov Assumption):为了解决该问题,提出假设“下一个词出现的概率只依赖于它前面个词”,即:

马尔可夫假设

满足此假设的模型,被称为N元语法N元文法(N-gram)模型。
以二元模型(bigram)为例,式(2-10)可转化为:
bigram模型

为了使 对于 有意义,可在句子的开头增加句首标记 (Begin Of Sentence),并设 ,同时句尾可加一个句尾标记 (End Of Sentence),设 。

你可能感兴趣的:(2021-12-25 第二章5 自然语言处理常见的三大任务之语言模型:N元语言模型)