上次写到了统计语言模型进行语言处理,由于模型是建立在词汇的基础之上的,日韩中等国家的语言首先要进行分词。例如把句子“中国航天员应邀到美国与太空总部官员去开会”,说实话看到句子分词就有点头痛,应为中国语言实在有些博大精深,不同的分词会造成不同的意思。
分成一串词: “中国/航天/官员/应邀/到/美国/与/太空/总署/官员/开会。”
最简单的分词方法就是查字典,把一串词从到右扫描一遍,遇到字典中有的词就标识出来,遇到复合词就例如“上海交通大学”就寻找最长的词进行匹配,遇到不认识的词就分成单个的词,这样的方法是我们最先使用的,但是后来发现这种方有明显的不足之处,例如由二义性的词(有双重意思的词)就无能为力了,例如(发展中国家)可以表示“发展/中/国家”,也可以表示为“发展/中国/家”。但是后者明显错了。还有未必所有最长匹配原则都正确例如“上海大学城书店”可以写成“上海-大学城-书店”也可写成“上海大学-城-书店”。最好的分词就是结合在前面说的统计语言模型,句子出现的概率最大。但在这里还有一个技巧我们穷举所有可能性并计算每种分词概率,那末计算量相当大。因此我们可以把它看作一个动态规划问题,并利用维特比算法快速找到最佳分词。
语言学家对词语的定位不完全相同,例如”北京大学“可以把它看成一个嵌套词汇,先是四字词语然后再进行分解成2个2字词语。一般来说根据不同的应用,汉语分词颗粒的大小应该不同,在机器翻译中颗粒应该会大一些,在语音识别当中颗粒就会小一些,其实在中文中的分词在英语中也有了很大启发,中文分词可以帮助判断英语单词的边界。