首页 > 解决方案 > 如何通过对某些术语的附加权重来实施 TF-IDF 评分

问题描述

我目前有一个用于评分的 tf-idf 系统,并且我正在使用余弦相似度进行搜索。我想添加额外的权重,以考虑给定术语是否在文档标题中。但是,我不确定如何将标题数据与 tf-idf 分数结合起来。有谁知道解决这个问题的好方法?

标签: pythonsearchinformation-retrievaltf-idfcosine-similarity

解决方案


有几种途径:您可以将相似性升级到 BM25F(现场模型),或者您可以复制 TF-IDF 系统以获取标题和正文数据。然后,不是每个文档只有一个分数,而是需要组合一个 TitleScore 和一个 BodyScore。

然后,您可以启发式地确定重要性,例如,标题匹配为 70%,正文为 30%:

score = 0.7 * titleTFIDF(q, doc) + 0.3 * bodyTFIDF(q, doc)

或者你可以尝试从数据中学习权重。


推荐阅读