Я использую следующий код для получения матрицы терминов документа:
from nltk.stem import SnowballStemmer
from sklearn.feature_extraction.text import CountVectorizer
stemmer = SnowballStemmer("english", ignore_stopwords=True)
class StemmedCountVectorizer(CountVectorizer):
def build_analyzer(self):
analyzer = super(StemmedCountVectorizer, self).build_analyzer()
return lambda doc: ([stemmer.stem(w) for w in analyzer(doc)])
stemmed_count_vect = StemmedCountVectorizer(stop_words='english',
ngram_range=(1,1),
token_pattern=r'\b\w+\b',
min_df=1,
max_df=0.6)
Тем не менее, я все еще получаю такие элементы:
20009
2000mile
20011
20017
2001â
2007s
20081007
200h
Как исправитьэто?