基于Indri的检索模型

基于Indri的检索模型
基于Indri的检索模型

基于Indri 的检索模型研究

王莉军

(渤海大学辽宁锦州121013)

摘要:基于Indri 是开源的检索工具,针对以往单纯的语言模型无法支持结构化查询的目的,我们采用推理网络模型和语言模型两种模型相结合的方法,结合推理网络模型支持比较复杂的结构化查询(结构化通常指查询语言中的用来表达检索文档中词与词之间联系的operators ),和语言模型及平滑技术对推理网络中的一些节点进行有效的预估的优势使查询得到比较好的效果,提出了一套Indri 检索模型。关键词:Indri ;检索;模型;查询中图分类号:N3

文献标识码:A

文章编号:1674-6236(2012)24-0005-03

Indri -based retrieval model

WANG Li -jun

(Bohai University ,Jinzhou 121013,China )

Abstract:Based on Indri is open source search tools ,according to the previous simple language models cannot support structured query purposes ,we use the inference network model and language model two kinds of model combining method ,combined with the inference network to support more complex SQL (structured query language usually refers to the expression of words and word retrieval document links between operators ),and the language model and smoothing technology to inference network in some node evaluate advantages make the query to get better effect ,put forward a set of Indri retrieval model.Key words:Indri ;search ;model ;query

收稿日期:2012-08-18

稿件编号:201208081

基金项目:辽宁省教育厅项目(2008005)

作者简介:王莉军(1975—),女,辽宁锦州人,硕士,讲师。研究方向:计算机教育教学。

Indri 是开源的信息检索工程Lemur 的一个子项目。Indri

是一个完整的搜索引擎,支持各种不同格式文本的索引创建,提出了优秀的文档检索模型,支持结构化查询语言,在研究和实际应用领域都有比较高的价值。Indri 系统采用C++语言编写,提供了方便的API 供使用者调用,由于项目本身开源,对于开发者而言,也可以方便的对其进行二次开发。

1Indri 检索模型

Indri 结合了推理网络模型(Inference net )和语言模型

(language modeling )的优点,提出了一套检索模型,其利用推理网络模型的优势来支持比较复杂的结构化查询(结构化通常指查询语言中的用来表达检索文档中词与词之间联系的

operators ),又利用语言模型及平滑技术对推理网络中的一些

节点进行有效的预估,从而使查询得到比较好的效果[1]。这之前,单纯的推理网络模型节点的预估采用的是规格化的tf.idf (这个值与词在文档中出现的频率称正比,与包含该词的文档数成反比)权重,而单纯的语言模型则无法支持结构化查询。所以Indri 检索模型采用了两种模型相结合的方式[2]。

推理网络模型网络图如图1所示,实际上是一个贝叶斯网络(Bayesian networks )。贝叶斯网络是一个有向,无环图。网络中每个节点代表一个事件,有一个连续或者离散的结果集。每个非根节点存储了一个条件概率表,这个条件概率表完全描述了与给定父节点的情况下该节点出现相关联的结果集的概率。每个与根节点相关联的结果集被指派了一个先验概率。这样在已知网络图,先验概率,条件概率表和节点代表的事件之后,就可以通过网络计算出检索文档中出现查询的概率,并按照这个概率值的大小进行排序输出。

主要包含有以下几类节点[3]:

电子设计工程

Electronic Design Engineering

第20卷Vol.20第24期No.242012年12月Dec.2012

图1

推理网络模型网络图

Fig.1

Inference network network diagram

文本挖掘模型

文本挖掘模型:本特征提取 文本挖掘模型结构示意图 1. 分词 分词实例: 提高人民生活水平:提高、高人、人民、民生、生活、活水、水平 分词基本方法: 最大匹配法、最大概率法分词、最短路径分词方法 1.1 最大匹配法 中文分词在中文信息处理中是最最基础的,无论机器翻译亦或信息检索还是其他相关应用,如果涉及中文,都离不开中文分词,因此中文分词具有极高的地位。正向最大匹配法算法如下图:

