王聪睿,张翠肖
(石家庄铁道大学 信息科学与技术学院,河北 石家庄 050043)
互联网含有丰富的信息,为了方便的获取共享信息,搜索引擎成为人们使用的主要工具之一。但由于网页站点每年都保持快速增长的趋势,庞大的互联网信息使得传统搜索引擎越来越难以满足人们的搜索要求,特别是特定的、专业的领域信息。这一困扰人们的问题,随着垂直搜索引擎的诞生而出现转机。相对于传统搜索引擎,垂直搜索引擎针对的是特定的、专业的领域,整合的最小信息单位由网页转变为结构化数据,在一定程度上提升了搜索的针对性、精准度。但目前垂直搜索引擎主要集中在关键词、统计、同义词方面。笔者从语义层面上建立本体知识树,构建了一个基于本体的垂直搜索引擎系统模型,将本体运用到语义表达上,使机器语言更加贴近自然语言,对用户的搜索请求更全面化、更准确。
本体原是古希腊哲学思想,用于描述现实世界的基本特征。目前,许多领域借助此哲学思想来解决知识概念和组织体系的有关问题。在这些应用领域中,本体被广泛使用的定义是:“本体是一套术语词表以及术语含义的规范说明”[1],即本体是一个形式化的知识体系,它将领域中的概念和属性规范化,术语间关系层次化,从而将该领域非常清晰地用一个知识本体库描述出来,并且,它所具备的推理功能使得概念关系通过表达语义,为机器对自然语言的理解和处理提供了帮助。
早期的搜索引擎使用目录查询,例如超级目录索引Yahoo,依靠分类目录实现了全面搜索,但由于人工工作繁重以及市场需求,其搜索功能弱化。后来出现自动处理软件后,才使得搜索自动化、便捷化,而自动处理软件使用什么样的技术,成为搜索引擎的主要指标之一。
传统的搜索引擎使用关键词技术,早期的垂直搜索引擎也主要依靠此技术,依靠关键词进行匹配实现网页搜集和检索。但用户在检索信息时,使用的是自然语言,而在自然语言中,同样的意思可以用不同的词语表达,从而导致了即使搜索范围扩大,网页搜集准确度和全面性还是低,再加上索引刷新更新不及时、按匹配出现的结果次序,使得搜索效果不理想、非人性化。这些问题造成了用户需要再次或多次进一步的筛选。为提高查准率,人们在吸取了经典搜索技术的基础上,提出了很多改进方式,主要分为以下几类。
(1)基于概念和超链接的检索
袁占亭设计的基于概念的检索系统,通过对用户的检索请求进行概念提取,来提高查全率[2]。Peters.Sybille利用超链接技术,在Spider中引入链接分析和锚文本分类,并将启发式分值计算引入预定义领域,提高了Spider的爬行效率[3]。
(2)引入自然语言技术
自然语言技术主要有邻近位信息引用、文本挖掘、同义词等技术,并在此基础上进行拓展和改进。罗立宏和陈志提出了一种“规则”的分析新概念,在让Spider支持同义词的语义词典的基础上,根据规则进行网页爬行和信息采集,并用项目实例证明了方法的可行性[4]。
(3)自动文本抽取技术
胡亮、袁芳、齐芸芸针对具体的农业领域,利用自动文本信息抽取技术,提出一种利用三元集描述的具有时间、空间属性的行业领域信息的表示和抽取模型,实验表明该模型具有很好的召回率和精度[5],农业产品对时间和地方特色要求高,因此在抽取时,网页时间、地区显得很重要,但对其他领域的抽取意义有可能不大。
在技术的运用上,基于关键词的垂直搜索引擎,例如计算机主机,可以称为:主机、CPU、中央处理器,而单一的关键词并不能将所有的相同意思的信息搜索出来。概念和超链接不能把专业领域信息完善表达出来,而本体能将概念及其关系清楚规范反映出来,并且其推理功能将人工语言和机器语言通过语义连接起来,提升了垂直搜索引擎的搜索能力。
通用搜索引擎和垂直搜索引擎呈现出父子关系,只是前者是面搜索,后者是点、线搜索,因此在资源、数据、技术和服务上有相似性,也有互异性。本文也借鉴了通用搜索引擎的搜索思想,并在此基础上进行改进。
垂直搜索引擎主要流程为:首先,在互联网中采集所需专业领域的网页信息;然后,按照该领域的要求统一对网页中各种格式的信息进行抽取,即web挖掘,将抽取到的结构信息进行归类,并建立索引;最后,用户的检索请求通过本体树进行检索后,返回给用户,从而完成了整个垂直搜索的流程。
根据以上流程,引入本体技术表达概念语义,构建了一种基于本体的垂直搜索引擎模型,主要分为三个模块:信息采集模块、信息抽取索引模块、信息检索模块,如图1所示。
信息采集模块利用Web Spider遍历网页链接地址,但抓取所有地址是难以实现的,所以如何抓取契合所需领域的网页,成为信息采集的关键。常用的Spider有Larbin、wget、Heritrix、NWebCrawler。NWebCrawler是一个基于C#的开源网络爬虫,界面友好、对一些线程可进行配置,并且具有较好的性能,便于开发和使用,因此Spider选取NWebCrawler。
信息采集的主要流程为:
首先,对NWebCrawler增加优先级机制,通过在NWebCrawler中增加时间属性的提取和主题相似度的算法,将该领域的时间段和主体相关度高的进行优先级划分,对特定时间段的和高优先级的主题进行优先爬行,从而提高Spider的爬行准确率。通过对专门领域建立基于语义的知识树本体,对原始术语及其同义词、近义词、逻辑词进行语义分层的同时,根据词频统计数据对语义设置热度值,根据热度值设置知识树的层次结构。结合优先级机制和知识树本体进行信息采集。
然后,对数据进行预处理。由于互联网网页格式的各异和爬虫陷阱的存在,Spider抓取下的网页往往带有无效链接和无关内容,需要对NWebCrawler采集的网页信息进行筛选和删除,从而增加网页准确率。例如在针对计算机专业知识抓取中,网页广告在预处理中进行删除。
由信息采集模块采集出来的网页包含了异构或半异构数据,对这些数据进行抽取、分类,才能为后面的信息检索提供索引表。
垂直搜索引擎的最小单位是数据,而上个模块采集的网页包含大量的异构和半异构数据,因此需要对其进行信息抽取得到数据,再将数据进行分类后得到索引表,才进行下一个检索模块。下面分别对信息抽取和索引进行描述。
图1 基于本体的垂直搜索引擎系统模型
(1)信息抽取的目的是挖掘网页的数据信息,即用户需要的有用信息数据,挖掘到数据和所需专业领域信息的匹配程度影响甚至决定了搜索成果。目前,信息抽取模型主要有基于词典、隐马尔科夫或规则的,又有层次结构、概念模型的方法。
本研究从两方面进行信息抽取:第一种信息是横向信息,即提取网页源代码的信息,充分利用网络源代码的信息,将源代码中的发布时间、地域等格式信息进行挖掘,例如在招聘信息中,存在的人数、工作地点、月薪、学历等,在房源信息中,信息发布时间、地点、价格、买卖或出租等。第二种信息是纵向信息,根据语义本体数据库中的同义词、逻辑词等对网页中的异构语义信息数据进行挖掘,并利用采集模块的“规则”进行限定。
(2)索引是信息抽取的数据存放的图书馆,本文的信息索引结合了细粒度文本分类的思想,增添和补充了中英文分词方法的同时,使用了更贴近用户的分类方法和索引表。
由于中英文构词法的不同,本文对中英文使用不同的分词方法。对英文主要使用使用语形和理解方法,语形方法使用字符串匹配,但单一的语形方法有时不能真实表达英文含义,例如industrial与industrious,相似度达到0.73,但意义上完全不同,再者,information和message作为“消息”时,意义相同,但其相似度为0,所以在语形的基础上,增加了理解的方法。传统的中文分词采用单字分词,但在分词结果上却产生不必要的浪费,并且对结果的搜索也有不利的影响。例如“毛泽东”,按单字分词的话,“毛”“泽”“东”,三个字将会被归于与“人物”几乎没有联系的类别。要将这种确定词汇准确表达出来的分词方法可以依靠词典进行,而“庖丁解牛”即是一种开源的基于词典的组件,按照输入文字的纹理进行切分,从而完成对中文词汇的分解。
经过分词的数据需要进行分类形成索引表,本文按照聚类算法和用户的需求进行分类。例如打印纸,属于产品的供应商的印刷品,却属于购货方的办公用品,这就决定了在信息的分类中,按照用户的需求来进行。最后构建的索引表,按照二维空间横纵向表达,通过表示时间等格式信息的横坐标和表示语义信息的非格式信息的纵坐标对索引信息进行聚焦。
在垂直搜索引擎中,用户能够直接接触到的模块就是信息检索部分,搜索的结果通过它展现出来。首先,用户通过发送检索请求,即原始表达,语义知识树本体对原始表达进行语义概念、语法结构的分析扩展,得出符合语法结构的语义概念集,然后,通过索引二维表进行横纵坐标指引出较精确的结构,并返回到检索界面,显示给用户。
分析了目前垂直搜索引擎的特点和不足,并将本体技术运用于语义,从语义层面上建立本体知识树,构建了一种基于本体的垂直搜索引擎模型,在抓取专业网页上提高了准确度,构建的二维索引表使用户的检索结果更有针对性,对以后的垂直搜索引擎研究有一定的参考借鉴作用。在后期的实现上,还可以定制用户个性化功能,适当增加用户兴趣度反馈来完善本体,从而增强检索效率和准确度。随着本体、语义技术的不断成熟,本体技术将被更好的应用。
[1]李景.本体理论在文献检索系统中的应用研究[M].北京:北京图书馆出版社,2005.
[2]袁占亭,张爱民,张秋余.基于概念的web信息检索[J].计算机工程与应用.2003,39(36):173-181.
[3]Peters.Sybille.A new approach towards vertical search engines:Intelligent focused crawling and multilingual semantic techniques[C].Proceedings of the 6th International Conference on Web Information Systems and Technology.2010:181-186.
[4]罗立宏,陈志.基于语义分析的垂直搜索网络蜘蛛[J].计算机工程与设计.2008,29(18):4662-4665,4812.
[5]胡亮,袁芳,齐芸芸.农业垂直搜索引擎信息抽取的研究[J].计算机工程与设计.2009,30(5):1115-1118,1134.