面向教育主题的垂直搜索引擎的设计与实现

2013-08-08 09:52:48王树文1郑阔实2陈竟博3
长春师范大学学报 2013年4期
关键词:搜索引擎网页页面

王树文1,郑阔实2,陈竟博3

(1.吉林省计算中心,吉林长春 130012;2.中共吉林省委党校(吉林省行政学院),吉林长春 130012;3.吉林大学计算机科学与技术学院,吉林长春 130012)

随着互联网技术的快速发展和网络信息量的爆炸式增长,如何快速、有效、准确地从海量信息中获取所需的有价值的信息,越来越受到人们的关注。通用搜索引擎在信息采集、存储等方面都面临着很大的挑战。通用搜索引擎试图返回面向所有用户的查询结果,使得其搜索到的信息量过大、查准率低、深度不够,不能满足针对某一特定领域精确搜索的要求。在这样的背景下,垂直搜索引擎应运而生。它是一种与通用搜索引擎截然不同的搜索模式,是专门针对某一领域的专业搜索引擎。其特点就是专、精、深,具有行业色彩,是通用搜索引擎的细分和延伸[1]。

在教育资源数字化、网络化的趋势下,互联网上产生了大量分布广泛、不同格式的教育资源,专门针对教育领域的数字化教育资源搜索成为垂直搜索引擎的重要应用之一,其可以为人们提供大量有价值的绿色教育信息,比如数字图书搜索、教育视频搜索、考试信息搜索、名师介绍搜索等。本文设计的面向教育领域的垂直搜索引擎系统在通用搜索引擎的技术基础上,采用了面向教育主题网络蜘蛛选择性的收集仅包含教育主题相关信息的网页,建立面向教育主题的网页数据库,并把网页中非结构化信息提取、转化为结构化数据,建立索引数据库。最后以检索的方式同用户进行信息交互,为用户提供面向教育主题的垂直搜索服务。

通用搜索引擎系统主要由采集器、索引器、检索器、相关数据库及用户接口等部分组成[2],而本文设计的面向教育主题的垂直搜索引擎为了实现查询结果与教育主题相关,还需要增加面向主题的特征词数据库及主题相关性计算器,用于判断爬取的网页信息是否与主题相关。

1 垂直搜索引擎的体系结构设计

面向教育主题的垂直搜索引擎系统主要包含信息采集模块与主题识别模块、信息抽取与索引模块、用户接口与信息检索模块三部分,总体结构设计如图1所示。

图1 面向教育主题垂直搜索引擎总体结构设计图

1.1 教育主题信息采集与主题识别模块

在信息采集模块中,运用面向教育主题的网络蜘蛛对教育主题相关信息进行抓取,这是搜索引擎的第一个步骤。从某一个具有主题意义的种子URL开始,按照深度优先算法,采用多线程并行抓取方式自动在互联网上搜索爬行。遍历教育领域的门户网站,抓取与教育主题相关的网页,采集网页信息,抽取并压缩网页内容存入原始数据库中,然后跳转到网页中链接指向的其他网页,直至遍历整个网络。

在此过程中,运用主题识别算法对网络蜘蛛所采集的页面进行主题相关性判断,根据计算得到的相关度结果,对采集到的网页进行取舍,将相关度大于预先设定的阈值的网页保存到面向主题网页数据库中,舍弃与主题不相关的网页。这垂直搜索引擎的核心部分,可以控制信息采集的规模,保证采集到的信息的专业性,提高搜索的准确性。

1.2 信息抽取与索引模块

信息抽取与索引模块对存储于面向主题数据库中的大量结构和非结构化的数据进行抽取,将网页主题块中特定的结构化信息抽取出来。并进行过滤、分词等预处理操作,构造索引,计算词的权值按检索结果合理排序,并存入索引数据库中。

1.3 用户接口与信息检索模块

用户接口与信息检索模块是接受用户输入查询请求并将查询结果反馈给用户的接口界面。模块首先对用户输入的搜索关键字、排序方式进行分词等信息分析处理,然后在索引数据库中查找到包含搜索关键词的文本记录,并根据相关度评价和用户需要将记录排序,最后以超级链接的形式将提取网页的摘要信息反馈给用户。

2 面向主题的垂直搜索引擎关键技术

