多轮对话方法及装置、电子设备和存储介质与流程

专利2022-06-29  73


本申请涉及电子技术领域,尤其涉及一种多轮对话方法及装置、电子设备和存储介质。



背景技术:

智能对话是体现人工智能的重要领域,为了减少人工客服的成本耗费,以及体现金融科技的综合实力,当前各大金融公司都在智能客服开发领域投入了巨大的人力物力。目前智能对话的实现方式为,系统将用户问题与归纳的常问问题进行对比,找出最相似的常问问题,从而根据最相似的常问问题的答案回答用户。这种单纯根据用户当前输入问题的语句进行回复的方式,回复准确性较低。



技术实现要素:

本申请实施例提供一种多轮对话方法及装置、电子设备和存储介质,用于提高智能对话中系统的回复准确性。

第一方面,本申请实施例提供一种多轮对话方法,应用于电子设备,所述方法包括:

获取多轮对话中第i轮对话的用户输入语句x和第i-1轮对话的系统预测动作a-1,所述用户输入语句x为所述用户针对所述系统预测动作a-1作出的回复语句,所述系统预测动作a-1为根据所述第i-1轮对话的用户输入语句x-1执行的动作;

基于所述系统预测动作a-1确定所述第i轮对话的多个槽位值对v;

基于所述用户输入语句x和所述多个槽位值对v确定多个第一语义相关性,以及基于所述用户输入语句x和所述系统预测动作a-1确定第二语义相关性,所述多个第一语义相关性与所述多个槽位值对v一一对应;

基于所述多个第一语义相关性和所述第二语义相关性确定所述第i轮对话的系统预测动作a,以及基于所述系统预测动作a进行第i 1轮对话。

第二方面,本申请实施例提供一种多轮对话装置,应用于电子设备,所述装置包括:

获取单元,用于获取多轮对话中第i轮对话的用户输入语句x和第i-1轮对话的系统预测动作a-1,所述用户输入语句x为所述用户针对所述系统预测动作a-1作出的回复语句,所述系统预测动作a-1为根据所述第i-1轮对话的用户输入语句x-1执行的动作;

确定单元,用于基于所述系统预测动作a-1确定所述第i轮对话的多个槽位值对v;基于所述用户输入语句x和所述多个槽位值对v确定多个第一语义相关性,以及基于所述用户输入语句x和所述系统预测动作a-1确定第二语义相关性,所述多个第一语义相关性与所述多个槽位值对v一一对应;基于所述多个第一语义相关性和所述第二语义相关性确定所述第i轮对话的系统预测动作a;

对话单元,用于基于所述系统预测动作a进行第i 1轮对话。

第三方面,本申请实施例提供一种电子设备,该电子设备包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤的指令。

第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质用于存储计算机程序,其中,上述计算机程序被处理器执行,以实现如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。

可以看出,在本申请实施例中,电子设备,获取多轮对话中第i轮对话的用户输入语句x和第i-1轮对话的系统预测动作a-1;基于系统预测动作a-1确定第i轮对话的多个槽位值对v;基于用户输入语句x和多个槽位值对v确定多个第一语义相关性,以及基于用户输入语句x和系统预测动作a-1确定第二语义相关性;基于多个第一语义相关性和第二语义相关性确定第i轮对话的系统预测动作a,以及基于系统预测动作a进行第i 1轮对话,通过考虑本轮对话的用户输入语句与上一轮对话的系统预测动作,确定本轮的系统预测动作以及基于本轮的系统预测动作与用户进行对话,有利于提高智能对话中系统的回复准确性。

本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本申请实施例提供的一种多轮对话系统的结构框架图;

图1b是本申请实施例提供的一种电子设备的结构示意图;

图2是本申请实施例提供的一种多轮对话方法的流程示意图;

图3是本申请实施例提供的一种多轮对话方法的流程示意图;

图4是本申请实施例提供的一种电子设备的结构示意图;

图5是本申请实施例提供的一种多轮对话装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

以下分别进行详细说明。

本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。

请参阅图1a,图1a是本申请实施例提供的一种多轮对话系统的结构框架图。多轮对话是一种,在人机对话中,初步明确用户意图之后,获取必要信息以最终得到明确用户指令的方式。多轮对话与一件事情的处理相对应。它一般由四个模块组成:自动语音识别(automaticspeechrecognition)、自然语言理解模块(naturallanguageunderstanding,nlu)、对话状态跟踪模块(dialogstatetracking,dst)、对话策略模块(dialogpolicy,dp)、自然语言生成模块(naturallanguagegeneration,nlg)和语音合成(texttospeech,tts),其中dst和dp合称为对话管理模块。在和用户的每轮交互过程中,对话系统利用nlu将用户的语句解析成为机器可理解的语义标签,并通过dst维护一个内部的对话状态作为整个对话历史的紧凑表示,根据此状态使用dp选择合适的对话动作,最后通过nlg将对话动作转成自然语言回复。

