与[1] porter stemming algorithm implementation question?类似的问题,但已扩展。
基本上,step1b定义为:
Step1b
`(m>0) EED -> EE feed -> feed agreed -> agree (*v*) ED -> plastered -> plaster bled -> bled (*v*) ING -> motoring -> motor sing -> sing `
我的问题是为什么feed
会导致feed
而不是fe
?所有在线的Porter Stemmer我都试过feed
,但从我看来,它应该源于fe
。
我的思路是:
`feed` does not pass through `(m>0) EED -> EE` as measure of `feed` minus suffix `eed` is `m(f)`, hence `=0`
`feed` will pass through `(*v*) ED ->`, as there is a vowel in the stem `fe` once the suffix `ed` is removed. So will stem at this point to `fe`
有人可以向我解释在线Porter Stemmers如何设法阻止feed
?
感谢。
答案 0 :(得分:0)
这是因为"饲料"没有VC(元音/辅音)组合,因此m = 0.要删除" ed"后缀,m> 0(检查每个步骤的条件)。
答案 1 :(得分:0)
删除后缀的规则将以以下形式给出 (条件)S1-> S2 这意味着,如果单词以后缀S1结尾,并且S1之前的词干满足给定条件,则S1将替换为S2。该条件通常以m给出,例如 (m> 1)EMENT-> 这里S1为“ EMENT”,S2为空。这将REPLACEMENT映射到REPLAC,因为REPLAC是m = 2的单词部分。 现在,在您的示例中: (m> 0)EED-> EE提要->提要 在“ EED”之前,是否有元音,其后是常数,重复了零次以上? 答案是否定的,因为“ EED”为“ F”,没有元音,后面没有常量
答案 2 :(得分:0)
在提要m中表示元音,辅音对。没有这样的一对。
但在约定中,“ VC”为ag。因此,它被同意代替。条件是m> 0。
这里m = 0。