2.1 面向教育主题的网络蜘蛛设计

为了尽可能多地实现对教育主题相关网页信息的自动获取,本文在通用搜索引擎的基础上设计了一个面向教育主题的网络蜘蛛系统模型,它是面向教育主题垂直搜索引擎系统的核心部分[3]。面向教育主题网络蜘蛛系统模型主要由信息采集模块、页面解析与过滤模块、主题相关性计算器、链接剪枝控制器4部分构成。页面采集模块主要负责从初始URL队列出发,通过HTTP协议请求并下载web页面,采集URL指向的页面信息,送入页面解析与过滤模块中。本文采用了多线程并发技术,大大提高了页面采集效率[4]。页面解析与过滤对下载到原始数据库中的页面信息进行消重处理,解析web页面,提取例如链接文本、结构信息、链接URL地址等数据。主题相关性计算器主要是对网址解析与过滤模块中提取的网页内容文本进行主题相关性判定,将主题相关度大于预先设定阈值的网页保存在面向主题数据库中,过滤掉与主题相关度较低或不相关的页面,从而保证网络所采集页面的主题的相关性与专业性。链接剪枝控制器的任务是从与经过过滤后得到的主题相关的页面中抽取出链接URL,并采用主题相关计算方法对URL进行筛选,将有价值的URL暂存在待搜索URL队列中,按照主题相关度大小进行排序,相关度越高的越先被访问。

面向教育主题的网络蜘蛛工作流程如图2所示。面向教育主题的网络蜘蛛首先依次从人工预设的种子URL队列中取出以获取URL,访问该URL指向的网页并解析其内容,使用主题相关性计算方法计算页面及页面内URL链接的主题相关度,将与主题相关的网页信息存入面向主题网页数据库中,将页面中与主题相关的URL加入待搜索URL队列中。不断从待搜索URL队列中取出URL进行访问,这样迭代访问web,直到遍历整个web或满足某一条件为止。

图2 面向教育主题的网络蜘蛛设计模型图

2.2 向量空间模型

本文采用了计算页面主题相关度时使用较多、效果较好的数学模型VSM(veclor space modle)[5],对网页内容与主题的相关程度进行评价,保留与主题相关度大于设定阈值的页面,过滤掉与主题相关度较低或不相关的页面,以提高采集页面的准确性。

在VSM中,将网页看成由相互独立的词条组成,将教育领域主题词库看作一个n维向量(c1,c2,…,cn),n为教育领域主题词库中关键词的个数,页面Pi可以表示成一个一维向量P=(w1c1,w2c2,…,wncn)。其中,wi为评价教育领域主题词库中关键词ci在页面P中重要程度的权值。若关键词ci未在页面P中出现,则权值wi值为0。本文中权值wi采用传统的TF-IDF算法计算,其计算公式为:

其中,cFi为关键词cj在页面Pi中出现的频率,由于关键词在页面中出现的位置不同,重要程度也不同,所以cj在页面Pi中出现的频率cFi应该由在标题和正文出现次数加权求和来计算。

这样,页面与主题相关度问题就转化为向量空间的矢量匹配问题,可利用向量空间中向量间夹角的余弦值来度量目标网页与主题的相关度,向量间夹角的余弦值越小则两者相似度越高,算法流程如下。

(i)在初始种子集合的URL指向页面中提取关键词并加权,得到关于教育主题的特征向量及向量权值。

(ii)分别对目标网页的标题和正文内容进行分词、筛选并合并关键词,得到目标网页关于教育主题的特征向量,根据关键词在文章中出现的位置和频率计算其权重。(iii)根据公式(3)计算目标网页与主题的相关度值。

其中wic为关键词ci在主题词向量中C的权重。

(iv)将计算得到的目标网页的相关度与阈值s进行比较,若相关度大于阈值,则将目标网页存于面向主题网页数据库中,否则,忽略此页面。

2.3 基于Lucene索引的创建

垂直搜索引擎在同一时间会接受大量的用户的查询请求,这就要求索引模块完成大量的运算操作,以提高检索模块的工作效率。Lucene是用JAVA实现的开放源代码的全文检索引擎工具包,是一个高性能、可伸缩的信息搜索库[7],本文正是基于Lucene技术建立索引,其工作方式如图3所示。

