中文分析搜索引擎的研究与实现_搜索引擎论文

面向汉语分析的搜索引擎研究与实现,本文主要内容关键词为:汉语论文,搜索引擎论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

搜索引擎是Internet信息检索工具,如著名的Google、百度、AltaVista等,其原理、技术和应用经十几年的发展已经相当成熟。汉语分析是语言学研究和中文信息处理的重要内容,通过对大量语言现象的分析研究,总结归纳出汉语在词法、句法、语义、篇章结构等方面的语言属性和文法规则。语言的研究离不开语言对象,尤其是生动的、现时的语言。Internet每天产生数量巨大的中文网页,为分析各种语言现象、归纳语言规律和提取语言知识提供了理想的资源。

一般的搜索引擎虽然也能为语言研究提供帮助,但由于目标定位不同,效率和成本不能令人满意。将汉语言研究与信息检索技术结合起来,在搜索引擎中,嵌入面向汉语分析研究的功能,具有重要的实用价值。我们在研究和分析搜索引擎和中文信息研究的属性和特点的基础上,提出并设计了一个面向汉语分析的搜索引擎模型,实验表明效果比较理想。

1 搜索引擎原理及机制

1.1 搜索引擎的定义及基本原理

定义1:搜索引擎SE是一个四元组,SE=(D,Q,r,t)。其中D是Internet文档索引数据库,Q是查询条件集,r是排序算法,t(0<t)是查询结果选择标准[1]。

搜索引擎是基于Internet的信息检索技术,它收集网页,建立索引数据库D,满足用户检索要求Q。搜索引擎分为后台和前台两大部分。后台的主要工作是实时搜集网页,并建立索引;前台为用户提供检索接口,获取用户请求,检索信息,最后反馈给用户经过排序算法r和选择标准t过滤后的信息(如Google、Yahoo等)。

1.2 搜索引擎的运行机制

如图1所示,搜索引擎的关键技术主要有网页获取器(Spider)、搜索地址管理、网页分析处理、数据索引管理、索引数据库、检索处理、用户接口等[2]。

图1 搜索引擎的运行机制

(1)Spider根据地址管理分配的任务,从Internet上获取网页。多个Spider同时运行,多线程并发处理。(2)搜索地址管理提供Internet网页地址,同时通过网页分析获得新地址。(3)网页分析处理。网页有多种形式,如html、doc、txt、pdf格式等,需进行归一化处理,同时进行分词、过滤(高频词)、词单/复数转换、词缀去除(stemming)、同义词转换(conflation)等工作。(4)数据索引管理为检索服务,索引项有客观索引项和内容索引项两种。客观索引项如作者名、URL、更新时间、编码、长度、链接广度(Link Popularity)等;内容索引项反映文档内容,如关键词及其权重、短语、单字等。(5)检索处理负责检索网页,进行相关度计算,结果排序等。(6)用户输入接口分为简单接口和复杂接口,简单接口只提供用户输入查询串的文本框;复杂接口可以让用户对查询进行限制,如逻辑运算(与、或、非、+、-)、相近关系(相邻、NEAR)、域名范围(如.edu、.com)、出现位置(如标题、内容)等。

1.3 元搜索引擎

定义2:元搜索引擎MSE是一个五元组,MSE=(E[,m],Q[,m],H[,m],r[,m],t[,m])。其中E[,m]是成员搜索引擎的集合,Q[,m]是查询条件集,H[,m]是查询条件变换集,r[,m]是排序方法,t[,m](0<t[,m])是查询结果选择标准。

元搜索引擎是调用其他搜索引擎(E[,m])的搜索引擎,是将多个独立搜索引擎集合在一起,提供统一的检索界面,把用户请求Q[,m]经过H[,m]变换后,分发给多个搜索引擎,汇总多个搜索引擎返回的结果,进行去重和相关度排序[3]。元搜索引擎的优点是能够获得更大范围的信息源,提高查全率,检索的综合性、全面性也有所提高[4]。缺点是查询时间相对较长,去重与相关度排序的处理量大。

2 汉语分析与搜索引擎

2.1 汉语分析的内容

广义的汉语分析与研究范围很大,包括词汇、语法、语义、语用[5] 等。这里讲的汉语分析与研究主要是指基于Internet,借助专业搜索引擎的帮助,快速的检索、分析、统计汉语中某个词或某类词的属性,新词的使用,词频,词与词之间的搭配关系,句法结构,特殊语言现象等。通过面向汉语分析的搜索引擎还可以为语料的搜集整理提供帮助。

2.2 面向汉语研究的信息检索现状

