摘要:伴随着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个大类别开始选取,再一层一层深入,而忽略了事物的横向客观联系。wWW.133229.cOm当要查找一个容易引起多意理解的概念如:“病毒、神经网络”等,用户可能就会深入多个目录树型结构中去。二是如果用户查找的信息没有对应的分类项,则无法进行搜索。
第二代搜索引擎是基于用户输入的查询关键词检索型的搜索引擎,以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 /) 中已经有这样的优化实现了, 它会将同一文献的不同链接地址放在一条结果信息中, 这样用户就可以在前三页中看到更多的页面链接, 从而提高了工作效率。
(智能搜索引擎系统的主要系统结构图)
(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]:
在整个检索过程中,语言分析器,查询分析器,甚至搜索器都提供了抽象的接口,都可以根据需要进行定制。但是,lucene的提供的分析器analyzer对中文语句的支持度不够理想,因此,有必要选择一个良好的中文自然语言、语句分析(切词)工具。和lucene整合。来达成对中文查询语句的理解。
由于对中文信息语句进行分析处理,要远比英文复杂(英文单词之间的空格,成为天然的分词依据),而中文查询语句的科学分析(切分词语)、关键词语提取又是构建智能web搜索系统不可逾越的步骤。因此,笔者推荐使用基于词库匹配形式的中文分词工具。
(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 brewer.system support for saclabel and fault tolerant internet
service.distributed systems engineering [m] 2001.7
[4] 杨德仁.顾君忠 一种知识型网络爬虫的设计与实现[j].华东师范大学学报 2006,(3):93~94
[5] 彭曙蓉.王耀南 针对小文本的web数据挖掘技术及其应用[j].微计算机信息 2006,(22):73~75
[6] 李刚.宋伟.邱哲 ajax+lucece 构建搜索引擎 [m].2006.4