图3 索引建立流程图

索引网页库存储链接与其指向网页的映射。文本解析器用来分析和处理不同格式的文档,提取正文信息、过滤垃圾信息、中文分词切分索引项等操作,形成统一格式的文档,存储于文本中间格式数据库中。由于中文构词方式的差异,需要对中文网页进行分词,以便建立索引文件。本文采用双向哈希索引词典,对数据库中中文网页进行分词处理。文本中间格式数据库存储经文本解析器提取、过滤、分词等操作的数据,数据格式为纯文本格式,为索引器提供可分析数据。索引器是垂直搜索引擎中用来分析处理文本中间格式数据库中的非结构化文档信息、建立索引的程序,主要任务是按照预设的索引项建立索引列表、更改索引字典。文本索引库中存储以索引形式组织存放的文档信息数据文件,一般的数据库系统不能同时满足大量用户的查询请求,所以在本系统中采用了倒排索引技术。创建倒排索引包括建立正向索引、创建反向索引、归并索引等操作。将存放词和编码意义映射关系存储于索引字典中。

2.4 检索与用户接口模块

面向教育主题的垂直搜索引擎通过检索模块实现与用户的交互,系统对通过接口输入的查询短语进行分词等操作,将它传送至检索器,检索器根据查询项在索引文件上查找,按照与查询项相关程度排序,并将结果通过用户接口呈献给用户。其主要流程如下:

(1)通过用户接口接受用户的查询项,并对其进行分析、分词等处理。

(2)搜素包含关键词的网页,过滤掉与查询项不相关的网页。

(3)按照与查询项相关度大小对匹配的网页排序,以链接形式呈现给用户。

3 系统实现

本文采用Java开发的开源的主题网络蜘蛛从吉林省内各中小学校、培训机构网站上爬取与教育主题相关的信息资源,利用主题相关度算法判断爬取到的信息的主题相关性,后对信息进行分析和提取、运用、扩展,并成功应用luene极其相关技术,构建了检索结果比较精准的面向教育主题的垂直搜索引擎系统,为人们提供了大量的绿色教育资源,极大地方便了人们的日常生活。

4 结论

本文详细描述了面向教育主题的垂直搜索引擎系统的总体设计,从教育领域信息搜索的实际出发,着重研究了主题网络蜘蛛、向量空间模型、倒排索引建立等关键技术,并给出了具体的实现细节。在此基础上,开发了一个面向教育主题的垂直搜索引擎,该系统能够有效地采集分散的教育主题相关网页,形成面向教育主题网页数据库,快速地响应用户的查询请求,准确地返回相关度较高的网页,实现了教育资源的共享,具有较高的社会价值。

[1]刘畅.综合搜索引擎与垂直搜索引擎的比较[J].情报科学,2007,25(1):97-102.

[2]闫俊英.垂直搜索引擎的研究与实现[D].哈尔滨:哈尔滨工业大学,2004.

[3]张博,蔡皖东.面向主题的网络蜘蛛技术研究与系统实现[J].微电子学与计算机,2009,26(5):52-55.

[4]彭涛.面向专业搜索引擎的主题爬行技术研究[D].长春:吉林大学,2007.

[5]张昌年.一种基于VSM的检测相似重复记录的方法[J].微电子学与计算机,2008(8):184-187.

[6]朱学昊,王儒敬,余锋林,等.基于Lucene的站内搜索设计与实现[J].计算机应用与软件,2008,25(10):6-8.

猜你喜欢
搜索引擎网页页面
大狗熊在睡觉
刷新生活的页面
保健医苑(2022年1期)2022-08-30 08:39:14
基于CSS的网页导航栏的设计
电子制作(2018年10期)2018-08-04 03:24:38
基于URL和网页类型的网页信息采集研究
电子制作(2017年2期)2017-05-17 03:54:56
网页制作在英语教学中的应用
电子测试(2015年18期)2016-01-14 01:22:58
网络搜索引擎亟待规范
中国卫生(2015年12期)2015-11-10 05:13:38
基于Nutch的医疗搜索引擎的研究与开发
10个必知的网页设计术语
广告主与搜索引擎的双向博弈分析
同一Word文档 纵横页面并存