如何提高查询和文档相似度测量python TFIDF,BM25精度,回忆

时间:2016-12-05 09:47:49

标签: python precision information-retrieval tf-idf precision-recall

我尝试为查询和文档计算TF-IDF,并使用COS距离对结果进行排名并获得前50个类似文档。 同样地,我计算BM25得分并将最高BM25得分排在第1位,并获得前50个类似文件。

然而,对于TF-IDF和BM25,结果都不好。

(数据集是标签。测试数据集的大小是1400文档):

For example in the testing dataset judgment

the queryID=1 
the relevant document ID is : 19.txt, 25.txt, 35.txt, 38.txt,133.txt,45.txt

......................................

在我创建的搜索系统中输入queryID = 1之后。它从总共1400个文档中检索了365个文档。

所以我使用了对于queryID = 1,365文档的IT-IDF排名

the system might only return the  relevant document ID: 38.txt

类似地,我使用了对于queryID = 1,365个文档的BM25排名

 the system might only return the  relevant document ID: 19.txt

通过手动检查365个文档,在365个文档中:它实际上包含相关的文档ID:19.txt,25.txt,35.txt,38.txt,45.txt和其他不相关的文档ID。

由于相似性测量不佳, 它会影响精度和召回率。 我可以知道如何提高精度,召回率或排名方法吗?

1 个答案:

答案 0 :(得分:0)

我认为你应该向前迈出一步,并使用语言模型进行信息检索。使用此Tutorial from Stanford University