天网中英文搜索引擎
技术报告
国际互连网(Internet)这一个全球性的计算机网络在九十年代得到了迅速的发展,连入的主机数以几乎每年翻一翻的速度增长,并已将它的影响扩大到信息化社会的各个角落。Internet上丰富的信息资源和便捷的通信手段是其吸引用户的主要因素。WWW(World Wide Web)是目前Internet上使用最广泛的信息服务之一。它利用超文本制标语言HTML(Hypertext Markup Language)描述超文本和超媒体信息,将分布在网络中各个节点上的文字、声音、图形、图象、视频等多媒体信息有机地联系和组织起来,用户可用友好、方便、多样的界面存取信息,因而在Internet上得到了迅速的发展,已成为人们发布和共享信息的重要工具。除此之外,Internet上还提供News, Email, Ftp, Telnet, Gopher等多种服务。
WWW信息量的增加,给人们带来一个新的问题,即如何在庞大的WWW信息网内找到自己所需要的信息.解决这个问题的途径是建立WWW搜索引擎,即用一定方法发现WWW信息,生成WWW资源索引,并为用户提供检索和查询服务.WWW搜索擎已成为人们争相研究开发的热点.近年来,国外已先后有一些此类系统(例如Yahoo!,AltaVista,HotBot,MetaCrawler等)在Internet上运行.在我国,由于信息网络的带宽较窄、中文信息占较大比例、大部分用户习惯使用中文、对中文检索需求很大等原因,使得这些搜索引擎不能完全满足用户的需要.在这种情况下,我们设计开发了一个大型、高效的分布式中英文信息发现和资源索引检索服务系统—“天网(WebGather)”中英文搜索引擎,取得了很好的效果.
一、系统结构
本系统主要由WWW信息存取和分析子系统、WWW信息收集控制子系统 、News收集分析子系统、资源索引数据库、信息检索子系统、管理和监控子系统等几个部分组成。各个部分的功能如下:
1
1、WWW信息存取和分析子系统 根据WWW信息收集控制子系统提供的URL和相关信息,使用HTTP协议,在Internet上获取相关资源,并能就对方主机返回的不同状态码作出相应处理。对取回的Web页面(主要是HTML格式)进行分析,自动对中文编码进行识别和转化,对中文信息进行分词、提取页面的标题、关键词、摘要以及其中的超链(HyperLink)。 将分析的结果通过扩展SOIF接口提交给信息收集控制子系统。
2、WWW信息收集控制子系统 根据配置文件运用自然语言理解和知识获取技术、引导信息收集系统优先访问特定知识领域和特定地域范围内的信息,向HTML存取分析进程发送需访问的URL及相关信息,接收其发回的访问和分析结果。将相应的数据存入信息数据库中。并对信息收集的频度和流量加以控制。
3、News收集分析子系统 使用NNTP协议访问News Server,收集所关心的Newsgroup(在配置文件里配置)中的文章。并进行分析,提取文章的摘要、标题、关键词。将这些信息存入信息数据库中。
4、资源索引数据库 存储收集到的WWW和News信息,以及分析的结果。并对其重新进行基于词的分级优化索引,以加快查询速度.
5、信息检索子系统 提供基于WWW方式的信息检索服务。用户通过任何标准的WWW浏览器直接访问。检索系统可以支持在一次检索中使用多个检索词(中、英文),并支持检索词之间的逻辑关系(与、或)。还可以指定查询的范围:WWW、News,和方式(精确、模糊)。检索结果以HTML形式返回给用户。各项结果的标题与它所对应的URL用超链连接起来。用户只需在浏览器中点中检索结果项的标题,就能马上取得相应页面的实际内容。命中的URL页面按它与用户检索关键词的关联程度排序,使用户的检索更有效率。本系统还支持在上一次返回的结果中进行查询。
6、管理和监控子系统 提供系统配置,启动、停止、监控、统计等管理功能。2
图1 WebGather系统总体结构示意图 信息收集控制子系统与WWW存取分析进程以及NEWS存取分析子系统之间的信息交互是通过TCP Socket连接来实现的,因此各子系统可以分布运行于网络中不同的主机上。
二、技术特征
本系统有以下技术特征:
1、信息收集符合Internet的相关协议和标准。
因为本系统收集的主要是Internet上的信息,所以在设计开发时把对有关协议和标准的支持作为一个重要的目标。主要包括:
(1)HTTP协议
3
HTTP为WWW所使用的超文本信息传输协议。目前使用的主要有1.0和1.1版本。本系统在实现中可以通过与WWW SERVER的协商判断其所支持的HTTP协议版本,并自动选用相应版本的协议进行访问。因而做到了较好的兼容性和适应性。
(2)MIME
WWW的超媒体信息在传输过程中使用MIME进行信息的表示和封装。本系统可以自动识别和处理MIME格式的信息。
(3)HTML语言 HTML为WWW所使用的超文本制标语言,是国际标准ISO8879:1986 SGML(Standard Generalized Markup Language) 的一个应用。SGML 是一种定义结构化标准语言的语言。HTML就是用SGML定义的一种非专利性质的Hypertext的标注语言。HTML语言的版本从最初的1.0、2.0一直发展到3.2。最近又推出HTML 4.0(97年12月)。本系统遵循HTML 3.2标准,并对Netscape和Microsoft使用的一些扩展Tag提供支持。
(4)WWW Robots 标准 本系统在进行WWW信息的自动收集时,实际上使用的是WWW 机器人方式.然而出于某些原因,一些WWW 服务器的管理员或拥有者不希望他们的信息被WWW机器人访问.ROBOT Exclusion标准提出了一种方法来满足这种需要.它规定在WWW 服务器的“/robots.txt”文件可以限制WWW机器人对该WWW服务器的访问,并定义了这个文件的格式和含义.此标准无强制性,由WWW机器人自愿遵守.本系统在实现中遵循了这一标准.
(5)NNTP协议
NNTP是网络新闻传输协议。该协议规定了一套利用可靠的、流式传输来在Internet上发送和阅读新闻的方法。本系统在访问和收集News信息时完全遵守这一协议。
2、实用、高效的信息分析方法
Internet上的Web信息主要是使用HTML语言书写的Web页面。为了对这些信 4
息进行识别和监控,首先必须对它们加以分析,提取其摘要和关键词。由于网络上的信息非常丰富,内容多种多样,没有统一的规范和组织,因而准确、有效地分析这些信息十分困难。本系统主要根据HTML中不同的Tag区分页面中各个部分信息内容在文章中的重要性和所处的位置,并结合使用中文分词、词频统计和一定的自然语言理解技术,智能化地提取该页面的关键词和摘要。另外,因为这些信息十分不规范,存在很多的字词和语法结构错误,本系统在分析器的设计上针对这一点专门考虑了各种意外和错误处理,尽量忽略和容忍文档中的这些错误。经过系统运行中对网上几十万页面信息分析的考验,本系统所使用的信息分析方法是较为实用和高效的,基本上能满足用户的需要。
3、高度智能性和适应性的信息发现方法 我们在本系统中主要使用程序方式自动收集WWW信息,即WWW机器人方式。在该方式中,有一个能自动在WWW网中获取信息并进行漫游的程序根据HTML文档中的超链,自动收集和索引WWW信息.这种方式速度快、基本不需人工干预。 我们对WWW信息的收集是从一个可配置的起始的URL集合出发,根据这些URL指向的HTML页面中的超链来不断发现和访问新的URL。用户也可在系统的运行过程中不断加入自己感兴趣的URL。
在本系统中,我们采用了一种独特的“加权的启发式搜索算法”控制WWW信息资源的收集。 管理员可对系统进行灵活的配制,运用自然语言理解和知识获取技术、引导信息收集系统优先访问特定知识领域和特定地域范围内的信息,并对信息收集的频度和流量加以限制,以便在尽可能少的占用网络资源的情况下,取得用户较为满意的效果。算法的主要思想如下:
(1)管理员可配置一些与特定领域相关的导向词及其权值,引导收集系统根据分析的结果优先访问与该领域相关的WWW信息.
(2)管理员可配置一些应特别关注的敏感词,凡是出现这些敏感词的页面及这些页面中的超链所指向的页面都以最高优先权被访问。这些页面记录在专门的数据库中。
(3)管理员可为在不同域(Domain)中的WWW服务器配置权值,控制访问的 5
WWW服务器的范围.如提高“.cn”域的权值可将大部分的访问控制在国内.
(4)使用启发式函数计算URL的权值.一个已访问过的URL的权值是根据下列因素来计算的:
. 导向词在文档中出现的加权频率
. 该URL被其它URL引用的次数
一个未访问的URL的预测权值根据以下因素来计算:
. 该URL所在的域
. 该URL被其他URL引用的次数
. 引用该URL的URL的权值
(5)在待访问URL中选择一个预测权值最高的URL进行访问.
另外,本系统还可对News信息自动进行收集,并能识别出不同信息源之间的相互引用(如WWW与NEWS),使其信息得到充分利用。
4、中文信息处理技术 处理中文信息首先需要能自动对中文信息进行识别,即判断一篇文章中是否包含中文信息。Internet是一个全球性网络,上面的中文信息使用多种编码.本系统主要支持最为常用的GB(大陆、新加坡 )、BIG5(台湾、港澳)、HZ(海外)三种中文编码.本系统可以自动识别这些中文编码,并统一将所有中文信息转换成GB编码,以进行进一步的分析和处理。
中文信息处理与英文存在很大不同,这是因为中文信息处理具有很多自己的特点,例如汉语缺乏严格意义上的形态标志和形态变化;现代汉语中由两个及两个以上的汉字组成的合成词占优势;词的同形异类(多类词)现象十分普遍;汉语信息是按句连写;汉语句子中语序灵活等。上述特点使中文信息的词语切分(切词)成为汉语信息处理的第一道关口,也是建立中文信息发现和检索系统的关键性技术之一。我们使用以带词类标记的词典为基础、以切词与标注相结合的方法处理中文信息,较好地解决了汉语的切词问题。
5、可伸缩的分布式结构
6
本系统主要由信息收集子系统和信息检索子系统两部分组成。这两个子系统之间既相互联系,又相互独立,可以分布在不同的主机上分别运行。而信息收集子系统又由一个信息收集控制进程和多个信息收集进程组成,它们之间使用TCP连接以扩展的SOIF格式进行收集的信息的交换和控制。管理员可根据实际情况,通过配置文件将信息收集系统、信息检索系统以及信息收集和控制进程自由分布和组合,以达到减少网络流量,分担服务器负载,加快信息收集和检索的目的。此外系统管理员可以在源程序中配置信息收集进程的最大数目。同时,系统管理员还可以配置连续访问同一服务器的最小时间间隔,避免由于过于频繁的访问某一服务器,而对该服务器造成过大的网络流量。对于已访问的URL ,在一段时间以后,本系统会再次访问该URL 以保证系统有能力获得所有URL 的最新信息。所有这些调度算法都大大提高了系统的灵活性和适应性,管理员可通过对系统的配置和剪裁得到一个适合自己需要的系统。
6、基于词的大型、高效的信息索引数据库和快速、准确的检索方法。 中文信息的检索主要有两种:基于字的检索和基于词的检索。基于单字的检索系统对所有文章建立全文索引。在检索时得到每个单字的索引,而后加以适当的逻辑运算,得到检索结果。而基于词汇的检索系统对词汇建立索引,检索词汇时一次命中。基于单字和基于词汇的检索在实现机制上的不同,它们在很多方面都有很大的区别,对于它们的比较见图2。
本系统主要采用基于词的索引,以达到较快的速度和较高的准确性,同时减少索引信息对磁盘空间的占用。
传统的关系数据库满足不了搜索引擎在信息检索方式和速度方面的要求。因此我们有针对性地开发专门的信息索引数据库来满足用户的需要。在索引库中采用分级的优化索引结构和多级索引技术,将较小的一级索引驻留内存,检索操作过程大部分在内存中进行,尽量减少对硬盘文件的访问。因而大大提高了检索的响应速度。索引库支持增量修改和索引。以减少数据复制时产生的网络流量,提高索引速度。
7
图 2 基于单字和基于词汇的中文检索系统的比较 7、智能化、多功能的用户检索接口。
用户接口是与用户打交道的最直接的部分。如何尽可能精确地理解用户的真正
意图,又尽可能少的让用户输入辅助信息,是接口设计开发的重点与难点。这不仅仅是应用本身的问题,更多的涉及到人工智能,甚至心理学的范畴。
WWW接口是本系统最主要的用户接口。用户通过浏览器可以直接访问,无其它特殊要求。 用户通过HTML 表格(FORM)递交检索请求,本系统可以支持在一次检索中使用多个检索词(中、英文),并支持检索词之间的逻辑关系(与、或)。还可以指定查询的范围:WWW、News,和方式(精确、模糊)。检索结果以HTML形式返回给用户。各项结果的标题与它所对应的URL用超链连接起来。用户只需在浏览器中点中检索结果项的标题,就能马上取得相应页面的实际内容。命中的URL页面按它与用户检索关键词的关联程度排序,使用户的检索更有效率。本系统还支持在上一次返回的结果中进行查询,这在查询返回的结果较多时十分有用。另外本系统还提供了Email查询接口,进一步方便了用户。
最理想的用户接口能够让用户使用自然语言进行查询,把相关程度最高的站点放在检索结果列表的最前面。但这很难达到,特别是对于汉语这种语法规则不强, 8
语义较丰富的语言,更是困难。本系统首先对用户输入的检索串进行中文分词,提出用户检索的关键词,并分析出这些检索词的逻辑关系,然后在索引数据库中进行检索。汉语语义的丰富性,造成了许多形异但又义同的词大量存在,如:电脑和计算机,程式和程序等。所以在检索时,本系统建立了中文同义词词库,提供模糊匹配的方式。当用户选择了这种方式时,用中文同义词来替代原来的关键词,形成相应的查询逻辑,进行检索。这不仅可扩大结果的可能性,也提高了命中率。其中,中文同义词的词库设计成可配置的,由系统管理员来维护。
三.总体性能
WebGather由于采用了可伸缩的分布式结构、内存Cache、索引数据库和检索数据库分开等先进、有效的技术,使得系统占用资源少、信息收集速度快(目前系统有100万个Web网页,14万篇News文章,7万个FTP文件)、用户查询响应时间快(系统对96.7%以上的查询可在1秒钟之内作出响应)、查准率和查全率较高,基本达到了实用化程度。
系统在设计和实现过程中,充分考虑到了用户和管理员的使用习惯,提供了浏览器、电子邮件、中英文用户接口和方便易用、功能丰富的管理工具,因而有很好的可用性和易用性。
天网从1997年10月在CERNET上提供服务以来,得到了用户的欢迎和好评。截止到99年6月10日,用户查询总次数达到116万,目前平均每天有4万多人次访问(注意:这是我们没有进行大规模宣传的情况下达到的访问量!)。受到了用户的喜爱和好评。
由于天网功能全面、性能突出,《软件世界》杂志1998年第7期将天网评价为国内最好的中英文搜索引擎。
四.国内外对比
9
目前的搜索引擎大致可分为三大类:分类编目搜索引擎(Directory Search Engine)、机器人搜索引擎(Robots Search Engine)和元搜索引擎(Meta Search Engine)。分类编目搜索引擎以Yahoo公司的Yahoo!为代表,机器人搜索引擎以Digital的AltaVista、Inktomi公司的HotBot为代表, 元搜索引擎以go2net的MetaCrawler为代表。
WebGather属于机器人搜索引擎范畴。天网和AltaVista、HotBot的比较见表1。 国外搜索引擎起步较早,功能全面,性能良好,但是它们的共同缺点是都不能很好地支持中文信息的发现和查询。虽然AltaVista均在1998年上半年宣布支持中文,但在对中文信息的处理上尚存在很多不足,如不能准确切词,不能在上下文环境中理解语意等等。天网使用了中文自动识别和中文编码自动转换技术、根据中文的语言特点和表达习惯对中文信息进行词语切分和词类标注技术以及基于词的大型、高效的信息索引数据库和快速准确的检索技术等先进的中文信息处理和索引技术,从而大大提高了中文信息的理解程度和发现、检索效率,同时也提高了汉语的查准率。
天网在设计上不像AltaVista和HotBot那样试图穷举所有的信息站点,而是使用具有高度智能性和适应性的信息发现算法,使整个系统具有较好的智能导向性和可配置性,着重搜集国内WWW、News、FTP信息。
天网采用了可伸缩的分布式结构、内存Cache、索引数据库和检索数据库分开等先进、有效的技术,使得天网即使在配置很低的机器条件下,也可以获得很好的系统性能。
天网有方便多样的中英文用户接口(WWW接口,Email接口),支持布尔查询、模糊查询、语句查询、在结果中查询等查询操作,基本上达到了实用化程度。 国内近几年也有数十个中文搜索引擎推出,如“搜狐” 、“常青藤” 、“悠游” 、“若比邻”等,虽然它们都各有特色,但在信息的覆盖面、功能的多样性、系统性能、易用性等方面均与WebGather存在一定的差距。
表1 天网和AltaVista、HotBot的比较
10
11