一种基于密文的多关键字扩展检索方法技术

技术编号:21399024 阅读:28 留言:0更新日期:2019-06-19 07:00
本发明专利技术公开了一种基于密文的多关键字扩展检索方法,对数据源进行关键字集提取,然后基于关键字集合构建逆文档向量集并分组,再对每组向量集进行B+索引树构建,通过安全KNN算法进行加密,接着利用对称加密算法对数据源加密,将加密后的索引树组和数据源一块上传至云服务器中,对用户输入的检索关键字做模糊处理,针对用户输入错误的情况进行纠正;最后,对模糊处理后的查询关键字集合做语义分析操作,对查询关键字集进行扩展,根据经过语义分析后的关键字集合生成查询向量,利用加密算法处理后获得的陷门,对陷门做分组处理并上传至云服务器。本发明专利技术从陷门扩展的角度出发,对用户输入的检索关键字进行模糊处理以及语义分析,提升用户的使用体验。

【技术实现步骤摘要】
一种基于密文的多关键字扩展检索方法
本专利技术涉及文字检索
,具体涉及一种基于密文的多关键字扩展检索方法。
技术介绍
在以隐私保护为目标的研究中,可搜索加密方案占据着重要的地位,基于这一领域的研究也得到了充分的丰富于发展。但是随着数据的爆炸式增长与用户需求的日益多样化,该方案也面临着各种问题与挑战。目前的主流方案中大多是根据用户输入的查询关键字进行精确检索,并没有考虑到各种其它因素,当用户的查询关键字输入错误或者单一,并不能合理的返回给用户相应的结果。随着用户上传的数据量成线性增长,如何根据用户的喜爱和偏好进行结果过滤或者进行提升关键字优先级,减少用户的数据筛选,也是重要的改进之一。随着个性化搜索的提出,这个问题得到了很好的解决,它的主要原理是对用户的信息进行采集,然后分析出用户的兴趣和偏好,然后根据分析对比将检索结果进行针对用户的个性化排序,使用户能够快速的找到想要的结果。但是由于该方案是在用户信息的基础上进行操作,对于密文检索这种注重隐私性的方案来说可能并不是一个很好的选择。
技术实现思路
专利技术目的:为了克服现有技术的不足,本专利技术提供一种基于密文的多关键字扩展检索方法,该方法可以解决在进行模糊多关键字排序检索中的效率低,准确率不高,查询结果单一,智能程度低的问题。技术方案:本专利技术所述的基于密文的多关键字扩展检索方法,包括:(1)构建B+索引树组:根据数据源中关键字集合KW构建逆文档向量集IDOC,利用逆文档向量集合IDOC构建对应的分组B+索引树组IO,并利用文档向量集合DOC构建对应的分组文档数据集IT;(2)IT和IO加密:利用安全KNN算法对IO和IT进行加密,加密后的数据分别记为EIO和EIT,并将加密后的数据上传至云服务器;(3)模糊处理查询关键字:将用户输入的查询关键字组成的集合Wq与关键字集合KW匹配,得到处理后的模糊关键字集合Wm;(4)模糊查询关键字集合Wm的语义扩展:根据构建的语义树得到关键字间的语义相似度,对Wm进行遍历并和关键字集KW进行语义相似度计算,对每一个模糊集合中的关键字进行语义扩展,形成语义扩展集,然后将每一个关键字的语义扩展集添加到Wm,形成语义集合Wy;(5)构建陷门:对Wy进行遍历,根据遍历的当前关键字是否存在KW中构建第一次查询向量QO和第二次查询向量QT,并采用安全KNN算法对QO和QT进行加密,得到陷门,并将加密数据上传至云服务器;(6)EQO和EQT二次排序匹配:利用EIO和EQO中存储的加密后的TF值和IDF值进行相关度分数Score的计算,得到结果集Result;根据第一次检索结果Result,用EQT和找到的文档向量进行二次相关度分数Score的计算和排序,得到EQTi和EITi的最终相关度分数Score,并返回给用户分数最高的前k个密文文档。优选的,步骤(3)中,所述将用户输入的查询关键字组成的集合Wq与关键字集合KW匹配,得到处理后的模糊关键字集合Wm,包括:设用户输入的查询关键字个数为t,则查询关键字集可以表示为Wq={Wq1,Wq2,…,Wqt},对其进行遍历,若wqi∈KW始终为真时,其中,1≤i≤t,表示用户输入的查询关键字无拼写错误,此时Wm=Wq;若其中存在wqi∈KW为假,说明用户输入的该关键字不存在于关键字集合KW中,将关键字wqi与关键字集合KW中的每个关键字进行编辑距离ed的计算,若符合预设ed的阈值,则将关键字集合中KW中的该关键字添加到模糊关键字集合Wm中,遍历完成后,将所有符合条件的关键字添加模糊关键字集合中,获得最终的Wm。优选的,步骤(3)中,所述模糊关键字集合Wm记为CM,公式表示为:优选的,步骤(4)中,所述对每一个模糊关键字集合中的关键字进行语义扩展,形成语义扩展集,包括以下步骤:(41)定义两个关键字wi和wj,用sim(wi,wj)表示为关键字wi和关键字wj的语义相似度,相似度运算公式如下所示:其中,γ和δ是控制最短距离路径长度以及近公共祖先节点在运算中的影响权重,γ≥0,δ≥0,len(wi,wj)表示在语义树中从关键字wi到关键字wj所经过的最短路径,且:lso(wi,wj)表示在语义树中关键字wi和关键字wj最近公共祖先节点,deep(wi)表示关键字wi到根节点所经过的路径长度;(42)对Wm进行遍历并和关键字集合KW进行相似度计算,对每一个模糊关键字集合中的关键字进行语义扩展,取相似度最高的前τ个关键字形成语义扩展集。优选的,步骤(5)中,具体包括以下步骤:(51)对Wy进行遍历,如果遍历的当前关键字存在于KW中,则QO的对应位上存储该关键字的IDF值,否则,存储0进行占位处理;(52)对Wy进行遍历,如果遍历的当前关键字存在于KW中,则QT的对应位上存储该关键字的IDF值,否则,存储0进行占位处理,QT和QO组成了完整的查询向量;(53)采用安全KNN算法对QO进行加密,用QOi[j]表示QO中第i组的第j位数据,若随机位为0时,QO′i[j]+QO″i[j]=QOi[j];若随机位为1时,QO′i[j]=QO″i[j]=QOi[j],QO加密后的形式记为EQO,QOi[j]加密后产生的两个新向量为QOi'[j]和QOi”[j];(54)用安全KNN算法对QT进行加密,用QTi[j]表示QT中第i组的第j位数据,QTi[j]加密后产生的两个新向量为QTi'[j]和QTi”[j]。若随机位为0时,QTi'[j]+QTi”[j]=QTi[j];若随机位为1时,QTi'[j]=QTi”[j]=QTi[j],QT加密后的形式记为EQT。优选的,所述步骤(6)具体包括以下步骤:(61)将EIO和EQO采用基于TF-IDF模型进行匹配计算,当EQO中有null标记时,直接跳过不予计算;否则,加密后的IOi在加密后的QOi上进行检索,获得每组相关性最高的前h个加密文档,形成结果集{Result1,Result2,…,Resultf},其中Resulti的长度为h,且f≤b,去重后得到结果集Result;(62)和的相关度分数Score的公式表示为:(63)通过Result找到EIT中有效的文档向量,用EQT和找到的文档向量进行二次相关度分数Score的计算和排序,并将Score最高的前k个文档标识符返回给查询用户,用户根据文档标识符fid找到对应的密文文档,下载到本地解密后获取对应的明文信息;(64)和的相关度分数Score的公式表示为:有益效果:本专利技术与现有技术相比,其显著优点是:1、本专利技术从陷门扩展的角度出发,对用户输入的检索关键字进行模糊处理以及语义分析,提升用户的使用体验;2、在高效的多关键字可排序密文检索的基础之上,在陷门构建的步骤当中首先增加关键字模糊处理,丰富查询返回的结果,即使用户输入错误的关键字信息,也可以对其纠正从而返回正确的结果;3、本专利技术对用户查询关键字集合进行语义分析处理,扩大搜索条件,丰富查询返回的结果,使查询不再精确化,降低关键字的局限性,帮助用户更加深入的挖掘数据中有用的信息。附图说明图1为本专利技术所述方法实现框架;图2为本专利技术所述的方法流程图;图3为图2中的步骤1和2的具体流程图;图4为图2中的步骤3的具体流程图;图5为图2中的步骤3中的模糊处理方法流程图。本文档来自技高网...

