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

对话生成模型训练方法和装置、对话生成方法、电子设备与流程

2022-05-18 07:05:10 来源:中国专利 TAG:

1.本技术涉及人工智能
技术领域
,尤其涉及一种对话生成模型训练方法和装置、对话生成方法、电子设备。
背景技术
:2.随着经济社会和人工智能科技的发展,模拟人类实现与人交谈的对话系统逐渐深入人们的生活,为人们的工作生活提供了便利。3.相关技术中,对话系统是基于对话模板或者预先配置的对话流程生成对话的,然而,这种方式的回复内容比较单一,影响回复内容的准确性。技术实现要素:4.本公开实施例的主要目的在于提出一种对话生成模型训练方法和装置、对话生成方法、电子设备,能够提高模型生成对话的准确性。5.为实现上述目的,本公开实施例的第一方面提出了一种对话生成模型训练方法,所述方法包括:6.获取对话系统的历史对话信息;7.根据所述历史对话信息构建历史状态信息;8.对所述历史对话信息进行提取处理,得到历史奖励信息;9.根据所述历史状态信息得到历史行为信息;10.根据所述历史状态信息、所述历史行为信息、所述历史奖励信息构建三元组;11.将所述三元组输入到预设的原始对话模型中进行训练处理,得到对话生成模型;所述对话生成模型用于生成目标对话。12.在一些实施例中,所述对所述历史对话信息进行提取处理,得到历史奖励信息,包括:13.对所述历史对话信息进行分类处理,得到对话节奏信息、对话内容信息和对话时间信息;其中,所述对话时间信息包括用于表征维持历史对话时长的对话时长信息和用于表征历史对话轮数的对话轮数信息;14.将所述对话节奏信息、所述对话内容信息和所述对话时间信息输入到预设的对话奖励模型中进行奖励值计算,得到所述历史奖励信息。15.在一些实施例中,所述将所述对话节奏信息、所述对话内容信息和所述对话时间信息输入到预设的对话奖励模型中进行奖励值计算,得到所述历史奖励信息,包括:16.根据预设的对话节奏规则对所述对话节奏信息进行奖励计算,得到对话节奏奖励;17.根据预设的预训练模型对所述对话内容信息进行特征提取,得到对话内容奖励;18.根据预设的对话时间规则对所述对话时间信息进行奖励计算,得到对话时间奖励;19.根据所述对话节奏奖励、所述对话内容奖励和所述对话时间奖励得到所述历史奖励信息。20.在一些实施例中,所述原始对话模型包括神经网络模型和深度学习模型;21.所述将所述三元组输入到预设的原始对话模型中进行训练处理,得到对话生成模型,包括:22.将所述三元组中的历史状态信息输入到预设的神经网络模型;23.根据所述神经网络模型对所述历史状态信息进行基特征提取,得到对话特征向量;24.将所述对话特征向量、所述历史奖励信息和所述历史行为信息输入所述深度学习模型中进行训练处理,得到所述对话生成模型。25.在一些实施例中,所述神经网络模型包括:第一神经网络、第二神经网络、第三神经网络和第四神经网络;所述历史状态信息包括:对话文本信息、对话产品信息、对话序列信息和表述状态信息;26.所述根据所述神经网络模型对所述历史状态信息进行基特征提取,得到对话特征向量,包括:27.通过所述第一神经网络对所述对话文本信息进行特征提取,得到文本特征向量;28.通过所述第二神经网络对所述对话产品信息进行特征提取,得到产品特征向量;29.通过所述第三神经网络对所述对话序列信息进行特征提取,得到序列特征向量;30.通过所述第四神经网络对所述表述状态信息进行特征提取,得到表述特征向量;31.将所述文本特征向量、所述产品特征向量、所述序列特征向量和所述表述特征向量进行拼接处理,得到所述对话特征向量。32.在一些实施例中,所述深度学习模型包括:第一强化学习模型和第二强化学习模型;33.所述将所述对话特征向量、所述历史奖励信息和所述历史行为信息输入所述深度学习模型中进行训练处理,得到所述对话生成模型,包括:34.将所述对话特征向量输入至所述第一强化学习模型中,得到第一强化值;35.将所述第一强化值、所述历史奖励信息和所述历史行为信息输入至所述第二强化学习模型中进行迭代更新,得到所述对话生成模型。36.为实现上述目的,本公开实施例的第二方面提出了一种对话生成方法,所述方法包括:37.获取对话系统的当前对话信息;38.根据所述当前对话信息构建当前状态信息;39.将所述当前对话信息输入至对话生成模型进行对话生成处理,得到目标对话;其中,所述对话生成模型为根据第一方面实施例任一项所述的方法训练。40.为实现上述目的,本公开实施例的第三方面提出了一种对话生成模型训练装置,所述装置包括:41.获取模块,用于获取对话系统的历史对话信息;42.第一构建模块,用于根据所述历史对话信息构建历史状态信息;43.提取模块,用于对所述历史对话信息进行提取处理,得到历史奖励信息;44.处理模块,用于根据所述历史状态信息得到历史行为信息;45.第二构建模块,用于根据所述历史状态信息、所述历史行为信息、所述历史奖励信息构建三元组;46.训练模块,用于将所述三元组输入到预设的原始对话模型中进行训练处理,得到对话生成模型;所述对话生成模型用于生成目标对话。47.为实现上述目的,本公开实施例的第四方面提出了一种电子设备,包括至少一个存储器;48.至少一个处理器;49.至少一个计算机程序;50.所述计算机程序被存储在所述存储器中,处理器执行所述至少一个计算机程序以实现:51.如第一方面实施例任一项所述的方法;或者52.如第二方面实施例所述的方法。53.为实现上述目的,本公开实施例的第五方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:54.如第一方面实施例任一项所述的方法;或者55.如第二方面实施例所述的方法。56.本公开实施例提出的对话生成模型训练方法和装置、对话生成方法、电子设备,通过获取对话系统的历史对话信息,然后根据历史对话信息得到历史状态信息、历史行为信息和历史奖励信息,在将历史状态信息、历史行为信息和历史奖励信息构建的三元组输入到预设的原始对话模型中进行训练处理,得到对话生成模型,使得得到的对话生成模型充分考虑对话系统的历史状态信息和历史奖励信息,提高了模型生成对话的准确性,从而有效延长了对话的轮数,提高了对话系统的回复质量。附图说明57.图1是本技术实施例提供的对话生成模型训练方法的流程图;58.图2是图1中步骤s300的具体方法的流程图;59.图3是图2中步骤s320的具体方法的流程图;60.图4是图1中步骤s600的具体方法的流程图;61.图5是图4中步骤s620的具体方法的流程图;62.图6是图4中步骤s630的具体方法的流程图;63.图7是本技术实施例提供的对话生成方法的流程图;64.图8是本技术实施例提供的对话生成方法的一个具体应用场景的示意图;65.图9是本技术实施例提供的对话生成模型训练装置的模块框图;66.图10是本技术实施例提供的电子设备的硬件结构示意图。具体实施方式67.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。68.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。69.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的
技术领域
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。70.首先,对本技术中涉及的若干名词进行解析:71.人工智能(artificialintelligence,ai):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。72.自然语言处理(naturallanguageprocessing,nlp):nlp用计算机来处理、理解以及运用人类语言(如中文、英文等),nlp属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。自然语言处理包括语法分析、语义分析、篇章理解等。自然语言处理常用于机器翻译、手写体和印刷体字符识别、语音识别及文语转换、信息检索、信息抽取与过滤、文本分类与聚类、舆情分析和观点挖掘等
技术领域
,它涉及与语言处理相关的数据挖掘、机器学习、知识获取、知识工程、人工智能研究和与语言计算相关的语言学研究等。73.医疗云(medicalcloud):医疗云是指在云计算、移动技术、多媒体、4g通信、大数据、以及物联网等新技术基础上,结合医疗技术,使用“云计算”来创建医疗健康服务云平台,实现了医疗资源的共享和医疗范围的扩大。因为云计算技术的运用于结合,医疗云提高医疗机构的效率,方便居民就医。像现在医院的预约挂号、电子病历、医保等都是云计算与医疗领域结合的产物,医疗云还具有数据安全、信息共享、动态扩展、布局全局的优势。74.embedding:embeddinglayer是与特定自然语言处理上的神经网络模型联合学习的单词嵌入。该嵌入方法将清理好的文本中的单词进行onehot编码(热编码),向量空间的大小或维度被指定为模型的一部分,例如50、100或300维。向量以小的随机数进行初始化。embeddinglayer用于神经网络的前端,并采用反向传播算法进行监督。被编码过的词映射成词向量,如果使用多层感知器模型mlp,则在将词向量输入到模型之前被级联。如果使用循环神经网络rnn,则可以将每个单词作为序列中的一个输入。这种学习嵌入层的方法需要大量的培训数据,可能很慢,但是可以学习训练出既针对特定文本数据又针对nlp的嵌入模型。embedding是一种向量表征,是指用一个低维的向量表示一个物体,该物体可以是一个词,或是一个商品,或是一个电影等等;这个embedding向量的性质是能使距离相近的向量对应的物体有相近的含义,比如embedding(复仇者联盟)和embedding(钢铁侠)之间的距离就会很接近,但embedding(复仇者联盟)和embedding(乱世佳人)的距离就会远一些。embedding实质是一种映射,从语义空间到向量空间的映射,同时尽可能在向量空间保持原样本在语义空间的关系,如语义接近的两个词汇在向量空间中的位置也比较接近。embedding能够用低维向量对物体进行编码还能保留其含义,常应用于机器学习,在机器学习模型构建过程中,通过把物体编码为一个低维稠密向量再传给dnn,以提高效率。75.贝尔曼方程:贝尔曼方程是一种用于控制理论的方程,也被称为动态规划方程。贝尔曼方程是动态规划(dynamicprogramming)这些数学最佳化方法能够达到最佳化的必要条件。此方程把“决策问题在特定时间怎么的值”以“来自初始选择的报酬比从初始选择衍生的决策问题的值”的形式表示。借此这个方式把动态最佳化问题变成简单的子问题,而这些子问题遵守从贝尔曼所提出来的“最佳化还原理”。76.dqn:dqn与q-leanring类似都是基于值迭代的算法,但是在普通的q-learning中,当状态和动作空间是离散且维数不高时可使用q-table储存每个状态动作对的q值,而当状态和动作空间是高维连续时,使用q-table不动作空间和状态太大十分困难。所以在此处可以把q-table更新转化为一函数拟合问题,通过拟合一个函数function来代替q-table产生q值,使得相近的状态得到相近的输出动作。因此我们可以想到深度神经网络对复杂特征的提取有很好效果,所以可以将deeplearning与reinforcementlearning结合,这就成为了dqn。77.gru(gaterecurrentunit,门控循环单元):gru循环神经网络(recurrentneuralnetwork,rnn)的一种,和lstm(long-shorttermmemory)一样,也是为了解决长期记忆和反向传播中的梯度等问题而提出来的。78.textcnn(文本分类神经网络):textcnn模型是由yoonkim提出的convolutionalnauralnetworksforsentenceclassification一文中提出的使用卷积神经网络来处理nlp问题的模型。相比较nlp中传统的rnn/lstm等模型,textcnn能更加高效的提取重要特征。79.bert(bidirectionalencoderrepresentationfromtransformers)模型:bert模型进一步增加词向量模型泛化能力,充分描述字符级、词级、句子级甚至句间关系特征,基于transformer构建而成。bert中有三种embedding,即tokenembedding,segmentembedding,positionembedding;其中tokenembeddings是词向量,第一个单词是cls标志,可以用于之后的分类任务;segmentembeddings用来区别两种句子,因为预训练不光做lm还要做以两个句子为输入的分类任务;positionembeddings,这里的位置词向量不是transfor中的三角函数,而是bert经过训练学到的。但bert直接训练一个positionembedding来保留位置信息,每个位置随机初始化一个向量,加入模型训练,最后就得到一个包含位置信息的embedding,最后这个positionembedding和wordembedding的结合方式上,bert选择直接拼接。80.对话系统(也称会话代理)包括具有用于访问、处理、管理以及传递信息的人机接口的代理,通过模拟人类的计算机系统实现与人的交谈。81.随着经济社会和人工智能科技的发展,模拟人类实现与人交谈的对话系统逐渐深入人们的生活,为人们的工作生活提供了便利。82.相关技术中,对话系统是基于对话模板或者预先配置的对话流程生成对话的,然而,这种方式的回复内容比较单一,影响回复内容的准确性。83.基于此,本公开实施例提供一种对话生成模型训练方法和装置、对话生成方法、电子设备,能够提高生成的对话的准确性,有效延长了对话的轮数,提高了对话系统的回复质量。84.本技术实施例提供对话生成模型训练方法和装置、对话生成方法、电子设备,具体通过如下实施例进行说明,首先描述本公开实施例中的对话生成模型训练方法。85.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。86.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。87.本技术实施例提供的对话生成模型训练方法、对话生成方法,涉及人工智能
技术领域
,尤其涉及数据挖掘
技术领域
。本技术实施例提供的对话生成模型训练方法或对话生成方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机或者智能手表等;服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdeliverynetwork,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现对话生成模型训练方法或对话生成方法的应用等,但并不局限于以上形式。88.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。89.第一方面,请参照图1,图1是本技术一些实施例提供的对话生成模型训练方法的一个可选的流程图,对话生成模型训练方法包括步骤s100、步骤s200、步骤s300、步骤s400、步骤s500和步骤s600,应理解,本技术实施例的对话生成模型训练方法包括但不限于步骤s100至步骤s600,下面结合图1对这六个步骤进行详细介绍。90.步骤s100:获取对话系统的历史对话信息。91.具体地,在一些实施例的步骤s100中,对话系统可以是为培养保险销售人员的机器人陪练系统,可以是医疗系统中的自动问答系统,也可以是机器人客服系统等等,对此,本技术不作具体限制。如果本技术实施例的对话系统是医疗系统中的自动问答系统,则历史对话信息可以从医疗云服务器中获取。在本技术中以对话系统为培养保险销售人员的机器人陪练系统为例进行详细说明。92.在对话系统中,常常设置不同种类的机器人以实现人机对话。例如,在培养保险销售人员的机器人陪练系统的具体场景中,设置五种子机器人以实现对保险销售人员的培训,五种子机器人分别为:“寒暄机器人”、“短回复机器人”、“图谱机器人”、“问答机器人”和“夸夸机器人”。其中,“寒暄机器人”用于与用户进行闲聊,“短回复机器人”用于用简短的回复迎合用户,“图谱机器人”用于将对话收集到一张图谱中进行与用户的交流,“问答机器人”用于针对用户的表述对用户的表达进行提问,“夸夸机器人”用于对用户进行正向积极的评价。93.在本技术一些实施例的步骤s100中,历史对话信息指的就是上述机器人以及用户之间的交互信息。94.需要说明的是,历史对话信息包括多轮对话信息,例如可以选择当前对话的前三轮的对话信息作为历史对话信息。95.步骤s200:根据历史对话信息构建历史状态信息。96.具体地,在一些实施例的步骤s200中,历史对话信息包括用户和对话系统之间的对话文本信息、对话产品信息、用户在对话过程中的对话序列信息、用户在对话过程中的表述状态信息、对话系统和用户在对话过程中的机器人切换信息以及在每一次切换机器人是对应的反馈奖励信息。97.将对话文本信息、对话产品信息、对话序列信息和表述状态信息从历史对话信息中抽取出来,构建得到历史状态信息,并且用state表示。98.步骤s300:对历史对话信息进行提取处理,得到历史奖励信息。99.在一些实施例的步骤s300中,在对话系统的历史对话信息中,每一次切换机器人是对应的反馈奖励信息是已知的,因此,将这些反馈奖励信息提取出来即可得到历史奖励信息,并且用reward表示。100.步骤s400:根据历史状态信息得到历史行为信息。101.在一些实施例的步骤s400中,在对话系统中,每次切换机器人进行对话时,都有一个机器人的选择范围,在选择范围之内的每个机器人都对应一个当前状态下的反馈奖励信息,在本实施例中是根据反馈奖励信息进行机器人选择,选择一个机器人来进行对话,而对话系统中选择机器人的行为就是历史行为信息。102.由于对话已经发生,历史状态信息、历史奖励信息和历史行为信息都已经确定,因此,只需要根据历史状态信息匹配选择的机器人,即可得到历史行为信息,用action表示。103.步骤s500:根据历史状态信息、历史行为信息、历史奖励信息构建三元组。104.在一些实施例的步骤s500中,三元组为《state,reward,action》。其中,state表示某一轮对话中用户的表述状态,action表示对话系统选择的机器人行为,reward指的是,在某一轮对话中对话系统根据用户的state得到的奖励值。105.步骤s600:将三元组输入到预设的原始对话模型中进行训练处理,得到对话生成模型;对话生成模型用于生成目标对话。106.在一些实施例的步骤s600中,原始对话模型可以为上一次切换的对话生成模型,也可以为最初的对话生成模型。107.例如,对于最初的对话,将三元组中的历史状态信息state(由于是最初的对话,不存在历史状态信息,因此只需要当前状态信息)输入到神经网络模型中进行特征提取,得到当前状态信息对应的对话特征向量,然后,将该特征向量输入到dqn和贝尔曼方程组成的深度学习模型中,得到多个奖励值,每一个奖励值对应一个机器人,从多个奖励值中选择分数最高的机器人作为本次切换选择,该被选择的机器人将与用户进行对话,从而生成目标对话。108.对于第二次切换机器人时,首先获取对话系统中的历史对话信息(第二次切换就是获取最初的对话),然后通过上述方式对历史对话信息进行处理,得到历史状态信息、历史奖励信息和历史行为信息的三元组,然后将三元组输入到神经网络模型和深度学习模型组成的原始对话模型中进行训练处理,得到目标对话模型。可以理解的是,此时由于对话刚刚开始,可以直接使用第一轮中的对话生成模型进行目标对话生成。109.对于第n次切换机器人,可以获取第n-5次至第n-1次的历史对话信息,然后对历史对话信息进行提取处理,从而生成目标对话。具体的操作方法与前述的类似,在此不一一赘述。110.需要说明的是,对于第n次切换机器人时,历史对话信息可以选择从第1次至第n-1次的所有历史对话信息,也可以选择第n-5次至第n-1次的历史对话信息,或者其他第n-n次至第n-1次的历史对话信息,原始对话模型可以选择最初的神经网络模型和深度学习模型的组合,也可以选择前几轮生成的对话生成模型进行训练。111.本技术实施例提出的对话生成模型训练方法,通过获取对话系统的历史对话信息,然后根据历史对话信息得到历史状态信息、历史行为信息和历史奖励信息,在将历史状态信息、历史行为信息和历史奖励信息构建的三元组输入到预设的原始对话模型中进行训练处理,得到对话生成模型,使得得到的对话生成模型充分考虑对话系统的历史状态信息和历史奖励信息,提高了生成的对话的准确性,有效延长了对话的轮数,提高了对话系统的回复质量。112.请参照图2,图2是本技术一些实施例的步骤s300的具体方法的流程图。在本技术的一些实施例中,步骤s300包括但不限于步骤s310和步骤s320,下面结合图2对这两个步骤进行详细介绍。113.步骤s310:对历史对话信息进行分类处理,得到对话节奏信息、对话内容信息和对话时间信息;其中,对话时间信息包括用于表征维持历史对话时长的对话时长信息和用于表征历史对话轮数的对话轮数信息;114.步骤s320:将对话节奏信息、对话内容信息和对话时间信息输入到预设的对话奖励模型中进行奖励值计算,得到历史奖励信息。115.具体地,在本实施例中,首先将历史对话信息的内容按照对话节奏、对话内容、对话时间进行分类处理,得到对话节奏信息、对话内容信息和对话时间信息。其中,对话节奏信息用于表征在人机对话过程中,用户的表述节奏、问答节奏等等;对话内容信息用于表征在人机对话过程中,用户的回复质量、回复内容与机器人提问的匹配度等等;对话时间信息包括用于表征维持历史对话时长的对话时长信息和用于表征历史对话轮数的对话轮数信息。将得到的对话节奏信息、对话内容信息和对话时间信息输入到预设的对话奖励模型中进行奖励值计算,得到历史奖励信息。116.请参照图3,图3是本技术的一些实施例提供的步骤s320的具体方法的流程图。在本技术的一些实施例中,步骤s320还包括但不限于步骤s321、步骤s322、步骤s323和步骤s324。下面结合图3对这四个进行详细介绍。117.步骤s321:根据预设的对话节奏规则对对话节奏信息进行奖励计算,得到对话节奏奖励;118.在一些实施例的步骤s321中,对话节奏规则用于判断用户在对话过程中的对话节奏,对话节奏规则包括但不限于“是否连续提问”、“提问是否在开始阶段”、“提问时是否超过了三轮寒暄”等等,对于符合对话节奏规则的对话节奏信息,可以加分,如果不符合对话节奏规则或者明显不符合对话习惯,则可以扣分,从而得到对话节奏奖励。119.步骤s322:根据预设的预训练模型对对话内容信息进行特征提取,得到对话内容奖励;120.具体地,在一些实施例的步骤s322中,预训练模型用于判断用户的回复质量,预训练模型采取bert模型,通过bert模型对对话内容信息进行特征提取,从而得到用于用于表征在人机对话过程中,用户的回复质量、回复内容与机器人提问的匹配度的对话内容奖励。121.步骤s323:根据预设的对话时间规则对对话时间信息进行奖励计算,得到对话时间奖励;122.在一些实施例的步骤s323中,对话时间规则用于判断对话的持续时长和持续的轮数,对话时间规则包括对话时长规则和对话轮数规则,根据对话时长规则对对话时长信息进行打分,得到对话时长奖励;根据对话轮数规则对对话轮数信息进行打分,得到对话轮数信息,再将得到的对话时长奖励和对话轮数奖励相加,得到对话时间奖励。123.例如,可以设置不同的时长阈值,对对话时长信息进行打分,如,对于超过3分钟的对话时长信息给60分,对于超过5分钟的对话时长信息给70分,对于超过10分钟的对话时长信息给85分,对于15分钟以上的对话时长信息给95分以上等等。对于超过5轮以上的对话轮数信息给60分,对于超过10轮以上的对话轮数信息给85分,对于超过15轮以上的对话轮数信息给95分等等,然后将对话时长奖励和对话轮数奖励相加除以2得到对话时间奖励(或者其他的权重值,得到对话时间奖励)。124.步骤s324:根据对话节奏奖励、对话内容奖励和对话时间奖励得到历史奖励信息。125.具体地,在一些实施例的步骤s324中,可以直接将对话节奏奖励、对话内容奖励和对话时间奖励相加得到历史奖励信息,也可以是按照预设的权重对对话节奏奖励、对话内容奖励和对话时间奖励进行加权处理,然后再相加得到历史奖励信息。126.请参照图4,图4是本技术一些实施例提供的步骤s600的具体流程图,在一些实施例中,原始对话模型包括神经网络模型和深度学习模型,步骤s600包括但不限于步骤s610、步骤s620和步骤s630,下面结合图4对这三个步骤进行详细描述。127.步骤s610:将三元组中的历史状态信息输入到预设的神经网络模型;128.步骤s620:根据神经网络模型对历史状态信息进行基特征提取,得到对话特征向量;129.步骤s630:将对话特征向量、历史奖励信息和历史行为信息输入深度学习模型中进行训练处理,得到对话生成模型。130.具体地,在本实施例中,原始对话模型采取神经网络模型和深度学习模型相结合的方式,首先将三元组中的历史状态信息输入到预设的神经网络模型中进行基特征提取,得到对话特征向量,然后将对话特征向量、历史奖励信息和历史行为信息输入到深度学习模型中进行更新迭代,得到对话生成模型。131.需要说明的是,由于历史文本信息包括多轮对话,因此,每一轮对话都需要进行一次迭代更新,以得到对话生成模型,从而确保生成的对话能够充分考虑到历史对话信息,提高回复内容的准确性。132.请参照图5,图5是本技术一些实施例提供的步骤s620的具体方法的流程图。在一些实施例中,神经网络模型包括:第一神经网络、第二神经网络、第三神经网络和第四神经网络;历史状态信息包括:对话文本信息、对话产品信息、对话序列信息和表述状态信息。步骤s620包括但不限于步骤s621、步骤s622、步骤s623、步骤s624和步骤s625,下面结合图5对这五个步骤进行详细介绍。133.步骤s621:通过第一神经网络对对话文本信息进行特征提取,得到文本特征向量。134.具体地,在一些实施例的步骤s621中,第一神经网络采取textcnn网络模型,textcnn网络模型为针对文本进行提取的神经网络模型,通过textcnn网络模型提取得到的文本特征向量,相比较于传统的nlp模型对文本提取,能够更加高效的提出到重要特征。135.步骤s622:通过第二神经网络对对话产品信息进行特征提取,得到产品特征向量。136.具体地,在一些实施例的步骤s622中,第二神经网络采取embedding嵌入层,通过embedding嵌入层对产品信息进行特征提取,得到产品特征向量。其中,对话产品信息为对话系统中正在对话的主题。以保险销售人员的陪练系统为例,则对应的对话产品信息为相对应的保险,如车辆保险、乘车保险等等。而如果对话系统为医疗系统中的自动问答系统时,对话产品信息可以是某一款医疗用品或者某一种病症等等。137.步骤s623:通过第三神经网络对对话序列信息进行特征提取,得到序列特征向量。138.在一些实施例的步骤s623中,对话序列信息用于表征前序对话机器人的选择,如当前对话之前的前五轮选择的对话机器人。第三神经网络采取gru循环神经网络对对话序列信息进行特征提取,得到序列特征向量,gru循环神经网络注重前后文之间的联系,因此,使用gru循环神经网络能够提取出对话序列信息的重要特征。139.步骤s624:通过第四神经网络对表述状态信息进行特征提取,得到表述特征向量。140.在一些实施例的步骤s624中,表述状态信息用于表征用户在表述是的停顿时间、停顿时长、停顿次数等信息,表述状态信息也能够表征用户的联系是的回复质量。第四神经网络采取embedding嵌入层对表述状态信息进行特征提取,得到表述特征向量。141.步骤s625:将文本特征向量、产品特征向量、序列特征向量和表述特征向量进行拼接处理,得到对话特征向量。142.在一些实施例的步骤s625中,将文本特征向量、产品特征向量、序列特征向量和表述特征向量进行拼接处理,得到对话特征向量,得到对话特征向量拥有文本特征向量、产品特征向量、序列特征向量和表述特征向量的特征,以便于后续的深度学习模型能够学习到相对应的特征。143.请参照图6,图6是本技术的一些实施例提供的步骤s630的具体实现方法的流程图。在一些实施例中,深度学习模型包括:第一强化学习模型和第二强化学习模型,步骤s630包括但不限于步骤s631和步骤s632,下面结合图6对这两个步骤进行详细介绍。144.步骤s631:将对话特征向量输入至第一强化学习模型中,得到第一强化值;145.步骤s632:将第一强化值、历史奖励信息和历史行为信息输入至第二强化学习模型中进行迭代更新,得到对话生成模型。146.具体地,在一些实施例中,第一强化学习模型采取双层结构的dqn网络,分别用q-dqn和q’‑dqn表示,第二强化学习模型采取贝尔曼方程。将第一轮的对话特征向量分别输入到q-dqn和q’‑dqn中,然后根据q-dqn和q’‑dqn得到的值进行相加处理,得到第一强化值,再将第一强化值输入至贝尔曼方程中,以使贝尔曼方程根据第一强化值、历史奖励信息和历史行为信息进行迭代更新,得到第二强化值,第二强化值又输入至q-dqn中,以使第一强化学习模型根据第二强化值和第二轮的对话特征向量进行处理,以更新第一强化值,从而实现对原始对话模型的训练处理,得到对话生成模型。147.第二方面,请参照图7,图7是本技术的一些实施例提供的对话生成方法的流程图,对话生成方法包括但不限于步骤s700、步骤s800和步骤s900。下面结合图7对这三个步骤进行详细介绍。148.步骤s700:获取对话系统的当前对话信息;149.步骤s800:根据当前对话信息构建当前状态信息;150.步骤s900:将当前对话信息输入至对话生成模型进行对话生成处理,得到目标对话;其中,对话生成模型为根据第一方面实施例任一项的方法训练。151.具体地,在本技术的一些实施例中,首先获取对话系统的当前对话信息,然后根据当前对话信息构建当前状态信息,再将当前状态信息输入至训练好的对话生成模型中进行对话生成处理,得到目标对话。152.具体为:将当前状态信息输入至对话生成模型后,得到多个reward值,每一个reward对应一个action,即一个reward对应一个机器人,然后选择最大reward值对应的机器人来执行本轮对话,从而实现对话时长和对话轮数的延续,延长了对话时间。153.例如,在培养保险销售人员的机器人陪练系统的具体场景中,将对话系统的当前状态信息输入至对话生成模型后,得到五个reward值,每一reward值对应一个子机器人,然后选择最大reward值对应的机器人来执行本轮对话。154.本技术实施例的对话生成方法,通过获取对话系统的历史对话信息,然后根据历史对话信息得到历史状态信息、历史行为信息和历史奖励信息,在将历史状态信息、历史行为信息和历史奖励信息构建的三元组输入到预设的原始对话模型中进行训练处理,得到对话生成模型,使得得到的对话生成模型充分考虑对话系统的历史状态信息和历史奖励信息,再将对话系统的当前对话信息输入到对话生成模型中,从而提高了生成的对话的准确性,有效延长了对话的轮数,提高了对话系统的回复质量。155.需要说明的是,在本技术实施例中,对话生成模型是实时更新的,例如,存在10轮对话,对于生成第9轮对话时,前8轮的对话信息均为历史对话信息,根据前8轮的对话信息对第8轮原始对话模型进行迭代更新,得到用于生成第9轮目标对话的对话生成模型。对于生成第10轮对话时,可以直接用第9轮的对话信息对第9轮的对话生成模型进行训练更新,得到用于生成第10轮对话的对话生成模型。当然,也可以选择第2轮至第9轮的对话信息作为历史对话信息对原始对话模型进行训练处理,得到用于生成第10轮对话的对话生成模型。或者是一些其他的设置,对于此,本技术不作具体限制。156.请参照图8,图8是本技术实施例提供的对话生成方法的一个具体应用场景的示意图。157.首先获取对话系统的历史对话信息,然后根据历史对话信息构建历史状态信息,以state表示,其中,历史状态信息包括:对话文本信息、对话产品信息、对话序列信息和表述状态信息;再根据历史状态信息得到历史行为信息和历史奖励信息,根据历史状态信息、历史行为信息、历史奖励信息构建三元组。158.将三元组进行乱序处理,然后,通过基特征提取器对历史状态信息进行基特征提取。基特征提取器采取神经网络模型,包括:第一神经网络textcnn、第二神经网络embedding嵌入层、第三神经网络gru循环神经网络、第四神经网络embedding嵌入层。159.将历史状态信息经过基特征提取器进行基特征提取后,将得到的向量进行拼接处理,得到对话特征向量,然后将对话特征向量、历史行为信息和历史奖励信息送入深度学习模型中进行迭代处理,得到对话生成模型。其中,深度学习模型包括双层dqn网络和贝尔曼迭代方程。160.获取对话系统的当前对话信息,将当前状态信息输入至对话生成模型后,得到多个reward值,每一个reward对应一个action,即一个reward对应一个机器人,然后选择最大reward值对应的机器人来执行本轮对话,从而得到目标对话。161.通过在历史多轮对话中提取历史对话信息,并设置相应的奖励值来选择子机器人进行对话生成,得到目标对话,相比较于传统的根据预设的机器人切换方式,本技术能够充分考虑多轮对话的上下文状态信息和产品信息,使得对话能够有效的延长,能够生成高质量的回复,明显增加了对话轮数。162.需要说明的是,第二神经网络和第四神经网络虽然都是embedding嵌入层,但是,二者的参数存在差别。163.请参照图9,图9是本技术一些实施例提供的对话生成模型训练装置的模块框图。在一些实施例中,对话生成模型训练装置包括获取模块1000、第一构建模块1100、提取模块1200、处理模块1300、第二构建模块1400和训练模块1500。164.获取模块1000,用于获取对话系统的历史对话信息。165.第一构建模块1100,用于根据历史对话信息构建历史状态信息。166.提取模块1200,用于对历史对话信息进行提取处理,得到历史奖励信息。167.处理模块1300,用于根据历史状态信息得到历史行为信息。168.第二构建模块1400,用于根据历史状态信息、历史行为信息、历史奖励信息构建三元组。169.训练模块1500,用于将三元组输入到预设的原始对话模型中进行训练处理,得到对话生成模型;对话生成模型用于生成目标对话。170.本技术实施例的对话生成模型训练装置,通过获取对话系统的历史对话信息,然后根据历史对话信息得到历史状态信息、历史行为信息和历史奖励信息,在将历史状态信息、历史行为信息和历史奖励信息构建的三元组输入到预设的原始对话模型中进行训练处理,得到对话生成模型,使得得到的对话生成模型充分考虑对话系统的历史状态信息和历史奖励信息,提高了生成的对话的准确性,有效延长了对话的轮数,提高了对话系统的回复质量。171.需要说明的是,本技术实施例的对话生成模型训练装置与前述的对话生成模型训练方法相对应,具体的训练过程请参照前述的对话生成模型训练方法,在此不一一赘述。172.本技术的一些实施例还提供了一种对话生成装置,包括当前对话获取模块、第三构建模块和对话生成模块。173.当前对话获取模块,用于获取对话系统的当前对话信息。174.第三构建模块,用于根据当前对话信息构建当前状态信息。175.对话生成模块,用于将当前对话信息输入至对话生成模型进行对话生成处理,得到目标对话;其中,对话生成模型为根据第一方面实施例任一项的方法训练。176.本技术实施例的对话生成装置,通过获取对话系统的历史对话信息,然后根据历史对话信息得到历史状态信息、历史行为信息和历史奖励信息,在将历史状态信息、历史行为信息和历史奖励信息构建的三元组输入到预设的原始对话模型中进行训练处理,得到对话生成模型,使得得到的对话生成模型充分考虑对话系统的历史状态信息和历史奖励信息,再将对话系统的当前对话信息输入到对话生成模型中,从而提高了生成的对话的准确性,有效延长了对话的轮数,提高了对话系统的回复质量。177.需要说明的是,本技术实施例的对话生成装置与前述的对话生成方法相对应,具体的对话生成步骤请参照前述的对话生成方法,在此不一一赘述。178.本技术实施例还提供了一种电子设备,包括:179.至少一个存储器;180.至少一个处理器;181.至少一个程序;182.程序被存储在存储器中,处理器执行至少一个程序以实现本公开实施上述的对话生成模型训练方法或者对话生成方法。该电子设备可以为包括手机、平板电脑、个人数字助理(personaldigitalassistant,pda)、车载电脑等任意智能终端。183.本技术实施例的电子设备,用于执行上述对话生成模型训练方法或者对话生成方法,通过获取对话系统的历史对话信息,然后根据历史对话信息得到历史状态信息、历史行为信息和历史奖励信息,在将历史状态信息、历史行为信息和历史奖励信息构建的三元组输入到预设的原始对话模型中进行训练处理,得到对话生成模型,使得得到的对话生成模型充分考虑对话系统的历史状态信息和历史奖励信息,提高了生成的对话的准确性,有效延长了对话的轮数,提高了对话系统的回复质量。184.下面结合图10对本技术实施例的电子设备进行详细介绍。185.如图10,图10示意了另一实施例的电子设备的硬件结构,电子设备包括:186.处理器1600,可以采用通用的中央处理器(centralprocessingunit,cpu)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案;187.存储器1700,可以采用只读存储器(readonlymemory,rom)、静态存储设备、动态存储设备或者随机存取存储器(randomaccessmemory,ram)等形式实现。存储器1700可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1700中,并由处理器1600来调用执行本公开实施例的对话生成模型训练方法或者对话生成方法;188.输入/输出接口1800,用于实现信息输入及输出;189.通信接口1900,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;190.总线2000,在设备的各个组件(例如处理器1600、存储器1700、输入/输出接口1800和通信接口1900)之间传输信息;191.其中处理器1600、存储器1700、输入/输出接口1800和通信接口1900通过总线2000实现彼此之间在设备内部的通信连接。192.本公开实施例还提供了一种存储介质,该存储介质是计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行上述对话生成模型训练方法或者对话生成方法。193.本技术实施例的存储介质,用于执行上述对话生成模型训练方法或者对话生成方法,通过获取对话系统的历史对话信息,然后根据历史对话信息得到历史状态信息、历史行为信息和历史奖励信息,在将历史状态信息、历史行为信息和历史奖励信息构建的三元组输入到预设的原始对话模型中进行训练处理,得到对话生成模型,使得得到的对话生成模型充分考虑对话系统的历史状态信息和历史奖励信息,提高了生成的对话的准确性,有效延长了对话的轮数,提高了对话系统的回复质量。194.存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。195.本公开实施例描述的实施例是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。196.本领域技术人员可以理解的是,图中示出的技术方案并不构成对本公开实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。197.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。198.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。199.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。200.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。201.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。202.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。203.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。204.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序的介质。205.以上参照附图说明了本公开实施例的优选实施例,并非因此局限本公开实施例的权利范围。本领域技术人员不脱离本公开实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本公开实施例的权利范围之内。当前第1页12
再多了解一些

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

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

相关文献