Ich habe versucht, die Regex Stemmer, aber ich bekomme Hunderte von nicht miteinander verwandten Token. Ich bin nur am "Spiel" -Stamm interessiert. Hier ist der Code Ich arbeite mit:Stemming unstrukturierten Text in NLTK
import nltk
from nltk.book import *
f = open('tupac_original.txt', 'rU')
text = f.read()
text1 = text.split()
tup = nltk.Text(text1)
lowtup = [w.lower() for w in tup if w.isalpha()]
import sys, re
tupclean = [w for w in lowtup if not w in nltk.corpus.stopwords.words('english')]
from nltk import stem
tupstem = stem.RegexpStemmer('az$|as$|a$')
[tupstem.stem(i) for i in tupclean]
Das Ergebnis der oben ist;
['like', 'ed', 'young', 'black', 'like'...]
Ich versuche .txt
Dateien zu bereinigen (alle Klein, entfernen Sie Stoppwörter, etc.), normalisieren mehrere Schreibweisen eines Wortes in ein und eine Frequenz dist/Zählung tun. Ich weiß, wie man macht FreqDist
, aber irgendwelche Vorschläge, wo ich mit der Stemming falsch liege?
ist die Normalisierung nicht ergeben, die Sie suchen? Du sagst, du hast Probleme ... was hast du probiert? – Spaceghost
Was ist Ihre erwartete Ausgabe? je nachdem, was Ihre Aufgabe ist, benötigen Sie möglicherweise einen Lemmatizer anstelle einer Stemmer, siehe http://StackOverflow.com/Questions/17317418/Stemmers-VS-Lemmatizers – alvas