英文词干提取有多种方式,在实践中,可能涉及到机器学习数据挖掘等多方面的内容。
这里主要介绍的是易于实现的几种原始算法:
Lovins (1968)
Porter (1980)
Porter2 (2000)
1. Lovins
Lovins是最早的实现
1.1. 简介
算法涉及如下部件:
ending, 词后缀,共有294个,详细列表见最后
condition, 词后缀去除条件,每个ending对应一个condition,共有29个,详细列表见最后
transformation, 转换ending的方式,共有35个,详细列表见最后
算法分为两部:
对英文词,根据ending列表,按照ending从长到短扫描,找到第一个符合condition的ending
根据剩下的stem应用transformation,将ending转为恰当的形式
1.2. 例子
第一步
英文词为nationally,按照endling列表,从长到短扫描,首先找到 .09. ationally B,
对应的规则是B Minimum stem length = 3,要求去除ending后,剩余的部分长度大于等于3
nationally 去除 ationally 后只剩下 n, 不符合condition
继续扫描ending,找到 .07. ionally A,对应的规则是 A No restrictions on stem,没有任何限制。<