在搜索系统最终推出之前,一般都要对其性能 进行评测。除了时间和空间等运行效率方面的评测处,更重要的是对搜索结果质量进行评测。研发人员可以根据测试结果选择效果较好的搜索技术,或验证搜索系统在真实环境中运行时的实际效果,以辅助系统不断进行设计、研究和改进。因此搜索系统的评测对于系统的研制和发展是至关重要的。
如何评价搜索结果质量呢?最广为接受的评价标准是用精确率和召回率这两个指标来评价搜索质量
精确率和召回率
给定一个固定的用户搜索请求,搜索系统将系统认为和用户请求相关的文档返回给用户。对于这个搜索行为,可以根据两个维度 来将所有文档构成的集合划分为4个互不相交的子集。一个维度是:“该文档是否与用户发出的搜索请求相关”,由此维度,可以将整个文档集合划分为相关与不相关两种类型。
精确率和召回率是常见的评估检索系统的指标,但是对于搜索引擎来说,精确率更为重要,因为搜索引擎处理海量数据,一方面在这种环境下,对于某个查询,找到与这个查询相关的所有文档难度很大,导致召回率很难准确计算;另外一方面由于数据量比较大,所以能够满足用户需求的文档量也很大,用户很少需要看到所有相关文档,往往是看到一部分即可满足搜索需求,全部召回相关文档对于满足用户需求意义也不是特别重要。而相对地,精确率在搜索引擎场景下就非常重要了,因为排在搜索列表前列的搜索结果如果有太多不相关的内容,直接影响用户体验,所以对于搜索引擎质量评估来说,往往更加关注精确率。