如何使用tf-idf选择停用词?(非英语语料库)

12

我已经成功地评估了给定语料库的tf-idf函数。如何找到每个文档的停用词和最佳单词?我理解,对于给定单词和文档来说,tf-idf值较低意味着它不是选择该文档的好单词。


5
我认为tf-idf会使常见词汇(例如停用词)边缘化,即使您没有将它们标记为停用词。至少这是我的理解。SOLR已经具有国际化支持,因此可能拥有多种语言的停用词列表。 - Kevin
2个回答

15

停用词是指在文档中经常出现的单词,因此失去了它们的代表性。最好的方法是测量一个术语出现在多少个文档中,并过滤掉出现在其中超过50%的术语,或者是前500个或某种阈值,这需要您进行调整。

文档中最好(即更具代表性)的术语是具有更高tf-idf的术语,因为这些术语在文档中很常见,而在集合中很少见。

需要注意的是,正如@Kevin所指出的那样,集合中非常常见的术语(即停用词)产生的tf-idf非常低。然而,它们会改变一些计算结果,如果您假设它们是纯噪音(这取决于任务),则结果可能不正确。此外,如果将它们包含在您的算法中,它会稍微变慢。

编辑:
正如@FelipeHammel所说,您可以直接使用idf(记得反转顺序)作为度量标准,它与df成反比。这完全等同于排名目的和选择前“k”个术语。但是,无法根据比率选择(例如,出现在50%以上文档中的单词),尽管简单的阈值将修复该问题(即,选择idf低于特定值的术语)。通常使用固定数量的术语。

希望这能帮助您。


3
如果他已经有每个术语的IDF,他可以使用它来代替“测量术语出现在多少文档中”,因为两者是“等价的”。 - Felipe Hummel
1
注意词组和缩写。否则,“AND门”中的“and”和“美国外交政策”中的“us”会被丢弃。在早期进行全小写处理往往是不好的,而大小写(/标点符号/数字)的“正确”处理是特定于领域的。 - smci

5

来自《信息检索导论》的书:

tf-idf为术语t在文档d中分配一个权重,该权重:

  1. t在少量文档中多次出现时最高(因此为这些文档提供高判别能力);
  2. t在文档中出现较少或在很多文档中出现时低一些(因此提供较不明显的相关信号);
  3. t在几乎所有文档中都出现时最低。

因此,具有最低tf-idf的单词可以被视为停用词。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接