在sklearn中使用bigrams提供stop_words CountVectorizer()

时间:2017-11-16 20:04:03

标签: scikit-learn stop-words countvectorizer

是否有一种廉价且简单的方法可以阻止sklearn的CountVectorizer仅通过stop_words参数停止unigrams,并使其停止双字母组合?我的意思在以下片段中说明:

from sklearn.feature_extraction.text import CountVectorizer

texts = ['hello this is text number one yes yes',
        'hello this is text number two stackflow']

stop_words = {'hello this'}

model = CountVectorizer(analyzer='word', 
                        ngram_range=(1,2), 
                        max_features=3,
                        stop_words=stop_words)

doc_vectors = model.fit_transform(texts).toarray()
print(doc_vectors)
print(model.get_feature_names())

所以这段代码的作用是输出如下:

>>> [[1 1 1]
>>>  [1 1 1]]
>>> ['hello', 'hello this', 'is']

正如你所看到的那样,我想要把二重奏'你好'这个'计算出来(它用来阻止词语)。我已经看过一些他们使用管道或自定义分析器的帖子,我浏览了文档,但是不是更容易解决这个问题吗?

谢谢!

0 个答案:

没有答案