请参阅图1b,图1b是本申请实施例提供的一种电子设备的结构示意图。该电子设备运行上述多轮对话系统,该电子设备包括处理器、存储器、信号处理器、收发器、显示屏、扬声器、麦克风、随机存取存储器(randomaccessmemory,ram)、摄像头和传感器等等。其中,存储器、信号处理器、显示屏、扬声器、麦克风、ram、摄像头、传感器与处理器连接,收发器与信号处理器连接。

其中,显示屏可以是液晶显示器(liquidcrystaldisplay,lcd)、有机或无机发光二极管(organiclight-emittingdiode,oled)、有源矩阵有机发光二极体面板(activematrix/organiclightemittingdiode,amoled)等。

其中,该摄像头可以是普通摄像头、也可以是红外摄像,在此不作限定。该摄像头可以是前置摄像头或后置摄像头,在此不作限定。

其中,传感器包括以下至少一种:光感传感器、陀螺仪、红外接近传感器、指纹传感器、压力传感器等等。其中,光感传感器,也称为环境光传感器,用于检测环境光亮度。光线传感器可以包括光敏元件和模数转换器。其中,光敏元件用于将采集的光信号转换为电信号,模数转换器用于将上述电信号转换为数字信号。可选的,光线传感器还可以包括信号放大器,信号放大器可以将光敏元件转换的电信号进行放大后输出至模数转换器。上述光敏元件可以包括光电二极管、光电三极管、光敏电阻、硅光电池中的至少一种。

其中,处理器是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器内的软体程序和/或模块,以及调用存储在存储器内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。

其中,处理器可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器中。

其中,存储器用于存储软体程序和/或模块,处理器通过运行存储在存储器的软件程序和/或模块,从而执行电子设备的各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的软体程序等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

电子设备可以包括各种具有无线通信功能的服务器、手持设备、车载设备、可穿戴设备(例如智能手表、智能手环、计步器等)、计算设备或通信连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(userequipment,ue),移动台(mobilestation,ms),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为电子设备。

下面对本申请实施例进行详细介绍。

请参阅图2,图2是本申请实施例提供的一种多轮对话方法的流程示意图,应用于电子设备,所述方法包括:

步骤201:获取多轮对话中第i轮对话的用户输入语句x和第i-1轮对话的系统预测动作a-1,所述用户输入语句x为所述用户针对所述系统预测动作a-1作出的回复语句,所述系统预测动作a-1为根据所述第i-1轮对话的用户输入语x-1后执行的动作。

其中,用户输入语句可以是语音,也可以是文本。例如,用户进行出险报案时,系统需要获取用户的身份证号码、出险地点以及购买渠道,才能受理报案。若第i轮对话的用户输入语句x为“我的身份证号码为xxxxx”,则系统第i-1轮对话的系统预测动作a-1为“提供(身份证号码)”;若第i轮对话的用户输入语句x为“我在4s店买的保险”,则系统第i-1轮对话的系统预测动作a-1为“询问(渠道)”。

步骤202:基于所述系统预测动作a-1确定所述第i轮对话的多个槽位值对v。

在本申请的一实现方式中,所述基于所述系统预测动作a-1确定所述第i轮对话的多个槽位值对v,包括:

确定所述系统预测动作a-1中包括的槽位,以及确定所述槽位对应的多个槽位值;

基于所述槽位和所述多个槽位值确定所述第i轮对话的多个槽位值对v,每个槽位值对v包括所述槽位和一个槽位值。

其中,槽位值对由槽位与槽位值组成,一个槽位值对包括一个槽位和一个槽位值。槽位是多轮对话过程中将初步用户意图转化为明确用户指令所需要补全的信息。一个槽位与一件事情的处理中所需要获取的一种信息相对应。槽位的设定需要根据具体的任务场景进行设定。例如,用户进行出险报案时,系统需要获取用户的身份证号码、出险地点以及购买渠道,才能受理报案。上述身份证号码、出险地点以及购买渠道则为本轮对话系统需要记录的槽位。对于一个槽位,候选的槽位值包括多个。例如渠道这个槽位,候选的槽位值有“车商”、“创展”、“团体”和“未提及”这四个。

举例说明,第i轮对话的用户输入语句x为“我在4s店买的保险”,则系统第i-1轮对话的系统预测动作a-1为“询问(渠道)”。基于系统预测动作a-1“询问(渠道)”确定槽位为“渠道”,确定4个槽位值“车商”、“创展”、“团体”“未提及”,则4个槽位值对v为“渠道=车商”、“渠道=创展”、“渠道=团体”和“渠道=未提及”。

