语言模型/N-Gram模型

时间:2021-11-03 01:45:14

N-Gram

马尔科夫假设:

一个词的出现仅仅依赖于它前面出现的有限的一个或几个词。


N-Gram模型用于中文,称为汉语语言模型CLM。

该模型基于这样的假设,第n个词的出现只与前面N-1个词相关,而与其他任何词都不相关,整句话的概率就是各个词出现概率的乘积。这些词的概率可以通过直接从语料库中统计N个词同时出现的次数得到。

假设语句T是由词序列W1,W2,W3,…Wn组成的,那么

P(T)=P(W1W2W3Wn)=P(W1)P(W2|W1)P(W3|W1W2)…P(Wn|W1W2…Wn-1)

这种方法的缺点:

(1)参数空间过大,不容易实用化。

(2)数据稀疏严重。

通过最大似然估计得到P(Wn|W1W2…Wn-1),即:

P(Wn|W1W2…Wn-1) = (C(W1 W2…Wn))/(C(W1 W2…Wn-1)),即统计序列C(W1 W2…Wn) 出现的次数和C(W1 W2…Wn-1)出现的次数。

Bi-Gram

假设:一个词的出现仅依赖于它前面出现的一个词,称之为bigram。

P(T) = P(W1W2W3…Wn)=P(W1)P(W2|W1)P(W3|W1W2)…P(Wn|W1W2…Wn-1)  ≈P(W1)P(W2|W1)P(W3|W2)…P(Wn|Wn-1)

计算概率P(T)时,需要有词和词频表、词序列频度表。当词数很多时,词的个数=词序列个数。

Tri-Gram

假设:一个词的出现仅依赖于它前面出现的两个词,称之为trigram。