1、基于 WEB 的智能搜索应用技术探讨 摘要:伴随着 Internet 的日益发展和壮大,如何在浩瀚的网络信息海洋中快速、高效地寻找特定的主题内容,成为困扰信息服务提供者的主要问题。针对该问题,基于 WEB 的搜索引擎技术自 1994 年以来已经发展了三代,本文从 WEB 搜索技术的智能化、个性化发展轨迹和应用特点开始,深入探讨了智能搜索引擎系统的结构、构建以及相关应用算法思想。旨在为 WEB 搜索技术的演进和完善提供参考。关键词:WEB 搜索引擎;智能化;Lucene ;中文切词;一、基于 WEB 的搜索技术的定义、发展趋势与应用热点11、定义一般说来,基于 WEB 的搜索技术主要指的是 WE
2、B 搜索引擎(Search Engine)技术,即指通过 WEB 在 Internet 上建立的一种向网络用户提供网上信息资源检索和导航服务的系统。搜索引擎提取网上信息如网站、网页、URL、以及 BBS, Telnet, FTP, Newsgroup 等,进行整理、组织、加工、处理,建立管理和存储这些信息的索引数据库,并提供基于该索引数据库的检索。12 发展趋势与应用特点搜索引擎技术是当今计算机应用技术的前沿学科,搜索引擎技术目前已经发展了三代。第一代是基于人工登入、检索、排序的目录式搜索引擎,以 YAHOO 为代表。我认为这一代搜索引擎的局限在于查全率(检出的文档与相关文档之比)比较低。目录
3、式搜索引擎还存在两大问题:一是分类是按分类者或分类软件的分析而定,不一定与用户的意见一致;如果用户对查找目标了解比较浅显,就需要从其 14 个大类别开始选取,再一层一层深入,而忽略了事物的横向客观联系。当要查找一个容易引起多意理解的概念如:“病毒、神经网络”等,用户可能就会深入多个目录树型结构中去。二是如果用户查找的信息没有对应的分类项,则无法进行搜索。第二代搜索引擎是基于用户输入的查询关键词检索型的搜索引擎,以Google 和 Baidu 、AltaVista 为代表,通过使用网络机器人(WEB ROBOT)自动遍历决大多数 INTERNET 网页,并存贮其中的主要文本内容、图片或多媒体信息
4、。在本地维护一个海量的网页存储数据库,存储数十亿至几百亿个网页,根据关键词的使用频度建立索引(这也是个巨量的工作)并维护之,利用特有的页面排序算法(如 GOOGLE 的 PAGE RANK)返回给用户查询结果。由于页面权值算法有其特点,尽管查全率比第一代搜索引擎有很大提高,但不能保证查准率(检出的文档与目标文档之比) 。另外,它们仍然是基于关键词的搜索查询,在用户方面,关键词的选择可能导致查询结果有较大的差异。例如:有用户想了解黑龙江省完达山的旅游情况介绍,在 GOOGLE 中如果输入“完达山”这个关键字,返回页面将几乎全部是完达山乳业和制药业的情况,就是再加上“旅游”这个关键字,返回结果仍然
5、不尽人意。这是因为各个搜索引擎的页面权值算法有其特异性,如 GOOGLE 就比较偏重旧的网页和综合网站。检索型的搜索引擎的优点是信息量大、更新及时、毋需人工干预。缺点是返回信息过多,有很多无关信息,用户必须从结果中进行筛选,且产生大的网络负载和服务器负载。当前,第三代搜索引擎的发展趋势是更加智能化、个性化,并在此基础上力求具备更高的查全率与查准率,更全面的查询功能。首先,通过目录型和检索型的搜索引擎技术相互结合,提供多样化和个性化的服务。以 Yahoo 为例,用户可以从它的首页上查看新闻、金融证券信息、天气预报、浏览黄页,可以进行网上购物、拍卖、找人,或者使用免费 E-Mail 和网上寻呼等服
6、务。近期许多搜索引擎已开始提供个性化的服务,例如 Yahoo 的“My Yahoo”、InfoSeek 的“personalized start page”等,它们允许用户为自己定制起始页面,并选择感兴趣的内容和经常使用的服务放在该页面上。除了简单的 AND、OR 和 NOT 逻辑外,不少搜索引擎还支持相似查询,例如 AltaVista、Northern light、Lycos 等支持短语查询,AltaVista 的高级搜索功能支持 NEAR 逻辑等;在消除内容重复的网页方面,一个比较成熟的方法就是对重复信息的链接进行合并, 即将页面信息重复的链接不一一呈现在结果页面中, 用一外部链接来单独显
7、示这些重复的链接地址。在 google 推出的学术搜索引擎 (http: /scholar. google. com /) 中已经有这样的优化实现了, 它会将同一文献的不同链接地址放在一条结果信息中, 这样用户就可以在前三页中看到更多的页面链接, 从而提高了工作效率。再者,在搜索引擎的智能化研究方面,通过前端抓取网页时采用多个 CRAWLER 并行协作,能够自动识别网页的内容是否满足作为目标的条件,自动进行网页内容降噪和无效网页剔除;在后端制定索引时采用更先进的网页权值算法,制定全文索引。并且引进自然语言理解技术,可以支持基于中文自然语言、语句的查询请求。目前,国内的主要研究着手点在前端主要有
8、基于 WEB 本体的搜索,元搜索技术的改进和多 AGENT协作的智能搜索思想。在后端主要是对已经抓取的网页建立全中文索引(如通过 LUCENE JAVA 软件包)然后在交互中通过用户输入的中文语句的自然切词来达成查询的智能化。13 当前其他搜索引擎技术介绍元搜索引擎技术也日益得到人们的重视。元搜索引擎是一种集成化搜索引擎,它是多个独立型搜索引擎的集合体,没有自己的数据库,是通过一个统一的用户界面帮助用户在多个搜索引擎中选择和利用,甚至是同时利用多个搜索引擎实现检索操作。元搜索引擎有代表性的是:国外的 Profusion、Mamma 以及国内的万纬搜索等,而离线式桌面搜索引擎 Webseeker
9、、Echosearch、飓风搜索等也属于元搜索引擎,与上述不同的是,这些搜索引擎需在本机安装客户端方可使用,其中功能最完善的当属 Webseeker,安装后你可以任意添加删除其中的搜索引擎。元搜索引擎技术是一种基于多引擎协同搜索的搜索引擎技术。因而,它的研究侧重点应主要在于解决好以下三个问题:用户查询需求的分解、查询的派发和返回结果的过滤(消重) 、综合(相关度排序)其总的发展趋势是达成搜索操作的个性化。再者,还有能支持多信息类型的搜索引擎和基于对等模式的检索思想的出现,前者着眼于网络上不仅有文本类型的信息,而且还有音频文件、视频文件、图像文件等信息类型。将来,实用的搜索引擎必将具备对多种信息
10、类型文件的检索功能;后者是基于 P2P(Peeto Peer)J 技术发展起来的,因为相距万里的用户可以通过 P2P 共享硬盘上的文件、目录甚至整个硬盘。如果把这一理念具体运用到搜索引擎技术上来:P2P 将使户能够深度搜索文档,而且这种搜索无须通过 Web 服务器,可以不受信息文档格式和宿主设备的限制,因此可达到传统目录式搜索引擎无可比拟的深度1。二、智能搜索引擎的系统结构组成和工作流程21 智能搜索引擎系统的系统结构组成智能搜索引擎系统主要由 6 部分组成:网页内容搜索器 CRWALER、初始页面内容存储器 REPOSITORY、主索引器 INDEXER、有序内容存储桶BARREL、检索器
11、SERACHER 以及人机交互界面 UI(UserInterface)2 。(智能搜索引擎系统的主要系统结构图)(1)网页内容搜索器 CRWALER:实际是一组分布式自动运行的网络爬虫程序,负责从浩瀚的 INTERNET 网页中抓取遍历到的网页信息。并将内容压缩(实际为把网页文件分解,抽取文本、图象、多媒体实际内容,去除控制标签)后存入初始页面存储器。(2)初始页面内容存储器 REPOSITORY:存储内容搜索器抓取到的网页内容。(3)主索引器 INDEXER:是整个系统的核心部分,它将页面存储器中的网页内容分解,按照特定的用户词典把网页进行归类、主关键词语索引甚至是全文索引,排序后然后存入存
12、储桶中。(4)存储桶 BARREL:存储经过索引器索引、排序的网页内容信息。供检索器调用。(5)检索器 SEARCHER:根据 UI 输入的查询语句和关键词语以及它们间的逻辑关系在存储桶中查找相关内容,并按照特定的网页相关度计算已查得各网页的信息内容相关度,以此排序后向 UI 输出。(6)人机交互界面 UI:提供用户输入查询词语的界面,并提供词语间逻辑关系(.and . .or . not .)或关键词语限制条件(如时间、大小、类型等信息文件属性)的选项。三、智能搜索技术的相关重要思想与应用算法介绍31 内容相关度的向量空间模型算法多数系统都是采用向量空间模型算法,把查询关键词的个数 N 作为
13、向量空间的维数,衡量每一维的权值 Wi(i=1,2,3.n) ,设 =(1, 2,. n) , i=wi 然后统计关键词在页面内出现的频率,并求出频率比,以出现频率最高的关键词作为基准,设 X =1 表示,通过频率比,依次求出其他关键词频率 Xi,则该页面对应向量的每一维分量为 XiWi 。则总的页面主题相关度为 =(x1w1,x2w2,.xnwn)i= 1,2,.,n 取页面主题相关度用两个向量夹角的余弦表示3:cos ( ,)= = 32 基于知识陈述句的内容相关度的计算模型由于网页信息大都是说明或介绍性的文档,因此可以运用基于陈述句的语法分解来建立相关度权重系数的配比模型。陈述句由 Su
14、bject 主语、Verb 谓语、Object 宾语组成,显然如果相关关键词语出现在主语中的频率比较高,则相关权重系数 WS 也应大于其出现在谓语和宾语的权重系数WV、WO。另考虑陈述句在整个文挡中出现的位置设置位置权重系数 WL,显然在标题title出现的位置权重系数要比在h1.h6甚至是p中大,位置权重系数应从标题到结尾呈递减趋势3。则某陈述语句相关某关键词语总的知识权重为:K=(WS + WV + WO )WL则该陈述知识所在页面 P 的总的页面知识相关性为: 4(N 为页面某关键词语出现的次数。 )33 基于距离测度的近似网页聚类在 3.1 所述的向量空间模型中,文本文件由词条序列(t
15、1,t2,t3,.,tn)构成,现在对每一个词条赋予权重 W I ,从而文本可用词条特征向量(W1,W2,W3,.,Wn)来表示。假如存在一个目标文件 I 和一个未知文件J,那么这两个文件的近似程度就可通过对应的词条特征向量的夹角来度量。夹角度的大小表明两文件的近似程度。因此有公式:SIM= 该计算公式求得的近似度值 SIM 能同时兼顾向量夹角和长度两个因素,当两个网页内容迥异时,向量 Wi 与 Wj 垂直,SIM 值为 1。同理,当两个网页内容相同时,Wi 与 Wj 重合 SIM 值为 0,内容部分相关的两个网页SIM 值 (1,0)5 综上所述,SIM 值可以成为判断两个网页是否为内容雷同
16、或为不相关的标准。四、全文索引系统的建立笔者认为,应用 JAVA JDK 开发智能 WEB 检索系统,特别是应用基于 JAVA的 Lucene 软件包建立基于内容的全文索引,以及检索系统的构建是比较理想的选择。JAVA 语言具有稳定性、鲁棒性、安全性、类库丰富和一次编译,到处运行的优点,而 Lucene 是 Apache 软件基金会 Jakarta 项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,由资深检索专家 Doug Cutting 编写。它的开发目的是为了方便地在目标系统中实现全文检索功能,Lucene 可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。已经有很多 J
17、ava 项目都使用了 Lucene 作为其后台的全文索引引擎,比较著名的有:WEB 论坛系统 Eyebrows;Eclipse:基于 Java 的开放开发平台,帮助部分的全文索引使用了 Lucene。Lucene 的 API 接口设计的比较通用,输入输出结构都很像数据库的表=记录=字段,所以很多传统的应用的文件、数据库等都可以比较方便的映射到 Lucene 的存储结构/接口中。总体上看:可以先把 Lucene 当成一个支持全文索引的数据库系统4。Lucene 最核心的特征是通过特殊的索引结构实现了传统数据库不擅长的全文索引机制,并提供了扩展接口,以方便针对不同应用的定制。Lucene 在索引更
18、新过程中不是维护一个索引文件,而是在扩展索引的时候不断创建新的索引文件,然后定期的把这些新的小索引文件合并到原先的大索引中,这样在不影响检索的效率的前提下,提高了索引的效率6。lucene 软件包的检索过程分为 4 个步骤,即文本信息获取、构建DOCUMENT、分析以及建立索引四部分。LUCENE 的逻辑结构如图所示:在整个检索过程中,语言分析器,查询分析器,甚至搜索器都提供了抽象的接口,都可以根据需要进行定制。但是,LUCENE 的提供的分析器ANALYZER 对中文语句的支持度不够理想,因此,有必要选择一个良好的中文自然语言、语句分析(切词)工具。和 Lucene 整合。来达成对中文查询语
19、句的理解。由于对中文信息语句进行分析处理,要远比英文复杂(英文单词之间的空格,成为天然的分词依据) ,而中文查询语句的科学分析(切分词语) 、关键词语提取又是构建智能 WEB 搜索系统不可逾越的步骤。因此,笔者推荐使用基于词库匹配形式的中文分词工具。词库分词被认为是理想的分词方式。其实质为用一个事先建立好的词库中的词的集合按照某种算法去匹配目标语句。当词库中存在这个语句中所包含的词汇时,就将其切分出来。毋庸质疑,词库分词的效果是比较理想的,但需要事先建立一个成熟的词库。词库的建立需要统计大量的内容,然后根据各种词语的出现频率、概率再筛选。最终决定放入词库的词语。切词后建立全文索引。来有效、快速
20、地支持用户输入的中文关键词或中文语句的查询请求。下面介绍的中文分词工具 ICTCLAS 就是基于词库分词的中文分析系统。中科院计算技术研究所在 2002 年研制了的基于多层隐马模型的汉语词法分析系统 ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System)系统。(ICTCLAS 系统工作示意图)该系统具有中文分词、词性标注、未登录词语识别等功能,经专家组评侧,该系统词性标注处理速度接近 32KB/S,分词正确率高达 97.58%,中国人名字的识别召回率接近 98%4。同时,中科院也公布了该系统的基于
21、C+语言的开发接口。使得中文搜索引擎的开发获得了非常有效的中文语句分解工具。研究智能检索技术的目的是为了解决丰富的信息资源和低效的信息获取手段之间的矛盾,目标是从关键词的智能化选择、检索范围的确定到检索结果的精炼逐一求精,尽可能提高 WEB 搜索的查全率和查准率。对于提高网络信息资源利用率、增强网络建设的经济效益和社会效益有着非常积极的意义,正因于此,基于 WEB 的主题搜索技术的发展和演进,已成为有效开启互联网络知识宝库的关键之匙。参考文献:1 崔维梅.范荣鹏.搜索引擎的技术现状和热点J.青年记者2005,(15):1161172 刘平冰 电子电子科技大学硕士学位论文A. 2005(5):793 Yatin Chawathe,Eric A Brewer.System support for saclabel and fault tolerant Internet service.Distributed Systems Engineering M 2001.74 杨德仁.顾君忠 一种知识型网络爬虫的设计与实现J.华东师范大学学报 2006,(3):9394