番茄动漫网

番茄动漫网 > 动漫剧场

PaddleNLP/ examples / semantic

时间:2024-04-27 18:56:43来源:动漫剧场

召回库转换成向量存入,然后查询的也转换成向量进行查询即可转换成向量的方式有很多种方式


语义索引模型的目标是: 给定输入文本,模型可以从海量候选召回库中快速、准确地召回一批语义相关文本。

简要介绍 In-  策略和  策略思路In-  核心思路In-  策略的训练数据为语义相似的 Pair 对,如下所示为  size = 4 的训练数据样例:我手机丢了,我想换个手机我想买个新手机,求推荐求秋色之空漫画全集求秋色之空全集漫画学日语软件手机上的手机学日语的软件侠盗飞车罪恶都市怎样改车侠盗飞车罪恶都市怎么改车In-  策略核心是在 1 个  内同时基于 N 个负例进行梯度更新,将 内除自身之外其它所有  Text 的相似文本  Text 作为负例,例如: 上例中 我手机丢了,我想换个手机 有 1 个正例(1.我想买个新手机,求推荐),3 个负例(1.求秋色之空全集漫画,2.手机学日语的软件,3.侠盗飞车罪恶都市怎么改车)。 核心思路 策略核心是在 1 个  内的所有负样本中先发掘出最难区分的负样本,基于最难负样本进行梯度更新。例如: 上例中  Text: 我手机丢了,我想换个手机 有 3 个负例(1.求秋色之空全集漫画,2.手机学日语的软件,3.侠盗飞车罪恶都市怎么改车),其中最难区分的负例是 手机学日语的软件,模型训练过程中不断发掘出近似这样的最难负样本,然后基于最难负样本进行梯度更新。

和前几种算法不同,HNSW( )是基于图存储的数据布局。

参数设置中,ef表示最近邻动态列表的大小(需要大于查找的topk),M表示每个结点的“友点”数,是平衡时间/准确率的超参数。可以根据服务器资源和查找的召回率等,做相应调整。本文介绍了几种常用的k近邻查找算法,是KNN的一种基本实现算法;考虑到并发、延时等要素,hnsw是可以在实际业务中落地的算法,其中bert/-bert+hnsw的组合会有不错的召回效果。

支持的距离
在 分别支持L2距离,向量内积以及相似度。在构建索引的过程中对应的具体参数为:
l2,ip,

构建索引的时候,通过传递参数确认检索最近邻需要使用的距离:

p = .( = ‘l2’, dim = dim)
1
2 构建参数
在索引初始化阶段的代码如下:

.(=, =200, M=16)
1
M: 表示在构建期间,每个元素创建的双向链表的数量。M合理的范围是2-100。M值较高的时候在高召回率数据集上效果好,M值较低在低召回率数据集上效果好。M值决意了算法内存消耗,大概是 M × ( 8 10 )B y t e s M \ (8~10);×(8 10)

格斗动漫|亲子动漫|生活动漫|励志动漫|文艺动漫|青春动漫|推理动漫|悬疑动漫|热血动漫|校园动漫|

番茄动漫网