问题检索模型的训练方法及装置、问题检索方法及装置与流程

文档序号:28748462发布日期:2022-02-07 23:53阅读:179来源:国知局
问题检索模型的训练方法及装置、问题检索方法及装置与流程

1.本技术涉及计算机技术领域,特别涉及一种问题检索模型的训练方法及装置、问题检索方法及装置、计算设备和计算机可读存储介质。


背景技术:

2.人工智能(artificial intelligence;ai)是指以工程化(即设计并制造)的系统感知环境的能力,以及获取、处理、应用和表示知识的能力。随着计算机和人工智能技术的快速发展,根据用户提出的问题,自动搜索答案的功能也日益完善,应用到了电商平台的智能客服、搜索引擎的自动问答服务等多个应用场景中。
3.现有技术中,往往是预先搜集大量的问题和答案,将其存储在预设的答案数据库中,当用户提出问题后,计算用户提出的问题与预设的答案数据库中的各个问题之间的字符重复度,根据该字符重复度,筛选出与用户提出的问题相似的问题,从而确定用户提出的问题对应的答案。
4.然而,上述根据用户提出的问题搜索答案的方案中,是根据问题的字符重复度筛选相似的问题,而实际上问题中的字符还可能存在有上下文关系,并不是完全无关的独立特征,因此可能导致确定出的相似问题准确性较低,进而导致搜索答案的准确性较低。


技术实现要素:

