Python countVectorizer Scikit学习中的特殊字符

Python countVectorizer Scikit学习中的特殊字符,python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,考虑这个可运行的示例: #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 i

考虑这个可运行的示例:

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

这是一种有意降低维度的方法,同时使矢量器能够容忍作者不总是使用强调字符的输入

如果要禁用该功能,只需将
strip\u accents=None
传递给
CountVectorizer
,如中所述


我懂了!我只是觉得口音就像是一种不加修饰的东西,但不包括重音。ThanksI本可以将这个参数命名为
strip_diacritics
,这会更准确,但大多数用户理解得更少:)如果对我有用:让我在当前的桅杆上用演示编辑我的答案。我的意思是:“它对我有用:让我在scikit learn的当前主分支上用演示编辑我的答案。”无法复制。您使用的是哪个版本的scikit learn?我使用sudo apt get下载了sklearn。您的错误消息是什么?没有错误消息,它工作正常。再说一遍,版本是什么<代码>sklearn.\uuuu版本\uuuuu。
>>> 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']