当前位置: 首页 > 专利查询>山东大学专利>正文

生成式多轮闲聊对话方法、系统及计算机可读存储介质技术方案

技术编号:19215801 阅读:45 留言:0更新日期:2018-10-20 06:45
本发明专利技术公开了生成式多轮闲聊对话方法、系统及计算机可读存储介质,分为两个阶段:阶段一:利用语料库的对话,对多轮闲聊对话模型进行训练;阶段二:将用户提出的待答复的问题输入到训练好的多轮闲聊对话模型中,输出实际答复。通过挖掘对话历史中的关键词、在模型中引入注意力机制,将对话历史中的所有词区别对待,扩大了历史对话中关键词在生成回复时的作用。通过宽度通道来预测关键词拓宽话题,通过深度通道来预测历史对话中关键词的权重,以此来深入当前话题,将两部分得到的话题信息引入解码器中辅助解码,话题信息的引导有效地解决了无意义回复的问题,大大减少了无意义回复的数量。

【技术实现步骤摘要】
生成式多轮闲聊对话方法、系统及计算机可读存储介质
本专利技术涉及一种生成式多轮闲聊对话方法、系统及计算机可读存储介质。
技术介绍
对话系统,也被称为智能对话体或者聊天机器人,已经被广泛应用于各种生活场景中,包括客服、娱乐闲聊、情感陪护、知识共享等等。从用途上,对话系统可以大致分为闲聊对话系统和以任务为导向的对话系统。从技术上,对话系统可以分为基于规则、基于检索、基于生成的对话系统,其中,基于规则的对话系统需要耗费大量的人力资源来设计规则,基于检索的对话系统严重依赖于语料库的质量和大小,并且基于规则或者检索的对话系统严重限制了生成回复的多样性。基于生成的对话系统能够生成更灵活的回复,也是近年来研究人员重点努力的一个方向。基于生成的闲聊对话系统包括单轮对话闲聊系统和多轮对话闲聊系统。单轮对话的闲聊系统主要的实现技术是基于编码器-译码器框架,利用人人对话语料来训练一个神经网络,将对话语料组织成提问-回复对,将提问、回复分别作为模型的输入和输出来训练网络模型。单轮对话系统面临的一个问题是模型忽略了对话历史对当前回复的影响。虽然有很多研究工作提高了多轮对话闲聊系统的表现,但是它仍面临一些问题,其中一个较为突出的问题是多轮对话闲聊系统经常生成无意义回复的问题。比如,对话系统经常生成“我不知道”、“我也是”等无意义回复。这种无意义回复的生成主要是因为在语料库中这种回复所占的比例较高,使得训练的模型倾向于生成较为普遍的无意义回复。
技术实现思路
为了解决现有技术的不足,本专利技术提供了一种生成式多轮闲聊对话方法、系统及计算机可读存储介质;作为本专利技术的第一方面,提供了一种生成式多轮闲聊对话方法;一种生成式多轮闲聊对话方法,分为两个阶段:阶段一:利用语料库的对话,对多轮闲聊对话模型进行训练;阶段二:将用户已经发生的对话或新提出的待答复的问题作为对话历史输入到训练好的多轮闲聊对话模型中,输出实际答复。所述利用语料库的对话,对多轮闲聊对话模型进行训练,包括:步骤(1):构建多轮闲聊对话模型,所述多轮闲聊对话模型包括:关键词抽取模块、宽度通道、全局通道、深度通道和解码器;所述宽度通道和深度通道并列设置,全局通道的输出分别作为宽度通道和深度通道的输入;所述宽度通道内设置有基于注意力机制的循环神经网络;所述全局通道内设置编码器;所述深度通道内设置深度神经网络;所述宽度通道和深度通道的输入端均与关键词抽取模块连接;所述宽度通道、全局通道和深度通道的输出端均与解码器连接,所述解码器内设有基于注意力机制的循环神经网络;步骤(2):将语料库中的对话分为历史对话和当前答复,所述历史对话和当前答复是相对而言的,所述历史对话,是指当前答复之前的对话内容;历史对话发生的时刻在当前答复发生的时刻之前;所述历史对话包括已知的若干组对话;然后,抽取历史对话的关键词;步骤(3):将语料库中的历史对话输入到全局通道的编码器中进行编码,生成上下文向量;步骤(4):将步骤(2)得到的历史对话的关键词和步骤(3)得到的上下文向量,输入到宽度通道的基于注意力机制的循环神经网络,输出用来拓宽话题的预测关键词,并将预测关键词编码为对应的预测关键词的编码向量;步骤(5):将步骤(2)得到的历史对话的关键词和步骤(3)得到的上下文向量,输入到深度通道的深度神经网络,输出历史对话中关键词的权重,基于权重得到加权后的历史对话关键词编码向量;步骤(6):将步骤(3)得到的上下文向量、步骤(4)得到的预测关键词的编码向量和步骤(5)得到的加权后的历史对话关键词编码向量均输入到解码器的基于注意力机制的循环神经网络中,输出回复结果;步骤(7):将步骤(6)得到的回复结果,与步骤(2)中的当前回复进行比较,计算交叉熵,得到损失函数,利用梯度下降算法对多轮闲聊对话模型进行优化,得到训练好的多轮闲聊对话模型。作为本专利技术的进一步改进,阶段二所执行的步骤与阶段一所执行的步骤(2)-(6)是一样的,只是阶段二中将用户已经发生的对话或新提出的待答复的问题视为历史对话。阶段二的步骤(6)得到的回复直接输出,反馈给用户。阶段二中不执行步骤(1)和步骤(7)。作为本专利技术的进一步改进,所述步骤(2)中:所述语料库,是指新浪微博中文语料库和DailyDialog多轮对话语料库。作为本专利技术的进一步改进,所述步骤(2)的步骤为:将语料库中的每组历史对话作为一个文件,将整个语料库看成文件集;采用TF-IDF算法计算每个词对于每个文件的权重;从每组历史对话的所有词中筛选权重高于设定阈值的词作为每组历史对话的关键词。作为本专利技术的进一步改进,所述步骤(3)中:对历史对话进行分词处理,将历史对话看成一组词的序列,利用循环神经网络对每组词的序列进行编码,编码成一个上下文向量;作为本专利技术的进一步改进,所述步骤(3)中:C={w1,w2…wT}其中C代表词的序列,wi表示历史对话中的第i个词,T是指整个历史对话共包含T个词。f是由循环神经网络单元构成的非线性函数;ht是循环神经网络的在t时刻的隐状态向量,是历史对话中第t个词wt的编码向量,ht-1是循环神经网络的在t-1时刻的隐状态向量;编码结束时,T时刻的隐状态向量hT就是最后编码成的上下文向量。其中,词的编码向量是在语料库上预训练得到的,每个词的编码向量的维度是100,词的编码向量作为训练参数是可以在训练过程中根据损失函数更新的;作为本专利技术的进一步改进,所述步骤(4)中:基于注意力机制的循环神经网络,例如:DzmitryBahdanau,KyunghyunCho,andYoshuaBengio.2014.NeuralMachineTranslationbyJointlyLearningtoAlignandTranslate.arXivpreprintarXiv:1409.0473(2014).作为本专利技术的进一步改进,所述步骤(4)中:利用步骤(3)得到的隐状态向量对基于注意力机制的循环神经网络进行初始化,基于注意力机制的循环神经网络的输入值是历史对话关键词的编码向量和由注意力机制对步骤(3)的每一个隐状态向量和历史对话关键词的编码向量加权计算之后的向量。s0=hTst是循环神经网络在t时刻的隐状态向量,st-1是循环神经网络在t-1时刻的隐状态向量,是t-1时刻预测关键词的编码向量,是指t-1时刻预测的关键词。ct是由注意力机制对步骤(3)的每一个隐状态向量和历史对话关键词的编码向量加权计算之后的向量。其中,wt是一个转移矩阵,将投影到与hi相同纬度的高维空间,mi是投影后的向量,M是历史对话关键词的数量,ct是在t时刻对步骤(3)的所有隐状态hi和历史对话关键词的编码向量进行加权得到的,其中权重αti的计算如下:eti=η(St-1,hi)i=1,2,…,Teti=η(st-1,mi)i=T+1,…,T+M其中η是利用多层感知机实现的非线性函数,激活函数是tanh函数,st-1是t-1时刻循环神经网络的隐状态。基于注意力机制的循环神经网络的每一步输出经过一个向量变换后得到在全词表上生成每一个词的概率,取最高概率的词作为预测的关键词;所述全词表是指由整个语料库中所有词构成的词表。向量变换:即预测t-1时刻预测词为的概率,是词的ont-hot编码,Wp是全连接层的转移矩阵本文档来自技高网...

