Traditional Language Model

本文探讨了N-Gram语言模型的基本原理,包括从Uni-gram到Tri-gram的不同模型,以及如何通过Markov假设简化概率计算。文章还详细介绍了2-gram模型的概率估计方法,并讨论了线性插值在不同模型中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Traditional Language Model通常用于回答下述问题:

How likely is a string of English words good English ?

\(p_{LM}(\)the house is small\()\ge p_{LM}(\) small the is house\()\)
\(p_{LM}(\)I am going home\()\ge p_{LM}(\)I am going house\()\)

生成该句子 \(W=w_1, w_2, w_3, w_4...w_n\) 的概率为\(p(W)\) 如何计算?

我们可以使用 chain rule 将该句子分解(decompose):

\[\begin{split}p(w_1, w_2, w_3...w_n) &=p(w_1) * p(w_2|w_1)*p(w_3|w_1,w_2)\cdots* p(w_n| w_1, w_2\cdots w_{n-1})\end{split}\]

我们发现 \(p(w_n| w_1, w_2\cdots w_{n-1})\)需要很多前置项\(w_1, w_2\cdots w_{n-1}\),在数据集中很难计算,十分稀疏(sparse)。

Markov 假设

  • 当前词只和前面的词相关;
  • 只和前面的\(k\)个单词相关

这样表示就相对简便。

uni-gram model

\[P(w_i|w_0\cdots w_{i−1})\approx P(w_i)\]

Bi-gram model

\[P(w_i|w_0\cdots w_{i−1})\approx P(w_i|w_{i-1})\]

Tri-gram model

\[P(w_i|w_0\cdots w_{i−1})\approx P(w_i|w_{i-1},w_{i-2})\]

例如,2-gram的 language model:

\[p(w_1, w_2, w_3,\cdots w_n)\approx p(w_1) * p(w_2|w_1) * p(w_3|w_2) \cdots p(w_n|w_{n-1})\]

n-gram probability estimation

2-gram概率估计

\[p(w_2|w_1)=\frac{count(w_1,w_2)}{count(w_1)}\]

所以我们只需要找一个大词库,然后统计\(w_1\)出现的次数和\(w_1,w_2\)共同出现的次数,即可。

Linear interpolation

  • Bigram: \(P(w_i∣w_{i−1})=\lambda_2 P(w_i∣w_{i−1})+ (1−λ_2) P(w_i)\)

  • Unigram: \(P(w_i)=\lambda_1 P(w_i)+(1-\lambda_1)\frac{1}{N}\)

转载于:https://www.cnblogs.com/ZJUT-jiangnan/p/5829609.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值