数学之美-统计语言模型

如何翻译一个句子,用语法去分析?同一个词语,在这里是代表这个意思,在另一个地方是又是代表另一个意思,比如:我们去北京大学参观,这句话里面的“北京大学”既可作为一个整体,又可以拆分为“北京“、”大学“,哪种方法是正确的呢?机器翻译试图判断这个文字序列是否合乎文法、含义是否正确等,如果遇到复杂的句子,这种显然方法行不通?贾里尼克换了个角度,用一个简答的统计模型很漂亮的搞定了这个问题。

出发点很简单:一个句子是否合理,就看它的可能性大小如何。至于可能性就用概率来衡量。假定s表示某一个有意义的句子,有一连串特定顺序排列的词w1,w2,w3…..wn组成,这里n是句子的长度。如果想知道s在文本中出现的可能性,也就是数学上所说的s的概率p(s),需要有个模型来估算。既然s=w1,w2,…wn,那么p(s)展开表示:

p(s)=p(w1,w2,…wn)

利用条件概率的工时,s这个序列出现的概率等于每一个词出现的条件概率相乘,预算p(w1,w2,…wn)可展开为:

p(w1,w2,..wn)=p(w1).p(w2|w1).p(w3|w1,w2)….p(wn|w1,w2,…w(n-1))

其中:

p(w1)表示第一个词w1出现的概率

p(w2|w1)是在一直第一个词的前提下,第二个次出现的概率

以此类推,不难看出,词wn出现的概率取决于他前面的所有词

从计算上来看,第一个次的条件概率p(w1)很容易算,第二个词的条件概率p(w2|w1)也还不太麻烦,第三个词的条件概率p(w3|w1,w2)就已经非常难算了,因为它涉及三个变量w1,w2,w3,每个变量的坑你小都是一种语言词典的大小,到了最后一个词wn,条件概率的可能性太多了,无法估算,怎么办?

俄国有个数学家马尔科夫(Andrey Markov)提出一种偷懒单还颇为有效的方法,也就是每当遇到这种情况时,就假设任意一个词w1出现的概率只同他前面的词w(n-1)有关,于是,问题就变得很简单了。这种假设在数学上称为“马尔科夫假设“,现在s的概率变得简单了:

p(s)=p(w1).p(w2|w1).p(w3|w2)…p(wn|w(n-1))

该公式对应的统计语言模型是二元模型,这种模型也应用到中文翻译中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值