【技术保护点】
1.一种生成式多轮闲聊对话方法,其特征是,分为两个阶段:阶段一:利用语料库的对话,对多轮闲聊对话模型进行训练;阶段二:将用户已经发生的对话或新提出的待答复的问题作为对话历史输入到训练好的多轮闲聊对话模型中,输出实际答复。

【技术特征摘要】
1.一种生成式多轮闲聊对话方法,其特征是,分为两个阶段:阶段一:利用语料库的对话,对多轮闲聊对话模型进行训练;阶段二:将用户已经发生的对话或新提出的待答复的问题作为对话历史输入到训练好的多轮闲聊对话模型中,输出实际答复。2.如权利要求1所述的一种生成式多轮闲聊对话方法,其特征是,所述利用语料库的对话,对多轮闲聊对话模型进行训练,包括:步骤(1):构建多轮闲聊对话模型,所述多轮闲聊对话模型包括:关键词抽取模块、宽度通道、全局通道、深度通道和解码器;所述宽度通道和深度通道并列设置,全局通道的输出分别作为宽度通道和深度通道的输入;所述宽度通道内设置有基于注意力机制的循环神经网络;所述全局通道内设置编码器;所述深度通道内设置深度神经网络;所述宽度通道和深度通道的输入端均与关键词抽取模块连接;所述宽度通道、全局通道和深度通道的输出端均与解码器连接,所述解码器内设有基于注意力机制的循环神经网络;步骤(2):将语料库中的对话分为历史对话和当前答复,所述历史对话和当前答复是相对而言的,所述历史对话,是指当前答复之前的对话内容;历史对话发生的时刻在当前答复发生的时刻之前;所述历史对话包括已知的若干组对话;然后,抽取历史对话的关键词;步骤(3):将语料库中的历史对话输入到全局通道的编码器中进行编码,生成上下文向量;步骤(4):将步骤(2)得到的历史对话的关键词和步骤(3)得到的上下文向量,输入到宽度通道的基于注意力机制的循环神经网络,输出用来拓宽话题的预测关键词,并将预测关键词编码为对应的预测关键词的编码向量;步骤(5):将步骤(2)得到的历史对话的关键词和步骤(3)得到的上下文向量,输入到深度通道的深度神经网络,输出历史对话中关键词的权重,基于权重得到加权后的历史对话关键词编码向量;步骤(6):将步骤(3)得到的上下文向量、步骤(4)得到的预测关键词的编码向量和步骤(5)得到的加权后的历史对话关键词编码向量均输入到解码器的基于注意力机制的循环神经网络中,输出回复结果;步骤(7):将步骤(6)得到的回复结果,与步骤(2)中的当前回复进行比较,计算交叉熵,得到损失函数,利用梯度下降算法对多轮闲聊对话模型进行优化,得到训练好的多轮闲聊对话模型。3.如权利...

【专利技术属性】
技术研发人员:王文杰聂礼强黄民烈宋雪萌王英龙
申请(专利权)人:山东大学
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1