2 多字词是复合词,与其说“切”词,不如说“组”词:现代汉语的多字词(如:利率)是复合词,本质上与西文的复合词(e.g. interest rate)没有区别,space 并不能解决复合词的分界问题。事实上,多字词的识别既可以看成是从输入语句(汉字串)“切”出来的,也可以看成是由单字组合抱团而来的,二者等价。无论中西,复合词抱团都主要靠查词典来解决,而不是靠自然分界(如 space)来解决(德语的名词复合词算是西文中的一个例外,封闭类复合词只要 space 就可以了,开放类复合词则需要进一步切词,叫 decompounding)。如果复合词的左边界或者右边界有歧义问题(譬如:“天下” 的边界可能歧义, e.g. 今天 下 了 一 场 雨;英语复合副词 "in particular" 的右边界可能有歧义:e.g. in particular cases),无论中西,这种歧义都需要上下文的帮助才能解决。从手段上看,中文的多字词切词并无任何特别之处,英语 tokenization 用以识别复合词 People's Republic of China 和 in particular 的方法,同样适用于中文切词。
咱们换一个角度来看这个问题。根据用不用词典,tokenization 可以分两种。不用词典的tokenization一般被认为是一个比较trivial的机械过程,在西文是见space或标点就切一刀(其实也不是那么trivial因为那个讨厌的西文句点是非常歧义的)。据说汉语没有space,因此必须另做一个特有的切词模块。其实对英语第一种tokenization,汉语更加简单,因为汉字作为语素(morpheme)本身就是自然的切分单位,一个汉字两个字节,每两个字节切一刀即可。理论上讲,词法句法分析完全可以直接建立在汉字的基础之上,无需一个汉语“特有”的切词模块。Note that 多数西文分析系统在Tokenization和POS以后都有一个chunking的模块,做基本短语抱团的工作(如:Base NP)。中文处理通常也有这么一个抱团的阶段。完全可以把组字成词和组词成短语当作同质的抱团工作来处理,跳过所谓的切词。Chunking of words into phrases are by nature no different from chunking of morphemes (characters) into words. Parsing with no “word segmentation” is thus possible. 当然,在实际操作层面上看,专设一个切词模块有其便利之处。
再看由词典支持的tokenization, 这种 tokenization 才是我们通常讲的切词,说它是中文处理特有的步骤,其实是误解,因为西文处理复合词也一样用到它。除了实验室的 toy system,很难想象一个像样的西文处理系统可以不借助词典而是指望抽象规则来对付所有的复合词:事实上,对于封闭类复合词,即便抽象的词法规则可以使部分复合词抱团,也不如词典的参与来得直接和有益,理由就是复合词的词典信息更少歧义,对于后续处理更加有利。汉语的复合词“利率”与英语的复合词 “interest rate” 从本质上是同样的基于词典的问题,并没有什么“特有”之处。