matlab如何提取文本词干,英文词干提取(stemming)算法 - Lovins, Porter

英文词干提取有多种方式,在实践中,可能涉及到机器学习数据挖掘等多方面的内容。

这里主要介绍的是易于实现的几种原始算法:

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,没有任何限制。<