实例:S1="计算语言学课程是三个课时",设定最大词长MaxLen= 5,S2= " " (1)S2=“”;S1不为空,从S1左边取出候选子串W="计算语言学"; (2)查词表,“计算语言学”在词表中,将W加入到S2中,S2=“计算语言学/ ”,并将W从S1中去掉,此时S1="课程是三个课时"; (3)S1不为空,于是从S1左边取出候选子串W="课程是三个"; (4)查词表,W不在词表中,将W最右边一个字去掉,得到W="课程是三"; (5)查词表,W不在词表中,将W最右边一个字去掉,得到W="课程是"; (6)查词表,W不在词表中,将W最右边一个字去掉,得到W="课程" (7)查词表,W在词表中,将W加入到S2中,S2=“计算语言学/ 课程/ ”,并将W从S1中去掉,此时S1="是三个课时"; (8)S1不为空,于是从S1左边取出候选子串W="是三个课时"; (9)查词表,W不在词表中,将W最右边一个字去掉,得到W="是三个课"; (10)查词表,W不在词表中,将W最右边一个字去掉,得到W="是三个";

(11)查词表,W不在词表中,将W最右边一个字去掉,得到W="是三" (12)查词表,W不在词表中,将W最右边一个字去掉,得到W=“是”,这时W是单字,将W加入到S2中,S2=“计算语言学/ 课程/ 是/ ”,并将W从S1中去掉,此时S1="三个课时"; 。。。。。。 。。。。。。 (21)S2=“计算语言学/ 课程/ 是/ 三/ 个/ 课时/ ”,此时S1=""。 (22)S1为空,输出S2作为分词结果,分词过程结束。 代码如下: [cpp]view plaincopy 1.#include 2.#include 3.#include 4.#include 5.#include https://www.360docs.net/doc/201808829.html,ing namespace std; https://www.360docs.net/doc/201808829.html,ing namespace stdext; 8. 9.class CDictionary 10.{ 11.public: 12. CDictionary(); //将词典文件读入并构造为一个哈希词典 13. ~CDictionary(); 14.int FindWord(string w); //在哈希词典中查找词 15.private: 16. string strtmp; //读取词典的每一行 17. string word; //保存每个词 18. hash_map wordhash; // 用于读取词典后的哈希 19. hash_map::iterator worditer; // 20.typedef pair sipair; 21.}; 22. 23.//将词典文件读入并构造为一个哈希词典 24.CDictionary::CDictionary() 25.{ 26. ifstream infile("wordlexicon"); // 打开词典 27.if (!infile.is_open()) // 打开词典失败则退出程序 28. { 29. cerr << "Unable to open input file: " << "wordlexicon" 30. << " -- bailing out!" << endl; 31. exit(-1); 32. }

基于Indri的检索模型

基于Indri 的检索模型研究 王莉军 (渤海大学辽宁锦州121013) 摘要:基于Indri 是开源的检索工具,针对以往单纯的语言模型无法支持结构化查询的目的,我们采用推理网络模型和语言模型两种模型相结合的方法,结合推理网络模型支持比较复杂的结构化查询(结构化通常指查询语言中的用来表达检索文档中词与词之间联系的operators ),和语言模型及平滑技术对推理网络中的一些节点进行有效的预估的优势使查询得到比较好的效果,提出了一套Indri 检索模型。关键词:Indri ;检索;模型;查询中图分类号:N3 文献标识码:A 文章编号:1674-6236(2012)24-0005-03 Indri -based retrieval model WANG Li -jun (Bohai University ,Jinzhou 121013,China ) Abstract:Based on Indri is open source search tools ,according to the previous simple language models cannot support structured query purposes ,we use the inference network model and language model two kinds of model combining method ,combined with the inference network to support more complex SQL (structured query language usually refers to the expression of words and word retrieval document links between operators ),and the language model and smoothing technology to inference network in some node evaluate advantages make the query to get better effect ,put forward a set of Indri retrieval model.Key words:Indri ;search ;model ;query 收稿日期:2012-08-18 稿件编号:201208081 基金项目:辽宁省教育厅项目(2008005) 作者简介:王莉军(1975—),女,辽宁锦州人,硕士,讲师。研究方向:计算机教育教学。 Indri 是开源的信息检索工程Lemur 的一个子项目。Indri 是一个完整的搜索引擎,支持各种不同格式文本的索引创建,提出了优秀的文档检索模型,支持结构化查询语言,在研究和实际应用领域都有比较高的价值。Indri 系统采用C++语言编写,提供了方便的API 供使用者调用,由于项目本身开源,对于开发者而言,也可以方便的对其进行二次开发。 1Indri 检索模型 Indri 结合了推理网络模型(Inference net )和语言模型 (language modeling )的优点,提出了一套检索模型,其利用推理网络模型的优势来支持比较复杂的结构化查询(结构化通常指查询语言中的用来表达检索文档中词与词之间联系的 operators ),又利用语言模型及平滑技术对推理网络中的一些 节点进行有效的预估,从而使查询得到比较好的效果[1]。这之前,单纯的推理网络模型节点的预估采用的是规格化的tf.idf (这个值与词在文档中出现的频率称正比,与包含该词的文档数成反比)权重,而单纯的语言模型则无法支持结构化查询。所以Indri 检索模型采用了两种模型相结合的方式[2]。 推理网络模型网络图如图1所示,实际上是一个贝叶斯网络(Bayesian networks )。贝叶斯网络是一个有向,无环图。网络中每个节点代表一个事件,有一个连续或者离散的结果集。每个非根节点存储了一个条件概率表,这个条件概率表完全描述了与给定父节点的情况下该节点出现相关联的结果集的概率。每个与根节点相关联的结果集被指派了一个先验概率。这样在已知网络图,先验概率,条件概率表和节点代表的事件之后,就可以通过网络计算出检索文档中出现查询的概率,并按照这个概率值的大小进行排序输出。 主要包含有以下几类节点[3]: 电子设计工程 Electronic Design Engineering 第20卷Vol.20第24期No.242012年12月Dec.2012 图1 推理网络模型网络图 Fig.1 Inference network network diagram

