数学之美 P(A1,A2,A3,..,Ak)〉P(C1,C2,C3,.,C) 因此,只要我们利用上回提到的统计语言模型计算出每种分词后 句子出现的概率,并找出其中概率最大的,我们就能够找到最好 的分词方法。 当然,这里面有一个实现的技巧。如果我们穷举所有可能的 分词方法并计算出每种可能性下句子的概率,那么计算量是相当 大的。因此,我们可以把它看成是一个动态规划(Dynamic Programming)的问题,并利用“维特比”(Viterbi)算法快 速地找到最佳分词。 在清华大学的郭进博士以后,海内外不少学者利用统计的方 法,进一步完善中文分词。其中值得一提的是清华大学孙茂松教 授和香港科技大学吴德凯教授的工作。 需要指出的是,语言学家对词语的定义不完全相同。比如说 “北京大学”,有人认为是一个词,而有人认为该分成两个词。 一个折中的解决办法是在分词的同时,找到复合词的嵌套结构。 在上面的例子中,如果一句话包含“北京大学”四个字,那么先 把它当成一个四字词,然后再进一步找出细分词“北京”和“大 学”。这种方法是最早是郭进在“Computational Linguistics” (《计算机语言学》)杂志上发表的,以后不少系统采用这种方 法。 一般来讲,根据不同应用,汉语分词的颗粒度大小应该不同。 比如,在机器翻译中,颗粒度应该大一些,“北京大学”就不能
数学之美 P (A1, A2, A3, ..., Ak) 〉 P(C1, C2, C3, ..., Cn) 因此,只要我们利用上回提到的统计语言模型计算出每种分词后 句子出现的概率,并找出其中概率最大的,我们就能够找到最好 的分词方法。 当然,这里面有一个实现的技巧。如果我们穷举所有可能的 分词方法并计算出每种可能性下句子的概率,那么计算量是相当 大的。因此,我们可以把它看成是一个动态规划(Dynamic Programming) 的问题,并利用 “维特比”(Viterbi) 算法快 速地找到最佳分词。 在清华大学的郭进博士以后,海内外不少学者利用统计的方 法,进一步完善中文分词。其中值得一提的是清华大学孙茂松教 授和香港科技大学吴德凯教授的工作。 需要指出的是,语言学家对词语的定义不完全相同。比如说 “北京大学”,有人认为是一个词,而有人认为该分成两个词。 一个折中的解决办法是在分词的同时,找到复合词的嵌套结构。 在上面的例子中,如果一句话包含“北京大学”四个字,那么先 把它当成一个四字词,然后再进一步找出细分词 “北京” 和 “大 学”。这种方法是最早是郭进在 “Computational Linguistics” (《计算机语言学》)杂志上发表的,以后不少系统采用这种方 法。 一般来讲,根据不同应用,汉语分词的颗粒度大小应该不同。 比如,在机器翻译中,颗粒度应该大一些,“北京大学”就不能 7
数学之美 被分成两个词。而在语音识别中,“北京大学”一般是被分成两 个词。因此,不同的应用,应该有不同的分词系统。Go0g1e的 葛显平博士和朱安博士,专门为搜索设计和实现了自已的分词系 统。 也许你想不到,中文分词的方法也被应用到英语处理,主要 是手写体识别中。因为在识别手写体时,单词之间的空格就不很 清楚了。中文分词方法可以帮助判别英语单词的边界。其实,语 言处理的许多数学方法通用的和具体的语言无关。在Goog1e 内,我们在设计语言处理的算法时,都会考虑它是否能很容易地 适用于各种自然语言。这样,我们才能有效地支持上百种语言的 搜索。 对中文分词有兴趣的读者,可以阅读以下文献: 1.梁南元 书面汉语自动分词系统 http://www.touchwrite.com/demo/LiangNanyuan-JCIP-198 7.pdf 2.郭进 统计语言模型和汉语音字转换的一些新结果 http://www.touchwrite.com/demo/GuoJin-JCIP-1993.pdf 3.郭进 Critical Tokenization and its Properties http://ac1.1dc.upenn.edu/J/J97/J97-4004.pdf
数学之美 被分成两个词。而在语音识别中,“北京大学”一般是被分成两 个词。因此,不同的应用,应该有不同的分词系统。Google 的 葛显平博士和朱安博士,专门为搜索设计和实现了自己的分词系 统。 也许你想不到,中文分词的方法也被应用到英语处理,主要 是手写体识别中。因为在识别手写体时,单词之间的空格就不很 清楚了。中文分词方法可以帮助判别英语单词的边界。其实,语 言处理的许多数学方法通用的和具体的语言无关。在 Google 内,我们在设计语言处理的算法时,都会考虑它是否能很容易地 适用于各种自然语言。这样,我们才能有效地支持上百种语言的 搜索。 对中文分词有兴趣的读者,可以阅读以下文献: 1. 梁南元 书面汉语自动分词系统 http://www.touchwrite.com/demo/LiangNanyuan-JCIP-198 7.pdf 2. 郭进 统计语言模型和汉语音字转换的一些新结果 http://www.touchwrite.com/demo/GuoJin-JCIP-1993.pdf 3. 郭进 Critical Tokenization and its Properties http://acl.ldc.upenn.edu/J/J97/J97-4004.pdf 8
数学之美 4.孙茂松 Chinese word segmentation without using lexicon and hand-crafted training data http://portal.acm.org/citation.cfm?coll=GUIDE&d1=GUI DE&id=980775 1.3.数学之美系列三一隐含马尔可夫模型在语言处理中 的应用 2006年4月17日上午08:01:00 发表者:吴军,Google研究员 前言:隐含马尔可夫模型是一个数学模型,到目前为之,它一直 被认为是实现快速精确的语音识别系统的最成功的方法。复杂的 语音识别问题通过隐含马尔可夫模型能非常简单地被表述、解 决,让我不由由衷地感叹数学模型之妙。 自然语言是人类交流信息的工具。很多自然语言处理问题都 可以等同于通信系统中的解码问题-一一个人根据接收到的信 息,去猜测发话人要表达的意思。这其实就象通信中,我们根据 接收端收到的信号去分析、理解、还原发送端传送过来的信息。 以下该图就表示了一个典型的通信系统: 9
数学之美 4. 孙茂松 Chinese word segmentation without using lexicon and hand-crafted training data http://portal.acm.org/citation.cfm?coll=GUIDE&dl=GUI DE&id=980775 1.3. 数学之美系列三 — 隐含马尔可夫模型在语言处理中 的应用 2006 年 4 月 17 日 上午 08:01:00 发表者:吴军,Google 研究员 前言:隐含马尔可夫模型是一个数学模型,到目前为之,它一直 被认为是实现快速精确的语音识别系统的最成功的方法。复杂的 语音识别问题通过隐含马尔可夫模型能非常简单地被表述、解 决,让我不由由衷地感叹数学模型之妙。 自然语言是人类交流信息的工具。很多自然语言处理问题都 可以等同于通信系统中的解码问题 -- 一个人根据接收到的信 息,去猜测发话人要表达的意思。这其实就象通信中,我们根据 接收端收到的信号去分析、理解、还原发送端传送过来的信息。 以下该图就表示了一个典型的通信系统: 9
数学之美 信息源 接收端 信道 51s2s3., 01o2o3 其中s1,s2,s3..表示信息源发出的信号。01,02,o3. 是接受器接收到的信号。通信中的解码就是根据接收到的信号 o1,o2,o3..还原出发送的信号s1,s2,s3..。 其实我们平时在说话时,脑子就是一个信息源。我们的喉咙 (声带),空气,就是如电线和光缆般的信道。听众耳朵的就是 接收端,而听到的声音就是传送过来的信号。根据声学信号来推 测说话者的意思,就是语音识别。这样说来,如果接收端是一台 计算机而不是人的话,那么计算机要做的就是语音的自动识别。 同样,在计算机中,如果我们要根据接收到的英语信息,推测说 话者的汉语意思,就是机器翻译;如果我们要根据带有拼写错 误的语句推测说话者想表达的正确意思,那就是自动纠错。 那么怎么根据接收到的信息来推测说话者想表达的意思呢? 我们可以利用叫做“隐含马尔可夫模型”(Hidden Markov Model) 来解决这些问题。以语音识别为例,当我们观测到语音信号 01,02,03时,我们要根据这组信号推测出发送的句子 s1,s2,s3。显然,我们应该在所有可能的句子中找最有可能性的 o
数学之美 其中 s1,s2,s3...表示信息源发出的信号。o1, o2, o3 ... 是接受器接收到的信号。通信中的解码就是根据接收到的信号 o1, o2, o3 ...还原出发送的信号 s1,s2,s3...。 其实我们平时在说话时,脑子就是一个信息源。我们的喉咙 (声带),空气,就是如电线和光缆般的信道。听众耳朵的就是 接收端,而听到的声音就是传送过来的信号。根据声学信号来推 测说话者的意思,就是语音识别。这样说来,如果接收端是一台 计算机而不是人的话,那么计算机要做的就是语音的自动识别。 同样,在计算机中,如果我们要根据接收到的英语信息,推测说 话者的汉语意思,就是机器翻译; 如果我们要根据带有拼写错 误的语句推测说话者想表达的正确意思,那就是自动纠错。 那么怎么根据接收到的信息来推测说话者想表达的意思呢? 我们可以利用叫做“隐含马尔可夫模型”(Hidden Markov Model) 来解决这些问题。以语音识别为例,当我们观测到语音信号 o1,o2,o3 时,我们要根据这组信号推测出发送的句子 s1,s2,s3。显然,我们应该在所有可能的句子中找最有可能性的 10
数学之美 一个。用数学语言来描述,就是在已知01,02,03,..的情况下, 求使得条件概率 P(s1,s2,s3,..|o1,o2,o3..)达到最大值的那个句子 s1,s2,s3,... 当然,上面的概率不容易直接求出,于是我们可以间接地计 算它。利用贝叶斯公式并且省掉一个常数项,可以把上述公式等 价变换成 P(01,02,03,..|s1,s2,s3...)*P(s1,s2,s3,..) 其中 P(o1,o2,03,..1s1,s2,s3..)表示某句话s1,s2,s3.. 被读成01,02,03,..的可能性,而 P(s1,s2,s3,..)表示字串s1,s2,s3,..本身能够成为一 个合乎情理的句子的可能性,所以这个公式的意义是用发送信号 为s1,s2,s3..这个数列的可能性乘以s1,s2,s3..本身可以 一个句子的可能性,得出概率。 (读者读到这里也许会问,你现在是不是把问题变得更复杂 了,因为公式越写越长了。别着急,我们现在就来简化这个问题。) 我们在这里做两个假设: 第一,s1,s2,s3,.·是一个马尔可夫链,也就是说,si只 由si-1决定(详见系列二);
数学之美 一个。用数学语言来描述,就是在已知 o1,o2,o3,...的情况下, 求使得条件概率 P (s1,s2,s3,...|o1,o2,o3....) 达到最大值的那个句子 s1,s2,s3,... 当然,上面的概率不容易直接求出,于是我们可以间接地计 算它。利用贝叶斯公式并且省掉一个常数项,可以把上述公式等 价变换成 P(o1,o2,o3,...|s1,s2,s3....) * P(s1,s2,s3,...) 其中 P(o1,o2,o3,...|s1,s2,s3....) 表示某句话 s1,s2,s3... 被读成 o1,o2,o3,...的可能性, 而 P(s1,s2,s3,...) 表示字串 s1,s2,s3,...本身能够成为一 个合乎情理的句子的可能性,所以这个公式的意义是用发送信号 为 s1,s2,s3...这个数列的可能性乘以 s1,s2,s3...本身可以 一个句子的可能性,得出概率。 (读者读到这里也许会问,你现在是不是把问题变得更复杂 了,因为公式越写越长了。别着急,我们现在就来简化这个问题。) 我们在这里做两个假设: 第一,s1,s2,s3,... 是一个马尔可夫链,也就是说,si 只 由 si-1 决定 (详见系列一); 11