目前已经有一些面向汉语研究的检索系统,但一般都是基于语料库(如《人民日报》语料库)的。如北京大学汉语语言学研究中心的语料检索(http://ccl.pku.edu.cn/),厦门大学的语料库在线多功能检索系统(http://xmuoec.com/gb/hanyu/hanyu/data/corpus/index.htm)。一般功能为检索语料中的作者、篇名、分类信息等,支持复杂检索,比如不相邻关键字查询、指定距离查询等。优点是速度快,检索效率高,缺点是检索的范围有限,功能不够全面,对现时语言的发展变化的研究帮助不大。

2.3 汉语分析中搜索引擎的优势

Internet是巨大的语言知识宝库,包含大量的语言现象,其中既有活生生的日常生活语言,又有大量文学经典、政论、书评、文献资料等中的规范语言。尤其是,Internet与现实紧密联系,每时每刻都在产生大量的信息,新词新语不断出现(如“下岗”、“非典”、“禽流感”、“虐俘”等),为语言分析研究提供了很好的资源。同时,Internet自身特有的网络语言(如“新新人类”、“给个理由先”、“美眉”、“GG”、“JJ”、“小东东”、“伊妹儿”),作为一种新的语言现象,也是语言分析的内容之一(如系统分析网络语言的特征、原因以及不规范表现)。搜索引擎可以快速准确地搜集到各种资料,提高语言研究的效率。基于搜索引擎的汉语分析与基于语料库的汉语研究,各有侧重,可以互为补充,相辅相成。

中国互联网络信息中心(CNNIC)2005年1月发布的“第十五次中国互联网络发展状况统计报告(http://www.cnnic.net.cn/)”显示,中国大陆上网用户总数已达9400万,加上台湾、港澳和海外华人,Internet在汉语世界中的地位和作用日益显著,面向语言研究的搜索引擎可以为网络汉语的研究和分析提供帮助。

3 面向汉语分析的搜索引擎

3.1 面向汉语分析的搜索引擎设计与实现

面向汉语分析的搜索引擎采用元搜索引擎的模式,主要出于这样几点考虑:(1)现有的公共搜索引擎(如Google、百度等)的关键词检索技术已经相当成熟,速度快,覆盖面大,查全率高[6]。(2)自己开发搜索引擎成本较高,效果不见得好。(3)面向汉语分析的搜索引擎的特点在于为汉语分析提供帮助,关键在详细分析汉语分析的需要和研究如何在搜索引擎中实现,因此重点是对检索结果进行深化处理。

定义3:面向汉语分析的搜索引擎CSE是一个六元组,CSE=(E[,m],Q[,m],H[,m],F[,m],r[,m],t[,m])。其中E[,m]是成员搜索引擎的集合,Q[,m]是查询条件集,H[,m]是查询条件变换集,F[,m]是汉语分析功能函数集,r[,m]是排序方法,t[,m](0<t[,m])是查询结果选择标准。

面向汉语分析的搜索引擎系统结构如图2所示。与一般的元搜索引擎的主要区别是,系统设计了很强的汉语信息处理功能(功能详细描述见下节),每个功能模块化,采用开放式体系结构,可以方便地更新和增加新功能。

图2 面向汉语分析的搜索引擎系统结构

(1)用户接口通过较为友好的界面,获得用户的检索要求,并将系统处理的结果反馈给用户。通过对用户的检索请求分析,将检索需求形式化。

(2)分发器是一个队列,以FIFO(first in first out)原则将队列中的检索请求发送给公共搜索引擎,并监控成功与否,决定是否重发。结果提取与结果预处理的功能是提取网页信息,包括去重和处理不同格式的文档如xml,html,txt,doc等。与一般搜索引擎不同的是,系统提取的是符合条件的句子,而非文本,因此系统需具备汉语断句功能。

(3)结果分析与统计分析是面向汉语分析的搜索引擎的核心,以功能函数集F[,m]的形式体现,包括词序检查、词距计算、词法分析、句法分析、时间分析、词频统计、句频统计、同义词扩展等模块函数。其中词法分析(分词和词性标注)与句法分析采用的是中国科学院计算所的词法分析器和句法分析器[7],同义词扩展处理基于《知网》[8]。

(5)发送到公共搜索引擎的检索请求为一般的布尔表达式,通过查询条件变换函数,转换成某个具体搜索引擎可识别的形式(一般为十六进制)。如以Google为例,检索“非典、禽流感、瘟疫”,则相应的转换为:

非典→%E9%9D%9E%E5%85%B8

禽流感→%E7%A6%BD%E6%B5%81%E6%84%9F

瘟疫→%E7%98%9F%E7%96%AB。

(6)时间分析为处理网页与时间有关的相关操作,如((r[,1],(非典 禽流感 瘟疫))+(t,3)),表示最近3个月内的满足检索条件的句子集。时间值是非常有用的属性,但目前Google和Yahoo只提供3个月、6个月、1年三个选项,而百度提供1天、1周、1月和1年四个选项。

词频与句频统计为某时间段内,某词、某词列或某句出现的频率。除以天数即为均值。

F[,r]=(f[,r],(r[,1],(w[,1],w[,2],…,w[,n])),(t,△t)))

[,r]=(f[,r],(r[,1],(w[,1],w[,2],…,w[,n])),(t,△t)))/|△t|

