[发明专利]一种基于编码可导航伸展图的近邻文档搜索方法有效
申请号: | 201910949234.3 | 申请日: | 2019-10-08 |
公开(公告)号: | CN110851563B | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 徐小良;王梦召 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F16/33 | 分类号: | G06F16/33;G06F16/38;G06F40/30;G06K9/62 |
代理公司: | 浙江千克知识产权代理有限公司 33246 | 代理人: | 周希良 |
地址: | 310018 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 编码 导航 伸展 近邻 文档 搜索 方法 | ||
1.一种基于编码可导航伸展图的近邻文档搜索方法,其特征在于该方法包含以下步骤:
(1)对海量文档进行语义向量化;
(2)将得到的海量文档向量通过归一化编码进行压缩存储;
(3)基于归一化编码存储的海量文档向量建立编码可导航伸展图;
(4)在编码可导航伸展图上对查询文档进行近邻文档搜索;
步骤(1)所述的对海量文档进行语义向量化的结果是得到海量文档对应的海量文档向量S,S表示为:
S={vi|i=0,1,…,N-1}
上式中vi为第i个文档对应的向量,N为文档向量的个数;
步骤(3)所述的在归一化编码存储的海量文档向量上建立编码可导航伸展图的过程,该过程载入的是经步骤(2)归一化编码后的海量文档向量,也就是encodeS,采用的距离计算方式为欧式距离,在需要计算距离的地方将涉及到的归一化编码后的海量文档向量进行解码还原,之后再进行距离计算,解码还原公式为:
其中i=0,1,…,N-1,j=0,1,…,dim-1,dim为文档向量的维度,encodevi[j]表示文档向量vi的第j维编码,vrange[j]表示第j维区间范围向量,vmin[j]表示第j维最小值向量,c表示将每一维编码为c个字节;
步骤(4)的具体过程为:
(4-1)将查询文档经语义向量化得出查询文档向量q;
(4-2)查询文档向量q在编码可导航伸展图上从导航点开始执行贪婪搜索,候选池尺寸设为L,查询过程中对候选池中的文档向量实时按与查询文档向量的余弦距离进行降序排序,查询结束时返回候选池中前K个文档向量,K<L,即对应为与查询文档语义最接近的TopK个文档。
2.根据权利要求1所述的一种基于编码可导航伸展图的近邻文档搜索方法,其特征在于,步骤(2)的具体过程为:
(2-1)遍历S中的每一个向量,分别计算出每一维的最大值jmax和最小值jmin,从而得到最大值向量vmax和最小值向量vmin,即最大值表示为:
vmax=[0max,1max,…,(dim-1)max]
最小值表示为:
vmin=[0min,1min,…,(dim-1)min]
(2-2)将各维的最大值减去相应的最小值得到各维的区间范围jrange,计算式为:
jrange=jmax-jmin
从而得到区间范围向量vrange,具体表示为:
vrange=[0range,1range,…,(dim-1)range]
(2-3)通过vmin和vrange归一化S中的每一个文档向量vi得到相应的归一化向量normvi,对vi的第j维vi[j]进行归一化的具体公式为:
(2-4)将归一化后的文档向量normvi进行编码存储,具体编码大小根据normvi各维具体取值情况确定,对第j维编码的公式表示为:
其中c表示将每一维编码为c个字节,归一化编码后的S记为encodeS;
(2-5)归一化编码后,将S的vmin、vrange和encodeS以二进制格式写入同一个文件存储。
3.根据权利要求1所述的一种基于编码可导航伸展图的近邻文档搜索方法,其特征在于,步骤(4-2)所述的查询文档向量在编码可导航伸展图上从导航点开始执行贪婪搜索的过程,查询前载入的是经步骤(2)归一化编码后的海量文档向量,查询过程中采用的距离计算方式为余弦距离,在计算余弦距离前先将涉及到的归一化编码后的海量文档向量进行解码还原。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910949234.3/1.html,转载请声明来源钻瓜专利网。