Я попробовал стеммер регулярных выражений, но получил сотни несвязанных токенов. Меня просто интересует ствол "play". Вот код, с которым я работаю:
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]
Результат вышеизложенного;
['like', 'ed', 'young', 'black', 'like'...]
Я пытаюсь очистить файлы .txt
(все в нижнем регистре, удалить стоп-слова и т. д.), нормализовать несколько вариантов написания слова в одно и выполнить частотное расстояние/количество. Я знаю, как сделать FreqDist
, но есть какие-нибудь предложения относительно того, где я ошибаюсь с определением основы?