南京音乐推荐联合社

数学之美 | 中文分词方法的演变

欧几里德空间 2019-05-23 15:44:33

全世界只有不到3 % 的人关注了

欧几里德空间

你真是个特别的人



 

  谈谈中文分词    

——统计语言模型在中文处理中的一个应用


之前的推送我们谈到利用统计语言模型可以进行语言处理,而这些模型是建立在词的基础上的,因为词是表达语义的最小单元。对于中日韩等语言,首先需要进行分词。例如把句子「中国航天官员应邀到美国与太空总署官员开会。」分成一串词: 

中国 / 航天 / 官员 / 应邀 / 到 / 美国 / 与 / 太空 / 总署 / 官员 / 开会。

最容易想到的,也是简单的分词办法就是查字典。这种方法早是由北京航天航空大学的梁南元教授提出的。用「查字典」法,其实就是我们把一个句子从左向右扫描一遍,遇到字典里有的词就标识出来,遇到复合词,比如「上海大学」,就找长的词匹配,遇到不认识的字串就分割成单字词,于是简单的分词就完成了。这种简单的分词方法完全能处理上面例子中的句子。

八十年代,哈工大的王晓龙博士把它理论化,发展成少词数的分词理论,即一句话应该分成数量少的词串。这种方法一个明显的不足是当遇到有二义性(有双重理解意思)的分割时就无能为力了。比如,对短语「发展中国家」正确的分割是「发展 / 中 / 国家」,而从左向右查字典的办法会将它分割成发展 / 中国 / 家」,显然是错了。另外,并非所有的长匹配都一定是正确的。比如「上海大学城书店」的正确分词应该是「上海 / 大学城 / 书店,而不是「上海大学 / 城 / 书店」。

九十年代以前,海内外不少学者试图用一些文法规则来解决分词的二义性问题,都不是很成功。1990年前后,清华大学的郭进博士用统计语言模型成功解决分词二义性问题,将汉语分词的错误率降低了一个数量级。

利用统计语言模型分词的方法,可以用几个数学公式简单概括如下:我们假定一个句子 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)

并且

P (A1, A2, A3, …Ak)>P (C1, C2, C3, …Cn)

因此,只要我们利用之前提到的统计语言模型计算出每种分词后句子出现的概率,并找出其中概率最大的,我们就能够找到最好的分词方法。

当然,这里面有一个实现的技巧。如果我们穷举所有可能的分词方法并计算出每种可能性下句子的概率,那么计算量是相当大的。因此,我们可以把它看成是一个动态规划的问题,并利用「维特比」算法快速地找到佳分词。

在清华大学的郭进博士以后,海内外不少学者利用统计的方法,进一步完善中文分词。其中值得一提的是清华大学孙茂松教授和香港科技大学吴德凯教授的工作。

需要指出的是,语言学家对词语的定义不完全相同。比如说「北京大学」,有人认为是一个词,而有人认为该分成两个词。一个折中的解决办法是在分词的同时,找到复合词的嵌套结构。在上面的例子中,如果一句话包含「北京大学」四个字,那么先把它当成一个四字词,然后再进一步找出细分词「北京」和「大学。这种方法是早是郭进在《计算机语言学》杂志上发表的,以后不少系统采用这种方法。

一般来讲,根据不同应用,汉语分词的颗粒度大小应该不同。比如,在机器翻译中,颗粒度应该大一些,「北京大学」就不能被分成两个词。而在语音识别中,「北京大学」一般是被分成两个词。 因此,不同的应用,应该有不同的分词系统。Google 的葛显平博士和朱安博士,专门为搜索设计和实现了自己的分词系统,以适应搜索特殊的需求。

也许你想不到,中文分词的方法也被应用到英语处理,主要是手写体识别中。因为在识别手写体时,单词之间的空格就不很清楚了。中文分词方法可以帮助判别英语单词的边界。

其实,自然语言处理的许多数学方法是通用的,与具体的语言无关。在 Google 内部,设计语言处理的算法时,会考虑它是否能很容易地适用于各种自然语言。这样,才能有效地支持上百种语言的搜索。

推荐阅读

数学之美 | 计算机如何完成新闻的自动分类

数学之美 | Google和百度如何瞬间完成搜索过程

数学之美 | 用数学的方法描述语言规律

 

搬运工 | 雪灵

文章节选自吴军博士的《数学之美》

「欧几里德空间」整理发布。转载无限欢迎,但请注明「原文地址」,感谢您对我们的支持。

Copyright © 南京音乐推荐联合社@2017