主题爬虫在数字图书馆中的应用,本文主要内容关键词为:爬虫论文,数字图书馆论文,主题论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
随着互联网的不断发展,网络规模和信息容量成几何级增长,目前互联网已经成为最大的数字资源库,但其中的信息都是未加工和处理的非结构化信息。同时,数字图书馆也蓬勃发展,相比较于网络资源,数字图书馆中的信息量是微小的,但其信息都是经过组织的结构化信息。因此如何将巨量的网络信息和数字图书馆中的高质量数字资源相结合是一个重要的研究领域。高质量的数字资源可以从网络中引导出大量的相关信息,一个简单的方法是采用关键词在搜索引擎(如:google,百度)中搜索相关信息。然而基于关键词的检索,难以支持根据语义信息提出的查询,所返回的结果中包含大量用户不关心的网页。
为了克服传统的基于关键词搜索的局限,我们可以采用机器学习中的聚类思想,将具有共同主题的网页都关联到一个文档或文档集中,比较流行的是主题爬虫技术[1] [2]。通常情况下,爬虫是一个检索网页的程序,为搜索引擎构建知识库。主题爬虫还能够根据特定的目标(主题),进行有选择的获取所需要的信息。主题爬虫算法加载网页并抽取它的链接,通过关键字计算链接权重,确定下一步的检索。通过主题爬虫技术可以利用网络资源扩展数字图书馆,以数字图书馆中的结构化信息为中心,关联互联网中的相关信息。
1 主题爬虫技术概述
网络爬虫是一个功能很强的程序,它会定期根据预先设定的地址去查看对应的网页,如网页发生变化则重新获取该网页,否则根据该网页中的链接继续去访问。网络爬虫访问页面的过程是对互联网上信息遍历的过程。为了保证网络爬虫遍历信息的广度,一般事先设定一些重要的链接、然后对这些链接进行遍历。在遍历过程中不断记录网页中的链接,不断遍历下去,直到访问完所有的链接。一个简单的爬虫工作过程如下:首先,爬虫从初始页面P0的URL开始,检索页面P0并抽取页面中的所有URLs,将它们添加到URLs队列中。然后,爬虫按某种次序从队列中获得URLs,重复以上过程。在设计爬虫时要考虑很多方面,最重要的是网络爬虫如何选择下载重要的网页,而不是下载所有网页。因此,在队列中区分URLs的先后次序很重要。在这方面国内外研究人员已经做了很多工作。最著名的是PageRank算法[3],该算法已经成功应用于Google搜索引擎中。另外一个基于链接分析的算法是由Kleinberg提出的HITS算法[4]。
相对于通用网络爬虫,主题爬虫还需要解决三个主要问题[5]:①对抓取目标的描述或定义;②对网页或数据的分析与过滤;③对URL的搜索策略。
抓取目标的描述和定义是确定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在,同时这两个部分的算法又是紧密相关的。
2 基于本体的主题爬虫技术
由于传统的基于链接分析方法,缺乏语义分析,因此,我们通过结合网页的链接结构和它的语义性,采用一种基于本体的对URL队列排序,指导爬虫搜索的新方法。
2.1 本体模型
本体(Ontology)定义了用于描述和表示领域知识的术语,它用于人、数据库和应用之间共享信息[6],加强人与计算机的相互协作,自提出以来就引起了国内外众多研究人员的关注,并已经在计算机的许多领域得到了广泛应用,如知识工程,数字图书馆,软件复用,信息检索和异构信息处理,语义网等。在计算机领域,对本体的一个最为流行的定义是:本体是关于领域概念模型的明确的共享形式化说明。在此可以将本体定义为一个六元组O={C,A[C],R,A[R],H,X}。其中C表示概念的集合。A[C]表示多个属性集合组成的集合,其中每个属性集合对应于一个概念。R是一个关系集合。A[R]是由多个属性集合组成的集合,其中每个属性集合对应于R中的一个关系。H表示概念之间的层次结构关系,X表示公理集合。
本体的目标是获取,描述和表示相关领域的知识,提供对该领域知识的共同理解,确定该领域内共同认可的词汇,并从不同层次的形式化模式上给出这些术语和术语间相互关系的明确定义[7]。在语义网中,本体是一个核心元素,它可以用来结构化信息,帮助用户和计算机访问所需要的信息,相互之间密切合作。因此,本体在网络内容访问,交互和通信中扮演了至关重要的角色,将本体思想应用到主题爬虫技术中能够大大提高网页抓取的准确率。
2.2 基于本体的主题爬虫的实现
基于本体的主题爬虫由两部分组成:本体系统和网页抓取系统。本体系统主要由知识工程师驱动,他用一个初始本体定义抓取目标。作为抓取处理结果,该阶段为用户提供一个文档列表,并建议用户增加已经存在的本体。网页抓取系统主要由主题爬虫组成,它们自动抓取和检索网页,接着连接到本体,来确定网页的相关度。通过网页相关度计算为用户选择相关文档,为相关文档和网页上提供的元数据的进一步搜索确定链接。该框架可以分为5个模块,分别是:用户交互模块;本体管理模块;网页抓取模块;预处理模块和网页相关度计算模块,总体框架结构如图1所示。
图1:基于本体的主题爬虫结构
(1)用户交互模块。知识工程师为抓取处理提供输入:初始本体,它是爬虫依赖的背景知识。通常,本体早就存在于知识管理系统的结构中。如果有特殊的抓取需求,用户可以调整相关度计算策略。用户必须定义一组初始URLs。用户还需要处理不同的抓取结果:文档列表和出现频率高的词项和词项间的关系,用户应当将这些术语添加到他们的本体中。
(2)网页抓取模块。主题爬虫由给定的一个链接集开始。按照链接的权重次序进行检索。这些网页被传递到预处理模块。为了确保检索的平滑,采用了链接缓冲,多个并行检索线程和网页缓冲技术。由于重定向链接和镜像站点的存在,必须核查链接和文档,以防止抓取重复的网页。
(3)预处理模块。预处理可以分为几个步骤。浅层文本预处理技术用于规格化文本。在我们当前的实现中采用了著名的porter stemming算法。该体系结构的模块方法也允许用户使用更成熟的语言学处理技术,如ICTCLAS(用于处理中文),GATE(用于处理英文),SMES(用于处理德文)等。
(4)本体管理模块。主题爬虫通过提供的背景知识聚焦搜索网页。我们通过提供图形方法和一致性检验技术,支持用户进行本体工程化。
(5)网页相关度计算模块。该模块是整个方法的核心元素。通常,网页相关度是用来匹配网页文档的内容与存在的本体,来获得一个总相似度值,我们采用在自然语言处理领域常用的余弦算法(向量空间算法)进行相似度测量:
3 主题爬虫在数字图书馆中的应用
主题爬虫的目标是从网络中抽取高质量文档(数字图书馆内的资源)的相关信息,对数字图书馆进行补充,方便用户在阅读数字图书馆中的文档时,能了解与该文档相关的其它信息,即增强了数字图书馆的主动推荐和关联功能。图2描述了主题爬虫在数字图书馆中的通用应用模型。
(1)从数字图书馆中选择感兴趣的文档或文档集。
(2)对文档或文档集进行解析和抽取,抽取信息包括:标题,作者姓名,联系方式,摘要,关键词和参考文献等,并将这些信息作为文档或文档集的特征项。如果有多个文档,则可以利用这些信息关联不同的文档,发现共同的或交叉的特征项。比如:我们可以识别经常使用的词或短语,或者经常被引用的参考文献。本研究中我们只实现从单一文档中抽取特征项。
(3)利用解析得到的信息在搜索引擎上查询。比如,可以分别使用标题和作者姓名在搜索引擎上查询,将搜索引擎返回的前几个结果作为希望得到的正例信息(可以通过过滤步骤,去除错误实例)。
(4)在搜索引擎返回的正例中自动构建本体。在本体构建和获取方面,目前存在的绝大多数本体都是手工生成的,该方法费时费力还容易出错,更难以维护和更新。因此,我们采用本体学习(Ontology Learning)这一涉及人工智能中信息获取、机器学习、自然语言处理等多领域交叉的技术,它旨在开发能够实现本体自动构建的机器学习技术来协助知识工程师来构建本体,从而减少本体知识获取过程的成本,在本研究中我们设计了一种面向网络资源的本体自动构建方法,通过对网络上各领域Web语料文档库进行挖掘来实现本体学习,包括如下过程:文档和语料库预处理、抽取候选概念、术语选择、语义关系抽取、分类体系构建、本体构建和本体剪枝。其主要目标包括:从Web文档中自动获取领域术语及其相互关系;采用机器学习方法来确定概念对之间的语义关系,在获取的概念及其语义关系的基础上,构建本体。
(5)利用学习到的本体指导主题爬虫,由于本体是一个形式化的共享概念模型,本体中的事实是机器可读的,同时本体包含的是领域中一致公认的知识,因此本体为主题爬虫提供了明确的搜索主题和背景知识,能有效提高网页抓取的准确率和召回率。
(6)当主题爬虫搜集好网页后,通过词汇分析(如:文本过滤,文本聚类等)和链接分析(包括发现链接中心及权威度等)挖掘其中蕴含的结构化关联信息,如:潜在的网络社区及它们的描述等。最终的分析结果以交互式的图表方式显示,其中描述了通过主题爬虫发现的各种相关群体(潜在社区),以及它们的权威度等。
图2:主题爬虫在数字图书馆中的应用
4 实验及评价
通过具体实验可以显示主题爬虫在数字图书馆实际应用中的性能,我们首先从中国知网(http://www.cnki.net/)中随机下载了100篇pdf格式的论文。通过解析下载的论文,从中抽取一些元数据信息,如:标题,作者姓名,联系方式,摘要,关键词和参考文献等,在本实验中我们主要使用论文标题和参考文献的标题。对于每一篇论文,我们都使用其标题和参考文献中的标题,调用Google应用程序接口进行搜索,并将前10条返回结果作为正例。接着从正例中自动构建本体,并利用本体来指导主题爬虫按宽度优先策略进行搜索。
对于实验结果的评价,我们使用的是收获率测度(harvest rate)[8]:hr=#r/#p,hr∈[0,1],其中#r表示满意的网页,#p表示检索的网页。收获率越高越好,否则主题爬虫花费大量时间仅仅是过滤了不相关网页。在该评价中,如果论文对应的网页中包含该论文中的关键词或主题词,则我们认为该网页是“满意的网页”,最后我们得到的收获率值为53.7%,该结果表明基于本体的主题爬虫在数字图书馆中是有实用价值的,但还需进一步提高性能。
标签:数字图书馆论文;