我设法评估给定语料库的tf-idf function。如何找到每个文档的停用词和最佳词汇?我知道给定单词和文档的tf-idf低意味着它不是选择该文档的好单词。
停词是那些在文档中非常普遍出现的词,因此失去了它们的代表性。观察此现象的最佳方法是测量一个词条中出现的文档数,并过滤出其中50%以上,或者您需要调整的前500个阈值或某种类型的阈值中出现的那些文档。
[文档中最好的(最好是更具代表性的)术语是tf-idf较高的术语,因为这些术语在文档中很常见,而在集合中很少见。
作为快速注释,正如@Kevin所指出的,集合中非常常见的术语(即停用词)总会产生非常低的tf-idf。但是,它们将更改某些计算,如果您假设它们是纯噪声(根据任务可能不正确),这将是错误的。另外,如果包含它们,您的算法将稍微慢一些。
编辑:正如@FelipeHammel所说,您可以直接使用IDF(请记住要反转顺序)作为与df成反比的度量。这完全等同于排名目的,因此可以选择排名靠前的“ k”项。但是,尽管简单的阈值将解决此问题(即,选择idf低于特定值的字词),但无法使用它来基于比率进行选择(例如,出现在文档中50%以上的单词) 。通常,使用固定数量的术语。
我希望这会有所帮助。
摘自《信息检索入门》:
[tf-idf
为术语t
分配文档d
中的权重,即
t
在少数文档中多次出现时的最高值(因此对这些文档具有较高的区分能力)term
在文档中出现次数较少或在许多文档中发生(因此提供了不太明显的相关信号)时,此值较低;term
时的最低水平。因此具有最低tf-idf
的单词可以被视为停用词。