python - 如何通过对某些术语的附加权重来实施 TF-IDF 评分
问题描述
我目前有一个用于评分的 tf-idf 系统,并且我正在使用余弦相似度进行搜索。我想添加额外的权重,以考虑给定术语是否在文档标题中。但是,我不确定如何将标题数据与 tf-idf 分数结合起来。有谁知道解决这个问题的好方法?
解决方案
有几种途径:您可以将相似性升级到 BM25F(现场模型),或者您可以复制 TF-IDF 系统以获取标题和正文数据。然后,不是每个文档只有一个分数,而是需要组合一个 TitleScore 和一个 BodyScore。
然后,您可以启发式地确定重要性,例如,标题匹配为 70%,正文为 30%:
score = 0.7 * titleTFIDF(q, doc) + 0.3 * bodyTFIDF(q, doc)
或者你可以尝试从数据中学习权重。
推荐阅读
- authentication - 更改“状态”默认属性名称
- python - 将 Pandas Dataframe 行和列转换为 Numpy 数组
- javascript - 使用 JQuery 和 jsPDF 从 HTML 生成 PDF
- bash - 阿尔弗雷德脚本“等到按键被按下......”
- google-bigquery - 在 BigQuery 中更新分区表
- html - Show "show more" dynamically
- javascript - How to listen for specific JSON error code in try/catch statement?
- django - Acquiring CSRF token from Django when index.html is served by nginix
- java - 面临服务端验证问题
- composer-php - Install unstable fork