首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据相关性对一个文档的多个查询进行排序

根据相关性对一个文档的多个查询进行排序
EN

Stack Overflow用户
提问于 2017-03-06 21:54:08
回答 2查看 281关注 0票数 0

给出一个查询列表和一个文档,我想根据查询与给定文档的相关性对查询进行排序。

对于每个查询,我计算了查询中每个单词的词频。(术语频率定义为单词在文档中发生的次数除以文档中的总单词数)

现在,我总结了查询中每个术语的频率。

例如:

代码语言:javascript
复制
search query: "Hello World"
document: "It is a beautiful world"

tf for 'Hello': 0
tf for 'World': 1/5 = 0.2

total tf for query 'Hello World' = 0 + 0.2 = 0.2

我的问题是,对于每个查询,规范我的术语频率的最佳方法是什么?因此,长查询不会导致更大的相关性评分。

对于我来说,有比仅仅使用tf分数更好的方法来打分查询吗?

我不能在我的场景中使用tf-国防军,因为我只是根据一个文档对它们进行排序。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-07 07:42:50

在回答你的问题之前,我想纠正你对术语频率的定义。您定义术语频率的方式实际上称为最大似然

因此,我将你的第一个问题解释如下。

对于每个查询来说,规范最终得分(最大可能性之和)的最佳方法是什么?

一种简单的方法是将分数除以查询长度,这样更长的查询就不会得到更高的分数。在搜索引擎的上下文中,高级技术也被用于计算相关性评分。

对于我来说,有比仅仅使用tf评分更好的方法来打分查询吗?

是的,当然!一个著名的,广泛使用的排序方法,称为冈皮BM25,可以在这里使用很少修改。你可以认为你的目标任务是一个排名问题。

因此,给定一个文档,根据它们与文档的相关性对一组查询进行排序。

这是搜索引擎中一个众所周知的问题。我鼓励你在任何一所大学的信息检索课上学习一些讲座。例如,这个讲演幻灯片讨论了与您的需要相一致的概率排序原则。

票数 1
EN

Stack Overflow用户

发布于 2017-03-08 08:25:06

关于不能使用的评论,“在我的场景中,我不能使用tf-国防军,因为我只是根据一个文档对它们进行排序。”,下面是您可以做的:

请记住,您的排名(可检索)单位是查询。因此,考虑到参考标准术语,文档和查询之间的角色发生了逆转。换句话说,将查询视为伪文档,将文档视为伪查询。

然后,您可以应用一系列使用集合统计信息(在查询集上计算)的排序模型,例如语言模型、BM25、DFR等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42636336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档