Porter Stemming Algorithmus Implementierungsfrage?
-
12-10-2019 - |
Frage
Ich versuche, Porter -Stemming -Algorithmus zu implementieren, aber an diesem Punkt stecke ich fest:
Schritt 1B
(m>0) EED -> EE feed -> feed agreed -> agree (*v*) ED -> plastered -> plaster bled -> bled (*v*) ING -> motoring -> motor sing -> sing
Ist das M von Feed nicht gleich 1? Feed >> [C] VVC [] >> [C] VC [].
Wenn es so war, warum hat er Feed nicht in Gebühr konvertiert? Ich weiß, dass es falsch ist, kann jemand das klarstellen?
Sie können den ursprünglichen Algorithim hier überprüfen http://tartarus.org/~martin/porterstemmer/def.txt
Danke
Lösung
m von 'Feed' ist in der Tat 1. Dennoch müssen Sie das Dokument sorgfältig erneut lesen. Der M in der Bedingung bezieht sich auf das Maß des Stammes, dh Sie müssen in berechnen nach der Ersatz. In Ihrem Fall, um zu überprüfen, ob feed -> fee
Ist gültig, Sie berechnen M (Gebühr) = 0, daher machen Sie den Ersatz nicht.
Auch danke für den Algorithmus! Es war interessant!