`

数学之美系列一:统计语言模型

阅读更多

从本周开始,我们将定期刊登 Google 科学家吴军写的《数学之美》系列文章,介绍数学在信息检索和自然语言处理中的主导作用和奇妙应用。



前言

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

系列一: 统计语言模型 (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 多努力一分,用户就多一分搜索的喜悦。

固定链接  |

分享到:
评论

相关推荐

    数学之美系列完整版.docx

    统计语言模型是用于判断一个文字序列是否能构成一个大家能理解的句子的数学模型。吴军介绍了如何使用统计语言模型来解决自然语言处理问题,并举例说明了该模型的应用场景。 随后,吴军介绍了中文分词的概念和应用。...

    统计语言模型学习

    统计语言模型是自然语言处理中的核心概念,它旨在利用数学模型描述语言的内在规律,以理解和生成人类语言。这种模型广泛应用于语音识别、手写体文字识别、机器翻译、键盘输入和信息检索等多个领域。传统的语言模型...

    《信息检索的统计语言模型》W. Bruce Croft

    统计语言模型(Statistical Language Modeling, LM)是指通过概率分布来捕捉自然语言使用的统计规律的一种数学工具。它主要用于估计一个文本片段的概率,即给定一系列词或符号时,计算出这一序列出现的可能性。这种...

    统计语言模型及数据平滑技术.ppt

    统计语言模型是一种基于数学方法的自然语言处理技术,旨在解决自然语言处理问题。统计语言模型的出现可以追溯到1990年代,第13届国际计算语言学大会(Coling’90)正式列入大会主题。统计语言模型的概念是通过条件...

    数学模型电子教案

    1. **第一章 建立数学模型**: 这一章主要介绍数学模型的概念,它是一种用数学语言描述实际问题的方法,通过抽象和简化,使复杂的问题变得可分析。建立模型的过程包括识别问题、定义变量、选择模型类型和构建方程式。...

    数学模型 第三版 课件

    《数学模型 第三版》是一本深入探讨数学建模理论与实践的教材,其课件为学习者提供了丰富的教学资源。数学建模是应用数学的一个重要领域,它旨在通过数学工具来理解和解决现实世界的问题。这份课件包含了课程的详细...

    数学之美系列完整版.doc

    该系列文章涵盖了多个关键知识点,包括统计语言模型、中文分词、隐含马尔可夫模型(HMM)、信息度量、布尔代数、图论、信息论、最大熵模型、搜索引擎反垃圾邮件策略、矩阵运算、贝叶斯网络、自然语言处理的数学模型...

    大模型的数学之魂:统计学习理论精要

    与参数较少、层数较浅的小模型相比,大模型虽然需要更多的计算资源和时间来训练和推理,但它们展现出了一种被称为“涌现能力”的特性,即从原始训练数据中自动学习并发现新的、更高层次的特征和模式。 大模型的发展...

    统计数学模型讲义

    《统计数学模型讲义》是一份深入探讨统计与数学建模之间关系的教育资源,主要针对的是那些希望在数据分析和预测领域提升自己技能的学习者。这份讲义详细介绍了数学建模在统计学中的应用,以及一系列分析方法。让我们...

    【数学建模】】实战应用案例:葡萄酒评价(R语言实现).zip

    在这个名为“【数学建模】实战应用案例:葡萄酒评价(R语言实现).zip”的压缩包文件中,我们可以预见到一个关于使用R语言进行数学建模的实际应用,具体聚焦于葡萄酒品质的评估。这个项目可能涵盖了数据处理、统计...

    数学模型(第四版)课后答案--姜启源-谢金星-叶俊编.pdf

    数学模型是指用数学语言描述现实世界中的各种现象与过程的一种抽象表示方法。它通过建立数学方程组或函数关系来模拟实际问题,以便于进行分析和预测。数学模型在科学计算、工程设计、经济预测等领域有着广泛的应用。...

    数学模型建立的范例 很实用

    1. **数学模型的定义**:数学模型是一种用数学语言表述的系统,用于描述和分析现实世界的现象或过程。它通常包括变量、函数、方程和其他数学结构,帮助我们理解和预测复杂系统的行为。 2. **模型构建步骤**: - **...

    姜启源《数学模型》

    数学模型是现代科学技术领域不可或缺的一个工具,它通过抽象和简化的数学形式,能够帮助我们理解和模拟各种复杂现象。随着科学技术的飞速发展,数学模型已广泛应用于电气工程、气象预报、生理医学、城市规划、生产和...

    概率统计模型.rar数学建模

    概率统计模型在数学建模中扮演着至关重要的角色,它是一种用数学语言描述随机现象的方法。在本压缩包“概率统计模型.rar”中,我们很可能找到了关于如何运用这些模型进行数学建模的相关资料。数学建模是应用数学解决...

    数学模型 ---教材配套ppt课件

    1. **数学模型的基本概念**:介绍数学模型的定义、分类和构建过程,使学生理解数学模型如何从实际问题中抽离出来,并用数学语言进行表述。 2. **模型的建立与选择**:讲解如何根据问题的特性和需求,选择合适的数学...

    王树禾 数学模型基础.rar

    数学模型是用数学语言描述现实世界问题的一种手段,它通过抽象和简化,将复杂的问题转化为数学问题,从而进行分析和解决。 在本资料中,我们可以期待涵盖以下几个重要的知识点: 1. **数学模型的定义与分类**:...

    数学建模30种基本模型分析

    数学建模是一种应用数学的方法,通过构建数学模型来解决实际问题,它在科技、工程、经济、社会等多个领域都有广泛的应用。 1. **线性规划**:这是一种优化方法,用于寻找一组变量的最佳值,使得在满足一系列线性...

    数学模型教材

    - **定义与概念**:数学模型是指使用数学语言来描述一个系统或过程的行为和性质的方法。它能够帮助我们理解和预测现实世界中的各种现象。 - **应用场景**:数学模型广泛应用于工程、经济、生物学等多个领域。例如,...

    数学模型-超全模型汇总.zip

    《数学模型-超全模型汇总》是一个集合了各种数学建模方法和实例的资源包,旨在为学习者提供全面的数学建模理论与实践指导。数学建模是将实际问题抽象为数学形式的过程,它涉及多种数学工具和理论,如微积分、线性...

Global site tag (gtag.js) - Google Analytics