步骤203:基于所述用户输入语句x和所述多个槽位值对v确定多个第一语义相关性,以及基于所述用户输入语句x和所述系统预测动作a-1确定第二语义相关性,所述多个第一语义相关性与所述多个槽位值对v一一对应。

其中,第一语义相关性和第二语义相关性的取值范围为0~1,1表示用户输入语句x和槽位值对v最相关,或者用户输入语句x和系统预测动作a-1最相关;0表示用户输入语句x和槽位值对v最不相关,或者用户输入语句x和系统预测动作a-1最不相关;槽位值对v为所述多个槽位值对v中的其中一个。

步骤204:基于所述多个第一语义相关性和所述第二语义相关性确定所述第i轮对话的系统预测动作a,以及基于所述系统预测动作a进行第i 1轮对话。

举例说明,假设本轮对话中用户输入语句为“我在4s店买的保险”,上一轮对话中系统预测动作为“获取(渠道)”,4个槽位值对v为“渠道=车商”、“渠道=创展”、“渠道=团体”和“渠道=未提及”,4个槽位值对对应的多个第一语义相关性为0.7、0.1、0.1、0.1,用户输入语句x和系统预测动作a-1的第二语义相关性为0.8,那么第一语义相关性和第二语义相关性确定槽位值对为“渠道=车商”,故系统预测动作a为无,不会输出语句,结束对话;若基于第一语义相关性和第二语义相关性确定槽位值对为“渠道=未提及”,那么系统预测动作a则为“提供(渠道)”,系统继续输出询问渠道的语句,直到能够确定槽位值为车商、创展、团体中的一个为止。

可以看出,在本申请实施例中,电子设备,获取多轮对话中第i轮对话的用户输入语句x和第i-1轮对话的系统预测动作a-1;基于系统预测动作a-1确定第i轮对话的多个槽位值对v;基于用户输入语句x和多个槽位值对v确定多个第一语义相关性,以及基于用户输入语句x和系统预测动作a-1确定第二语义相关性;基于多个第一语义相关性和第二语义相关性确定第i轮对话的系统预测动作a,以及基于系统预测动作a进行第i 1轮对话,通过考虑本轮对话的用户输入语句与上一轮对话的系统预测动作,确定本轮的系统预测动作以及基于本轮的系统预测动作与用户进行对话,有利于提高智能对话中系统的回复准确性。

在本申请的一实现方式中,所述基于所述用户输入语句x和所述多个槽位值对v确定多个第一语义相关性,以及基于所述用户输入语句x和所述系统预测动作a-1确定第二语义相关性,包括:

对所述用户输入语句x进行编码,得到第一句子向量和第一编码向量;对所述系统预测动作a-1进行编码,得到第二编码向量;对所述多个槽位值对v进行编码,得到多个第三编码向量;

确定所述第一句子向量与所述多个第三编码向量的多个第一语义相关性,以及确定所述第一编码向量与所述第二编码向量的第二语义相关性,所述多个第一语义相关性与所述多个第三编码向量一一对应。

在本申请的一实现方式中,所述对所述用户输入语句x进行编码,得到第一句子向量和第一编码向量,包括:

对所述用户输入语句x进行分词处理,得到多个第一关键词;

对所述多个第一关键词进行向量化,得到多个第一词向量;

对所述多个第一词向量分别进行局部bilstm编码和全局bilstm编码,得到多个第一局部句子向量和多个第一全局句子向量;

基于所述多个第一局部句子向量确定第一向量,以及基于所述多个第一全局句子向量确定第二向量;

基于所述第一向量和所述第二向量确定第一句子向量;

对所述第一句子向量分别进行局部自注意力机制和全局自注意力机制处理,得到第一注意力向量和第二注意力向量;

对所述第一注意力向量和所述第二注意力向量进行门控混合处理,得到第一编码向量。

进一步地,所述对所述用户输入语句x进行分词处理,得到多个第一关键词,包括:删除所述用户输入语句x中的停用词,和/或删除所述用户输入语句x中的目标语句构成成分,得到多个第一关键词。

其中,停用词是对语句无意义的词,比如“啊”、“哦”、“嗯”、“了”、“么”、“的”等词。示例性的,目标问题语句为“明天的天气怎么样啊。”,则去除停用词后的语句为“明天天气怎么样”。

其中,目标语句构成成分包括以下至少一种:主语、谓语、宾语、定语、状语、补足语、中心语、动语。

举例说明,将用户输入语句x中的主语去除,从而获得去除主语后的用户输入语句。用户输入语句中的主语,例如可以为“他”、“她”、“它”、“他们”、“我”、“你”等词。示例性的,用户输入语句为“给我推荐一个合适的书包”,则去除主语后的语句为“给推荐一个合适的书包”。

进一步地,所述基于所述第一向量和所述第二向量确定第一句子向量,包括:基于第一公式、所述第一向量和所述第二向量确定第一句子向量,所述第一公式为:

