中文是一种十分复杂的语言,让搜索引擎理解中文语言更是困难。在中文分词过程中,有两大难题一直没有完全突破。
歧义识别
歧义是指同样一句话,可能有两种或者更多的切分方法。比如:表面的,因为“表面”和“面的”都是词,那么这两个短语就可以分成“表面 的”和“表 面的”。这种称为交叉歧义。象这种交叉歧义十分常见,例如“和服”的例子,就是因为交叉歧义引起的错误。“化妆 和服装”可以分成“化妆 和服 装”或者“化妆 和 服装”。由于没有人的知识去理解,计算机很难知道到底哪个方案正确。
交叉歧义相对组合歧义来说还算比较容易处理,组合歧义就必须根据整个句子来判断了。例如,在句子“这个门把手坏了”中,“把手”是个词,但在句子“请把手拿开”中,“把手”就不是一个词。在句子“将军任命了一名中将”中,“中将”是个词,但在句子“产量三年中将增长两倍”中,“中将”就不再是词。这些词搜索引擎又如何去识别?
新词识别
语言是在发展中的,不断的会有新的词语产生。对搜索引擎而言,新词就是未登录词。最典型的是人名,人可以很容易理解句子“王军虎去广州了”中,“王军虎”是个词,因为是一个人的名字,但要是让搜索引擎去理解就困难了。如果吧“王军虎”作为一个词收录到字典中去,全世界有那么多名字,而且每时每刻都有新增的人名,收录这些人名本身就是一项巨大的工程。即使这项工作可以完成,还是会存在问题。例如:在句子“王军虎头虎脑”中,“王军虎”还能不能算词?
新词中除了人名外,还有机构名、地名、产品名、商标名、简称、省略语等都是很难处理的问题,而且这些又正好是人名经常使用的词,因此对于搜索引擎来说,分词系统中的新词识别十分重要。目前新词识别准确率已经成为评价一个分词系统好坏的重要标志之一。