有了成熟的分詞算法,是否就能容易的解決中文分詞的問題呢?事實遠非如此。中文是壹種十分復雜的語言,讓計算機理解中文語言更是困難。在中文分詞過程中,有兩大難題壹直沒有完全突破。 歧義是指同樣的壹句話,可能有兩種或者更多的切分方法。主要的歧義有兩種:交集型歧義和組合型歧義,例如:表面的,因為“表面”和“面的”都是詞,那麽這個短語就可以分成“表面 的”和“表 面的”。這種稱為交集型歧義(交叉歧義)。像這種交集型歧義十分常見,前面舉的“和服”的例子,其實就是因為交集型歧義引起的錯誤。“化妝和服裝”可以分成“化妝 和 服裝”或者“化妝 和服 裝”。由於沒有人的知識去理解,計算機很難知道到底哪個方案正確。
交集型歧義相對組合型歧義來說是還算比較容易處理,組合型歧義就必須根據整個句子來判斷了。例如,在句子“這個門把手壞了”中,“把手”是個詞,但在句子“請把手拿開”中,“把手”就不是壹個詞;在句子“將軍任命了壹名中將”中,“中將”是個詞,但在句子“產量三年中將增長兩倍”中,“中將”就不再是詞。這些詞計算機又如何去識別?
如果交集型歧義和組合型歧義計算機都能解決的話,在歧義中還有壹個難題,是真歧義。真歧義意思是給出壹句話,由人去判斷也不知道哪個應該是詞,哪個應該不是詞。例如:“乒乓球拍賣完了”,可以切分成“乒乓 球拍 賣 完 了”、也可切分成“乒乓球 拍賣 完 了”,如果沒有上下文其他的句子,恐怕誰也不知道“拍賣”在這裏算不算壹個詞。 命名實體(人名、地名)、新詞,專業術語稱為未登錄詞。也就是那些在分詞詞典中沒有收錄,但又確實能稱為詞的那些詞。最典型的是人名,人可以很容易理解。句子“王軍虎去廣州了”中,“王軍虎”是個詞,因為是壹個人的名字,但要是讓計算機去識別就困難了。如果把“王軍虎”做為壹個詞收錄到字典中去,全世界有那麽多名字,而且每時每刻都有新增的人名,收錄這些人名本身就是壹項既不劃算又巨大的工程。即使這項工作可以完成,還是會存在問題,例如:在句子“王軍虎頭虎腦的”中,“王軍虎”還能不能算詞?
除了人名以外,還有機構名、地名、產品名、商標名、簡稱、省略語等都是很難處理的問題,而且這些又正好是人們經常使用的詞,因此對於搜索引擎來說,分詞系統中的新詞識別十分重要。新詞識別準確率已經成為評價壹個分詞系統好壞的重要標誌之壹。