摘要:伴随着internet的日益发展和壮大,如何在浩瀚的网络信息海洋中快速、高效地寻找特定的主题内容,成为困扰信息服务提供者的主要问题。针对该问题,基于web的搜索引擎技术自1994年以来已经发展了三代,本文从web搜索技术的智能化、个性化发展轨迹和应用特点开始,深入探讨了智能搜索引擎系统的结构、构建以及相关应用算法思想。旨在为web搜索技术的演进和完善提供参考。
关键词:web搜索引擎;智能化;lucene ;中文切词;
一、基于web的搜索技术的定义、发展趋势与应用热点
1.1、定义
一般说来,基于web的搜索技术主要指的是web搜索引擎(search engine)技术,即指通过web在internet上建立的一种向网络用户提供网上信息资源检索和导航服务的系统。搜索引擎提取网上信息如网站、网页、url、以及bbs, telnet, ftp, newsgroup等,进行整理、组织、加工、处理,建立管理和存储这些信息的索引数据库,并提供基于该索引数据库的检索。
1.2 发展趋势与应用特点
搜索引擎技术是当今计算机应用技术的前沿学科,搜索引擎技术目前已经发展了三代。
第一代是基于人工登入、检索、排序的目录式搜索引擎,以yahoo为代表。我认为这一代搜索引擎的局限在于查全率(检出的文档与相关文档之比)比较低。目录式搜索引擎还存在两大问题:一是分类是按分类者或分类软件的分析而定,不一定与用户的意见一致;如果用户对查找目标了解比较浅显,就需要从其14个大类别开始选取,再一层一层深入,而忽略了事物的横向客观联系。当要查找一个容易引起多意理解的概念如:“病毒、神经网络”等,用户可能就会深入多个目录树型结构中去。二是如果用户查找的信息没有对应的分类项,则无法进行搜索。
第二代搜索引擎是基于用户输入的查询关键词检索型的搜索引擎,以google和baidu 、altavista为代表,通过使用网络机器人(web robot)自动遍历决大多数internet网页,并存贮其中的主要文本内容、图片或多媒体信息。在本地维护一个海量的网页存储数据库,存储数十亿至几百亿个网页,根据关键词的使用频度建立索引(这也是个巨量的工作)并维护之,利用特有的页面排序算法(如google的page rank)返回给用户查询结果。由于页面权值算法有其特点,尽管查全率比第一代搜索引擎有很大提高,但不能保证查准率(检出的文档与目标文档之比)。另外,它们仍然是基于关键词的搜索查询,在用户方面,关键词的选择可能导致查询结果有较大的差异。例如:有用户想了解黑龙江省完达山的旅游情况介绍,在google中如果输入“完达山”这个关键字,返回页面将几乎全部是完达山乳业和制药业的情况,就是再加上“旅游”这个关键字,返回结果仍然不尽人意。这是因为各个搜索引擎的页面权值算法有其特异性,如google就比较偏重旧的网页和综合网站。检索型的搜索引擎的优点是信息量大、更新及时、毋需人工干预。缺点是返回信息过多,有很多无关信息,用户必须从结果中进行筛选,且产生大的网络负载和服务器负载。
当前,第三代搜索引擎的发展趋势是更加智能化、个性化,并在此基础上力求具备更高的查全率与查准率,更全面的查询功能。
首先,通过目录型和检索型的搜索引擎技术相互结合,提供多样化和个性化的服务。
以 yahoo 为例,用户可以从它的首页上查看新闻、金融证券信息、天气预报、浏览黄页,可以进行网上购物、拍卖、找人,或者使用免费 e-mail 和网上寻呼等服务。近期许多搜索引擎已开始提供个性化的服务,例如 yahoo 的“my yahoo”、infoseek 的“personalized start page”等,它们允许用户为自己定制起始页面,并选择感兴趣的内容和经常使用的服务放在该页面上。除了简单的 and、or 和 not 逻辑外,不少搜索引擎还支持相似查询,例如 altavista、northern light、lycos 等支持短语查询,altavista 的高级搜索功能支持 near 逻辑等;在消除内容重复的网页方面,一个比较成熟的方法就是对重复信息的链接进行合并, 即将页面信息重复的链接不一一呈现在结果页面中, 用一外部链接来单独显示这些重复的链接地址。在 google推出的学术搜索引擎 (http: //scholar. google. com /) 中已经有这样的优化实现了, 它会将同一文献的不同链接地址放在一条结果信息中, 这样用户就可以在前三页中看到更多的页面链接, 从而提高了工作效率。
再者,在搜索引擎的智能化研究方面,通过前端抓取网页时采用多个crawler并行协作,能够自动识别网页的内容是否满足作为目标的条件,自动进行网页内容降噪和无效网页剔除;在后端制定索引时采用更先进的网页权值算法,制定全文索引。并且引进自然语言理解技术,可以支持基于中文自然语言、语句的查询请求。目前,国内的主要研究着手点在前端主要有基于web本体的搜索,元搜索技术的改进和多agent协作的智能搜索思想。在后端主要是对已经抓取的网页建立全中文索引(如通过lucene java软件包)然后在交互中通过用户输入的中文语句的自然切词来达成查询的智能化。
1.3 当前其他搜索引擎技术介绍
元搜索引擎技术也日益得到人们的重视。元搜索引擎是一种集成化搜索引擎,它是多个独立型搜索引擎的集合体,没有自己的数据库,是通过一个统一的用户界面帮助用户在多个搜索引擎中选择和利用,甚至是同时利用多个搜索引擎实现检索操作。元搜索引擎有代表性的是:国外的 profusion、mamma 以及国内的万纬搜索等,而离线式桌面搜索引擎 webseeker、echosearch、飓风搜索等也属于元搜索引擎,与上述不同的是,这些搜索引擎需在本机安装客户端方可使用,其中功能最完善的当属webseeker,安装后你可以任意添加删除其中的搜索引擎。元搜索引擎技术是一种基于多引擎协同搜索的搜索引擎技术。因而,它的研究侧重点应主要在于解决好以下三个问题:用户查询需求的分解、查询的派发和返回结果的过滤(消重)、综合(相关度排序)其总的发展趋势是达成搜索操作的个性化。
再者,还有能支持多信息类型的搜索引擎和基于对等模式的检索思想的出现,前者着眼于网络上不仅有文本类型的信息,而且还有音频文件、视频文件、图像文件等信息类型。将来,实用的搜索引擎必将具备对多种信息类型文件的检索功能;后者是基于p2p(peeto peer)j技术发展起来的,因为相距万里的用户可以通过p2p 共享硬盘上的文件、目录甚至整个硬盘。如果把这一理念具体运用到搜索引擎技术上来:p2p将使户能够深度搜索文档,而且这种搜索无须通过web服务器,可以不受信息文档格式和宿主设备的限制,因此可达到传统目录式搜索引擎无可比拟的深度[1]。
二、智能搜索引擎的系统结构组成和工作流程
2.1 智能搜索引擎系统的系统结构组成
智能搜索引擎系统主要由6部分组成:网页内容搜索器crwaler、初始页面内容存储器 repository、主索引器indexer、有序内容存储桶barrel、检索器seracher以及人机交互界面 ui(userinterface)[2 ]。
(智能搜索引擎系统的主要系统结构图)
(1)网页内容搜索器crwaler:实际是一组分布式自动运行的网络爬虫程序,负责从浩瀚的internet网页中抓取遍历到的网页信息。并将内容压缩(实际为把网页文件分解,抽取文本、图象、多媒体实际内容,去除控制标签)后存入初始页面存储器。
(2)初始页面内容存储器 repository:存储内容搜索器抓取到的网页内容。
(3)主索引器indexer:是整个系统的核心部分,它将页面存储器中的网页内容分解,按照特定的用户词典把网页进行归类、主关键词语索引甚至是全文索引,排序后然后存入存储桶中。
(4)存储桶barrel:存储经过索引器索引、排序的网页内容信息。供检索器调用。
(5)检索器searcher:根据ui输入的查询语句和关键词语以及它们间的逻辑关系在存储桶中查找相关内容,并按照特定的网页相关度计算已查得各网页的信息内容相关度,以此排序后向ui输出。
(6)人机交互界面ui:提供用户输入查询词语的界面,并提供词语间逻辑关系(.and . .or . not .)或关键词语限制条件(如时间、大小、类型等信息文件属性)的选项。
三、智能搜索技术的相关重要思想与应用算法介绍
3.1内容相关度的向量空间模型算法
多数系统都是采用向量空间模型算法,把查询关键词的个数n作为向量空间的维数,衡量每一维的权值wi(i=1,2,3.....n),设α=(α1, α2,…. αn) , αi=wi 然后统计关键词在页面内出现的频率,并求出频率比,以出现频率最高的关键词作为基准,设x =1表示,通过频率比,依次求出其他关键词频率 xi,则该页面对应向量的每一维分量为xiwi 。则总的页面主题相关度为 β=(x1w1,x2w2,…..xnwn)i= 1,2,…..,n 取页面主题相关度用两个向量夹角的余弦表示[3]:
cos ( α,β)= =
3.2 基于知识陈述句的内容相关度的计算模型
由于网页信息大都是说明或介绍性的文档,因此可以运用基于陈述句的语法分解来建立相关度权重系数的配比模型。陈述句由subject主语、verb谓语、object宾语组成,显然如果相关关键词语出现在主语中的频率比较高,则相关权重系数ws也应大于其出现在谓语和宾语的权重系数wv、wo。另考虑陈述句在整个文挡中出现的位置设置位置权重系数wl,显然在标题<title>出现的位置权重系数要比在〈h1〉…..<h6>甚至是<p>中大,位置权重系数应从标题到结尾呈递减趋势[3]。则某陈述语句相关某关键词语总的知识权重为:
k=(ws + wv + wo )wl
则该陈述知识所在页面p的总的页面知识相关性为: [4](n为页面某关键词语出现的次数。)
3.3 基于距离测度的近似网页聚类
在3.1所述的向量空间模型中,文本文件由词条序列(t1,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值可以成为判断两个网页是否为内容雷同或为不相关的标准。
四、全文索引系统的建立
笔者认为,应用java jdk开发智能web检索系统,特别是应用基于java的 lucene软件包建立基于内容的全文索引,以及检索系统的构建是比较理想的选择。java语言具有稳定性、鲁棒性、安全性、类库丰富和一次编译,到处运行的优点,而lucene是apache软件基金会jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,由资深检索专家doug cutting编写。它的开发目的是为了方便地在目标系统中实现全文检索功能,
lucene可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。已经有很多 java 项目都使用了 lucene 作为其后台的全文索引引擎,比较著名的有:web 论坛系统 eyebrows;eclipse:基于 java 的开放开发平台,帮助部分的全文索引使用了 lucene。
lucene 的 api 接口设计的比较通用,输入输出结构都很像数据库的表==>记录==>字段,所以很多传统的应用的文件、数据库等都可以比较方便的映射到 lucene的存储结构/接口中。总体上看:可以先把 lucene 当成一个支持全文索引的数据库系统[4]。lucene 最核心的特征是通过特殊的索引结构实现了传统数据库不擅长的全文索引机制,并提供了扩展接口,以方便针对不同应用的定制。lucene 在索引更新过程中不是维护一个索引文件,而是在扩展索引的时候不断创建新的索引文件,然后定期的把这些新的小索引文件合并到原先的大索引中,这样在不影响检索的效率的前提下,提高了索引的效率[6]。
lucene 软件包的检索过程分为4个步骤,即文本信息获取、构建document、分析以及建立索引四部分。lucene的逻辑结构如图所示:
在整个检索过程中,语言分析器,查询分析器,甚至搜索器都提供了抽象的接口,都可以根据需要进行定制。但是,lucene的提供的分析器analyzer对中文语句的支持度不够理想,因此,有必要选择一个良好的中文自然语言、语句分析(切词)工具。和lucene整合。来达成对中文查询语句的理解。
由于对中文信息语句进行分析处理,要远比英文复杂(英文单词之间的空格,成为天然的分词依据),而中文查询语句的科学分析(切分词语)、关键词语提取又是构建智能web搜索系统不可逾越的步骤。因此,笔者推荐使用基于词库匹配形式的中文分词工具。
词库分词被认为是理想的分词方式。其实质为用一个事先建立好的词库中的词的集合按照某种算法去匹配目标语句。当词库中存在这个语句中所包含的词汇时,就将其切分出来。毋庸质疑,词库分词的效果是比较理想的,但需要事先建立一个成熟的词库。词库的建立需要统计大量的内容,然后根据各种词语的出现频率、概率再筛选。最终决定放入词库的词语。切词后建立全文索引。来有效、快速地支持用户输入的中文关键词或中文语句的查询请求。下面介绍的中文分词工具ictclas就是基于词库分词的中文分析系统。
中科院计算技术研究所在2002年研制了的基于多层隐马模型的汉语词法分析系统ictclas(institute of computing technology, chinese lexical analysis system)系统。
(ictclas系统工作示意图)
该系统具有中文分词、词性标注、未登录词语识别等功能,经专家组评侧,该系统词性标注处理速度接近32kb/s,分词正确率高达97.58%,中国人名字的识别召回率接近98%[4]。同时,中科院也公布了该系统的基于c++语言的开发接口。使得中文搜索引擎的开发获得了非常有效的中文语句分解工具。
研究智能检索技术的目的是为了解决丰富的信息资源和低效的信息获取手段之间的矛盾,目标是从关键词的智能化选择、检索范围的确定到检索结果的精炼逐一求精,尽可能提高web搜索的查全率和查准率。对于提高网络信息资源利用率、增强网络建设的经济效益和社会效益有着非常积极的意义,正因于此,基于web的主题搜索技术的发展和演进,已成为有效开启互联网络知识宝库的关键之匙。
参考文献:
[1] 崔维梅.范荣鹏.搜索引擎的技术现状和热点[j].青年记者2005,(15):116~117
[2] 刘平冰 电子电子科技大学硕士学位论文[a]. 2005(5):7~9
[3] yatin chawathe,eric a support for saclabel and fault tolerant internet
buted systems engineering [m] 2001.7
[4] 杨德仁.顾君忠 一种知识型网络爬虫的设计与实现[j].华东师范大学学报 2006,(3):93~94
[5] 彭曙蓉.王耀南 针对小文本的web数据挖掘技术及其应用[j].微计算机信息 2006,(22):73~75
[6] 李刚.宋伟.邱哲 ajax+lucece 构建搜索引擎 [m].2006.4
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。