其中F[,r]为频率,[,r]为均值,操作符f[,r]代表的操作为词频统计,△t为时间段,|△t|为天数。

3.2 面向汉语分析的搜索引擎的功能

汉语分析的最基本对象是字、词及其组合。词的理解有较多歧义,因此系统中涉及的字词应该有严格的形式约束。

定义4:设U为Unicode字符集,z为字,当且仅当z∈U;w为词,当且仅当w=z[,1],z[,2],…,z[,n],其中n≥1,z[,i]∈U,1≤i≤n;T为词列,当且仅当T=(w[,1],w[,2],…w[,m]),w[,j]为词,1≤j≤m,m≥1。

面向汉语分析的搜索引擎提供的处理功能见表1。

系统提供的汉语分析功能是不断深化的,如果将功能1定义为集合A,功能2定义为集合B,功能4定义为集合C,则有CBA;功能2至功能8对研究汉语词语之间搭配关系有很大的帮助;功能9至功能11提供现时的统计学意义上的汉语分析,是基于语料库的检索系统所不具备的;功能12提供词性分析;功能14可用于汉语歧义切分的分析;功能15涉及语用;功能16涉及同义词、同位词(即在句中位置相同)分析,同时可用于汉语断词研究;功能17可以将研究的语言对象限制在某个领域或方面,如专门研究BBS上的语言现象、网络体育新闻报道等。

4 部分实验结果及分析

例1:检索含“之所以 不是 而是”的句子,且检索词依序出现(图3)。

例2:检索含“差点”或“差点没”的句子(图4)。

例3:检索含结构“VP+的+是+NP”的句子(图5)。

例4:检索含“辣 不 怕”的句子,且检索词的词间距为零(图6)。

例5:检索含“非典”、“台海”、“春运”的句子在过去1年、6个月、3个月的日均使用频率(图7)。

例6:给出检索结果句“中国人都知道了湘妹子天生不怕辣”的词性和句法标注,以句法树显示(图8)。

面向汉语分析的搜索引擎与一般的搜索引擎有较大的不同,前者是句子一级的检索,后者是文本一级的检索,因此,系统必须首先下载对应的网页,然后作断句处理,这是很花时间的工作,因为网页上的句子情况复杂。句子去重、位置顺序、距离计算、词性检查、组合检索等功能决定了系统比一般的搜索引擎要花费更多的时间。

功能12、13、14和18,有分词、词性标注、句法分析要求的检索以及同义词检索,其性能直接受所用外部词法分析器、句法分析器与外部语言资源的约束,系统设计采用开放式结构,因此随着外部资源的升级或更换,系统总体性能也会随着提高。目前句法分析的质量还有待提高。

功能10和11涉及网页的时间信息。要确定一个网页的发布时间,是一个专门的课题。系统中的时间信息从公共搜索引擎得到,但我们发现公共搜索引擎提供的时间信息并不太准确,只能作为参考。其中Yahoo提供的信息较好。

由于系统是网络实时处理,因此性能受一些外部因素的影响,如用户计算机性能、用户网络带宽、公共搜索引擎的运行情况、目标网页所在服务器的性能等。

各个公共搜索引擎的在检索结果中显示的符合条件的数目无从验证。如检索“非典”,Google、百度、Yahoo显示的符合条件的数目分别为3240000、7520000、3090029,但是我们经过验证发现,每一个搜索引擎提供的结果只到1000项。因此单个搜索引擎的查询上限是1000项(约100页)。不过1000项已经基本可以满足需要了。

5 结论

现有的面向汉语研究或分析的检索系统,都是基于语料库的,其优势是处理的对象较为整齐,检索的速度可以做得很快,但是提供的信息量有限;基于Internet针对汉语分析的搜索引擎具有时效性高、处理资源丰富、成本开销小等优点,并且提高了处理精度,如词性检索、结构检索、时间分析、频率统计等,同时可以为专业语料库的收集整理提供帮助,在汉语研究领域具有很好的应用前景。当然,由于网上信息复杂、格式多样且行文规范性差,因此面向汉语分析的搜索引擎的处理难度较大,且性能的稳定性不如基于语料库的系统。随着Internet的日益普及,在人们工作、学习和生活中的广泛使用,针对Internet的面向汉语分析的搜索引擎必将成为人们研究的重要内容。

致谢:系统中用到了中国科学院计算所提供的词法句法分析器和知网提供的免费语言学资源,在此表示衷心感谢!

注释:

①国家自然科学基金资助项目(60502048)。

标签:;  ;  ;  ;  ;  

中文分析搜索引擎的研究与实现_搜索引擎论文
下载Doc文档

猜你喜欢