数学之美 论是印刷体或手写体)和进行海量文献的自动检索,这就需要让 机器理解语言。但是人类的语言可以说是信息里最复杂最动态的 一部分。为了解决这个问题,人们容易想到的办法就是让机器模 拟人类进行学习一学习人类的语法、分析语句等等。尤其是在 乔姆斯基(Noam Chomsky有史以来最伟大的语言学家)提出“形 式语言”以后,人们更坚定了利用语法规则的办法进行文字处 理的信念。遗憾的是,几十年过去了,在计算机处理语言领域, 基于这个语法规则的方法几乎毫无突破。 其实早在几十年前,数学家兼信息论的祖师爷香农(Claude Shannon)就提出了用数学的办法处理自然语言的想法。遗憾的是 当时的计算机条件根本无法满足大量信息处理的需要,所以他这 个想法当时并没有被人们重视。七十年代初,有了大规模集成电 路的快速计算机后,香农的梦想才得以实现。 首先成功利用数学方法解决自然语言处理问题的是语音和语 言处理大师贾里尼克(Fred Jelinek)。当时贾里尼克在IBM公 司做学术休假(Sabbatical Leave)),领导了一批杰出的科学家 利用大型计算机来处理人类语言问题。统计语言模型就是在那个 时侯提出的。 给大家举个例子:在很多涉及到自然语言处理的领域,如机 器翻译、语音识别、印刷体或手写体识别、拼写纠错、汉字输入 和文献查询中,我们都需要知道一个文字序列是否能构成一个大
数学之美 论是印刷体或手写体)和进行海量文献的自动检索,这就需要让 机器理解语言。但是人类的语言可以说是信息里最复杂最动态的 一部分。为了解决这个问题,人们容易想到的办法就是让机器模 拟人类进行学习 - 学习人类的语法、分析语句等等。尤其是在 乔姆斯基(Noam Chomsky 有史以来最伟大的语言学家)提出 “形 式语言” 以后,人们更坚定了利用语法规则的办法进行文字处 理的信念。遗憾的是,几十年过去了,在计算机处理语言领域, 基于这个语法规则的方法几乎毫无突破。 其实早在几十年前,数学家兼信息论的祖师爷 香农 (Claude Shannon)就提出了用数学的办法处理自然语言的想法。遗憾的是 当时的计算机条件根本无法满足大量信息处理的需要,所以他这 个想法当时并没有被人们重视。七十年代初,有了大规模集成电 路的快速计算机后,香农的梦想才得以实现。 首先成功利用数学方法解决自然语言处理问题的是语音和语 言处理大师贾里尼克 (Fred Jelinek)。当时贾里尼克在 IBM 公 司做学术休假 (Sabbatical Leave),领导了一批杰出的科学家 利用大型计算机来处理人类语言问题。统计语言模型就是在那个 时候提出的。 给大家举个例子:在很多涉及到自然语言处理的领域,如机 器翻译、语音识别、印刷体或手写体识别、拼写纠错、汉字输入 和文献查询中,我们都需要知道一个文字序列是否能构成一个大 2
数学之美 家能理解的句子,显示给使用者。对这个问题,我们可以用一个 简单的统计模型来解决这个问题。 如果S表示一连串特定顺序排列的词w1,w2,.,wn, 换句话说,S可以表示某一个由一连串特定顺序排练的词而组成 的一个有意义的句子。现在,机器对语言的识别从某种角度来说, 就是想知道S在文本中出现的可能性,也就是数学上所说的S的 概率用P(S)来表示。利用条件概率的公式,S这个序列出现的 概率等于每一个词出现的概率相乘,于是P(S)可展开为: P(S)=P(w1)P(w2lw1)P(w3l w1 w2)...P(wnlw1 w2...wn-1) 其中P(w1)表示第一个词w1出现的概率;P(w2|w1)是在 已知第一个词的前提下,第二个词出现的概率;以次类推。不难 看出,到了词w,它的出现概率取决于它前面所有词。从计算 上来看,各种可能性太多,无法实现。因此我们假定任意一个词 wi的出现概率只同它前面的词wi-1有关(即马尔可夫假设), 于是问题就变得很简单了。现在,S出现的概率就变为: P(S)=P(w1)P(w2lw1)P(w3lw2)...P(wilwi-1)... (当然,也可以假设一个词又前面N-1个词决定,模型稍微复 杂些。) 接下来的问题就是如何估计P(wi|wi-1)。现在有了大量机 读文本后,这个问题变得很简单,只要数一数这对词(wi-1,wi) 在统计的文本中出现了多少次,以及wi-1本身在同样的文本中
数学之美 家能理解的句子,显示给使用者。对这个问题,我们可以用一个 简单的统计模型来解决这个问题。 如果 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 本身在同样的文本中 3
数学之美 前后相邻出现了多少次,然后用两个数一除就可以了,P(wi|wi-1) =P(wi-1,wi)/p(wi-1)。 也许很多人不相信用这么简单的数学模型能解决复杂的语音 识别、机器翻译等问题。其实不光是常人,就连很多语言学家都 曾质疑过这种方法的有效性,但事实证明,统计语言模型比任何 已知的借助某种规则的解决方法都有效。比如在Google的中英 文自动翻译中,用的最重要的就是这个统计语言模型。去年美国 标准局(NIST)对所有的机器翻译系统进行了评测,Google的系 统是不仅是全世界最好的,而且高出所有基于规则的系统很多。 现在,读者也许已经能感受到数学的美妙之处了,它把一些 复杂的问题变得如此的简单。当然,真正实现一个好的统计语言 模型还有许多细节问题需要解决。贾里尼克和他的同事的贡献在 于提出了统计语言模型,而且很漂亮地解决了所有的细节问题。 十几年后,李开复用统计语言模型把997词语音识别的问题简 化成了一个20词的识别问题,实现了有史以来第一次大词汇量 非特定人连续语音的识别。 我是一名科学研究人员,我在工作中经常惊叹于数学语言应 用于解决实际问题上时的神奇。我也希望把这种神奇讲解给大家 听。当然,归根结底,不管什莫样的科学方法、无论多莫奇妙的 解决手段都是为人服务的。我希望Go0g1e多努力一分,用户就 多一分搜索的喜悦
数学之美 前后相邻出现了多少次,然后用两个数一除就可以了,P(wi|wi-1) = P(wi-1,wi)/ P (wi-1)。 也许很多人不相信用这么简单的数学模型能解决复杂的语音 识别、机器翻译等问题。其实不光是常人,就连很多语言学家都 曾质疑过这种方法的有效性,但事实证明,统计语言模型比任何 已知的借助某种规则的解决方法都有效。比如在 Google 的中英 文自动翻译中,用的最重要的就是这个统计语言模型。去年美国 标准局(NIST) 对所有的机器翻译系统进行了评测,Google 的系 统是不仅是全世界最好的,而且高出所有基于规则的系统很多。 现在,读者也许已经能感受到数学的美妙之处了,它把一些 复杂的问题变得如此的简单。当然,真正实现一个好的统计语言 模型还有许多细节问题需要解决。贾里尼克和他的同事的贡献在 于提出了统计语言模型,而且很漂亮地解决了所有的细节问题。 十几年后,李开复用统计语言模型把 997 词语音识别的问题简 化成了一个 20 词的识别问题,实现了有史以来第一次大词汇量 非特定人连续语音的识别。 我是一名科学研究人员 ,我在工作中经常惊叹于数学语言应 用于解决实际问题上时的神奇。我也希望把这种神奇讲解给大家 听。当然,归根结底,不管什莫样的科学方法、无论多莫奇妙的 解决手段都是为人服务的。我希望 Google 多努力一分,用户就 多一分搜索的喜悦。 4
数学之美 1.2.数学之美系列二一谈谈中文分词 2006年4月10日上午08:10:00 发表者:吴军,Google研究员 谈谈中文分词 统计语言模型在中文处理中的一个应用 上回我们谈到利用统计语言模型进行语言处理,由于模型是 建立在词的基础上的,对于中日韩等语言,首先需要进行分词。 例如把句子“中国航天官员应邀到美国与太空总署官员开会。” 分成一串词: 中国/航天/官员/应邀/到/美国/与/太空/ 总署/官员/开会。 最容易想到的,也是最简单的分词办法就是查字典。这种方 法最早是由北京航天航空大学的梁南元教授提出的。 用“查字典”法,其实就是我们把一个句子从左向右扫描 一遍,遇到字典里有的词就标识出来,遇到复合词(比如“上 海大学”)就找最长的词匹配,遇到不认识的字串就分割成单字 词,于是简单的分词就完成了。这种简单的分词方法完全能处理 上面例子中的句子。八十年代,哈工大的王晓龙博士把它理论化, 发展成最少词数的分词理论,即一句话应该分成数量最少的词 串。这种方法一个明显的不足是当遇到有二义性(有双重理解 意思)的分割时就无能为力了。比如,对短语“发展中国家”正 确的分割是“发展-中一国家”,而从左向右查字典的办法会将它
数学之美 1.2. 数学之美系列二 — 谈谈中文分词 2006 年 4 月 10 日 上午 08:10:00 发表者: 吴军, Google 研究员 谈谈中文分词 ----- 统计语言模型在中文处理中的一个应用 上回我们谈到利用统计语言模型进行语言处理,由于模型是 建立在词的基础上的,对于中日韩等语言,首先需要进行分词。 例如把句子 “中国航天官员应邀到美国与太空总署官员开会。” 分成一串词: 中国 / 航天 / 官员 / 应邀 / 到 / 美国 / 与 / 太空 / 总署 / 官员 / 开会。 最容易想到的,也是最简单的分词办法就是查字典。这种方 法最早是由北京航天航空大学的梁南元教授提出的。 用 “查字典” 法,其实就是我们把一个句子从左向右扫描 一遍,遇到字典里有的词就标识出来,遇到复合词(比如 “上 海大学”)就找最长的词匹配,遇到不认识的字串就分割成单字 词,于是简单的分词就完成了。这种简单的分词方法完全能处理 上面例子中的句子。八十年代,哈工大的王晓龙博士把它理论化, 发展成最少词数的分词理论,即一句话应该分成数量最少的词 串。这种方法一个明显的不足是当遇到有二义性 (有双重理解 意思)的分割时就无能为力了。比如,对短语 “发展中国家” 正 确的分割是“发展-中-国家”,而从左向右查字典的办法会将它 5
数学之美 分割成“发展-中国-家”,显然是错了。另外,并非所有的最长 匹配都一定是正确的。比如“上海大学城书店”的正确分词应该 是“上海-大学城-书店,”而不是“上海大学-城-书店”。 九十年代以前,海内外不少学者试图用一些文法规则来解决 分词的二义性问题,都不是很成功。90年前后,清华大学的郭 进博士用统计语言模型成功解决分词二义性问题,将汉语分词的 错误率降低了一个数量级。 利用统计语言模型分词的方法,可以用几个数学公式简单概 括如下: 我们假定一个句子S可以有几种分词方法,为了简单起见我 们假定有以下三种: A1,A2,A3,..,Ak, B1,B2,B3,·.,Bm C1,C2,C3,.,Cn 其中,A1,A2,B1,B2,C1,C2等等都是汉语的词。那么最 好的一种分词方法应该保证分完词后这个句子出现的概率最大。 也就是说如果A1,A2,·,Ak是最好的分法,那么(P表示概 率): P(A1,A2,A3,,Ak)〉P(B1,B2,B3,.·,Bm),并 且
数学之美 分割成“发展-中国-家”,显然是错了。另外,并非所有的最长 匹配都一定是正确的。比如“上海大学城书店”的正确分词应该 是 “上海-大学城-书店,” 而不是 “上海大学-城-书店”。 九十年代以前,海内外不少学者试图用一些文法规则来解决 分词的二义性问题,都不是很成功。90 年前后,清华大学的郭 进博士用统计语言模型成功解决分词二义性问题,将汉语分词的 错误率降低了一个数量级。 利用统计语言模型分词的方法,可以用几个数学公式简单概 括如下: 我们假定一个句子 S 可以有几种分词方法,为了简单起见我 们假定有以下三种: A1, A2, A3, ..., Ak, B1, B2, B3, ..., Bm C1, C2, C3, ..., Cn 其中,A1, A2, B1, B2, C1, C2 等等都是汉语的词。那么最 好的一种分词方法应该保证分完词后这个句子出现的概率最大。 也就是说如果 A1,A2,..., Ak 是最好的分法,那么 (P 表示概 率): P (A1, A2, A3, ..., Ak) 〉 P (B1, B2, B3, ..., Bm), 并 且 6