郭力洁,李新叶,宋金浍
(华北电力大学电子与通信工程系,河北保定 071003)
分面搜索起源于都灵大学的信息系,是计算机科学家、信息科学家、界面设计者、可用性研究人员都感兴趣的一个话题。分面(Facet)一词在国内信息组织领域一般被翻译为分面,分面是指事物的多维度属性,例如一本书包含主题、作者、年代等分面。而分面搜索是指通过事物的这些属性不断筛选、过滤搜索结果的方法,可以将分面搜索看成搜索和浏览的结合。人们看待事物的角度多种多样,分面为这种多维角度的认知提供了灵活支持,企业搜索、信息架构、交互界面设计、多维数据库等多个领域都在利用分面划分的思想。分面搜索作为一种有效的搜索方式,已经被用在电子商务、音乐、旅游等多个方面。例如拍拍网将T恤分成款式、衣长、尺码、颜色等分面,谷歌音乐将歌曲分为节奏、声调、音色、年代、流派等分面。也有人认为分面是语义的初级阶段,分面的方式可以看作是语义搜索的一种类型,充分揭示和表达关系。
事实上,这种探索式访问适用于及其广泛的实际情况,例如在“在线信息访问系统”分面搜索已经越来越流行了,尤其是在电子商务[1]和网站搜索应用方面。如电子政务[2]、多媒体数据库[3]、数字图书馆、软件开发[4]等领域。
分面搜索有效提高了信息检索的效率,改善了用户体验,对于交互式信息检索的研究既有一定的理论价值,又有重要的实践意义。
分面搜索(Faceted Search)提供的结果是上下文相关的,用户选择某个条件后,分面结果会在该条件限定下的结果集中动态获取,从而能够从不同的角度对数据进行归类整合,帮助用户进一步了解需要获取的数据信息。在查询过程中,用户可灵活地切换导航面;另一个显著优点解决了查询结果为空集的难题,改善了用户体验[5]。分面搜索的优势可以总结为以下3点:首先,分面搜索支持用户根据自己的需要选取不同的分面进行筛选,而不必按照网站预先设定的单一方式寻找;其次,分面搜索允许用户自己创建搜索路径,并且可以随时扩大和缩小结果范围;最后,分面搜索只展现有对应结果的选项,避免了结果为空的情况。并且一般在搜索前提示用户该选项内包含的结果数量,给用户良好的操作前提示。
建立一个分面搜索系统的关键问题是选择什么样的面和值来让用户随时可用。当文件涉及范围非常广的时候,这个问题尤其重要。一些系统显示给用户所有可能的分面值。这种方法会很快地淹没用户,导致削弱用户性能。其他的系统如eBay Express,向用户显示一个手动选择面的子集,和分面-值(Facet-Values)排名基于他们的频率。其他的系统如Flamenco,简单地显示按字母表顺序排列的前几个分面-值。对于有很多面的系统来说,手动选择和维护分面太费时。而且一个预先定义的界面不能满足所有用户的需求。需要的是一个自动选择面和值的机制,根据用户行为向用户显示,在一次搜索中,使预期的效用最大化。
在用户不确定自己找的目标,即信息需求比较模糊的情况下进行某一主题的搜索时,以分面方式展示的导航是非常有用的搜索辅助功能。目前兴起的分面导航[8]技术在图书馆学领域广泛应用的基础上,逐步向其他领域渗入,而导航属性的选取主要通过领域专家指定,缺乏对面导航能力的评价体系。文献[9]主要从数据导航的角度出发,提出了一种基于分面浏览技术的持久化RDF语义数据的存储策略,利用统计学的方法从RDF实例中挖掘出适合作为面的谓词,并利用层次聚类方法对统计过程丢失的适合作为导航能力的属性考察。不同的导航模式使用户在不同的方向上改变查询。文献[11]提出了4种导航模式:Zoom-in使得查询更精确;Zoom-out使得查询更广泛;Shift通过一个相关概念替换一个查询概念;Pivot通过一个相关概念替换整个查询。
与分面搜索最相关的人就是马蒂.赫斯特,他加入加州大学的伯克利分校,全心从事研究工作:Flamenco项目。弗拉明戈项目代表了近十年来对分面搜索工具的研究工作,它的核心是一个开源的分面搜索系统,该系统支持层次分面[6]。除了建立分面搜索的工具,赫斯特和他的同事还研究了接口设计、自动元数据创建等问题。其他学术上的研究成果还有RB++、mSpace、Freebase Parallax,其中 Parallax 把分面搜索推广到了与语义网有关的一般的本体。
分面搜索最大的成功应该是它在商业领域的应用:(1)ENDECA:ENDECA成立于1999年,它为电子商务网站(如Wal-Mart and Home Depot)提供分面搜索,但是它还把这技术应用于制造业、出版业、财经服务和政府等领域。Endeca的特点就是以分面搜索为核心,进行电子商务和网站搜索应用。Triangle Research Libraries Network[7]是一个 ENDECA 支持的应用。(2)eBAY:易趣网最初是以在线拍卖网站出名的,2006年易趣网从事的一个项目叫eBay Express,它也使用分面搜索。(3)AMAZON:亚马逊成立于1994年,是美国最大的在线零售商,开始只是卖书,后来发展到了各种商品以及服务。
虽然分面搜索首先应用于商业,但是后来也得到了开源社区的关注。2006年CNET网站推出了Solr,Solr一开始是为Lucene项目开发的,Lucene是应用最广泛的开源搜索库,虽然Solr对Lucene平台进行了一些改进,但最重要的是引进了分面搜索,另外一个使用分面搜索的有名的开源社区是Drupal,这是一个开源内容管理平台。
除了针对于RDF数据进行分面搜索,还有针对XML文档进行的分面搜索,INEX会议是XML检索界最著名的测评会议,在2011年INEX会议上首次提出了对以数据为中心的结构丰富的XML文档的分面搜索评测任务。
大量的信息会把用户淹没,于是出现了许多改善分面推荐的算法。文献[8]提出把分面浏览看作是构建和遍历一棵决策树,帮助选择能够浏览这棵树的最有效的分面。文献[12]介绍把最有价值的分面显示给用户必须遵循的原则包括:
(1)支持结果集中覆盖率高的分面,尤其是当某分面的值包含在所有的文档中时,而不是仅存在于一小部分文档中。
(2)支持分面值分布熵很高的分面,例如,某分面有10个值,如果这10个值分布均匀的话,该分面更有价值。
分面搜索的另一个新的研究方向就是个性化的分面搜索。文献[10]提出对于每一个用户的行为使用协同过滤和个性化自定义搜索界面。一个面搜索界面逐步引导用户在一个推荐的查询精练列表里选择来缩小范围,而不是等着用户从零开始创建结构化查询。文献[10]还提出使用明确的用户评分,产生智能的分面搜索界面,它自动选择面-值,根据用户偏好创建一个界面。
分面搜索研究领域还存在许多问题需要解决:
(1)分面多时全部显示分面会淹没用户视线:由于屏幕实际大小的限制以及人的注意力的限制,不能显示所有的分面和值,需要每一步推荐分面来精练查询。当存在少量分面时,固定显示所有分面;当存在大量分面时,不可能同时显示所有分面,需要有效的分面推荐算法来计算最有效的分面[14]。
(2)传统的分面搜索技术适用于结构化数据,对于XML这种半结构化数据等的搜索不适用:分面搜索是基于分面分类系统来组织文档集的。然而人们通常拥有的数据集是非结构化文本,或是半结构化的文档,如XML文档,这种情况下由于分面搜索要求文档包含元数据,没有元数据,就成了文本搜索。需要采用一些技术,丰富非结构化文本来获取元数据,这些技术都属于文本挖掘领域。以下列出了一些基本策略[12]:1)挖掘潜在的元数据,例如文档来源、类型、大小等。2)基于规则或统计对文档进行分类,分成预定义的几类,多个独立分类可以作为不同的分面。半结构化的XML文档的分面搜索可以看成是结构化数据的分面搜索与文本搜索相结合。
(3)数据量大时分面搜索的计算效率:精练查询的计算量远大于计算满足查询约束的结果的计算量,如何有效地执行集合之间的交集运算是提高效率的关键。计算精练结果有两种方法:自上而下、自下而上。自上而下的方法利用倒排索引,遍历每一个分面-值,计算结果集中包含所有分面值的文档的交集;自下而上的方法重复迭代结果集中每一个文档,计算每一个文档所包含的分面-值。两种方法的计算量都取决于倒排索引和文档的数据结构,如果访问外部存储器的话,自下而上的方法计算量相当大,所以自上而下的方法相对好。Yonik Seeley,Solr的创始人,采用了一种方法把两种方法结合在一起得到了更高的效率[13]。
该综述重点介绍了分面搜索的研究历史、现状、已取得的研究成果以及研究方法等。论述了该领域已解决的问题、尚存在的问题。综合分析了分面搜索以往研究的优点、不足和贡献,总结了分面搜索新的研究方向和趋势:以往的分面搜索是对结构化的数据进行检索,未来的研究可能对半结构化的XML文档进行分面检索,通过分面推荐有效提高信息检索的效率,改善用户体验。
[1] SACCO G M.Dynamic taxonomies and guided searches[J].Journal of the American Society for Information Science and Technology,2006,57(6):792 -797.
[2] SACCO G M.Analysis and validation of information access through mono,multidimensional and dynamic taxonomies[C].Germany Springer:FQAS 2006,LNAI 4027,2006:659 -670.
[3] SACCO G M.Uniform access to multimedia information bases through dynamic taxonomies[C].IEEE 6th Int.Symp.on MultimediaSoftwareEngineering,(ISMSE'04),2004:320-328.
[4] NIU Nan,ANAS M,YANG Xiaoyong.Faceted navigation for software exploration[C].19thIEEE International Conference on Program Comprehension,2011:200 -205.
[5] 陈波.基于开源全文检索系统Solr的OPAC分面浏览[J].应用实践,2007(11):72 -75.
[6] Geeknet Inc.MinGW - minimalist GNU for windows[EB/OL].(2009 -12 -31)[2011 -12 -20]http://sourceforge.net/projects/flamenco.
[7] Capitol Broadcasting Company,Inc.TRLN offers"search TRLN"[EB/OL].(2010-12-02)[2011-11-19]www.search.trln.edu.
[8] OREN E,DELBRU R,DECKER S.Extending faceted navigation for RDF data[C].ISWC 2006,LNCS 4273,2006:559 -572.
[9] 王莉,高仲利.基于分面导航理论的RDF数据的持久化研究[J].计算机工程与应用,2010,46(9):130 -133.
[10] JONATHAN K,ZHANG Yi,LIU Xue.Personalized interactive faceted search.[C].Beijing:IEEE 26thInternational Confrance,2008.
[11] S'EBASTIEN FERR'E.Agile browsing of a document collection with dynamic taxonomies[C].19th International Conference on Database and Expert Systems Application.DOI10.1109/DEXA,2008:377 -381.
[12] DANIEL T.Facetedsearch cynthesis lectures on information concepts[M].USA:Retrieval,and Services,2009.
[13] LEAVE C.Advanced filter caching in solr[EB/OL].(2011-09 -02)[2011 -12 -26]http://yonik.wordpress.com/2008/11/25/solr-faceted-search-performance-improvements.
[14] GIOVANNI M S,YANNIS T.Dynamic taxonomies and faceted search [M].USA:Theory,Practice,and Experience Press,2009.