在lucene中的两个文档之间获得余弦相似性
发布时间:2020-12-14 04:19:14 所属栏目:大数据 来源:网络整理
导读:我已经在Lucene建了一个索引.我想没有指定一个查询,只是为了获得索引中两个文档之间的得分(余弦相似性或另一个距离?). 例如,我从以前打开的IndexReader中获取ir和具有ids 2和4的文档. 文件d1 = ir.document(2); 文件d2 = ir.document(4); 我如何得到这两个
我已经在Lucene建了一个索引.我想没有指定一个查询,只是为了获得索引中两个文档之间的得分(余弦相似性或另一个距离?).
例如,我从以前打开的IndexReader中获取ir和具有ids 2和4的文档. 我如何得到这两个文件之间的余弦相似? 谢谢 解决方法
索引时,有一个存储术语频率向量的选项.
在运行时,使用IndexReader.getTermFreqVector()查找两个文档的术语频率向量,并使用IndexReader.docFreq()查找每个术语的文档频率数据.这将给你所有必要的组件来计算两个文档之间的余弦相似度. 更简单的方法可能是将文档A作为查询提交(将查询中的所有单词添加为OR术语,按术语频率提升每个单词),并在结果集中查找文档B. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |