对话系统获取方法、装置、存储介质及计算机程序产品与流程

文档序号:24306862发布日期:2021-03-17 00:59阅读:78来源:国知局
对话系统获取方法、装置、存储介质及计算机程序产品与流程

本公开涉及人工智能技术领域,特别涉及智能语音、自然语言处理及深度学习领域的对话系统获取方法、装置、存储介质及计算机程序产品。



背景技术:

目前,基于人工智能(ai,artificialintelligence)的对话系统受到越来越多的关注。

传统的对话系统主要基于人-人对话语料,利用最大似然等目标函数来优化模型。但人类和人类的对话往往带有诸多背景信息,如对话发生场景、对话双方的背景、状态等。这些信息在人-人对话语料中缺失,很容易导致对话系统的训练被噪声所左右,从而影响了训练效果等。



技术实现要素:

本公开提供了对话系统获取方法、装置、存储介质及计算机程序产品。

一种对话系统获取方法,包括:

利用神经网络模型建模至少两个智能体;

利用所述至少两个智能体组成虚拟交互系统;

针对任一智能体,分别进行以下处理:

当所述智能体向自身之外的其它智能体执行交互动作后,确定所述交互动作对应的奖励值;

根据确定出的奖励值,并以获得更高奖励值为目标,持续训练所述智能体;

当训练完成后,将所述智能体作为用于进行人机对话的对话系统。

一种对话系统获取装置,包括:第一构建模块、第二构建模块以及训练模块;

所述第一构建模块,用于利用神经网络模型建模至少两个智能体;

所述第二构建模块,用于利用所述至少两个智能体组成虚拟交互系统;

所述训练模块,用于针对任一智能体,分别进行以下处理:当所述智能体向自身之外的其它智能体执行交互动作后,确定所述交互动作对应的奖励值;根据确定出的奖励值,并以获得更高奖励值为目标,持续训练所述智能体;当训练完成后,将所述智能体作为用于进行人机对话的对话系统。

一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上所述的方法。

一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行如以上所述的方法。

一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如以上所述的方法。

上述公开中的一个实施例具有如下优点或有益效果:可在包括至少两个智能体的虚拟交互系统中训练智能体,并可将训练完成的智能体作为用于进行人机对话的对话系统,从而无需用到人-人对话语料,避免了现有技术中的问题,进而提升了训练效果及对话系统性能等。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1为本公开所述对话系统获取方法实施例的流程图;

图2为本公开所述两个智能体之间的交互内容示意图;

图3为图2所示第一智能体和第二智能体的训练过程示意图;

图4为本公开所述对话系统获取装置40实施例的组成结构示意图;

图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

另外,应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

图1为本公开所述对话系统获取方法实施例的流程图。如图1所示,包括以下具体实现方式。

在步骤101中,利用神经网络模型建模至少两个智能体(agent)。

在步骤102中,利用所述至少两个智能体组成虚拟交互系统。

在步骤103中,针对任一智能体,分别进行以下处理:当智能体向自身之外的其它智能体执行交互动作后,确定交互动作对应的奖励值(reward);根据确定出的奖励值,并以获得更高奖励值为目标,持续训练智能体;当训练完成后,将智能体作为用于进行人机对话的对话系统。

现有的对话系统解决方案是基于对人类对话的模仿,这种方式缺乏对于对话的本质的探讨。而上述方法实施例所述方案中提出了一种在一个虚拟的多机器人(智能体)世界中训练对话系统的方法,回归对话系统的本质,即是为了智能体之间高效的交流信息,基于这种信息交流的需求,可以训练出能够根据自身需求来有效沟通的智能体,并经过虚拟世界到现实世界的迁移,使得智能体能够和人类进行更为高效和有的放矢的沟通,所述方法无需用到人-人对话语料,避免了现有技术中的问题,提升了训练效果及对话系统性能等。

每个智能体均是一个能够根据自身与其它智能体的交互记录来执行一定动作的系统,该系统可以利用神经网络模型来进行建模,本公开中不限定具体建模方式,可根据实际需要而定。

所建模的智能体的具体数量同样可根据实际需要而定,但至少为两个。利用建模的多个智能体,可组成虚拟交互系统。

任意两个智能体之间均可进行交互。比如,对于任意一个智能体来说,均可向自身之外的其它任意智能体执行交互动作。优选地,所述交互动作可包括:对话交流和推荐。

对话交流可以是指发送对话消息等,推荐可以是指推荐内容资源等。内容资源的具体类型不限,比如可以是文章、视频等。

另外,可分别为每个智能体维护一个内容资源池c,c={c1,c2,…,cn},n表示内容资源池中包括的内容资源的数量。每个内容资源池中具体包括哪些类型的内容资源以及不同类型的内容资源的具体数量等均可根据实际需要而定。另外,不同智能体对应的内容资源池中包括的内容资源可以相同,也可以不同。

相应地,智能体所推荐的内容资源可为对应的内容资源池中的内容资源,如推荐一篇文章等。

当一个智能体对另外一个智能体执行交互动作后,可确定出交互动作对应的奖励值。

比如,当执行的交互动作为对话交流时,可分别获取所发送的对话消息对应的合理性评分、字数惩罚评分以及语言模型评分,并可计算合理性评分与字数惩罚评分的差值,得到第一计算结果,进一步地,可计算第一计算结果与语言模型评分的差值,得到第二计算结果,将第二计算结果作为该交互动作对应的奖励值。

即有:r1=rcoh-rcha-rfluency;(1)

其中,r1表示对话交流对应的奖励值,rcoh表示合理性评分,rcha表示字数惩罚评分,rfluency表示语言模型评分。

优选地,可利用合理性评分模型确定出对话消息对应的合理性评分,利用语言模型确定出对话消息对应的语言模型评分。合理性评分模型和语言模型均可为预先训练得到的。

另外,可统计对话消息中包含的字数,根据统计出的字数确定出对话消息对应的字数惩罚评分。比如,可将统计出的字数作为字数惩罚评分,或者,可将统计出的字数按预定方式进行转换后作为字数惩罚评分等。如何进行转换可根据实际需要而定,比如,可进行归一化处理等。

当执行的交互动作为推荐时,可获取被推荐的智能体对所推荐的内容资源的评分,并计算所述评分与推荐成本的差值,将得到的差值作为该交互动作对应的奖励值,推荐成本为预定值。

即有:r2=s-rrec;(2)

其中,r2表示推荐对应的奖励值,s表示被推荐的智能体对所推荐的内容资源的评分,rrec表示推荐成本,通常为一个预先设定的固定值。

优选地,可利用预先设定的评分机制,根据被推荐的智能体的兴趣分布信息及所推荐的内容资源的内容信息,确定出被推荐的智能体对所推荐的内容资源的评分。

即可设定一个评分机制f(uj,ci),用于确定被推荐的智能体对所推荐的内容资源的评分。其中,uj表示被推荐的智能体的兴趣分布信息,如对哪些类别(如体育、娱乐等)的内容资源感兴趣等,如何获取被推荐的智能体的兴趣分布信息为现有技术,ci表示所推荐的内容资源的内容信息,如可包括所属的类别等。本公开中对于评分机制的具体实现不作限制。

基于上述处理,通过合理设置不同交互动作对应的奖励值的计算方式,实现了奖励值的高效准确的评估。

对于任一智能体来说,可根据与其它另一智能体的交互记录等,通过自身的策略等确定出下一个交互动作,如是进行对话交流还是推荐,以及对话消息的具体内容或所要推荐的内容资源等。具体实现为现有技术。

另外,根据确定出的奖励值,可以获得更高奖励值为目标,持续训练智能体。比如,可通过强化学习的方式,以获得更高奖励值为目标,持续训练智能体,直至训练完成,具体实现同样为现有技术。

即每个智能体均存在一个需要完成的目标,有定量的评价方式,即奖励值,可通过不断地训练,使智能体获得更高的评价等。

图2为本公开所述两个智能体之间的交互内容示意图。如图2所示,第一智能体向第二智能体发送对话消息“你喜欢音乐吗?(doyoulikemusic?)”,可根据对应的合理性评分、字数惩罚评分以及语言模型评分,确定出该对话消息对应的奖励值,之后第二智能体向第一智能体发送了对话消息“体育(sports)#$喜欢(like)”,可根据对应的合理性评分、字数惩罚评分以及语言模型评分,确定出该对话消息对应的奖励值,可以看出,该对话消息中包含了一些无意义的字符,说明如果不加训练的话,智能体发送的对话消息中可能包含任意内容,之后第一智能体向第二智能体推荐了一篇文章,“推荐给你:鹈鹕队的布兰登英格拉姆被评为2019-2020赛季起亚进步最快球员(recommendtoyou:pelicans’brandoningramnamed2019-2020kiamostimprovedplayer)”,该文章可为第一智能体对应的内容资源池中的文章,根据第二智能体对该文章的评分及推荐成本,可得到本次推荐对应的奖励值,之后第二智能体向第一智能体发送了对话消息“我喜欢它,你喜欢体育?(ilikeit,youlikesports?)”,可根据对应的合理性评分、字数惩罚评分以及语言模型评分,确定出该对话消息对应的奖励值。

图3为图2所示第一智能体和第二智能体的训练过程示意图,具体实现请参照前述相关说明,不再赘述。

