Próbowałem łodygi wyrażeń regularnych, ale otrzymuję setki niepowiązanych tokenów. Po prostu interesuje mnie "gra". Oto kod, nad którym pracuję:Stemming niestrukturalny tekst w 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]
Rezultatem powyższego jest;
['like', 'ed', 'young', 'black', 'like'...]
Próbuję oczyścić .txt
plików (wszystkie małe litery, usuń stopwords itp), normalizuje wiele pisowni słowa do jednego i zrobić częstotliwości dist/count. Wiem, jak zrobić FreqDist
, ale wszelkie sugestie co do tego, gdzie idę źle z wynikiem?
nie jest powstrzymanie procesu normalizacji, którego szukasz? Mówisz, że masz kłopoty ... czego próbowałeś? – Spaceghost
Jakie są twoje oczekiwane wyniki? w zależności od tego, jakie jest twoje zadanie, możesz potrzebować lematyzatora zamiast łodygi, zobacz http://stackoverflow.com/questions/17317418/stemmers-vs-flamiers – alvas