вопрос реализации алгоритма портера - PullRequest
1 голос
/ 24 декабря 2010

Я пытаюсь реализовать алгоритм stemming, но я застрял в этой точке:

Шаг 1b

(m>0) EED -> EE                    feed      ->  feed
                                   agreed    ->  agree
(*v*) ED  ->                       plastered ->  plaster
                                   bled      ->  bled
(*v*) ING ->                       motoring  ->  motor
                                   sing      ->  sing

Разве м корма не равен 1? канал >> [c] vvc [] >> [c] vc [].

Если это так, почему он не конвертировал фид в фид? я знаю, что это неправильно, может кто-нибудь прояснить это?

Вы можете проверить оригинальный алгоритм здесь http://tartarus.org/~martin/PorterStemmer/def.txt

спасибо

1 Ответ

0 голосов
/ 24 декабря 2010

м 'feed' - это действительно 1. Тем не менее, вам необходимо внимательно прочитать документ.Значение m в условии относится к меру ствола, то есть вам нужно вычислить в после замены.В вашем случае, чтобы проверить, действительно ли feed -> fee, вы вычисляете m (fee) = 0, следовательно, вы не делаете замену.

Также спасибо за алгоритм!Это было интересно!

...