本发明涉及自然语言处理,具体涉及一种基于非对称局部敏感哈希的检索增强方法及系统。
背景技术:
1、在互联网时代,传统搜索引擎能够根据关键字在海量信息中搜索,快速地将相关内容呈现给用户,而不必翻阅大量不必要的资料,提高了信息接收与处理的效率。但是传统搜索引擎仍存在不足。
2、一方面,传统的搜索引擎通常使用关键词进行搜索,由于分析语义存在一定困难,且尤其缺乏对情报的整合能力,当用户完全不了解某一领域时,会出现不知道输入什么关键词的情况。另外,由于大语言模型的生成式特性,面对越专业的生成要求,大语言模型越容易向用户提供似是而非甚至完全错误的文本。对于上述情况,利用大语言模型训练中获得的知识,rag检索增强生成算法可以向大语言模型提供外部知识,利用带有知识的输入文本限制大语言模型的输出文本,利用提示工程进一步优化输入文本。但rag的流程仅优化了输入和输出结果,而并未对结果的处理结构进行优化,使得准确性、安全性都不高。
3、另一方面,由于当前系统内存储的信息量显著提高,搜索整个向量数据库的时间代价显著增加。现有的局部敏感哈希算法lsh基于分桶的思想对向量空间进行划分,能降低搜索比对的次数,但是现实工程中向量的分布并不均匀,不满足算法前提,处理效率并不高。
技术实现思路
1、发明目的:本发明目的是提供一种高效、准确的基于非对称局部敏感哈希的检索增强方法及系统。
2、技术方案:本发明所述的基于非对称局部敏感哈希的检索增强方法,包括以下步骤:建立知识文本数据库,包括多个知识文本;获取查询文本,并基于非对称局部敏感哈希算法在所述知识文本数据库中提取与所述查询文本相关的目标知识文本;建立背景公式,所述背景公式包括与所述目标知识文本、查询文本唯一对应的占位符,之后将所述目标知识文本、查询文本替换背景公式中对应的占位符后得到输入文本;将所述输入文本输入大语言模型,输出回答文本。
3、进一步的,创设事实检查方法判断相关性,通过计算两个待检测文本的二范数进而判断相关性;当所述事实检查方法判断第一待检测文本和第二待检测文本的相关性时,具体包括如下过程:
4、依次匹配第一待检测文本中的名词和第二待检测文本中的名词,形成多个名词对,将名词对内两个名词的距离作为分量,组成二维张量;
5、计算所述二维张量中每个分量的欧几里得距离;
6、计算所述二维张量的二范数,当所述二范数小于预设的相关阈值时,所述第一待检测文本和第二待检测文本相关。
7、进一步的,所述第一待检测文本包括目标知识文本、回答文本;所述第二待检测文本包括查询文本;
8、并且,通过所述事实检查方法判断所述目标知识文本与查询文本的相关性;通过所述事实检查方法判断所述回答文本与查询文本的相关性。
9、进一步的,所述知识文本数据库建立及更新过程如下:
10、获取原始文本,选定策略分割并重构后嵌入向量空间,得到原始向量,所述原始向量包括多个维度的子向量;
11、迭代所述原始向量与子向量的最大长度进而更新分区的最大范围;
12、通过迭代,将所述最大范围分为多个区域,每个区域设置一个空间桶用以容纳所述原始向量,并为所述空间桶计算序号,当所述空间桶的序号改变时,将所述空间桶对应的原始向量删除并分配至对应序号的空间桶内;
13、重复上述过程,并将更新过程记录于哈希表中,直至空间桶的数量满足要求,将保留的所述原始向量、原始文本作为知识文本存储于知识文本数据库。
14、进一步的,所述策略包括前文相关性推理策略、段首句相关策略、上下文无关策略、上下文有关策略;其中,所述前文相关性推理策略基于所述事实检查方法决定当前语句与前一语句是否可以组合。
15、进一步的,基于非对称局部敏感哈希算法在所述知识文本数据库中提取与所述查询文本相关的目标知识文本,具体包括如下步骤:
16、根据查询文本在所述哈希表中的位置,在所述知识文本数据库中查询所述查询文本对应的目标空间桶;
17、计算所述目标空间桶内的知识文本与查询文本的相似真值,将相似真值最大的前k个知识文本组合为优先队列,整合后作为目标知识文本输出。
18、进一步的,基于非对称局部敏感哈希算法在所述知识文本数据库中提取与所述查询文本相关的目标知识文本,具体包括如下步骤:
19、根据查询文本在所述哈希表中的位置,在所述知识文本数据库中查询所述查询文本对应的目标空间桶;
20、定位与所述目标空间桶相邻的邻接桶,计算所述目标空间桶、邻接桶内的知识文本与查询文本的相似真值,将相似真值最大的前k个知识文本组合为优先队列,整合后作为目标知识文本输出。
21、进一步的,基于非对称局部敏感哈希算法计算所述相似真值时,对所述目标空间桶和\或邻接桶内知识文本对应的原始向量填充得到知识向量,将所述查询文本嵌入向量空间并填充得到查询向量,通过查询向量和知识向量计算所述相似真值;其中,归一化并填充后的所述知识向量的公式如下:
22、
23、填充后的所述查询向量的公式如下:
24、
25、式中,p表示知识向量;p0表示原始向量归一化后得到的向量;m表示向量扩展维数,默认为3;1/2为数值0.5;表示计算·二范数的2m次幂;y由查询文本嵌入向量空间得到;q为查询向量,共有d+2m个分量。
26、进一步的,所述空间桶的序号更新公式如下;
27、n=n*maxi+min{pi′//di,maxi-1}
28、式中,n表示第个n区域;pi′表示第i个原始向量;di表示空间桶的直径;maxi表示空间桶的最大数量。
29、本发明所述的基于非对称局部敏感哈希的检索增强系统,包括:
30、阅读记忆模块,用以建立知识文本数据库,包括多个知识文本;
31、初始输入与检查模块,用以获取查询文本,并基于非对称局部敏感哈希算法在所述知识文本数据库中提取与所述查询文本相关的目标知识文本;
32、背景化输入模块,用以建立背景公式,所述背景公式包括与所述目标知识文本、查询文本唯一对应的占位符,之后将所述目标知识文本、查询文本替换背景公式中对应的占位符后得到输入文本;
33、输出模块,用以将所述输入文本输入大语言模型,输出回答文本。
34、有益效果:本发明具有如下显著效果:1、高效:本发明基于非对称局部敏感哈希算法alsh实现,首先,非对称的局部哈希算法,每次查询需要匹配的向量数量降低,响应速度快,对处理器的负载更低,在milvus数据库的基础上利用分区更可以显著降低对内存的需求;其次,传统的rag在外部知识库中寻找相似向量即处理最大内积搜索问题(mips)时,由于mips问题的定义,模数值大的被搜索向量会获得优势,且余弦相似度算法、内积搜索均不能处理共线向量,为弥补大语言模型输出准确性和稳定性的不足、传统最大内积搜索在日渐膨胀的数据库中时间开销过大,运算效率很低,而本发明基于非对称的局部敏感哈希算法实现,对向量进行了不对称填充,通过构造向量巧妙地将最大内积搜索问题mips转化为求最小欧几里得空间距离问题,解除了lsh的限制,容错性更高,避免了向量分布不均匀的问题的同时,更加提高了运算的效率;2、准确:本发明在rag的基础流程上设置了事实检查方法,计算文本之间的二范数进而判断相似性,具体的,由事实检查方法得到前文相关性推理策略,用于对分割构建知识文本数据库的原始文本,分割时可考虑的情况更加全面;在知识文本数据库中提取目标知识文本、大语言模型输出回答文本时,也采用了事实检查方法,标记出相关的而非全部搜索结果,进而排除无关、有害知识,在整体方法结构上进行了优化,确保大语言模型输出质量的下限,更加有利于提高输出的精度;另一方面,同时考虑提示工程与知识文本数据库对查询过程进行知识注入,引入的背景公式中每个目标知识文本和查询文本均有唯一对应的占位符,更加提升了大语言模型的性能;另外,在利用非对称局部哈希算法进行目标知识文本的搜索时,不仅考虑空间桶,还进行了扩充,考虑了与目标空间桶相邻的邻接桶,大大提高了查询的召回率;总的来说,本发明提出的方法及系统使得大语言模型的输出得到了核验和优化,具有更高的安全性和准确性。