一种基于词语关联的数据分割搜索方法与流程

文档序号:15492543发布日期:2018-09-21 20:55阅读:258来源:国知局

本发明涉及搜索方法优化,具体说是一种基于词语关联的数据分割搜索方法,能够应用于混合云环境中帮助实现更有效的搜索。



背景技术:

云技术将网络和数据挖掘等技术相结合,云环境下存储的信息成本低,已经成为越来越多的企业和用户存储数据的工具。然而云存储在为企业和用户提供服务时也存在着相关问题:存储在云端数据文本数据的非结构化特点和缺乏机器可理解的语义,造成在云存储搜索时不能较精确的搜索到所需文本,云存储搜索准确性主要体现的是针对文本特征信息的提取工作,云存储的搜索方法一直是研究热点。

构建分割数据搜索方法涉及两个方面。基于词汇关联的文档分割和索引的构建。关联规则已经在商业等领域取得较为成功的应用。关联词集的获取涉及到apriori算法,apriori算法是由rakeshagrawal在1994年提出的,首先提出了利用支持度对候选频繁集进行剪枝处理的,利用系统的方法控制候选的频繁集的指数增长。主要步骤分为两步完成,第一步产生候选的频繁集,然后对生成候选的频繁词集进行剪枝产生频繁集,反复迭代后,最后找到最多项的频繁集为止。

apriori算法使用的重复迭代的方法,首先从1-项集开始,然后利用给定的支持度阈值minsup将频繁的一项集剪枝,找到频繁1-项集l1。根据先验原理可知:某个项集是频繁的话,则其所有子集必定一定也是频繁的。在产生候选2-项集,记做为c2。产生候选2.项集之后再根据给定的minsup对候选2-项集c2进行剪枝,产生频繁2.项集l2。依次类推,根据l2产生c3,将c3剪枝产生l3,…,直到产生最多项的频繁项集lk为止。

对倒排索引来说,主要涉及两个部分,倒排文本和索引文本,倒排文本中由存储文本的关键词组成,其中逻辑地址指向索引文本,索引文本由逻辑地址和文本的存储地址组成。搜索时,用户提供关键词信息,根据关键词信息在索引中查找符合的文本,一般基于块的倒排索引构建分为几个步骤:首先通过专门的中文分词工具,参照词汇表(例如中文词汇表nlpir)对文本进行分词处理,对生成的词汇表进行词出现的数量和分布等因素进行统计(例如像tf-idf算法),随后进行词过滤,例如对于英文文本中的“in”,“too”等词,中文中的“是”,“的”等词一般都没有实质的意义,但并不代表可以将这些词过滤掉。分词形成的标点符和空格都可以被去掉。有了生成的关键词后,文本随后都会被存储而返回一个地址,最后文本提取的关键词对应的索引关键词词条都将文本地址信息加入进去索引,完成对该文本的索引构建工作。

针对基于词语关联的数据分割搜索方法,采用apriori算法帮助构建分割文本的索引存在下面两个问题:

问题1:基于词汇关联文本分割和结合词向量提取文本关键词问题。不同于传统的定长分割文本和随机分割,另外,文本索引关键词提取是词向量和关联词结合。

问题2,:分割文本搜索的还原问题。传统的搜索到的是整篇文本,采用分割策略后搜索到是文本块,要考虑文本还原的次序和完整性问题。



技术实现要素:

本发明的目的是提供一种基于词语关联的数据分割搜索方法,本发明能够达到原始的设计要求,同其它搜索方法相比,搜索更具有准确性,同时,用户可以自定义部分算法的变量来调整索引,具有良好的扩展性。

实现本发明目的的具体技术方案是:

一种基于词语关联的数据分割搜索方法,该方法包括以下具体步骤:

步骤1:获取需要建索引文本的分词集合;

对一文本,在不考虑词出现的频率和顺序信息情况下,采用基于词典或者基于规则的方法对文本进行分词处理,得到文本的分词集;

步骤2:获取文本的频繁词集,进行如下操作:

a)设置词wi的c-频繁词集的支持度为式其中tfi表示词wi在文本中出现的段数量,c表示频繁词集规模大小;

b)通过向下闭合的方法对文本寻找出满足条件的(t-1)-频繁词集,找出该集合中所有只有最后一个词条不同的频繁词集对,合并每对频繁词集对成一个规模为s的频繁词集候选集;

c)对于每个s-频繁词集候选集生成其所有规模为(s-1)-频繁词集,如果(s-1)-频繁词集集合不是(t-1)-频繁集词集集合的子集,或者该频繁词集小于其规定的mindown(c)支持度,剔除该频繁词集;

d)重复a),b),c)过程,寻找出文本中的所有频繁词集;

步骤3:对步骤2)生成的所有频繁词集集合,利用选取分割文本的τopt-频繁词集,式中的tj表示一个频繁词集,t表示2)步骤中获取频繁词集集合总的数量,count函数用来计算一个频繁词集中的词规模数量;

步骤4:利用τopt-频繁词集分割文本来形成子文本集file={fg|g=1,2,...,f},fg表示分割形成的子文本,f是分割后的子文本数量;