hutt=βshs (1-βs)hg

所述hutt为第一句子向量,所述hs为第一向量,所述hg为第二向量,所述βs为预设第一参数。

进一步地,所述对所述第一注意力向量和所述第二注意力向量进行门控混合处理,得到第一编码向量,包括:基于第二公式对所述第一注意力向量和所述第二注意力向量进行门控混合处理,得到第一编码向量,所述第二公式为:

cutt=βscs (1-βs)cg

所述cutt为第一编码向量,所述cs为第一注意力向量,所述cg为第二注意力向量。

需要说明的是,对所述系统预测动作a-1进行编码,得到第二编码向量cact的具体实现方式;以及,对所述多个槽位值对v进行编码,得到多个第三编码向量cval的具体实现方式与上述对所述用户输入语句x进行编码,得到第一编码向量cutt的具体实现方式相同,在此不再做具体的阐述。

还需要说明的是,上述第一公式和第二公式是本申请实施例提供的一种实现方式,还可以有其他公式的实现方式,在此不再详细举例说明。

在本申请的一实现方式中,所述确定所述第一句子向量与所述多个第三编码向量的多个第一语义相关性,包括:

基于所述第一句子向量与所述多个第三编码向量确定多个第一矩阵,所述多个第一矩阵与所述多个第三编码向量一一对应;

将所述多个第一矩阵转化为多个第二矩阵,所述多个第二矩阵的矩阵元的取值为0到1,所述多个第二矩阵与所述多个第一矩阵一一对应;

基于所述多个第二矩阵确定多个第一语义相关性,所述多个第一语义相关性与所述多个第二矩阵一一对应。

进一步地,所述基于所述第一句子向量与所述多个第三编码向量确定多个第一矩阵,包括:基于第三公式、所述第一句子向量与所述多个第三编码向量确定多个第一矩阵,所述第三公式为:

autt=(hutt)tcval

所述autt为第一矩阵。

进一步地,所述将所述多个第一矩阵转化为多个第二矩阵,包括:基于第四公式将所述多个第一矩阵转化为多个第二矩阵,所述第四公式为:

putt=softmax(autt),

所述putt为第二矩阵。

进一步地,所述基于所述多个第二矩阵确定多个第一语义相关性,包括:基于第五公式、第六公式和所述多个第二矩阵确定多个第一语义相关性,所述第五公式和第六公式分别为:

qutt=∑putthutt

yutt=wqutt b,

其中,所述yutt为第一语义相关性,所述w为预设第二参数,所述b为预设第三参数。

还需要说明的是,上述第三公式、第四公式、第五公式、第六公式、第一矩阵和第二矩阵是本申请实施例提供的一种实现方式,还可以有其他公式和矩阵的实现方式,在此不再详细举例说明。

在本申请的一实现方式中,所述确定所述第一编码向量与所述第二编码向量的第二语义相关性,包括:

基于所述第一编码向量与所述第二编码向量确定第三矩阵;

将所述第三矩阵转化为第四矩阵,所述第四矩阵的矩阵元的取值为0到1;

基于所述第四矩阵确定第二语义相关性。

进一步地,所述基于所述第一编码向量与所述第二编码向量确定第三矩阵,包括基于第七公式、所述第一编码向量与所述第二编码向量确定第三矩阵,所述第七公式为:

aact=(cact)tcutt

所述aact为第三矩阵。

进一步地,所述将所述第三矩阵转化为第四矩阵,包括:基于第八公式将所述第三矩阵转化为第四矩阵,所述第八公式为:

pact=softmax(aact),

所述pact为第四矩阵。

进一步地,所述基于所述第四矩阵确定第二语义相关性,包括:基于第九公式、第十公式和所述第四矩阵确定第二语义相关性,所述第九公式和所述第十公式分别为:

qact=∑pactcact

yact=(qact)tcval

其中,所述yact为第二语义相关性。

还需要说明的是,上述第三矩阵、第四矩阵、第七公式、第八公式、第九公式和第十公式是本申请实施例提供的一种实现方式,还可以有其他公式的实现方式,在此不再详细举例说明。

在本申请的一实现方式中,所述基于所述多个第一语义相关性和所述第二语义相关性确定所述第i轮对话的系统预测动作a,包括:

基于所述多个第一语义相关性和所述第二语义相关性确定多个第三语义相关性,所述多个第三语义相关性与所述多个第一语义相关性一一对应;

从所述多个第三语义相关性中确定第四语义相关性;

基于所述第四语义相关性关联的槽位值对v确定所述第i轮对话的系统预测动作a,所述槽位值对v为所述多个槽位值对v中的其中一个。

进一步地,所述基于所述多个第一语义相关性和所述第二语义相关性确定多个第三语义相关性,包括:

