2017-03-20 3 views
2

Ich arbeite an einem Text Mining-Projekt und versuche, den Text zu reinigen - Wörter im Singular/Plural Formen, Verben in verschiedenen Zeitformen und Rechtschreibfehler. Meine Probe sieht so aus:Word stemming in R

Ich habe versucht, die WordStem-Funktion in SnowballC-Paket zu verwenden. Allerdings sind die Ergebnisse falsch:

"appl" "appl" "wife" "wive" "win" "won" "win" "winner" "orang" "orang" "oreng" 

Was würde Ich mag, um zu sehen ist:

"apple" "apple" "wife" "wife" "win" "win" "win" "winner" "orange" "orange" "orange" 
+0

Vielleicht möchten Sie sich die Funktion 'stemCompletion' im tm-Paket ansehen. – Dason

+0

Was erhoffen Sie sich mit den Ergebnissen? Für viele Anwendungen der Textanalyse ist es ausreichend, dass zwei verschiedene Formen eines Wortes zum selben Stamm mappen, ohne dass dieser Stamm das eigentliche englische Stammwort sein muss. Insbesondere verwendet die Funktion, die Sie anrufen, eine Version von Dr. Martin Porters beliebtem Stammalgorithmus, der nicht versucht, die tatsächliche englische Wurzel zu finden. Die Ergebnisse sind nicht "falsch" - es macht das, wofür es entwickelt wurde, nur nicht das, was Sie erwartet haben. –

Antwort

3

dass gerade ist, wie der Porter Stemmer arbeitet. Der Grund dafür ist, dass es relativ einfache Regeln erlaubt, um die Stiele zu erstellen, ohne ein großes englisches Vokabular speichern zu müssen. Zum Beispiel denke ich, dass Sie nicht möchten, dass sowohl change als auch changing zu chang gehen. Es scheint natürlicher, dass sie beide zu change stammen sollten. Also würden Sie eine Regel machen, dass, wenn Sie ing am Ende eines Wortes nehmen, sollten Sie zurück e hinzufügen, um den Stamm zu erhalten? Was würde dann mit clang und clanging passieren? Der Porter Stemmer gibt clang. Hinzufügen e würde das Nicht-Wort clange geben. Entweder Sie verwenden einfache Verarbeitungsregeln, die manchmal Stämme erstellen, die keine Wörter sind, oder Sie müssen ein großes Vokabular einschließen und komplexere Regeln haben, die davon abhängen, was die Wörter sind. Der Porter Stemmer verwendet die einfache Regelmethode.