当top-k查询找不到足够的文档来满足k约束时会发生什么?

问题描述 投票:0回答:1

我正在使用NDCG评估top-k范围查询。给定空间区域和查询关键字,我的top-k范围查询必须返回给定区域中与查询关键字文本相关的k个文档。

在我的场景中,范围查询通常只找到一个要返回的文档。但我必须将此查询与另一个可以在给定区域中找到更多对象的查询进行比较,并使用相同的关键字。这是可能的,因为我正在测试一种改进对象描述的方法。

我不知道在这种情况下如何使用NDCG来比较这两个查询。我想使用NDCG @ 5,NDCG @ 10比较查询A和B,但查询A只找到一个对象。查询A将具有较高的NDCG值,因为它找到更多对象的能力较低(可能值为1 - 最大值)。查询B找到更多对象(在我看来,这是一个更好的解决方案),但NDCG值低于查询A.

information-retrieval spatial-query precision-recall query-analyzer
1个回答
0
投票

您可以考虑查看其他指标,例如如果您不关心应用程序的排名,请回忆@ 10。

NDCG是一种专为网络搜索而设计的衡量标准,您真正希望惩罚一个不能在最高结果处返回最佳项目的系统,这就是为什么它具有指数衰减因子。这对于像``stackoverflow'这样的导航查询是有意义的,如果你不首先返回这个网站,你会看起来很糟糕。

听起来你正在构建一些更复杂的东西,用户关心的是很多结果。因此,一种更多以召回为导向的措施(关注比排名更多地关注多项事物)可能更有意义。

它找到更多物体的能力较低

我还会仔细检查你对NDCG的实现:你总是希望除以理想的排名,而不管实际返回的是什么。听起来你的查询A返回1个正确的对象,但是查询B返回更正确的对象,但不是高排名?无论哪种方式,您希望查询A被DCG划分为完美排名 - 这意味着10个,20个或数千个“正确”对象。可能你只是没有足够的判断,因此你的“完美排名”太小,因此你不会对查询A进行足够的惩罚。

© www.soinside.com 2019 - 2024. All rights reserved.