[发明专利]一种基于多元切分的倒排索引检索方法有效

专利信息
申请号: 201611227295.1 申请日: 2016-12-27
公开(公告)号: CN108241713B 公开(公告)日: 2021-12-28
发明(设计)人: 曾先进;魏世凯;王武韬;杨永盛;鲁煦 申请(专利权)人: 南京烽火星空通信发展有限公司
主分类号: G06F16/31 分类号: G06F16/31;G06F16/36;G06F16/33
代理公司: 常州佰业腾飞专利代理事务所(普通合伙) 32231 代理人: 康潇
地址: 210019 江苏省南*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于多元切分的倒排索引检索方法,属于计算机技术领域,规避检索过程中的多分词距离运算,解决了多分词情况的检索速度慢的问题,省去了在倒排索引中对分词偏移的磁盘记录空间的占用。
搜索关键词: 一种 基于 多元 切分 索引 检索 方法
【主权项】:
1.一种基于多元切分的倒排索引检索方法,其特征在于:包括如下步骤:步骤1:建立索引系统,索引系统包括Hadoop云存储平台、索引客户端和文本客户端,索引客户端和文本客户端均通过互联网与Hadoop云存储平台连接;步骤2:用户通过文本客户端上传数个文本数据,文本客户端将所有文本数据均通过互联网传送给Hadoop云存储平台,Hadoop云存储平台的MapReduce对每一个文本数据均设定一个数据ID,并将所有文本数据均存储到Hadoop云存储平台的HDFS中;步骤3:MapReduce对任意一个文本数据执行清洗任务,并生成清洗后文本数据,清洗任务包括对该文本数据中的大写字母转换成小写字母和对该文本数据中的全角转换半角;步骤4:MapReduce对清洗后文本数据执行多元分词,其步骤如下:步骤A:设定分词的最小单位为一个词元,设定词元的个数最大为N,N为正整数,MapReduce创建词元序列,以便对所有词元进行排序;步骤B:MapReduce尝试从文本中读取一个词元:如能读取,则将读取的词元加入词元序列,执行步骤C;如不能读取,则执行步骤D;步骤C:判断词元序列中的词元个数是否等于N:是,则执行步骤D;否,则执行步骤B;步骤D:判断词元序列中的词元个数是否等于0:是,则执行步骤H;否,则执行步骤E;步骤E:MapReduce以词元序列的第一词元为基准,对词元序列中的所有词元执行一元分词、二元分词…N元分词;步骤F:删除词元序列中的第一个词元,执行步骤B;步骤H:对清洗后文本数据执行多元分词的任务结束,并根据多元分词的结果生成分词列表;步骤5:MapReduce对分词列表执行去重任务,并生成去重分词列表,去重任务包括删除分词列表中重复的词元;步骤6:重复执行步骤3到步骤5,对所有文本数据均生成相应的去重分词列表;步骤7:创建倒排表,设定提取词为去重分词列表中的任意一个词元,设定一个提取词,将所有包含该提取词的文本数据的数据ID集合在一起组成一个ID集合,该提取词与该ID集合的映射表即为倒排表,MapReduce根据文本数据所对应的去重分词列表和数据ID构建倒排索引,其步骤如下:步骤I:接收所有文本数据的数据ID和去重分词列表,创建倒排表;步骤J:设定去重分词列表中的任意一个词元为提取词W,MapReduce对提取词W进行以下处理:首先在倒排表中查找提取词W,如果能查找到,则在倒排表中添加数据ID,该数据ID在倒排表中的位置为提取词W映射的ID集合;如果不能查到,则在倒排表中添加新ID集合,并将提取词W与所述新ID集合建立映射关系,将所述数据ID添加到所述新ID集合中;步骤K:遍历去重分词列表,重复执行步骤J,直到去重分词列表中所有的词元均处理完;步骤L:重复执行步骤I和步骤K,直到接收的所有文本数据均处理完,即倒排表创建完毕;步骤M:MapReduce创建倒排文件,将倒排表中每个提取词映射的ID集合写入倒排文件;步骤N:MapReduce创建字典文件,将倒排表中每个提取词及其对应的ID集合内容在倒排文件中的偏移和长度写入字典文件,并在字典文件中建立提取词列表;步骤O:MapReduce对字典文件中的提取词列表,按照如下步骤构建字典索引:步骤S1:设定提取词列表中的任意一个提取词为提取词Wn,n为正整数,n的最大值为提取词列表中所有提取词的个数,设定提取词Wn在字典文件中的偏移为偏移Pn,n为正整数,n的最大值为提取词列表中所有提取词的个数;步骤S2:设定参数步长S,并预设步长S的值,步长S的值小于提取词列表中所有提取词的个数,设定参数m,m=S+n,n的初始值为1;步骤S3:获取提取词Wm以及提取词Wm在字典文件中的偏移Pm,建立关系式作为索引关系式;步骤S4:重复执行步骤S2和步骤S3,直到m的值大于提取词列表中所有提取词的个数;步骤S5:对提取词列表中所有提取词均建立索引关系式,即对所有提取词列表中所有提取词均构建字典索引;步骤S6:将所有所述字典索引均写入字典索引文件;步骤P:倒排索引构建结束;步骤8:重复执行步骤2~步骤7,直到处理完用户输入的所有文本数据,并生成构建好的索引;步骤9:通过所述构建好的索引执行各种索引查询,其步骤如下:步骤Q:设定词元的个数最大为N,N为正整数,设定检索词中的词元数为X,X为正整数,用户通过索引客户端输入检索词,索引客户端将检索词均发送给Hadoop云存储平台,Hadoop云存储平台根据检索词和所述构建好的索引,将索引查询分为如下集中情况:步骤S7:当检索词中的词元数X小于等于N时,MapReduce根据以下步骤进行检索:步骤A1:搜索检索词在字典索引文件中的偏移位置Pi,i为整数,i小于N;步骤A2;在字典索引文件中,从偏移位置Pi开始,向后搜索检索词,直到超过给定步长S或者搜索到检索词停止:如果能搜到检索词,则执行步骤A3;如果不能搜到检索词,结束检索,并返回无搜索结果;步骤A3:从字典索引文件中获取检索词在倒排索引中的偏移和数据长度;步骤A4:根据步骤A3中的偏移和长度读取倒排索引,获取对应的数据ID,并返回数据ID;步骤S8:当检索词中的词元数X大于N时,MapReduce根据以下步骤进行检索:步骤A5:设定检索词中的词元为Ci,1<=i<=X,遍历检索词的词元Ci,从第一个词元C1开始,提取长度为N的检索词作为提取词W1,提取词W1由C1…CN组成;步骤A6:根据步骤A5中的提取规则,从下一个词元Ci开始,提取检索词作为提取词Wi;步骤A7:循环执行步骤A6,直到剩余词元的个数不足N,则结束提取;步骤A8:对每一个通过步骤A5~步骤A8所得到的提取词,根据步骤S7所述的方法进行检索操作,获取对应的数据ID;步骤A9:对步骤A8中每个检索对应的数据ID执行交集运算;步骤A10:结束检索,返回交集运算后的数据ID;步骤S9:当输入的检索词需要进行多检索词的与或非检索时,MapReduce根据以下步骤进行检索:步骤A11:分析检索词,根据后缀表达式原则,生成查询树;步骤A12:遍历查询树,按照步骤S8中所述的方法,将词元数大于N的检索词,切分成多个词元数等于N的检索词作为分词检索词,并用逻辑与方式拼接;步骤A13:遍历查询树,对每个分词检索词根据步骤S7中所述的方法进行检索操作,获取对应的数据ID;步骤A14:对步骤A13)中获取的每一个数据ID列表均顺序执行交、并、差三种集合运算,生成运算后的数据ID;步骤A15:返回运算后的数据ID,结束检索。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京烽火星空通信发展有限公司,未经南京烽火星空通信发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201611227295.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top