确定第一权重和第二权重,所述第一权重用于表示第一语义相关性在计算第三语义相关性所占的权重,所述第二权重用于表示第二语义相关性在计算第三语义相关性所占的权重;

基于所述第一权重、所述第二权重、所述多个第一语义相关性和所述第二语义相关性确定多个第三语义相关性。

其中,所述第四语义相关性例如可以为所述多个第三语义相关性中取值最大的。

与所述图2所示的实施例一致的,请参阅图3,图3是本申请实施例提供的一种多轮对话方法的流程示意图,所述方法包括:

步骤301:获取多轮对话中第i轮对话的用户输入语句x和第i-1轮对话的系统预测动作a-1,所述用户输入语句x为所述用户针对所述系统预测动作a-1作出的回复语句,所述系统预测动作a-1为根据所述第i-1轮对话的用户输入语句x-1执行的动作。

步骤302:确定所述系统预测动作a-1中包括的槽位,以及确定所述槽位对应的多个槽位值。

步骤303:基于所述槽位和所述多个槽位值确定所述第i轮对话的多个槽位值对v,每个槽位值对v包括所述槽位和一个槽位值。

步骤304:对所述用户输入语句x进行分词处理,得到多个第一关键词。

步骤305:对所述多个第一关键词进行向量化,得到多个第一词向量。

步骤306:对所述多个第一词向量分别进行局部bilstm编码和全局bilstm编码,得到多个第一局部句子向量和多个第一全局句子向量。

步骤307:基于所述多个第一局部句子向量确定第一向量,以及基于所述多个第一全局句子向量确定第二向量。

步骤308:基于所述第一向量和所述第二向量确定第一句子向量。

步骤309:对所述第一句子向量分别进行局部自注意力机制和全局自注意力机制处理,得到第一注意力向量和第二注意力向量。

步骤310:对所述第一注意力向量和所述第二注意力向量进行门控混合处理,得到第一编码向量。

步骤311:对所述系统预测动作a-1进行编码,得到第二编码向量。

步骤312:对所述多个槽位值对v进行编码,得到多个第三编码向量。

步骤313:基于所述第一句子向量与所述多个第三编码向量确定多个第一矩阵,所述多个第一矩阵与所述多个第三编码向量一一对应。

步骤314:将所述多个第一矩阵转化为多个第二矩阵,所述多个第二矩阵的矩阵元的取值为0到1,所述多个第二矩阵与所述多个第一矩阵一一对应。

步骤315:基于所述多个第二矩阵确定多个第一语义相关性,所述多个第一语义相关性与所述多个第二矩阵一一对应。

步骤316:基于所述第一编码向量与所述第二编码向量确定第三矩阵。

步骤317:将所述第三矩阵转化为第四矩阵,所述第四矩阵的矩阵元的取值为0到1。

步骤318:基于所述第四矩阵确定第二语义相关性,所述多个第一语义相关性与所述多个第三编码向量一一对应,所述多个第一语义相关性与所述多个槽位值对v一一对应。

步骤319:基于所述多个第一语义相关性和所述第二语义相关性确定多个第三语义相关性,所述多个第三语义相关性与所述多个第一语义相关性一一对应。

步骤320:从所述多个第三语义相关性中确定第四语义相关性。

步骤321:基于所述第四语义相关性关联的槽位值对v确定所述第i轮对话的系统预测动作a,所述槽位值对v为所述多个槽位值对v中的其中一个。

步骤322:基于所述系统预测动作a进行第i 1轮对话。

需要说明的是,本实施例的具体实现过程可参见上述方法实施例所述的具体实现过程,在此不再叙述。

与上述图2和图3所示的实施例一致的,请参阅图4,图4是本申请实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:

获取多轮对话中第i轮对话的用户输入语句x和第i-1轮对话的系统预测动作a-1,所述用户输入语句x为所述用户针对所述系统预测动作a-1作出的回复语句,所述系统预测动作a-1为根据所述第i-1轮对话的用户输入语句x-1执行的动作;

基于所述系统预测动作a-1确定所述第i轮对话的多个槽位值对v;

基于所述用户输入语句x和所述多个槽位值对v确定多个第一语义相关性,以及基于所述用户输入语句x和所述系统预测动作a-1确定第二语义相关性,所述多个第一语义相关性与所述多个槽位值对v一一对应;

基于所述多个第一语义相关性和所述第二语义相关性确定所述第i轮对话的系统预测动作a,以及基于所述系统预测动作a进行第i 1轮对话。

在本申请的一实现方式中,在基于所述系统预测动作a-1确定所述第i轮对话的多个槽位值对v方面,上述程序包括具体用于执行以下步骤的指令:

确定所述系统预测动作a-1中包括的槽位,以及确定所述槽位对应的多个槽位值;