5.有鉴于此,本技术实施例提供了一种问题检索模型的训练方法及装置、问题检索方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
6.根据本技术实施例的第一方面,提供了一种问题检索模型的训练方法,包括:
7.获取样本问题答案对,并将所述样本问题答案对存储至预设检索数据库;
8.根据获得的第一样本问题,从所述预设检索数据库中获取关联的第一参考样本问题;
9.根据所述第一样本问题和所述第一参考样本问题,构造第一训练样本;
10.根据所述第一训练样本,对所述问题检索模型进行训练,并返回执行所述根据获得的第一样本问题,从所述预设检索数据库中获取关联的第一参考样本问题的操作步骤,直至达到训练停止条件。
11.根据本技术实施例的第二方面,提供了一种问题检索方法,包括:
12.根据获得的搜索问题,从预设检索数据库中获取关联的第一候选问题;
13.根据问题检索模型和预设问题向量,获取所述搜索问题关联的第二候选问题,其中,所述问题检索模型基于上述第一方面任一项所述的方法训练得到;
14.合并所述第一候选问题和所述第二候选问题,得到所述搜索问题对应的候选问题集;
15.根据所述候选问题集,利用相似度分析模型,确定所述搜索问题对应的目标相似问题。
16.根据本技术实施例的第三方面,提供了一种问题检索模型的训练装置,包括:
17.第一获取模块,被配置为获取样本问题答案对,并将所述样本问题答案对存储至预设检索数据库;
18.第二获取模块,被配置为根据获得的第一样本问题,从所述预设检索数据库中获取关联的第一参考样本问题;
19.构造模块,被配置为根据所述第一样本问题和所述第一参考样本问题,构造第一训练样本;
20.第一训练模块,被配置为根据所述第一训练样本,对所述问题检索模型进行训练,并返回执行所述根据获得的第一样本问题,从所述预设检索数据库中获取关联的第一参考样本问题的操作步骤,直至达到训练停止条件。
21.根据本技术实施例的第四方面,提供了一种问题检索装置,包括:
22.第三获取模块,被配置为根据获得的搜索问题,从预设检索数据库中获取关联的第一候选问题;
23.第四获取模块,被配置为根据问题检索模型和预设问题向量,获取所述搜索问题关联的第二候选问题,其中,所述问题检索模型基于上述权利要求1-6任一项所述的方法训练得到;
24.合并模块,被配置为合并所述第一候选问题和所述第二候选问题,得到所述搜索问题对应的候选问题集;
25.确定模块,被配置为根据所述候选问题集,利用相似度分析模型,确定所述搜索问题对应的目标相似问题。
26.根据本技术实施例的第五方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述问题检索模型的训练方法或者问题检索方法的步骤。
27.根据本技术实施例的第六方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述问题检索模型的训练方法或者问题检索方法的步骤。
28.根据本技术实施例的第七五方面,提供了一种芯片,其存储有计算机指令,该指令被芯片执行时实现所述问题检索模型的训练方法或者问题检索方法的步骤。
29.本技术实施例中可以通过第一样本问题,以及与第一样本问题关联的第一参考样本问题共同构造得到第一训练样本,然后通过第一训练样本对问题检索模型进行训练,如此,第一训练样本的样本内容更丰富全面,从而可以提高问题检索模型的训练速度,并提高训练得到的问题检索模型对输入问题进行分析的准确性。
30.本技术实施例中可以先通过预设检索数据库筛选与搜索问题相似的第一候选问题,然后再利用训练好的问题检索模型获得与搜索问题相似的第二候选问题,合并筛选出的第一候选问题和第二候选问题,得到候选问题集,然后再利用相似度分析模型,从候选问题集中筛选出与搜索问题真正相似的目标相似问题。如此,不单单利用问题内容的相似度对问题进行筛选,而是通过两种不同方式的双重筛选,得到候选问题集,避免漏掉实际上真正与搜索问题相似的问题,然后再从候选问题集中筛选出真正与搜索问题相似的问题,从而提高确定与搜索问题相似的问题的准确性,进而提高后续搜索答案的准确性。
附图说明
31.图1是本技术一实施例提供的计算设备的结构框图;
32.图2是本技术一实施例提供的问题检索模型的训练方法的流程图;
33.图3是本技术一实施例提供的问题检索方法的流程图;
34.图4是本技术一实施例提供的问题检索模型的训练装置的结构示意图;
35.图5是本技术一实施例提供的问题检索装置的结构示意图;
36.图6是本技术一实施例提供的一种预设检索数据库的结构示意图;
37.图7是本技术一实施例提供的一种问题检索模型的结构示意图;
38.图8是本技术一实施例提供的一种相似度分析模型的结构示意图。
具体实施方式
39.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
40.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
41.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“响应于确定”。
42.es(elastic search,检索数据库):是一种开源的分布式文档数据库,提供了一个分布式多用户能力的全文搜索引擎,es数据库中存储的所有数据都是默认进行索引的,通过该索引,可以查找到所需数据的存储地址,获取到所需的数据。
43.样本问题:人工预先搜集到的常见问题,用于构造样本问题答案对,存储在es数据库中。
44.样本问题答案:样本问题对应的答案,可以为一个、两个或多个。
45.样本问题答案对:人工预先搜集到的常见问题和对应的答案组成的数据对,每个样本问题答案对中包括一个样本问题和对应的至少一个样本问题答案。
46.第一样本问题:随机获取的样本问题,该样本问题可以是预设检索数据库中包括的任意一个问题,也可以是预设检索数据库中不包括的问题。
47.向量:vector,物理、工程等也称作矢量,是数学、物理学和工程科学等多个自然科学中的基本概念,指一个同时具有大小和方向,且满足平行四边形法则的几何对象。
48.特征向量:对输入问题的特征进行向量化,得到的向量化结果。
49.特征提取层:用于提取输入的问题的特征向量。
50.dpr(dense passage retrieval,深度文档召回):一种文档检索的方法。
51.bert:是一种语言表示模型,代表来自transformer的双向编码器表示(bidirectional encoder representations from transformers)。bert旨在通过联合调节所有层中的左右上下文来预训练深度双向表示。因此,只需要一个额外的输出层,就可以对预训练的bert表示进行微调,从而为广泛的任务(比如回答问题和语言推断任务)创建最先进的模型,而无需对特定于任务进行大量模型结构的修改。
52.目标答案:用户搜索的问题对应的答案。
53.在对用户提出的问题进行搜索时,可以通过问题的字符重复度进行匹配,筛选出与用户提出的问题相似的问题,从而将该相似的问题的答案确定为用户提出的问题的答案。然而,仅通过字符重复度的召回方式,只能考虑到问题表面的字符相似度,无法真正理解用户的问题,无法达到语义的匹配。
54.另外,还可以通过检索数据库对用户提出的问题进行搜索,此时会预先设置一个分词表或分词规则,对用户提出的问题和检索数据库中的问题分词,然后根据分词后的结果,确定用户提出的问题与检索数据库中的问题之间的相似度,从而找到与用户提出的问题相似的问题,从而将该相似的问题的答案确定为用户提出的问题的答案。然而,仅通过检索数据库的召回方式,有可能会受到词表、分词规则等的影响,从而在召回结果中丢失正确答案,造成检索准确性不足。
55.因而,本技术实施例中通过两种不同方式的双重筛选,得到候选问题集,避免漏掉实际上真正与搜索问题相似的问题,然后再通过排序算法从候选问题集中筛选出真正与搜索问题相似的问题,从而提高确定与搜索问题相似的问题的准确性,进而提高后续搜索答案的准确性。
56.在本技术中,提供了一种问题检索模型的训练方法及装置、问题检索方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
57.图1示出了根据本技术一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
58.计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
59.在本技术的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
60.计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备100还可以是移动式或静止式
的服务器。
61.其中,处理器120可以执行图2所示问题检索模型的训练方法中的步骤。图2示出了根据本技术一实施例的问题检索模型的训练方法的流程图,包括步骤202至步骤208。
62.步骤202:获取样本问题答案对,并将所述样本问题答案对存储至预设检索数据库。
63.其中,样本问题答案对是人工预先搜集到的常见问题和对应的答案组成的数据对,如样本问题答案对可以为样本问题1-答案1、样本问题2-答案2、样本问题3-答案3等。另外,该样本问题答案对的数量可以为多个,且样本问题答案对可以尽可能涵盖常见的问题,即预设检索数据库中可以存储大量的常见问题以及对应的答案,使得预设检索数据库中存储的数据尽可能丰富。
64.需要说明的是,每个样本问题答案对中可以包括一个样本问题和对应的至少一个样本问题答案,即一个样本问题答案对中样本问题可以对应一个、两个或多个答案。如,样本问题答案对可以为样本问题1-答案1,该答案1中可以包括答案a、答案b和答案c,其中答案a、答案b和答案c均是样本问题1的答案,也即该样本问题答案对实际上为样本问题1-答案a、答案b和答案c。
65.另外,预设检索数据库是指存储数据的数据库,获取到人工搜集的样本问题答案对后,可以将样本问题答案对存储至预设检索数据库,以供后续检索使用。实际实现时,该预设检索数据库可以为es数据库(elastic search,检索数据库),es是一种开源的分布式文档数据库,将样本问题答案对存储至预设检索数据库时,每个样本问题答案对可以看做一个短的文档。
66.需要说明的是,es数据库是一种分布式文档数据库,在将样本问题答案对存储至es数据库时,可以存储至任意集群的任意节点,该节点中的任意分片,es数据库会为每个样本问题答案对分配对应的索引。由于es数据库的结构中包括集群、节点、分片,各个样本问题答案对可以存储至不同的集群、不同的节点、不同的分片中,es数据库中的索引可以指示样本问题答案对存储在es数据库中的存储地址,即存储在哪个集群、哪个节点、哪个分片中。后续,根据索引可以查找相应的样本问题答案对。
67.示例的,es数据库中存储的样本问题答案对的索引表可以如下表1所示。
68.表1es数据库中存储样本问题答案对的索引表
69.索引存储地址样本问题答案对00集群1、节点1、分片1样本问题1-答案a、答案b和答案c01集群1、节点1、分片1样本问题2-答案d03集群1、节点1、分片2样本问题3-答案f和答案e
………………
70.需要说明的是,将所述样本问题答案对存储至预设检索数据库后,预设检索数据库中就存储有多个问题和对应的答案,后续可以在该预设检索数据库中搜索与某个样本问题相似的问题,从而得到该样本问题对应的答案。
71.步骤204:根据获得的第一样本问题,从所述预设检索数据库中获取关联的第一参考样本问题。
72.其中,第一样本问题可以是随机获取的样本问题,该样本问题可以是预设检索数
据库中包括的任意一个问题,也可以是预设检索数据库中不包括的问题。
73.由于预设检索数据库中可以存储有大量的常见问题,因而在获取到的第一样本问题后,可以对预设检索数据库中包括的各个问题进行筛选,确定与第一样本问题关联的第一参考样本问题,在本实施例一个可选的实施方式中,根据获得的第一样本问题,从所述预设检索数据库中获取关联的第一参考样本问题,具体实现过程可以为:
74.确定所述第一样本问题和第二样本问题之间的第一相似度,其中,所述第二样本问题为所述预设检索数据库中包括的样本问题答案对中的问题;
75.将所述第一相似度大于第一相似度阈值的第二样本问题,确定为所述第一样本问题对应的第一参考样本问题。
76.其中,第一相似度阈值是预先设置的数值,用于判断第一样本问题和第二样本问题之间的相似度是否满足条件,第一相似度阈值设置的越高,筛选出的第一参考样本问题的数量就越少,但是筛选出的第一参考样本问题与第一样本问题之间的相似程度越高;第一相似度阈值设置的越低,筛选出的第一参考样本问题的数量就越多,但是筛选出的第一参考样本问题与第一样本问题之间的相似程度越低。
77.一种可能的实现方式中,可以通过第一样本问题和第二样本问题之间的内容重复率确定第一相似度,具体的,可以确定第一样本问题与第二样本问题中相同字符的个数占第一样本问题的总字符数的比例,将该比例确定为第一样本问题和第二样本问题之间的内容重复率,该内容重复率即为第一样本问题和第二样本问题之间的第一相似度。
78.具体的,可以通过如下公式(1)计算得到第一样本问题和第二样本问题之间的第一相似度:
[0079][0080]
其中,similarity表示第一样本问题和第二样本问题之间的第一相似度,x表示第一样本问题和第二样本问题中相同字符的个数,y表示第一样本问题的总字符数。
[0081]
另一种可能的实现方式中,可以通过第一样本问题和第二样本问题的词频向量对比来确定第一相似度,其中,词频向量可以是指根据样本问题中包括的字符出现的频次转换得到的向量表示。
[0082]
实际应用中,可以将第一样本问题和第二样本问题中各个字符的词频进行向量化,然后通过第一样本问题的词频向量和第二样本问题的词频向量来确定第一相似度。具体的,可以计算第一样本问题的词频向量和第二样本问题的词频向量之间的余弦值,余弦值越接近1,就表明夹角越接近0度,两个词频向量也就越相似,即第一样本问题和第二样本问题就越相似,因而可以将该余弦值作为第一样本问题和第二样本问题之间的第一相似度。
[0083]
需要说明的是,可以确定第一样本问题和第二样本问题中包括的各个字符的并集,然后确定该并集中每个字符在第一样本问题中出现的频次,得到第一样本问题的词频向量,确定该并集中每个字符在第二样本问题中出现的频次,得到第二样本问题的词频向量,之后计算两个词频向量的余弦值,将该余弦值作为第一样本问题和第二样本问题之间的第一相似度。
[0084]
具体的,可以通过如下公式(2)计算得到第一样本问题和第二样本问题之间的第
一相似度:
[0085][0086]
其中,similarity表示第一样本问题和第二样本问题之间的第一相似度,cos(θ)表示两个向量的余弦值,a表示第一样本问题的词频向量,b表示第二样本问题的词频向量,ai表示第一样本问题的词频向量中的第i个元素,bi表示第二样本问题的词频向量中的第i个元素。
[0087]
需要说明的是,可以将第一样本问题和预设检索数据库中包括的各个样本问题答案对中的问题进行比较,一一计算相似度,然后将相似度大于第一相似度阈值的问题确定为筛选出的第一参考样本问题,通过检索数据库的方式,筛选出一部分与第一样本问题较为相似的问题,为后续训练问题检索模型提供丰富的样本数据。
[0088]
步骤206:根据所述第一样本问题和所述第一参考样本问题,构造第一训练样本。
[0089]
其中,第一训练样本是对问题检索模型进行训练的样本。需要说明的是,通过上述检索数据库的方式,可以筛选出一部分与第一样本问题较为相似的问题,与第一样本问题共同作为后续的第一训练样本,使得第一训练样本的样本内容更丰富全面,从而提高后续问题检索模型的训练速度,并提高后续训练得到的问题检索模型对输入问题进行分析的准确性。
[0090]
由于在通过训练样本对模型进行训练时,为了对模型的参数进行反向调整,训练的样本需要携带有样本标签,因而在构造第一训练样本时,还可以设置第一训练样本的样本标签,在本实施例一个可选的实施方式中,从预设检索数据库中筛选出的第一参考样本问题还可以携带与所述第一样本问题的第一相似度,此时根据所述第一样本问题和所述第一参考样本问题,构造第一训练样本,具体实现过程可以为:
[0091]
根据所述第一相似度,将所述第一参考样本问题按预设排列规则进行排列;
[0092]
将排列后的第一参考样本问题按序排在所述第一样本问题之后,得到所述第一训练样本;
[0093]
根据所述预设排列规则,确定相似样本问题在所述第一训练样本中所处的位置,所述相似样本问题为与所述第一样本问题的第一相似度最高的样本问题;
[0094]
将所述位置作为所述第一训练样本的第一样本位置标签。
[0095]
其中,预设排列规则是指排列第一参考样本问题的规则,如预设排列规则可以为将第一参考样本问题按照第一相似度从高至低排列,或者预设排列规则还可以为将第一参考样本问题按照第一相似度从低至高排列。另外,相似样本问题在第一训练样本中所处的位置可以是相似样本问题在第一训练样本中排列的位置序号,也即第一样本位置标签是相似样本问题在第一训练样本中排列的位置序号,如0、1、2、3
……
等,若第一样本位置标签为“1”,则说明第一训练样本中排在第二个位置的问题为相似样本问题(序号一般从0开始)。
[0096]
需要说明的是,将第一参考样本问题进行排序后,可以将排序后的第一参考样本问题直接设置在第一样本问题之后,得到构造的第一训练样本。另外,由于构造的第一训练样本中第一参考样本问题是基于相似度排列的,因而根据预设排列规则就可以确定出与第一样本问题相似度最高的问题所处的位置,并将该位置确定为第一训练样本的第一样本位
置标签。
[0097]
示例的,第一样本问题为样本问题1,确定出的第一参考样本问题为样本问题2、样本问题3、样本问题4,假设将第一参考样本问题基于与第一样本问题的相似度从高至低排序后为样本问题3、样本问题2和样本问题4,将样本问题3、样本问题2和样本问题4设置在样本问题1之后,得到的第一训练样本为“样本问题1、样本问题3、样本问题2和样本问题4”。由于排在样本问题1后的样本问题3是相似度最高的问题所处的位置,样本问题3在第一训练样本中所处的位置为第2个位置,即样本问题3在第一训练样本中排列的位置序号为“1”(序号一般从0开始排列),即此时可以设置第一训练样本的第一样本位置标签为“1”,表示第一训练样本中排在第二个位置的问题为相似问题。
[0098]
实际应用中,构造得到第一训练样本后,还可以通过人工标注的方式,确定第一训练样本中与第一样本问题相似的问题所处的位置,在本实施例一个可选的实施方式中,根据所述第一样本问题和所述第一参考样本问题,构造第一训练样本,具体实现方式可以为:
[0099]
确定所述第一参考样本问题中包括的相似样本问题,所述相似样本问题为标注与所述第一样本问题相似的样本问题;
[0100]
将所述第一样本问题和所述第一参考样本问题组成所述第一训练样本,并设置所述第一训练样本的第一样本位置标签为所述相似样本问题在所述第一训练样本中所处的位置。
[0101]
需要说明的是,由于构造得到第一训练样本后,是人工确定第一训练样本中与第一样本问题相似的问题所处的位置,因而在构造第一训练样本时,可以对第一样本问题和筛选出的第一参考样本问题随意排序,构造第一训练样本。一般来说,由于第一样本问题是原问题,因而可以将第一样本问题排在首位,然后将第一参考样本问题随意排序。
[0102]
沿用上例,将样本问题1排在首位,然后对样本问题2、样本问题3、样本问题4随意排序,构造得到的第一训练样本为“样本问题1、样本问题2、样本问题3和样本问题4”。通过人工识别分析确定样本问题3是第一训练样本中与第一样本问题最相似的问题,即样本问题3是标注与所述第一样本问题相似的样本问题,样本问题3在第一训练样本中所处的位置为第3个位置,标识为“2”,即此时可以设置第一训练样本的第一样本位置标签为“2”。
[0103]
需要说明的是,构造得到的第一训练样本的第一样本标识是第一训练样本中与第一样本问题相似的问题所处的位置,后续可以通过该相似的问题所处的位置对问题检索模型进行训练,从而提高模型训练的效率,以及模型的准确性。
[0104]
步骤208:根据所述第一训练样本,对所述问题检索模型进行训练,并返回执行所述步骤204的操作步骤,直至达到训练停止条件。
[0105]
需要说明的是,第一训练样本中可以包括从预设检索数据库中筛选出的多个第一参考样本问题,问题检索模型可以一次性分析第一训练样本中包括的各个第一参考样本问题与第一样本问题之间的相似度,训练完成的问题检索模型可以较为准确的输出第一训练样本中与第一样本问题相似的问题处于哪个位置,即,训练完成的问题检索模型可以较为准确的分析输入的各个问题,从而提高模型训练的效率和准确率。
[0106]
将第一训练样本输入问题检索模型后,问题检索模型可以输出一个预测的位置,通过该预测的位置和第一训练样本携带的第一样本位置标签,可以对问题检索模型进行训练,在本实施例一个可选的实施方式中,根据所述第一训练样本,对所述问题检索模型进行
训练,具体实现过程可以如下:
[0107]
将所述第一训练样本输入所述问题检索模型中,得到所述第一训练样本对应的第一预测位置标签;
[0108]
基于所述第一样本位置标签和所述第一预测位置标签确定所述问题检索模型的损失值;
[0109]
基于所述损失值调整所述问题检索模型的参数,对所述问题检索模型进行训练。
[0110]
需要说明的是,第一预测位置标签是问题检索模型预测的位置序号,即第一训练样本输入问题检索模型中,问题检索模型预测的第一训练样本中排在第几个位置的问题为相似问题。
[0111]
实际实现时,第一样本位置标签是第一训练样本携带的标签,第一样本位置标签可以表示第一训练样本中真实与第一样本问题相似的问题所处的位置序号,第一预测位置标签是问题检索模型预测出的与第一样本问题相似的问题所处的位置序号。根据第一样本位置标签和第一预测位置标签,可以计算问题检索模型的损失函数,生成损失值,然后基于该损失值调整所述问题检索模型的参数,对所述问题检索模型进行训练,之后继续构造第一训练样本,对问题检索模型进行训练,直至达到训练停止条件。其中,该损失函数可以为对数损失函数、交叉熵损失函数、最大损失函数等等。
[0112]
需要说明的是,损失函数可以用来评价模型的预测结果和真实结果之间不一样的程度,损失函数越好,通常模型的性能越好,不同类型的模型优先使用的损失函数一般也不一样。交叉熵损失函数本质上也是一种对数似然函数,可用于二分类和多分类任务中,当计算得到的损失值较大的时候,表示真实结果与预测结果之间的误差较大,此时模型的权重可以更新的快,当计算得到的损失值小的时候,表示真实结果与预测结果之间的误差较小,此时模型的权重可以更新的慢,使用交叉熵损失函数在进行梯度计算的时候可以避免出现梯度弥散。
[0113]
实际应用中,模型一般分为2类,分类模型和回归模型,对于分类模型而言,一般优先使用交叉熵损失函数,从而避免出现梯度弥散。由于本技术中的问题检索模型实际是识别第一训练样本中哪个问题是相似样本问题,即实际上为一种分类模型,因而本技术实施例中优先使用交叉熵损失函数,对问题分类模型进行训练。
[0114]
具体实现时,基于第一样本位置标签和第一预测位置标签确定问题检索模型的损失值可以通过如下公式(1)计算得到:
[0115][0116]
其中,loss表示问题检索模型的损失值,n表示需要问题检索模型分类的类别数,y(i)表示第一样本位置标签,即真实结果,f(x(i))表示问题检索模型中的分类函数输出的第一预测位置标签,即预测结果。
[0117]
一种可能的实现方式中,问题检索模型是一种神经网络模型,在基于计算得到的损失值调整问题检索模型的参数时,可以通过损失值反向梯度传播调整问题检索模型的权重。具体的,在计算得到问题检索模型的损失值之后,可以将该损失值传递给问题检索模型的最后一层,该损失值可以表示当前误差的大小,因而最后一层可以自动根据接收到的损失值调整自身权重,之后最后一层可以将损失值反向传递给前一层,前一层接收到损失值
后,也可以自动根据接收到的损失值调整自身权重,以此类推,直至损失值传递至问题检索模型的第一层,完成一次参数调整。
[0118]
需要说明的是,第一样本位置标签是第一训练样本的真实结果,第一预测位置标签是第一训练样本的预测结果,通过计算损失值可以直观的示出问题检索模型的预测结果与真实结果之间的差异,再基于差异对问题检索模型进行针对性训练,调整参数,可以有效提高模型训练的速率及模型训练的效果。
[0119]
具体实现时,问题检索模型的训练停止条件可以设置为损失值小于预设阈值,也可以设置为训练轮次为预设的训练轮次,如训练10轮,等等。其中,预设阈值为损失值的临界值,在损失值大于或等于预设阈值的情况下,说明问题检索模型的预测结果与真实结果之间仍存在一定偏差,仍需继续对该模型进行训练;在损失值小于预设阈值的情况下,说明问题检索模型的预测结果与真实结果的接近程度已经足够,可以停止训练。预设阈值的数值可以根据实际情况确定。
[0120]
本技术实施例中可以通过第一样本问题,以及与第一样本问题关联的第一参考样本问题共同构造得到第一训练样本,并将第一训练样本中与第一样本问题相似的样本问题所处的位置设置为样本位置标签,然后通过第一训练样本和样本位置标签对问题检索模型进行训练。如此,第一训练样本的样本内容更丰富全面,从而可以提高问题检索模型的训练速度,并提高训练得到的问题检索模型对输入问题进行分析的准确性。
[0121]
处理器120还可以执行图3所示问题检索方法中的步骤。图3示出了根据本技术一实施例的问题检索方法的流程图,包括步骤302至步骤308。
[0122]
步骤302:根据获得的搜索问题,从预设检索数据库中获取关联的第一候选问题。
[0123]
其中,搜索问题是指用户需要搜索答案的问题;第一候选问题是指从预设检索数据库中筛选出的可能与搜索问题相似的问题,将筛选出的问题作为第一候选问题,以供后续进一步筛选。另外,预设检索数据库可以为es数据库。
[0124]
需要说明的是,在根据获得的搜索问题,从预设检索数据库中获取对应的第一候选问题之前,还可以通过人工预先搜集常见的问题和对应的答案,组成预设问题答案对,并将该预设问题答案对存储至预设检索数据库中。另外,该预设问题答案对的数量可以为多个,且预设问题答案对可以尽可能涵盖常见的问题,即预设检索数据库中可以存储大量的常见问题以及对应的答案,使得预设检索数据库中存储的数据尽可能丰富。
[0125]
由于预设检索数据库中可以存储有大量的常见问题,因而在获取到用户输入的搜索问题后,可以对预设检索数据库中包括的各个问题进行筛选,确定与用户输入的搜索问题关联的第一候选问题,在本实施例一个可选的实施方式中,根据获得的搜索问题,从预设检索数据库中获取关联的第一候选问题,具体实现过程可以如下:
[0126]
确定所述搜索问题和预设问题之间的第二相似度,其中,所述预设问题为所述预设检索数据库中包括的预设问题答案对中的问题;
[0127]
将所述第二相似度大于第二相似度阈值的预设问题,确定为所述搜索问题关联的第一候选问题。
[0128]
其中,第二相似度阈值是预先设置的数值,用于判断搜索问题和预设问题之间的相似度是否满足条件,第二相似度阈值设置的越高,筛选出的第一候选问题的数量就越少,但是筛选出的第一候选问题与搜索问题之间的相似程度越高;第二相似度阈值设置的越
低,筛选出的第一候选问题的数量就越多,但是筛选出的第一候选问题与搜索问题之间的相似程度越低。
[0129]
实际实现时,在确定所述搜索问题和预设问题之间的第二相似度时,可以通过搜索问题和预设问题之间的内容重复率确定第二相似度,也可以通过搜索问题和预设问题的特征向量对比来确定第二相似度,当然还可以为其他能够计算两个问题之间相似度的方式,本技术对此不进行限制。
[0130]
需要说明的是,可以将搜索问题和预设检索数据库中包括的各个预设问题答案对中的问题进行比较,一一计算相似度,然后将相似度大于第二相似度阈值的问题确定为筛选出的第一候选问题,通过检索数据库的方式,筛选出一部分与搜索问题较为相似的问题,为后续进一步筛选出真正与搜索问题相似的问题提供较为全面的支持。
[0131]
步骤304:根据问题检索模型和预设问题向量,获取所述搜索问题关联的第二候选问题。
[0132]
其中,所述问题检索模型基于上述问题检索模型的训练方法训练得到,且该问题检索模型可以为基于dpr(dense passage retrieval,深度文档召回)方法的问题检索模型。另外,预设问题向量是指预先存储至预设检索数据库中的问题对应的特征向量,通过该特征向量和问题检索模型,可以筛选得到与搜索问题相似的第二候选问题。
[0133]
预设检索数据库中可以预先存储有大量的预设问题,为了进行后续的向量计算,需要得到该预设问题对应的特征向量,因而在本实施例一个可选的实施方式中,根据问题检索模型和预设问题向量,获取所述搜索问题关联的第二候选问题之前,还可以包括:
[0134]
将所述预设问题输入所述问题检索模型,通过所述问题检索模型的特征提取层获取所述预设问题对应的预设问题向量。
[0135]
需要说明的是,特征提取层用于提取输入的预设问题的特征向量。由于训练好的问题检索模型可以准确输出一系列问题中与原问题相似的问题所处的位置,因而训练好的问题检索模型里的特征提取层可以准确提取出输入问题的特征向量,即通过训练好的问题检索模型里的特征提取层可以获取预设问题准确的向量表示。如此,在应用训练好的问题检索模型对用户输入的搜索问题进行筛选之前,还可以先利用训练好的问题检索模型,获得预设问题对应的预设问题向量,以供后续筛选出与搜索问题相似的第二候选问题。
[0136]
通过训练好的问题检索模型可以获得预设问题准确的向量表示,即预设问题向量,因而通过训练好的问题检索模型也可以获得用户输入的搜索问题准确的向量表示,即搜索问题向量,从而基于搜索问题向量和预设问题向量,确定出第二候选问题,在本实施例一个可选的实施方式中,根据问题检索模型和预设问题向量,获取所述搜索问题关联的第二候选问题,具体实现过程可以如下:
[0137]
将所述搜索问题输入所述问题检索模型,通过所述问题检索模型的特征提取层获取所述搜索问题对应的搜索问题向量;
[0138]
确定所述搜索问题向量和所述预设问题向量之间的第三相似度,并确定所述第三相似度大于第三相似度阈值的目标问题向量;
[0139]
将所述目标问题向量对应的预设问题确定为所述搜索问题关联的第二候选问题。
[0140]
其中,第三相似度阈值是预先设置的数值,用于判断搜索问题向量和预设问题向量之间的相似度是否满足条件,第三相似度阈值设置的越高,筛选出的目标问题向量的数
量就越少,但是筛选出的目标问题向量与搜索问题向量之间的相似程度越高;第三相似度阈值设置的越低,筛选出的目标问题向量的数量就越多,但是筛选出的目标问题向量与搜索问题向量之间的相似程度越低。
[0141]
需要说明的是,可以将搜索问题向量和预设检索数据库中包括的各个预设问题对应的预设问题向量进行比较,一一计算相似度,然后将相似度大于第三相似度阈值的目标问题向量确定为筛选出的较为相似的问题向量,将该目标问题向量对应的预设问题确定为筛选出的第二候选问题,通过问题检索模型,筛选出一部分与搜索问题较为相似的问题,为后续训练问题检索模型提供丰富的样本数据。
[0142]
步骤306:合并所述第一候选问题和所述第二候选问题,得到所述搜索问题对应的候选问题集。
[0143]
需要说明的是,第一候选问题是通过预设检索数据库的方式筛选出的可能与搜索问题相似的问题,第二候选问题是通过问题检索模型筛选出的可能与搜索问题相似的问题,将通过两种不同方式筛选得到的候选问题合并,即将第一候选问题和第二候选问题的合集作为搜索问题对应的候选问题集,即可得到多维度确定出的可能与搜索问题相似的问题,避免漏掉真正与搜索问题相似的问题,从而提高以问题找问题的准确性。
[0144]
步骤308:根据所述候选问题集,利用相似度分析模型,确定所述搜索问题对应的目标相似问题。
[0145]
需要说明的是,候选问题集中包括的各个候选问题只是通过不同方式筛选出的可能与搜索问题相似的问题,后续还可以进一步利用相似度分析模型,确定出候选问题集中与搜索问题真正相似的问题,在本实施例一个可选的实施方式中,根据所述候选问题集,利用相似度分析模型,确定所述搜索问题对应的目标相似问题,具体实现过程可以如下:
[0146]
针对所述候选问题集中包括的每个候选问题,将所述候选问题与所述搜索问题输入所述相似度分析模型,通过所述相似度分析模型的概率输出层获取所述候选问题对应的相似分值;
[0147]
根据所述候选问题集中包括的各个候选问题对应的相似分值,对所述候选问题进行排序;
[0148]
根据排序后的候选问题,基于预设问题选择策略,确定所述搜索问题对应的目标相似问题。
[0149]
其中,相似度分析模型是能够分析输入的两个问题之间是否相似的模型,实际实现时,该相似度分析模型可以为基于bert(bidirectional encoder representations from transformers)的文本相似度二分类模型,bert是一种语言表示模型,代表来自transformer的双向编码器表示,当然相似度分析模型还可以为其他二分类模型,能够识别输入的两个问题之间是否相似即可。具体的,相似度分析模型的概率输出层即为分类层,概率输出层可以分析输入的两个问题相似的概率和不相似的概率,从而根据概率输出最终的分类结果,即相似或不相似。
[0150]
需要说明的是,训练好的相似度分析模型可以准确识别输入的两个问题之间是否相似,也即相似度分析模型的概率输出层可以输出两个问题之间的相似概率,即相似分值,然后才可以基于该相似分值输出两个问题是否相似。因而,本技术实施例中可以通过相似度分析模型的概率输出层,获取两个问题之间相似的相似分值。
[0151]
另外,由于相似度分析模型是用于分析两个问题之间是否相似,而候选问题集中可以包括多个候选问题,因而本技术实施例中可以将搜索问题依次分别与候选问题集中的每个候选问题组对,输入相似度分析模型中,以获取输入的候选问题与搜索问题之间的相似分值。
[0152]
实际实现时,在将候选问题集中包括的各个候选问题均与搜索问题组队,输入相似度分析模型之后,可以得到各个候选问题与搜索问题的相似分值,然后就可以根据各个候选问题对应的相似分值,对所述候选问题进行排序,从而筛选出与搜索问题真正相似的目标相似问题。
[0153]
其中,在对候选问题进行排序时,可以基于相似分值从高至低排序,也可以基于相似分值从低至高排序。在对排序后的候选问题进行筛选时,可以根据预设的问题选择策略进行筛选,预设的问题选择策略是指从排序后的候选问题中筛选出所需的目标相似问题的筛选规则,如候选问题是基于相似分值从高至低排序,则预设的问题选择策略可以是选择前预设数值个候选问题作为目标相似问题,或者候选问题是基于相似分值从低至高排序,则预设的问题选择策略可以是选择后预设数值个候选问题作为目标相似问题。
[0154]
预设数值可以为1、2、3等数值,该预设数值用于表示最终需要筛选出的目标相似问题的个数。一般来说,可以筛选出与搜索问题最相似的一个问题,即预设数值为1。
[0155]
需要说明的是,在利用相似度分析模型,确定所述搜索问题对应的目标相似问题之前,还需要对相似度分析模型进行训练,在本实施例一个可选的实施方式中,所述相似度分析模型可以通过如下方法训练得到:
[0156]
获取第二训练样本,所述第二训练样本包括原样本问题、相似样本问题和不相似样本问题,所述第二训练样本携带第二样本位置标签,所述第二样本位置标签为所述相似样本问题在所述第二训练样本中所处的位置;
[0157]
将所述第二训练样本输入所述相似度分析模型,得到所述第二训练样本对应的第二预测位置标签;
[0158]
基于所述第二样本位置标签和所述第二预测位置标签确定所述相似度分析模型的损失值;
[0159]
基于所述损失值调整所述相似度分析模型的参数,对所述相似度分析模型进行训练,并返回执行所述获取第二训练样本的操作步骤,直至达到训练停止条件。
[0160]
其中,相似样本问题和不相似样本问题可以为人工确定,基于人工确定出的相似样本问题和不相似样本问题构造第二训练样本,然后通过第二训练样本对相似度分析模型进行训练。
[0161]
需要说明的是,相似度分析模型是二分类模型,其可以输出0或1两种不同的结果,其中“0”可以表示相似问题位于原问题后第一个位置,“1”可以表示相似问题位于原问题后第二个位置。
[0162]
实际实现时,第二样本位置标签是第二训练样本携带的标签,第二样本位置标签可以表示第二训练样本中真实与原样本问题相似的问题所处的位置,第二预测位置标签是相似度分析模型预测出的与原样本问题相似的问题所处的位置。根据第二样本位置标签和第二预测位置标签,可以计算相似度分析模型的损失函数,生成损失值,然后基于该损失值调整所述相似度分析模型的参数,对所述相似度分析模型进行训练,之后继续获取第二训
练样本,对相似度分析模型进行训练,直至达到训练停止条件。
[0163]
其中,计算相似度分析模型的损失值,并根据损失值调整相似度分析模型的参数的具体实现过程与上述计算问题检索模型的损失值,并根据损失值调整问题检索模型的参数的具体实现过程相同,在此不再赘述。
[0164]
需要说明的是,第二样本位置标签是第二训练样本的真实结果,第二预测位置标签是第二训练样本的预测结果,通过计算损失值可以直观的示出相似度分析模型的预测结果与真实结果之间的差异,再基于差异对相似度分析模型进行针对性训练,调整参数,可以有效提高模型训练的速率及模型训练的效果。
[0165]
具体实现时,相似度分析模型的训练停止条件可以设置为损失值小于预设阈值,也可以设置为训练轮次为预设的训练轮次,如训练10轮,等等,在本技术实施例中,对训练停止条件不做限定。其中,预设阈值为损失值的临界值,在损失值大于或等于预设阈值的情况下,说明相似度分析模型的预测结果与真实结果之间仍存在一定偏差,仍需继续对该模型进行训练;在损失值小于预设阈值的情况下,说明相似度分析模型的预测结果与真实结果的接近程度已经足够,可以停止训练。预设阈值的数值可以根据实际情况确定,本说明书对此不做限制。
[0166]
另外,在对相似度分析模型进行训练时,除了以相似问题所处的位置为标签外,还可以将是否相似作为标签,对相似度分析模型进行训练,在本实施例一个可选的实施方式中,所述相似度分析模型还可以通过如下方法训练得到:
[0167]
获取第三训练样本,所述第三训练样本包括原样本问题和参考样本问题,所述第三训练样本携带样本标签,所述样本标签用于表征所述参考样本问题是否为相似样本问题;
[0168]
将所述第三训练样本输入所述相似度分析模型,得到所述第三训练样本对应的预测标签;
[0169]
基于所述样本标签和所述预测标签确定所述相似度分析模型的损失值;
[0170]
基于所述损失值调整所述相似度分析模型的参数,对所述相似度分析模型进行训练,并返回执行所述获取第三训练样本的操作步骤,直至达到训练停止条件。
[0171]
其中,样本标签可以为人工标注。如此,相似度分析模型输出“0”可以表示参考问题为不相似问题(预测标签),输出“1”可以表示参考问题为相似问题(预测标签)。
[0172]
实际实现时,样本标签是第三训练样本携带的标签,用于表示第三训练样本中参考样本问题实际上是否为相似样本问题,预测标签是相似度分析模型预测出的参考样本问题是否为相似问题置。根据样本标签和预测标签,可以计算相似度分析模型的损失函数,生成损失值,然后基于该损失值调整所述相似度分析模型的参数,对所述相似度分析模型进行训练,之后继续获取第三训练样本,对相似度分析模型进行训练,直至达到训练停止条件。
[0173]
需要说明的是,样本标签是第三训练样本的真实结果,预测标签是第三训练样本的预测结果,通过计算损失值可以直观的示出相似度分析模型的预测结果与真实结果之间的差异,再基于差异对相似度分析模型进行针对性训练,调整参数,可以有效提高模型训练的速率及模型训练的效果。
[0174]
需要说明的是,通过两种不同方式的双重筛选,得到候选问题集,避免漏掉实际上
真正与搜索问题相似的问题,然后再从候选问题集中筛选出真正与搜索问题相似的问题,从而可以提高确定与搜索问题相似的问题的准确性。
[0175]
实际实现时,可以基于目标相似问题确定搜索问题的答案,在本实施例一个可选的实施方式中,预设检索数据库中存储的预设问题答案对分配有标识符;根据所述候选问题集,利用相似度分析模型,确定所述搜索问题对应的目标相似问题之后,还可以包括:
[0176]
根据所述目标相似问题的标识符,在所述预设检索数据库中查找所述目标相似问题对应的目标答案;
[0177]
将所述目标答案确定为所述搜索问题的答案。
[0178]
需要说明的是,由于第一候选问题是从预设检索数据库中筛选出来的问题,第二候选问题是根据预设检索数据库中预设问题对应的向量筛选出来的,即第二候选问题也是从预设检索数据库中筛选出来的问题,也即候选问题集中包括的问题都是预设检索数据库中存储的问题,因而从候选问题集中筛选出的目标相似问题也是预设检索数据库中的问题,该目标相似问题在预设检索数据库中存储有对应的答案,该答案可以确定为搜索问题的答案。
[0179]
具体实现时,在筛选出目标相似问题后,可以根据目标相似问题的标识符,找到对应的预设问题答案对,将该预设问题答案对中的答案确定为搜索问题的答案。
[0180]
本技术实施例中可以先通过预设检索数据库筛选与搜索问题相似的第一候选问题,然后再利用训练好的问题检索模型获得与搜索问题相似的第二候选问题,合并筛选出的第一候选问题和第二候选问题,得到候选问题集,然后再利用相似度分析模型,从候选问题集中筛选出与搜索问题真正相似的目标相似问题。如此,不单单利用问题内容的相似度对问题进行筛选,而是通过两种不同方式的双重筛选,得到候选问题集,避免漏掉实际上真正与搜索问题相似的问题,然后再从候选问题集中筛选出真正与搜索问题相似的问题,从而提高确定与搜索问题相似的问题的准确性,进而提高搜索答案的准确性。
[0181]
与上述方法实施例相对应,本技术还提供了问题检索模型的训练装置实施例,图4示出了本技术一个实施例的问题检索模型的训练装置的结构示意图。如图4所示,该装置包括:
[0182]
第一获取模块402,被配置为获取样本问题答案对,并将所述样本问题答案对存储至预设检索数据库;
[0183]
第二获取模块404,被配置为根据获得的第一样本问题,从所述预设检索数据库中获取关联的第一参考样本问题;
[0184]
构造模块406,被配置为根据所述第一样本问题和所述第一参考样本问题,构造第一训练样本;
[0185]
第一训练模块408,被配置为根据所述第一训练样本,对所述问题检索模型进行训练,并返回执行所述根据获得的第一样本问题,从所述预设检索数据库中获取关联的第一参考样本问题的操作步骤,直至达到训练停止条件。
[0186]
可选地,第二获取模块404进一步被配置为:
[0187]
确定所述第一样本问题和第二样本问题之间的第一相似度,其中,所述第二样本问题为所述预设检索数据库中包括的样本问题答案对中的问题;
[0188]
将所述第一相似度大于第一相似度阈值的第二样本问题,确定为所述第一样本问
题对应的第一参考样本问题。
[0189]
可选地,所述第一参考样本问题携带与所述第一样本问题的第一相似度;
[0190]
构造模块406进一步被配置为:
[0191]
根据所述第一相似度,将所述第一参考样本问题按预设排列规则进行排列;
[0192]
将排列后的第一参考样本问题按序排在所述第一样本问题之后,得到所述第一训练样本;
[0193]
根据所述预设排列规则,确定相似样本问题在所述第一训练样本中所处的位置,所述相似样本问题为与所述第一样本问题的第一相似度最高的样本问题;
[0194]
将所述位置作为所述第一训练样本的第一样本位置标签。
[0195]
可选地,构造模块406进一步被配置为:
[0196]
确定所述第一参考样本问题中包括的相似样本问题,所述相似样本问题为标注与所述第一样本问题相似的样本问题;
[0197]
将所述第一样本问题和所述第一参考样本问题组成所述第一训练样本,并设置所述第一训练样本的第一样本位置标签为所述相似样本问题在所述第一训练样本中所处的位置。
[0198]
可选地,第一训练模块408进一步被配置为:
[0199]
将所述第一训练样本输入所述问题检索模型中,得到所述第一训练样本对应的第一预测位置标签;
[0200]
基于所述第一样本位置标签和所述第一预测位置标签确定所述问题检索模型的损失值;
[0201]
基于所述损失值调整所述问题检索模型的参数,对所述问题检索模型进行训练。
[0202]
本技术实施例中可以通过第一样本问题,以及与第一样本问题关联的第一参考样本问题共同构造得到第一训练样本,然后通过第一训练样本对问题检索模型进行训练,如此,第一训练样本的样本内容更丰富全面,从而可以提高问题检索模型的训练速度,并提高训练得到的问题检索模型对输入问题进行分析的准确性。
[0203]
上述为本实施例的一种问题检索模型的训练装置的示意性方案。需要说明的是,该问题检索模型的训练装置的技术方案与上述的问题检索模型的训练方法的技术方案属于同一构思,问题检索模型的训练装置的技术方案未详细描述的细节内容,均可以参见上述问题检索模型的训练方法的技术方案的描述。
[0204]
与上述方法实施例相对应,本技术还提供了问题检索模型的训练装置实施例,图5示出了本技术一个实施例的问题检索装置的结构示意图。如图5所示,该装置500包括:
[0205]
第三获取模块502,被配置为根据获得的搜索问题,从预设检索数据库中获取关联的第一候选问题;
[0206]
第四获取模块504,被配置为根据问题检索模型和预设问题向量,获取所述搜索问题关联的第二候选问题,其中,所述问题检索模型基于上述权利要求1-6任一项所述的方法训练得到;
[0207]
合并模块506,被配置为合并所述第一候选问题和所述第二候选问题,得到所述搜索问题对应的候选问题集;
[0208]
确定模块508,被配置为根据所述候选问题集,利用相似度分析模型,确定所述搜
索问题对应的目标相似问题。
[0209]
可选地,第三获取模块502进一步被配置为:
[0210]
确定所述搜索问题和预设问题之间的第二相似度,其中,所述预设问题为所述预设检索数据库中包括的预设问题答案对中的问题;
[0211]
将所述第二相似度大于第二相似度阈值的预设问题,确定为所述搜索问题关联的第一候选问题。
[0212]
可选地,所述装置还包括输入模块,被配置为:
[0213]
将所述预设问题输入所述问题检索模型,通过所述问题检索模型的特征提取层获取所述预设问题对应的预设问题向量;
[0214]
相应地,第四获取模块504进一步被配置为:
[0215]
将所述搜索问题输入所述问题检索模型,通过所述问题检索模型的特征提取层获取所述搜索问题对应的搜索问题向量;
[0216]
确定所述搜索问题向量和所述预设问题向量之间的第三相似度,并确定所述第三相似度大于第三相似度阈值的目标问题向量;
[0217]
将所述目标问题向量对应的预设问题确定为所述搜索问题关联的第二候选问题。
[0218]
可选地,确定模块508进一步被配置为:
[0219]
针对所述候选问题集中包括的每个候选问题,将所述候选问题与所述搜索问题输入所述相似度分析模型,通过所述相似度分析模型的概率输出层获取所述候选问题对应的相似分值;
[0220]
根据所述候选问题集中包括的各个候选问题对应的相似分值,对所述候选问题进行排序;
[0221]
根据排序后的候选问题,基于预设问题选择策略,确定所述搜索问题对应的目标相似问题。
[0222]
可选地,所述预设问题答案对分配有标识符;
[0223]
所述装置还包括查找模块,被配置为:
[0224]
根据所述目标相似问题的标识符,在所述预设检索数据库中查找所述目标相似问题对应的目标答案;
[0225]
将所述目标答案确定为所述搜索问题的答案。
[0226]
可选地,所述装置还包括第二训练模块,被配置为:
[0227]
获取第二训练样本,所述第二训练样本包括原样本问题、相似样本问题和不相似样本问题,所述第二训练样本携带第二样本位置标签,所述第二样本位置标签为所述相似样本问题在所述第二训练样本中所处的位置;
[0228]
将所述第二训练样本输入所述相似度分析模型,得到所述第二训练样本对应的第二预测位置标签;
[0229]
基于所述第二样本位置标签和所述第二预测位置标签确定所述相似度分析模型的损失值;
[0230]
基于所述损失值调整所述相似度分析模型的参数,对所述相似度分析模型进行训练,并返回执行所述获取第二训练样本的操作步骤,直至达到训练停止条件。
[0231]
可选地,所述装置还包括第三训练模块,被配置为:
[0232]
获取第三训练样本,所述第三训练样本包括原样本问题和参考样本问题,所述第三训练样本携带样本标签,所述样本标签用于表征所述参考样本问题是否为相似样本问题;
[0233]
将所述第三训练样本输入所述相似度分析模型,得到所述第三训练样本对应的预测标签;
[0234]
基于所述样本标签和所述预测标签确定所述相似度分析模型的损失值;
[0235]
基于所述损失值调整所述相似度分析模型的参数,对所述相似度分析模型进行训练,并返回执行所述获取第三训练样本的操作步骤,直至达到训练停止条件。
[0236]
本技术实施例中可以先通过预设检索数据库筛选与搜索问题相似的第一候选问题,然后再利用训练好的问题检索模型获得与搜索问题相似的第二候选问题,合并筛选出的第一候选问题和第二候选问题,得到候选问题集,然后再利用相似度分析模型,从候选问题集中筛选出与搜索问题真正相似的目标相似问题。如此,不单单利用问题内容的相似度对问题进行筛选,而是通过两种不同方式的双重筛选,得到候选问题集,避免漏掉实际上真正与搜索问题相似的问题,然后再从候选问题集中筛选出真正与搜索问题相似的问题,从而提高确定与搜索问题相似的问题的准确性,进而提高后续搜索答案的准确性。
[0237]
上述为本实施例的一种问题检索装置的示意性方案。需要说明的是,该问题检索装置的技术方案与上述的问题检索方法的技术方案属于同一构思,问题检索装置的技术方案未详细描述的细节内容,均可以参见上述问题检索方法的技术方案的描述。
[0238]
需要说明的是,装置权利要求中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
[0239]
图6是本技术一实施例提供的一种预设检索数据库的结构示意图,以预设检索数据库为es数据库为例,如图6所示,物理意义上es数据库的架构包括集群、节点、分片,以及索引。本技术实施例中的各个样本问题答案对可以存储至不同的集群、不同的节点、不同的分片,es数据库中的索引可以指示样本问题答案对存储在es数据库中的存储地址,即存储在哪个集群、哪个节点、哪个分片中。后续,根据索引可以查找相应的样本问题答案对。
[0240]
图7是本技术一实施例提供的一种问题检索模型的结构示意图,本技术实施例中的问题检索模型可以是一种神经网络,如图7所示,问题检索模型可以包括卷积层、池化层、特征提取层和分类层,可以将需要提取特征向量的问题(如预设问题、搜索问题)输入问题检索模型的卷积层,该卷积层可以接收输入的问题,并对输入的问题进行卷积处理,然后将结果输入池化层,通过池化层降低向量维度,去除冗余信息,之后池化层的结果可以输入至特征提取层,通过该特征提取层可以获得输入问题的特征向量,获得的特征向量输入至分类层,即可得到最终的分类结果。
[0241]
需要说明的是,本技术实施例中要对搜索问题与预设问题的特征向量进行对比,以获得搜索问题关联的第二候选问题,因而输入预设问题或搜索问题后并不需要获得问题检索模型最终输出的分类结果,而只需要利用问题检索模型的特征提取能力,即通过特征提取层获得输入问题对应的问题向量即可。
[0242]
图8是本技术一实施例提供的一种相似度分析模型的结构示意图,本技术实施例中的相似度分析模型可以采用bert模型结构,如图8所示,相似度分析模型可以包括嵌入层、编码层、解码层和分类层,其中,采用bert模型结构的相似度分析模型中的解码层可以为transformers模型结构,包括多个多头注意力机制子层。
[0243]
需要说明的是,嵌入层用于对输入的搜索问题和候选问题进行嵌入化处理,降低输入维度,然后通过编码层对输入的搜索问题和候选问题进行编码得到编码向量,将编码向量输入解码器中进行解码,然后将解码得到的解码向量输入分类层,获得最终的二分类结果(是或否),即输入的候选问题是否为搜索问题对应的目标相似问题。
[0244]
本技术一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的问题检索模型的训练方法或者问题检索方法的步骤。
[0245]
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的问题检索模型的训练方法或者问题检索方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述问题检索模型的训练方法或者问题检索方法的技术方案的描述。
[0246]
本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述问题检索模型的训练方法或者问题检索方法的步骤。
[0247]
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的问题检索模型的训练方法或者问题检索方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述问题检索模型的训练方法或者问题检索方法的技术方案的描述。
[0248]
本技术实施例公开了一种芯片,其存储有计算机指令,该指令被处理器执行时实现如前所述问题检索模型的训练方法或者问题检索方法的步骤。
[0249]
需要说明的是,如果筛选出的候选问题的丰富度不够,遗漏了可能与搜索问题最相似的问题,那么无论后续以何种手段,均无法从各个候选问题中筛选出与搜索问题最相似的目标相似问题,从而导致搜索出的答案不够准确。
[0250]
实际应用中,预设检索数据库中存储有预先搜索到的常见问题,可以基于问题之间的字符相似度,从预设检索数据库中获取与搜索问题关联的第一候选问题,该第一候选问题只考虑了问题表面的字符相似度,无法真正理解搜索问题的特征,无法达到语义匹配,且还可能会受到分词词表的限制,导致遗漏与搜索问题真正相似的问题,那么如何兼顾问题之间的字符相似度、问题本身的特征以及问题的语义信息等不同维度的信息尤为重要,也即如何将上述完全不同的信息进行融合尤为重要。
[0251]
本技术实施例中可以借助问题检索模型和相似度分析模型,与预设检索数据库相结合,以对字符相似度、问题本身的特征以及问题的语义信息等不同维度的信息进行融合。具体实现时,可以将搜索问题输入问题检索模型中,获得搜索问题对应的搜索问题向量,并且可以预先通过问题检索模型获得预设检索数据库中存储的各个问题的预设问题向量,将搜索问题向量与各个问题的预设问题向量相比,筛选出向量相似度高的目标问题向量,将目标问题向量对应的问题作为第二候选问题。
[0252]
如此,第二候选问题是基于问题本身的特征向量确定出的,而第一候选问题是基
于字符相似度确定出的,融合第一候选问题和第二候选问题即可融合字符相似度和问题本身的特征等不同维度的信息,获得融合了不同维度信息的候选问题集,大大提高了筛选出的候选问题的数量,从不同维度避免遗漏与搜索问题真正相似的问题。
[0253]
之后,可以将搜索问题依次分别与候选问题集中的每个候选问题组对,输入相似度分析模型中,通过相似度分析模型分析输入的两个问题的语义相似度,从而获得输入的候选问题与搜索问题之间的语义相似程度,进一步融入了问题的语义信息,以确定出最终的相似问题。
[0254]
本技术实施例中先扩展了筛选候选问题的方式,融合了问题之间的字符相似度、问题本身的特征以及问题的语义信息等不同维度的信息,在保证了候选问题的丰富度的基础上,再进一步融合了问题的语义信息,分析各个候选问题与搜索问题之间的语义相似度,避免漏掉实际上真正与搜索问题相似的问题,从而提高了确定与搜索问题相似的问题的准确性,进而提高了搜索答案的准确性。
[0255]
上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0256]
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0257]
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
[0258]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0259]
以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1