Bigram 在 weka 中包含停用词?

Posted

技术标签:

【中文标题】Bigram 在 weka 中包含停用词?【英文标题】:Bigram contains Stopwords in weka? 【发布时间】:2014-02-15 21:37:09 【问题描述】:

我正在处理 weka 中的分类问题并使用智能 524 停用词列表。 我在 weka 中使用 NGram 标记器。它正确地过滤了 unigram 中的停用词,但 bigram 包含停用词,即“东方”、“窗户”。

我之前假设 weka 可能首先过滤掉文本文档中的所有停用词,然后将它们转换为一元和二元,但事实并非如此。

有没有办法从 bigram 中删除停用词,也许我可能需要另一个用于 bigram 的停用词文件?

从二元组中删除停用词会提高分类器性能吗?

【问题讨论】:

【参考方案1】:

我猜你可能正在使用StringToWordVector 过滤器来获取二元组。 如果这是您的情况,过滤器会将特征(在您的情况下为二元组)与停止列表中的元素进行比较。如果您的停用词列表由单个单词组成,则任何二元组和任何停用词之间都不会存在等价关系,因此不会删除任何单词。 如果要从二元组中删除停用词,则必须在应用 StringToWordVector 过滤器之前自行完成。 删除停用词的效率取决于每种情况,因此我建议您自己进行测试。 弗朗西斯科

【讨论】:

是的,我正在使用带有 unigram + bigram 的 StringToWordVector,其中停用词只会从 unigram 中删除。所以我编写了一个单独的程序,首先通过从中删除停用词来预处理所有文档,然后将其传递给 weka 以应用 StringToWordVector

以上是关于Bigram 在 weka 中包含停用词?的主要内容,如果未能解决你的问题,请参考以下文章

可以自动找到停用词吗?

Lucene扩展停用词字典与自定义词库

即使停用词列表为空,如果包含停用词,全文搜索也不起作用

Elasticsearch的停用词(stopwords)

为啥这些词被认为是停用词?

在sklearn TfidfVectorizer中执行停用词删除过程时?