【技术保护点】
1.一种基于密文的多关键字扩展检索方法,其特征在于,包括:(1)构建B+索引树组:根据数据源中关键字集合KW构建逆文档向量集IDOC,利用逆文档向量集合IDOC构建对应的分组B+索引树组IO,并利用文档向量集合DOC构建对应的分组文档数据集IT,;(2)IT和IO加密:利用安全KNN算法对IO和IT进行加密,加密后的数据分别记为EIO和EIT,并将加密后的数据上传至云服务器;(3)模糊处理查询关键字:将用户输入的查询关键字组成的集合Wq与关键字集合KW匹配,得到处理后的模糊关键字集合Wm;(4)模糊查询关键字集合Wm的语义扩展:根据构建的语义树得到关键字间的语义相似度,对Wm进行遍历并和关键字集KW进行语义相似度计算,对每一个模糊集合中的关键字进行语义扩展,形成语义扩展集,然后将每一个关键字的语义扩展集添加到Wm,形成语义集合Wy;(5)构建陷门:对Wy进行遍历,根据遍历的当前关键字是否存在KW中构建第一次查询向量QO和第二次查询向量QT,并采用安全KNN算法对QO和QT进行加密,得到陷门,并将加密数据上传至云服务器;(6)EQO和EQT二次排序匹配:利用EIO和EQO中存储的加密后的TF值和IDF值进行相关度分数Score的计算,得到结果集Result;根据第一次检索结果Result,用EQT和找到的文档向量进行二次相关度分数Score的计算和排序,得到EQTi和EITi的最终相关度分数Score,并返回给用户分数最高的前k个密文文档。...