基于所述槽位和所述多个槽位值确定所述第i轮对话的多个槽位值对v,每个槽位值对v包括所述槽位和一个槽位值。

在本申请的一实现方式中,在基于所述用户输入语句x和所述多个槽位值对v确定多个第一语义相关性,以及基于所述用户输入语句x和所述系统预测动作a-1确定第二语义相关性方面,上述程序包括具体用于执行以下步骤的指令:

对所述用户输入语句x进行编码,得到第一句子向量和第一编码向量;对所述系统预测动作a-1进行编码,得到第二编码向量;对所述多个槽位值对v进行编码,得到多个第三编码向量;

确定所述第一句子向量与所述多个第三编码向量的多个第一语义相关性,以及确定所述第一编码向量与所述第二编码向量的第二语义相关性,所述多个第一语义相关性与所述多个第三编码向量一一对应。

在本申请的一实现方式中,在对所述用户输入语句x进行编码,得到第一句子向量和第一编码向量方面,上述程序包括具体用于执行以下步骤的指令:

对所述用户输入语句x进行分词处理,得到多个第一关键词;

对所述多个第一关键词进行向量化,得到多个第一词向量;

对所述多个第一词向量分别进行局部bilstm编码和全局bilstm编码,得到多个第一局部句子向量和多个第一全局句子向量;

基于所述多个第一局部句子向量确定第一向量,以及基于所述多个第一全局句子向量确定第二向量;

基于所述第一向量和所述第二向量确定第一句子向量;

对所述第一句子向量分别进行局部自注意力机制和全局自注意力机制处理,得到第一注意力向量和第二注意力向量;

对所述第一注意力向量和所述第二注意力向量进行门控混合处理,得到第一编码向量。

在本申请的一实现方式中,在确定所述第一句子向量与所述多个第三编码向量的多个第一语义相关性方面,上述程序包括具体用于执行以下步骤的指令:

基于所述第一句子向量与所述多个第三编码向量确定多个第一矩阵,所述多个第一矩阵与所述多个第三编码向量一一对应;

将所述多个第一矩阵转化为多个第二矩阵,所述多个第二矩阵的矩阵元的取值为0到1,所述多个第二矩阵与所述多个第一矩阵一一对应;

基于所述多个第二矩阵确定多个第一语义相关性,所述多个第一语义相关性与所述多个第二矩阵一一对应。

在本申请的一实现方式中,在确定所述第一编码向量与所述第二编码向量的第二语义相关性方面,上述程序包括具体用于执行以下步骤的指令:

基于所述第一编码向量与所述第二编码向量确定第三矩阵;

将所述第三矩阵转化为第四矩阵,所述第四矩阵的矩阵元的取值为0到1;

基于所述第四矩阵确定第二语义相关性。

在本申请的一实现方式中,在基于所述多个第一语义相关性和所述第二语义相关性确定所述第i轮对话的系统预测动作a方面,上述程序包括具体用于执行以下步骤的指令:

基于所述多个第一语义相关性和所述第二语义相关性确定多个第三语义相关性,所述多个第三语义相关性与所述多个第一语义相关性一一对应;

从所述多个第三语义相关性中确定第四语义相关性;

基于所述第四语义相关性关联的槽位值对v确定所述第i轮对话的系统预测动作a,所述槽位值对v为所述多个槽位值对v中的其中一个。

需要说明的是,本实施例的具体实现过程可参见上述方法实施例所述的具体实现过程,在此不再叙述。

上述实施例主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据所述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

下面为本申请装置实施例,本申请装置实施例用于执行本申请方法实施例所实现的方法。请参阅图5,图5是本申请实施例提供的一种多轮对话装置的结构示意图,应用于电子设备,所述装置包括:

获取单元501,用于获取多轮对话中第i轮对话的用户输入语句x和第i-1轮对话的系统预测动作a-1,所述用户输入语句x为所述用户针对所述系统预测动作a-1作出的回复语句,所述系统预测动作a-1为根据所述第i-1轮对话的用户输入语句x-1执行的动作;

确定单元502,用于基于所述系统预测动作a-1确定所述第i轮对话的多个槽位值对v;基于所述用户输入语句x和所述多个槽位值对v确定多个第一语义相关性,以及基于所述用户输入语句x和所述系统预测动作a-1确定第二语义相关性,所述多个第一语义相关性与所述多个槽位值对v一一对应;基于所述多个第一语义相关性和所述第二语义相关性确定所述第i轮对话的系统预测动作a;

对话单元503,用于基于所述系统预测动作a进行第i 1轮对话。

在本申请的一实现方式中,在基于所述系统预测动作a-1确定所述第i轮对话的多个槽位值对v方面,所述确定单元502,具体用于:

确定所述系统预测动作a-1中包括的槽位,以及确定所述槽位对应的多个槽位值;

