统计语言模型

2017 年 10 月 28 日 算法与数学之美
前言

也许大家不相信,数学是解决信息检索和自然语言处理的最好工具。它能非常清晰地描述这些领域的实际问题并且给出漂亮的解决办法。每当人们应用数学工具解决一个语言问题时,总会感叹数学之美。我们希望利用 Google 中文黑板报这块园地,介绍一些数学工具,以及我们是如何利用这些工具来开发 Google 产品的。

来源:数学之美系列一:统计语言模型_【方法SEO顾问】


统计语言模型

 (Statistical Language Models)

Google 的使命是整合全球的信息,所以我们一直致力于研究如何让机器对信息、语言做最好的理解和处理。长期以来,人类一直梦想着能让机器代替人来翻译语言、识别语音、认识文字(不论是印刷体或手写体)和进行海量文献的自动检索,这就需要让机器理解语言。但是人类的语言可以说是信息里最复杂最动态的一部分。为了解决这个问题,人们容易想到的办法就是让机器模拟人类进行学习 - 学习人类的语法、分析语句等等。尤其是在乔姆斯基(Noam Chomsky 有史以来最伟大的语言学家)提出 “形式语言” 以后,人们更坚定了利用语法规则的办法进行文字处理的信念。遗憾的是,几十年过去了,在计算机处理语言领域,基于这个语法规则的方法几乎毫无突破。 


其实早在几十年前,数学家兼信息论的祖师爷 香农 (Claude Shannon)就提出了用数学的办法处理自然语言的想法。遗憾的是当时的计算机条件根本无法满足大量信息处理的需要,所以他这个想法当时并没有被人们重视。七十年代初,有了大规模集成电路的快速计算机后,香农的梦想才得以实现。


首先成功利用数学方法解决自然语言处理问题的是语音和语言处理大师贾里尼克 (Fred Jelinek)。当时贾里尼克在 IBM 公司做学术休假 (Sabbatical Leave),领导了一批杰出的科学家利用大型计算机来处理人类语言问题。统计语言模型就是在那个时候提出的。


给大家举个例子:在很多涉及到自然语言处理的领域,如机器翻译、语音识别、印刷体或手写体识别、拼写纠错、汉字输入和文献查询中,我们都需要知道一个文字序列是否能构成一个大家能理解的句子,显示给使用者。对这个问题,我们可以用一个简单的统计模型来解决这个问题。


如果 S 表示一连串特定顺序排列的词 w1, w2,…, wn ,换句话说,S 可以表示某一个由一连串特定顺序排练的词而组成的一个有意义的句子。现在,机器对语言的识别从某种角度来说,就是想知道S在文本中出现的可能性,也就是数学上所说的S 的概率用 P(S) 来表示。利用条件概率的公式,S 这个序列出现的概率等于每一个词出现的概率相乘,于是P(S) 可展开为:


P(S) = P(w1)P(w2|w1)P(w3| w1 w2)…P(wn|w1 w2…wn-1)


其中 P (w1) 表示第一个词w1 出现的概率;P (w2|w1) 是在已知第一个词的前提下,第二个词出现的概率;以次类推。不难看出,到了词wn,它的出现概率取决于它前面所有词。从计算上来看,各种可能性太多,无法实现。因此我们假定任意一个词wi的出现概率只同它前面的词 wi-1 有关(即马尔可夫假设),于是问题就变得很简单了。现在,S 出现的概率就变为:


P(S) = P(w1)P(w2|w1)P(w3|w2)…P(wi|wi-1)…


(当然,也可以假设一个词又前面N-1个词决定,模型稍微复杂些。)

接下来的问题就是如何估计 P (wi|wi-1)。现在有了大量机读文本后,这个问题变得很简单,只要数一数这对词(wi-1,wi) 在统计的文本中出现了多少次,以及 wi-1 本身在同样的文本中前后相邻出现了多少次,然后用两个数一除就可以了


P(wi|wi-1) = P(wi-1,wi)/ P (wi-1)。


也许很多人不相信用这么简单的数学模型能解决复杂的语音识别、机器翻译等问题。其实不光是常人,就连很多语言学家都曾质疑过这种方法的有效性,但事实证明,统计语言模型比任何已知的借助某种规则的解决方法都有效。比如在 Google 的中英文自动翻译中,用的最重要的就是这个统计语言模型。去年美国标准局(NIST) 对所有的机器翻译系统进行了评测,Google 的系统是不仅是全世界最好的,而且高出所有基于规则的系统很多。


现在,读者也许已经能感受到数学的美妙之处了,它把一些复杂的问题变得如此的简单。当然真正实现一个好的统计语言模型还有许多细节问题需要解决。贾里尼克和他的同事的贡献在于提出了统计语言模型,而且很漂亮地解决了所有的细节问题。十几年后,李开复用统计语言模型把 997 词语音识别的问题简化成了一个 20 词的识别问题,实现了有史以来第一次大词汇量非特定人连续语音的识别。


我是一名科学研究人员 ,我在工作中经常惊叹于数学语言应用于解决实际问题上时的神奇。我也希望把这种神奇讲解给大家听。当然,归根结底,不管什莫样的科学方法、无论多莫奇妙的解决手段都是为人服务的。我希望 Google 多努力一分,用户就多一分搜索的喜悦。

