增量IDF(反向文档频率)


11

在文本挖掘应用程序,一个简单的方法是使用启发式创建载体作为文件的紧凑稀疏表示。这对于批处理设置很好,因为整个主体被称为先验,因为i d f要求整个主体tfidfidf

idf(t)=log|D||{d:td}|

其中是术语,d是文档,D是文档语料库,而T(未显示)是字典。tdDT

但是,通常随着时间的推移会收到新的文档。一种选择是使用现有的,以保持,直到已经收到新的文件一定数量,并且重新计算。但是,这似乎效率很低。如果有人事先查看了所有数据,是否有人知道增量更新方案(可能近似)收敛到该值?或者,是否有另一种方法可以捕获相同的概念,但是可以以增量方式计算?idf

还有一个相关的问题,随着时间的流逝,i d f是否仍然是一个好的度量。由于idf捕获了语料词频率的概念,因此可以想象,语料库中较旧的文档(例如,我的语料库包括100多年的期刊文章),因为不同词的频率随时间变化。在这种情况下,实际上是明智的做法是,在使用新的滑动窗口i d f时,将新的文档丢掉。可以想象,当计算出新的矢量时,也可以存储所有以前的i d f矢量,然后,如果我们想检索1920-1930年的文档,则可以使用i d fidfidfidfidf根据该日期范围内的文档计算得出。这种方法有意义吗?

编辑:关于字典有一个单独的但相关的问题。随着时间的流逝,将会出现以前没有出现过的新词典术语,因此| T | 将需要增长,因此i d f向量的长度。似乎不会有问题,因为可以将零添加到旧的i d f向量上。T|T|idfidf


愚蠢的问题:为每个t存储分母是一个问题。| t |的比率如何 到| d | 看起来像(一般)?
steffen

idf(t)tt|T|

1
我了解方程式。我的问题是:如果存储字典没问题,那么:而不是存储| T |。idfs一店| T | 分母(等式)+文件数。增量更新是没有问题的,并且idf是动态计算的。我感觉自己已经忽略了一些东西。
steffen 2011年

dd:tdt:td

恰好。如果可行吗?
steffen 2011年

Answers:


6

z

z(t)=|{d:td}|

d

z(t)=z(t)+{1iftd0otherwise

tfidfidf

与删除旧文档类似,我们以类似的方式递减分子。

tftfidftfidf

idfzzidftf

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.