如果您添加文档的文档的集合,除非该文件是完全一样的文档集合,在您的发行词或词的分布将改变以适应新添加话。问题就出现了:“这真的是你想要做的第三份文件吗?”
Kullback-Leibler divergence是两个分布的发散度量。你们两个分布是什么?
如果您的分布是在文档中随机选择某个词的概率,那么您有概率值的空间就是组成文档的词的集合。对于您的前两个文档(我认为这是您的整个集合),您可以构建7个词的词空间。用于字概率在从文件随机被选择为单词的袋是:
doc 1 doc 2 doc 3 (lem)
answers 0.2 0.2 0.0 0.2
are 0.2 0.2 0.0 0.2
cross 0.2 0.0 .33 0.2
good 0.2 0.0 .33 0.2
nice 0.0 0.2 0.0 0.0
simply 0.0 0.2 .33 0.2
validated 0.2 0.2 0.0 0.0
[这被计算为术语频率由原稿长度分割。请注意,新文档的单词形式与文档1和文档2中的单词不同。(lem)列将是概率,如果您阻止或词汇化为相同的词对(是/是)和(答案/答案)。]
将第三份文件引入场景中,您可能想要对Kullback-Liebler Divergence进行的一项典型活动是比较新文件或文件集合与已知文件或文件集合。
计算所述的Kullback-Liebler发散D(P||Q)
产生值标志着如何真实分布P
通过使用替代分布Q
捕获。因此,Q1
可能是文档1中词的分布,Q2
可能是文档2中词的分布。计算KL分歧P
是新文档(文档3)中文字的分布,您可以得到新文档与文档1不同,新文档与文档2有多不同。使用这些信息,您可以说新文档与已知文档/集合有多相似。
这是一个家庭作业吗? – emaillenin
它不是。另外,我没有要求提供源代码;)。我问了一个简单的外行人的例子。如果这是我的教授作业。会解释我,lol – user751637
Kullback-Leibler散度不对称。有可能是KL(D1,D2)!= KL(D2,D1)。另外,如果其中一个文件包含一个不存在于另一个文件中的单词,则可以获得无限的散度值(取决于测量KL散度的方向)。 如果你想计算两个文档的相似度与基于信息论的度量的相似度,我会建议Jennsen-Shannon分歧(http://en.wikipedia.org/wiki/Jensen-Shannon_divergence),它是基于KL散度,对称和有限。 –