- 1.Q: 信息检索中常提到ad-hoc, routing filtering等术语,能否解释一下它们的含义?
Answer: TREC刚开始的时候只有两个任务,ad hoc和routing。 1)前者类似于图书馆里的书籍检索,即书籍库(数据库)相对稳定不变,不同用户的查询要求是千变万化的。这种检索就称为ad hoc。基于Web的搜索引擎也属于这一类。 2)后者的情况与前者相对,用户的查询要求相对稳定。在routing中,查询常常称为pro file,也就是通常所说的兴趣,用户的兴趣在一段时间内是稳定不变的,但是数据库(更确切的说,是数据流)是不断变化的。这种任务很象我们所说的新闻定制什么的,比如用户喜欢体育,这个兴趣在一段时间内是不变的,而体育新闻在不断变化。 应该说,ad hoc和routing代表了IR的两个不同研究方向。前者的主要研究任务包括对大数据库的索引查询、查询的扩展等等;而后者的主要任务不是索引,而是对用户兴趣的建模,即如何对用户兴趣建立合适的数学模型。后者称为routing是很有道理的,因为不断到来的数据流根据用户的兴趣被分发到不同的用户中去,类似于网络中的路由寻径过程。 随着TREC的不断进行,TREC的任务有所变更,总的来说还是上面两类,不过名称有所变化,后者不再称为routing,而是称为filtering,routing本身成为filtering的一个子任务,filtering还有其它两个子任务adaptive filtering 和 batch filtering。前者对每个用户兴趣(用topic描述)仅有很少的正例,甚至没有正例,后者给出的正例很多。adaptive filtering允许对用户的兴趣不断反馈(adaptive的含义),batch filtering因每次TREC的要求不同,有时可以反馈,有时不允许反馈。在不允许反馈的情况下,batch filtering实际就是个静态分类的过程。routing和batch filtering基本上一样,不同的是,routing返回的结果要排序,而batch filtering的结果是个集合,是不需要排序的,因为有排序,所以两者的评测方法也不同。batch filtering可以通过类recall/precision的方法进行评估,而routing的评测方法与ad hoc任务有些相似,因为通常的 ad hoc任务的返回结果也是要求排序的。 现在ad hoc retrieval的研究重点是 (1) 查询(query)的扩展(即如何使得query更贴近topic)和 (2) 匹配(相似度计算)
- 2.Q: TREC中的topic是什么意思?
Answer:在TREC中,topic描述的是用户的需求(information need),通常是给人看的,一般用自然语言描述。比如 想找关于“北京大学”的文章这个用户需求,用自然语言描述可能是:关于北京大学的方方面面的情况。在TREC中,一般的topic可能描述得更详细,不仅包括一般描述,而且包括更详尽的描述,可以作为最后评估者的判断依据,比如,上面例子中,在一般描述之后,可以加上,"仅仅提到北大的文章不算数"这样的字样。这样的话,可以把用户的需求表达得比较清楚。但是,对于计算机而言,它可能理解不了这么深,所以有一个从topic到查询query的转换(自动转换常常是从topic中抽取几个NP phrase,但是人的转换可能更厉害一些,比如提出复杂的布尔表达式),query是面向计算机的,query可以是关键词、布尔表达式、正例文本等等各种形式的东西,反正它的最终目的就是为了表达用户的真正需求,并且让计算机能够处理。另外,query本身有点动态变化的意思,所以ad hoc任务中的查询叫query,而在filtering中的查询通常称为pro file(有点静态稳定的意思),当然文章中也有称query的。但是有必要把query和pro file分开,至少对理解是有益的。 总结一下: topic=information need, 用自然语言描述,面向人 query(ad hoc)和pro file(filtering),用计算机能理解的语言描述,面向计算机。 IR的理想目标就是query=topic! 不多也不少。