步骤5:构建基于词汇关联的分割子文本索引

a)将file={fg|g=1,2,...,f}利用伪随机函数分成两个文本集filea={fga|a=1,2,...,r},fileb={fgb|a=1,2,...,s};这里r+s=f;f是文本分割后的子文本数量,r和s分别表示两个集合filea和fileb的规模大小;

b)对任一个子文本,为它的首部添加三个标志位,code,mf,df;code帮助标记文本归属,mf位判断是否是最后子文本,df表示文本位置信息标记;

c)获得子文本关键词集和频繁词集;结合文本词词向量来构建筛选搜索文本的关键词方法,公式为γ=β=0.5,其中fij表示词汇wi出现在段落j的次数,m表示文本的总的段落数,tfi表示词汇wi出现在文本中的段数量,θ(file)阀值由用户定义,用于调节选取构建文本索引关键词集合规模,以此来获取子文本构建索引的关键词集;

d)对于两子文本集合中的任意子文本,按照属于filea的子文本存储私有云,属于fileb的子文本存储公有云,利用子文本在b)生成的文本关键词集和子文本存储的云地址建索引;

ε)重复b),c),d)过程,完成对所有子文本索引的构建工作;

步骤6:搜索文本时,用户提供密钥和搜索门阀值,获得密文子文本;利用子文本的标志位信息完整还原原文档。本发明的一种基于词语关联的数据分割搜索方法,采用apriori算法向下闭合来提取文本的频繁词集,根据活动的支持度选取文本恰当频繁词集合来分割文本,结合文本词向量空间模型来帮助选取分割的文本构建索引的索引关键词词集,同时完成了文本搜索的还原工作。本发明在提取文本索引的关键词上,加入了文本的关联词和词向量空间,和传统的关键词提取相比,考虑了文本的词汇相关性,词汇在段落的分布等因素,提取的关键词更能较准确表达文本的特征信息。构建分割文档的索引,文档分割可以分开存储在不同的地方,即使部分子文本被截取,仍然能保证文本信息安全,在混合的云环境下,第三方的不可信,将加密的子文本存储在混合云环境,可以有效保证即使部分子文本泄露,云环境下文本仍然安全。

核心函数在词汇关联数据分割搜索的构建作用举足轻重,三个核心函数在构建索引中起着不同重要的作用,基于动态的minsup函数结合了文本中词集在段落中分布情况,同时,消除了过小的频繁词集对选取频繁词集的影响,pt(x)函数从众多的频繁词集中,结合生成的频繁词集规模,利用折中的方法选取适合分割文本的频繁词集分割文本。而关键词筛选函数则结合文本词向量信息等信息来选择合适构建文本索引的关键词集,使得文本构建索引额特征提取更精准和灵活。具有良好的扩展性。

附图说明

图1为本发明分割文本示意图;

图2为本发明子文本转换示意图;

图3为本发明的索引示意图;

图4为本发明的搜索模型示意图;

图5为本发明的搜索还原示意图。

具体实施方式

以下结合附图对本发明进行详细描述。

一种基于词语关联的数据分割搜索方法,该方法包括以下具体步骤:

步骤1:获取需要建索引文本的分词集合;

对一文本,在不考虑词出现的频率和顺序信息情况下,采用基于词典或者基于规则的方法对文本进行分词处理,得到文本的分词集;

步骤2:获取文本的频繁词集,进行如下操作:

a)设置词wi的c-频繁词集的支持度为式其中tfi表示词wi在文本中出现的段数量,c表示频繁词集规模大小;

b)通过向下闭合的方法对文本寻找出满足条件的(t-1)-频繁词集,找出该集合中所有只有最后一个词条不同的频繁词集对,合并每对频繁词集对成一个规模为s的频繁词集候选集;

c)对于每个s-频繁词集候选集生成其所有规模为(s-1)-频繁词集,如果(s-1)-频繁词集集合不是(t-1)-频繁集词集集合的子集,或者该频繁词集小于其规定的mindown(c)支持度,剔除该频繁词集;

d)重复a),b),c)过程,寻找出文本中的所有频繁词集;

步骤3:对步骤2)生成的所有频繁词集集合,利用选取分割文本的τopt-频繁词集,式中的tj表示一个频繁词集,t表示2)步骤中获取频繁词集集合总的数量,count函数用来计算一个频繁词集中的词规模数量;

步骤4:利用τopt-频繁词集分割文本来形成子文本集file={fg|g=1,2,...,f},fg表示分割形成的子文本,f是分割后的子文本数量;

步骤5:构建基于词汇关联的分割子文本索引

a)将file={fg|g=1,2,...,f}利用伪随机函数分成两个文本集filea={fga|a=1,2,...,r},fileb={fgb|a=1,2,...,s};这里r+s=f;f是文本分割后的子文本数量,r和s分别表示两个集合filea和fileb的规模大小;

b)对任一个子文本,为它的首部添加三个标志位,code,mf,df;code帮助标记文本归属,mf位判断是否是最后子文本,df表示文本位置信息标记;