【技术特征摘要】
1.一种基于密文的多关键字扩展检索方法,其特征在于,包括:(1)构建B+索引树组:根据数据源中关键字集合KW构建逆文档向量集IDOC,利用逆文档向量集合IDOC构建对应的分组B+索引树组IO,并利用文档向量集合DOC构建对应的分组文档数据集IT,;(2)IT和IO加密:利用安全KNN算法对IO和IT进行加密,加密后的数据分别记为EIO和EIT,并将加密后的数据上传至云服务器;(3)模糊处理查询关键字:将用户输入的查询关键字组成的集合Wq与关键字集合KW匹配,得到处理后的模糊关键字集合Wm;(4)模糊查询关键字集合Wm的语义扩展:根据构建的语义树得到关键字间的语义相似度,对Wm进行遍历并和关键字集KW进行语义相似度计算,对每一个模糊集合中的关键字进行语义扩展,形成语义扩展集,然后将每一个关键字的语义扩展集添加到Wm,形成语义集合Wy;(5)构建陷门:对Wy进行遍历,根据遍历的当前关键字是否存在KW中构建第一次查询向量QO和第二次查询向量QT,并采用安全KNN算法对QO和QT进行加密,得到陷门,并将加密数据上传至云服务器;(6)EQO和EQT二次排序匹配:利用EIO和EQO中存储的加密后的TF值和IDF值进行相关度分数Score的计算,得到结果集Result;根据第一次检索结果Result,用EQT和找到的文档向量进行二次相关度分数Score的计算和排序,得到EQTi和EITi的最终相关度分数Score,并返回给用户分数最高的前k个密文文档。2.根据权利要求1所述的基于密文的多关键字扩展检索方法,其特征在于,步骤(3)中,所述将用户输入的查询关键字组成的集合Wq与关键字集合KW匹配,得到处理后的模糊关键字集合Wm,包括:设用户输入的查询关键字个数为t,则查询关键字集可以表示为Wq={Wq1,Wq2,…,Wqt},对其进行遍历,若wqi∈KW始终为真时,其中,1≤i≤t,表示用户输入的查询关键字无拼写错误,此时Wm=Wq;若其中存在wqi∈KW为假,说明用户输入的该关键字不存在于关键字集合KW中,将关键字wqi与关键字集合KW中的每个关键字进行编辑距离ed的计算,若符合预设ed的阈值,则将关键字集合中KW中的该关键字添加到模糊关键字集合Wm中,遍历完成后,将所有符合条件的关键字添加模糊关键字集合中,获得最终的Wm。3.根据权利要求2所述的基于密文的多关键字扩展检索方法,其特征在于,步骤(3)中,所述模糊关键字集合Wm记为CM,公式表示为:4.根据权利要求2所述的基于密文的多关键字扩展检索方法,其特征在于,步骤(4)中,所述对每一个模糊关键字集合中的关键字进行语义扩展,形成语义扩展集,包括以下步骤:(41)定义两个关键字wi和wj,用sim(wi,...

【专利技术属性】
技术研发人员:许建黄新宇戴华杨庚陈燕俐
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1