一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

问题相关性检测方法和服务器与流程

2021-10-29 22:23:00 来源:中国专利 TAG:服务器 方法 相关性 电子设备 计算机技术


1.本公开涉及计算机技术,更具体地,涉及问题相关性检测方法、搜索方法、问答服务的服务器、搜索服务器、语音交互方法、电子设备以及计算机可读存储介质。


背景技术:

2.社区问答(community question answering)是一种基于社区的问答服务,用户可以在社区中提出问题以及解答自己或者别人提出的问题,从而通过用户协同的方式来进行问答。
3.为了加快响应速度,当用户提出新问题时,社区问答服务提供方会从社区的存档问题(存档问题是指已有答案的问题)中检索出相似问题,将相似问题的答案作为对该新问题的一个响应返回给用户,业内称之为相似问题检测。
4.但是,由于问题通常比较短以及用户通常采用自然语言口语化的提问方式,不同问题之间的表达方式差异比较大,对相似问题检测构成了很大的挑战。
5.因此,有必要提供一种新的问题相关性检测方法,能够有效检测出相似问题。


技术实现要素:

6.本公开实施例提供了问题相关性检测方法,能够有效检测出相似问题。
7.根据本公开实施例的第一方面,提供了问题相关性检测方法,包括:
8.对第一问题和第二问题的答案进行相似度匹配,得到表征第一问题与第二问题的答案的匹配模式的第一匹配张量;
9.对第二问题和第二问题的答案进行相似度匹配,得到表征第二问题与第二问题的答案的匹配模式的第二匹配张量;
10.基于第一匹配张量和第二匹配张量的相似程度,确定第一问题和第二问题是否为相似问题。
11.可选地,所述方法还包括:在第一问题和第二问题为相似问题的情况下,将第二问题的答案作为第一问题的答案发送给用户终端。
12.可选地,所述方法还包括:对第一问题和第二问题进行相似度匹配,得到表征第一问题与第二问题的相似程度的第一相似度向量;所述基于第一匹配张量和第二匹配张量的相似程度,确定第一问题和第二问题是否为相似问题,包括:计算第一匹配张量和第二匹配张量的相似程度,得到第二相似度向量;聚合第一相似度向量和第二相似度向量,得到聚合相似度向量;基于聚合相似度向量,确定第一问题和第二问题是否为相似问题。
13.可选地,所述聚合第一相似度向量和第二相似度向量,得到聚合相似度向量,包括:将第一相似度向量作为主要变量,第二相似度向量作为次要变量,使用门控机制聚合第一相似度向量和第二相似度向量,得到聚合相似度向量。
14.可选地,在计算第一匹配张量和第二匹配张量的相似程度之前,还包括:压缩第二相似度向量,使得第二相似度向量的维度和第一相似度向量的维度相同。
15.可选地,通过相似度函数计算第一匹配张量和第二匹配张量的相似程度;所述相似度函数为以下任一:点乘函数、余弦函数、距离函数。
16.可选地,采用基于bert算法的文本相似度匹配算法进行所述相似度匹配。
17.根据本公开实施例的第二方面,提供了搜索方法,包括:
18.对第一搜索语句和第二搜索语句的搜索结果进行相似度匹配,得到表征第一搜索语句与第二搜索语句的搜索结果的匹配模式的第一匹配张量;
19.对第二搜索语句和第二搜索语句的搜索结果进行相似度匹配,得到表征第二搜索语句与第二搜索语句的搜索结果的匹配模式的第二匹配张量;
20.基于第一匹配张量和第二匹配张量的相似程度,确定第一搜索语句和第二搜索语句是否为相似搜索语句。
21.可选地,所述方法还包括:在第一搜索语句和第二搜索语句为相似搜索语句的情况下,将第二搜索语句的搜索结果作为第一搜索语句的搜索结果发送给用户终端。
22.可选地,所述方法还包括:对第一搜索语句和第二搜索语句进行相似度匹配,得到表征第一搜索语句与第二搜索语句的相似程度的第一相似度向量;所述基于第一匹配张量和第二匹配张量的相似程度,确定第一搜索语句和第二搜索语句是否为相似搜索语句,包括:计算第一匹配张量和第二匹配张量的相似程度,得到第二相似度向量;聚合第一相似度向量和第二相似度向量,得到聚合相似度向量;基于聚合相似度向量,确定第一搜索语句和第二搜索语句是否为相似搜索语句。
23.可选地,所述聚合第一相似度向量和第二相似度向量,得到聚合相似度向量,包括:将第一相似度向量作为主要变量,第二相似度向量作为次要变量,使用门控机制聚合第一相似度向量和第二相似度向量,得到聚合相似度向量。
24.可选地,在计算第一匹配张量和第二匹配张量的相似程度之前,还包括:压缩第二相似度向量,使得第二相似度向量的维度和第一相似度向量的维度相同。
25.可选地,通过相似度函数计算第一匹配张量和第二匹配张量的相似程度;所述相似度函数为以下任一:点乘函数、余弦函数、距离函数。
26.可选地,采用基于bert算法的文本相似度匹配算法进行所述相似度匹配。
27.根据本公开实施例的第三方面,提供了问答服务的服务器,包括处理器和存储器,所述存储器存储有计算机指令,所述计算机指令被所述处理器执行时,实现本公开实施例的第一方面提供的问题相关性检测方法。
28.根据本公开实施例的第四方面,提供了搜索服务器,包括处理器和存储器,所述存储器存储有计算机指令,所述计算机指令被所述处理器执行时,实现本公开实施例的第二方面提供的搜索方法。
29.根据本公开实施例的第五方面,提供了计算机可读存储介质,其上存储有计算机可读指令,所述指令被处理器执行时,实现本公开实施例的第一方面提供的问题相关性检测方法。
30.根据本公开实施例的第六方面,提供了计算机可读存储介质,其上存储有计算机可读指令,所述指令被处理器执行时,实现本公开实施例的第二方面提供的搜索方法。
31.根据本公开实施例的第七方面,提供了语音交互方法,包括:
32.获取用户通过语音方式提交的第一语句;
33.对第一语句和第二语句的响应结果进行相似度匹配,得到表征第一语句与第二语句的响应结果的匹配模式的第一匹配张量;
34.对第二语句和第二语句的响应结果进行相似度匹配,得到表征第二语句与第二语句的响应结果的匹配模式的第二匹配张量;
35.基于第一匹配张量和第二匹配张量的相似程度,确定第一语句和第二语句是否为相似语句;
36.在第一语句和第二语句为相似语句的情况下,通过语音方式播放第二语句的响应结果。
37.根据本公开实施例的第八方面,提供了语音交互方法,包括:
38.获取用户通过语音方式提交的第一语句;
39.对第一语句和第二语句的响应结果进行相似度匹配,得到表征第一语句与第二语句的响应结果的匹配模式的第一匹配张量;
40.对第二语句和第二语句的响应结果进行相似度匹配,得到表征第二语句与第二语句的响应结果的匹配模式的第二匹配张量;
41.基于第一匹配张量和第二匹配张量的相似程度,确定第一语句和第二语句是否为相似语句;
42.在第一语句和第二语句为相似语句的情况下,将第二语句的响应结果发送给用户终端,以供用户终端进行播放。
43.根据本公开实施例的第九方面,提供了搭载有语音助手的电子设备,包括麦克风、扬声器、处理器和存储器;所述存储器存储有计算机指令,所述计算机指令被所述处理器执行时,实现本公开实施例的第七方面提供的语音交互方法。
44.本公开实施例提供的问题相关性检测方法,基于第一问题与第二问题的答案的相似度匹配模式以及第二问题与第二问题的答案的相似度匹配模式,确定第一问题和第二问题是否为相似问题,能够有效检测出相似问题。
45.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的实施例的特征及其优点将会变得清楚。
附图说明
46.被结合在公开中并构成公开的一部分的附图示出了本公开的实施例,并且连同其说明一起用于解释本公开实施例的原理。
47.图1是本公开一个实施例提供的社区问答系统的框图;
48.图2是本公开一个实施例提供的问题相关性检测模型的示意图;
49.图3是本公开一个实施例提供的问题相关性检测方法的流程图;
50.图4是本公开一个实施例提供的问题相关性检测模型的示意图;
51.图5是本公开一个实施例提供的问题相关性检测方法的流程图;
52.图6是本公开一个实施例提供的问答服务的服务器的框图;
53.图7是本公开一个实施例提供的搜索服务器的框图。
具体实施方式
54.现在将参照附图来详细描述本公开的各种示例性实施例。
55.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开实施例及其应用或使用的任何限制。
56.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
57.<社区问答系统>
58.社区问答(community question answering)是一种基于社区的问答服务,用户可以在社区中提出问题以及解答自己或者别人提出的问题,从而通过用户协同的方式来进行问答。
59.图1是本公开实施例提供的社区问答系统的框图。如图1所示,该社区问答系统包括提供社区问答服务的服务器101和大量用户的终端设备103,两者之间可以通过网络102进行通信。
60.服务器101可以是刀片服务器、机架式服务器等形式,也可以是部署在云端的服务器集群。在一些实施例中,每个服务器可以包括硬件、软件,或用于执行服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合。
61.服务器101的配置可以包括但不限于:处理器1011、存储器1012、接口装置1013、通信装置1014、输入装置1015、输出装置1016。处理器1011可以包括但不限于中央处理器cpu、微处理器mcu等。存储器1012可以包括但不限于rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1013可以包括但不限于usb接口、串行接口、并行接口等。通信装置1014例如能够进行有线通信或无线通信,具体地可以包括wifi通信、蓝牙通信、2g/3g/4g/5g通信等。输入装置1015包括但不限于键盘、鼠标等。输出装置1016包括但不限于显示屏等。该服务器101的配置也可以仅包括上述装置中的部分装置。
62.终端设备103例如可以是安装有智能操作系统(例如安卓、ios、windows、linux等系统)的电子设备,包括但不限于便携式电脑、台式计算机、手机、平板电脑等。终端设备103的配置包括但不限于处理器1031、存储器1032、接口装置1033、通信装置1034、gpu(graphics processing unit,图像处理器)1035、显示装置1036、输入装置1037、扬声器1038、麦克风1039、以及相机1030等。处理器1031包括但不限于中央处理器cpu、微处理器mcu等。存储器1032包括但不限于rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1033包括但不限于usb接口、串行接口、并行接口等。通信装置1034例如能够进行有线通信或无线通信,具体地可以包括wifi通信、蓝牙通信、2g/3g/4g/5g通信等。gpu 1035用于对图像进行处理。显示装置1036包括但不限于液晶屏、触摸屏等。输入装置1037包括但不限于键盘、鼠标、触摸屏等。终端设备103的配置也可以仅包括上述装置中的部分装置。
63.应用于本公开的一个实施例中,用户可以通过终端设备103访问社区,向社区提交问题以及在社区中回答问题。服务器101用于维护社区,提供社区问答服务。服务器101接收到用户提交的问题后,将问题发布在社区上,用户本人和其它用户都可以在社区上回答该问题。服务器101还可以在接收到新问题后,在社区的存档问题中进行相似性检索,存档问题是指已有答案的问题。如果可以检索到与新问题相似的存档问题,将该相似的存档问题
的答案作为对新问题的一个响应返回给提问者,也就是将该相似的存档问题的答案作为该新问题的答案返回给提问者。服务器101的存储器1012用于存储指令,所述指令用于控制处理器1011进行操作以支持实现本公开的任意实施例的问题相关性检测方法。
64.图1所示的社区问答系统仅仅是说明性的并且绝不意味着对本公开实施例、其应用或使用的任何限制。本领域技术人员应当理解,尽管前面描述了提供社区问答服务的服务器101和终端设备103的多个装置,但是,本公开实施例可以仅涉及其中的部分装置。技术人员可以根据本公开实施例所公开的方案设计指令。指令如何控制处理器进行操作,是本领域公知技术,故在此不再详细描述。
65.<问题相关性检测方法>
66.为了加快响应速度,当用户提出新问题时,社区问答服务提供方会从社区的存档问题中检索出相似问题,将相似问题的答案作为对该新问题的一个响应返回给用户,业内称之为相似问题检测。
67.但是,由于问题通常比较短以及用户通常采用自然语言口语化的提问方式,不同问题之间的表达方式差异比较大,对相似问题检测构成了很大的挑战。
68.发明人经研究后认为,为了改善该问题,可以构建更加复杂的文本匹配模型来进行相似问题检测,但是依然受到来自较短文本的信息稀疏性的影响。发明人认为,可以在相似问题检测的过程中,引入已有问题的答案来补充检索信息,来降低问题短文本的信息稀疏性的影响。
69.第一种引入方式,是将存档问题和存档问题的答案拼接起来,将拼接后的内容和新问题进行匹配。但是由于问题和问题的答案往往并不简单服从同分布的假设,甚至问题的答案可能是很发散的,与问题本身关联不大,这会导致无法有效利用答案中的信息,甚至还有可能因为存档问题的答案的偏差引入噪声。下面以一个具体的例子进行说明。
[0070]“qu:什么是java中的垃圾回收机制?”[0071]“qe:是否应该避免在java中创建对象?”[0072]“ae:实际上,由于java中的内存管理策略,创建对象可以看做jvm堆中一个免费的操作。对象相关的另一个花费是对象注销。如果jvm堆足够大,在当前的垃圾回收算法中,对象注销过程在事实上并不会发生,也不会带来程序上的任何卡顿。”[0073]
qu代表一个新问题,qe代表一个存档问题,ae代表存档问题qe的答案(称之为“存档答案”)。
[0074]
可以看出,存档问题qe和新问题qu实际上并不相似。
[0075]
但是,对于存档问题qe来说,其答案ae除了涉及与存档问题qe有强关联的内容(“创建对象”),还涉及与存档问题qe关联性很弱的内容(“垃圾回收算法”)。将存档问题qe和其答案ae的拼接内容和新问题qu进行相似性比较,由于拼接内容和新问题qu中都存在“垃圾回收”这一关键词,会错误的将存档问题qe和新问题qu判断为相似问题,从而错误的将存档问题qe的答案作为新问题qu的答案返回给用户。也就是说,存档问题的答案反而引入了噪声,导致相似性检测结果不准确。
[0076]
第二种引入方式,是先对新问题和存档问题进行第一轮相似性检测,得到候选相似问题。然后对新问题和候选相似问题的答案进行第二轮相似性检测,如果新问题和候选相似问题的答案也是相似的,则将候选相似问题确定为新问题的相似问题。
[0077]
第二种引入方式采用了一种反事实推理假设,即:如果问题是不同的,那么一个问题的答案就不能用于回答另一问题;如果一个问题的答案可以回答另一个问题,则说明这两个问题是相似的。在这一假设下,答案往往起到更为严格的作用,即只有在新问题和存档问题及其答案都分别相似的情况下,才认为两个问题是相似的,这在一些情况下可能会过于严格,导致召回数量的下降,出现漏检情况。
[0078]
本公开的实施例提供的问题相关性检测方法,与前述两种方式不同,是基于“匹配上的匹配”方案(matching over matching),即使用问答匹配的模式之间的匹配。
[0079]
<例子一>
[0080]
参见图2和图3所示,说明本公开的实施例提供的问题相关性检测方方法。该方法包括步骤s202-s214。
[0081]
s202、对第一问题和第二问题的答案进行相似度匹配,得到表征第一问题与第二问题的答案的匹配模式的第一匹配张量。
[0082]
在一个具体的例子中,第一问题可以是新问题,也就是没有答案的问题。第一问题也可以是目前只有少量答案的问题。第二问题可以是存档问题,已经有答案。
[0083]
在本公开的实施例中,使用预训练语言模型进行相似度匹配,以获得第一匹配张量。bert(bidirectional encoder representation from transformers,来自变换器的双向编码器)算法是一种经典的预训练语言模型,在多个自然语言任务上取得了当时最优的效果,其通过堆叠的编码器构建模型。bert算法是一种nlp(natural language processing自然语言处理)模型。在本公开的实施例中,用bert算法作为相似度匹配的预训练语言模型。也就是说,在步骤s202中,可以采用基于bert算法的文本相似度匹配算法进行相似度匹配。在本公开的实施例中,bert算法网络可以使用堆叠的编码器结构。
[0084]
如图2右侧所示,将第一问题和第二问题的答案输入到第一文本相似度匹配网络中。第一文本相似度匹配网络使用基于bert算法的文本相似度匹配算法,来获取第一问题和第二问题的答案之间的匹配模式。
[0085]
在一个具体的例子中,将第一问题和第二问题的答案拼接后输入至第一文本相似度匹配网络。基于第一问题所对应的字符和第二问题的答案所对应的字符,将编码器的输出分成两个部分,第一部分是编码器对于第一问题的向量表达,第二部分是编码器对于第二问题的答案的向量表达。对于每一层编码器,计算该层编码器对于第一问题的向量表达和对于第二问题的答案的向量表达的内积,得到该层编码器所对应的匹配张量。将各层编码器所对应的匹配张量集合在一起,得到第一匹配张量,该第一匹配张量可以表征第一问题与第二问题的答案的匹配模式。
[0086]
s204、对第二问题和第二问题的答案进行相似度匹配,得到表征第二问题与第二问题的答案的匹配模式的第二匹配张量。
[0087]
在步骤s204中,可以采用基于bert算法的文本相似度匹配算法进行相似度匹配。
[0088]
如图2右侧所示,将第二问题和第二问题的答案输入到第二文本相似度匹配网络中。第二文本相似度匹配网络使用基于bert算法的文本相似度匹配算法,来获取第二问题和第二问题的答案之间的匹配模式。
[0089]
在一个具体的例子中,将第二问题和第二问题的答案拼接后输入至第二文本相似度匹配网络。基于第二问题所对应的字符和第二问题的答案所对应的字符,将编码器的输
出分成两个部分,第一部分是编码器对于第二问题的向量表达,第二部分是编码器对于第二问题的答案的向量表达。对于每一层编码器,计算该层编码器对于第二问题的向量表达和对于第二问题的答案的向量表达的内积,得到该层编码器所对应的匹配张量。将各层编码器所对应的匹配张量集合在一起,得到第二匹配张量,该第二匹配张量可以表征第二问题与第二问题的答案的匹配模式。
[0090]
s206、对第一问题和第二问题进行相似度匹配,得到表征第一问题与第二问题的相似程度的第一相似度向量。
[0091]
在步骤s206中,可以采用基于bert算法的文本相似度匹配算法进行相似度匹配。
[0092]
如图2左侧所示,将第一问题和第二问题输入到第三文本相似度匹配网络中。第三文本相似度匹配网络使用基于bert算法的文本相似度匹配算法,来检测第一问题和第二问题的相似程度。
[0093]
在一个具体的例子中,将第一问题和第二问题输入到第三文本相似度匹配网络中,得到表征第一问题与第二问题的相似程度的第一相似度向量。
[0094]
s208、计算第一匹配张量和第二匹配张量的相似程度,得到第二相似度向量。
[0095]
如图2右侧所示,模式相似度计算网络使用相似度函数计算第一匹配张量和第二匹配张量的相似程度,得到表征第一匹配张量和第二匹配张量的相似程度的第一相似度向量。
[0096]
第二相似度向量。该相似度函数可以为点乘函数、余弦函数、距离函数等可以计算向量之间的相似度的函数。
[0097]
如图2右侧所示,计算出第二相似度向量后,在向量压缩网络中还可以对第二相似度向量进行压缩,使得第二相似度向量的维度和第一相似度向量的维度相同,以便于后续聚合第一相似度向量和第二相似度向量。
[0098]
s210、聚合第一相似度向量和第二相似度向量,得到聚合相似度向量。
[0099]
如图2所示,在聚合网络中,将第一相似度向量作为主要变量,第二相似度向量作为次要变量,使用门控机制聚合第一相似度向量和第二相似度向量,得到聚合相似度向量。
[0100]
例如,赋予第一相似度向量较大的权重,赋予第二相似度向量较小的权重,使用门控机制将二者聚合起来。
[0101]
s212、基于聚合相似度向量,确定第一问题和第二问题是否为相似问题。
[0102]
在步骤s212中,可以使用多层感知机网络来感知聚合相似度向量,得到第一问题和第二问题的相似度得分。
[0103]
根据第一问题和第二问题的相似度得分,确定第一问题和第二问题是否为相似问题。在一个具体的例子中,如果第一问题和第二问题的相似度得分大于等于预设的阈值,确定第一问题和第二问题是相似的问题。如果第一问题和第二问题的相似度得分小于预设的阈值,确定第一问题和第二问题不是相似的问题。
[0104]
s214、在第一问题和第二问题为相似问题的情况下,将第二问题的答案作为第一问题的答案发送给用户终端。
[0105]
参见图2所示,第一文本相似度匹配网络、第二文本相似度匹配网络、第三文本相似度匹配网络、模式相似度计算网络、向量压缩网络、聚合网络、多层感知机网络一起构成了本公开的实施例的问题相似度检测模型。在对问题相似度检测模型进行训练的过程中,
可以采用端到端(end-to-end)形式的交叉熵损失函数。
[0106]
将第一问题、第二问题、第二问题的答案输入到训练好的问题相似度检测模型,通过该问题相似度检测模型得到第一问题和第二问题的相似度得分。
[0107]
<例子二>
[0108]
参见图4和图5所示,说明本公开的实施例的问题相关性检测方法。该方法包括步骤s302-s308。
[0109]
s302、对第一问题和第二问题的答案进行相似度匹配,得到表征第一问题与第二问题的答案的匹配模式的第一匹配张量。
[0110]
在一个具体的例子中,第一问题可以是新问题,也就是没有答案的问题。第一问题也可以是目前只有少量答案的问题。第二问题可以是存档问题,已经有答案。
[0111]
在本公开的实施例中,可以用bert算法作为相似度匹配的预训练语言模型。在步骤s302中,可以采用基于bert(bidirectional encoder representation from transformers,来自变换器的双向编码器)算法的文本相似度匹配算法进行相似度匹配。bert算法是一种nlp(natural language processing自然语言处理)模型。在本公开的实施例中,bert算法网络可以使用堆叠的编码器结构。
[0112]
如图4所示,将第一问题和第二问题的答案输入到第一文本相似度匹配网络中。第一文本相似度匹配网络使用基于bert算法的文本相似度匹配算法,来获取第一问题和第二问题的答案之间的匹配模式。
[0113]
在一个具体的例子中,将第一问题和第二问题的答案拼接后输入至第一文本相似度匹配网络。基于第一问题所对应的字符和第二问题的答案所对应的字符,将编码器的输出分成两个部分,第一部分是编码器对于第一问题的向量表达,第二部分是编码器对于第二问题的答案的向量表达。对于每一层编码器,计算该层编码器对于第一问题的向量表达和对于第二问题的答案的向量表达的内积,得到该层编码器所对应的匹配张量。将各层编码器所对应的匹配张量集合在一起,得到第一匹配张量,该第一匹配张量可以表征第一问题与第二问题的答案的匹配模式。
[0114]
s304、对第二问题和第二问题的答案进行相似度匹配,得到表征第二问题与第二问题的答案的匹配模式的第二匹配张量。
[0115]
在步骤s304中,可以采用基于bert算法的文本相似度匹配算法进行相似度匹配。
[0116]
如图4所示,将第二问题和第二问题的答案输入到第二文本相似度匹配网络中。第二文本相似度匹配网络使用基于bert算法的文本相似度匹配算法,来获取第二问题和第二问题的答案之间的匹配模式。
[0117]
在一个具体的例子中,将第二问题和第二问题的答案拼接后输入至第二文本相似度匹配网络。基于第二问题所对应的字符和第二问题的答案所对应的字符,将编码器的输出分成两个部分,第一部分是编码器对于第二问题的向量表达,第二部分是编码器对于第二问题的答案的向量表达。对于每一层编码器,计算该层编码器对于第二问题的向量表达和对于第二问题的答案的向量表达的内积,得到该层编码器所对应的匹配张量。将各层编码器所对应的匹配张量集合在一起,得到第二匹配张量,该第二匹配张量可以表征第二问题与第二问题的答案的匹配模式。
[0118]
s306、基于第一匹配张量和第二匹配张量的相似程度,确定第一问题和第二问题
是否为相似问题。
[0119]
在步骤s306中,计算第一匹配张量和第二匹配张量的相似程度,得到表征第一匹配张量和第二匹配张量的相似程度的相似度向量。
[0120]
如图4所示,模式相似度计算网络使用相似度函数计算第一匹配张量和第二匹配张量的相似程度,得到相似度向量。该相似度函数可以为点乘函数、余弦函数、距离函数等可以计算向量之间的相似度的函数。
[0121]
在步骤s306中,可以使用多层感知机网络来感知相似度向量,得到第一问题和第二问题的相似度得分。
[0122]
根据第一问题和第二问题的相似度得分,确定第一问题和第二问题是否为相似问题。在一个具体的例子中,如果第一问题和第二问题的相似度得分大于等于预设的阈值,确定第一问题和第二问题是相似的问题。如果第一问题和第二问题的相似度得分小于预设的阈值,确定第一问题和第二问题不是相似的问题。
[0123]
s308、在第一问题和第二问题为相似问题的情况下,将第二问题的答案作为第一问题的答案发送给用户终端。
[0124]
参见图4所示,第一文本相似度匹配网络、第二文本相似度匹配网络、模式相似度计算网络、多层感知机网络一起构成了本公开的实施例的问题相似度检测模型。在对问题相似度检测模型进行训练的过程中,可以采用端到端(end-to-end)形式的交叉熵损失函数。
[0125]
将第一问题、第二问题、第二问题的答案输入到训练好的问题相似度检测模型,通过该问题相似度检测模型得到第一问题和第二问题的相似度得分。
[0126]
本公开的实施例的问题相关性检测方法,比较了不同问题和同一答案之间的匹配模式的相似性,既引入了答案信息,又可以过滤掉问答分布差异之间的噪声,相当于是对无关联系进行了二次验证,从而大大减少无关联系的影响。例如,可以过滤掉存档答案ae中的“垃圾回收算法”内容。
[0127]
本公开的实施例的问题相关性检测方法,已经在开源数据集cqadupstack和quoraqp上进行了实验,实验结果表明本公开的实施例的问题相关性检测方法可以达到较高的准确率。
[0128]
<搜索方法>
[0129]
基于和本公开实施例的问题相关性检测方法类似的原理,本公开实施例还提供了搜索方法。
[0130]
<例子一>
[0131]
本公开实施例提供的搜索方法,包括步骤s402-s414。
[0132]
s402、对第一搜索语句和第二搜索语句的搜索结果进行相似度匹配,得到表征第一搜索语句与第二搜索语句的搜索结果的匹配模式的第一匹配张量。
[0133]
在一个具体的例子中,第一搜索语句可以是用户新提交的搜索语句,还没有搜索结果。第一搜索语句也可以是目前只有少量搜索结果的搜索语句。第二搜索语句已经有搜索结果。
[0134]
在一个具体的例子中,第一搜索语句可以包括一个或者多个搜索词,第二搜索语句可以包括一个或者多个搜索词。例如,搜索语句可以是“天气预报”,也可以是“明天的天
气”。
[0135]
在本公开的实施例中,可以用bert算法作为相似度匹配的预训练语言模型。在步骤s402中,可以采用基于bert(bidirectional encoder representation from transformers,来自变换器的双向编码器)算法的文本相似度匹配算法进行相似度匹配。bert算法是一种nlp(natural language processing自然语言处理)模型。在本公开的实施例中,bert算法网络可以使用堆叠的编码器结构。
[0136]
将第一搜索语句和第二搜索语句的搜索结果输入到第一文本相似度匹配网络中。第一文本相似度匹配网络使用基于bert算法的文本相似度匹配算法,来获取第一搜索语句和第二搜索语句的搜索结果之间的匹配模式。
[0137]
在一个具体的例子中,将第一搜索语句和第二搜索语句的搜索结果拼接后输入至第一文本相似度匹配网络。基于第一搜索语句所对应的字符和第二搜索语句的搜索结果所对应的字符,将编码器的输出分成两个部分,第一部分是编码器对于第一搜索语句的向量表达,第二部分是编码器对于第二搜索语句的搜索结果的向量表达。对于每一层编码器,计算该层编码器对于第一搜索语句的向量表达和对于第二搜索语句的搜索结果的向量表达的内积,得到该层编码器所对应的匹配张量。将各层编码器所对应的匹配张量集合在一起,得到第一匹配张量,该第一匹配张量可以表征第一搜索语句与第二搜索语句的搜索结果的匹配模式。
[0138]
s404、对第二搜索语句和第二搜索语句的搜索结果进行相似度匹配,得到表征第二搜索语句与第二搜索语句的搜索结果的匹配模式的第二匹配张量。
[0139]
在步骤s404中,可以采用基于bert算法的文本相似度匹配算法进行相似度匹配。
[0140]
将第二搜索语句和第二搜索语句的搜索结果输入到第二文本相似度匹配网络中。第二文本相似度匹配网络使用基于bert算法的文本相似度匹配算法,来获取第二搜索语句和第二搜索语句的搜索结果之间的匹配模式。
[0141]
在一个具体的例子中,将第二搜索语句和第二搜索语句的搜索结果拼接后输入至第二文本相似度匹配网络。基于第二搜索语句所对应的字符和第二搜索语句的搜索结果所对应的字符,将编码器的输出分成两个部分,第一部分是编码器对于第二搜索语句的向量表达,第二部分是编码器对于第二搜索语句的搜索结果的向量表达。对于每一层编码器,计算该层编码器对于第二搜索语句的向量表达和对于第二搜索语句的搜索结果的向量表达的内积,得到该层编码器所对应的匹配张量。将各层编码器所对应的匹配张量集合在一起,得到第二匹配张量,该第二匹配张量可以表征第二搜索语句与第二搜索语句的搜索结果的匹配模式。
[0142]
s406、对第一搜索语句和第二搜索语句进行相似度匹配,得到表征第一搜索语句与第二搜索语句的相似程度的第一相似度向量。
[0143]
在步骤s406中,可以采用基于bert算法的文本相似度匹配算法进行相似度匹配。
[0144]
将第一搜索语句和第二搜索语句输入到第三文本相似度匹配网络中。第三文本相似度匹配网络使用基于bert算法的文本相似度匹配算法,来检测第一搜索语句和第二搜索语句的相似程度。
[0145]
在一个具体的例子中,将第一搜索语句和第二搜索语句输入到第三文本相似度匹配网络中,得到表征第一搜索语句与第二搜索语句的相似程度的第一相似度向量。
[0146]
s408、计算第一匹配张量和第二匹配张量的相似程度,得到第二相似度向量。
[0147]
模式相似度计算网络使用相似度函数计算第一匹配张量和第二匹配张量的相似程度,得到表征第一匹配张量和第二匹配张量的相似程度的第一相似度向量。
[0148]
第二相似度向量。该相似度函数可以为点乘函数、余弦函数、距离函数等可以计算向量之间的相似度的函数。
[0149]
计算出第二相似度向量后,在向量压缩网络中还可以对第二相似度向量进行压缩,使得第二相似度向量的维度和第一相似度向量的维度相同,以便于后续聚合第一相似度向量和第二相似度向量。
[0150]
s410、聚合第一相似度向量和第二相似度向量,得到聚合相似度向量。
[0151]
在聚合网络中,将第一相似度向量作为主要变量,第二相似度向量作为次要变量,使用门控机制聚合第一相似度向量和第二相似度向量,得到聚合相似度向量。
[0152]
例如,赋予第一相似度向量较大的权重,赋予第二相似度向量较小的权重,使用门控机制将二者聚合起来。
[0153]
s412、基于聚合相似度向量,确定第一搜索语句和第二搜索语句是否为相似搜索语句。
[0154]
在步骤s412中,可以使用多层感知机网络来感知聚合相似度向量,得到第一搜索语句和第二搜索语句的相似度得分。
[0155]
根据第一搜索语句和第二搜索语句的相似度得分,确定第一搜索语句和第二搜索语句是否为相似搜索语句。在一个具体的例子中,如果第一搜索语句和第二搜索语句的相似度得分大于等于预设的阈值,确定第一搜索语句和第二搜索语句是相似的搜索语句。如果第一搜索语句和第二搜索语句的相似度得分小于预设的阈值,确定第一搜索语句和第二搜索语句不是相似的搜索语句。
[0156]
s414、在第一搜索语句和第二搜索语句为相似搜索语句的情况下,将第二搜索语句的搜索结果作为第一搜索语句的搜索结果发送给用户终端。
[0157]
第一文本相似度匹配网络、第二文本相似度匹配网络、第三文本相似度匹配网络、模式相似度计算网络、向量压缩网络、聚合网络、多层感知机网络一起构成了本公开的实施例的搜索语句相似度检测模型。在对搜索语句相似度检测模型进行训练的过程中,可以采用端到端(end-to-end)形式的交叉熵损失函数。
[0158]
将第一搜索语句、第二搜索语句、第二搜索语句的搜索结果输入到训练好的搜索语句相似度检测模型,通过该搜索语句相似度检测模型得到第一搜索语句和第二搜索语句的相似度得分。
[0159]
<例子二>
[0160]
本公开实施例提供的搜索方法,包括步骤s502-s508。
[0161]
s502、对第一搜索语句和第二搜索语句的搜索结果进行相似度匹配,得到表征第一搜索语句与第二搜索语句的搜索结果的匹配模式的第一匹配张量。
[0162]
在一个具体的例子中,第一搜索语句可以是用户新提交的搜索语句,还没有搜索结果。第一搜索语句也可以是目前只有少量搜索结果的搜索语句。第二搜索语句已经有搜索结果。
[0163]
在一个具体的例子中,第一搜索语句可以包括一个或者多个搜索词,第二搜索语
句可以包括一个或者多个搜索词。例如,搜索语句可以是“天气预报”,也可以是“明天的天气”。
[0164]
在本公开的实施例中,可以用bert算法作为相似度匹配的预训练语言模型。在步骤s502中,可以采用基于bert(bidirectional encoder representation from transformers,来自变换器的双向编码器)算法的文本相似度匹配算法进行相似度匹配。bert算法是一种nlp(natural language processing自然语言处理)模型。在本公开的实施例中,bert算法网络可以使用堆叠的编码器结构。
[0165]
将第一搜索语句和第二搜索语句的搜索结果输入到第一文本相似度匹配网络中。第一文本相似度匹配网络使用基于bert算法的文本相似度匹配算法,来获取第一搜索语句和第二搜索语句的搜索结果之间的匹配模式。
[0166]
在一个具体的例子中,将第一搜索语句和第二搜索语句的搜索结果拼接后输入至第一文本相似度匹配网络。基于第一搜索语句所对应的字符和第二搜索语句的搜索结果所对应的字符,将编码器的输出分成两个部分,第一部分是编码器对于第一搜索语句的向量表达,第二部分是编码器对于第二搜索语句的搜索结果的向量表达。对于每一层编码器,计算该层编码器对于第一搜索语句的向量表达和对于第二搜索语句的搜索结果的向量表达的内积,得到该层编码器所对应的匹配张量。将各层编码器所对应的匹配张量集合在一起,得到第一匹配张量,该第一匹配张量可以表征第一搜索语句与第二搜索语句的搜索结果的匹配模式。
[0167]
s504、对第二搜索语句和第二搜索语句的搜索结果进行相似度匹配,得到表征第二搜索语句与第二搜索语句的搜索结果的匹配模式的第二匹配张量。
[0168]
在步骤s504中,可以采用基于bert算法的文本相似度匹配算法进行相似度匹配。
[0169]
将第二搜索语句和第二搜索语句的搜索结果输入到第二文本相似度匹配网络中。第二文本相似度匹配网络使用基于bert算法的文本相似度匹配算法,来获取第二搜索语句和第二搜索语句的搜索结果之间的匹配模式。
[0170]
在一个具体的例子中,将第二搜索语句和第二搜索语句的搜索结果拼接后输入至第二文本相似度匹配网络。基于第二搜索语句所对应的字符和第二搜索语句的搜索结果所对应的字符,将编码器的输出分成两个部分,第一部分是编码器对于第二搜索语句的向量表达,第二部分是编码器对于第二搜索语句的搜索结果的向量表达。对于每一层编码器,计算该层编码器对于第二搜索语句的向量表达和对于第二搜索语句的搜索结果的向量表达的内积,得到该层编码器所对应的匹配张量。将各层编码器所对应的匹配张量集合在一起,得到第二匹配张量,该第二匹配张量可以表征第二搜索语句与第二搜索语句的搜索结果的匹配模式。
[0171]
s506、基于第一匹配张量和第二匹配张量的相似程度,确定第一搜索语句和第二搜索语句是否为相似搜索语句。
[0172]
在步骤s506中,计算第一匹配张量和第二匹配张量的相似程度,得到表征第一匹配张量和第二匹配张量的相似程度的相似度向量。
[0173]
模式相似度计算网络使用相似度函数计算第一匹配张量和第二匹配张量的相似程度,得到相似度向量。该相似度函数可以为点乘函数、余弦函数、距离函数等可以计算向量之间的相似度的函数。
[0174]
在步骤s506中,可以使用多层感知机网络来感知相似度向量,得到第一搜索语句和第二搜索语句的相似度得分。
[0175]
根据第一搜索语句和第二搜索语句的相似度得分,确定第一搜索语句和第二搜索语句是否为相似搜索语句。在一个具体的例子中,如果第一搜索语句和第二搜索语句的相似度得分大于等于预设的阈值,确定第一搜索语句和第二搜索语句是相似的搜索语句。如果第一搜索语句和第二搜索语句的相似度得分小于预设的阈值,确定第一搜索语句和第二搜索语句不是相似的搜索语句。
[0176]
s508、在第一搜索语句和第二搜索语句为相似搜索语句的情况下,将第二搜索语句的搜索结果作为第一搜索语句的搜索结果发送给用户终端。
[0177]
第一文本相似度匹配网络、第二文本相似度匹配网络、模式相似度计算网络、多层感知机网络一起构成了本公开的实施例的搜索语句相似度检测模型。在对搜索语句相似度检测模型进行训练的过程中,可以采用端到端(end-to-end)形式的交叉熵损失函数。
[0178]
将第一搜索语句、第二搜索语句、第二搜索语句的搜索结果输入到训练好的搜索语句相似度检测模型,通过该搜索语句相似度检测模型得到第一搜索语句和第二搜索语句的相似度得分。
[0179]
本公开的实施例的搜索方法,比较了不同搜索语句和同一搜索结果之间的匹配模式的相似性,既引入了搜索结果信息,又可以过滤掉搜索语句和搜索结果分布差异之间的噪声,相当于是对无关联系进行了二次验证,从而大大减少无关联系的影响。
[0180]
本公开的实施例的搜索方法,已经在开源数据集cqadupstack和quoraqp上进行了实验,实验结果表明本公开的实施例的搜索方法可以达到较高的相似搜索语句的检测准确率。
[0181]
<语音交互方法>
[0182]
基于和本公开实施例的问题相关性检测方法类似的原理,本公开实施例还提供了语音交互方法。
[0183]
本公开的实施例提供了一种语音交互方法。该语音交互方法可以由用户终端执行,该用户终端具有麦克风和扬声器,具体的,该用户终端可以具有类似于图1中的终端设备103的硬件配置。
[0184]
在一个具体的例子中,该语音交互方法可以包括步骤s600-s614。
[0185]
s600、获取用户通过语音方式提交的第一语句。
[0186]
具体的,用户终端通过麦克风拾取用户的语音信号,将语音信号识别为第一语句。
[0187]
s602、对第一语句和第二语句的响应结果进行相似度匹配,得到表征第一语句与第二语句的响应结果的匹配模式的第一匹配张量。
[0188]
s604、对第二语句和第二语句的响应结果进行相似度匹配,得到表征第二语句与第二语句的响应结果的匹配模式的第二匹配张量。
[0189]
s606、对第一语句和第二语句进行相似度匹配,得到表征第一语句与第二语句的相似程度的第一相似度向量。
[0190]
s608、计算第一匹配张量和第二匹配张量的相似程度,得到第二相似度向量。
[0191]
s610、聚合第一相似度向量和第二相似度向量,得到聚合相似度向量。
[0192]
s612、基于聚合相似度向量,确定第一语句和第二语句是否为相似语句。
[0193]
s614、在第一语句和第二语句为相似语句的情况下,通过语音方式播放第二语句的响应结果。
[0194]
在一个具体的例子中,该语音交互方法可以包括步骤s700-s708。
[0195]
s700、获取用户通过语音方式提交的第一语句。
[0196]
具体的,用户终端通过麦克风拾取用户的语音信号,将语音信号识别为第一语句。
[0197]
s702、对第一语句和第二语句的响应结果进行相似度匹配,得到表征第一语句与第二语句的响应结果的匹配模式的第一匹配张量。
[0198]
s704、对第二语句和第二语句的响应结果进行相似度匹配,得到表征第二语句与第二语句的响应结果的匹配模式的第二匹配张量。
[0199]
s706、基于第一匹配张量和第二匹配张量的相似程度,确定第一语句和第二语句是否为相似语句。
[0200]
s708、在第一语句和第二语句为相似语句的情况下,通过语音方式播放第二语句的响应结果。
[0201]
步骤s602-s612与步骤s202-s212类似,具体细节可以参见步骤s202-s212,这里不再重复说明。步骤s702-s706与步骤s302-s306类似,具体细节可以参见步骤s302-s306,这里不再重复说明。
[0202]
在一个具体的例子中,该用户终端搭载有语音助手,通过语音助手调用麦克风获取第一语句,以及通过语音助手调用扬声器播放响应结果。上述方法可以通过语音助手实施。在一个具体的例子中,该语音助手例如是应用的客服助手,例如,购物应用(application,app)的客服助手。通过语音助手,用户可以使用自然语言直接进行人机交互。例如,用户通过语音助手进行订票咨询、天气预报查询、医疗咨询、产品咨询、获取售后服务等,给用户日常生活带来了便利。
[0203]
本公开的实施例提供了一种语音交互方法。该语音交互方法可以由服务器执行,该服务器可以具有类似于图1中的服务器101的硬件配置。
[0204]
在一个具体的例子中,该语音交互方法可以包括步骤s800-s814。
[0205]
s800、获取用户通过语音方式提交的第一语句。
[0206]
用户可以通过语音方式向用户终端提交第一语句,由用户终端将第一语句发送给服务器。
[0207]
具体的,用户终端通过麦克风拾取用户的语音信号,将语音信号识别为第一语句。该用户终端具有麦克风和扬声器,具体的,该用户终端可以具有类似于图1中的终端设备103的硬件配置。
[0208]
s802、对第一语句和第二语句的响应结果进行相似度匹配,得到表征第一语句与第二语句的响应结果的匹配模式的第一匹配张量。
[0209]
s804、对第二语句和第二语句的响应结果进行相似度匹配,得到表征第二语句与第二语句的响应结果的匹配模式的第二匹配张量。
[0210]
s806、对第一语句和第二语句进行相似度匹配,得到表征第一语句与第二语句的相似程度的第一相似度向量。
[0211]
s808、计算第一匹配张量和第二匹配张量的相似程度,得到第二相似度向量。
[0212]
s810、聚合第一相似度向量和第二相似度向量,得到聚合相似度向量。
[0213]
s812、基于聚合相似度向量,确定第一语句和第二语句是否为相似语句。
[0214]
s814、在第一语句和第二语句为相似语句的情况下,将第二语句的响应结果发送给用户终端,以供用户终端通过语音方式播放第二语句的响应结果。
[0215]
在一个具体的例子中,该语音交互方法可以包括步骤s900-s908。
[0216]
s900、获取用户通过语音方式提交的第一语句。
[0217]
用户可以通过语音方式向用户终端提交第一语句,由用户终端将第一语句发送给服务器。
[0218]
具体的,用户终端通过麦克风拾取用户的语音信号,将语音信号识别为第一语句。该用户终端具有麦克风和扬声器,具体的,该用户终端可以具有类似于图1中的终端设备103的硬件配置。
[0219]
s902、对第一语句和第二语句的响应结果进行相似度匹配,得到表征第一语句与第二语句的响应结果的匹配模式的第一匹配张量。
[0220]
s904、对第二语句和第二语句的响应结果进行相似度匹配,得到表征第二语句与第二语句的响应结果的匹配模式的第二匹配张量。
[0221]
s906、基于第一匹配张量和第二匹配张量的相似程度,确定第一语句和第二语句是否为相似语句。
[0222]
s908、在第一语句和第二语句为相似语句的情况下,将第二语句的响应结果发送给用户终端,以供用户终端通过语音方式播放第二语句的响应结果。
[0223]
步骤s802-s812与步骤s202-s212类似,具体细节可以参见步骤s202-s212,这里不再重复说明。步骤s902-s906与步骤s302-s306类似,具体细节可以参见步骤s302-s306,这里不再重复说明。
[0224]
在一个具体的例子中,该用户终端搭载有语音助手,通过语音助手调用麦克风获取第一语句,以及通过语音助手调用扬声器播放响应结果。在一个具体的例子中,该语音助手例如是应用的客服助手,例如,购物应用(application,app)的客服助手。通过语音助手,用户可以使用自然语言直接进行人机交互。例如,用户通过语音助手进行订票咨询、天气预报查询、医疗咨询、产品咨询、获取售后服务等,给用户日常生活带来了便利。
[0225]
本公开的实施例的语音交互方法,比较了不同语句和同一响应结果之间的匹配模式的相似性,既引入了响应结果信息,又可以过滤掉语句-响应结果分布差异之间的噪声,相当于是对无关联系进行了二次验证,从而大大减少无关联系的影响。本公开的实施例的语音交互方法,可以提高响应速度和响应准确率。
[0226]
<问答服务的服务器>
[0227]
参见图6所示,本公开的实施例还提供了问答服务的服务器。问答服务的服务器40包括处理器41和存储器42,存储器42存储有计算机指令,所述计算机指令被处理器41执行时,实现前述任一实施例的问题相关性检测方法。
[0228]
<搜索服务器>
[0229]
参见图7所示,本公开的实施例还提供了搜索服务器。搜索服务器50包括处理器51和存储器52,存储器52存储有计算机指令,所述计算机指令被51处理器执行时,实现前述任一实施例的搜索方法。
[0230]
<服务器>
[0231]
本公开的实施例还提供了服务器。服务器包括处理器和存储器,存储器存储有计算机指令,所述计算机指令被处理器执行时,实现前述实施例的语音交互方法。
[0232]
<电子设备>
[0233]
本公开的实施例还提供了搭载有语音助手的电子设备,包括麦克风、扬声器、处理器和存储器;存储器存储有计算机指令,所述计算机指令被处理器执行时,实现前述实施例的语音交互方法。
[0234]
<计算机可读介质>
[0235]
本公开的实施例还提供了计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现前述任一实施例的问题相关性检测方法。
[0236]
本公开的实施例还提供了计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现前述任一实施例的搜索方法。
[0237]
本公开的实施例还提供了计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现前述任一实施例的语音交互方法。
[0238]
本公开中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0239]
上述对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0240]
本公开的实施例可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开实施例的各个方面的计算机可读程序指令。
[0241]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0242]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计
算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0243]
用于执行本公开的实施例操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开实施例的各个方面。
[0244]
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开实施例的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0245]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0246]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0247]
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
[0248]
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也
不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