初探统计语言模型

Posted Vinicier

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初探统计语言模型相关的知识,希望对你有一定的参考价值。

1. 绪论

前面我们已经提到,20世纪50到70年代自然语言处理(NLP)的研究方法是通过句法分析语义分析 这种基于规则的方式来处理NLP 问题,目的是想让计算机模拟像人一样思考的方式,让计算机理解自然语言。 但是经过二十多年的探索研究表明,基于规则的方式处理极简单的句子还行,但是稍微复杂一些的数据复杂度呈指数级增大,基于规则的自然语言处理方式无法应用到实际问题中。

而自然语言从它产生开始,逐渐演变成一种上下文相关的信息表达和传递的方式,因此,让计算机去处理自然语言,一个基本的问题就是为自然语言这种上下文相关的特性建立数学模型。 这个模型就是NLP 的基础,统计语言模型(Statistical Language Model)

2. 统计模型

2.1 句子的数学模型表示

假设 S 表示一个句子,由一连串特定顺序排序的词序列w1,w2,,wn 组成,这里 n 是指句子的长度。现在,我们想知道S 在文中出现的可能性,也就是求数学中的概率 P(S) 。由于 S=w1,w2,,wn ,可得

P(S)=P(w1,w2,,wn)
利用 条件概率的公式 S 这个序列出现的概率等于每个词出现的条件概率的乘积,于是有
P(w1,w2,,wn)=P(w1)P(w2|w1)P(w3|w1,w2)P(wn|w1,w2,,wn1)
其中, P(w1) 表示第一个词 w1 出现的概率; P(w2|w1) 是在已知第一个词的前提下,第二个词出现的概率;依次类推。不难看出,词 wn 出现的概率取决于它前面的所有词。

上式中,前两项还较容易算,后面项涉及的变量太多,无法估算。 该如何处理呢?

2.2 马尔科夫假设与 N 元模型

19世纪到20世纪初,俄国数学家马尔科夫(Andrey Markov)提出了一个偷懒但十分有效的方法,即每次遇到这种情况时,就假设任意一个词 wi 出现的概率只与它的前面的词 wi1 有关,该假设就是马尔科夫假设。于是上面的问题就变得很简单了, S 出现的概率就可表示为
P(w1,w2,,wn)=P(w1)P(w2|w1)P(w3|w2)P(wi|wi1)P(wn|wn1)
该式对应的就是统计语言中的二元模型(Bigram Model)。 更高级一点,如果假设一个词,由它前面的 N1 个词决定,与更前面的词无关,即
P(wi|w1,w2,,wi1)=P(wi|wiN+1统计语言模型

统计语言模型

统计语言模型Python实现

浅析自然语言理解之统计语言模型

统计语言模型

NLP_统计语言模型

(c)2006-2024 SYSTEM All Rights Reserved IT常识