只忽略 ngram_range=1 的停用词
Posted
技术标签:
【中文标题】只忽略 ngram_range=1 的停用词【英文标题】:Only ignore stop words for ngram_range=1 【发布时间】:2015-07-20 16:04:03 【问题描述】:我正在使用来自 sklearn 的 CountVectorizer...希望提供停用词列表并为 (1,3) 的 ngram_range 应用计数向量器。
据我所知,如果一个词 - 说“我” - 在停用词列表中,那么它不会被更高的 ngram 看到,即“告诉我”不会是一个特征。有没有一种方法可以指定诸如“仅当 ngram 为 1 时才考虑停用词”?
【问题讨论】:
【参考方案1】:您至少有 2 个选项:
将2种特征与FeatureUnion结合:一种用于 ngram_range of (1,1) 带有停用词和一个用于 ngram_range 的 (2,3) 没有停用词
(更高效,但更难实现和使用)实现您自己的分析器,它将在停止时检查是否存在 单词列表仅适用于 unigrams;请参阅this answer 中的示例代码示例。
【讨论】:
以上是关于只忽略 ngram_range=1 的停用词的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 elasticsearch nest api 创建自定义分析器以忽略重音和 pt-br 停用词?