平均期限频率将是该术语在其他文档中出现的平均频率。直观地,我想比较它在本文档中出现的频率与语料库中的其他文档的比较。
一个例子:
文档1对于单词" set"具有相同的tf-idf;和#34;理论"即使单词集对d1比对理论更重要。
使用平均词频将区分这两个例子。 tf-iatf(反平均项频率)是一种有效的方法吗?对我来说它会给我更重要的关键词,而不仅仅是"稀有"和"独特的"关键字。如果idf是"估计该单词的罕见程度"不会有更好的估计吗?它似乎只是稍微难以实现(特别是如果数据是预处理的)。
我正在考虑运行一个实验并手动分析每个度量排名最高的关键字,但是想先通过其他一些眼睛来传递它。
后续问题: 为什么tf-idf如此频繁地使用而不是像这样的替代方法可能更准确? (如果这是一种有效的方法)。
更新: 在一个实验中,我手动分析了几十个文档的分数和相应的顶部单词,看起来像iatf和反向采集频率(我描述的标准方法)具有超级相似的结果。
答案 0 :(得分:3)
Tf-idf并不是要比较两个语料库中文档中单词的重要性。 它的意思是区分文档中单词的重要性与同一集合中其他文档中相同术语的分布(而不是跨集合)。
您可以针对您的案例申请的标准方法是:收集频率,cf(t),而不是文档频率,df(t)。
cf(t)衡量一个术语t在语料库中出现的次数。 cf(t)除以总集合大小将给出概率 从集合中抽取t。
然后您可以计算tf(t,d)和cf(t)值的线性组合,从而为您提供从文档或集合中对术语t进行采样的概率。
P(t,d) = \lambda P(t|d) + (1-\lambda) P(t|Collection)
这名为 Jelinek Mercer平滑语言模型。
对于你的例子(让\ lambda = 0.5):
Corpus 1: P("set",d1) = 0.5*100/100 + 0.5*100/102
Corpus 2: P("set",d1) = 0.5*100/100 + 0.5*100/300
显然,语料库2的P(" set",d1)比语料库1中的少(几乎三分之一)。