中文分词有哪些应用(中文分词的实现途径)
导语:中文分词方法的演变
分词问题不仅中文有,很多亚洲语言比如日语,韩语和泰语同样存在,甚至在拼音语言(英语,法语等)中,也有类似的问题,比如在英语语法分析时找词组和中文分词是一码事,不过它们使用的方法都是相同的。
上节说到可以利用统计语言模型进行自然语言处理,而这些语言模型是建立在词的基础上的,因为词是表达语义的最小单位。对于西方拼音语言来讲,词之间有明确的分界符,统计和使用语言模型非常直接。而对于一些亚洲语言(如中、日、韩、泰等),词之间没有明确的分界符(韩语名词短语和动词之间有分界符,但是短语内没有)。因此,需要先对句子进行分词,才能做进一步的自然语言处理。
最容易想到的分词方法,也是最简单的办法,就是查字典。其实就是把一个句子从左向右扫描一遍,遇到字典里有的词就标识出来,遇到复合词就找到最长的词匹配,遇到不认识的字串就分割成单字词。当我们从左到右扫描时,先遇到“中”这个字,它本身是一个单字词,我们可以在这里做一个切割,但是,当我们再遇到“国”时,发现它可以和前面的“中”字组成一个更长的词,因此,我们就将分割点放在“中国”的后面。接下来,我们发现“中国”不会和后面的字组成更长的词,那么这个分割点就最终确定了。
这个最简单的方法可以解决七八成以上的分词问题,应该讲它的复杂性不高的前提下,取得了还算满意的效果。但是,它毕竟太简单,遇到稍微复杂一点的问题就无能为力了。将查字典的方法理论化,发展成最少词数的分词理论,即一句话应该分成数量最少的词串。这个方法一个明显的不足是当遇到有二义性(有双重理解意思)的分歌词就无能为力了。比如:对短语“发展中国家”,正确的分割是“发展-中-国家”,而采用从左向右查字典的办法会将它分割成“发展-中国-家”,显然是错了。
语言中的歧义性伴随语言的发展困扰了学者们上千年。利用统计语言模型分词的方法,进行简要说明:假定一个句子S可以有几种分词方法,只要利用上节提到的统计语言模型计算出每种分词后句子出现的概率,并找出其中概率最大的,就能找到最好的分词方法。
其实,自然语言处理的很多数学方法是通用的,与具体的语言无关。在Google内部,设计语言处理的算法时,都会考虑它是否能很容易的适用于各种自然语言,这样才能有效的支持上百种语言的搜索。
需要指出的是任何方法都有它的局限性,虽然利用统计语言模型进行分析,可以取得比人工更好的结果,但是也不可能做到百分之百准确。因为统计语言模型很大程度上依照“大众的想法”,或者“多数句子的用法”,而在特定情况下可能是错的。另外,有些人为创造出的“两难”的句子,比如对联“此地安能居住,其人好不悲伤”,1、“此地-安能-居住,其人-好不-悲伤”2、“此地安-能居住,其人好-不悲伤”意思恰好相反,用什么方法都无法消除二义性。好在真实文本中,这些情况几乎不会发生。
选自吴军《数学之美》,边学边分享,有不妥之处,恳请指正!
本文内容由小嫣整理编辑!