吴晨生 刘彦君 张鲁冀 董晓晴
(北京市科学技术情报所,北京,100876)
摘要:本文综合应用主题搜索技术和深网信息集成技术,设计并实现了一个基于科普领域的主题深度搜索引擎。文中介绍了系统的体系结构、主题信息采集策略以及所使用的关键技术,并通过实验验证了网页分类器的高准确性,最后设计实验验证系统搜索效果并对相关工作进行了比较分析。
关键词:深网主题搜索引擎主题分类机器人网页分类器
一、引言
目前,针对某一领域的主题搜索引擎的研究已成为研究热点之一,超过50%的深网内容是特定于某个领域的,即面向某个领域,针对基于领域的深网信息集成技术的研究也成为当今信息检索领域研究的一个热点。本文所描述的科普深度搜索引擎正是上述两种技术结合于科普领域的产物。
二、系统结构
本文在传统的主题搜索引擎体系结构的基础上,加入了深网信息集成方案,研究并利用科普领域知识的特征,设计出科普深度搜索引擎的结构。
现对主要部分做简要说明:
(1)主题分类机器人:完成从web中采集科普领域信息并入库的工作;
(2)深网信息集成:协调调用相应机器人完成对指定深网网站的实时检索功能并将合并结果返回;
(3)索引器:完成对库中科普领域数据创建索引文件的工作;
(4)查询器:根据用户输入的查询条件查询索引文件并返回查询结果;
(5)用户接口:为用户提供综合的查询接口。
三、主题信息采集策略
本文研究分析了科普领域信息的特征,并根据这些特征,有针对性地设计主题信息采集策略。
1.科普领域信息特征分析
通过研究观察发现,科普领域信息在网络分布上和覆盖范围上有以下特征:
(1)网络分布上:科普领域信息多以块状分布于整个web中,其中每一个块多以独立的网站形式存在,少数块存在于大型网站的二级结构中,更少数的科普信息散落地存在于网络中。
(2)覆盖范围上:相较于其他主题信息如林业、农业以及医学等,科普领域信息覆盖范围较大,如天文、地理、生物、历史考古、IT等均属于科普领域。
针对上述特征分析,得出如下分析结果:
①科普领域信息的块状分布有利于我们对大部分信息的集中采集,目标是找到尽可能多的块,放弃少数散落的科普信息,这是对科普信息高效采集的一种考虑。
②基于领域的深网信息集成技术是科普领域信息搜索的可行思路。
③由于科普领域覆盖范围较宽,我们将科普主题进行了分解,将其分为天文主题、地理主题、生物主题、考古主题以及综合主题,分别提取各子类主题特征,综合所有细分主题的特征作为科普主题判断依据。
2.数据采集策略设计
根据上述分析,我们设计出两种科普数据采集方案:人工干预策略与先采集后过滤策略相结合的主题爬虫采集策略;科普领域深网信息集成方案。
(1)主题爬虫采集策略能够高效完成对大量科普领域信息的采集。策略描述如下:
①收集科普主题网站作为主题机器人爬行的种子urls并入库保存;
②机器人从库中读取一个url;
③机器人以读取到的url为起始链接,以宽度优先策略进行遍历;
遍历过程遵循规则:若待爬url为种子url域名内链接,则直接抓取此页面;否则,用网页分类器对此url页面进行分类过滤,若属于科普领域页面则抓取,否则放弃此url。
④循环上述②、③步骤。
(2)科普领域深网信息集成方案描述:首先,有针对性地选择查询效果好的科普网站,分别制作表单查询机器人;其次,设计调度机制。根据用户选择调用相应的表单查询机器人,由其填写表单进行实时深网信息采集。
四、关键技术
科普深度搜素引擎所使用的关键技术有主题爬虫技术、深网信息集成技术以及基于Lucene的索引机制,下面对这些技术进行详细分析。
1.主题分类机器人
科普深度搜索引擎的主题分类机器人通过站内网页判断和科普网页分类两种方式对网络信息进行过滤抓取,有较高的分类准确率和采集效率。
(1)机器人架构
机器人的制作基于工作流/组件技术的网页信息抽取系统VWIE来完成。利用VWIE的组件可扩展性,我们为其添加了分类器组件以及域名判断组件,用以实现具有页面过滤和站内页面判断功能的主题分类机器人的制作。
(2)分类器核心算法
SVM分类算法是目前分类效果非常好的一种文本分类算法,故本文系统分类器采用SVM分类算法。支持向量机理论(SVM)最初来源于数据分类问题的处理,简单地说,SVM就是要寻找一个满足要求的分割平面,使训练集中的点距离该平面尽可能地远,即寻求一个分割平面使其两侧的margin尽可能最大。一般分为线性可分和线性不可分两种情况讨论:
给定一组训练样本集(x1,y1),(x2,y2),…,(xi,yi),其中xi∈RN为N维向量,yi∈{-1,1}。
(3)分类器准确率实验
①分类训练样本设置
训练样本分为科普和非科普两类,我们对这两类进行了细分,尽可能多地将其划分为小类。
②实验结果
我们人工从目录网站及Google上共搜集到349个科普网站,随机从中选择50篇网页作为科普类网页,从新浪博客中人工选取50篇网页作为非科普类网页作实验数据。
实验结果表明:SVM分类器用于科普主题分类有较高的准确性。
2.深网信息集成
根据用户的选择协调调用相应机器人、机器人对用户选择的深网网站进行实时检索,最后合并机器人查询结果返回给用户接口。
(1)技术基础
系统深网信息集成的技术基础是基于网页结构分析的表单填写技术。
(2)集成框架
3.基于Lucene的检索机制
系统信息检索部分使用Lucene实现索引器和查询器功能,但Lucene中文分词并不十分理想,因此利用Lucene的可扩展性我们使用现在较为流行的开源中文分词庖丁解牛技术代替原有的分词。替换后效果明显,很大程度上优化了索引质量和查询效果。
索引器主要完成将切词形成的顺排档文档组织成倒排档索引数据。索引的建立即索引器的实现,主要分两步:首先构造一个Document的文档对象doc,其中包括描述数据域和正文数据域,这是因为只有符合Lucene.Document要求的文档才能使用Lucene对其建立索引。