我正在尝试使用 IDF 分数在我非常庞大的文档语料库中找到有趣的短语。
我基本上需要像亚马逊的统计上不可能的短语,即区分文档与所有其他文档的短语
我遇到的问题是我的数据中的一些 (3,4)-grams 具有超高 idf 实际上由组件组成idf 非常低的 unigrams 和 bigrams。
例如,“你从未尝试过”的 idf 非常高,而每个组件 unigrams 的 idf 都非常低。
我需要想出一个可以接受的函数记录一个 n-gram 及其所有组件 (nk)-grams 的频率,并返回一个更有意义的度量,即该短语将在多大程度上区分父文档与其他文档。
如果我正在处理概率,我会尝试插值或退避模型。我不确定这些模型利用哪些假设/直觉来表现良好,以及它们对 IDF 分数的效果如何。
有人有更好的想法吗?
问问题
1914 次
1 回答
5
我认为“你从未尝试过”是一个你不想提取的短语,但它具有很高的 IDF。问题是会有大量的 n-gram 只出现在一个文档中,因此 IDF 分数可能最大。
NLP 中有很多平滑技术。这篇论文 [ Chen&Goodman ] 是对其中许多的一个很好的总结。特别是,您听起来可能对按照您建议的方式工作的Kneser-Ney平滑算法感兴趣(退回到较低长度的 n-gram)。
这些方法通常用于语言建模任务,即在给定非常大的语言语料库的情况下估计 n-gram 出现的概率。我真的不知道您如何将它们与 IDF 分数集成,或者即使这确实是您想要做的。
于 2010-06-11T07:31:10.017 回答