全文检索技术的研究
作者:李中慧
来源:《科学与财富》2015年第27期
摘 要:本文从全文检索定义出发,主要介绍全文检索的相关技术,例如,汉语分词技术、倒排索引等,以及介绍全文检索的检索语言,文章最后就全文检索的几种实现方法和系统衡量指标加以阐释。
关键词:全文检索;倒排索引;汉语分词 1全文检索相关概念
全文检索是当前主流的自然语言检索形式,是关键词检索技术的主要用途,几乎成了自然语言检索的同义词。所谓全文检索,是指直接以全文本信息作为主要处理对象,并根据数据资料的内容而不是外在特征来实现的信息检索手段[1]。它是对文本数据库进行任意字词的遍历式匹配检索,依次找出文本中所有与检索者所输入的关键词完全一致的地方。它的基本工作模式是不管被检索词出于任何位置,都能够将数据库中所有包含检索词的文献检索出来,可以说文献中的任意一个词都可以作为检索文献的条件。全文检索以全文文本(原始记录)中的检索词、字间的特定位置为对象的运算,没有标引用词,文本中任何字符和字符串均可作为检索的入口点。因此,全文检索是一种不依赖于传统的叙词表,可以直接使用自由词的检索方法。 2全文检索相关技术
在全文检索系统中,文档被贮存在数据库中时,有一个相应的索引被维护着,用户查询得到处理的过程即通过索引匹配文档并返回给用户的过程。实现全文检索的相关技术主要包括索引建立和查询处理两方面的内容[2]。前者的索引构建,是为提高后者的性能。
建立索引是对文档集进行预处理,主要是将文本文档中的内容识别,使得全文检索系统能够快速、准确的响应用户提交的查询,其内容查询处理应用到的TF, IDF、查询词或短语等。索引建立又包含文档分析和倒排索引构建两方面的内容。
查询处理即信息获取的过程,指的是根据用户提交的查询,返回文档集进行匹配的过程。 2.1 汉语分词技术
汉语最大的特点就是句子中没有特定的分隔标志,一个汉字可以与其他许多汉字进行组合,与之构成不同含义的词和词组,这样一来,计算机很难通过汉字间的组合词而自动把它们各自分离开来,也很难对各个词语的有用程度进行判断。所以,解决计算机把汉语句子自动切分词语的技术是实现自动抽次的首要问题。目前,这种汉语切分技术已有不少研究,词典匹配
龙源期刊网 http://www.qikan.com.cn
分词法、设立分词标志法和理解式分词法是国内采用较多的。其中,词典匹配法使用较多,包括最长匹配法、逐词遍历匹配法、最佳匹配法、双向扫描法等。
下面以“他们在花卉植物园玩”为例,简单介绍一下几种匹配方法的使用: 1、正向最大匹配法:
从前往后取词即为正向,从7->1每次递减一个字,直到词典命中或剩下1个单字。 第1次:“他们在花卉植物”,扫描7字词典,无 第2次:“他们在花卉植”,扫描6字词典,无 ……
第6次:“他们”,扫描2字词典,有 扫描中止,输出第1个词为“他们”。 去除第1个词后,开始第2轮扫描:
第1次:“在花卉植物园玩”,扫描7字词典,无 第2次:“在花卉植物园”,扫描6字词典,无 ……
第6次:“在花”,扫描2字词典,有 扫描中止,输出第2个词为“在花”。 去除第2个词后,开始第3轮扫描: 第1次:“卉植物园玩”,扫描5字词典,无 第2次:“卉植物园”,扫描4字词典,无 第3次:“卉植物”,扫描3字词典,无 第4次:“卉植”,扫描2字词典,有 扫描中止,输出第3个词为“生动”。
龙源期刊网 http://www.qikan.com.cn
第4轮扫描:
第1次:“物园玩”,扫描3字词典,无 第2次:“物园”,扫描2字词典,无 第3次:“物”,扫描1字词典,无 扫描中止,输出第4个词为“物”。 非字典词数加1,开始第5轮扫描: 第1次:“园玩”,扫描2字词典,无 第2次:“园”,扫描1字词典,有 扫描中止,输出第5个词为“园”。 单字字典词数加1,开始第6轮扫描: 第1次:“玩”,扫描1字字典词,有
扫描中止,输出第6个词为“玩”,单字字典词数加1,整体扫描结束。
正向最大匹配法,最终切分结果为:“他们/在花/卉植/物/园/玩”。其中,单字字典词为2,非词典词为1。
2、逆向最大匹配法:
从后往前取词即为逆向,其逻辑和正向相同。即: 第1轮扫描:
第1次:“在花卉植物园玩”,扫描7字词典,无 第2次:“花卉植物园玩”,扫描6字词典,无 ……
第7次:“玩”,扫描1字词典,有 扫描中止,输出“玩”。
龙源期刊网 http://www.qikan.com.cn
单字字典词加1,开始第2轮扫描:
第1次:“们在花卉植物园”,扫描7字词典,无 第2次:“在花卉植物园”,扫描6字词典,无 第3次:“花卉植物园”,扫描5字词典,有 扫描中止,输出“花卉植物园”。 开始第3轮扫描:
第1次:“他们在”,扫描3字词典,无 第2次:“们在”,扫描2字词典,无 第3次:“在”,扫描1字词典,有 扫描中止,输出“在”。
单字字典词加1,开始第4轮扫描: 第1次:“他们”,扫描2字词典,有 扫描中止,输出“他们”,整体扫描结束。
逆向最大匹配法,最终切分结果为:“他们/在/花卉植物园/玩”。其中,单字字典词为2,非词典词为0。
3、双向最大匹配法:
上述匹配法都有其局限性,因此有些学者又提出了双向最大匹配法,即对两种算法都切分一遍,然后选取大颗粒度词最多,非词典词和单字词最少的作为分词结果输出。
针对“他们在花卉植物园玩”一例,正向最大匹配的切分结果为:“他们/在花/卉植/物/园/玩”,两字词数量为3,单字词数量为2,非词典词数量为1。逆向最大匹配切分结果为:“他们/在/花卉植物园/玩”,五字词数量为1,两字词数量为1,单字词数量为2,非词典词数量为0。这样一来,正向(非字典词)>逆向(非字典词);正向(单字字典词)=逆向(单字字典词);正向(总词数)>逆向(总词数),因此,最终分词结果为逆向匹配。 2.2 停用词
龙源期刊网 http://www.qikan.com.cn
人类使用的语言博大精深,有许多没有实际意义,具有功能性的词汇,这些词汇被称作停用词,如或、的、是、很等。由于停用词在文本中是普遍存在的,而且需要大量的空间得以存储,再加上停用词并不能给文本提供有用的信息,所以,文本检索系统会去除文档集中的停用词。
2.3 倒排索引
倒排索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址,其实质就是根据属性的值查找记录。由于是根据属性值来确定记录的位置,与以往由记录来确定属性值相反,所以称为倒排索引。
倒排索引与书籍后面的索引类似,同样是将待检索的各个词汇组织起来形成文档,每个词都有一个含有该词相关信息的倒排列表,以供索引。倒排索引是一种效率高、使用灵活的索引结构,因此被广泛使用。
下面简单介绍一下Lucene倒排索引的原理: (1)设有两篇文章:
文章1的内容为:Jim lives in Beijing,Lucy lives in Beijing too. 文章2的内容为:She once lived in Shandong.
(2)lucene是基于关键词索引的,第一步,我们要得到文章1和文章2的关键词。 ①首先,要找出字符串中的全部单词,即分词。
②过滤掉文章中没有实际意义的词语,例如”in”, “once” “too”等词。
③统一所有单词的大小写,保证用户查“She”时能把含“she”,“SHE”的内容一并查找。 ④将所以词汇还原,保证用户查找“live”时能把含“lives”,“lived”的内容一并查找。 ⑤过滤文章中不代表任何概念的标点符号。
经过上面处理后,文章1的全部关键词为:[jim] [live] [beijing] [lucy] [live] [beijing];文章2的全部关键词为:[she] [live] [shandong]。
(3)得到文章中的全部关键词后,即可建立倒排索引。传统的信息检索是通过“文章号”来查找“文章中全部关键词”。倒排索引则是完全相反的关系,是通过“关键词”对“含有该关键词的所有文章号”进行查找。文章1和文章2经过倒排处理后,具体内容为:
龙源期刊网 http://www.qikan.com.cn
关键词 文章号 beijing 1 she 2 lucy 1 live 1,2 shandong 2 jim 1
通常情况下,仅仅知道关键词在哪些文章中出现还并不能够准确无误的进行索引,还需要知道所有关键词在文章中出现次数和出现的具体位置。关键词位置的设置通常有以下两种:①字符位置,即表示文章中的第几个字符记录该词,其优点是关键词出现时对关键词可以快速定位;②关键词位置,即表示文章中第几个关键词记录该词,其优点是节约索引空间、词组查询快。
对关键词添加上“出现次数”和“出现的具体位置”的相关信息后,倒排索引结构为: 关键词 文章号 [出现频率] 出现的具体位置 beijing 1 [2] 3,6 she 2[1] 1 lucy 1[1] 4
live 1 [2] 2,5, 2 [1],2 shandong 2[1] 3 jim 1[1] 1
以live 这一具体行为例,我们简单介绍一下该结构:live一词在文章1中出现2次,文章2中出现一次,出现的具体位置表示为“2,5,2”。接下来,我们结合文章号和出现次数进行分析,文章1中live出现2次,所以“2,5”表示该词在文章1中出现的两个具体位置为第2和第5;文章2中出现一次,那么最后一个“2”表示live在文章2中,作为第 2个关键字。 上述内容就是lucene索引结构的具体检索过程,也是其检索技术中最核心的部分。
龙源期刊网 http://www.qikan.com.cn
3全文检索系统的检索语言
检索语言(retrieval language)是用于描述信息系统中信息的内容特征及外表特征和表达用户信息提问的一种专门语言[3]。人与系统交流对话的基础就是系统的检索语言,按检索语言的受控情况,具体分为人工语言和自然语言两种。人工语言(ar-tificial language)是人工进行控制的语言,多数采用的规范词(即采用特定的词汇来专指相应的概念)。而自然语言(natural language)并不受人工控制,取其自然本色的状态,多数采用非规范词(即不加规范、不受控的自由词),自然语言的自由词有较大的灵活性,例如关键词就是其中一种。 全文检索系统中,多数使用的都是不加任何控制的自由词,文本中的自然语言是检索时最常用的检索方式。自然原始态是自然语言的最大特点,这里自然语言是指使用文献的作者或文摘编写者最初使用的语言,其中包括文献题目、文摘或正文中出现的词语、关键词、自由词。自然语言具有许多优点,具体如下:
(1)由于自然语言是文献作者编写文献时使用的原词,所以其文献内容的专指度较高,同时检准率比较高;
(2)由于自然语言是对文献题目、文摘或正文中所有具有检索实际意义的词进行标引,所以其检索途径多;
(3)由于自然语言的检索词不需要人工标引,是计算机自动抽取的,所以,不仅仅是节省人力,而且降低对标引人员专业水平的要求;
(4)由于自然语言并不需要人工控制,所以处理过程快,可减少检索的响应时间。 正是上述自然语言的这些优点,使得自然语言检索成为信息检索领域最受关注、最具前景的检索方式。但是,自然语言同样具有值得改进的地方,例如,词汇语义无关联、语义无控制、术语表达模糊等,这些缺点使得自然语言在情报检索系的应用中面临一下两个难题:①如何准确无误、充分的从自然语言文本中抽出有实际意义的词汇,以及如何对抽取词进行有效匹配的问题,这些问题的之所以负责是因为作者在编辑文献时的用词并没有明显的规律;②由于自然语言缺乏语义间的关联,如何克服这些对检索不利的问题。 4 全文检索的几种实现方法和系统衡量指标
现阶段,结构化数据和非结构化数据是以计算机存储设备为载体的电子信息的两大类别,其中,结构化数据简单来说就是数据库,诸如企业ERP、财务系统、学生的成绩数据等;非结构化数据则是一些例如文本、音频、视频、图片、图像等数据。据相关统计得知,非结构化数据占整个信息数据总量的80%以上。针对结构化数据,用RDBMS(关系数据库管理系统)技术来管理是目前最流行的一种结构化数据管理方式,但是,由于RDBMS自身底层结构的缘故使得它不具备管理大量非结构化数据的能力,尤其是对海量非结构化数据进行查询时,速度极慢。针对非结构化数据,通过全文检索技术就可以对其进行高效管理。
龙源期刊网 http://www.qikan.com.cn
(1)全文检索的几种实现方法
①采用自由设定的检索项(如关键词、字符串等)直接与全文文本对照,进行检索[4]; ②对文本内容中的每个检索项进行位置扫描,然后排序,建立以每个检索项的离散码为表目的倒排文档[4];
③采用超文本模型建立全文数据库,实现超文本检索[4]。 (2)全文检索的系统衡量指标
检索系统的优良一般用其检索效果(retrieval effectiveness)来衡量,检索效果反映的是检索系统的检索能力,是指检索系统检索的有效程度。衡量全文检索检索系统的基本指标有:查全率、查准率、响应时间、收录范围和输出形式,各个指标具体内容如下:
查全率(recall ration)即检出的相关文献数/系统中相关文献总数,指的是检出的相关文献占系统中相关文献总数的百分比,衡量的是系统检索出与用户相关的文献的能力;查准率(precision ration)即检出的相关文献数/检出的文献总数,指检出的相关文献占检出文献总数的百分比,衡量的是系统检索用户相关文献的能力;检索的响应时间指的是从用户提交检索内容到系统检索出相关内容的时间,衡量的是系统的检索速度;收录范围指的是文献提供查找的范围;输出形式指的是是信息输出的表现形式。
其中,查全率和查准率同样是评价和衡量全文检索系统检索效率及功能的两个主要技术指标与重要参数[5]。 参考文献
[1]张琪玉.全文检索与索引[J].图书馆杂志,2007,11:3-5. [2]张帅.全文检索技术的研究和应用[D].北京邮电大学,2012. [3]http://www.docin.com/p-915139911.html.
[4]孙清玉.有效的信息检索技术——全文检索[J].情报探索,2010,02:72-74.
[5]钱爱兵.全文检索算法设计及全文检索系统概述[J].现代图书情报技术,2003,02:42-44. [6]顾益军,樊孝忠,王建华,汪涛,黄维金.中文停用词表的自动选取[J].北京理工大学学报,2005,04:337-340.
[7]唐志荣.全文检索效果初探[J].情报科学,2003,10:1095-1097.
龙源期刊网 http://www.qikan.com.cn
作者简介:李中慧(1986-),女,河南郑州人,助理馆员。
因篇幅问题不能全部显示,请点此查看更多更全内容