CN115392263A - 一种基于知识选择的对话模型及其训练方法 - Google Patents
一种基于知识选择的对话模型及其训练方法 Download PDFInfo
- Publication number
- CN115392263A CN115392263A CN202211023548.9A CN202211023548A CN115392263A CN 115392263 A CN115392263 A CN 115392263A CN 202211023548 A CN202211023548 A CN 202211023548A CN 115392263 A CN115392263 A CN 115392263A
- Authority
- CN
- China
- Prior art keywords
- knowledge
- questioner
- sentence
- current
- model
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
一种基于知识选择的对话模型,所述模型包括:编码模块,其包括文本编码器和知识编码器,所述文本编码器用于对提问者语句进行编码获得提问者语句编码向量,所述知识编码器用于对知识库中的知识进行编码获得知识编码向量;知识选择模块,用于根据编码模块获得的所述提问者语句编码向量和知识编码向量从知识库中为提问者语句选择知识,所述知识选择模块通过采用强化学习的方式以对话文本及其上下文为输入、为对话文本选择的知识为输出训练获得;解码模块,用于根据所述知识选择模块选择的知识与所述提问者语句编码向量进行解码生成提问者语句的回复语句。
Description
技术领域
本发明涉及自然语言处理领域,具体来说,涉及一种人机对话系统,更具体地说,涉及一种应用了强化学习方法的基于知识选择的对话模型及其训练方法。
背景技术
目前有关自然语言处理(NLP)领域中的人机对话的生成方法已经开展了许多相关研究,其通常包含上游任务和下游任务,上游任务是将真实空间的文本信息编码到特征空间,即把提问者的话语编码为数字矩阵;下游任务则是从特征空间中把向量(数字矩阵)解码到真实空间中,即生成回复。基于知识选择的对话则是通过选择合适的知识与文本信息共同进行编解码以使生成的回复更加准确。
目前基于知识的对话已经得到了很多研究,包括收集新数据集或开发新模型,但大多数关于模型的工作很少对知识选择问题展开研究。例如:文献[1]讲述了采用外部知识记忆网络辅助Seq2Seq模型有效地结合给定的知识和对话上下文来提高响应的信息量的方案;文献[2]提出了一种增量转换器来编码多轮话语以及相关文档中的知识的方案;文献[3]提出了一种基于维基百科向导的数据集和一个模型以利用从池中选择知识并根据所选知识和给定上下文生成响应的方案;文献[4]提供一种关注两阶段基于知识的对话中的知识选择问题的方案;文献[5]提出采用BERT模型的方案,该模型是目前自然语言处理的主流预训练模型,其主要功能是作用于NLP上游任务,通常为编码文本信息的第一选择;文献[6]提出的方案中的Copy机制和文献[7]提出的方案中的Transformer解码器均是下游任务的种类。尽管目前已经提出的模型很多,但大部分模型的实际应用效果并不好,尤其是有关采用知识选择的方法。
目前已有的采用知识选择的对话生成方法大多没有考虑到多轮对话场景下知识选择的一致性、多轮对话的场景下已选择过的知识大概率不会重复使用以及没有充分地利用多轮对话场景下之前轮次已生成的回复。
综上所述,现有技术下的基于知识选择的对话生成方法存在以下缺点:
1、没有考虑多轮对话场景下知识选择的历史性,即已选择过的知识大概率不会再重复使用,如果考虑了知识选择的历史性,可以有效地提高知识选择的准确度。
2、没有充分利用多轮对话场景下之前轮次生成的回复(即上下文)来对当前轮次选择知识的过程进行调整与优化以生成更准确的回复。
参考文献列表:
文献[1]Marjan Ghazvininejad,Chris Brockett,Ming-Wei Chang,Bill Dolan,Jianfeng Gao,Wen-tau Yih,and Michel Galley.A Knowledge-Grounded NeuralConversation Model.In AAAI,2018.
文献[2]Zekang Li,Cheng Niu,Fandong Meng,Yang Feng,Qian Li,and JieZhou.Incremental Transformer with Deliberation Decoder for Document GroundedConversations.In ACL,2019b.
文献[3]Emily Dinan,Stephen Roller,Kurt Shuster,Angela Fan,MichaelAuli,and Jason Weston.Wizard of Wikipedia:Knowledge-Powered ConversationalAgents.In ICLR,2019.
文献[4]Rongzhong Lian,Min Xie,Fan Wang,Jinhua Peng,and HuaWu.Learning to Select Knowledge for Response Generation in Dialog Systems.InIJCAI,2019.
文献[5]Jacob Devlin,Ming-Wei Chang,Kenton Lee,and KristinaToutanova.BERT:Pre-Training of Deep Bidirectional Transformers for LanguageUnderstanding.In NAACL-HLT,2019.
文献[6]Zekang Li,Cheng Niu,Fandong Meng,Yang Feng,Qian Li,and JieZhou.Incremental Transformer with Deliberation Decoder for Document GroundedConversations.In ACL,2019b.
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种应用了强化学习方法的基于知识选择的对话模型及其训练方法,以及一种对话生成方法。
根据本发明的第一方面,提供一种基于知识选择的对话模型,所述模型包括:编码模块,其包括文本编码器和知识编码器,所述文本编码器用于对提问者语句进行编码获得提问者语句编码向量,所述知识编码器用于对知识库中的知识进行编码获得知识编码向量;知识选择模块,用于根据编码模块获得的所述提问者语句编码向量和知识编码向量从知识库中为提问者语句选择知识,所述知识选择模块通过采用强化学习的方式以对话文本及其上下文为输入、为对话文本选择的知识为输出训练获得;解码模块,用于根据所述知识选择模块选择的知识与所述提问者语句编码向量进行解码生成提问者语句的回复语句。
优选的,所述知识选择模块包括知识表示网络、策略网络和知识选择网络,其中:所述策略网络用于根据当前知识环境状态产生为当前提问者语句选择预判知识的动作信息并反馈给所述知识表示网络;所述知识表示网络用于根据所述策略网络的反馈的选择知识的动作信息更新提问者语句的上下文信息,并基于更新后的提问者语句的上下文信息与当前知识库信息更新知识环境状态并将其传递给所述策略网络和知识选择网络;所述知识选择网络根据所述更新后的知识环境状态为当前提问者语句选择最终的知识。
在本发明的一些实施例中,所述编码模块中的文本编码器和知识编码器均为Seq2Seq模型,优选的,所述编码模块中的文本编码器和知识编码器均由BERT网络和GRU网络构成。
在本发明的一些实施例中,所述解码模块为Seq2Seq模型,优选的,所述解码模块由Transformer网络构成。
根据本发明的第二方面,提供一种训练如本发明第一方面所述对话模型的方法,所述方法包括采用包含多轮对话组成的对话序列样本和知识库对对话模型进行多次训练,每轮对话包含提问者语句及其应答语句,每次训练按照对话轮对对话模型进行多轮迭代训练,其中,每轮训练包括如下步骤:S1、获取当前轮的对话及其上下文、知识库中的知识,并对当前轮对话的提问者语句及上下文进行编码获得嵌入了上下文信息的提问者语句编码向量,以及对知识库中此次训练中直至当前轮还未被选择过的知识进行编码获得当前轮对应的知识编码向量;S2、基于步骤S1获得的嵌入了上下文信息的提问者语句编码向量、知识编码向量、当前轮对话中提问者语句对应的应答语句在知识库中选择知识,其中,从直至当前轮还未被选择过的知识中为当前轮的提问者语句选择知识;S3、基于当前提问者语句及其上下文、为当前轮的提问者语句选择的知识进行解码获得当前轮提问者语句的回复语句;S4、基于预设的价值评价方法根据提问者语句对应的应答语句以及解码生成的回复语句计算价值并更新模型参数。
在本发明的一些实施例中,所述预设的价值评价方法是:
Reward=Acc(target_reward)+Metric(prediction,ground_truth)
其中,Acc表示知识选择的准确率,Metric表示评估生成语句的置信度,prediction表示基于模型生成的提问者语句的预测回复语句,ground_truth表示实际提问者语句的回复语句。
在本发明的一些实施例中,所述方法中将对话模型训练到基于预设的价值评价方法计算的价值不再升高为止。
在本发明的一些实施例中,在所述步骤S2中执行如下步骤选择知识:S21、基于当前轮的提问者语句以及当前的知识环境状态为当前提问者语句选择预判知识;S22、基于步骤S21选择的预判知识以及当前提问者语句及其上下文信息更新知识环境状态;S23、基于更新后的知识环境状态为当前提问者语句选择最终的知识。
在本发明的一些实施例中,所述步骤S2还包括:基于上一次生成的提问者语句的回复语句更新当前轮知识库信息中待选择知识的概率分布,并选择概率最大的知识作为本轮中当前提问者语句的最终知识。
根据本发明的第三方面,提供一种对话生成方法,所述方法包括:将提问者语句和知识库输入如本发明第一方面所述对话模型生成提问者语句的回复语句。
与现有技术相比,本发明的优点在于:
1、充分考虑了知识选择的历史性,在多轮知识型对话场景下通过排除之前已选择过的知识以减少当前轮中的候选知识,有效提高知识选择的准确度。
2、充分利用了多轮对话场景下之前轮次生成的回复(即上下文),来更新当前轮次待选择知识的概率分布,使当前轮的知识推断更加精确,这个特性也使其适用于多人对话场景。
3、采用强化学习的方式训练知识选择的过程与人学习知识的过程类似,获得的对话模型更加适应环境。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的一种基于知识选择的对话模型的结构示意图;
图2为根据本发明实施例的一种基于知识选择的对话模型中的知识选择模块的结构示意图;
图3为根据本发明实施例的一种基于知识选择的对话模型的训练方法流程示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
为了更好地理解本发明,下面介绍一下本发明的技术思想。由于现有技术已有的方法大多没有考虑到多轮对话场景下知识选择的一致性,因此,本发明在综合考虑了知识选择的多样性,基于强化学习的思想,采用历史对话信息更新候选知识以及基于选择的知识解码生成的回复语句进行价值评价提出了一种新的对话模型,通过在知识选择中引入强化学习方法对对话模型进行多次训练,通过不断更新模型参数直至达到预设要求,最终获得能够更准确地选择知识以生成更好的回复语句的对话模型。
为了更好地理解本发明的技术方案,下面结合附图以及实施例详细介绍本发明的对话模型及其训练过程。
根据本发明的一个实施例,本发明提供一种基于知识选择的对话模型,如附图1所示,所述模型包括编码模块、知识选择模块和解码模块,下面分别对各模块进行详细说明。
所述编码模块包括文本编码器和知识编码器,所述文本编码器用于对提问者语句进行编码获得提问者语句编码向量,所述知识编码器用于对知识库中的知识进行编码获得知识编码向量。根据本发明的一个实施例,编码模块采用了Seq2Seq模型来构建文本编码器和知识编码器,优选采用GRU网络与BERT网络来构建文本编码器和知识编码器,由于Seq2Seq模型涉及到的相关技术理论在自然语言处理领域属于公知的技术,此处不对其展开进行详细说明。需要说明的是,常见的Seq2Seq模型中包含多种网络模型,例如GRU网络、LSTM网络和Transformer网络,均可用于作为编码器,但是为了保障编码准确率和缩短训练时间,优选采用GRU和BERT模型的组合来构建文本编码器和知识编码器,虽然仅使用GRU网络同样可以实现编码的功能,但通过将BERT网络与GRU网络进行结合可以保证编码后的隐向量的正确性,更有利于构建对话模型。
知识选择模块,用于根据编码模块获得的所述提问者语句编码向量和知识编码向量从知识库中为提问者语句选择知识,所述知识选择模块通过采用强化学习的方式以对话文本及其上下文为输入、为对话文本选择的知识为输出训练获得,如附图2所示,知识选择模块由策略网络、知识表示网络和知识选择网络构成,其中,所述策略网络用于根据当前知识环境状态产生为当前提问者语句选择预判知识的动作信息并反馈给所述知识表示网络;所述知识表示网络用于根据所述策略网络的反馈的选择知识的动作信息更新提问者语句的上下文信息,并基于更新后的提问者语句的上下文信息与当前知识库信息更新知识环境状态并将其传递给所述策略网络和知识选择网络;所述知识选择网络根据所述更新后的知识环境状态为当前提问者语句选择最终的知识。
所述解码模块用于根据所述知识选择模块选择的知识与所述提问者语句编码向量进行解码生成提问者语句的回复语句。根据本发明的一个实施例,本发明在解码模块同样使用了Seq2Seq2模型,优选的,采用Transformer网络基于Copy机制进行解码,虽然采用其他的Seq2Seq2模型也可以实现解码,但是Transformer网络的流畅性和真实性更好,所以解码优选Transformer网络。
众所周知,将模型要在实际应用中进行实施,需要进行训练,本发明相对于现有技术来说,本发明利用强化学习的方法,充分考虑了多轮对话场景下知识选择的历史性、并充分利用了多轮对话场景下之前轮次生成的回复(即上下文)来对当前轮次选择知识的过程进行调整与优化的方式对知识选择模块进行训练。
为了更好地理解本发明,下面对强化学习的基本思想进行简单的介绍。强化学习包含三要素:环境(environment)、智能体(agent)、动作(action)。在强化学习的过程中,智能体与环境一直在互动,在每个时刻t,智能体会接收到来自环境的状态s(state),智能体基于这个状态s做出动作a(action),然后将动作a作用在环境上使其更新环境状态,于是基于更新的环境状态智能体可以接收到一个奖赏(reward)Rt+1,并且智能体基于环境更新的状态做出下一步更好的动作,通过不断的互动,使得智能体在奖赏的激励下可以做出更好的动作。实际上智能体与环境之间的交互就是产生了一个序列:s0,a0,R1,s1,a1,R2,...这个过程称为序列决策过程,即马尔科夫决策过程。基于强化学习的这个特点,本发明将知识选择视为一个连续的决策过程,而不是一个单步决策过程,因此本发明将其建模为采用强化学习中的马尔科夫决策过程利用已选择过的知识和生成的回复语句进行多轮联合推理,而不是逐轮单独推理。在本发明中,动作是指由知识选择模块中的策略网络产生选择预判知识的动作信息的动作,而环境则指对话和知识所限定的环境,而环境状态则是指结合提问者语句的上下文信息与知识库信息构成的状态,其随着不断选择新的知识不断更新,奖赏则是基于选择的知识作出的对提问者语句的回答与提问者语句的实际应答语句的价值评价。
根据本发明的一个实施例,对本发明的对话模型的训练方法包括采用包含多轮对话组成的对话序列样本和知识库对对话模型进行多次训练,每轮对话包含提问者语句及其应答语句,每次训练按照对话轮对对话模型进行多轮迭代训练,其中,如附图3所示,每轮训练包括如下步骤:S1、获取当前轮的对话及其上下文、知识库中的知识,并对当前轮对话的提问者语句及上下文进行编码获得嵌入了上下文信息的提问者语句编码向量,以及对知识库中直至当前轮还未被选择过的知识进行编码获得当前轮对应的知识编码向量;S2、基于步骤S1获得的嵌入了上下文信息的提问者语句编码向量、知识编码向量、当前轮对话中提问者语句对应的应答语句在知识库中选择知识,其中,从直至当前轮还未被选择过的知识中为当前轮的提问者语句选择知识;S3、基于当前提问者语句及其上下文、为当前轮的提问者语句选择的知识进行解码获得当前轮提问者语句的回复语句;S4、基于预设的价值评价方法根据提问者语句对应的应答语句以及解码生成的回复语句计算价值并更新模型参数。
在所述步骤S2中执行如下步骤选择知识:S21、基于当前轮的提问者语句以及当前的知识环境状态为当前提问者语句选择预判知识;S22、基于步骤S21选择的预判知识以及当前提问者语句及其上下文信息更新知识环境状态;S23、基于更新后的知识环境状态为当前提问者语句选择最终的知识。优选的,在选择知识时基于之前训练中针对当前轮的提问者语句生成的回复语句更新当前轮知识库信息中待选择知识的概率分布,在本轮训练之前的训练过程中,针对与当前轮相同的提问者语句被选择的次数多的知识则概率大,反之,被选择的次数少的知识则概率小,并选择概率最大的知识作为本轮中当前提问者语句的最终知识。其中,需要说明的是,本发明要对模型进行多次训练,每次训练要迭代训练多轮,不同次训练实际采用的是同样的样本,那就意味着,同样的提问者语句均要在不同次训练中进行知识选择,在不同次的训练中,为同样的提问者语句选择的知识可能不一样,那么对应的知识被选择的次数也会不一样,知识被选择的次数也就有多少之分,通过对模型进行不断的训练,越正确的知识被选择的次数就会越多,对应的概率就会越大,也就越容易被选择,由此,可通过训练实现为提问者语句选择更加准确的知识的目的。
为了更好地理解本发明,下面结合对话模型的每轮训练过程中模型的实际工作原理进行简单说明。
在对话模型的训练过程以及实际工作过程中,本发明均使用(1≤t≤T)表示迭代对话轮次,(1≤m≤M)和(1≤n≤N)分别表示迭代提问者语句和回复语句中的单词,(1≤l≤L)表示知识库中的知识句子,其中,T是对话最大轮次,M和N是提问者和对话机器人每次说话的长度,L是整个知识库的大小,l表示经过筛选后的知识库大小,即上一轮训练后未被选择过的知识,k代表知识库。
其中,表示第t轮对话中的提问者语句xt中的第一个单词,表示第t轮对话中的提问者语句xt中的第M个单词,表示提问者语句被编码后的维度为M*768的矩阵,表示将平均池化后得到的768维向量,表示提问者语句经过编码后得到的矩阵其通过avgpool函数(平均池化函数)进行平均池化得到一个维度为768的向量 表示维度是768的向量,768的实际意义是隐空间向量的长度大小为768,由于目前NLP任务需要使用google的预训练模型,即需要加载google提供的文件,因此需要把hidden_size设定成为768。同样的,与本轮的提问者语句xt的嵌入表示一样,通过BERT网络和时间步长上的平均池化获得本轮对话中提问者语句xt的回复语句向量
基于当前轮的提问者语句以及当前的知识环境状态为当前提问者语句选择预判知识,再基于选择的预判知识以及当前提问者语句及其上下文信息更新知识环境状态,基于更新后的知识环境状态为当前提问者语句选择最终的知识。优选的,在选择知识时基于之前训练中针对当前轮的提问者语句生成的回复语句更新当前轮知识库信息中待选择知识的概率分布,在本轮训练之前的训练过程中,针对与当前轮相同的提问者语句被选择的次数多的知识则概率大,反之,被选择的次数少的知识则概率小,并选择概率最大的知识作为本轮中当前提问者语句的最终知识。本发明采用同样的对话序列样本对模型进行多次训练,每次训练有多轮,在不同次的训练中,同样的对话轮次选择的知识可能不一样,本发明通过更新知识被选择的概率以选择概率最大的知识,来不断提升知识选择的正确性,在每次训练中,同一次训练中之前轮次已经被选择过的知识不再选择,通过这样不断的训练以实现通过从知识库中选择的知识语句与输入的提问者语句结合生成的回复语句与训练样本中的提问者语句的实际应答语句相同的效果。
采用如下方式表示Copy机制下的概率函数:
采用如下方式表示copy机制下生成回复语句中的一个单词的概率:
最终采用如下方式选择概率最高的单词用于组成回复语句:
其中,V是字典,除非单词是EOS令牌(End of Sentence,表示一句话结束的标志位),否则通过将 馈送到解码器来重复生成下一个单词,表示在第t轮对话中生成的回复语句的第n+1个单词,表示在第t轮对话中生成的回复语句的第n+1个单词对应的候选单词中选取概率分布函数pt,n(w)的最大的作为生成的单词。
本发明将对话模型训练到基于预设的价值评价方法计算的价值不再升高,其中,所述预设的价值评价为:
Reward=Acc(target_reward)+Metric(precdiction,ground_truth)
其中,Acc表示知识选择的准确率,Metric表示评估生成语句的置信度,prediction表示基于模型生成的提问者语句的预测回复语句,ground_truth表示实际提问者语句的回复语句。
根据本发明的一个实施例,采用如下方式计算Acc:
准确率=符合条件的测定值个数/总测定值个数*100%,即选择知识正确的个数/总个数*100%。
根据本发明的一个实施例,采用如下方式计算Metric(一般用F1-score表示):
其中,召回率(recall)=prediction和ground_truth二者重复(相同)部分的token数量/ground_truth的token总数量,准确率(precision)=prediction和ground_truth二者重复(相同)部分的token数量/prediction的token总数量。
为了验证本发明的效果,下面通过WOW数据集进行实验以对本发明最终实现的效果进行说明。
首先介绍一下WOW数据集,WOW数据集指维基百科的向导数据集,其包含18430个引导对话、1948个验证对话和1933个测试对话,测试集分为两个子集,测试可见(即表1中的Test Seen)和测试不可见(即表1中的Test Unseen),其中,测试可见的对话包含965个与训练集和验证集中主题相同的对话,而测试不可见的对话包含968个与训练集和验证集中主题均不一样的对话。分别采用现有技术下的使用不同模型的方法与采用本发明提供的对话模型的方法在WOW数据集上进行实验,结果如表1所示。表1中的PPL为困惑度的量化指标,R-1和R-2为评价生成对话的效果的量化指标,Acc为知识选择的准确率的量化指标,其中,PPL的值越低说明生成的对话的效果越好,R-1、R-2和Acc的值越高说明生成的对话的效果越好。
表1
从表1可以看出,本发明所提供的对话模型最终在测试可见的对话中与测试不可见的对话中准确率均为最高,同时在测试不可见的对话中的困惑度最低且生成的对话效果也为最好。由于测试不可见的对话与训练集和验证集中主题均不一样,因此能够说明在采用WOW数据集进行训练后,本发明提供的对话模型基于输入的提问者语句进行知识选择并生成回复语句的效果更好,即本发明提供的对话模型在WOW数据集上达到知识选择的效果最优以及生成的回复效果最优。
与现有技术相比,本发明的优点在于:
1、充分考虑了知识选择的历史性,在多轮知识型对话场景下通过排除之前已选择过的知识以减少当前轮中的候选知识,有效提高知识选择的准确度。
2、充分利用了多轮对话场景下之前轮次生成的回复(即上下文),来更新当前轮次待选择知识的概率分布,使当前轮的知识推断更加精确,这个特性也使其适用于多人对话场景。
3、采用强化学习的方式训练知识选择的过程与人学习知识的过程类似,获得的对话模型更加适应环境。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (14)
1.一种基于知识选择的对话模型,其特征在于,所述模型包括:
编码模块,其包括文本编码器和知识编码器,所述文本编码器用于对提问者语句进行编码获得提问者语句编码向量,所述知识编码器用于对知识库中的知识进行编码获得知识编码向量;
知识选择模块,用于根据编码模块获得的所述提问者语句编码向量和知识编码向量从知识库中为提问者语句选择知识,所述知识选择模块通过采用强化学习的方式以对话文本及其上下文为输入、为对话文本选择的知识为输出训练获得;
解码模块,用于根据所述知识选择模块选择的知识与所述提问者语句编码向量进行解码生成提问者语句的回复语句。
2.根据权利要求1所述的模型,其特征在于,所述知识选择模块包括知识表示网络、策略网络和知识选择网络,其中:
所述策略网络用于根据当前知识环境状态产生为当前提问者语句选择预判知识的动作信息并反馈给所述知识表示网络;
所述知识表示网络用于根据所述策略网络的反馈的选择知识的动作信息更新提问者语句的上下文信息,并基于更新后的提问者语句的上下文信息与当前知识库信息更新知识环境状态并将其传递给所述策略网络和知识选择网络;
所述知识选择网络根据所述更新后的知识环境状态为当前提问者语句选择最终的知识。
3.根据权利要求1所述的模型,其特征在于,所述编码模块中的文本编码器和知识编码器均为Seq2Seq模型。
4.根据权利要求3所述的模型,其特征在于,所述编码模块中的文本编码器和知识编码器均由BERT网络和GRU网络构成。
5.根据权利要求1所述的模型,其特征在于,所述解码模块为Seq2Seq模型。
6.根据权利要求5所述的模型,其特征在于,所述解码模块由Transformer网络构成。
7.一种训练如权利要求1-6任一所述对话模型的方法,其特征在于,所述方法包括采用包含多轮对话组成的对话序列样本和知识库对对话模型进行多次训练,每轮对话包含提问者语句及其应答语句,每次训练按照对话轮对对话模型进行多轮迭代训练,其中,每轮训练包括如下步骤:
S1、获取当前轮的对话及其上下文、知识库中的知识,并对当前轮对话的提问者语句及上下文进行编码获得嵌入了上下文信息的提问者语句编码向量,以及对知识库中此次训练中直至当前轮还未被选择过的知识进行编码获得当前轮对应的知识编码向量;
S2、基于步骤S1获得的嵌入了上下文信息的提问者语句编码向量、知识编码向量、当前轮对话中提问者语句对应的应答语句在知识库中选择知识,其中,从直至当前轮还未被选择过的知识中为当前轮的提问者语句选择知识;
S3、基于当前提问者语句及其上下文、为当前轮的提问者语句选择的知识进行解码获得当前轮提问者语句的回复语句;
S4、基于预设的价值评价方法根据提问者语句对应的应答语句以及解码生成的回复语句计算价值并更新模型参数。
8.根据权利要求7所述的方法,其特征在于,所述预设的价值评价方法是:
Reward=Acc(target_reward)+Metric(prediction,ground_truth)
其中,Acc表示知识选择的准确率,Metric表示评估生成语句的置信度,prediction表示基于模型生成的提问者语句的预测回复语句,ground_truth表示实际提问者语句的回复语句。
9.根据权利要求7所述的方法,其特征在于,所述方法中将对话模型训练到基于预设的价值评价方法计算的价值不再升高为止。
10.根据权利要求7所述的方法,其特征在于,在所述步骤S2中执行如下步骤选择知识:
S21、基于当前轮的提问者语句以及当前的知识环境状态为当前提问者语句选择预判知识;
S22、基于步骤S21选择的预判知识以及当前提问者语句及其上下文信息更新知识环境状态;
S23、基于更新后的知识环境状态为当前提问者语句选择最终的知识。
11.根据权利要求7所述的方法,其特征在于,所述步骤S2还包括:基于上一次生成的提问者语句的回复语句更新当前轮知识库信息中待选择知识的概率分布,并选择概率最大的知识作为本轮中当前提问者语句的最终知识。
12.一种对话生成方法,其特征在于,所述方法包括:
将提问者语句和知识库输入如权利要求1-6任一所述对话模型生成提问者语句的回复语句。
13.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序可被处理器执行以实现权利要求7-11或12中任一所述方法的步骤。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求7-11或12中任一所述方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111522308 | 2021-12-13 | ||
CN2021115223089 | 2021-12-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115392263A true CN115392263A (zh) | 2022-11-25 |
Family
ID=84122893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211023548.9A Pending CN115392263A (zh) | 2021-12-13 | 2022-08-25 | 一种基于知识选择的对话模型及其训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115392263A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028615A (zh) * | 2023-03-30 | 2023-04-28 | 北京红棉小冰科技有限公司 | 基于知识引导的回复生成方法、装置和电子设备 |
CN117093696A (zh) * | 2023-10-16 | 2023-11-21 | 浙江同花顺智能科技有限公司 | 一种大语言模型的提问文本生成方法、装置、设备及介质 |
-
2022
- 2022-08-25 CN CN202211023548.9A patent/CN115392263A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028615A (zh) * | 2023-03-30 | 2023-04-28 | 北京红棉小冰科技有限公司 | 基于知识引导的回复生成方法、装置和电子设备 |
CN116028615B (zh) * | 2023-03-30 | 2023-06-30 | 北京红棉小冰科技有限公司 | 基于知识引导的回复生成方法、装置和电子设备 |
CN117093696A (zh) * | 2023-10-16 | 2023-11-21 | 浙江同花顺智能科技有限公司 | 一种大语言模型的提问文本生成方法、装置、设备及介质 |
CN117093696B (zh) * | 2023-10-16 | 2024-02-02 | 浙江同花顺智能科技有限公司 | 一种大语言模型的提问文本生成方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Saharia et al. | Non-autoregressive machine translation with latent alignments | |
CN115392263A (zh) | 一种基于知识选择的对话模型及其训练方法 | |
Evermann et al. | Predicting process behaviour using deep learning | |
Murakami et al. | Learning to generate market comments from stock prices | |
CN109522411B (zh) | 一种基于神经网络的写作辅助方法 | |
US11972365B2 (en) | Question responding apparatus, question responding method and program | |
CN111095259B (zh) | 使用n-gram机器的自然语言处理 | |
CN110326002B (zh) | 使用在线注意的序列处理 | |
JP2021524623A (ja) | 質問応答としてのマルチタスク学習 | |
CN110210024B (zh) | 一种信息处理方法、装置及存储介质 | |
CN111727444A (zh) | 通用变换器 | |
CN110023963A (zh) | 使用神经网络处理文本序列 | |
CN111386537A (zh) | 基于注意力的仅解码器的序列转换神经网络 | |
Zhao et al. | A document-grounded matching network for response selection in retrieval-based chatbots | |
CN109074517A (zh) | 全局归一化神经网络 | |
US20180276105A1 (en) | Active learning source code review framework | |
CN111625634A (zh) | 词槽识别方法及装置、计算机可读存储介质、电子设备 | |
WO2019235103A1 (ja) | 質問生成装置、質問生成方法及びプログラム | |
CN115552417A (zh) | 具有稀疏注意力机制的注意力神经网络 | |
CN112348911A (zh) | 基于语义约束的堆叠文本生成细粒度图像方法及系统 | |
CN111400468B (zh) | 对话状态跟踪系统及方法和人机对话装置及方法 | |
CN111291175A (zh) | 一种基于策略梯度算法的自动生成提交需求摘要的方法 | |
Deng et al. | Cascaded text generation with markov transformers | |
CN112183062B (zh) | 一种基于交替解码的口语理解方法、电子设备和存储介质 | |
CN113160794A (zh) | 基于音色克隆的语音合成方法、装置及相关设备 |
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 |