数学之美 系列一 -- 统计语言模型
2006年4月3日 上午 08:15:00
从本周开始,我们将定期刊登 Google 科学家吴军写的《数学之美》系列文章,介绍数学在信息检索和自然语言处理中的主导作用和奇妙应用。
发表者: 吴军, 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 多努力一分,用户就多一分搜索的喜悦。
固定链接 |
分享到:
相关推荐
### 统计语言模型概述 统计语言模型是计算语言学中的一个重要组成部分,它主要用于估计文本序列的概率分布。这种模型能够帮助我们理解一个句子在特定语言中的合理性和可能性大小。统计语言模型的应用范围广泛,包括...
### 统计语言模型研究及其应用的关键知识点 #### 一、引言 统计语言模型(Statistical Language Model,简称SLM)是自然语言处理(NLP)领域的重要组成部分,广泛应用于机器翻译、语音识别、文本分类等多个场景。...
一篇利用统计语言模型来解决汉语音字转换问题的专业论文。
基于模糊训练集的领域相关统计语言模型基于模糊训练集的领域相关统计语言模型基于模糊训练集的领域相关统计语言模型基于模糊训练集的领域相关统计语言模型基于模糊训练集的领域相关统计语言模型基于模糊训练集的领域...
统计语言模型是自然语言处理中的核心概念,它旨在利用数学模型描述语言的内在规律,以理解和生成人类语言。这种模型广泛应用于语音识别、手写体文字识别、机器翻译、键盘输入和信息检索等多个领域。传统的语言模型...
### 统计语言模型在信息检索中的应用 #### 一、引言 W. Bruce Croft作为信息检索(IR)领域的领军人物之一,在该领域内具有极高的声望与影响力。他的研究工作覆盖了信息检索理论和技术的多个方面,其中一项重要的...
统计语言模型及数据平滑技术 概述 统计语言模型是一种基于数学方法的自然语言处理技术,旨在解决自然语言处理问题。统计语言模型的出现可以追溯到1990年代,第13届国际计算语言学大会(Coling’90)正式列入大会...
统计语言模型XXXXXXX
本报告探讨了一种基于统计语言模型(SLM)的择时交易策略,该策略利用自然语言处理技术来识别市场趋势并做出交易决策。自然语言处理起源于1950年代,经历了从早期的人工智能模仿到统计学方法的应用的转变,后者在...
广发证券的研究报告《另类交易策略之十三:基于统计语言模型(SLM)的择时交易研究》提供了一个独特的视角,将自然语言处理(NLP)的理论应用于金融市场的交易策略中,开辟了量化投资的一个新天地。 自然语言处理...
具体来说,统计语言模型提供了一种原则性的方法来建模各种检索问题,包括但不限于文本分类、机器翻译、情感分析等场景。 #### 信息检索中的统计模型优势 1. **高性能表现**:统计模型在信息检索任务中展现出了优越...
统计语言模型是早期的语言模型,主要代表是n-gram模型。n-gram模型基于马尔可夫假设,即当前词的出现概率只与其前面的n-1个词相关。例如,一阶马尔可夫模型(bigram)假设当前词只依赖于前一个词,而二阶马尔可夫...
语言模型是统计语言模型的简称,它是现代自然语言处理(NLP)和语音识别中的关键技术之一。在自然语言处理领域,语言模型用于计算给定的词语序列出现的概率,它帮助计算机理解并生成自然语言,是许多应用中的核心...
1. **大模型的起源**:语言模型的发展始于统计语言模型,最初采用n-gram模型,如二元模型(bigram)和三元模型(trigram),这些模型基于相邻词语的历史出现频率来预测下一个词。然而,它们无法捕获长距离的依赖关系...
其中,统计语言模型的应用日益广泛,尤其在文本分析、机器翻译、语音识别等方面发挥了重要作用。统计语言模型的基本原理是通过分析大量的语言材料来构建概率模型,从而预测未知文本的可能性。本文主要探讨汉语信息熵...
在过去的二十年中得到了广泛的研究,其从统计语言模型发展为神经语言模型。近年来,通过在大规模语料库上预训练,基于 Transformer 架构的预训练语言模型在解决各种自然语言处理任务方面表现出强大的能力。由于研究...
CMUCLMTK支持多种类型的统计语言模型,包括n-gram模型、混合模型以及更复杂的连续建模方法。 **n-gram模型** 是CMUCLMTK中最基础的模型类型。它基于词语的历史上下文来预测下一个词的概率。例如,二元模型(bigram...
传统的统计语言模型如n-gram已被更强大的深度学习模型所超越,比如循环神经网络(RNN)、门控循环单元(GRU)和双向LSTM。这些模型可以捕捉到更深远的依赖关系,使得模型能够理解和生成更加流畅的自然语言。对于中文...