语言模型

语言模型定义

语言模型是用来计算一个句子的概率的模型,也就是判断一句话是否合理的概率

N-gram模型

是一种基于统计的语言模型

基于统计概率,计算一个句子的概率大小概率的公式为:

                                                            P(S)=P(w_{1},w_{2},w_{3},...,w_{n})

当概率值越大,则说明句子越合理,概率小,则说明不合理

上面的公式不能直接进行计算,使用条件概率可以将上述公式转换成:

                              P(S)=P(w_{1},w_{2},w_{3},...,w_{n})=P(w_{1})*P(w_{2}|w_{1})*P(w_{3}|w_{1},w_{2}).....P(w_{n}|w_{1},...,w_{n-1})

条件概率:

        P(B|A)表示:A条件下B发生的概率

        在条件概率的公式如下所示:

                                                          P(B|A)=\frac{P(A,B)}{P(A)}

直接将计算一个句子的公式按照条件概率展开计算,即对每一个词都考虑到它前面的所有词,这在实际应用中意义不大,因此引出N-gram模型

1)马尔可夫假设

马尔可夫假设是指每个词出现的概率只跟它前面的少数几个词有关,例如,二阶马尔可夫假设只考虑前面两个词,相应的语言模型是三元模型

一元模型(unigram model):

                                                       P(w_{1},w_{2},w_{3},...,w_{n})=\coprod_{i=1}^{m}P(W_{i})

二元模型(bigram model):

                                                      P(w_{1},w_{2},w_{3},...,w_{n})=\coprod_{i=1}^{m}P(w_{i}|w_{i-1})

三元模型(trigram model):

                                                    P(w_{1},w_{2},w_{3},...,w_{n})=\coprod_{i=1}^{m}P(w_{i}|w_{i-2},w_{i-1})

2)极大似然估计

可以通过对训练语料做极大似然估计:
                                                 P(w_{i}|w_{i-2},w_{i-1})=\frac{Count(w_{i},w_{i-1},w_{i-2})}{Count(w_{i-1},w_{i-2})}

3)链式法则

以二元模型为例,

                                         P(w_{1},w_{2},w_{3},...,w_{n})=P(w_{1})*P(w_{2}|w_{1})*P(w_{3}|w_{2})...P(w_{n}|w_{n-1})

N-gram模型的优缺点

1)优点

训练方便,仅仅是一个统计词频的工作

2)缺点

无法获得相对较长的上下文依赖

泛化能力比较弱,只是基于频次进行统计,更多的特征信息没有学到,也没办法进行学到

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小杨算法屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值