文本信息检索模型

文本信息检索模型 齐向华 (山西大学信息管理系 太原 030006) 【摘要】 介绍了目前流行的三种文本信息检索模型(布尔检索模型、概率推理模型、空间向量模型)的基本原理和各自较重要的实用系统,最后对三种模型的优缺点进行了比较。 【关键词】 文本信息 检索模型 文本信息检索是一个文本与用户提问比较的过程。在各种媒体的信息检索中,文本信息检索是信息用户最主要的需求,也是各类信息检索的基础。目前,主要有三种模型来描述这一过程,即布尔检索模型、概率推理模型、空间向量模型。在具体论述这三种检索模型之前,我们先说明在文本信息检索中所主要处理的问题,既下文所说的检索模型三要素。1 文本信息检索模型三要素 1.1 文本集 所谓文本集是指作为检索对象的检索单元的集合。早期文本信息检索基本局限于对二次文献的检索。众所周知,二次文献的建立是由标引人员手工对文献信息进行加工处理,给出检索标识的,其中最具代表性的是现今应用广泛的M A RC磁带。在这种处理过程中,标引的工作量很大,标引质量也因人而异,带有很大的局限性。随着大量且不断变化的各类信息的出现以及相关技术和硬件设备的发展,人们对全文检索系统的需求越来越大,对检索的要求也越来越高。全文检索系统是将全文信息作为检索对象,建立文本集,利用计算机抽取标识符,建立索引,再用全文检索技术实现检索。 1.2 用户提问 用户提交问题给检索系统,系统将其作为处理目标,搜寻文本集,得出相匹配的检索结果。用户的问题包括用户感兴感的关键词、自然语言、逻辑关系式等。 1.3 文本与用户提问相匹配 文本信息检索过程可以分为三步:首先,根据文本集,生成每一对象内容的表示;其次,根据用户提问,生成用户意见提问表示;最后,比较这两种表示,从文本集中选择最大匹配用户提问的对象。 2 布尔检索模型 2.1 基本原理 布尔检索模型是最早也是最简单的一种检索模型,其理论已基本成熟,过去以及现在的许多检索系统,特别是在我国,很多都是采用这种检索模型为工作原理的。 在布尔检索模型中,将用户提问表示成布尔表达式,使用逻辑运算符将提问词连接起来,其中每个提问词表达了用户的一个兴趣。其文档组织形式分为两种:顺排文档和倒排文档。顺排文档是检索系统的主文档,它是将规范化的文献记录顺序存储在存储介质(一般是磁带)上,数据量非常大,对它进行检索处理的算法以菊池敏典算法为代表;倒排文档是将文献记录中所有的检索点抽出,经过排序、整理后形成类似索引的文件,对它进行检索处理的算法以逆波兰算法为代表。检索时,检索系统将提问式与文档进行逻辑匹配操作,得出命中文献集合为检索结果。检索结果一般不进行相关性排序。 在检索策略的使用方面,以布尔逻辑为基础的文本检索系统可能提供位置检索、截断检索以及自然语言检索等检索手段。 除了传统的书目型检索系统外,目前有很多成功的全文检索系统也是采用布尔逻辑模型为其基本的检索技术的。 2.2 WA IS系统 1989年,由A pple Co mputer等美国四家公司联合开发了广域信息服务器WA IS,它是因特网上广泛使用的最强有力的全文检索系统。国际上一些著名的研究机构都采用W A IS建立了各自的全文数据库及检索系统。目前,采用WA IS系统在因特网上建立的全文数据库及检索系统有500多个,涉及到生物、天文、地理等各类信息。 WA IS系统软件在程序结构上由建立索引、实现检索和服务器三部分组成。建立索引时,首先对原始信息进行分析、抽提、整理、归纳,并建成字典库。根据字典库中的所有字、词,建立一个大的倒排档。然后,再根据不同的格式对原始信息集合抽提一个文档以及相应的标题、文字等信息,建立标题文件、资源描述文件、目录文件等多级索引结构。检索时,根据资源描述文件向服务器提交连接请求。 2.3 中文文本信息检索系统 中文信息检索的出现大约只有10年的历史,就信息检索技术而论还处于初期发展阶段,市场上已

信息检索的概率模型-

信息检索的概率模型 一、综述 一、信息检索技术 由于以因特网为主体的信息高速公路的不断普及和发展,信息技术已经渗透到我们社会生活的各个角落,正以前所未有的速度和能力改变着我们的生活的工作方式,我们真正处于一个“信息爆炸”的时代。一方面,因特网上面蕴含的海量信息远远超过人们的想象;另一方面,面对信息的汪洋大海,人们往往感到束手无策,无所适从,出现所谓的“信息过载”和“信息迷向”的现象。于是一个极富挑战性的课题:如何帮助人们有效地选择和利用所感兴趣的信息,尽量剔除不相关的信息。同时保证人们在信息选择方面的个人隐私权利?成为学术界和企业界所十分关注的焦点。 随着在线文本的日益增多,其中包括新闻、电子杂志、电子邮件、技术报告、文档以及网上图书馆。如此众多的信息,仅仅依靠大脑来收集和整理所需要的信息显然是不够的。所以,自动收集和整理所需要的各类信息成为信息产业面临新的挑战和新的发展契机。根据不同的应用背景和不同的使用目的,信息处理技术已经演化信息检索、信息过滤、信息分类、问题回答等方向。 由于目前网上信息的表现形式大多数为文本,而且文本也是广大用户所习惯接收的形式。因此我们在下面主要讨论中文文本检索和相关的评价方案。 1、信息检索技术的发展 信息检索(Information Retrieval)是指信息按一定的方式组织起来,并根据信息用户的需要找出有关的信息的过程和技术。狭义的信息检索就是信息检索过程的后半部分,即从信息集合中找出所需要的信息的过程。 信息检索起源于图书馆的参考咨询和文摘索引工作,从19世纪下半叶首先开始发展,至20世纪40年代,索引和检索成已为图书馆独立的工具和用户服务项目。1945年,Vannevar Bush的论文《就像我们可能会想的……》第一次提出了设计自动的,在大规模的存储数据中进行查找的机器的构想。这被认为是现在信息检索技术的开山之作。进入50年代后,研究者们开始为逐步的实现这些设想而努力。在50年代中期,在利用电脑对文本数据进行检索的研究上,研究者

信息检索检索 向量空间模型

