全文检索(Full Text Retrieval)
目录 |
全文检索是指以全部文本信息作为检索对象的一种信息检索技术。
1.全文检索的研究内容
全文检索主要指研究对整个文档信息的表示、存储、组织和访问,即根据用户的查询要求,从信息数据库中检索出相关信息资料。
全文检索的中心环节是文件内容表达、信息查询的获得以及相关信息的匹配。一个好的全文信息检索系统不仅要求将输出信息进行相关性排列,还应该能够根据用户的意图、兴趣和特点自适应和智能化地调整匹配机制,获得用户满意的检索输出。
按检索对象来区分,全文检索可分为基于文本和基于Web两种类型。
全文检索的关键是文档的索引,即如何将源文档中所有基本元素的信息以适当的形式记录到索引库中。在中文文档中,基本元素可以是单个汉字,也可以是词或词组。根据索引库中索引的元素不同,可以将全文检索分为基于字表的全文检索和基于词表盼全文检索两种类型。
2.全文检索的优势
与其他的检索系统相比,全文检索系统具有以下的优势:
(1)查全率高于一般的计算机检索系统
如关键字索引检索系统,它们只对一条信息中具有检索意义的语词进行标引,它的标引深度总是有限的,无法满足人们对信息查全率的高要求;而全文检索系统可以对文本中的每个字、词进行标引,其标引的深度达到了极限。
(2)全文检索系统能实现计算机自动标引
主题词索引法和关键词索引法是采用人工赋词标引的方法,这些方法需要标引人员手工对各种信息进行加工处理,给出检索标识,所以效率低;而且标引质量由于手工的参与,带有很大的局限性。而全文检索系统可采用计算机自动抽取文本中的字、词进行标引,从而大大加快了标引的速度。
(3)检索界面友好
基于www的全文检索系统,一方面,通过采用成熟的数据库技术,提供了灵活的信息处理机制;另一方面,通过使用Web技术,可以向用户提供美观、大方、通俗、易用的用户检索界面,整个检索过程对用户是透明化的,用户所要关注的是自己所输入的检索词,并在检索过程中,还能够给用户相对应的一系列支持,如相近检索词等,使用户不需要拥有很多检索的知识,就可以进行信息的检索。
(4)全文检索系统提供多种检索功能
全文检索系统除提供一般的“AND”、“OR”、“NOT”逻辑检索功能外,还能具备位置逻辑检索、字符串检索、截词检索等多种检索功能。
(5)全文检索系统更加灵活
全文检索技术将在原始文献的标题和正文中的每一个有意义的词都作为检索入口,允许对原始文献中的任何章节、段落、句子、词或字进行检索,提供了极高的标引深度。它允许用户利用自然语言进行检索,增大了用户的自由度。
3.全文检索存在的问题
虽然全文检索技术在Web搜索引擎中取得了辉煌的成绩,但仍存在不足,主要有:
(1)对同一页面的重复检索即同一检索词检索出的多条检索结果可能是同一个地址。而这种重复的现象,基本有以下两种情况:
①标题、页面内容及URL地址完全相同,这种重复现象在全文检索系统发展初期比较突出,但目前已经较少。
②虽然在URL上略有区别,但实际上指向的地址却是同一站点的同一页面内容,这种重复现象在各种搜索引擎中比较常见。如在google搜索引擎中输入关键词“科研”,就出现以下内容:“中国教育和科研计算机网”2006年3月10日,URL地址为http://www.edu.cn/;“Home Page科研发展”2006年3月10日,URL地址为http://www.edu.cn/index.shtml。两个URL地址虽然不同,但是指向的却是同一个站点中的同一个页面内容。随着全文检索技术的发展,各个检索系统已普遍具有较好的去重功能,但这种重复的情况仍然存在。
(2)查准率还有待提高
由于全文检索技术的全词匹配和语词本身的特点,会导致查准率不高。例如,某个用户想检索我国长江流域的一些资料,如以“长江”作为检索词,则“长江日报”或是“长江大学”也会被搜索引擎认为是检索结果,从而降低了查准率。对于这种现象,需要对搜索引擎构造一个词典,将可能出现的误检词总结起来作为一个词典存放,将检索结果中的词和词典中的词一一对照,将“长江日报”和“长江大学”等误检词带出的结果自动屏蔽,从而提高检索的查准率。造成查准率低的另一原因则是由网页的制作者造成的,由于有的检索引擎允许web页面制作者自定义关键词及摘要,这样就导致关键词和摘要缺乏一定的规范性,从而直接导致查准率不高。另外,由于各搜索引擎的索引工作由程序自动根据web页面中的关键词的词频及关键词的位置等因素确定索引关键词,因此,一些Web页面制作者为了提高自己的Web页面的命中率以及和大量热门关键词的相关度,通过复制网站或网页的内容并分配以不同域名和服务器,以此欺骗搜索引擎对同一站点或同一页面进行多次索引,从而进一步导致查准率降低。
(3)数据更新已成为检索不容忽视的问题
在庞大的Web空问,每天都有大量的网站和网页的变动,一个好的检索工具必须能及时对这些网站和网页的变动进行新陈代谢,剔除过时的网页和网站,否则就会导致大量的无效地址和错误链接,直接影响到搜索的结果和质量。对于错误的链接,一方面要提高数据库更新速度,另一方面应该由广大的网络用户进行测试和信息反馈。事实上,国内大多数Web搜索引擎并没有一种真正行之有效的检索用户反馈机制,由于web资源的更新速度太快,仅仅依靠检索站点本身的精力和时间根本无法有效地跟上Web的数据更新,所以应该依靠用户的反馈意见进行有效的“垃圾清扫”,并且给予这些用户一定的奖励,这样使广大检索用户也投身到提高检索质量的工作中。
(4)检索结果过多
大部分检索引擎都在强调将更多的站点呈现给用户,然而站点质量良莠不齐的现象也会对用户使用网上信息资源产生潜在影响。随着web资源的不断增多,一个检索词可以带出几百个网站和成千上万的网页。而用户在使用这种全文检索系统时,通常只会点击检索结果中的前面几页,而很少注意后面的链接,长久下去,就会造成很多排在检索结果后面的站点或页面得不到有效的利用。显然,质量良好的站点应该优先呈现给用户,这就对检索结果的排序提出了要求。一方面应该存在一个权威的网站评估机构,对网上的各类站点进行评论和评分,将质量好的站点优先推荐给用户,网络用户也可以对各类站点进行投票和评分,分数高的网站将获得优先显示的特权。另一方面,建立先进的数学分析模型,除了对网页的链接数进行分析以外,还要判断这些链接的质量,同时分析网站的结构和客户的点击行为,以及准确识别大量的针对搜索引擎的“作弊”行为,建立合理的算法,对这些网站和网页进行智能化排序。
从检索技术本身来看,如何更好地解决语词的切分问题以及语义理解、句法理解问题,提高全文检索系统的检索性能,乃至实现具有学习、分析、理解、推理机制的智能化和基于知识库推理机制的信息检索系统,才是未来全文信息检索系统发展的主要趋势。
(1)智能检索
智能检索能根据用户提出的任意字、词,直接对文献资料的内容进行多角度、多侧面的检索,它的检索目标是自动根据用户的提示(如最初的检索项)而搜索出相关的文档。“相关”的确定方式有概念关联和非概念关联两种。概念关联指两个词之间在语义上有确定的联系,这种联系既可以通过同义词表来实现,也可以通过某种算法在语料库中自动抽取;非概念关联指两个词之间的联系可能是暂时的,如中国与亚运会在2000~2006年的文献中是关联的,而其他时间则不是。智能检索还可以进一步采用人工智能技术、自然语言处理技术等,有广阔的发展空间,它的使用将使全文检索的查询效率进一步提高。目前基于文本的关键词智能检索系统主要是基于智能Agent,它以用户需求为先导,根据用户特定的需求以及在一段时间内的偏好为衡量标准来筛选信息,并提供友好的自然语言查询。当用户查询请求不明确时,智能代理Agent会利用知识库中的推理机制推断用户的潜在需求,并进行搜索。
(2)知识检索
知识检索能够在对蕴含在信息中的知识和知识关联进行分析的基础上,在知识处理技术和知识组织技术的支持下,实现基于语义理解的智能化查询。它综合应用信息科学、人工智能、认知科学及语言学等多学科的先进理论与技术,基于知识和知识组织,融合知识处理和多媒体信息处理等多种方法与技术,是一种能充分表达和优化用户需求,高效存取所有媒体类型的知识源(文本、图像、视频、声音等),并能准确精选用户需要结果的高级信息检索方法。
(3)基于XML的信息检索
Web搜索引擎的全文检索技术发展至今,多是基于词语匹配层次上,网络信息的检索效果一直没有显著提高,传统的HTML置标(tag)关注的只是信息在输出设备上的呈现形式,而对信息内容本身的结构化关注不够,这直接导致了以搜索引擎为代表的网络信息检索工具(系统)采用全文检索技术对网页中的每一个字或词建立索引时,难以考虑语词的上下文关系及其具体含义,增大了在无关信息中查询到检索用词的可能性。因此,要从根本上改善网络信息检索工具的检索效果,应该考虑从网页项目和结构的标准化,以及从索引机制的完善做起。而可扩展标记语言XML在这方面有着独到的优势和特点,正逐步成为网络信息发布的页面语言。
XML已经作为一种标准在出版和数据交换中得到应用,为更好的信息检索创造了很好的机会。XML能够用结构化、机器可读的格式来显示数据的语义。一些机构已经开始定义标准模式来获得许多域的语义,而一些内容提供商开始用XML和标准模式来发布信息。于是,有关专业人士指出,“XML将引发其对web查询技术、web数据库技术及Web数据交换技术的全面革新”。
全文检索效率、质量的高低与检索算法的设计密切相关,科学的算法设计可以大大提高检索的速度、查全率和查准率,并且在查全率和查准率之间找到一个很好的平衡点。
简单匹配全文检索是开始研究全文检索的一种尝试,早期处于试验阶段的单机全文检索系统基本上都是采用的这种算法。网络兴起以后,Intemet上的许多搜索引擎都是使用简单匹配全文检索技术,如新浪、搜狐、163等使用的是百度的搜索引擎。最初该搜索引擎对检索结果的处理仅仅是简单匹配,比如输入“民法”,含有“人民法院”的网页也被命中,往往是查全率达到了,查准率却很低,出现大量垃圾信息。随着全文检索技术的不断发展,百度的搜索技术也得到了很大程度的改进,现在的百度支持相关检索、并行检索,可以使用逻辑减剔除无关网页等。比如检索有关“巴西”的网页信息,含“古巴西部”字样的网页同样会命中,为了剔除该无关信息,可以构造检索式:巴西一古巴西部。
1.算法描述
简单匹配全文检索,是检索词串与全文直接进行匹配的一种算法,具体如下:
①检索词串S的首字符S[1]与全文库逐字匹配,匹配成功则记录检索词S[1]在全文中的位置P[j],并转到②,反之则返回检索失败。
②取检索词的下一个字符s[i]继续与全文库中的位置为P[j]+2的字符匹配,匹配成功则重复②,直到S遍历一次,转到④;反之,转到③。
③取检索词首字符s[1]与全文从位置P[j]+i*2开始匹配,匹配成功则记录S[1]在全文中的位置P[门并返回②;反之返回检索失败。
④遍历全文一次,当全文中有连续的字串与之匹配,返回检索成功;否则返回检索失败。
⑤编写检索结果文档。
2.简单匹配全文检索的优点
①简单匹配全文检索算法描述简单。由于避开了汉语分词这一障碍,使算法描述的复杂度大大下降。
②程序实现容易。使用Delphi、VisualBasic等,借助三重循环就可以实现一个简单匹配全文检索系统,可以说正是算法的简单才使程序实现变得容易。
③简化了用户操作。由于没有主题词表,检索用户无需花费时间和精力来熟悉并了解专门的标引体系和主题词表,用户甚至不必学习提问逻辑式的书写,因为用户只需要输入有实际检索意义的词,通过与全文的匹配给出检索结果,从而大大简化了用户的操作步骤。
④简单匹配全文检索系统便于维护。对检索系统的维护工作,包括导人新的全文、删除过时的、废弃不用的全文等工作,通过导人,将其他格式的全文信息转换成文本格式进行处理。
3.简单匹配全文检索的缺点
①查全率难以控制。由于采用原文匹配,对于同一概念的检索词原文可能有不同的表达方式,比如,输入检索词“计算机”,检索有关计算机的相关文献,如果原文用的是“电脑”,则该篇文献即使非常符合检索要求也不会被命中。
②查准率难以控制。原文直接匹配往往会导致误组配问题,比如,检索词为“巴西”,但可能会出现含有“古巴西北部”的文献记录。
③检索效率低下。由于没有对原文献的存储结构进行优化,每一次检索都要将原文献读入内存,检索词与原文献进行匹配,系统的开销特别巨大。当处理的文献量激增时,系统的响应时间也慢的让人无法忍受。
鉴于无标引全文检索算法的种种弊端,人们又提出了单汉字索引全文检索算法。目前,该算法在中小型全文检索系统中得到了很好的实现。通常单汉字与全文库中的文献记录有二维对应关系,如表1所示。
表1 单汉字与全文库中文献记录的对应关系
C1 | C2 | … | Cn | |
#R1 | P11 | P12 | … | P1n |
#R2 | P12 | P22 | … | P2n |
… | … | … | … | … |
#Rm | Pm1 | Pm2 | … | Pmn |
其中,Ci代表字,作为检索词的人口;#Ri代表文献记录号,用来唯一标识一篇文献并按一定顺序(升序或降序)排列组成;Pij代表地址集合,由于一个字在不同的文献中有不同的位置,因此地址集合应包括文献记录号和Ci在该篇文献中的起始位置。
全文数据库的一般结构为:文献记录号、作者、题名、刊名、分类号、出版日期、文摘、机构、全文文本。
进行单汉字索引时,在一篇文献中Ci可能出现在全文文本字段以外的其他宇段上,比如,刊名、文摘等,因此Pi_i中还应包括字段代号。
设D是检索范围内的所有文章的集合,则全文检索可以表述为:
给定任何一个含有通配符的字串S为检索条件,以D中满足S的文章为输出结果,若一篇文章中至少有一个与D匹配的字符串,则称该文章是满足的。
1.算法描述
①检索词串S的长度为m,取S的首字符S[1]与单字索引库匹配,匹配成功记录P1i地址集合D1,转入步骤②,匹配失败返回检索失败。
②取检索词串的下一个字符S[i]继续与单字索引库匹配,匹配成功记录蹦地址集合Di,反之返回检索失败。
③重复步骤②,直到检索词串S中的每一个字都遍历一次。
④对D1到Dm进行集合运算,相同文献记录号的归为一个集合Rk。
⑤对集合Rk进行位置运算,测试检索字串在同一文献中的起始位置的连续性,若连续则记录文献记录号,反之,不予记录。
⑥编写检索结果文档。
2.单汉字索引全文检索算法的优点
①单汉字索引全文检索无需切分词语,节约了文献结构优化的时间。汉字是汉语构成的最小单位,具有不可分割性。单汉字索引全文检索就是利用汉字与汉字之间的这种自然分割,建立单汉字索引库,避开汉语切词分词的障碍,节约了文献结构优化的时间,大大提高了全文检索的速度,因此有人将单汉字标引全文检索又称做“无标引检索”。
②计算机自动化处理的程度极高。汉语单字的天然不可分割性决定了单字索引库的建立可以通过计算机自动处理完成,不需繁杂的人工处理。
③该算法适用的学科领域比较宽广。由于不需建立词典,打破了不同学科领域词典的分割,用一个单字索引库即可快速完成全文检索。
④该算法处理新词的能力较强。单字的组配非常灵活,任何新词都可以通过字的组配获得,这是一般的词典法所不及的。
3.单汉字索引全文检索算法的缺点
①查准率低。由于没有专门的词典保证,存在错误匹配现象,故此检准率得不到保证,目前主要是通过位置检索来控制。
②查全率难以控制。由于汉语的复杂性,文献当中会出现许多的同义词、相关词,而单汉字索引使用的是单字完全匹配,这就会出现由于检索词的表达方式不同导致漏检。
③难以对检索结果进行缩检和扩检,这是单汉字索引全文检索算法的一个瓶颈。
④降低了检索速度。大部分汉语词由两个至三个单汉字组成。每进行一次检索,除了少数一字词外,一般都需要对两个、三个甚至更多个汉字进行交运算,将文献记录号相同的归为一个集合,再将其组合成词,进行匹配运算。这种处理技术显然耗时较多,降低了系统的检索速度。
⑤检索者智力负担较重。在单汉字系统中,没有一个统一的参照标准。用户无法借助于主题词典、检索词表等工具来选取检索词,构造检索策略,而只能凭空构想出所需采用的检索词。因此,要想比较完整地查找出某一主题文献,必须构造出能表达该主题概念的所有语词,这无疑加重了检索者的智力负担。
⑥无实际含义的虚字和分辨力极低的汉字占了较多的单字索引库的空间。这个问题已随着近些年提出的停用词表技术的采用而有所改善。
单纯的单汉字索引全文检索,查全率和查准率都低,主要是缺少后控词表对检索结果加以控制。后控词表就是将检索词的同义词和相关词、上下位词收集起来编成词表,用以辅助检索。用户只要输入已知的检索词,通过后控词表可以反映出同义词、相关词、上下位词等,从而可以提高查全率和查准率。
1.单汉字后控词表全文检索算法
①用检索词与后控词表匹配,系统会利用后控词表自动把同义词、相关词、上位词和下位词纳入检索式,并用逻辑“或”、“与”彼此连接在一起,进行扩检和缩检,从而提高查全率。设经过后控词表处理后的检索词串由n个检索词构成。
②设检索词串S1的长度为ml,取S1的首字符S1[1]与单字索引库匹配,匹配成功记录P1j地址集合D11,转入③,匹配失败返回检索失败。
③检索词串的下一个字符S1[i]继续与单字索引库匹配,匹配成功记录地址集合D1i,反之返回检索失败。
④重复③,直到检索词串S1中的每一个字都遍历一次,转到⑤。
⑤取检索词串S2,长度为m2。重复步骤②~④,直至遍历完整个检索词串,转到⑥。
⑥对D11到D1m1,D21到D2m2,……,Dn1到Dnmn分别进行集合运算,同一文献记录号的归为一个集合,分别为R1k,R2k,……,Rnk,转到⑦。
⑦对集合R1k,R2k…….,Rnk分别进行位置运算,测试检索字串在同一文献中的起始位置的连续性,若连续则记录文献记录号,反之,不予记录,转到⑧。
⑧对位置运算后的结果进行关系运算,按照检索式中各检索词之间的逻辑关系执行。
⑨写检索结果文档。
2.单汉字后控词表全文检索的特性
单汉字后控词表很好地解决了文献中的隐含概念难以表达和处理的问题。隐含的概念是指标引文献中没有直接出现的,但却是检索者常用来检索的关键词。例如,一篇关于“脚踏车”的文献在全文中并未出现此词,如果用该词检索,本应能命中文献,而由于单汉字标引只“忠实”于标引文献,对隐含主题无能为力,此文献实际不能被命中。因此,检索系统的查全率受到影响。单汉字后控词表具有完善的扩检和缩检功能。单汉字检索系统~般而言仅能通过添加和减少检索词的字符个数来实现扩检和缩检,这对于一个完善的检索系统而言是远远不够的,而且有些检索词根本不能通过增减字来完成扩缩检。例如,检索词“苹果电脑”,如从字面上实现扩检的话,很容易错误地得出其上位词为“苹果”和“电脑”,而其真正的上位词应为“苹果牌电脑”和“电脑”。
当然单汉字后控词表全文检索也有其不足之处,问题就在于高效率的后控词表的建立。如果没有高质量的后控词表与单汉字检索系统相匹配,那么该种算法的优势就得不到体现。