粉丝福利

送书!


【编辑推荐】

★如果《苏菲的世界》是一本不容错过的哲学入门书的话,那《费马最终定理》就是一本不容错过的数学入门书。因为后者跟前者一样,把可读性与知识性完美的融合在了一起。带领读者穿越梦境与时空,领略人类智库中灿烂夺目的数学趣史,领略坚持理想者们执着信念的传奇人生,更适合普通读者阅读。出版后荣登日本oricon公信榜、纪伊国屋书店、三省堂书店三大图书榜单。获书商平台(亚马逊)4.5分好评。


想获得此书,

文章底部留言

留言点赞前三名的粉丝

免费获得此书!


☞  哈尔莫斯:怎样做数学研究

☞  扎克伯格2017年哈佛大学毕业演讲

☞  线性代数在组合数学中的应用

☞  你见过真的菲利普曲线吗?

☞  支持向量机(SVM)的故事是这样子的

☞  深度神经网络中的数学,对你来说会不会太难?

☞  编程需要知道多少数学知识?

☞  陈省身——什么是几何学

☞  模式识别研究的回顾与展望

☞  曲面论

☞  自然底数e的意义是什么?

☞  如何向5岁小孩解释什么是支持向量机(SVM)?

☞  华裔天才数学家陶哲轩自述

☞  代数,分析,几何与拓扑,现代数学的三大方法论

算法数学之美微信公众号欢迎赐稿

稿件涉及数学、物理、算法、计算机、编程

等相关领域。

稿件一经采用,我们将奉上稿酬。

投稿邮箱:math_alg@163.com

商务合作:微信号hengzi5809

登录查看更多
3

相关内容

【干货书】R语言书: 编程和统计的第一课程,
专知会员服务
111+阅读 · 2020年5月9日
【复旦大学-SP2020】NLP语言模型隐私泄漏风险
专知会员服务
24+阅读 · 2020年4月20日
【ACL2020-Google】逆向工程配置的神经文本生成模型
专知会员服务
16+阅读 · 2020年4月20日
【ACL2020-伯克利】预训练Transformer提高分布外鲁棒性
专知会员服务
19+阅读 · 2020年4月14日
机器学习速查手册,135页pdf
专知会员服务
338+阅读 · 2020年3月15日
【斯坦福新课】CS234:强化学习,附课程PPT下载
专知会员服务
118+阅读 · 2020年1月15日
基于深度学习的自然语言处理技术:边界在何方?
中国计算机学会
6+阅读 · 2019年9月4日
一文读懂机器学习中的贝叶斯统计学
数据分析
26+阅读 · 2019年5月8日
专访哈工大刘挺教授:自然语言处理迎来黄金时代
自然语言处理NLP的坑到底有多大?
专知
46+阅读 · 2018年11月12日
自然语言处理中的语言模型预训练方法
PaperWeekly
14+阅读 · 2018年10月21日
自然语言处理(NLP)知识结构总结
AI100
51+阅读 · 2018年8月17日
独家 | 一文读懂自然语言处理NLP(附学习资料)
数据派THU
9+阅读 · 2017年10月11日
Natural 自然语言处理(NLP)「全解析」
人工智能学家
14+阅读 · 2017年9月23日
NLP(自然语言处理)扫盲
大数据和云计算技术
20+阅读 · 2017年7月9日
Arxiv
6+阅读 · 2019年8月22日
Arxiv
5+阅读 · 2019年4月21日
Arxiv
3+阅读 · 2018年6月19日
Arxiv
5+阅读 · 2018年5月28日
VIP会员
相关VIP内容
【干货书】R语言书: 编程和统计的第一课程,
专知会员服务
111+阅读 · 2020年5月9日
【复旦大学-SP2020】NLP语言模型隐私泄漏风险
专知会员服务
24+阅读 · 2020年4月20日
【ACL2020-Google】逆向工程配置的神经文本生成模型
专知会员服务
16+阅读 · 2020年4月20日
【ACL2020-伯克利】预训练Transformer提高分布外鲁棒性
专知会员服务
19+阅读 · 2020年4月14日
机器学习速查手册,135页pdf
专知会员服务
338+阅读 · 2020年3月15日
【斯坦福新课】CS234:强化学习,附课程PPT下载
专知会员服务
118+阅读 · 2020年1月15日
相关资讯
基于深度学习的自然语言处理技术:边界在何方?
中国计算机学会
6+阅读 · 2019年9月4日
一文读懂机器学习中的贝叶斯统计学
数据分析
26+阅读 · 2019年5月8日
专访哈工大刘挺教授:自然语言处理迎来黄金时代
自然语言处理NLP的坑到底有多大?
专知
46+阅读 · 2018年11月12日
自然语言处理中的语言模型预训练方法
PaperWeekly
14+阅读 · 2018年10月21日
自然语言处理(NLP)知识结构总结
AI100
51+阅读 · 2018年8月17日
独家 | 一文读懂自然语言处理NLP(附学习资料)
数据派THU
9+阅读 · 2017年10月11日
Natural 自然语言处理(NLP)「全解析」
人工智能学家
14+阅读 · 2017年9月23日
NLP(自然语言处理)扫盲
大数据和云计算技术
20+阅读 · 2017年7月9日
Top
微信扫码咨询专知VIP会员