我的最后一项任务是建立搜索引擎。我使用solr访问和从本体中检索数据,以后将用作语料库。我对这些(信息检索,本体,python和solr)事物都是全新的。
在信息检索中有一个步骤来评估查询结果。我计划使用Precision,Recall和ROC评分对此进行评估。有没有什么方法可以在solr中使用函数来计算精度,召回和ROC的分数?从solr接口甚至后面的代码都没有关系。
答案 0 :(得分:1)
除非我完全弄错,否则精确度和召回分数要求您在将它们与从搜索引擎检索到的文档进行比较之前,先了解要检索和显示的相应文档。搜索已经返回它认为与您的查询完美匹配的内容,因此您可以根据预期结果评估该结果(这意味着您知道应该返回哪些文档)。
如果搜索引擎可以自行决定,它将始终为精度和召回提供1(n / n),因为这将是完美的结果。如果它可以评估这些数字是什么,则根本不需要将它们包括在搜索结果中。
如果您查询某个术语,Solr会为您提供包含该术语的所有文档(如果需要,还可以提供相应的变体 - 具体取决于您的分析链)。调整这种相关性就是你的任务,因为它不能自动完成 - 因为它取决于你的业务案例,你必须自己用已经决定的答案密钥自己执行测量。