CN114281955A - 对话处理方法、装置、设备及存储介质 - Google Patents
对话处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114281955A CN114281955A CN202111070749.XA CN202111070749A CN114281955A CN 114281955 A CN114281955 A CN 114281955A CN 202111070749 A CN202111070749 A CN 202111070749A CN 114281955 A CN114281955 A CN 114281955A
- Authority
- CN
- China
- Prior art keywords
- dialogue
- dialog
- proxy
- networks
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 230000013016 learning Effects 0.000 claims abstract description 90
- 230000006870 function Effects 0.000 claims abstract description 89
- 238000000034 method Methods 0.000 claims abstract description 77
- 230000007704 transition Effects 0.000 claims abstract description 56
- 230000002787 reinforcement Effects 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 24
- 239000003795 chemical substances by application Substances 0.000 claims description 215
- 230000009471 action Effects 0.000 claims description 123
- 238000012549 training Methods 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 18
- 239000013598 vector Substances 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013473 artificial intelligence Methods 0.000 abstract description 19
- 230000000875 corresponding effect Effects 0.000 description 55
- 230000008569 process Effects 0.000 description 25
- 238000005516 engineering process Methods 0.000 description 20
- 230000006399 behavior Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000003745 diagnosis Methods 0.000 description 10
- 238000000354 decomposition reaction Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 201000010099 disease Diseases 0.000 description 5
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 5
- 230000009916 joint effect Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 208000024891 symptom Diseases 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000010367 cloning Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请关于一种对话处理方法、装置、设备及存储介质,涉及人工智能技术领域。所述方法包括:通过对话学习系统中的两个代理网络进行至少一轮对话;按照强化学习的方式获取两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子;基于两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子,获取两个所述代理网络各自的损失函数值;基于两个所述代理网络各自的损失函数值,分别对两个所述代理网络进行参数更新。本方案通过引入对话学习系统中两个代理网络各自对应的状态来分解对话产生的奖励,能够更有针对性的对不同的代理网络进行训练,从而提高训练出的对话系统代理网络的准确性。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种对话处理方法、装置、设备及存储介质。
背景技术
智能对话系统是一种通过与用户进行对话交互,从而向用户提供相关领域的辅助信息的智能系统。
在相关技术中,智能对话系统通常通过预先设置的用户模拟器来进行强化学习训练。也就是说,开发人员预先设置一个模拟用户对话的用户模拟器,在对智能对话系统进行训练的过程中,通过用户模拟器来输出用户对话,并通过智能对话系统做出响应,并根据智能对话系统的响应结果,对智能对话系统进行参数更新。
然而,上述方案需要预先设置用户模拟器,而在一些需要大量专业知识的领域(比如医疗领域),通常无法构建出准确的用户模拟器,从而导致训练出的智能对话系统的准确性不高。
发明内容
本申请实施例提供了一种对话处理方法、装置、设备及存储介质,可以提高智能对话系统的准确性,该技术方案如下。
一方面,提供了一种对话处理方法,所述方法包括:
通过对话学习系统中的两个代理网络进行至少一轮对话;
按照强化学习的方式获取两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子;所述状态转移算子包含所述代理网络在一轮对话中对对话环境的观察值、所述代理网络在一轮对话中的对话动作、以及两个所述代理网络在一轮对话中的对话动作的奖励值;所述对话环境用于指示两个所述代理网络之间的对话情况;
基于两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子,获取两个所述代理网络各自的损失函数值;
基于两个所述代理网络各自的损失函数值,分别对两个所述代理网络进行参数更新。
再一方面,提供了一种对话处理装置,所述装置包括:
对话模块,用于通过对话学习系统中的两个代理网络进行至少一轮对话;
算子获取模块,用于按照强化学习的方式获取两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子;所述状态转移算子包含所述代理网络在一轮对话中对对话环境的观察值、所述代理网络在一轮对话中的对话动作、以及两个所述代理网络在一轮对话中的对话动作的奖励值;所述对话环境用于指示两个所述代理网络之间的对话情况;
损失获取模块,用于基于两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子,获取两个所述代理网络各自的损失函数值;
参数更新模块,用于基于两个所述代理网络各自的损失函数值,分别对两个所述代理网络进行参数更新。
在一种可能的实现方式中,所述损失获取模块,用于,
对于所述至少一轮对话中的第i轮对话,基于两个所述代理网络各自与第i轮对话对应的状态转移算子,获取两个所述代理网络各自与第i轮对话对应的值函数近似值;
基于两个所述代理网络各自与第i轮对话对应的值函数近似值,获取第i轮对话的混合值函数近似值;
基于所述第i轮对话的混合值函数近似值,以及两个所述代理网络各自与第i轮对话对应的值函数近似值,获取两个所述代理网络各自与第i轮对话对应的损失函数值。
在一种可能的实现方式中,所述损失获取模块,用于通过超网络的方式,将两个所述代理网络各自与第i轮对话对应的值函数近似值进行融合,获得第i轮对话的混合值函数近似值。
在一种可能的实现方式中,所述超网络是基于QMIX框架的网络。
在一种可能的实现方式中,两个所述代理网络包括用户代理网络以及对话系统代理网络;一轮对话包含所述用户代理网络的一个对话动作,以及所述对话系统代理网络的一个对话动作;
所述算子获取模块,用于,
对于所述至少一轮对话中的第i轮对话,基于所述用户代理网络对第i-1轮对话结束时的所述对话环境的第一观察值,通过所述用户代理网络中的用户策略,获取所述用户代理网络的第一对话动作;
基于所述对话系统代理网络对所述第一对话动作被执行后的所述对话环境的第二观察值,通过所述对话系统代理网络中的系统策略,获取所述对话系统代理网络的第二对话动作;
获取所述环境系统对所述对话系统代理网络在第i轮对话中的对话动作被执行后输出的,与第i轮对话对应的奖励值;
基于所述用户代理网络对所述第二对话动作被执行后的所述对话环境的第三观察值,通过所述用户策略,获取所述用户代理网络的第三对话动作;
获取所述对话系统代理网络对所述第三对话动作被执行后的所述对话环境的第四观察值;
获取所述用户代理网络与第i轮对应的第一状态转移算子,所述第一状态转移算子中包含所述第一观察值、所述第一对话动作、与第i轮对话对应的奖励值、以及所述第三观察值;
获取所述对话系统代理网络与第i轮对应的第二状态转移算子,所述第二状态转移算子中包含所述第二观察值、所述第二对话动作、与第i轮对话对应的奖励值、以及所述第四观察值。
在一种可能的实现方式中,所述算子获取模块,用于,
基于所述第一观察值,通过所述用户策略,从用户目标数据库中查询用户对话信息;
基于查询到的所述用户对话信息获取所述第一对话动作。
在一种可能的实现方式中,响应于所述对话学习系统应用于医疗领域,所述用户目标数据库中包含用户约束和用户请求;
其中,所述用户约束用于指示医疗领域的命名实体;所述用户请求用于指示医疗领域的对话请求。
在一种可能的实现方式中,所述第一观察值包括:所述对话系统代理网络在第i-1轮对话中的对话动作、所述用户统代理网络在第i-1轮对话中的对话动作、用于指示剩余约束和请求的目标状态、以及所述对话系统代理网络的响应与用户约束之间的不一致向量。
在一种可能的实现方式中,所述算子获取模块,用于,
基于所述第二观察值,通过所述系统策略,从系统数据库中查询系统对话信息;
基于查询到的所述系统对话信息获取所述第二对话动作。
在一种可能的实现方式中,响应于所述对话学习系统应用于医疗领域,所述系统数据库中包含医疗领域的命名实体,以及所述医疗领域的命名实体的相关信息。
在一种可能的实现方式中,所述第二观察值包括:
所述第一对话动作、所述用户统代理网络在第i-1轮对话中的对话动作、所述用户代理网络提供的约束时隙和请求时隙的信念状态、以及来自于所述系统数据库的查询结果数量的嵌入向量。
在一种可能的实现方式中,所述装置还包括:
预训练模块,用于在对话模块通过对话学习系统中的两个代理网络进行至少一轮对话之前,通过对话样本文本对两个所述代理网络进行预训练;
其中,所述对话样本文本中包含至少一轮对话的文本。
再一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执行以实现上述的对话处理方法。
又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行以实现上述的对话处理方法。
又一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述对话处理方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过设置具有两个代理网络的对话学习系统,使用两个代理网络之间产生的至少一轮对话,通过强化学习的方式获取两个代理网络在每一轮对话过程中的状态转移算子,在计算损失函数值时,通过两个代理网络在每一轮对话过程中的状态转移算子来获取两个代理网络各自的损失函数值,并通过两个代理网络各自的损失函数值对两个代理网络分别进行训练,从而通过引入对话学习系统中两个代理网络各自对应的状态来分解对话产生的奖励,能够更有针对性的对不同的代理网络进行训练,从而提高训练出的对话系统代理网络的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请各个实施例涉及的一种对话处理系统的系统构成图;
图2是根据一示例性实施例示出的一种对话处理方法的流程示意图;
图3是根据一示例性实施例示出的一种对话处理方法的流程示意图;
图4是图3所示实施例涉及的两个代理通进行交互的整体方案图;
图5是根据一示例性实施例示出的一种对话处理装置的结构方框图;
图6是根据一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在对本申请所示的各个实施例进行说明之前,首先对本申请涉及到的几个概念进行介绍。
请参考图1,其示出了本申请各个实施例涉及的一种对话处理系统的系统构成图。如图1所示,该系统包括终端140、以及服务器160;可选的,该系统还可以包括数据库180。
终端140可以是具有一定的处理能力以及界面展示功能的终端设备,比如,终端140可以是手机、平板电脑、电子书阅读器、智能眼镜、膝上型便携计算机、台式计算机、对话终端等等。
终端140可以包括开发人员或用户使用的终端,比如,在医疗领域,终端140可以是开发人员或者患者使用的终端。
当终端140实现为开发人员使用的终端时,开发人员可以通过终端140开发用于对话的机器学习模型,并将机器学习模型部署到服务器160或者用户使用的终端中。
当终端140实现为用户(比如患者)使用的终端时,终端140中可以安装有对话类应用程序,终端140获取到用户通过语音或者文字输入的对话后,可以通过上述应用程序调用对话模型,以对用户的对话进行应答。
其中,服务器160可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
比如,当本申请所示的方案应用于医疗领域时,可以实现为医疗云中的一部分。其中,医疗云(Medical cloud),是指在云计算、移动技术、多媒体、无线通信、大数据、以及物联网等新技术基础上,结合医疗技术,使用“云计算”来创建医疗健康服务云平台,实现了医疗资源的共享和医疗范围的扩大。因为云计算技术的运用于结合,医疗云提高医疗机构的效率,方便居民就医。像现在医院的预约挂号、电子病历、医保等都是云计算与医疗领域结合的产物,医疗云还具有数据安全、信息共享、动态扩展、布局全局的优势。
其中,上述服务器160可以是为终端140中安装的应用程序提供后台服务的服务器,该后台服务器可以是应用程序的版本管理、对应用程序获取到的用户对话进行后台处理并返回应答结果、对开发人员开发的机器学习模型进行后台训练等等。
上述数据库180可以是Redis数据库,或者,也可以是其它类型数据库。其中,数据库180用于存储各类数据。
可选的,终端140与服务器160之间通过通信网络相连。可选的,该通信网络是有线网络或无线网络。
可选的,该系统还可以包括管理设备(图1未示出),该管理设备与服务器160之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于LAN(Local Area Network,局域网)、MAN(Metropolitan Area Network,城域网)、WAN(Wide Area Network,广域网)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括HTML(Hyper Text Mark-up Language,超文本标记语言)、XML(Extensible Markup Language,可扩展标记语言)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如SSL(Secure Socket Layer,安全套接字层)、TLS(Transport Layer Security,传输层安全)、VPN(Virtual Private Network,虚拟专用网络)、IPsec(Internet ProtocolSecurity,网际协议安全)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
图2是根据一示例性实施例示出的一种对话处理方法的流程示意图。该方法可以由计算机设备执行,比如,该计算机设备可以是服务器,或者,该计算机设备也可以是终端,或者,该计算机设备可以包括服务器和终端,其中,该服务器可以是上述图1所示的实施例中的服务器160,该终端可以是上述图1所示的实施例中的终端140。如图2所示,该对话处理方法可以包括如下步骤。
步骤201,通过对话学习系统中的两个代理网络进行至少一轮对话。
步骤202,按照强化学习的方式获取两个代理网络各自与至少一轮对话中的每一轮对话对应的状态转移算子;状态转移算子包含代理网络在一轮对话中对对话环境的观察值、代理网络在一轮对话中的对话动作、以及两个代理网络在一轮对话中的对话动作的奖励值;对话环境用于指示两个代理网络之间的对话情况。
步骤203,基于两个代理网络各自与至少一轮对话中的每一轮对话对应的状态转移算子,获取两个代理网络各自的损失函数值。
在一种可能的实现方式中,计算机设备可以基于系统状态信息,以及两个代理网络各自与至少一轮对话中的每一轮对话对应的状态转移算子,获取两个代理网络各自的损失函数值;其中,上述系统状态信息用于指示对话学习系统的全局状态。
步骤204,基于两个代理网络各自的损失函数值,分别对两个代理网络进行参数更新。
综上所述,本申请实施例所示的方案,通过设置具有两个代理网络的对话学习系统,使用两个代理网络之间产生的至少一轮对话,通过强化学习的方式获取两个代理网络在每一轮对话过程中的状态转移算子,在计算损失函数值时,通过两个代理网络在每一轮对话过程中的状态转移算子来获取两个代理网络各自的损失函数值,并通过两个代理网络各自的损失函数值对两个代理网络分别进行训练,从而通过引入对话学习系统中两个代理网络各自对应的状态来分解对话产生的奖励,能够更有针对性的对不同的代理网络进行训练,从而提高训练出的对话系统代理网络的准确性。
在一种可能的实现方式中,本申请各个实施例所示的方案,可以基于AI(Artificial Intelligence,人工智能)技术来实现,并且可以实现强化学习的方式来训练上述代理网络。
其中,AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
本申请实施例所示的方案主要应用到人工智能领域中的人工神经网络、强化学习、语音处理技术、自然语言处理技术等技术。
本申请实施例所示的方案可以应用于任意需要通过对话为用户提供服务的场景,比如医疗对话场景(例如AI导诊、智能预问诊、智能用药助手和其他智能医疗对话场景)。
比如,以医疗领域的AI导诊场景为例,通过本申请实施例所示的方案,可以设置患者代理和医疗对话系统代理,并通过患者代理和医疗对话系统代理之间进行AI导诊相关的对话,并根据对话结果,以及全局状态计算两个代理各自的损失函数,并对两个代理分别进行训练。在训练完成后,将医疗对话系统代理部署至服务器或者终端,后续可以通过医疗对话系统代理对用户的问诊对话进行应答,以提供AI导诊服务,比如,通过用户输入的症状等对话信息,为用户推荐相关的医疗科室。
在相关技术中,对话系统通常通过用户模拟器来强化训练,而设计一个可靠的用户模拟器常常很有挑战性,因为它相当于构建一个好的对话代理。其中,基于规则的用户模拟器随着对话系统处理更复杂任务的需求不断增长,构建一个完全基于规则的用户模拟器非常困难,这需要大量的领域专业知识。尤其在辅助诊断场景,用户模拟器需要全面真实地模拟形形色色的患者,然而构建一个逼真的患者需要大量的医学知识,例如不同疾病的症状,症状的表现程度等,辅诊过程中复杂的对话逻辑不仅使得设计基于规则的患者模拟器耗费大量的人力物力,而且需要高昂的维护成本。与此同时,基于多智能体联合训练的方案难以直接移植到医疗辅助诊断对话场景中。一个重要的原因是辅诊场景中不同角色带着不同的任务目标,例如医生需要高效的询问症状并作出准确诊断,而患者侧重于准确回答医生的问询。因此使用共享奖励的多智能体难以准确地对患者建模,从而阻碍系统学习的策略性能。
针对上述问题,本申请使用一种基于角色感知的奖励分解机制的多智能体框架对医患问诊系统进行联合建模来减小模型的人工依赖:
1)本申请提出针对一种多智能体对话策略学习,将用户视为另一个对话智能体而非用户模拟器。用户与对话系统之间的对话被建模为一个协作的交互过程,在这一过程中,两个代理同时学习各自的策略。
2)本申请将总体奖励值估计为每个代理值的复杂非线性组合,该组合仅以局部观测为条件,自动为两个代理分解奖励,促进二者协调各自的行为,同时以分散的方式行事。与此同时,两个代理以集中的方式进行学习从而获得全局状态信息并解除通信限制。
3)与此同时,为了进一步缓解多智能体学习中的非稳态问题(non-stationaryproblem),本申请基于共享隐层和输入互传的方式实现提出的问诊系统。
图3是根据一示例性实施例示出的一种对话处理方法的流程示意图。该方法可以由计算机设备执行,比如,该计算机设备可以是服务器,或者,该计算机设备也可以是终端,或者,该计算机设备可以包括服务器和终端,其中,该服务器可以是上述图1所示的实施例中的服务器160,该终端可以是上述图1所示的实施例中的终端140。如图3所示,该对话处理方法可以包括如下步骤。
步骤301,通过对话样本文本对对话学习系统中的两个代理网络进行预训练;其中,对话样本文本中包含至少一轮对话的文本。
本申请实施例所示的方案应用在医患对话系统的训练场景,以处理多病种的复杂的辅诊对话任务时,策略的动作空间可能非常大。以上述两个代理网络分别是患者代理(即上述用户代理)和系统代理(即与对话系统相对应的代理网络)为例,训练过程可以分为三个阶段:首先利用会话语料库对对话策略进行预训练,然后利用基于简单规则的医患代理进行交互和收集经验进行初步迭代,最后利用强化学习对预训练策略和基于规则的优化策略进行改进。
其中,预训练的目标是使模型生成的状态-动作轨迹分布和标注语料(即上述对话样本文本)的轨迹分布相匹配。比如,在本申请实施例中,可以使用最大熵损失函数进行预训练过程的模型参数更新,本申请预训练过程的优化目标可以为:
其中LBC是行为克隆的最大熵损失函数,和分别是系统代理和患者代理的标注语料库,代表预测模型,θ·为其参数。sp,ap分别是预训练过程中的患者代理的状态和动作,ss,as分别是预训练过程中的系统代理的状态和动作。
步骤302,通过对话学习系统中的两个代理网络进行至少一轮对话。
以医患对话系统的训练场景为例,在利用强化学习对预训练策略和基于规则的优化策略进行改进时,可以通过患者代理和系统代理进行至少一轮对话,也可以称为至少一个回合的对话,其中,患者代理生成一句话(即一个对话动作),系统代理对这句话生成一句回话的过程,该过程可以称为一个回合的对话。
步骤303,按照强化学习的方式获取两个代理网络各自与至少一轮对话中的每一轮对话对应的状态转移算子;状态转移算子包含代理网络在一轮对话中对对话环境的观察值、代理网络在一轮对话中的对话动作、以及两个代理网络在一轮对话中的对话动作的奖励值;对话环境用于指示两个代理网络之间的对话情况。
在一种可能的实现方式中,两个代理网络包括用户代理网络以及对话系统代理网络;一轮对话包含用户代理网络的一个对话动作,以及对话系统代理网络的一个对话动作;
按照强化学习的方式获取两个代理网络各自与至少一轮对话中的每一轮对话对应的状态转移算子,包括:
对于至少一轮对话中的第i轮对话,基于用户代理网络对第i-1轮对话结束时的对话环境的第一观察值,通过用户代理网络中的用户策略,获取用户代理网络的第一对话动作;
基于对话系统代理网络对第一对话动作被执行后的对话环境的第二观察值,通过对话系统代理网络中的系统策略,获取对话系统代理网络的第二对话动作;
获取环境系统对对话系统代理网络在第i轮对话中的对话动作被执行后输出的,与第i轮对话对应的奖励值;
基于用户代理网络对第二对话动作被执行后的对话环境的第三观察值,通过用户策略,获取用户代理网络的第三对话动作;
获取对话系统代理网络对第三对话动作被执行后的对话环境的第四观察值;
获取用户代理网络与第i轮对应的第一状态转移算子,第一状态转移算子中包含第一观察值、第一对话动作、与第i轮对话对应的奖励值、以及第三观察值;
获取对话系统代理网络与第i轮对应的第二状态转移算子,第二状态转移算子中包含第二观察值、第二对话动作、与第i轮对话对应的奖励值、以及第四观察值。
在一种可能的实现方式中,基于用户代理网络对第i-1轮对话结束时的对话环境的第一观察值,通过用户代理网络中的用户策略,获取用户代理网络的第一对话动作,包括:
基于第一观察值,通过用户策略,从用户目标数据库中查询用户对话信息;
基于查询到的用户对话信息获取第一对话动作。
在一种可能的实现方式中,响应于对话学习系统应用于医疗领域,用户目标数据库中包含用户约束和用户请求;
其中,用户约束用于指示医疗领域的命名实体;用户请求用于指示医疗领域的对话请求。
在一种可能的实现方式中,第一观察值包括:对话系统代理网络在第i-1轮对话中的对话动作、用户统代理网络在第i-1轮对话中的对话动作、用于指示剩余约束和请求的目标状态、以及对话系统代理网络的响应与用户约束之间的不一致向量。
在一种可能的实现方式中,基于对话系统代理网络对第一对话动作被执行后的对话环境的第二观察值,通过对话系统代理网络中的系统策略,获取对话系统代理网络的第二对话动作,包括:
基于第二观察值,通过系统策略,从系统数据库中查询系统对话信息;
基于查询到的系统对话信息获取第二对话动作。
在一种可能的实现方式中,响应于对话学习系统应用于医疗领域,系统数据库中包含医疗领域的命名实体,以及医疗领域的命名实体的相关信息。
在一种可能的实现方式中,第二观察值包括:
第一对话动作、用户统代理网络在第i-1轮对话中的对话动作、用户代理网络提供的约束时隙和请求时隙的信念状态、以及来自于系统数据库的查询结果数量的嵌入向量。
步骤304,基于两个代理网络各自与至少一轮对话中的每一轮对话对应的状态转移算子,获取两个代理网络各自的损失函数值。
在一种可能的实现方式中,计算机设备可以基于系统状态信息,以及两个代理网络各自与至少一轮对话中的每一轮对话对应的状态转移算子,获取两个代理网络各自的损失函数值;系统状态信息用于指示对话学习系统的全局状态。
在本申请实施例中,为了简化训练过程的复杂度,可以将上述系统状态信息设置为一个常数。
在一种可能的实现方式中,基于系统状态信息,以及两个代理网络各自与至少一轮对话中的每一轮对话对应的状态转移算子,获取两个代理网络各自的损失函数值,包括:
对于至少一轮对话中的第i轮对话,基于两个代理网络各自与第i轮对话对应的状态转移算子,获取两个代理网络各自与第i轮对话对应的值函数近似值;
基于与第i轮对话对应的系统状态信息,以及两个代理网络各自与第i轮对话对应的值函数近似值,获取第i轮对话的混合值函数近似值;
基于第i轮对话的混合值函数近似值,以及两个代理网络各自与第i轮对话对应的值函数近似值,获取两个代理网络各自与第i轮对话对应的损失函数值。
在一种可能的实现方式中,基于与第i轮对话对应的系统状态信息,以及两个代理网络各自与第i轮对话对应的值函数近似值,获取第i轮对话的混合值函数近似值,包括:
通过超网络的方式,将与第i轮对话对应的系统状态信息,与两个代理网络各自与第i轮对话对应的值函数近似值进行融合,获得第i轮对话的混合值函数近似值。
在一种可能的实现方式中,超网络是基于QMIX(混合Q网络)框架的网络。
步骤305,基于两个代理网络各自的损失函数值,分别对两个代理网络进行参数更新。
以医疗领域的对话系统的训练为例,本技术方案可以应用于基于序列决策的对话策略学习场景。本申请将医患双方对话策略学习视为一个马尔可夫决策过程问题,并用多智能体强化学习框架QMIX改进策略。首先给定由患者约束C(例如各种显性隐性症状描述)和请求R(例如疾病查询)组成的患者目标G=(C,R),并且给定包含所有候选实体和相应信息的外部数据库,患者代理和系统代理在对话会话中相互作用以实现患者目标。G中可以有多个域,两个代理可以完成每个域中的所有子任务。两个代理都可以部分地观察环境,即只有患者代理使用上述患者目标G,只有对话系统代理使用上述外部数据库。了解彼此信息的方法是通过对话互动。与普通的多代理任务设置不同,本申请的对话框中的两个代理是异步执行的。在一个对话回合中,患者代理首先发布一个查询,然后系统代理返回一个响应,两个代理交替通信。因此,根据患者代理策略μ(ap|sp)和系统代理策略π(as|ss),每个对话会话都可以看作是状态-动作对的轨迹:
在本申请中,可以由患者代理激活一个交互单元。比如,首先患者代理观察环境(其中,强化学习中的环境的定义为描述马尔可夫决策过程的物理世界;比如,在本申请实施例中,这里患者代理观察环境,可以是指患者代理观察马尔科夫决策过程的物理世界中的患者)查询目标获得初始状态然后使用ε-greedy贪心探索执行动作该探索选择一个概率为ε的随机动作,或者,患者代理也可以采用贪心策略确定动作,其中Q(s,a;θp)是患者代理的近似值函数,实现为由θp参数化的多层感知器。
然后系统代理开始根据环境更新的状态给出一个概率为ε的随机动作或者动作其中Q(s,a;θs)是系统代理的近似值函数。随后环境根据双方响应更新状态并给出当轮奖励r0。代理分别状态转移和这个循环一直持续到对话结束。Q(s,a′:θs)和Q(s,a′:θp)的参数通过使用随机梯度下降最小化以下平方损失来更新:
(ss,as,r,s’s)~Ds
其中,E是数学期望,r是奖励值,γ∈[0,1]是折扣因子,Q′(·;θt)是QMIX函数,是Q′(·)是仅定期更新的目标值函数,θp是(患者网络)的参数,θs是系统代理的参数,θt是QMIX中的reward(奖励)分配网络;sp是患者网络的状态,ap是患者网络的对话行为,ss是系统代理网络的状态,as是系统代理网络的对话行为。
本申请提供的是一种基于多智能体强化学习共同学习患者和系统策略,首先收集少量真实医患对话存储在数据池Di中,然后使用模仿学习预训Q(s,a;θs)和Q(s,a;θp)。患者和系统的策略的行动空间可能非常大,本申请处理的是多域和复杂的辅助诊断对话任务。因此在预训之余,本申请在强化学习优化之前使用基于规则的医患代理器进行热启动。随后开始利用多智能体强化学习双方策略,请参考图4,其示出了本申请实施例涉及的两个代理通过对话行为进行交互的整体方案图。如图4所示,在每一轮的对话中,患者代理41和系统代理42分别观察环境43的状态,并做出相应的动作(即生成本轮的对话语句),同时,环境还输出奖励值r,每一轮对话中两个代理观察到的状态、各自执行的动作以及奖励值r通过一个混合网络44进行奖励分配,得到各自的损失函数值,并通过各自的损失函数值进行更新。
本申请可以选择深度Q网络(Deep Q Network,DQN)框架来学习确定性对话策略。DQN是一种深度强化学习算法,采用经验回放机制,将训练数据进行储存,然后从中随机采样进行训练,更新Q网络。由于两个智能体通过合作获得成功,但它们在对话中的角色是不对称的,因此本申请可以结合QMIX网络Q(s,a;θt)来引导任务报酬分解为不同的部分,以便更好地进行策略学习。请注意,本申请的方法是完全数据驱动的,无需事先构建用户模拟器,并且在培训期间不需要任何其他人的监督。
其中,系统策略根据系统对话状态ss决定系统操作a以向用户代理提供适当的响应。系统对话状态ss是以下信息的串联:1)最后系统动作(即上一次系统动作);2)最后患者动作(即上一次患者动作);3)表示需要发送的剩余约束和剩余请求的目标状态;其中,剩余约束是指患者目标G中未使用的约束,剩余请求是指患者目标G中未使用的请求;4)不一致向量,其表示系统响应(即系统代理的响应)和用户约束C之间的不一致性。每个系统动作a是对话动作集A的子集,因为在一个对话回合中可能有多个意图。对话行为是意图的抽象表示,可以用由域、意图、槽类型和槽值(例如[疾病诊断、通知、温度、38°])组成的四元组来表示。在实践中,对话行为在对话策略中是去词汇化的。本申请用一个占位符替换槽值,并根据从外部数据库中选择的实体用真值重新填充它,这样系统就可以对看不见的值进行操作。对话回合t的系统状态包括:当前回合的用户操作、最后回合(上一回合)的系统操作、跟踪用户代理提供的约束槽和请求槽的信念状态、以及来自数据库的查询结果数量的嵌入向量的串联。
用户策略根据患者对话状态决定患者操作,以表达对系统代理的约束和请求。与系统策略类似,患者策略使用去词汇化的对对话动作,并根据用户目标G重新填充值。除了预测对话行为之外,用户策略还同时输出终止信号T(该信号T用来判断对话是否终止)。
本申请实施例中,多智能体医患代理联合学习框架中医患双方根据对方协调自己的行为,同时以去中心化形式各自决策。为了共享全局状态信息,并解除通信限制,可以采用集中式培训代理。学习以各自状态信息为条件的联合状态动作价值函数是集中学习的一种有效方式,本申请的解决方案是使用一种基于值的策略网络QMIX进行集中学习得到分布式的医患策略。QMIX使用了一个网络,该网络将联合作用值估计为每个代理值的复杂非线性组合,该组合仅以本地观察为条件。本申请在结构上强制执行联合行动价值在每个代理价值中是单调的,这允许在非策略学习中可处理的最大化联合行动价值,并保证集中和分散策略之间的一致性。因为对联合动作值函数取argmax(对函数求参数)等价于对每个局部动作值函数取argmax,其单调性相同。因此分布式策略就是贪心的通过Qp和Qs获取最优动作。QMIX基于以下单调性约束:
为了实现以上约束保证权值的非负性,QMIX采用一种超网络将常向量V作为输入,并采用一个线性网络以及绝对值激活函数保证输出参数不为负数。对偏移量采用同样方式但没有非负性的约束,混合网络最后一层的偏移量通过两层网络以及ReLU激活函数得到非线性映射网络。其中,QMIX代价函数为如上述公式(1)所示。
在本申请实施例的一种示例性的方案中,上述用户代理网络和系统代理网络通过共享隐层的方式实现,也就是说,对于上述用户代理网络和系统代理网络,这两个代理网络的输出层不同,且这两个代理网络的输出层之前的部分相同,或者,这两个代理网络共享输出层之前的网络部分。
上述模型的训练分为三个阶段,首先进行行为克隆预训练,其次进行基于规则代理的热启动,最后利用强化学习进一步优化策略。本申请是用DQN作为基本强化学习模型,首先运行ε-greedy贪心探索策略收集经验样本,然后利用QMIX训练医患的Q网络。ε-greedy贪心探索策略表示在智能体做决策时,有一很小的正数ε(小于1)的概率随机选择未知的一个动作,并有1-的概率选择已有动过中动作价值最大的动作。
模型的训练流程可以如下:
输入Input:N,M,ε,θs,θp,θt,L,Ds,Dp,Di,r,Z;
1:初始化经验池Dp,Dp为空。
2:初始化标注语料池Di,填入标注状态动作的真实医患对话语料。
5:forn=1:M,则,
6:使用基于规则的医患代理进行热启动。
7:endfor
8:forn=1:N,则,
9:初始化患者目标C和患者状态sp。
10:以概率ε随机选择一个动作ap。
11:或者,使用贪心策略选择动作ap。
12:患者代理执行动作ap,系统代理观察到ss。
13:repeat
14:以概率ε随机选择一个动作as。
15:或者,使用贪心策略选择动作as。
16:系统代理执行as,患者代理观察到s′p。
17:代理共同观察到奖励值r。
18:存储转移算子(sp,ap,r,s′p)到Dp。
19:以概率ε随机选择一个动作ap。
20:或者使用贪心策略选择动作ap。
21:患者代理执行动作ap,系统代理观察到s′s。
22:存储转移算子(ss,as,r,s′s)到Ds。
23:从环境中观察终止信号。
24:until T是终止信号。
25:从Ds中采样一批(ss,as,r,s′s)。
26:从Dp中采样一批(sp,ap,r,s′p)。
29:endfor
在评估阶段,本申请主要使用成功率进行评价。一段成功的对话定义为对话代理解答完患者所有问题以及做出正确的疾病诊断。一方面本申请使用训练过程成功率的动态变化即学习速率作为测试指标,另一方面本申请看模型最终收敛的成功率。另外本申请也测试平均对话轮数,对话代理能够在越短的轮数内完成对话任务越好。对于以上所有测试指标本申请进行多次测试求均值。
上述方案基于强化学习对话模型和相关的医疗知识集来实现,其中医疗知识需要不断积累和标注,因此在数据不充分是可以先使用少量的数据训练原型系统,该系统中的医患代理在交互的过程中同时各自策略。与此同时,真实的医疗对话数据也不断积累,这些数据可以用于构建和完善更加细致全面的场景和策略空间,接着使用本专利提供的方法,逐步扩展模型覆盖的场景,最终形成一个覆盖面广,精确度高的AI医疗智能问诊助手。
本技术方案针对现有的强化学习方法学习辅助诊断对话策略需要构建患者代理模型这一难题,提出了一种同时训练患者策略和系统策略的多agent对话策略方案,其主要的有益效果包括:
1)本方案提出的基于多智能体强化学习框架的医患对话策略学习系统(Multi-Agent Diagnostic Dialog Policy Learning,MADDPL)使开发人员能够从零开始快速地建立一个辅助诊断对话系统。两个代理相互作用,联合学习,不需要事先显式地构建一个用户模拟器。MADDPL能增强医患双方策略的可扩展性并加速大规模复杂辅诊系统的落地性。
2)MADDPL使用行为克隆来基于少量标注对话行为的语料库进行预训练和使用基于规则的双代理热启动。这样可以使得强化学习模型在优化之前获得较好的初始值,避免了大量的无效探索,提高学习效率和收敛速度。
3)本申请引入QMIX混合价值网络进行角色感知奖励自动分解,以整合面向任务的对话中每个代理的特定角色领域知识。QMIX允许学习丰富的联合动作值函数,通过对混合网络施加单调性约束,该函数允许自动可学习的奖励分解机制,使得每个代理的学习目标更惊喜准确,加速代理策略学习速度。
4)为了进一步缓解多智能体学习中的非稳态问题,本申请在工程实现上使用基于共享隐层和输入互传的方式训练提出的问诊系统。
例如,本申请在某医院收集到一些医患对话的样本,经过解析器获取状态动作序列集合,本申请可以快速部署一个面向辅助诊断的对话系统。该模型首先利用收集的专家数据进行行为克隆和使其快速学会一部分知识,然后利用本专利提出的方案进行医患代理同时训练,接着本申请把该系统投放在医院或者线上医院等场景,让其与真实患者对话,在线学习。对话的过程中,系统代理不断探索学习更优质的应答策略。与此同时,该系统不断收集到来自患者的评价信息,该信息不断系统代理的学习目标。随着接触越来越对的患者,系统代理逐渐学到越来越丰富的策略,逐渐能做出越来越接近专家的决策和回答。与此同时,随着真实的医患数据的不断积累,本申请的标注数据池不断丰富,本申请一方面可以用其修正患者代理,另一方面本申请可以让更加成熟的系统代理交互式引导患者代理的更新迭代,使其能覆盖更大的动作空间,理想情况下,医患代理能逐渐探索和学习到所有策略,并且这些策略都能有实践支持。最终,本专利设计的模型能“培养”出一位优秀的全科医生和一位经验丰富的患者。
本专利使用基于DQN的确定性策略模型,也可以考虑采用别的随机策略模型,例如actor-critic(演员-评价者)算法,策略梯度算法等。
训练模型的过程中,行为克隆只是在一开始的阶段辅助探索,也可以考虑多次进行行为克隆寻求更好的初始化结果。并且预训阶段也可以采用其它监督学习模型例如β权重逻辑回归进行网络参数预训。
本文使用QMIX进行不同代理的感知奖励分解,也可以使用其它的集中式多代理模型奖励分解模式,比如用于多智能体协作学习的价值分解网络(Value-DecompositionNetworks,VDN),多智能体协作强化学习中的因式分解与变换学习(Learning toFactorize with Transformation for Cooperative Multi-Agent Reinforcementlearning,QTRAN)等。
综上所述,本申请实施例所示的方案,通过设置具有两个代理网络的对话学习系统,使用两个代理网络之间产生的至少一轮对话,通过强化学习的方式获取两个代理网络在每一轮对话过程中的状态转移算子,在计算损失函数值时,通过两个代理网络在每一轮对话过程中的状态转移算子来获取两个代理网络各自的损失函数值,并通过两个代理网络各自的损失函数值对两个代理网络分别进行训练,从而通过引入对话学习系统中两个代理网络各自对应的状态来分解对话产生的奖励,能够更有针对性的对不同的代理网络进行训练,从而提高训练出的对话系统代理网络的准确性。
图5是根据一示例性实施例示出的一种对话处理装置的结构方框图。该装置可以实现图2或图3所示实施例提供的方法中的全部或部分步骤,该对话处理装置包括:
对话模块501,用于通过对话学习系统中的两个代理网络进行至少一轮对话;
算子获取模块502,用于按照强化学习的方式获取两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子;所述状态转移算子包含所述代理网络在一轮对话中对对话环境的观察值、所述代理网络在一轮对话中的对话动作、以及两个所述代理网络在一轮对话中的对话动作的奖励值;所述对话环境用于指示两个所述代理网络之间的对话情况;
损失获取模块503,用于基于两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子,获取两个所述代理网络各自的损失函数值;
参数更新模块504,用于基于两个所述代理网络各自的损失函数值,分别对两个所述代理网络进行参数更新。
在一种可能的实现方式中,所述损失获取模块503,用于,
对于所述至少一轮对话中的第i轮对话,基于两个所述代理网络各自与第i轮对话对应的状态转移算子,获取两个所述代理网络各自与第i轮对话对应的值函数近似值;
基于两个所述代理网络各自与第i轮对话对应的值函数近似值,获取第i轮对话的混合值函数近似值;
基于所述第i轮对话的混合值函数近似值,以及两个所述代理网络各自与第i轮对话对应的值函数近似值,获取两个所述代理网络各自与第i轮对话对应的损失函数值。
在一种可能的实现方式中,所述损失获取模块503,用于通过超网络的方式,将两个所述代理网络各自与第i轮对话对应的值函数近似值进行融合,获得第i轮对话的混合值函数近似值。
在一种可能的实现方式中,所述超网络是基于QMIX框架的网络。
在一种可能的实现方式中,两个所述代理网络包括用户代理网络以及对话系统代理网络;一轮对话包含所述用户代理网络的一个对话动作,以及所述对话系统代理网络的一个对话动作;
所述算子获取模块502,用于,
对于所述至少一轮对话中的第i轮对话,基于所述用户代理网络对第i-1轮对话结束时的所述对话环境的第一观察值,通过所述用户代理网络中的用户策略,获取所述用户代理网络的第一对话动作;
基于所述对话系统代理网络对所述第一对话动作被执行后的所述对话环境的第二观察值,通过所述对话系统代理网络中的系统策略,获取所述对话系统代理网络的第二对话动作;
获取所述环境系统对所述对话系统代理网络在第i轮对话中的对话动作被执行后输出的,与第i轮对话对应的奖励值;
基于所述用户代理网络对所述第二对话动作被执行后的所述对话环境的第三观察值,通过所述用户策略,获取所述用户代理网络的第三对话动作;
获取所述对话系统代理网络对所述第三对话动作被执行后的所述对话环境的第四观察值;
获取所述用户代理网络与第i轮对应的第一状态转移算子,所述第一状态转移算子中包含所述第一观察值、所述第一对话动作、与第i轮对话对应的奖励值、以及所述第三观察值;
获取所述对话系统代理网络与第i轮对应的第二状态转移算子,所述第二状态转移算子中包含所述第二观察值、所述第二对话动作、与第i轮对话对应的奖励值、以及所述第四观察值。
在一种可能的实现方式中,所述算子获取模块502,用于,
基于所述第一观察值,通过所述用户策略,从用户目标数据库中查询用户对话信息;
基于查询到的所述用户对话信息获取所述第一对话动作。
在一种可能的实现方式中,响应于所述对话学习系统应用于医疗领域,所述用户目标数据库中包含用户约束和用户请求;
其中,所述用户约束用于指示医疗领域的命名实体;所述用户请求用于指示医疗领域的对话请求。
在一种可能的实现方式中,所述第一观察值包括:所述对话系统代理网络在第i-1轮对话中的对话动作、所述用户统代理网络在第i-1轮对话中的对话动作、用于指示剩余约束和请求的目标状态、以及所述对话系统代理网络的响应与用户约束之间的不一致向量。
在一种可能的实现方式中,所述算子获取模块502,用于,
基于所述第二观察值,通过所述系统策略,从系统数据库中查询系统对话信息;
基于查询到的所述系统对话信息获取所述第二对话动作。
在一种可能的实现方式中,响应于所述对话学习系统应用于医疗领域,所述系统数据库中包含医疗领域的命名实体,以及所述医疗领域的命名实体的相关信息。
在一种可能的实现方式中,所述第二观察值包括:
所述第一对话动作、所述用户统代理网络在第i-1轮对话中的对话动作、所述用户代理网络提供的约束时隙和请求时隙的信念状态、以及来自于所述系统数据库的查询结果数量的嵌入向量。
在一种可能的实现方式中,所述装置还包括:
预训练模块,用于在对话模块501通过对话学习系统中的两个代理网络进行至少一轮对话之前,通过对话样本文本对两个所述代理网络进行预训练;
其中,所述对话样本文本中包含至少一轮对话的文本。
综上所述,本申请实施例所示的方案,通过设置具有两个代理网络的对话学习系统,使用两个代理网络之间产生的至少一轮对话,通过强化学习的方式获取两个代理网络在每一轮对话过程中的状态转移算子,在计算损失函数值时,通过两个代理网络在每一轮对话过程中的状态转移算子来获取两个代理网络各自的损失函数值,并通过两个代理网络各自的损失函数值对两个代理网络分别进行训练,从而通过引入对话学习系统中两个代理网络各自对应的状态来分解对话产生的奖励,能够更有针对性的对不同的代理网络进行训练,从而提高训练出的对话系统代理网络的准确性。
图6是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备600包括中央处理单元(CPU,Central Processing Unit)601、包括随机存取存储器(Random Access Memory,RAM)602和只读存储器(Read-Only Memory,ROM)603的系统存储器604,以及连接系统存储器604和中央处理单元601的系统总线605。所述计算机设备600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统606,和用于存储操作系统613、应用程序614和其他程序模块615的大容量存储设备607。
所述大容量存储设备607通过连接到系统总线605的大容量存储控制器(未示出)连接到中央处理单元601。所述大容量存储设备607及其相关联的计算机可读介质为计算机设备600提供非易失性存储。也就是说,所述大容量存储设备607可以包括诸如硬盘或者光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、闪存或其他固态存储其技术,CD-ROM、或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器604和大容量存储设备607可以统称为存储器。
计算机设备600可以通过连接在所述系统总线605上的网络接口单元611连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器601通过执行该一个或一个以上程序来实现图2或图3任一所示的方法的全部或者部分步骤。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备的处理器执行以完成本申请各个实施例所示的方法。例如,所述非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例所示的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (16)
1.一种对话处理方法,其特征在于,所述方法包括:
通过对话学习系统中的两个代理网络进行至少一轮对话;
按照强化学习的方式获取两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子;所述状态转移算子包含所述代理网络在一轮对话中对对话环境的观察值、所述代理网络在一轮对话中的对话动作、以及两个所述代理网络在一轮对话中的对话动作的奖励值;所述对话环境用于指示两个所述代理网络之间的对话情况;
基于两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子,获取两个所述代理网络各自的损失函数值;
基于两个所述代理网络各自的损失函数值,分别对两个所述代理网络进行参数更新。
2.根据权利要求1所述的方法,其特征在于,所述基于两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子,获取两个所述代理网络各自的损失函数值,包括:
对于所述至少一轮对话中的第i轮对话,基于两个所述代理网络各自与第i轮对话对应的状态转移算子,获取两个所述代理网络各自与第i轮对话对应的值函数近似值;
基于两个所述代理网络各自与第i轮对话对应的值函数近似值,获取第i轮对话的混合值函数近似值;
基于所述第i轮对话的混合值函数近似值,以及两个所述代理网络各自与第i轮对话对应的值函数近似值,获取两个所述代理网络各自与第i轮对话对应的损失函数值。
3.根据权利要求2所述的方法,其特征在于,所述基于两个所述代理网络各自与第i轮对话对应的值函数近似值,获取第i轮对话的混合值函数近似值,包括:
通过超网络的方式,将两个所述代理网络各自与第i轮对话对应的值函数近似值进行融合,获得第i轮对话的混合值函数近似值。
4.根据权利要求3所述的方法,其特征在于,所述超网络是基于QMIX框架的网络。
5.根据权利要求1所述的方法,其特征在于,两个所述代理网络包括用户代理网络以及对话系统代理网络;一轮对话包含所述用户代理网络的一个对话动作,以及所述对话系统代理网络的一个对话动作;
所述按照强化学习的方式获取两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子,包括:
对于所述至少一轮对话中的第i轮对话,基于所述用户代理网络对第i-1轮对话结束时的所述对话环境的第一观察值,通过所述用户代理网络中的用户策略,获取所述用户代理网络的第一对话动作;
基于所述对话系统代理网络对所述第一对话动作被执行后的所述对话环境的第二观察值,通过所述对话系统代理网络中的系统策略,获取所述对话系统代理网络的第二对话动作;
获取所述环境系统对所述对话系统代理网络在第i轮对话中的对话动作被执行后输出的,与第i轮对话对应的奖励值;
基于所述用户代理网络对所述第二对话动作被执行后的所述对话环境的第三观察值,通过所述用户策略,获取所述用户代理网络的第三对话动作;
获取所述对话系统代理网络对所述第三对话动作被执行后的所述对话环境的第四观察值;
获取所述用户代理网络与第i轮对应的第一状态转移算子,所述第一状态转移算子中包含所述第一观察值、所述第一对话动作、与第i轮对话对应的奖励值、以及所述第三观察值;
获取所述对话系统代理网络与第i轮对应的第二状态转移算子,所述第二状态转移算子中包含所述第二观察值、所述第二对话动作、与第i轮对话对应的奖励值、以及所述第四观察值。
6.根据权利要求5所述的方法,其特征在于,所述基于所述用户代理网络对第i-1轮对话结束时的所述对话环境的第一观察值,通过所述用户代理网络中的用户策略,获取所述用户代理网络的第一对话动作,包括:
基于所述第一观察值,通过所述用户策略,从用户目标数据库中查询用户对话信息;
基于查询到的所述用户对话信息获取所述第一对话动作。
7.根据权利要求6所述的方法,其特征在于,响应于所述对话学习系统应用于医疗领域,所述用户目标数据库中包含用户约束和用户请求;
其中,所述用户约束用于指示医疗领域的命名实体;所述用户请求用于指示医疗领域的对话请求。
8.根据权利要求7所述的方法,其特征在于,所述第一观察值包括:所述对话系统代理网络在第i-1轮对话中的对话动作、所述用户统代理网络在第i-1轮对话中的对话动作、用于指示剩余约束和剩余请求的目标状态、以及所述对话系统代理网络的响应与用户约束之间的不一致向量。
9.根据权利要求5所述的方法,其特征在于,所述基于所述对话系统代理网络对所述第一对话动作被执行后的所述对话环境的第二观察值,通过所述对话系统代理网络中的系统策略,获取所述对话系统代理网络的第二对话动作,包括:
基于所述第二观察值,通过所述系统策略,从系统数据库中查询系统对话信息;
基于查询到的所述系统对话信息获取所述第二对话动作。
10.根据权利要求9所述的方法,其特征在于,响应于所述对话学习系统应用于医疗领域,所述系统数据库中包含医疗领域的命名实体,以及所述医疗领域的命名实体的相关信息。
11.根据权利要求10所述的方法,其特征在于,所述第二观察值包括:
所述第一对话动作、所述用户统代理网络在第i-1轮对话中的对话动作、所述用户代理网络提供的约束槽和请求槽的信念状态、以及来自于所述系统数据库的查询结果数量的嵌入向量。
12.根据权利要求1至11任一所述的方法,其特征在于,所述通过对话学习系统中的两个代理网络进行至少一轮对话之前,还包括:
通过对话样本文本对两个所述代理网络进行预训练;
其中,所述对话样本文本中包含至少一轮对话的文本。
13.一种对话处理装置,其特征在于,所述装置包括:
对话模块,用于通过对话学习系统中的两个代理网络进行至少一轮对话;
算子获取模块,用于按照强化学习的方式获取两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子;所述状态转移算子包含所述代理网络在一轮对话中对对话环境的观察值、所述代理网络在一轮对话中的对话动作、以及两个所述代理网络在一轮对话中的对话动作的奖励值;所述对话环境用于指示两个所述代理网络之间的对话情况;
损失获取模块,用于基于两个所述代理网络各自与所述至少一轮对话中的每一轮对话对应的状态转移算子,获取两个所述代理网络各自的损失函数值;
参数更新模块,用于基于两个所述代理网络各自的损失函数值,分别对两个所述代理网络进行参数更新。
14.一种计算机设备,其特征在于,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执行以实现如权利要求1至12任一所述的对话处理方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行以实现如权利要求1至12任一所述的对话处理方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令由计算机设备的处理器执行该计算机指令,使得所述计算机设备执行如权利要求1至12任一所述的对话处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111070749.XA CN114281955A (zh) | 2021-09-13 | 2021-09-13 | 对话处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111070749.XA CN114281955A (zh) | 2021-09-13 | 2021-09-13 | 对话处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281955A true CN114281955A (zh) | 2022-04-05 |
Family
ID=80868530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111070749.XA Pending CN114281955A (zh) | 2021-09-13 | 2021-09-13 | 对话处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281955A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115292467A (zh) * | 2022-08-10 | 2022-11-04 | 北京百度网讯科技有限公司 | 信息处理与模型训练方法、装置、设备、介质及程序产品 |
CN116932714A (zh) * | 2023-06-30 | 2023-10-24 | 北京百度网讯科技有限公司 | 生成式对话模型训练及生成式对话实现方法和装置 |
-
2021
- 2021-09-13 CN CN202111070749.XA patent/CN114281955A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115292467A (zh) * | 2022-08-10 | 2022-11-04 | 北京百度网讯科技有限公司 | 信息处理与模型训练方法、装置、设备、介质及程序产品 |
CN115292467B (zh) * | 2022-08-10 | 2023-10-27 | 北京百度网讯科技有限公司 | 信息处理与模型训练方法、装置、设备、介质及程序产品 |
CN116932714A (zh) * | 2023-06-30 | 2023-10-24 | 北京百度网讯科技有限公司 | 生成式对话模型训练及生成式对话实现方法和装置 |
CN116932714B (zh) * | 2023-06-30 | 2024-05-24 | 北京百度网讯科技有限公司 | 生成式对话模型训练及生成式对话实现方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Building a right digital twin with model engineering | |
CN109817329B (zh) | 一种医疗问诊对话系统以及应用于该系统的强化学习方法 | |
Dharwadkar et al. | A medical chatbot | |
Machado et al. | Quality of service in healthcare units | |
Schubbach | Judging machines: Philosophical aspects of deep learning | |
Dolšak et al. | Intelligent decision support for structural design analysis | |
CN114281955A (zh) | 对话处理方法、装置、设备及存储介质 | |
US20230080424A1 (en) | Dynamic causal discovery in imitation learning | |
CN111914069A (zh) | 训练方法和装置、对话处理方法和系统及介质 | |
JP2022530868A (ja) | 機械学習に基づくターゲットオブジェクト属性予測方法、関連機器及びコンピュータプログラム | |
CN113871020B (zh) | 一种基于ai机器学习的急危重症诊后健康管理方法及系统 | |
CN113538162A (zh) | 一种种植策略生成方法、装置、电子设备及存储介质 | |
WO2024120504A1 (zh) | 一种数据处理方法及相关设备 | |
Santos Teixeira et al. | A review of plan-based approaches for dialogue management | |
Bhatia et al. | Prediction of severity of diabetes mellitus using fuzzy cognitive maps | |
Ausin et al. | Infernet for delayed reinforcement tasks: Addressing the temporal credit assignment problem | |
CN112397194B (zh) | 用于生成患者病情归因解释模型的方法、装置和电子设备 | |
Galitsky et al. | Theory of mind engine | |
Naik et al. | Explainable artificial intelligence (XAI) for population health management–an appraisal | |
KR20230040261A (ko) | 약물 반응성 예측을 위한 범용성 생체신호전달 네트워크를 메타 강화에이전트로 최적화하기 위한 시스템 및 방법 | |
Lou et al. | A function-behavior mapping approach for product conceptual design inspired by memory mechanism | |
Montagna et al. | Augmenting BDI Agency with a Cognitive Service: Architecture and Validation in Healthcare Domain | |
Tirkeş et al. | An undergraduate curriculum for deep learning | |
Sullivan et al. | Navigating the future: artificial intelligence's impact on transformational nurse leadership | |
Akbari et al. | Towards computer-aided differential diagnosis: A holonic multi-agent based medical diagnosis system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |