倒排索引技术在信息检索应用论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
倒排索引技术在信息检索中的应用摘要:本文对倒排索引技术进行研究和分析,采用改进的tfidf 权重计算公式,并在检索系统引入了分布式多线程技术、缓存cache 技术。实验表明,信息检索的准确性和检索速度有了很大的提高。
关键词:倒排索引;信息检索;分布式多线程
中图分类号:tp391.3 文献标识码:a 文章编号:1007-9599 (2011) 22-0000-02
the application of inverted index in information retrieval liang yunjuan,zhang lijun
(school of information engineering,henan institute of science and technology,xinxiang 453003,china)
abstract:the paper gave research and analysis on the inverted index technology and adopted the improved tfidf weighting formula in order to improve the accuracy of retrieval explained;introduced a distributed
multi-threading technology,cache technology in the retrieval system.experimental results show that,the information retrieval and the accuracy of retrieval speed has been greatly improved.
keywords:inverted index;information searching technology;
distributed multithreaded
一、引言
信息检索是信息服务中很重要的一个研究课题。它是一个从众多的信息中查找出符合特定需要的文献,或某一问题的答案、数据、事实经过或结论等的查找过程[1]。随着科学技术的高速发展,系统越来越复杂,需要处理的信息量也高速的增加。传统的检索方法要求信息精确无误,且无法对信息进行取舍,因此迫切需要一种新的能从大量数据信息中发现、推理知识的有效方法。本文正是由此提出将倒排索引技术引入到信息检索中,从而达到提高信息检索的准确性与速度的目的。
二、倒排索引技术
索引是数据库的简要描述,是信息检索的基础,所有的检索请求都由它做出回答。建立索引的过程就是一个建立索引数据库的过程。倒排索引技术是一种面向内容的新型全文索引方式,它是以知识库中的关键字进行索引,文档id记录了该词所在的问答对的id 号,同义词和倒排表内容项等[2]。
为了提高查询效率,减少响应时间,提高更新吞吐量,采用两级索引构建倒排索引,第一级倒排索引的数据结构。wordid为关键词的哈希值,用来对关键词进行索引。相关信息是一个独立的哈希链表,它包括:含有该关键词的知识点(文档)信息、知识点(文档)权重、文档类型等信息。二级索引的数据结构如表1,documentid 表示该知识点在数据库中id号。
建立索引的部分代码如下:
for (int i = 0; i < o.length; i++) //建立索引{ countnew++;
string kwd = o[i].tostring();
if (!oldhash.containskey(kwd))
{continue; }
double temp = (double) initialvalue.get(kwd);
//计算权重(没有乘上数据库系数)
value = (double) temp / (math.sqrt(tempvalue));
if (hpword.containskey(kwd))
{ hp_temp = (hashmap)hpword.get(kwd);
hp_temp.put(record_id, value);
hpword.put(kwd, hp_temp); }
else
{ hashmap hm_temp = new hashmap();
hm_temp.put(record_id, value);
hpword.put(kwd,hm_temp); } }
三、基于词语的权重设计方案
为了提高检索的准确性以及实现合理的排序,权重是值得考虑的一项重要指标。所谓权重是表示在评价过程中,对各评价因子在总体评价中的作用进行区别对待,是被评价对象的不同侧面的重要程度的定量分配[6]。
本文对经典的tfidf权重计算公式进行改进,采用了一种基于
词频、文档频率以及关键词语的特征权重计算方案,将文本形式化为一定的可计算的特征。
定义关键词语为出现在题干(h)、段首(p)、句首(s)的词语。把关键词语标记为,关键词语的集合记为kw。
对h、p、s中的关键词语分别赋予重要系数、、,对正文中其它位置的词语赋予重要系数。以便区分它们对文本内容的贡献的大小差别。
采用词频、文档频率以及关键词语的特征权重公式:
(1)
其中:——“位置系数”,当该词语不属于关键词语集合kw时,= =1;当词语属于kw,则根据设定、、的比例,赋予不同的值。对于存在于不同区域的同一特征则取其所有权值中的最大值。
——“数据库系数”,根据文本所在的数据库的不同设定专业词解释库系数、知识库系数、题库系数、问答库四个数据库系数。
——特征词语在文本tm中出现的次数。
——文本tm中所有词的总数,重复的词按多次计算。
——即词频tf(t,d),其中tm为数据库中的第m篇文章。
——总共的文本数量。
——文本集中含有特征词语的文本的数量,维文档频率的倒数。
——“位置系数”。
——一个常量。