基于所述槽位和所述多个槽位值确定所述第i轮对话的多个槽位值对v,每个槽位值对v包括所述槽位和一个槽位值。

在本申请的一实现方式中,在基于所述用户输入语句x和所述多个槽位值对v确定多个第一语义相关性,以及基于所述用户输入语句x和所述系统预测动作a-1确定第二语义相关性方面,所述确定单元502,具体用于:

对所述用户输入语句x进行编码,得到第一句子向量和第一编码向量;对所述系统预测动作a-1进行编码,得到第二编码向量;对所述多个槽位值对v进行编码,得到多个第三编码向量;

确定所述第一句子向量与所述多个第三编码向量的多个第一语义相关性,以及确定所述第一编码向量与所述第二编码向量的第二语义相关性,所述多个第一语义相关性与所述多个第三编码向量一一对应。

在本申请的一实现方式中,在对所述用户输入语句x进行编码,得到第一句子向量和第一编码向量方面,所述确定单元502,具体用于:

对所述用户输入语句x进行分词处理,得到多个第一关键词;

对所述多个第一关键词进行向量化,得到多个第一词向量;

对所述多个第一词向量分别进行局部bilstm编码和全局bilstm编码,得到多个第一局部句子向量和多个第一全局句子向量;

基于所述多个第一局部句子向量确定第一向量,以及基于所述多个第一全局句子向量确定第二向量;

基于所述第一向量和所述第二向量确定第一句子向量;

对所述第一句子向量分别进行局部自注意力机制和全局自注意力机制处理,得到第一注意力向量和第二注意力向量;

对所述第一注意力向量和所述第二注意力向量进行门控混合处理,得到第一编码向量。

在本申请的一实现方式中,在确定所述第一句子向量与所述多个第三编码向量的多个第一语义相关性方面,所述确定单元502,具体用于:

基于所述第一句子向量与所述多个第三编码向量确定多个第一矩阵,所述多个第一矩阵与所述多个第三编码向量一一对应;

将所述多个第一矩阵转化为多个第二矩阵,所述多个第二矩阵的矩阵元的取值为0到1,所述多个第二矩阵与所述多个第一矩阵一一对应;

基于所述多个第二矩阵确定多个第一语义相关性,所述多个第一语义相关性与所述多个第二矩阵一一对应。

在本申请的一实现方式中,在确定所述第一编码向量与所述第二编码向量的第二语义相关性方面,所述确定单元502,具体用于:

基于所述第一编码向量与所述第二编码向量确定第三矩阵;

将所述第三矩阵转化为第四矩阵,所述第四矩阵的矩阵元的取值为0到1;

基于所述第四矩阵确定第二语义相关性。

在本申请的一实现方式中,在基于所述多个第一语义相关性和所述第二语义相关性确定所述第i轮对话的系统预测动作a方面,所述确定单元502,具体用于:

基于所述多个第一语义相关性和所述第二语义相关性确定多个第三语义相关性,所述多个第三语义相关性与所述多个第一语义相关性一一对应;

从所述多个第三语义相关性中确定第四语义相关性;

基于所述第四语义相关性关联的槽位值对v确定所述第i轮对话的系统预测动作a,所述槽位值对v为所述多个槽位值对v中的其中一个。

需要说明的是,获取单元501、确定单元502和对话单元503可通过处理器实现。

本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。

本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。


技术特征:

1.一种多轮对话方法,其特征在于,应用于电子设备,所述方法包括:

获取多轮对话中第i轮对话的用户输入语句x和第i-1轮对话的系统预测动作a-1,所述用户输入语句x为所述用户针对所述系统预测动作a-1作出的回复语句,所述系统预测动作a-1为根据所述第i-1轮对话的用户输入语句x-1执行的动作;

基于所述系统预测动作a-1确定所述第i轮对话的多个槽位值对v;

基于所述用户输入语句x和所述多个槽位值对v确定多个第一语义相关性,以及基于所述用户输入语句x和所述系统预测动作a-1确定第二语义相关性,所述多个第一语义相关性与所述多个槽位值对v一一对应;

基于所述多个第一语义相关性和所述第二语义相关性确定所述第i轮对话的系统预测动作a,以及基于所述系统预测动作a进行第i 1轮对话。

2.根据权利要求1所述的方法,其特征在于,所述基于所述系统预测动作a-1确定所述第i轮对话的多个槽位值对v,包括:

确定所述系统预测动作a-1中包括的槽位,以及确定所述槽位对应的多个槽位值;

基于所述槽位和所述多个槽位值确定所述第i轮对话的多个槽位值对v,每个槽位值对v包括所述槽位和一个槽位值。

3.根据权利要求1或2所述的方法,其特征在于,所述基于所述用户输入语句x和所述多个槽位值对v确定多个第一语义相关性,以及基于所述用户输入语句x和所述系统预测动作a-1确定第二语义相关性,包括:

