只忽略ngram_range = 1的停用词

时间:2015-05-09 22:50:02

标签: python nlp scikit-learn

我正在使用来自sklearn的CountVectorizer ...寻找提供停用词列表并将计数向量化器应用于(1,3)的ngram_range。

从我所知道的,如果一个词 - 说“我” - 在停止词的列表中,那么它就不会被看到更高的ngrams,即“告诉我”不会是一个特征。有没有办法可以指定类似“只在ngram为1时才考虑停用词”的方法?

1 个答案:

答案 0 :(得分:3)

您至少有两个选项:

  1. 将两种功能与FeatureUnion结合使用:一种用于 带有停用词的(1,1)的ngram_range和用于ngram_range的ngram_range (2,3)没有停止的话

  2. (更高效,但更难实现和使用)实现您自己的分析器,将检查停止状态     单词列表仅适用于unigrams;请参阅this answer中的代码示例。