需求驱动的主题爬行技术研究,本文主要内容关键词为:技术研究论文,需求论文,主题论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 引言
主题爬行技术和主题爬行器是专门用于从互联网上大规模收集特定主题信息的技术和软件系统[1-3]。它是构成垂直搜索引擎或Web信息采集系统的关键技术和组件。主题爬行技术弥补了通用爬行技术缺乏针对性和专业性的缺点,在实际应用中与通用搜索引擎互为补充。
Soumen Chakrabrti等人将主题爬行的概念描述为稳定地搜集相关网络资源并能识别相关链接指导自己爬行的技术[1],其强调主题爬行的特性之一是面向“Web Content”,即面向网页内容的主题需求。但随着主题爬行应用范围的扩大,人们对主题的认识和需求范畴也不断扩展,从网页内容反映出的主题扩展到了一群网页的共同主题或特定类型网页的主题特征甚至是对多种主题含义的交叉需求,如搜集“人工智能领域的论文”、“体育类的专题频道”或“计算机领域的研究人员的个人网站”等。
因此对特定文档类型、特定网站的搜集也应属于主题爬行技术的范畴。与关注网页内容的主题特征不同,这两类主题爬行技术分别关注网页的类型特征、网站整体的主题特征。主题爬行技术以需求为驱动意味着某一类需求就代表了一类主题。而需求是多样的、具体的,表述也并不统一,本文将主题爬行技术按抽象后的需求进行了重新分类和定义并举例说明。
2 按需求分类的主题爬行技术
综合考虑主题的多样性,主题爬行需求可分为三类:面向内容的、面向类型的和面向网站的需求(见图1)。三类需求分别对应三种基本的主题爬行技术。
图1 三类独立的需求及可能的交叉情况
2.1 面向内容需求的主题爬行技术
2.1.1 定义 面向内容需求的主题爬行技术是以网页内容的主题相关性作为网页相关性判断依据的一类主题爬行技术。
2.1.2 特征 包括:①面向用户对网页内容的主题相关性需求,用户比较关注网页内容所属的学科领域;②一般采用关键词、分类体系,如分类法或开放目录体系(ODP)中的分类概念或本体中的实体作为主题建模的基础;③网页相关性的推理技术一般采用训练网页分类器的方法,综合利用网页内容特征、Web拓扑特征来计算网页相关度和未知链接访问优先级。
2.1.3 用途 面向内容需求的主题爬行技术通常用来搜集主题资源特别是学科资源,主要应用于各种门户、数字图书馆的主题资源自动构建。抓取的网页按一定分类体系来分类,如分类法、ODP或特定领域的本体等。目前它是用途最广的一类主题爬行技术。
2.1.4 典型案例
·按照一定分类体系抓取相关网页。Soumen Chakrabarti等人研发的Nalanda Focused Crawler,以LCC/LCSH(美国国会图书馆分类法/主题词表)作为分类依据。该系统已成功构建了加州大学的虚拟图书馆中的互联网学术资源,并作为美国NSDL进行资源收割的工具之一。目前该项目已发展为iVia and Data Fountains资源发现系统。针对不同主题需求,其包含了三个独立的主题爬行器:Expert(or Manually)Guided Crawler、Targeted Link Crawler和Nalanda iVia Focused Crawler,分别用来进行主题网站下载、采集相关网络文档并进行元数据抽取等。这种将多种爬行器捆绑在一起做法不仅增加了开发成本而且加大了用户负担。
德国卡尔斯鲁厄FZI研究所和卡尔斯鲁厄大学AIFB研究所的M.Ehrig[4]开发的基于本体的主题爬行器CATYRPEL在本体的指导下抓取相关网页并用于KAON本体系统的构建。
·限定在特定学科领域抓取相关网页。Chen Y在其博士论文[5]中设计了一个主题爬行器主要用于CITIDEL和NDLTD项目的计算机领域学术资源的搜集工作。作者提出的最主要的方法是将基因工程方法与元搜索技术相结合,将属于Globe算法的宽度优先与属于Local算法的最好优先算法相结合提高了召回率。该案例反应出在目标学科领域相对单一的情况下,作者重点解决爬行器的全局最优搜索算法。
·专门抓取特定语言的网页。Somboonviwat K等人[6]与Azimzadeh M等人[7]均提出一种专门抓取特定语言的主题爬行技术,分别抓取泰语和波斯语网页。网页相关或不相关主要取决于网页的语种是否是目标语种。利用html meta tags来判断语种是两者共用的方法。后者关注在html meta tags不出现的情况下采用基于内容中的特定词汇是否出现来作为判断语种的第二种方法。该组案例显示尽管其语种主题稍显宽泛但仍属于主题爬行技术而且属于面向内容需求的一类主题爬行技术,因为他们均利用网页内容特征作为相关性判断的依据。
2.2 面向类型需求的主题爬行技术
2.2.1 定义 面向类型需求的主题爬行技术是以网页的类型特征的相关性作为网页相关性判断依据的一类主题爬行技术。网页的类型不单是指文件编码类型如HTML、PDF或TXT等,而主要是指论文、产品、课件、新闻等关于Web文档性质或形式的分类。
2.2.2 特征 包括:①面向用户对特定文档类型的需求;②通常采用能反映文档类型特征的URL域、文档元数据、Email、机构及文档类型案例等作为主题建模的基础;③文档相关性的推理技术一般采用能反映上述文档类型特征的各种知识库交叉过滤的方法来判断文档的相关性和计算未知链接的优先级。
2.2.3 用途 面向类型需求的主题爬行技术通常为垂直搜索、在线学习或数字科研搜集特定类型的Web文档。
2.2.4 典型案例
·抓取多种目标类型文档。用于构建垂直搜索门户的Ahoy[8]和Case-based BDI Agent[9]等主题爬行器,专门搜集特定文档类型的Web资源,如特定领域的课件、学术论文、产品介绍、菜谱甚至是笑话。其主题爬行技术主要通过识别链接特征、文档类型特征等并辅以一定的案例库或采用CBR(Case-Based Reasoning)与BDI(Belief-Desire-Intention)的集成技术来帮助主题爬行器识别用户需要的文档类型。
·面向特定网站(或URL域)抓取某一类型的文档。Xiong Y等人[10]开发的主题爬行器专门为垂直搜索引擎OfCourse构建在线课程资源。它面向全美国大学抓取在线网络课程的首页面并按学科进行分类。作者提出Navigational Rank(NR)奖惩算法,奖赏指向高相关度的网页,惩罚指向低相关度的网页,工作效率达到遍历30%的网站就能采集90%的目标网页。
Markus Hanse等人[11]研发的爬行器Kairos,专门从学术会议网站抓取会议论文,并抽取其中的元数据。作者基于链接特征采用最大商(ME)分类算法构造了识别会议网站的分类器,事先使用WikiCFP和DBLP两个网站的会议举办数据进行了离线训练;对判断为会议网站中的PDF、PostScript或Word格式的论文,抽取标题、作者和论文链接地址。
该组案例中的爬行器受人为指定的URL域范围限制,都属于面向类型与面向网站需求交叉的主题爬行技术。
·面向一个或多个学科领域抓取学术论文。为在线教学等自动构建资源的主题爬行器Cora[12-13],其爬行需求定位于计算机领域内的学术论文,其既面向特定文档类型需求同时又面向特定主题内容需求。目前研究多集中在这类主题爬行技术,其根据网页的内容特征(标题、正文、锚文本、锚附近文本、URL本身中的关键词特征)和Web拓扑特征(出度、入度、Hubs或PageRank等)通过一定的机器学习方法预测未来链接的相关度。面向多个目标学科领域抓取学术论文的应用还包括:Eisevier的科学搜索引擎Scirus[14]和NEC研究院的计算机科学领域论文的搜索引擎CiteSeerX[15]等。
该组案例显示面向内容与面向类型的主题爬行需求常出现交叉。
2.3 面向网站需求的主题爬行技术
2.3.1 定义 面向网站需求的主题爬行技术是以网站的整体的主题相关性作为网页相关性判断依据的一类主题爬行技术。
2.3.2 特征 包括:①面向用户对特定网站的下载需求。面向网站的需求在实践中常表现为它与其他两类需求的交叉。对于面向内容与面向网站两种需求的交叉情况,如“搜集信息检索领域研究者的个人网站”等。对于这类交叉需求,用户关心的不是具体某个网页内容的相关度,而是网站整体的相关度。对于三类需求的交叉情况,如抓取特定网站下的特定类型的文档,除了要识别目标网站是否与主题相关外,还需要对网站下的网页进行进一步判断,抓取其中特定类型的Web文档。②一般采用锚文本、URL中的关键词、URL中的域名地址、网站或栏目首页的内容特征作为主题建模的基础。③网站或栏目的主题相关性的推理技术一般采用链接相关度算法。
2.3.3 用途 面向网站需求的主题爬行技术重点应用于网络存档、数字资产保存或社会化媒体共享网站的搜集等。
2.3.4 典型案例
·针对数字保存项目专门抓取其中发生相对重要变化的网页。Saad M.B.等人[16]为法国国家视听研究所的数字保存项目设计了依急需程度来优先爬取相关网页的方法。利用网页中内容位置的变化来判断网页变化的重要性。利用网页布局中不同块的重要性以及变化的重要性如更新、插入或删除之间的重要性差别来决定优先抓取那些发生了重要性变化的网页。
·识别特定主题的网站或栏目进行直接复制。Internet Archive和IIPC(国际互联网保存联盟)研发的开源主题爬行器Heritrix[17]。Heritrix用于专门搜集特定学科领域的网站。该技术只关注链接的相关度判断,采集到的网页进行直接复制。这类主题爬行器还包括:HTTrack[18]和Web Curator Tool(WCT)[19]等。
·面向某一类网站抓取其中某种主题的网页。微软Lire实验室的Matthew Hurst等人[20]提出的博客爬行器专门抓取博客内的最新博文,用于新闻门户建设。作者采用基于规则的和基于内容的分类器来识别正确的博客网站。基于社会化媒体的特殊性,作者重点解决了大规模访问、快速更新、礼貌存取、Feed变化和Feed抽取等问题。Zhang Zhi-Yong等人[21]设计的基于用户档案的爬行器专门搜集社会化媒体共享网站如Flickr和YouTube中的视频或图片媒体资源并按一定的主题归类。作者利用链接特征识别出list、detail和profile网页后基于贝叶斯分类器对profile网页进行主题判断。该组案例属于面向网站与面向类型需求的交叉或是面向网站与面向内容需求的交叉情况,所采用的主题爬行技术并未将三类技术相结合而是先人为遴选目标网站再后续实施网页分类算法。
3 需求驱动的组合爬行技术
三种主题爬行技术分别代表了目前主题爬行技术领域的三类基本需求。但在实际应用中可能是独立需求也可能是多种需求的交叉即复合需求。面对多种需求的交叉情况,目前的主题爬行技术单一性和不灵活的问题较突出,在实践中反映出的两个突出问题:①如何满足主题爬行需求的多样性;②如何解决搜索算法的单一性和不灵活问题。为此笔者提出一种将各需求统一在一个框架内进行综合考虑的解决方案。本文称之为“需求驱动的组合爬行技术”,即Demands-Driven Combined Focused Crawling,简称DDCFC。所谓需求驱动的组合爬行技术就是面向多个应用领域,面对多学科网络资源,强调在多种需求的推动下,通过多个爬行策略的组合、多个网页相关度算法的择优,更加准确地抓取相关网页的一类主题爬行技术。从三类主题爬行技术各自的特征可知它们使用的爬行策略或搜索算法各不相同,如何在一个主题爬行器中集成多个算法满足多种需求,这是DDCFC面临的难点和重点问题。DDCFC的基本思想就是将独立需求也看作复合需求来对待,在算法上统一采用多算法组合策略来处理。DDCFC的“需求——算法”逻辑关系架构,如图2所示:
图2 DDCFC的需求与算法对应关系架构
图2中对于复合需求划分出4种情况:①内容+类型需求;②内容+网站需求;③类型+网站需求;④内容+类型+网站需求。
对于独立需求划分出两种情况:①面向内容的需求;②面向类型的需求。
复合需求和面向内容的需求是目前应用最广的两类。图2中单独有关网站主题的需求没有出现,是因为网站主题在实践中一般转化为内容与网站或类型与网站的需求交叉情况。例如,我们一般不会无目的地搜集某些网站或栏目,而是搜集某些学科领域的网站、专题栏目或者是搜集特定网站内的特定类型的文档等。
在DDCFC中集成上述6类爬行需求的解决方案也许会显得杂乱不堪,因此DDCFC重点解决最复杂的一类需求即三类需求的交叉情况。在实践中多数独立需求都隐性包含另外两类需求,因此独立需求也可当作复合需求来处理。三类需求交叉在一起的主题表示、搜索算法、网页分类或网站分类问题都是DDCFC一体化技术架构有待解决的问题。
4 结语
本文对多种主题爬行需求及其关联技术进行了梳理和分类,将它们统一在一个技术框架下,提出DDCFC的概念和基本逻辑结构。组合的含义并不是多种爬行策略或搜索算法的简单捆绑,而是面向多种需求的统一方案。DDCFC将各种主题爬行需求与技术统一起来,放在一个技术框架内综合考虑,其目的就在于指导实践层面上的组合爬行策略的设计,使之具有较强的扩展性和较广泛的需求适应能力。
收稿日期:2011-02-13 修回日期:201-03-18