仅忽略 ngram_range=1 的停用词
Only ignore stop words for ngram_range=1
我正在使用 sklearn 中的 CountVectorizer...希望提供停用词列表并为 (1,3) 的 ngram_range 应用计数矢量化器。
据我所知,如果一个词 - 比如说 "me" - 在停用词列表中,那么它不会被更高的 ngram 看到,即 "tell me" 不会一个特征。有没有一种方法可以指定 "consider stop words only when ngram is 1"?
您至少有 2 个选项:
将 2 种特征与 FeatureUnion 结合:一种用于
ngram_range of (1,1) with stop words and one for ngram_range of
(2,3) 无停用词
(效率更高,但更难实现和使用)实现您自己的分析器,该分析器将在 stop 中检查是否存在
仅适用于 unigrams 的单词列表;请参阅 中的示例代码示例
回答.
我正在使用 sklearn 中的 CountVectorizer...希望提供停用词列表并为 (1,3) 的 ngram_range 应用计数矢量化器。
据我所知,如果一个词 - 比如说 "me" - 在停用词列表中,那么它不会被更高的 ngram 看到,即 "tell me" 不会一个特征。有没有一种方法可以指定 "consider stop words only when ngram is 1"?
您至少有 2 个选项:
将 2 种特征与 FeatureUnion 结合:一种用于 ngram_range of (1,1) with stop words and one for ngram_range of (2,3) 无停用词
(效率更高,但更难实现和使用)实现您自己的分析器,该分析器将在 stop 中检查是否存在 仅适用于 unigrams 的单词列表;请参阅 中的示例代码示例 回答.