Ho provato lo stemmer regex, ma ottengo centinaia di token non correlati. Sono solo interessato allo stelo "gioca". Ecco il codice con cui sto lavorando:Stemming testo non strutturato 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]
Il risultato di quanto sopra è;
['like', 'ed', 'young', 'black', 'like'...]
sto cercando di ripulire .txt
file (tutto in minuscolo, rimuovere parole non significative, ecc), normalizzare multipli ortografia di una parola in un unico e fare una frequenza dist/conteggio. So come fare FreqDist
, ma qualche suggerimento su dove sto andando male con lo stemming
Is not arginare la normalizzazione che stai cercando? Dici che stai avendo problemi .. cosa hai provato? – Spaceghost
Qual è il tuo output previsto? a seconda del tuo compito, potresti avere bisogno di un lemmatizer invece di uno stelo, vedi http://stackoverflow.com/questions/17317418/stemmers-vs-lemmatizers – alvas