[发明专利]一种文本相似度计算方法及系统在审
申请号: | 202211286844.8 | 申请日: | 2022-10-20 |
公开(公告)号: | CN116204612A | 公开(公告)日: | 2023-06-02 |
发明(设计)人: | 石林灵 | 申请(专利权)人: | 超聚变数字技术有限公司 |
主分类号: | G06F16/332 | 分类号: | G06F16/332;G06F16/33;G06F40/194;G06F40/289;G06F21/62 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 刘方 |
地址: | 450000 河南省郑州市郑*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文本 相似 计算方法 系统 | ||
1.一种文本相似度计算方法,其特征在于,所述方法包括:
对第一文本进行分词得到第一分词结果,所述第一分词结果包括至少一个第一分词和每个所述第一分词的词权重;
对于每一个所述第一分词,按照所述第一分词的哈希值和词权重生成所述第一分词的加权数字串;和
对于每一个所述第一分词的加权数字串,进行向量化累加计算得到所述第一文本的序列串,以及对所述第一文本的序列串进行向量化降维得到所述第一文本的Simhash签名;
获取第二文本的Simhash签名,并基于所述第一文本的Simhash签名和所述第二文本的Simhash签名,得到所述第一文本与所述第二文本的相似度。
2.根据权利要求1所述的方法,其特征在于,所述进行向量化加速累加计算得到所述第一文本的序列串,包括:
遍历所述至少一个分词的每一个的加权数字串,每次加载特定个数的加权数字串所对应的字节数组到第二寄存器,以及通过向量加法指令对第一寄存器和所述第二寄存器各自存储的加权数字串进行批量累加计算得到累加计算结果,然后将所述累加计算结果存储到所述第一寄存器。
3.根据权利要求2所述的方法,其特征在于,所述特定个数基于第一整数型数值长度和所述第二寄存器的宽度确定,所述第二寄存器的宽度等于所述第一寄存器的宽度。
4.根据权利要求3所述的方法,其特征在于,所述第一整数型数值长度基于所述第一文本的第一分词结果,所述至少一个分词的每一个的加权数字串所对应的字节数组的长度是所述第一整数型数值长度。
5.根据权利要求4所述的方法,其特征在于,所述第一寄存器至少在所述进行向量化累加计算之前被按照所述第一整数型数值长度初始化。
6.根据权利要求4所述的方法,其特征在于,所述第二寄存器在所述进行向量化加速累加计算之后和在所述对所述第一文本的序列串进行向量化降维之前被按照所述第一整数型数值长度初始化。
7.根据权利要求6所述的方法,其特征在于,所述对所述第一文本的序列串进行向量化加速降维,包括:
通过批量比较指令来对所述第一寄存器和所述第二寄存器进行批量比较得到比较结果,以及将所述比较结果存储到所述第一寄存器。
8.根据权利要求7所述的方法,其特征在于,所述对所述第一文本的序列串进行向量化加速降维,还包括:
按照所述第一整数型数值长度将所述第一寄存器的存储结果保存到长度为所述第一整数型数值长度的字节数组用于生成所述第一文本的第一Simhash签名。
9.根据权利要求8所述的方法,其特征在于,所述对所述第一文本的序列串进行向量化加速降维,还包括:
使用左移和逻辑与操作从而将所述长度为所述第一整数型数值长度的字节数组组合成所述第一文本的第一Simhash签名。
10.根据权利要求2至9中任一项所述的方法,其特征在于,所述向量加法指令是基于SIMD指令集。
11.根据权利要求10所述的方法,其特征在于,所述SIMD指令集是x86架构微处理器的AVX指令集、PowerPC架构微处理器的指令集、SPARC架构微处理器的指令集或者MIPS架构微处理器的MSA指令集。
12.一种计算设备,其特征在于,所述计算设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据如权利要求1至11任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于超聚变数字技术有限公司,未经超聚变数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211286844.8/1.html,转载请声明来源钻瓜专利网。