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

指代词语义槽填充方法、系统、电子设备和存储介质与流程

2022-11-09 22:09:39 来源:中国专利 TAG:


1.本发明涉及智能语音领域,尤其涉及一种指代词语义槽填充方法、系统、电子设备和存储介质。


背景技术:

2.在日常对话中,会使用代词来进行更省力、更便捷高效地沟通。带有代词的对话通常出现于多轮对话,在后轮次的对话使用代词来代替在先轮次对话中的某一词语。现有技术中智能语音想要识别这些指代词的方法有端到端的对话状态跟踪方法,利用神经网络编码模型将口语对话的历史句子全部编码成向量,然后利用分类器网络直接预测当前句子的语义槽信息。即便当前句子的语义槽是被一个指代词提及的,也可以通过历史句子的编码向量获取相应的语义槽特征,从而实现指代词的语义槽填充。该技术完全基于数据驱动,通过大量的对话数据和相应的人工标注来机器学习相应的模型参数。
3.在实现本发明过程中,发明人发现相关技术中至少存在如下问题:
4.现有技术基于机器学习来实现,该方法完全基于数据驱动,可定制性差,指代词语义槽填充的目标槽位必须在训练数据中出现过才有可能被正确预测。如果要新增一个槽位的指代词解析,需要重新收集对话数据,带人工标注的完整的对话数据难以获得,特别是对话数据往往包含很多轮次的人机交互数据获取成本非常高,对于新语义槽的定制性和便携性较差。


技术实现要素:

