考虑这个可运行的例子:
#coding: utf-8
from sklearn.feature_extraction.text import CountVectorizer
vectorizer = CountVectorizer()
corpus = ['öåa hej ho' 'åter aba na', 'äs äp äl']
x = vectorizer.fit_transform(corpus)
l = vectorizer.get_feature_names()
for u in l:
print u
输出
aba
hej
ho
na
ter
为什么要删除åäö?请注意,矢量化程序strip_accents = None是默认值。如果你能帮助我,我将非常感激。
答案 0 :(得分:9)
这是一种减少维度的有意方式,同时使矢量化程序能够容忍输入,而作者并不总是使用强调字符。
如果您要停用该功能,请按照documentation of this class中的说明将strip_accents=None
传递给CountVectorizer
。
>>> from sklearn.feature_extraction.text import CountVectorizer
>>> CountVectorizer(strip_accents='ascii').build_analyzer()(u'\xe9t\xe9')
[u'ete']
>>> CountVectorizer(strip_accents=False).build_analyzer()(u'\xe9t\xe9')
[u'\xe9t\xe9']
>>> CountVectorizer(strip_accents=None).build_analyzer()(u'\xe9t\xe9')
[u'\xe9t\xe9']