信息检索检索向量空间模型 一:算法描述 在文本挖掘、搜索引擎应用中,文本的特征表示是挖掘工作的基础,它对文本进行预处理,抽取代表其特征的元数据,这些特征可以用结构化的形式保存,作为文档的中间表示形式。向量空间模型(VectorSpaceModel)是近年来应用较多的文本特征表示方法之一,它是由GerardSlaton等人在1958年提出并发展起来的,是一个关于文献表示的统计模型,具有较强的可计算性和可操作性,已经被广泛地应用于文本检索、自动文摘、关键词自动提取、文本分类和搜索引擎等信息检索领域的各项应用中,并且取得了较好的效果。 文献(document):泛指各种机器可读的记录,可指一篇文章或一个网页,也称为文档。 项(term):亦称索引项,是用来标引被检索内容的关键词等。 项的权重(termweight):对于有n个不同的项的系统,文献D=(t1,t2,,,tn),项 tk(1[k[n)常常被赋予一个数值Wk,表示它在文献中的重要程度,称为项tk的权重。 相似度(Similarity):指两个文档内容相关程度的大小。 确定权重的方法是运用TF-IDF公式,即Wik=tfik/dfk=tfik*idfk,其中tf ik 为特征项Tk在文档Di中的出现频率,称为项频率; dfk则是文档集D中出现特征项Tk 的文档的数量,称为文档频率; idfk为dfk的倒数,称为反转文档频率。

相似度是一个函数,它给出两个向量之间的相似程度。常用的方法有:内积(Inner Product)、余弦(Cosine)。 对于二值向量, 内积是查询式中的词项和文档中的词项相互匹配的数量;对于加权向量, 内积是查询式和文档中相互匹配的词项的权重乘积之和。 余弦相似度计算两个向量的夹角,余弦相似度是利用向量长度对内积进行归一化的结果。 二:数据描述 建立10至15个文件,输入文档集,以供检索。 三:算法参数 文件、项的权重、tf ik、dfk、idfk、相似度 四:实验流程 1.输入文档集; 2.计算词项的特征权重; 3.输入要查询的内容; 4.计算余弦相似度; 5.根据相似度排序,找出相似的文档。

信息检索论文-文本表示模型

文本表示模型 摘要:在互联网越来越发达的时代,如何从中快速有效地搜集信息,成为一个亟待解决的问题。而信息检索的一个关键就是建立高效的文本表示模型。本文主要讨论了信息检索、三种传统文本表示模型、及其中出现的问题。 关键词:信息检索向量空间模型语义信息损失智能化检索 如今我们搜索网络,大部分是要查找一些相关资料。而网上信息相对十分庞杂,如何能快速有效地搜索出有用的信息,还亟待研究。 信息检索 一个文本信息检索系统的功能通常定义为:帮助用户找到他所需要的相关文本信息。文本检索系统一般不直接提供针对查询的答案,而是和查询相关、可能包含答案的文本,需要用户从这些文本中进一步寻找需要的信息。通常认为信息检索系统事实上是智能完整问答系统的中间环节。 信息检索基本原理是,用户通过一系列关键词来阐明自己的信息需求,信息检索则检索与用户查询最为匹配的文献,同时借助某种相关性指标对检索出的文献行排序。由此可以看出,信息检索由以下几部分组成: (1)用户的需求表示。包括用户查询信息的获取与表示。 (2)文档的表示。即文档内容的识别和表示,包括结构、语义内容和上下文属性。 (3)匹配机制。包括用户的需求表示和文档的表示之间的查询机制、文档和用户需求 之间的相关性排序准则和函数表示,其中相关性排序准则是决定信息检索模型的重 要因素,它决定了信息检索系统的基本性能。 (4)反馈修正。根据检索结果对查询表示进行扩充与优化,以提高系统性能。 其中文本内容的分析是智能信息检索研究中很重要的部分。探索对文本内容准确的“理解”和“挖掘”具有重要的理论研究意义和广阔的应用前景。信息检索一个关键的问题就是,如何建立一个高效的文本表示模型。 信息检索的发展 20世纪60年代中期以来,人们提出了大量的信息检索模型。自最初为一些较小和较为结构化文档(如文献记录,包括题目、作者和主题词等)所设计的特殊模型,发展到现在具有较强理论基础和能处理多种文档格式的模型。当前的信息检索模型能够处理具有复杂内部结构的文档,并且一般都具有学习和利用相关反馈进行查询优化等功能,使得系统性能大大提高。 20世纪70年代,文本检索引入了布尔方法、向量空间模型、基于贝叶斯统计的布尔方法和简单概率模型;20世纪80年代,在新的人工智能技术的发展同时,产生了一些模拟专业文献搜集者和领域专家的专家系统,使用对用户建模以及自然语言处理等技术来辅助用户和文档的表示,并且产生一些研究用的原型系统(如潜在语义索引模型)。 20世纪90年代,当研究者们认识到了创建领域知识库的困难之后,研究者们试图采用新的机器学习技术用于信息分析,如神经网络、遗传算法、Bayes推理网络等。20世纪90年代中期之后,随着搜索引擎的普及以及网络Spider、索引、超链分析等技术的发展,文本检索已经成为更新、更强大的用于网络内容的搜索工具。

相关主题
相关文档
最新文档