对于训练完成的智能体,可将其作为用于进行人机对话的对话系统,与人类进行交互。

综合上述处理可以看出,本公开所述方案中,可在包括至少两个智能体的虚拟交互系统中训练智能体,并可将训练完成的智能体作为用于进行人机对话的对话系统,从而无需用到人-人对话语料,避免了现有技术中的问题,提升了训练效果及对话系统性能等,得到的对话系统能够以更高效的方式和人类沟通交流,了解其兴趣,并可利用自身的内容资源池,合理地推荐内容资源等。

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

以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。

图4为本公开所述对话系统获取装置40实施例的组成结构示意图。如图4所示,包括:包括:第一构建模块401、第二构建模块402以及训练模块403。

第一构建模块401,用于利用神经网络模型建模至少两个智能体。

第二构建模块402,用于利用所述至少两个智能体组成虚拟交互系统。

训练模块403,用于针对任一智能体,分别进行以下处理:当智能体向自身之外的其它智能体执行交互动作后,确定交互动作对应的奖励值;根据确定出的奖励值,并以获得更高奖励值为目标,持续训练智能体;当训练完成后,将智能体作为用于进行人机对话的对话系统。

每个智能体均是一个能够根据自身与其它智能体的交互记录来执行一定动作的系统,该系统可以利用神经网络模型来进行建模,本公开中不限定具体建模方式,可根据实际需要而定。

所建模的智能体的具体数量同样可根据实际需要而定,但至少为两个。第二构建模块402可利用第一构建模块401建模的多个智能体组成虚拟交互系统。

任意两个智能体之间均可进行交互。比如,对于任意一个智能体来说,均可向自身之外的其它任意智能体执行交互动作。优选地,所述交互动作可包括:对话交流和推荐。

对话交流可以是指发送对话消息等,推荐可以是指推荐内容资源等。内容资源的具体类型不限。

相应地,第二构建模块402可分别为各智能体维护一个内容资源池;所推荐的内容资源可为智能体对应的内容资源池中的内容资源,如推荐一篇文章等。

当一个智能体对另外一个智能体执行交互动作后,可确定出交互动作对应的奖励值。

比如,当交互动作为对话交流时,训练模块403可分别获取所发送的对话消息对应的合理性评分、字数惩罚评分以及语言模型评分,并可计算合理性评分与字数惩罚评分的差值,得到第一计算结果,进一步地,可计算第一计算结果与语言模型评分的差值,得到第二计算结果,将第二计算结果作为该交互动作对应的奖励值。

优选地,训练模块403可利用合理性评分模型确定出对话消息对应的合理性评分,利用语言模型确定出对话消息对应的语言模型评分。合理性评分模型和语言模型均可为预先训练得到的。

另外,训练模块403可统计对话消息中包含的字数,根据统计出的字数确定出对话消息对应的字数惩罚评分。比如,可将统计出的字数作为字数惩罚评分,或者,可将统计出的字数按预定方式进行转换后作为字数惩罚评分等。如何进行转换可根据实际需要而定,比如,可进行归一化处理等。

当交互动作为推荐时,训练模块403可获取被推荐的智能体对所推荐的内容资源的评分,并计算所述评分与推荐成本的差值,将差值作为该交互动作对应的奖励值,推荐成本为预定值。

优选地,训练模块403可利用预先设定的评分机制,根据被推荐的智能体的兴趣分布信息及所推荐的内容资源的内容信息,确定出被推荐的智能体对所推荐的内容资源的评分。

对于任一智能体来说,可根据与其它另一智能体的交互记录等,通过自身的策略等确定出下一个交互动作,如是进行对话交流还是推荐,以及对话消息的具体内容或所要推荐的内容资源等。

另外,训练模块403可根据确定出的奖励值,以获得更高奖励值为目标,持续训练智能体。比如,可通过强化学习的方式,以获得更高奖励值为目标,持续训练智能体,直至训练完成。

对于训练完成的智能体,可将其作为用于进行人机对话的对话系统,与人类进行交互。

图4所示装置实施例的具体工作流程请参照前述方法实施例中的相关说明,不再赘述。

总之,采用本公开装置实施例实施例方案,可在包括至少两个智能体的虚拟交互系统中训练智能体,并可将训练完成的智能体作为用于进行人机对话的对话系统,从而无需用到人-人对话语料,避免了现有技术中的问题,进而提升了训练效果及对话系统性能等。

本公开所述方案可应用于人工智能领域,特别涉及智能语音、自然语言处理和深度学习等领域。

人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术,人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术,人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram503中,还可存储设备500操作所需的各种程序和数据。计算单元501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如本公开所述的方法。例如,在一些实施例中,本公开所述的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到ram503并由计算单元501执行时,可以执行本公开所述的方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开所述的方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1