考虑以下可运行示例:

#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是默认值。如果您能帮助我,我将不胜感激。

最佳答案

这是一种减少维数的有意方法,同时使矢量化器可耐受输入,在这些输入中作者并不总是与重音符号的使用保持一致。

如果要禁用该功能,只需按照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']

关于python - countVectorizer Scikit-learn中的特殊字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16080726/

10-12 22:51