5.为了至少解决现有技术中对于新增槽位的指代词解析,严重依赖于带人工标注的完整的对话数据,数据获取成本高。第一方面,本发明实施例提供一种指代词语义槽填充方法,包括:
6.对当前轮次对话语句中的指代词进行语义槽中间信息解析,预测所述指代词的候选槽位,其中,所述语义槽中间信息包括:所述指代词在所述前轮次对话语句中对应的至少一个可选语义槽;
7.利用先验知识库和所述当前轮次对话语句的历史对话状态,从所述候选槽位中确定出的语义槽/值对,对所述当前轮次对话语句中的指代词填充。
8.第二方面,本发明实施例提供一种指代词语义槽填充系统,包括:
9.语义槽中间信息解析程序模块,用于对当前轮次对话语句中的指代词进行语义槽中间信息解析,预测所述指代词的候选槽位,其中,所述语义槽中间信息包括:所述指代词在所述前轮次对话语句中对应的至少一个可选语义槽;
10.语义槽/值对确定程序模块,用于利用先验知识库和所述当前轮次对话语句的历史对话状态,从所述候选槽位中确定出的语义槽/值对,对所述当前轮次对话语句中的指代词填充。
11.第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处
理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的指代词语义槽填充方法的步骤。
12.第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现本发明任一实施例的指代词语义槽填充方法的步骤。
13.本发明实施例的有益效果在于:指代词的语义槽中间信息表示了指代词可能代表的所有候选语义槽,将对话历史信息和当前句子的指代信息解耦合。仅需要当前轮句子即可完成语义槽中间信息的解析。同时,结合历史对话状态和先验知识库的指代词语义槽/值定位,利用了无参数的词袋余弦距离度量和固定参数的bert文本对相似度模型评估对话状态中各个槽值被候选槽位指代的置信度,完成了指代候选槽位的验证和取值,避免了在指代词语义槽填充步骤中对完整对话数据的依赖。
附图说明
14.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
15.图1是本发明一实施例提供的一种指代词语义槽填充方法的流程图;
16.图2是本发明一实施例提供的一种指代词语义槽填充方法的整体结构流程图;
17.图3是本发明一实施例提供的一种指代词语义槽填充系统的结构示意图;
18.图4为本发明一实施例提供的一种指代词语义槽填充的电子设备的实施例的结构示意图。
具体实施方式
19.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.如图1所示为本发明一实施例提供的一种指代词语义槽填充方法的流程图,包括如下步骤:
21.s11:对当前轮次对话语句中的指代词进行语义槽中间信息解析,预测所述指代词的候选槽位,其中,所述语义槽中间信息包括:所述指代词在所述前轮次对话语句中对应的至少一个可选语义槽;
22.s12:利用先验知识库和所述当前轮次对话语句的历史对话状态,从所述候选槽位中确定出的语义槽/值对,对所述当前轮次对话语句中的指代词填充。
23.在本实施方式中,考虑到指代词语义槽填充问题,语义槽填充是任务型对话系统中的语义理解的一个重要子任务,是从用户当前说的话中提取出语义槽-值(也就是语义槽和所述语义槽对应的槽值,可表示为语义槽/值对)的过程。语义槽-值可以认为是一种属性-值,比如天气查询领域中用户说“苏州的天气怎么样”可以提取出语义槽-值“城市=苏
州”。而指代词的语义槽填充则是指当前句子中包含的指代词的语义槽-值解析,需要结合上下文才能判明指代词对应的语义槽-值。比如对话前文是“我要去苏州”,当前句子是“那里的天气怎么样”,其中“那里”其实对应的语义槽-值就是“城市=苏州”。
24.考虑到基于先验知识库的指代词语义槽填充的情况,基于机器学习的端到端的对话状态跟踪可以通过对很长的历史句子进行编码,从而对当前句子中的指代词进行语义槽填充。但是该方法严重依赖于带人工标注的对话数据,对于新语义槽的定制性和便携性都不太好。特别是对话数据往往包含很多轮次的人机交互,数据获取成本非常高。
25.从解决上述问题的角度出发,希望打破指代词语义槽填充对完整对话数据的依赖,希望将任务型对话中的指代词语义槽填充分解成如下两个步骤:(1)当前轮句子的指代词语义槽中间信息解析;(2)结合历史对话状态和先验知识库的指代词语义槽-值定位。第一步的指代词语义槽中间信息解析仅需要利用当前句子作为输入,而第二步的指代词语义槽-值定位是固定参数的相似度模型,不需要收集额外的对话数据用于参数训练。因此,本方法摆脱了对多轮对话数据的依赖,整体流程如图2所示。
26.对于步骤s11,在与用户的语音交互过程中,累积了一定轮次的历史对话数据,但对于当前轮次对话的解析,只将用户说的当前轮次说的语句进行中间信息解析,即预测当前指代词的候选槽位。例如,“那里的天气怎么样”属于天气查询领域,此时“那里的天气怎么样”中“那里”指代的槽位可以是“poi(point of interest,兴趣)地点”、“区县”、“城市”、“省份”等,对应的语义槽的中间信息解析的目标是“指代槽位=poi地点|区县|城市|省份”。
27.定义语义槽的中间信息的格式是“指代槽位=z1|z2|...|z
m”,表示指代词对应的所有的可能的槽位名称(即z1,z2,...,zm),并把它们用“|”符号连接起来。
28.上述语义槽中间信息解析的过程可利用基于bert(bidirectional encoder representations from transformer,基于transformer的双向编码器表示)的文本分类模型构建从当前句子到指代词语义槽中间信息的映射过程。
29.对于步骤s12,根据步骤s11中确定出的所有可能的指代词的候选槽位,这步需要验证每个候选槽位的值是否在历史信息中出现过并定位被指代的值。
30.历史对话状态存放的是对话历史中语义槽-值的累积,即包括对话历史中所有出现过的语义槽和它的值。例如,对话如下:
31.第一轮:江苏的哪些城市?
32.第二轮:苏州距离我们这里多少公里?
33.第三轮(当前轮):那里的天气怎么样?
34.历史对话为第一轮、第二轮,其中,语义槽和对应的值为:“城市=苏州”、“省份=江苏”。
35.针对每一个指代的候选槽位(zm),依次将对话状态中的每个语义槽和它的值(si=vi)进行验证,判断vi是否是zm指代的值。对话状态信息中还有除语义槽之外的其他状态信息(比如用户定位信息、人机交互的设备信息等等),也可以作为指代候选槽位的取值目标。
36.作为一种实施方式,指代词语义槽-值填充包括:
37.利用所述先验知识库构建所述候选槽位中每个语义槽的取值库;
38.通过所述每个语义槽的取值库对所述历史对话状态中记录的所有历史对话的语
义槽/值对进行验证,得到符合所述指代词的语义槽/值对;
39.将所述符合所述指代词的语义槽/值对,对所述当前轮次对话语句中的指代词填充。
40.当所述语义槽的取值库的取值范围可枚举时,查询所述历史对话状态中记录的所有历史对话的语义槽/值对的槽值是否在所述取值库中;
41.若存在一条历史对话的语义槽/值对的槽值是否在所述取值库中,将所述历史对话状态中记录的语义槽/值对作为所述指代词的语义槽/值对。
42.若存在多条历史对话的语义槽/值对的槽值是否在所述取值库中时,所述方法包括:
43.选择与当前轮次对话语句时间戳最近的历史对话的语义槽/值对作为所述指代词的候选语义槽/值对。
44.在本实施方式中,可以利用先验知识库判断vi是否是zm指代的值。首先,在先验知识库中构建每个槽位的取值库,比如“城市”槽位的取值库是所有的城市名称列表。
45.如果zm的取值范围是完全可以枚举完的,可以通过查表法检查vi是否在zm的取值库(d(zm))中出现过,如果出现过则表示vi可以是zm指代的值。
46.作为一种实施方式,当所述语义槽的取值库的取值范围不可枚举时,确定所述历史对话状态中记录的所有历史对话的语义槽/值对中的槽值与所述取值库的取值相似度;
47.选择最大取值相似度对应的历史对话的语义槽/值对作为所述指代词的候选语义槽/值对。
48.如果zm的取值范围是不可枚举完的(比如时间、日期、地址名等等),计算vi和zm取值库的相似度得分来作为vi符合zm取值的置信度(c(vi,zm)),如果置信度大于阈值,则表示vi可以是zm指代的值。
49.具体的,置信度(c(vi,zm))的计算公式是:
[0050][0051]
其中uj∈d
(zm)
是zm的取值库中的第j个取值,cosine(vi,uj)是vi和uj的词袋向量的余弦距离值,bert(vi,uj)则是vi和uj的基于bert的相似度得分。置信度c(vi,zm)则是遍历zm取值库中所有取值的最高得分。
[0052]
如果对话状态中有多个语义槽的值(比如vi和vk)都可以作为zm的指代值,那么选取距离当前轮次对话语句最近的一个。距离衡量是语义槽值在对话中出现的时间戳决定的,即对话状态会记录每个槽值出现的对话轮次和在对话句子中的位置信息。时间戳距离当前轮句子最近的作为最终zm的指代值。
[0053]
同样,如果多个指代槽位候选(比如zm和zn)都能找到指代值,依然选择槽值时间戳最近的一个作为指代词的语义槽填充结果。
[0054]
还是以上述多轮对话为例:
[0055]
第一轮:江苏的哪些城市?
[0056]
第二轮:苏州距离我们这里多少公里?
[0057]
第三轮(当前轮):那里的天气怎么样?
[0058]
当前句子“那里”对应指代后续槽位“指代槽位=poi地点|区县|城市|省份”,其中“城市”和“省份”可以找到指代值“城市=苏州”、“省份=江苏”。但“苏州”的时间戳距离当
前句子更近,故最终选的“那里”指代的槽位是“城市=苏州”。最终得到“苏州哪里的天气怎么样?”[0059]
作为一种实施方式,所述对当前轮次对话语句中的指代词进行语义槽中间信息解析包括:
[0060]
若当前轮次对话语句中存在多个指代词时,所述语义槽中间信息包括:所述多个指代词在所述前轮次对话语句中各自对应的至少一个可选语义槽。
[0061]
在本实施方式中,上述流程最终指代词的语义槽最多只有一个。但本方法也可以简单变换,支持当前句子中指代多个语义槽的情况。比如以下对话中:
[0062]
第一轮:三天后苏州的天气怎么样?
[0063]
第二轮:那到时候从上海去那里的火车票帮我预订一张。
[0064]
其中“到时候”指代“日期=三天后”,“那里”指代“到达城市=苏州”。
[0065]
为了表示当前句子可以同时存在多个指代语义槽,定义另外一种指代槽位中间信息的格式为“指代槽位=a1&a2&...&a
m”,表示句子中多个指代词对应的候选槽位名称(即a1,a2,...,am),并把它们用“&”符号连接起来。例如,对话“那到时候从上海去那里的火车票帮我预订一张”中,指代槽位的中间信息为“指代槽位=日期&到达城市”。
[0066]
进一步可以结合“|”、“&”两种符号设计更复杂的中间信息格式,即:
[0067]
a1=z1|z2|...|z
n1
[0068]
指代槽位=a1&a2&...&am[0069]
表示当前句子有m个有效指代词,每个指代词对应最多n1个指代槽位候选。比如“那到时候从上海去那里的火车票帮我预订一张”的指代槽位的中间信息可以是“指代槽位=(日期|时间)&(到达城市|到达火车站)”。最终,得出“到三天后从上海去苏州火车站的火车票帮我预订一张”[0070]
通过该实施方式可以看出,指代词的语义槽中间信息表示了指代词可能代表的所有候选语义槽,将对话历史信息和当前句子的指代信息解耦合。仅需要当前轮句子即可完成语义槽中间信息的解析。同时,结合历史对话状态和先验知识库的指代词语义槽/值定位,利用了无参数的词袋余弦距离度量和固定参数的bert文本对相似度模型评估对话状态中各个槽值被候选槽位指代的置信度,完成了指代候选槽位的验证和取值,避免了指代词语义槽填充对完整对话数据的依赖。
[0071]
如图3所示为本发明一实施例提供的一种指代词语义槽填充系统的结构示意图,该系统可执行上述任意实施例所述的指代词语义槽填充方法,并配置在终端中。
[0072]
本实施例提供的一种指代词语义槽填充系统10包括:语义槽中间信息解析程序模块11和语义槽/值对确定程序模块12。
[0073]
其中,语义槽中间信息解析程序模块11用于对当前轮次对话语句中的指代词进行语义槽中间信息解析,预测所述指代词的候选槽位,其中,所述语义槽中间信息包括:所述指代词在所述前轮次对话语句中对应的至少一个可选语义槽;语义槽/值对确定程序模块12用于利用先验知识库和所述当前轮次对话语句的历史对话状态,从所述候选槽位中确定出的语义槽/值对,对所述当前轮次对话语句中的指代词填充。
[0074]
本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的指代词语义槽填充
方法;
[0075]
作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
[0076]
对当前轮次对话语句中的指代词进行语义槽中间信息解析,预测所述指代词的候选槽位,其中,所述语义槽中间信息包括:所述指代词在所述前轮次对话语句中对应的至少一个可选语义槽;
[0077]
利用先验知识库和所述当前轮次对话语句的历史对话状态,从所述候选槽位中确定出的语义槽/值对,对所述当前轮次对话语句中的指代词填充。
[0078]
作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的方法对应的程序指令/模块。一个或者多个程序指令存储在非易失性计算机可读存储介质中,当被处理器执行时,执行上述任意方法实施例中的指代词语义槽填充方法。
[0079]
图4是本技术另一实施例提供的指代词语义槽填充方法的电子设备的硬件结构示意图,如图4所示,该设备包括:
[0080]
一个或多个处理器410以及存储器420,图4中以一个处理器410为例。指代词语义槽填充方法的设备还可以包括:输入装置430和输出装置440。
[0081]
处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图4中以通过总线连接为例。
[0082]
存储器420作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本技术实施例中的指代词语义槽填充方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例指代词语义槽填充方法。
[0083]
存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至移动装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0084]
输入装置430可接收输入的数字或字符信息。输出装置440可包括显示屏等显示设备。
[0085]
所述一个或者多个模块存储在所述存储器420中,当被所述一个或者多个处理器410执行时,执行上述任意方法实施例中的指代词语义槽填充方法。
[0086]
上述产品可执行本技术实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本技术实施例所提供的方法。
[0087]
非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存
储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0088]
本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的指代词语义槽填充方法的步骤。
[0089]
本技术实施例的电子设备以多种形式存在,包括但不限于:
[0090]
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机、多媒体手机、功能性手机,以及低端手机等。
[0091]
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如平板电脑。
[0092]
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器,掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
[0093]
(4)其他具有数据处理功能的电子装置。
[0094]
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0095]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0096]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0097]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献