0

我最后的任务是做一个搜索引擎。我正在使用 solr 从本体中访问和检索数据,这些数据稍后将用作语料库。我对这些(信息检索、本体、python 和 solr)完全陌生。

信息检索中有一个步骤来评估查询结果。我打算使用 Precision、Recall 和 ROC 分数来评估这一点。有什么方法可以使用 solr 中的函数来计算精度、召回率和 ROC 的分数?从 solr 界面甚至后面的代码都无关紧要。

4

1 回答 1

1

除非我完全弄错了,否则精度和召回分数要求您在将它们与从搜索引擎检索到的文档进行比较之前知道要检索和显示的适当文档是什么。搜索已经返回了它认为与您的查询完美匹配的内容,因此您可以根据预期结果评估该结果(这意味着您知道应该返回哪些文档)。

如果搜索引擎可以自行决定,它总是会为精确度和召回率给出 1 (n/n),因为这将是完美的结果。如果它可以评估这些数字是什么,它根本不需要将它们包含在搜索结果中。

如果您查询某个术语,Solr 将为您提供包含该术语的所有文档(如果需要,它的变体 - 取决于您的分析链)。调整这种相关性是您的任务,因为它不能自动完成 - 因为它取决于您的业务案例,您必须使用已经确定的答案键自己实际执行测量。

于 2016-05-18T13:11:00.507 回答