数据检索方法、装置、电子设备及存储介质与流程
未命名
09-13
阅读:66
评论:0

1.本发明涉及人工智能技术领域,具体涉及一种数据检索方法、装置、电子设备及存储介质。
背景技术:
2.数据检索是将经过选择、整理和评价的数据存入某种载体中,并根据用户需要从某种数据集合中检索出能回答问题的准确数据过程或技术。
3.发明人在实现本发明的过程中发现,数据检索大多采用基于向量匹配的方法,但基于向量匹配的方法往往忽略了查询数据和历史检索数据之间的语义信息,且在查询过程中需要将查询数据逐一与历史检索数据进行匹配,导致检索结果不准确且检索效率较低。
技术实现要素:
4.鉴于以上内容,有必要提出一种数据检索方法、装置、电子设备及存储介质,能够提高数据检索的准确度及效率。
5.本发明的第一方面提供一种数据检索方法,所述方法包括:
6.基于历史检索记录构建历史样本数据;
7.根据所述历史样本数据生成伪历史样本数据;
8.使用预设特征编码模型基于所述历史样本数据及对应的所述伪历史样本数据进行编码,得到特征编码数据;
9.基于多个所述特征编码数据优化所述预设特征编码模型,得到目标特征编码模型;
10.使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据。
11.根据本发明的一个可选的实施方式,所述基于历史检索记录构建历史样本数据包括:
12.从所述历史检索记录中获取每个历史查询数据及对应的历史检索数据和所述历史检索数据的点击标签;
13.基于所述查询数据及对应的所述历史检索数据和所述历史检索数据的点击标签构建第一三元数据组;
14.将每个所述第一三元数据组作为一个历史样本数据。
15.根据本发明的一个可选的实施方式,所述根据所述历史样本数据生成伪历史样本数据包括:
16.将所述历史样本数据对应的第一三元数据组输入到预训练语言模型中;
17.通过所述预训练语言模型输出每个所述第一三元数据组对应的伪历史查询数据;
18.根据每个所述伪历史查询数据及对应的所述历史检索数据和所述历史检索数据的点击标签生成一个第二三元数据组;
19.将所述第二三元数据组作为一个伪历史样本数据。
20.根据本发明的一个可选的实施方式,所述使用预设特征编码模型基于所述历史样本数据及对应的所述伪历史样本数据进行编码,得到特征编码数据包括:
21.将所述历史样本数据中的历史查询数据输入到所述预设特征编码模型的第一编码器中,获得第一编码向量;
22.将所述伪历史样本数据中的伪历史查询数据及对应的历史检索数据输入到所述预设特征编码模型的第二编码器中,获得第二编码向量;
23.根据所述第一编码向量及所述第二编码向量,得到所述特征编码数据。
24.根据本发明的一个可选的实施方式,所述使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据包括:
25.使用所述目标特征编码模型对所述历史样本数据进行编码,获得目标特征编码数据;
26.使用所述目标特征编码模型对所述待检索数据进行编码,获得检索特征编码数据;
27.根据所述目标特征编码数据及所述检索特征编码数据,从多个所述历史样本数据中获取所述待检索数据的最近似目标样本数据。
28.根据本发明的一个可选的实施方式,所述使用所述目标特征编码模型对所述历史样本数据进行编码,获得目标特征编码数据包括:将所述历史样本数据中的所述历史检索数据及对应的所述伪历史查询数据输入所述目标特征编码模型的所述第二编码器中,获得所述目标特征编码数据。
29.根据本发明的一个可选的实施方式,所述使用所述目标特征编码模型对所述待检索数据进行编码,获得检索特征编码数据包括:将所述待检索数据输入所述目标特征编码模型的所述第一编码器中,获得所述检索特征编码数据。
30.根据本发明的一个可选的实施方式,所述根据所述目标特征编码数据及所述检索特征编码数据,从多个所述历史样本数据中获取所述待检索数据的最近似目标样本数据包括:
31.基于预设哈希函数,确定所述检索特征编码数据所映射到的哈希桶;
32.将所述哈希桶对应的目标特征编码数据作为目标检索集合;
33.计算所述检索特征编码数据与所述目标检索集合中包括的每个目标特征编码数据之间相似度;
34.判断所述相似度是否大于预设相似度阈值;
35.如果所述相似度大于所述预设相似度阈值,则确定所述相似度对应的目标特征编码数据对应的历史样本数据,为所述待检索数据的最近似目标样本数据。
36.本发明的第二方面提供一种数据检索装置,所述装置包括:
37.构建模块,用于基于历史检索记录构建历史样本数据;
38.生成模块,用于根据所述历史样本数据生成伪历史样本数据;
39.编码模块,用于使用预设特征编码模型基于所述历史样本数据及对应的所述伪历史样本数据进行编码,得到特征编码数据;
40.优化模块,用于基于多个所述特征编码数据优化所述预设特征编码模型,得到目
标特征编码模型;
41.检索模块,用于使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据。
42.本发明的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述数据检索方法。
43.本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述数据检索方法。
44.本发明实施例提供的数据检索方法、装置、电子设备及存储介质,基于历史检索记录构建历史样本数据,并根据所述历史样本数据生成伪历史样本数据,然后将历史样本数据及对应的所述伪历史样本数据输入同一预设特征编码模型中进行编码得到特征编码数据,通过充分学习历史样本数据和伪历史样本数据之间的关系,从而在基于多个所述特征编码数据对所述预设特征编码模型进行优化时,能够提高模型的精度,进而提高检索的准确度。最后,使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据,提高了检索的效率。
附图说明
45.图1是本发明实施例一提供的数据检索方法的流程图。
46.图2是本发明实施例提供的数据检索模型的架构图。
47.图3是本发明实施例二提供的数据检索装置的结构图。
48.图4是本发明实施例三提供的电子设备的结构示意图。
具体实施方式
49.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
50.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述在一个可选的实施方式中实施例的目的,不是旨在于限制本发明。
51.本发明实施例提供的数据检索方法由电子设备执行,相应地,数据检索装置运行于电子设备中。
52.本发明实施例可以基于人工智能技术对数据进行标准化处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
53.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
54.实施例一
55.图1是本发明实施例一提供的数据检索方法的流程图。所述数据检索方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
56.s11,基于历史检索记录构建历史样本数据。
57.其中,历史检索记录是指基于用户输入的检索条件在第一数据库中进行查询检索并获得了检索结果的数据记录。电子设备可以将每次每个用户输入的检索条件及对应的检索结果关联存储在第二数据库中。第一数据库是指存储了大量原始数据的库,第二数据库是指存储了历史检索记录的库。第二数据库中存储的检索条件称之为历史查询数据,存储的检索结果称之为历史检索数据。
58.电子设备从第二数据库中获取多个历史检索记录,并基于获取的多个历史检索记录构建历史样本数据集,其中,每个历史检索记录为历史样本数据集中的一条历史样本数据。所述历史样本数据可以为文本(例如,医疗文本,新闻文本,论文文本),可以为图像(例如,人脸图像,手势图像,表情图像),本发明不做任何限制。即,本发明所述的方法可以应用于医疗文本、新闻文本、论文文本、人脸图像、手势图像、表情图像等的检索。
59.在一个可选的实施方式中,所述基于历史检索记录构建历史样本数据包括:
60.从所述历史检索记录中获取每个历史查询数据及对应的历史检索数据和所述历史检索数据的点击标签;
61.基于所述查询数据及对应的所述历史检索数据和所述历史检索数据的点击标签构建第一三元数据组;
62.将每个所述第一三元数据组作为一个历史样本数据。
63.其中,历史检索数据的点击标签可以包括第一标签及第二标签,第一标签可以用数字1表示,第二标签可以用数字0表示。在其他实施方式中,还可以用字母a表示第一标签,用字母b表示第二标签。本发明对第一标签和第二标签的表示不做任何限制。
64.第一标签用以表示将历史检索数据作为检索结果显示给用户时被用户点击过,第二标签用以表示将历史检索数据作为检索结果显示给用户时未被用户点击过。
65.假设d表示历史样本数据集,qi表示历史样本数据集d中第i个历史查询数据,di则表示历史样本数据集d中与第i个历史查询数据qi最近似或者相匹配的历史检索数据,ci∈{0,1),则历史样本数据集d={(q1,d1,c1),...,(qi,di,ci),...,(qn,dn,cn)},n表示历史样本数据集d中历史样本数据的数量。
66.s12,根据所述历史样本数据生成伪历史样本数据。
67.电子设备在得到历史样本数据集之后,可以为历史样本数据集中的每一个历史样本数据生成一个伪历史样本数据,从而将所有的伪历史样本数据集合在一起,得到一个伪历史样本数据集,进而基于历史样本数据集和伪历史样本数据集训练特征提取模型。
68.在一个可选的实施方式中,所述根据所述历史样本数据生成伪历史样本数据包括:
69.将所述历史样本数据对应的第一三元数据组输入到预训练语言模型中;
70.通过所述预训练语言模型输出每个所述第一三元数据组对应的伪历史查询数据;
71.根据每个所述伪历史查询数据及对应的所述历史检索数据和所述历史检索数据的点击标签生成一个第二三元数据组;
72.将所述第二三元数据组作为一个伪历史样本数据。
73.其中,所述预训练语言模型可以为doc2query模型,或者doct5query模型。
74.doc2query模型的核心思想是利用训练集中有标注好的(q,d)对同时训练判断模型和生成模型,一方面能够只用encoder局部将(q,d)拼起来做相关性的判断预测,另一方面能够额定加一个decoder局部来生成查问。两局部同时学习相互增益会使encoder局部更强。doc2query的结构是6层的transformer,doct5query与doc2query的区别是利用了一个更强大的预训练模型t5来生成扩展词项。其核心思想都是利用给定的查询数据和检索数据的数据对训练一个seq2seq生成模型,然后对每个检索数据生成伪查询数据。
75.具体实施时,将第一三元数据组(qi,di,ci)输入到预训练语言模型,例如,doc2query模型中,通过所述预训练语言模型生成并输出伪历史查询数据其中,qi是用户输入的历史查询数据,是预训练语言模型生成并输出的伪数据,历史查询数据qi与伪历史查询数据虽然不同,但是语义相同,且伪历史查询数据中蕴含着历史检索数据di的主题和关键词信息。即,每个伪历史查询数据与对应的历史检索数据具有相同的主题和关键词。
76.s13,使用预设特征编码模型基于所述历史样本数据及对应的所述伪历史样本数据进行编码,得到特征编码数据。
77.电子设备可以设置来自变压器的双向编码器表示(bidirectional encoder representation from transformers,bert)作为预设特征编码模型的基础编码器,通过基础编码器提取所述历史样本数据及所述伪历史样本数据的特征,从而得到特征数据。
78.在一个可选的实施方式中,所述使用预设特征编码模型基于所述历史样本数据及对应的所述伪历史样本数据进行编码,得到特征编码数据包括:
79.将所述历史样本数据中的历史查询数据输入到所述预设特征编码模型的第一编码器中,获得第一编码向量;
80.将所述伪历史样本数据中的伪历史查询数据及对应的历史检索数据输入到所述预设特征编码模型的第二编码器中,获得第二编码向量;
81.根据所述第一编码向量及所述第二编码向量,得到所述特征编码数据。
82.其中,预设特征编码模型包括两部分,第一部分为第一编码器,第二部分为第二编码器,所述第一编码器为query编码器,第二编码器为document编码器。
83.如图2所示,queryencoder为query编码器,documentencoder为document编码器。
84.首先,将历史查询数据qi输入到query编码器中,获取query编码器输出的第一编码向量
85.其次,将伪历史查询数据和历史检索数据di输入到document编码器中,获取document编码器输出的第二编码向量
86.最后,计算第一编码向量和第二编码向量的内积,作为特征编码数据。
87.上述可选的实施方式,通过历史查询数据训练query编码器及使用伪历史查询数据和历史检索数据训练documentencoder编码器,使得历史查询数据和历史检索数据充分交互,并相互影响,从而学习到更能表征历史样本数据的特征编码数据。
88.s14,基于多个所述特征编码数据优化所述预设特征编码模型,得到目标特征编码模型。
89.每个样本数据对应一个特征编码数据,多个样本数据对应的多个特征编码数据。
90.将每个特征编码数据及对应的点击标签输入预设特征编码模型中进行迭代训练,并在每次迭代训练的过程中计算交叉熵损失函数值。采用梯度下降的算法基于交叉熵损失函数值,优化预设特征编码模型的参数,完成预设特征编码模型的训练过程,得到目标特征编码模型。
91.s15,使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据。
92.所述待检索数据的最近似目标样本数据是指所述目标样本数据与所述待检索数据的相似度大于预设相似度阈值。
93.在一个可选的实施方式中,所述使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据包括:
94.使用所述目标特征编码模型对所述历史样本数据进行编码,获得目标特征编码数据;
95.使用所述目标特征编码模型对所述待检索数据进行编码,获得检索特征编码数据;
96.根据所述目标特征编码数据及所述检索特征编码数据,从多个所述历史样本数据中获取所述待检索数据的最近似目标样本数据。
97.在对预设特征编码模型进行优化训练后得到目标特征编码模型,使用目标特征编码模型对所述历史样本数据进行编码,得到的目标特征编码数据更能表征历史样本数据,使用目标特征编码模型对所述待检索数据进行编码,得到的检索特征编码数据也更能表征待检索数据,从而根据目标特征编码数据及所述检索特征编码数据,从多个所述历史样本数据中检索与所述待检索数据对应的目标样本数据,目标样本数据与待检索数据的相似度最高。
98.其中,所述使用所述目标特征编码模型对所述历史样本数据进行编码,获得目标特征编码数据包括:将所述历史样本数据中的所述历史检索数据及对应的所述伪历史查询数据输入所述目标特征编码模型的所述第二编码器中,获得所述目标特征编码数据。
99.其中,所述使用所述目标特征编码模型对所述待检索数据进行编码,获得检索特征编码数据包括:将所述待检索数据输入所述目标特征编码模型的所述第一编码器中,获得所述检索特征编码数据。
100.电子设备可以在得到目标特征编码模型之后,可以将每个历史样本数据中的历史查询数据对应的伪历史查询数据及该历史样本数据中的历史检索数据,输入到目标特征编码模型的documentencoder编码器中,获取每个历史样本数据的目标特征编码数据。
101.其中,所述待检索数据是指用户输入的待检测条件。电子设备在接收到对所述待检索数据进行检索的指令后,将所述待检索数据输入所述目标特征编码模型的queryencoder编码器中,获得检索特征编码数据。
102.电子设备可以将所有的历史样本数据及对应的目标特征编码数据集合起来,得到历史样本目标特征编码数据集,并保存历史样本数据及对应的目标特征编码数据之间的对
应关系,便于后续接收到对待检索数据的检索指令时,直接调用所述历史样本目标特征编码数据集,基于向量匹配的方式,从所述历史样本目标特征编码数据集中获得待检索数据的最近似的目标样本数据。
103.上述可选的实施方式,使用优化后的目标特征编码模型中的documentencoder编码器将所有的历史搜索数据转换为编码向量并进行保存,在实际使用时,只需通过获取历史查询数据的编码向量,就可从历史搜索对应的编码向量集合中获取到检索数据,从而极大的提高了检索的速率。
104.在一个可选的实施方式中,所述根据所述目标特征编码数据及所述检索特征编码数据,从多个所述历史样本数据中获取所述待检索数据的最近似目标样本数据包括:
105.基于预设哈希函数,确定所述检索特征编码数据所映射到的哈希桶;
106.将所述哈希桶对应的目标特征编码数据作为目标检索集合;
107.计算所述检索特征编码数据与所述目标检索集合中包括的每个目标特征编码数据之间相似度;
108.判断所述相似度是否大于预设相似度阈值;
109.如果所述相似度大于所述预设相似度阈值,则确定所述相似度对应的目标特征编码数据对应的历史样本数据,为所述待检索数据的最近似目标样本数据。
110.其中,所述预设哈希函数可以为局部敏感哈希函数。
111.电子设备在得到每个历史样本数据的目标特征编码数据之后,可以使用所述预设哈希函数计算每个所述目标特征编码数据的哈希值,并将哈希值确定为哈希桶的桶号,然后将相同哈希值的目标特征编码数据与对应的哈希桶之间的对应关系进行存储。由于哈希值相同,则表明同一个哈希桶对应的目标特征编码数据之间的相似度较大,即,同一个哈希桶对应的目标特征编码数据是相似的,同一个哈希桶对应的历史样本数据是相似的。
112.同理,使用所述预设哈希函数计算所述检索特征编码数据的哈希值,确定所述检索特征编码数据所映射到的哈希桶。将所确定的哈希桶对应的目标特征编码数据作为目标检索集合,并计算所述检索特征编码数据与所述目标检索集合中包括的每个目标特征编码数据之间相似度,并在所述相似度大于所述预设相似度阈值时,确定所述相似度对应的历史样本数据,为所述待检索数据的最近似目标样本数据。
113.其中,相似度可以采用距离来表示,例如,可以采用余弦距离、欧式距离、海明距离等,本发明实施例不做限定。上述可选的实施方式,由于预先将目标特征编码数据按照哈希值划分为多个集合,从而将多个历史样本数据按照相似度划分为多个集合,因而在确定待检索数据对应的最相似目标样本数据时,只需要从预先确定的集合中确定待检索数据对应的目标集合,进而,将待检索数据与目标集合内的目标特征编码数据对应的历史样本数据进行相似度的计算,即可确定待检索数据对应的相似数据,因此,可以大大降低相似度的计算量,提高相似数据的确定效率,可以快速返回相似数据的确定结果。
114.本发明实施例,基于历史检索记录构建历史样本数据,并根据所述历史样本数据生成伪历史样本数据,然后将历史样本数据及对应的所述伪历史样本数据输入同一预设特征编码模型中进行编码得到特征编码数据,通过充分学习历史样本数据和伪历史样本数据之间的关系,从而在基于多个所述特征编码数据对所述预设特征编码模型进行优化时,能够提高模型的精度,进而提高检索的准确度。最后,使用所述目标特征编码模型从多个所述
历史样本数据中获取待检索数据的最近似目标样本数据,提高了检索的效率。
115.实施例二
116.图3是本发明实施例二提供的数据检索装置的结构图。
117.在一些实施例中,所述数据检索装置30可以包括多个由计算机程序段所组成的功能模块。所述数据检索装置30中的各个程序段的计算机程序可以存储于电子设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)数据检索的功能。
118.本实施例中,所述数据检索装置30根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:构建模块301、生成模块302、编码模块303、优化模块304及检索模块305。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
119.所述构建模块301,用于基于历史检索记录构建历史样本数据。
120.其中,历史检索记录是指基于用户输入的检索条件在第一数据库中进行查询检索并获得了检索结果的数据记录。电子设备可以将每次每个用户输入的检索条件及对应的检索结果关联存储在第二数据库中。第一数据库是指存储了大量原始数据的库,第二数据库是指存储了历史检索记录的库。第二数据库中存储的检索条件称之为历史查询数据,存储的检索结果称之为历史检索数据。
121.电子设备从第二数据库中获取多个历史检索记录,并基于获取的多个历史检索记录构建历史样本数据集,其中,每个历史检索记录为历史样本数据集中的一条历史样本数据。所述历史样本数据可以为文本(例如,医疗文本,新闻文本,论文文本),可以为图像(例如,人脸图像,手势图像,表情图像),本发明不做任何限制。即,本发明所述的方法可以应用于医疗文本、新闻文本、论文文本、人脸图像、手势图像、表情图像等的检索。
122.在一个可选的实施方式中,所述基于历史检索记录构建历史样本数据包括:
123.从所述历史检索记录中获取每个历史查询数据及对应的历史检索数据和所述历史检索数据的点击标签;
124.基于所述查询数据及对应的所述历史检索数据和所述历史检索数据的点击标签构建第一三元数据组;
125.将每个所述第一三元数据组作为一个历史样本数据。
126.其中,历史检索数据的点击标签可以包括第一标签及第二标签,第一标签可以用数字1表示,第二标签可以用数字0表示。在其他实施方式中,还可以用字母a表示第一标签,用字母b表示第二标签。本发明对第一标签和第二标签的表示不做任何限制。
127.第一标签用以表示将历史检索数据作为检索结果显示给用户时被用户点击过,第二标签用以表示将历史检索数据作为检索结果显示给用户时未被用户点击过。
128.假设d表示历史样本数据集,qi表示历史样本数据集d中第i个历史查询数据,di则表示历史样本数据集d中与第i个历史查询数据qi最近似或者相匹配的历史检索数据,ci∈{0,1},则历史样本数据集d={(q1,d1,c1),...,(qi,di,ci),...,(qn,dn,cn)},n表示历史样本数据集d中历史样本数据的数量。
129.所述生成模块302,用于根据所述历史样本数据生成伪历史样本数据。
130.电子设备在得到历史样本数据集之后,可以为历史样本数据集中的每一个历史样
本数据生成一个伪历史样本数据,从而将所有的伪历史样本数据集合在一起,得到一个伪历史样本数据集,进而基于历史样本数据集和伪历史样本数据集训练特征提取模型。
131.在一个可选的实施方式中,所述根据所述历史样本数据生成伪历史样本数据包括:
132.将所述历史样本数据对应的第一三元数据组输入到预训练语言模型中;
133.通过所述预训练语言模型输出每个所述第一三元数据组对应的伪历史查询数据;
134.根据每个所述伪历史查询数据及对应的所述历史检索数据和所述历史检索数据的点击标签生成一个第二三元数据组;
135.将所述第二三元数据组作为一个伪历史样本数据。
136.其中,所述预训练语言模型可以为doc2query模型,或者doct5query模型。
137.doc2query模型的核心思想是利用训练集中有标注好的(q,d)对同时训练判断模型和生成模型,一方面能够只用encoder局部将(q,d)拼起来做相关性的判断预测,另一方面能够额定加一个decoder局部来生成查问。两局部同时学习相互增益会使encoder局部更强。doc2query的结构是6层的transformer,doct5query与doc2query的区别是利用了一个更强大的预训练模型t5来生成扩展词项。其核心思想都是利用给定的查询数据和检索数据的数据对训练一个seq2seq生成模型,然后对每个检索数据生成伪查询数据。
138.具体实施时,将第一三元数据组(qi,di,ci)输入到预训练语言模型,例如,doc2query模型中,通过所述预训练语言模型生成并输出伪历史查询数据其中,qi是用户输入的历史查询数据,是预训练语言模型生成并输出的伪数据,历史查询数据qi与伪历史查询数据虽然不同,但是语义相同,且伪历史查询数据中蕴含着历史检索数据di的主题和关键词信息。即,每个伪历史查询数据与对应的历史检索数据具有相同的主题和关键词。
139.所述编码模块303,用于使用预设特征编码模型基于所述历史样本数据及对应的所述伪历史样本数据进行编码,得到特征编码数据。
140.电子设备可以设置来自变压器的双向编码器表示(bidirectional encoder representation from transformers,bert)作为预设特征编码模型的基础编码器,通过基础编码器提取所述历史样本数据及所述伪历史样本数据的特征,从而得到特征数据。
141.在一个可选的实施方式中,所述使用预设特征编码模型基于所述历史样本数据及对应的所述伪历史样本数据进行编码,得到特征编码数据包括:
142.将所述历史样本数据中的历史查询数据输入到所述预设特征编码模型的第一编码器中,获得第一编码向量;
143.将所述伪历史样本数据中的伪历史查询数据及对应的历史检索数据输入到所述预设特征编码模型的第二编码器中,获得第二编码向量;
144.根据所述第一编码向量及所述第二编码向量,得到所述特征编码数据。
145.其中,预设特征编码模型包括两部分,第一部分为第一编码器,第二部分为第二编码器,所述第一编码器为query编码器,第二编码器为document编码器。
146.如图2所示,queryencoder为query编码器,documentencoder为document编码器。
147.首先,将历史查询数据qi输入到query编码器中,获取query编码器输出的第一编
码向量
148.其次,将伪历史查询数据和历史检索数据di输入到document编码器中,获取document编码器输出的第二编码向量
149.最后,计算第一编码向量和第二编码向量的内积,作为特征编码数据。
150.上述可选的实施方式,通过历史查询数据训练query编码器及使用伪历史查询数据和历史检索数据训练documentencoder编码器,使得历史查询数据和历史检索数据充分交互,并相互影响,从而学习到更能表征历史样本数据的特征编码数据。
151.所述优化模块304,用于基于多个所述特征编码数据优化所述预设特征编码模型,得到目标特征编码模型。
152.每个样本数据对应一个特征编码数据,多个样本数据对应的多个特征编码数据。
153.将每个特征编码数据及对应的点击标签输入预设特征编码模型中进行迭代训练,并在每次迭代训练的过程中计算交叉熵损失函数值。采用梯度下降的算法基于交叉熵损失函数值,优化预设特征编码模型的参数,完成预设特征编码模型的训练过程,得到目标特征编码模型。
154.所述检索模块305,用于使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据。
155.所述待检索数据的最近似目标样本数据是指所述目标样本数据与所述待检索数据的相似度大于预设相似度阈值。
156.在一个可选的实施方式中,所述使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据包括:
157.使用所述目标特征编码模型对所述历史样本数据进行编码,获得目标特征编码数据;
158.使用所述目标特征编码模型对所述待检索数据进行编码,获得检索特征编码数据;
159.根据所述目标特征编码数据及所述检索特征编码数据,从多个所述历史样本数据中获取所述待检索数据的最近似目标样本数据。
160.在对预设特征编码模型进行优化训练后得到目标特征编码模型,使用目标特征编码模型对所述历史样本数据进行编码,得到的目标特征编码数据更能表征历史样本数据,使用目标特征编码模型对所述待检索数据进行编码,得到的检索特征编码数据也更能表征待检索数据,从而根据目标特征编码数据及所述检索特征编码数据,从多个所述历史样本数据中检索与所述待检索数据对应的目标样本数据,目标样本数据与待检索数据的相似度最高。
161.其中,所述使用所述目标特征编码模型对所述历史样本数据进行编码,获得目标特征编码数据包括:将所述历史样本数据中的所述历史检索数据及对应的所述伪历史查询数据输入所述目标特征编码模型的所述第二编码器中,获得所述目标特征编码数据。
162.其中,所述使用所述目标特征编码模型对所述待检索数据进行编码,获得检索特征编码数据包括:将所述待检索数据输入所述目标特征编码模型的所述第一编码器中,获
得所述检索特征编码数据。
163.电子设备可以在得到目标特征编码模型之后,可以将每个历史样本数据中的历史查询数据对应的伪历史查询数据及该历史样本数据中的历史检索数据,输入到目标特征编码模型的documentencoder编码器中,获取每个历史样本数据的目标特征编码数据。
164.其中,所述待检索数据是指用户输入的待检测条件。电子设备在接收到对所述待检索数据进行检索的指令后,将所述待检索数据输入所述目标特征编码模型的queryencoder编码器中,获得检索特征编码数据。
165.电子设备可以将所有的历史样本数据及对应的目标特征编码数据集合起来,得到历史样本目标特征编码数据集,并保存历史样本数据及对应的目标特征编码数据之间的对应关系,便于后续接收到对待检索数据的检索指令时,直接调用所述历史样本目标特征编码数据集,基于向量匹配的方式,从所述历史样本目标特征编码数据集中获得待检索数据的最近似的目标样本数据。
166.上述可选的实施方式,使用优化后的目标特征编码模型中的documentencoder编码器将所有的历史搜索数据转换为编码向量并进行保存,在实际使用时,只需通过获取历史查询数据的编码向量,就可从历史搜索对应的编码向量集合中获取到检索数据,从而极大的提高了检索的速率。
167.在一个可选的实施方式中,所述根据所述目标特征编码数据及所述检索特征编码数据,从多个所述历史样本数据中获取所述待检索数据的最近似目标样本数据包括:
168.基于预设哈希函数,确定所述检索特征编码数据所映射到的哈希桶;
169.将所述哈希桶对应的目标特征编码数据作为目标检索集合;
170.计算所述检索特征编码数据与所述目标检索集合中包括的每个目标特征编码数据之间相似度;
171.判断所述相似度是否大于预设相似度阈值;
172.如果所述相似度大于所述预设相似度阈值,则确定所述相似度对应的目标特征编码数据对应的历史样本数据,为所述待检索数据的最近似目标样本数据。
173.其中,所述预设哈希函数可以为局部敏感哈希函数。
174.电子设备在得到每个历史样本数据的目标特征编码数据之后,可以使用所述预设哈希函数计算每个所述目标特征编码数据的哈希值,并将哈希值确定为哈希桶的桶号,然后将相同哈希值的目标特征编码数据与对应的哈希桶之间的对应关系进行存储。由于哈希值相同,则表明同一个哈希桶对应的目标特征编码数据之间的相似度较大,即,同一个哈希桶对应的目标特征编码数据是相似的,同一个哈希桶对应的历史样本数据是相似的。
175.同理,使用所述预设哈希函数计算所述检索特征编码数据的哈希值,确定所述检索特征编码数据所映射到的哈希桶。将所确定的哈希桶对应的目标特征编码数据作为目标检索集合,并计算所述检索特征编码数据与所述目标检索集合中包括的每个目标特征编码数据之间相似度,并在所述相似度大于所述预设相似度阈值时,确定所述相似度对应的历史样本数据,为所述待检索数据的最近似目标样本数据。
176.其中,相似度可以采用距离来表示,例如,可以采用余弦距离、欧式距离、海明距离等,本发明实施例不做限定。上述可选的实施方式,由于预先将目标特征编码数据按照哈希值划分为多个集合,从而将多个历史样本数据按照相似度划分为多个集合,因而在确定待
检索数据对应的最相似目标样本数据时,只需要从预先确定的集合中确定待检索数据对应的目标集合,进而,将待检索数据与目标集合内的目标特征编码数据对应的历史样本数据进行相似度的计算,即可确定待检索数据对应的相似数据,因此,可以大大降低相似度的计算量,提高相似数据的确定效率,可以快速返回相似数据的确定结果。
177.本发明实施例,基于历史检索记录构建历史样本数据,并根据所述历史样本数据生成伪历史样本数据,然后将历史样本数据及对应的所述伪历史样本数据输入同一预设特征编码模型中进行编码得到特征编码数据,通过充分学习历史样本数据和伪历史样本数据之间的关系,从而在基于多个所述特征编码数据对所述预设特征编码模型进行优化时,能够提高模型的精度,进而提高检索的准确度。最后,使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据,提高了检索的效率。
178.实施例三
179.本实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据检索方法实施例中的步骤,例如图1所示的s11-s15:
180.s11,基于历史检索记录构建历史样本数据;
181.s12,根据所述历史样本数据生成伪历史样本数据;
182.s13,使用预设特征编码模型基于所述历史样本数据及对应的所述伪历史样本数据进行编码,得到特征编码数据;
183.s14,基于多个所述特征编码数据优化所述预设特征编码模型,得到目标特征编码模型;
184.s15,使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据。
185.或者,该计算机程序被处理器执行时实现上述装置实施例中各模块/单元的功能,例如图3中的模块301-305:
186.所述构建模块301,用于基于历史检索记录构建历史样本数据;
187.所述生成模块302,用于根据所述历史样本数据生成伪历史样本数据;
188.所述编码模块303,用于使用预设特征编码模型基于所述历史样本数据及对应的所述伪历史样本数据进行编码,得到特征编码数据;
189.所述优化模块304,用于基于多个所述特征编码数据优化所述预设特征编码模型,得到目标特征编码模型;
190.所述检索模块305,用于使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据。
191.实施例四
192.参阅图4所示,为本发明实施例三提供的电子设备的结构示意图。在本发明较佳实施例中,所述电子设备4包括存储器41、至少一个处理器42、至少一条通信总线43及收发器44。
193.本领域技术人员应该了解,图4示出的电子设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备4还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
194.在一些实施例中,所述电子设备4是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述电子设备4还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
195.所述电子设备4仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
196.在一些实施例中,所述存储器41中存储有计算机程序,所述计算机程序被所述至少一个处理器42执行时实现如所述的数据检索方法中的全部或者部分步骤。所述存储器41包括只读存储器(read-only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、一次可编程只读存储器(one-time programmable read-only memory,otprom)、电子擦除式可复写只读存储器(electrically-erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或历史检索数据的计算机可读的任何其他介质。
197.进一步地,所述计算机可读存储介质可主要包括存储程序区和历史检索数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;历史检索数据区可存储根据区块链节点的使用所创建的数据等。
198.本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
199.在一些实施例中,所述至少一个处理器42是所述电子设备4的控制核心(control unit),利用各种接口和线路连接整个电子设备4的各个部件,通过运行或执行存储在所述存储器41内的程序或者模块,以及调用存储在所述存储器41内的数据,以执行电子设备4的各种功能和处理数据。例如,所述至少一个处理器42执行所述存储器中存储的计算机程序时实现本发明实施例中所述的数据检索方法的全部或者部分步骤;或者实现数据检索装置的全部或者部分功能。所述至少一个处理器42可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
200.在一些实施例中,所述至少一条通信总线43被设置为实现所述存储器41以及所述至少一个处理器42等之间的连接通信。
201.尽管未示出,所述电子设备4还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器42逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备4还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
202.上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
203.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
204.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
205.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
206.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。说明书中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
207.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
技术特征:
1.一种数据检索方法,其特征在于,所述方法包括:基于历史检索记录构建历史样本数据;根据所述历史样本数据生成伪历史样本数据;使用预设特征编码模型基于所述历史样本数据及对应的所述伪历史样本数据进行编码,得到特征编码数据;基于多个所述特征编码数据优化所述预设特征编码模型,得到目标特征编码模型;使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据。2.如权利要求1所述的数据检索方法,其特征在于,所述基于历史检索记录构建历史样本数据包括:从所述历史检索记录中获取每个历史查询数据及对应的历史检索数据和所述历史检索数据的点击标签;基于所述查询数据及对应的所述历史检索数据和所述历史检索数据的点击标签构建第一三元数据组;将每个所述第一三元数据组作为一个历史样本数据。3.如权利要求2所述的数据检索方法,其特征在于,所述根据所述历史样本数据生成伪历史样本数据包括:将所述历史样本数据对应的第一三元数据组输入到预训练语言模型中;通过所述预训练语言模型输出每个所述第一三元数据组对应的伪历史查询数据;根据每个所述伪历史查询数据及对应的所述历史检索数据和所述历史检索数据的点击标签生成一个第二三元数据组;将所述第二三元数据组作为一个伪历史样本数据。4.如权利要求3所述的数据检索方法,其特征在于,所述使用预设特征编码模型基于所述历史样本数据及对应的所述伪历史样本数据进行编码,得到特征编码数据包括:将所述历史样本数据中的历史查询数据输入到所述预设特征编码模型的第一编码器中,获得第一编码向量;将所述伪历史样本数据中的伪历史查询数据及对应的历史检索数据输入到所述预设特征编码模型的第二编码器中,获得第二编码向量;根据所述第一编码向量及所述第二编码向量,得到所述特征编码数据。5.如权利要求4所述的数据检索方法,其特征在于,所述使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据包括:使用所述目标特征编码模型对所述历史样本数据进行编码,获得目标特征编码数据;使用所述目标特征编码模型对所述待检索数据进行编码,获得检索特征编码数据;根据所述目标特征编码数据及所述检索特征编码数据,从多个所述历史样本数据中获取所述待检索数据的最近似目标样本数据。6.如权利要求5所述的数据检索方法,其特征在于,所述使用所述目标特征编码模型对所述历史样本数据进行编码,获得目标特征编码数据包括:将所述历史样本数据中的所述历史检索数据及对应的所述伪历史查询数据输入所述目标特征编码模型的所述第二编码器中,获得所述目标特征编码数据;
所述使用所述目标特征编码模型对所述待检索数据进行编码,获得检索特征编码数据包括:将所述待检索数据输入所述目标特征编码模型的所述第一编码器中,获得所述检索特征编码数据。7.如权利要求5或者6所述的数据检索方法,其特征在于,所述根据所述目标特征编码数据及所述检索特征编码数据,从多个所述历史样本数据中获取所述待检索数据的最近似目标样本数据包括:基于预设哈希函数,确定所述检索特征编码数据所映射到的哈希桶;将所述哈希桶对应的目标特征编码数据作为目标检索集合;计算所述检索特征编码数据与所述目标检索集合中包括的每个目标特征编码数据之间相似度;判断所述相似度是否大于预设相似度阈值;如果所述相似度大于所述预设相似度阈值,则确定所述相似度对应的目标特征编码数据对应的历史样本数据,为所述待检索数据的最近似目标样本数据。8.一种数据检索装置,其特征在于,所述装置包括:构建模块,用于基于历史检索记录构建历史样本数据;生成模块,用于根据所述历史样本数据生成伪历史样本数据;编码模块,用于使用预设特征编码模型基于所述历史样本数据及对应的所述伪历史样本数据进行编码,得到特征编码数据;优化模块,用于基于多个所述特征编码数据优化所述预设特征编码模型,得到目标特征编码模型;检索模块,用于使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据。9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述数据检索方法。10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述数据检索方法。
技术总结
本发明涉及人工智能技术领域,提供一种数据检索方法、装置、电子设备及存储介质,基于历史检索记录构建历史样本数据,并根据所述历史样本数据生成伪历史样本数据,然后将历史样本数据及对应的所述伪历史样本数据输入同一预设特征编码模型中进行编码得到特征编码数据,通过充分学习历史样本数据和伪历史样本数据之间的关系,从而在基于多个所述特征编码数据对所述预设特征编码模型进行优化时得到目标特征编码模型,能够提高模型的精度,进而提高检索的准确度。最后,使用所述目标特征编码模型从多个所述历史样本数据中获取待检索数据的最近似目标样本数据,提高了检索的效率。提高了检索的效率。提高了检索的效率。
技术研发人员:陈浩
受保护的技术使用者:平安科技(深圳)有限公司
技术研发日:2023.04.20
技术公布日:2023/9/11
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/