Ich bin neu zu NLTK, und ich verwende Stemmer-Funktion auf stemming Fällen.NLTK Stemming passiert keinen einfachen Fall
Ich habe einen einfachen Beispielsatz zu verarbeiten, der ist: "Schalten Sie das Licht ein." Ich möchte sehen, ob NLTK-Stemmer mir helfen könnte, den Tippfehler "lightin" herauszufiltern. Ich habe stemmer mit "lighting" getestet, und snowBall stemmer kann das korrekte Wort "light" für mich zurückgeben, aber snowBall stemmer gibt in meinem Test "lightin" zurück.
Mein stamm Prozess ist sehr trivial:
tokens = "Turn on the lightin"
for token in tokens:
print("SnowBall Lemmatizer: "+snowBallStemmer.stem(token))
Nach NTLK der doc, snowBallStemmer Englisch Einhalt zu gebieten verwendet werden könnten. Ich möchte wissen, warum snowBallStemer es nicht geschafft hat, "lightin" einzudämmen und was könnte ich tun, um das zu beheben.
Der Schneeball stemmer ist regelbasiert, so sollte es einfach sein, es zu bearbeiten. Sehen Sie sich die [Quelle] (http://www.nltk.org/_modules/nltk/stem/snowball.html#EnglishStemmer) an: Sie müssen "in" zur Liste der Step-1b-suffices hinzufügen. (Wenn Sie dies in einer untergeordneten Klasse tun, wird es mit den Klassenattributen jedoch etwas knifflig ...) – lenz
@lenz Dies hilft. –