CN112328756B - 基于上下文的对话生成方法及系统 - Google Patents
基于上下文的对话生成方法及系统 Download PDFInfo
- Publication number
- CN112328756B CN112328756B CN202011090073.6A CN202011090073A CN112328756B CN 112328756 B CN112328756 B CN 112328756B CN 202011090073 A CN202011090073 A CN 202011090073A CN 112328756 B CN112328756 B CN 112328756B
- Authority
- CN
- China
- Prior art keywords
- statement
- feature vector
- current
- hidden layer
- dialogue
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000013528 artificial neural network Methods 0.000 claims abstract description 32
- 239000013598 vector Substances 0.000 claims description 99
- 230000000306 recurrent effect Effects 0.000 claims description 21
- 230000004927 fusion Effects 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 11
- 238000010606 normalization Methods 0.000 claims description 4
- 238000011160 research Methods 0.000 abstract description 8
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000036651 mood Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了基于上下文的对话生成方法及系统,包括:获取当前对话语句、当前对话的上文语句和当前对话的下文语句;将当前对话语句、当前对话的上文语句和当前对话的下文语句,输入到预先训练好的编解码器中,编解码器输出当前对话语句的预测对话语句。该方法能够起到承上启下的作用,将与当前对话相关的上下文信息结合起来生成更有效的信息,一方面可以使对话更加地流畅,保持对话的前后一致性、逻辑性;另一方面能够给神经网络提供更多的前提输入信息,研究表明丰富的输入信息有利于神经网络生成更有意义的回答。
Description
技术领域
本申请涉及对话生成技术领域,特别是涉及基于上下文的对话生成方法及系统。
背景技术
本部分的陈述仅仅是提到了与本申请相关的背景技术,并不必然构成现有技术。
网络虚拟接触特有的低投入,高回报的特点,使得网上作业逐渐广泛。目前来看,网络对话、网络办公、网络购物、网上诊疗已然成为人们生活的一大部分。网络发展的大背景下,聊天机器人逐渐走向人们视野中心,这主要得益于聊天机器人遍布人们网络生活的各个角落:网上购物时,机器人可以取代客服推荐符合客户需求的商品;网上诊疗时,机器人可以根据病情描述向病人推荐主治医生;快节奏高强度的生活状态下,机器人可能成为用户不可或缺的排解心情的对话工具。此外,据有效数据显示,人类第一次使用消息应用的次数超过了他们使用社交网络的次数,这说明消息类应用是网上人群聚集的地方,不可否认,一个在现实生活中只言片语的人在网上也有自己的精神世界,人们将更多的情感储备在网络上,网络对话开始占据生活交流的一大部分。因此,无论从聊天机器人的应用背景还是发展前景来看,聊天机器人都有无限潜力。
具体来讲,聊天机器人是人们网络对话的学习者,与现实对话不同,网络对话缺失了物理世界的切实触碰,抛开面对面接触的仪式感,一方面通过语言文字营造出的特殊意境将带给人心理上的安全感,人们更愿意倾诉内心;另一方面,不受时间紧迫性的影响,人们有更大的时空理清自己的思路,促就更高质量的有效对话。因此聊天机器人不仅是简单地基于文字的服务,为了获得更好的用户体验,需要带给用户一种熟悉的感觉。
聊天机器人涉猎极广,近年来已经吸引人工智能学者的广泛关注。目前,chatbots在任务型对话中的方法臻于成熟,主要问题在于缺少有效注释的大型语料库。不同于任务型对话知识固定性的特点,闲聊型机器人被要求具备更广泛的知识以及更自然的信息整合处理能力,对话上下文信息显得愈来愈重要也直接影响用户的体验性。为了解决上述问题,一些学者主张在检索式对话中执行上下文与候选回答的相关性计算,比如Wu Yu等人提出一种新型的序列匹配模型(SWF)来识别上下文中的有效部分或者在生成式对话中研究上下文与当前对话的相关性,比如Tian Zhiliang等人则通过计算上下文与当前对话余弦相似度来利用上下文信息,实验表明这种显式的加权能够有效过滤无效信息保留有用信息。
发明内容
为了解决现有技术的不足,本申请提供了基于上下文的对话生成方法及系统;
第一方面,本申请提供了基于上下文的对话生成方法;
基于上下文的对话生成方法,包括:
获取当前对话语句、当前对话的上文语句和当前对话的下文语句;
将当前对话语句、当前对话的上文语句和当前对话的下文语句,输入到预先训练好的编解码器中,编解码器输出当前对话语句的预测对话语句。
第二方面,本申请提供了基于上下文的对话生成系统;
基于上下文的对话生成系统,包括:
获取模块,其被配置为:获取当前对话语句、当前对话的上文语句和当前对话的下文语句;
预测模块,其被配置为:将当前对话语句、当前对话的上文语句和当前对话的下文语句,输入到预先训练好的编解码器中,编解码器输出当前对话语句的预测对话语句。
第三方面,本申请还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述第一方面所述的方法。
第四方面,本申请还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
第五方面,本申请还提供了一种计算机程序(产品),包括计算机程序,所述计算机程序当在一个或多个处理器上运行的时候用于实现前述第一方面任意一项的方法。
与现有技术相比,本申请的有益效果是:
本申请针对生成式多轮对话中如何有效结合上下文的问题,提出一种新型的加权学习的方法来更好地理解上下文语意。该方法能够起到承上启下的作用,将与当前对话相关的上下文信息结合起来生成更有效的信息,一方面可以使对话更加地流畅,保持对话的前后一致性、逻辑性;另一方面能够给神经网络提供更多的前提输入信息,研究表明丰富的输入信息有利于神经网络生成更有意义的回答。
考虑到多轮对话上下文中交叉存在对当前对话有用的信息以及无用的噪音,本申请通过对当前对话有用信息进行加权从而有效利用上下文。按照上下文与当前对话的相关权重参与到神经网络的编码输入中,体现了生成式对话中信息利用的合理性,对分层递归编解码模型中编码结构的信息输入来说,大大减少了噪音信息的干扰性,有利于神经网络的训练,并进一步推动模型的参数优化,从而体现模型的鲁棒性。
为了更好地训练分层递归编解码模型,本申请针对模型任务的特殊性收集整理了百万条单轮对话数据集,不同于简单的问答对话,该数据集能够最大程度地体现前后语句之间的相关性,推动本文模型的高效率训练,同样,该数据集也可用于文本分类、知识推理、摘要提取等方面的研究。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为第一个实施例的加权上下文生成式对话系统示意图;
图2为第一个实施例的求和结构示意图;
图3为第一个实施例的拼接结构示意图;
图4为第一个实施例的句间RNN示意图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本申请使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例提供了基于上下文的对话生成方法;
基于上下文的对话生成方法,包括:
S101:获取当前对话语句、当前对话的上文语句和当前对话的下文语句;
S102:将当前对话语句、当前对话的上文语句和当前对话的下文语句,输入到预先训练好的编解码器中,编解码器输出当前对话语句的预测对话语句。
作为一个或多个实施例,S102:将当前对话语句、当前对话的上文语句和当前对话的下文语句,输入到预先训练好的编解码器中,编解码器输出当前对话语句的预测对话语句;具体步骤包括:
将当前对话语句、当前对话的上文语句和当前对话的下文语句,输入到预先训练好的编解码器的编码器中,编码器对当前对话语句、当前对话的上文语句和当前对话的下文语句分别进行特征提取,编码器对提取的特征进行编码处理得到编码结果;编解码器的解码器对编码结果进行解码处理,得到当前对话语句的预测对话语句。
进一步地,所述编码器,包括:
第一递归神经网络GRU、第二递归神经网络GRU、第三递归神经网络GRU、第一隐藏层、第二隐藏层、第三隐藏层和特征融合层;
第一递归神经网络GRU,用于对当前对话的上文语句进行特征向量提取得到上文语句特征向量;上文语句特征向量输入到第一隐藏层进行处理,第一隐藏层输出第一特征向量;第一隐藏层将处理后的结果输入到第二隐藏层,作为第二隐藏层的输入值;
第二递归神经网络GRU,用于对当前对话的下文语句进行特征向量提取得到下文语句特征向量;下文语句特征向量和第一隐藏层将处理后的结果,均输入到第二隐藏层中进行处理,第二隐藏层输出第二特征向量;第二隐藏层将处理后的结果输入到第三隐藏层,作为第三隐藏层的输入值;
第三递归神经网络GRU,用于对当前对话语句进行特征向量提取得到当前对话语句特征向量;当前对话语句特征向量和第二隐藏层将处理后的结果,均输入到第三隐藏层中,第三隐藏层输出第三特征向量;
将第一特征向量、第二特征向量和第三特征向量输入到特征融合层中进行加权融合,输出融合后的特征,融合后的特征作为编码器的输出值,送入解码器中,解码器通过解码处理输出得到当前对话语句的预测对话语句。
进一步地,所述加权融合中,权重的获取步骤为:
计算第一特征向量与第三特征向量之间的第一互信息;基于第一互信息,并依照注意力机制应用softmax函数执行平滑归一化,计算出第一特征向量的权重;
计算第二特征向量与第三特征向量之间的第二互信息;基于第二互信息,并依照注意力机制应用softmax函数,计算出第二特征向量的权重。
进一步地,所述加权融合中,权重的获取步骤为:
将第二特征向量与第三特征向量之间的第二互信息,输入注意力机制原则下的softmax函数,计算出第三特征向量的权重。
进一步地,所述融合,包括拼接融合或/和加和融合以及使用RNN的隐藏层递归。
进一步地,所述预先训练好的编解码器,训练步骤包括:
构建彼此连接的编码器和解码器;
构建训练集,所述训练集包括已知当前对话,已知当前对话的下一句对话,已知当前对话的上文语句和已知当前对话的下文语句;
将已知当前对话、已知当前对话的上文语句和已知当前对话的下文语句,均输入到编码中,将已知当前对话的下一句对话作为解码器的输出值;对编码器和解码器进行训练,得到训练好的编解码器。
为了学习上下文与当前对话的相关性,本申请假设相邻两句话之间存在较强的相关性,从而计算两条语句之间的互信息。模型训练上,本申请选取了高质量的豆瓣多轮对话以及日常生活类文章共五百万作为数据集,将数据处理为前后两条语句为一组。根据TianZhiliang等人研究显示,处理上下文与当前对话的信息时,分层的模型较不分层的模型表现更好。因此,本申请在处理上下文信息时,对每条上下文分别处理,将训练好的模型直接应用于检测每条上下文与当前对话的相关性。显式加权后选择权重较高句子向量,将联合当前对话直接参与对话生成的前提输入,最后输出生成的上下文相关的回答。总的来说,本申请的贡献体现在以下两个方面:
整理出上万条生活中常用语句,为其他有关日常聊天数据以及话语关系的研究提供条件。
提出了一种新型的计算上下文与当前对话相关性的学习方法,保存对当前对话有用信息遗忘嘈杂信息,在有效利用上下文信息的同时提高了对话的流畅度,改善用户体验。
人与人的对话信息不同于单一的问答系统,现实生活中人与人的交流体现对话的递进性,信息的传递性,话题的广泛性。因此,人与人的日常交流对话系统将更倾向的是开放领域多轮对话系统。为了训练开放领域下的对话机器人,研究者们提出了基于检索和基于生成的两种方法:Jia等人使用信息检索技术结合海量会话数据进行研究,实验表明在短文本对话中可以得到一个近乎智能的回答,这种方法下,固定规则和检索方法的制定将直接体现对话机器人的性能,但这种基于规则或者检索的对话系统的智能程度与程序设定是一致的,在开放领域对话系统中不显优势;Ritter等人提出使用统计机器翻译的技术实现对话生成系统、Shang等人通过seq2seq转换器基于给定输入完成输出。在大量聊天数据的训练下,生成式对话系统开始具备语言学习的功能。相比检索式方法,基于生成的对话更具有发展前景,然而早期的生成式对话系统仅仅考虑当前的对话,并不能考虑结合上下文进行应答。
随着深度学习技术的发展以及网络聊天数据的激增,神经网络逐渐显现出关于对话模型的强大学习能力,现有的研究也开始意识到上下文信息的重要性,部分学者提出感知上下文的对话系统。比如,Yan等人采用直接连接上下文语句与当前问题的方法来生成包含上下文信息的回答;Serben等人采用分层的方法,首先捕捉上下文中每条语句的特征向量再进一步将全部向量连接起来。目前,存在多种组合上下文与当前问题的方法,本申请中采用先分层表示后拼接的方法完成上下文与当前对话的结合,关键点在于在分层的过程中突出与当前对话最相关上下文的权重的赋值。
Sordoni等人将上下文和当前对话统一编码进入递归神经网络中学习,是将上下文放入神经网络中进行学习的首次体现,该研究体现了上下文感知的必要性。如何将上下文信息整合为一个输入向量,主要分为两种实现方法,一种通过单一模型逐步提取上下文所有语句的信息,这种方法可以称为不分层的方法,例如Yan等人采取此类方法同时关注上下文中所有句子信息来进行搜索候选回答的匹配问题。但在生成式对话系统中,Tianzhiliang等人的研究表明,分层较不分层的方法表现得更好,因此,本申请所做工作均在分层的条件下进行,对上下文中每条语句单独捕获信息。
已经对上下文中每条语句单独捕获信息后仍然需要解决信息合并的问题,本申请对信息整合的方式主要从三方面展开,分别是求和、拼接、句间RNN。
在对话进行的不同阶段,上下文的内容也会有所不同,找到与当前实时对话相关的上下文信息是有效结合上下文的关键。Tian Zhiliang等人提出使用余弦相似度的方法测量上下文与当前对话的相关性,首先计算有限上下文中每条语句与当前问句的余弦值,并遵循注意力机制进一步将余弦相似度归一化。这种方法可被视为主动关注获得权重,研究表明,显式加权后的上下文能够过滤掉一部分无用的上下文信息,从而生成与上下文更相关以及更有意义的回答。
不同于计算上下文与当前对话的余弦相似度的思路,本申请使用互信息的方法来加权上下文的表示。互信息的方法不仅可以表达出上下文中那些信息与当前对话存在相关性,而且能够显式计算出相关性的大小,因此可以帮助选择出对当前对话更有价值的信息传送到神经网络中进行输出。
本申请主要围绕生成式对话系统中如何有效利用上下文展开研究,按照单独处理上下文语句的原则采用求和、拼接、句间RNN的方法进一步联合上下文。其中,句间RNN在使用RNN输出上下文及当前对话的隐藏层向量之后可进一步按照求和或者拼接的方式进行,属于本申请中比较复杂但较全面的模型,其他方法为该模型的简化形式,以该方法为例,模型图描述如图1所示。
上下文中不同语句包含不同的信息因此发挥不同作用,不同于使用单一的网络将上下文和当前对话转化为固定长度的向量,为了更好地捕捉到每条语句的信息,本申请首先捕获每条单独语句的信息,然后将所有上下文和当前对话进一步连接起来。为了更好地介绍上下文与当前对话的连接情况在分层模型上的表现,下面将分别介绍分层模型下几种联合上下文的方式。
求和(Sum)。求和也就是将每一维度的信息进行简单相加后形成一个完整的数据集,在本申请的应用中,主要体现在将上下文中每一条语句的向量表达进行相加编码后作为模型的输入。这种比较直观的求和的方式能够对整体的信息有所把握,但容易忽视每条单独信息的独特性。给定上下文句子的向量表达 以及当前对话(present)的向量pv,那么编码输入如下
得益于神经网络比传统方法可以获得更多的特征,本申请中在使用求和方式时作用在基于RNN的上下文与当前对话的句子级特征的提取上,具体结构图如图2所示。
拼接(Concatenation)。为了更好地捕捉到不同的上下文与当前对话的信息,Sordoni等人使用另一种拼接的方法来对上下文和当前对话进行编码,这种拼接的方式把上下文向量与pv,表示为一个长向量:与相加的方式相比,向量拼接可以将不同话语之间的信息单独呈现出来,确保了每条话语的独立性融合在一起共同构成生成输出的前提条件,如图3所示。
句间RNN(hidden)。源于神经网络学习可以得到更多的知识,部分学者在上下文的向量提取上进一步使用RNN的隐藏层,例如Yao等人基于卷积神经网络的隐藏层获取特征作为语境信息。同理,本申请基于递归神经网络进行训练,在上下文以及当前对话上应用句间RNN获取句子向量特征,经过大量训练学习之后,可以得到一个合理的端到端的输入输出模型。该方法的示意图中,与hp分别代表上下文与当前对话在神经网络中的隐藏层输出。注意,句间RNN的方法仅作用在向量特征提取层面,隐藏层输出后的结果仍然可以运用求和以及拼接的方式作为最后的输入编码向量。本申请中后续实验会分情况进行阐述。那么在不结合其他方法的情况下,句间RNN结构图可以如图4所示。
余弦相似度:
当计算两条文本的相似度时常用到余弦相似度,通过计算表示文本的向量间的距离得到关于话语的相关性。原则上,相似度越小,距离越大,相似度越大,距离越小。本申请中,使用余弦相似度的方法计算上下文与当前对话的相似度时,首先需要将上下文以及当前对话进行特征向量提取,这里采用带门控单元的递归神经网络(GRU),得到上下文与当前对话的向量后,分别求上下文中每条单独语句与当前对话之间夹角的余弦值。给定上下文变量Ci与当前对话向量p,上下文与当前对话的余弦相似度计算公式如下:
其中
互信息:
互信息作为一种有效的信息度量,能够从给定两个目标对象中找到相互依赖关系,简洁来说,根据已知一个变量的情况下,另一个变量是否会因此减少不确定性,来判断两者之间是否存在正向的依赖关系。本申请中使用互信息来计算上下文与当前对话的依赖关系,主要是期望判断给定不同的上下文语句时,是否给当前对话增加额外的信息,从而给对话生成网络更多的输入编码信息,以生成更符合逻辑的对话应答。不同于贝叶斯公式的简单表示,贝叶斯公式的独立性假设下,可以判断两个向量之间是否存在关系,互信息的计算则可以计算出两者之间依赖关系的大小,在本申请中指不同语句给当前对话带来的贡献度大小。本申请中定义上下文变量为Ci,当前对话为p,将目标转化为向量表示之后,那么互信息的定义过程如下:
首先来看假设两个变量独立的情况下有
P(p,ci)=P(p)P(ci) (4)
由贝叶斯公式得
由此可得,当给定上下文时可以判断是否可以给当前对话提供更多的信息,或者说上下文与当前对话的两者之间是否存在强依赖关系,为了更好的表示出两者之间关系的强弱大小值,进一步引出两者之间的互信息公式。
因此,可以看出,当上下文与当前对话不不存在任何相关性时P(p,ci)=P(p)P(ci),那么log[P(p,ci)/P(p)P(ci)]=0,即R(p,ci)=0,则认为上下文不能给当前对话带来有用信息,两者不存在相互依赖关系。综上所述,P(p|ci)表示在已知上下文ci的情况下,对出现当前对话p的确定程度,而本申请计算的互信息可以计算上下文中每条语句分别为当前对话不确定性减少的程度,突出上下文中与当前对话依赖度最高的一部分。
权重的应用:
为了更好地规划求得的上下文与当前对话相关度的值,根据Bahdanau提出的注意力机制,本申请在两种相关度计算的基础上统一通过softmax函数来进行平滑归一化,公式如下:
其中Sp与相对应具有相同的计算方法并且恒为1,表示两个相同向量完全相关,这样构建平滑函数的目的是,当上下文与当前对话相关度极小时,能够保证嵌入向量更多地关注当前对话本身信息,当上下文信息对当前对话贡献度较大时,模型将尽可能均匀地编码信息,这对于生成合理的应答是极为重要的。
综上,根据上文中提到的联合上下文的方法(求和、拼接、句间RNN),与权重信息相结合可分别得到编码输入的变体。在句间RNN基础上使用权重情况如下,其他变体同理,不再做具体阐述,实验结果分析将包含所有变体。
实施例二
本实施例提供了基于上下文的对话生成系统;
基于上下文的对话生成系统,包括:
获取模块,其被配置为:获取当前对话语句、当前对话的上文语句和当前对话的下文语句;
预测模块,其被配置为:将当前对话语句、当前对话的上文语句和当前对话的下文语句,输入到预先训练好的编解码器中,编解码器输出当前对话语句的预测对话语句。
此处需要说明的是,上述获取模块和预测模块对应于实施例一中的步骤S101至S102,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
实施例三
本实施例还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述实施例一所述的方法。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
实施例四
本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (6)
1.基于上下文的对话生成方法,其特征是,包括:
获取当前对话语句、当前对话的上文语句和当前对话的下文语句;
将当前对话语句、当前对话的上文语句和当前对话的下文语句,输入到预先训练好的编解码器中,编解码器输出当前对话语句的预测对话语句;具体步骤包括:
将当前对话语句、当前对话的上文语句和当前对话的下文语句,输入到预先训练好的编解码器的编码器中,编码器对当前对话语句、当前对话的上文语句和当前对话的下文语句分别进行特征提取,编码器对提取的特征进行编码处理得到编码结果;编解码器的解码器对编码结果进行解码处理,得到当前对话语句的预测对话语句;
所述编码器,包括:
第一递归神经网络GRU、第二递归神经网络GRU、第三递归神经网络GRU、第一隐藏层、第二隐藏层、第三隐藏层和特征融合层;
第一递归神经网络GRU,用于对当前对话的上文语句进行特征向量提取得到上文语句特征向量;上文语句特征向量输入到第一隐藏层进行处理,第一隐藏层输出第一特征向量;第一隐藏层将处理后的结果输入到第二隐藏层,作为第二隐藏层的输入值;
第二递归神经网络GRU,用于对当前对话的下文语句进行特征向量提取得到下文语句特征向量;下文语句特征向量和第一隐藏层将处理后的结果,均输入到第二隐藏层中进行处理,第二隐藏层输出第二特征向量;第二隐藏层将处理后的结果输入到第三隐藏层,作为第三隐藏层的输入值;
第三递归神经网络GRU,用于对当前对话语句进行特征向量提取得到当前对话语句特征向量;当前对话语句特征向量和第二隐藏层将处理后的结果,均输入到第三隐藏层中,第三隐藏层输出第三特征向量;
将第一特征向量、第二特征向量和第三特征向量输入到特征融合层中进行加权融合,输出融合后的特征,融合后的特征作为编码器的输出值,送入解码器中,解码器通过解码处理输出得到当前对话语句的预测对话语句;
所述加权融合中,权重的获取步骤为:
计算第一特征向量与第三特征向量之间的第一互信息;基于第一互信息,并依照注意力机制应用softmax函数执行平滑归一化,计算出第一特征向量的权重;
计算第二特征向量与第三特征向量之间的第二互信息;基于第二互信息,并依照注意力机制应用softmax函数,计算出第二特征向量的权重;
将第二特征向量与第三特征向量之间的第二互信息,输入注意力机制原则下的softmax函数,计算出第三特征向量的权重。
2.如权利要求1所述的方法,其特征是,所述融合,包括拼接融合或/和加和融合。
3.如权利要求1所述的方法,其特征是,所述预先训练好的编解码器,训练步骤包括:
构建彼此连接的编码器和解码器;
构建训练集,所述训练集包括已知当前对话,已知当前对话的下一句对话,已知当前对话的上文语句和已知当前对话的下文语句;
将已知当前对话、已知当前对话的上文语句和已知当前对话的下文语句,均输入到编码中,将已知当前对话的下一句对话作为解码器的输出值;对编码器和解码器进行训练,得到训练好的编解码器。
4.基于上下文的对话生成系统,其特征是,包括:
获取模块,其被配置为:获取当前对话语句、当前对话的上文语句和当前对话的下文语句;
预测模块,其被配置为:将当前对话语句、当前对话的上文语句和当前对话的下文语句,输入到预先训练好的编解码器的编码器中,编码器对当前对话语句、当前对话的上文语句和当前对话的下文语句分别进行特征提取,编码器对提取的特征进行编码处理得到编码结果;编解码器的解码器对编码结果进行解码处理,得到当前对话语句的预测对话语句;
所述编码器,包括:
第一递归神经网络GRU、第二递归神经网络GRU、第三递归神经网络GRU、第一隐藏层、第二隐藏层、第三隐藏层和特征融合层;
第一递归神经网络GRU,用于对当前对话的上文语句进行特征向量提取得到上文语句特征向量;上文语句特征向量输入到第一隐藏层进行处理,第一隐藏层输出第一特征向量;第一隐藏层将处理后的结果输入到第二隐藏层,作为第二隐藏层的输入值;
第二递归神经网络GRU,用于对当前对话的下文语句进行特征向量提取得到下文语句特征向量;下文语句特征向量和第一隐藏层将处理后的结果,均输入到第二隐藏层中进行处理,第二隐藏层输出第二特征向量;第二隐藏层将处理后的结果输入到第三隐藏层,作为第三隐藏层的输入值;
第三递归神经网络GRU,用于对当前对话语句进行特征向量提取得到当前对话语句特征向量;当前对话语句特征向量和第二隐藏层将处理后的结果,均输入到第三隐藏层中,第三隐藏层输出第三特征向量;
将第一特征向量、第二特征向量和第三特征向量输入到特征融合层中进行加权融合,输出融合后的特征,融合后的特征作为编码器的输出值,送入解码器中,解码器通过解码处理输出得到当前对话语句的预测对话语句;
所述加权融合中,权重的获取步骤为:
计算第一特征向量与第三特征向量之间的第一互信息;基于第一互信息,并依照注意力机制应用softmax函数执行平滑归一化,计算出第一特征向量的权重;
计算第二特征向量与第三特征向量之间的第二互信息;基于第二互信息,并依照注意力机制应用softmax函数,计算出第二特征向量的权重;
将第二特征向量与第三特征向量之间的第二互信息,输入注意力机制原则下的softmax函数,计算出第三特征向量的权重。
5.一种电子设备,其特征是,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述权利要求1-3任一项所述的方法。
6.一种计算机可读存储介质,其特征是,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011090073.6A CN112328756B (zh) | 2020-10-13 | 2020-10-13 | 基于上下文的对话生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011090073.6A CN112328756B (zh) | 2020-10-13 | 2020-10-13 | 基于上下文的对话生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112328756A CN112328756A (zh) | 2021-02-05 |
CN112328756B true CN112328756B (zh) | 2022-10-14 |
Family
ID=74313045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011090073.6A Expired - Fee Related CN112328756B (zh) | 2020-10-13 | 2020-10-13 | 基于上下文的对话生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328756B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761157B (zh) * | 2021-05-28 | 2024-05-24 | 腾讯科技(深圳)有限公司 | 应答语句生成方法和装置 |
CN113723079B (zh) * | 2021-09-08 | 2023-10-31 | 天津大学 | 针对长距离对话状态追踪的分层建模贡献感知的上下文的方法 |
CN115169367B (zh) * | 2022-09-06 | 2022-12-09 | 杭州远传新业科技股份有限公司 | 对话生成方法及装置、存储介质 |
CN115759113B (zh) * | 2022-11-08 | 2023-11-03 | 贝壳找房(北京)科技有限公司 | 识别对话信息中的句子语义的方法及装置 |
CN117592455B (zh) * | 2023-11-29 | 2024-07-19 | 云南大学 | 一种文本的动态可变邻近语义连贯性评估方法与装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776578B (zh) * | 2017-01-03 | 2020-03-17 | 竹间智能科技(上海)有限公司 | 用于提升对话系统对话性能的方法及装置 |
CN109977207A (zh) * | 2019-03-21 | 2019-07-05 | 网易(杭州)网络有限公司 | 对话生成方法、对话生成装置、电子设备及存储介质 |
CN110321417B (zh) * | 2019-05-30 | 2021-06-11 | 山东大学 | 一种对话生成方法、系统、可读存储介质及计算机设备 |
CN111382257A (zh) * | 2020-05-28 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 一种生成对话下文的方法和系统 |
-
2020
- 2020-10-13 CN CN202011090073.6A patent/CN112328756B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN112328756A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112328756B (zh) | 基于上下文的对话生成方法及系统 | |
Zhao et al. | Automatic assessment of depression from speech via a hierarchical attention transfer network and attention autoencoders | |
KR101937778B1 (ko) | 인공지능을 이용한 기계학습 기반의 한국어 대화 시스템과 방법 및 기록매체 | |
CN108536681A (zh) | 基于情感分析的智能问答方法、装置、设备及存储介质 | |
CN109992669B (zh) | 一种基于语言模型和强化学习的关键词问答方法 | |
CN111325028A (zh) | 一种基于深度分层编码的智能语义匹配方法和装置 | |
CN110059169B (zh) | 基于语料标注的智能机器人聊天上下文实现方法及系统 | |
CN111400461B (zh) | 智能客服问题匹配方法及装置 | |
Kao et al. | Model of multi-turn dialogue in emotional chatbot | |
CN114911932A (zh) | 基于主题语义增强的异构图结构多会话者情感分析方法 | |
CN110069612A (zh) | 一种回复生成方法及装置 | |
CN110597968A (zh) | 一种回复选择方法及装置 | |
CN112364148B (zh) | 一种基于深度学习方法的生成型聊天机器人 | |
CN111783955A (zh) | 神经网络的训练、对话生成方法及装置、存储介质 | |
CN111597341A (zh) | 一种文档级关系抽取方法、装置、设备及存储介质 | |
CN114428850A (zh) | 一种文本检索匹配方法和系统 | |
CN109800295A (zh) | 基于情感词典和词概率分布的情感会话生成方法 | |
CN114676259B (zh) | 一种基于因果感知交互网络的对话情绪识别方法 | |
Jbene et al. | User sentiment analysis in conversational systems based on augmentation and attention-based bilstm | |
CN114328866A (zh) | 应答流畅准确的强拟人化智能对话机器人 | |
CN112231457A (zh) | 闲聊机器人多轮对话生成方法、装置和闲聊机器人 | |
Aguirre-Peralta et al. | Speech to Text Recognition for Videogame Controlling with Convolutional Neural Networks. | |
CN113609301A (zh) | 一种基于知识图谱的对话方法、介质及系统 | |
Shen et al. | Multimodal Knowledge-enhanced Interactive Network with Mixed Contrastive Learning for Emotion Recognition in Conversation | |
Jiang et al. | An affective chatbot with controlled specific emotion expression |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20221014 |
|
CF01 | Termination of patent right due to non-payment of annual fee |