2016-03-25 6 views
1

Ähnliche Fragen dazu [1] porter stemming algorithm implementation question?, aber erweitert. Porter Stemmer, Schritt 1b

Meine Frage ist, warum tut feed Schaft feed und nicht fe

Step1b

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

Grundsätzlich ist step1b wie definiert? Alle Online-Porter Stemmers, die ich online ausprobiert habe, stammen von feed, aber von dem, was ich sehe, sollte es sich auf fe beziehen.

Mein Gedankengang ist:

`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` 

Kann mir jemand erklären, wie man Online-Porter Stammerkennung zu feed einzudämmen verwalten?

Danke.

+0

Die Antwort ist nicht ähnlich, sie ist genau dieselbe. – axiom

+0

Nein, es ist nicht die gleiche Frage. Der angesprochene Beitrag fragt nach dem Maß von 'feed', während dieser fragt, warum' feed' nicht in 'fe' umgewandelt wird. – geekazoid

+0

Nicht ganz sicher, aber ich denke,' (* v *) 'bezieht sich auf einen Vokal und etwas sonst rechts. Das wäre gleichbedeutend mit "m> 1" ... – geekazoid

Antwort

0

Dies liegt daran, dass "feed" keine VC (Vokal/Konsonant) -Kombination hat, daher ist m = 0. Um das "ed" -Suffix zu entfernen, m> 0 (überprüfen Sie die Bedingungen für jeden Schritt).