2.2.3 词干提取
词干提取(Stemming)是词形分析的简化版本,目标是将具有词形变化(通常是屈折或派生)的词还原为其词干(Word Stem)。与词形分析不同,词干提取并不要求还原的词干一定与其语言学词根完全一致,只需要将相关的词映射为统一的词干,甚至词干本身可能并不是一个词。例如,词干提取算法Porter Stemmer[46]将argue、argued、argues、arguing以及argus都转换为argu。
最简单的词干提取算法可以通过查询词表的方法获得词的词干,这种方法依赖词典所能覆盖的词数量,并且需要及时更新以应对不断出现的新词。另外一种常见的算法是后缀剥离(Suffix Stripping),通过定义一组规则,将特定的后缀从词形中删除。
例如:如果单词以“ed”结尾,则删除“ed”。
如果单词以“ing”结尾,则删除“ing”。
如果单词以“ly”结尾,则删除“ly”。
后缀剥离算法虽然可以很好地处理词的规则变形,但是无法处理特殊变形(如ran、took等)。后缀替代(Suffix Substitution)算法可以在一定程度上解决上述问题。与后缀剥离不同,后缀替代是指定义规则将单词后缀替换为另外一个后缀。
例如:如果单词以“ational”结尾,则替换为“ate”(relational →relate)。
如果单词以“ing”结尾,则替换为“ϵ”(working →work)。
如果单词以“zzes”结尾,则替换为“z”(quizzes →quiz)。
Porter Stemmer就采用了这种后缀替代的方法进行词干提取。