对所述用户输入语句x进行编码,得到第一句子向量和第一编码向量;对所述系统预测动作a-1进行编码,得到第二编码向量;对所述多个槽位值对v进行编码,得到多个第三编码向量;

确定所述第一句子向量与所述多个第三编码向量的多个第一语义相关性,以及确定所述第一编码向量与所述第二编码向量的第二语义相关性,所述多个第一语义相关性与所述多个第三编码向量一一对应。

4.根据权利要求3所述的方法,其特征在于,所述对所述用户输入语句x进行编码,得到第一句子向量和第一编码向量,包括:

对所述用户输入语句x进行分词处理,得到多个第一关键词;

对所述多个第一关键词进行向量化,得到多个第一词向量;

对所述多个第一词向量分别进行局部bilstm编码和全局bilstm编码,得到多个第一局部句子向量和多个第一全局句子向量;

基于所述多个第一局部句子向量确定第一向量,以及基于所述多个第一全局句子向量确定第二向量;

基于所述第一向量和所述第二向量确定第一句子向量;

对所述第一句子向量分别进行局部自注意力机制和全局自注意力机制处理,得到第一注意力向量和第二注意力向量;

对所述第一注意力向量和所述第二注意力向量进行门控混合处理,得到第一编码向量。

5.根据权利要求要求3或4所述的方法,其特征在于,所述确定所述第一句子向量与所述多个第三编码向量的多个第一语义相关性,包括:

基于所述第一句子向量与所述多个第三编码向量确定多个第一矩阵,所述多个第一矩阵与所述多个第三编码向量一一对应;

将所述多个第一矩阵转化为多个第二矩阵,所述多个第二矩阵的矩阵元的取值为0到1,所述多个第二矩阵与所述多个第一矩阵一一对应;

基于所述多个第二矩阵确定多个第一语义相关性,所述多个第一语义相关性与所述多个第二矩阵一一对应。

6.根据权利要求要求3-5任一项所述的方法,其特征在于,所述确定所述第一编码向量与所述第二编码向量的第二语义相关性,包括:

基于所述第一编码向量与所述第二编码向量确定第三矩阵;

将所述第三矩阵转化为第四矩阵,所述第四矩阵的矩阵元的取值为0到1;

基于所述第四矩阵确定第二语义相关性。

7.根据权利要求1-6任一项所述的方法,其特征在于,所述基于所述多个第一语义相关性和所述第二语义相关性确定所述第i轮对话的系统预测动作a,包括:

基于所述多个第一语义相关性和所述第二语义相关性确定多个第三语义相关性,所述多个第三语义相关性与所述多个第一语义相关性一一对应;

从所述多个第三语义相关性中确定第四语义相关性;

基于所述第四语义相关性关联的槽位值对v确定所述第i轮对话的系统预测动作a,所述槽位值对v为所述多个槽位值对v中的其中一个。

8.一种多轮对话装置,其特征在于,应用于电子设备,所述装置包括:

获取单元,用于获取多轮对话中第i轮对话的用户输入语句x和第i-1轮对话的系统预测动作a-1,所述用户输入语句x为所述用户针对所述系统预测动作a-1作出的回复语句,所述系统预测动作a-1为根据所述第i-1轮对话的用户输入语句x-1执行的动作;

确定单元,用于基于所述系统预测动作a-1确定所述第i轮对话的多个槽位值对v;基于所述用户输入语句x和所述多个槽位值对v确定多个第一语义相关性,以及基于所述用户输入语句x和所述系统预测动作a-1确定第二语义相关性,所述多个第一语义相关性与所述多个槽位值对v一一对应;基于所述多个第一语义相关性和所述第二语义相关性确定所述第i轮对话的系统预测动作a;

对话单元,用于基于所述系统预测动作a进行第i 1轮对话。

9.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-7任一项所述的方法中的步骤的指令。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-7任一项所述的方法。

技术总结
本申请涉及语音语义领域,本申请公开了一种多轮对话方法及装置、电子设备和存储介质,应用于电子设备,该方法包括:获取多轮对话中第i轮对话的用户输入语句X和第i‑1轮对话的系统预测动作A‑1;基于该系统预测动作A‑1确定第i轮对话的多个槽位值对V;基于用户输入语句X和多个槽位值对V确定多个第一语义相关性,以及基于用户输入语句X和系统预测动作A‑1确定第二语义相关性;基于多个第一语义相关性和第二语义相关性确定第i轮对话的系统预测动作A,以及基于系统预测动作A进行第i 1轮对话,采用本申请实施例可提高智能对话中系统的回复准确性。

技术研发人员:朱俊祺
受保护的技术使用者:中国平安财产保险股份有限公司
技术研发日:2020.01.15
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-24792.html

最新回复(0)