c)获得子文本关键词集和频繁词集;结合文本词词向量来构建筛选搜索文本的关键词方法公式为γ=β=0.5,其中fij表示词汇wi出现在段落j的次数,m表示文本的总的段落数,tfi表示词汇wi出现在文本d中的段数量,θ(file)阀值由用户定义,用于调节选取构建文本索引关键词集合规模,以此来获取子文本构建索引的关键词集;

d)对于两子文本集合中的任意子文本,按照属于filea的子文本存储私有云,属于fileb的子文本存储公有云,利用子文本在b)生成的文本关键词集和子文本存储的云地址建索引;

e)重复过程b),c),d)过程,完成对所有子文本索引的构建工作;

步骤6:搜索文本时,用户提供密钥和搜索门阀值,获得密文子文本;利用子文本的标志位信息完整还原原文档。

实施例

1)定义文本词汇表word={wi|i=1,2,...,n},n表示词汇表的大小,定义文本段落集合par={pj|j=1,2,3,...p},p表文本的段落和标题数(简称为段数),对包含词条wi的段数定义为pa={dk|k=1,2,3....tfi},tfi表示含有wi的段数总数量,对某一文本d,参照中科院的nlpir汉语分词系统构建的词汇表对文本d进行分词处理,得到d的词集v;

2)为获得文本的频繁词集,需要进行如下操作:

a)设置词wi的c-频繁词集的支持度为式其中tfi表示词wi在文本中出现的段数量,c表示频繁词集规模大小;

b)通过向下闭合的方法对文本寻找出满足条件的(t-1)-频繁词集,找出该集合中所有只有最后一个词条不同的频繁词集对,合并每对频繁词集对成一个规模为s的频繁词集候选集;

c)对于每个s-频繁词集候选集生成其所有规模为(s-1)-频繁词集,如果(s-1)-频繁词集集合不是(t-1)-频繁集词集集合的子集,或者该频繁词集小于其规定的mindown(c)支持度,剔除该频繁词集;

d)重复a),b),c)过程,寻找出文本中的所有频繁词集;

3)对文本d通过2)步骤生成文本d的频繁词集,利用选取分割文本的频繁集,得到用来分割的频繁词集pd(d);式中的tj表示一个频繁词集,t表示2)步骤中获取频繁词集集合总的数量,count函数用来计算一个频繁词集中的词规模数量;

4)对一段文本内容,若在段中选择一个词后面切割段落,那么段落就会形成两个部分;利用pd(d)-频繁集分割文本,文本分割示意图如附图1所示,形成子文本集file={fg|g=1,2,...,f};

5)构建基于词汇关联的分割子文本索引:

a)将file={fg|g=1,2,...,f}利用伪随机函数分成两个文本集filea={fga|a=1,2,...,r},fileb={fgb|a=1,2,...,s};这里r+s=f。f是文本分割后的子文本数量,r和s分别表示另外两个集合filea和fileb的规模大小

b)对于一个子文本fg,为它的首部添加三个标志位,为fg添加了三个标志信息帮助实现文本还原,code位为file的唯一hashcode编码,同code的子文本归属于为一类,属于一个原文本,df记录子文本所在文本的位置信息,所属的块位,mf表示分块状态,mf=0表明后续还有块,mf=1表明该子文本为尾块,也是合并完整性约束条件,子文本添加标准信息示意图如附图2所示,图中在每个子文本fg前面添加计算出来的标准位信息code,df,mf。

c)获得子文本关键词集和频繁集,定义文本的词向量空间wi={wfi,ifi},其中fij表示词汇wi出现在文本段落j的次数,结合上式利用wfij来获取wi出现的词频wfi,ifi表示wi出现在文本中的段落数,定义筛选关键词集的函数定义为:γ=β=0.5;式中平均化的目的是为了尽量避免噪声污染,m表示文本的总的段落数,tfi表示词汇wi出现在文本中的段数量,θ(file)阀值由用户定义,用于调节选取文本索引关键词集合规模。利用上述词向量参数模型选择最优的构建索引关键词集的关键词;

d)将子文本利用aes加密算法,根据属于filea的文本存储私有云,属于fileb的文本存储公有云,得到从云端反馈的子文本地址信息结合c)步骤生成的索引关键词集,完成该文本的索引构建工作;

e)重复上述b),c),d)的过程处理完成文本索引构建,索引示意图如附图3所示,倒排索引分成主要两个部分,倒排文本和索引文本,倒排文本记录构建文本索引经加密的关键词信息,构成密文词条,词条的逻辑地址指针指向与其关联的索引文本,索引文本逻辑地址和文档地址集,地址集信息记录文本存储在云端的位置信息;

6)文本的还原示意图如附图4所示,通过code位将满足搜索条件的子文本分组,每个组里是一个文本的子文本集,利用df位确定还原的位置信息,mf位用于文本块终止块判断,完成完整的文本还原操作。构建搜索模型结构如附图5所示,用户提供搜索的关键词信息到服务器后,在服务器认证用户登陆信息通过情况下,用户上传搜索信息的关键词和解密密文的密钥,服务器上的倒排索引从云端搜索符合条件的文本下载下来,在服务器上解密下载的子文本集,按附图4策略完成文本还原工作,最后将文本返回给用户。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1