CN110069611A - 一种主题增强的聊天机器人回复生成方法及装置 - Google Patents
一种主题增强的聊天机器人回复生成方法及装置 Download PDFInfo
- Publication number
- CN110069611A CN110069611A CN201910294250.3A CN201910294250A CN110069611A CN 110069611 A CN110069611 A CN 110069611A CN 201910294250 A CN201910294250 A CN 201910294250A CN 110069611 A CN110069611 A CN 110069611A
- Authority
- CN
- China
- Prior art keywords
- text
- reply
- theme
- vector
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000002708 enhancing effect Effects 0.000 title claims abstract description 17
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 26
- 238000000605 extraction Methods 0.000 claims abstract description 25
- 239000013598 vector Substances 0.000 claims description 80
- 238000013527 convolutional neural network Methods 0.000 claims description 34
- LFRXCNXVZHVRSE-JEZACWOJSA-N [(2r,3s,4s,5r,6r)-3,4,5-trihydroxy-6-[(2r,3r,4s,5s,6r)-3,4,5-trihydroxy-6-[[(2r,3r)-3-hydroxy-2-tetradecyloctadecanoyl]oxymethyl]oxan-2-yl]oxyoxan-2-yl]methyl (2r,3r)-3-hydroxy-2-tetradecyloctadecanoate Chemical compound O[C@@H]1[C@@H](O)[C@H](O)[C@@H](COC(=O)[C@H](CCCCCCCCCCCCCC)[C@H](O)CCCCCCCCCCCCCCC)O[C@@H]1O[C@@H]1[C@H](O)[C@@H](O)[C@H](O)[C@@H](COC(=O)[C@H](CCCCCCCCCCCCCC)[C@H](O)CCCCCCCCCCCCCCC)O1 LFRXCNXVZHVRSE-JEZACWOJSA-N 0.000 claims description 33
- 239000011159 matrix material Substances 0.000 claims description 22
- 238000005070 sampling Methods 0.000 claims description 13
- 230000004913 activation Effects 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 238000004821 distillation Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000000306 recurrent effect Effects 0.000 claims description 2
- 230000003252 repetitive effect Effects 0.000 claims 1
- 230000001537 neural effect Effects 0.000 abstract description 8
- 230000001427 coherent effect Effects 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 5
- 239000010410 layer Substances 0.000 description 9
- 238000011160 research Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 210000004218 nerve net Anatomy 0.000 description 3
- 239000002356 single layer Substances 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
-
- 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
- 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/044—Recurrent networks, e.g. Hopfield 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Machine Translation (AREA)
Abstract
本发明提供了一种主题增强的聊天机器人回复生成方法及装置,其中的方法首先对对话文本进行预处理和采样,得到对话训练集;然后利用CNN的对对话文本就进行主题抽取,得到文本主题;再利用文本主题,通过MLP预测回复主题,得到预测回复主题;最后,将对话训练集输入到Seq2Seq生成模型,文本主题和预测回复主题通过Gate引入生成模型辅助生成过程,得到聊天机器人对话回复。本发明可以达到降低高频一般回复的生成概率,使神经对话模型能生成更加连贯、丰富的回复的技术效果。
Description
技术领域
本发明涉及人工智能技术领域,具体涉及一种主题增强的聊天机器人回复生成方法及装置。
背景技术
随着人工智能技术的发展,自然语言处理(NLP)被广泛应用于许多领域。对话系统,有时也称为聊天机器人,作为AI和自然语言处理领域中是一项极具挑战性的任务,旨在以自然语言的形式对于对话信息产生流畅的回复。会话系统可分为目标驱动对话系统和开放域聊天机器人。前者帮助人们完成一项特定的任务,而后者则侧重于在开放领域,如人类闲聊,或者计算机游戏角色。之前的对话系统研究主要集中在目标驱动对话系统上。最近,随着互联网上大量的对话数据的出现,开放式聊天机器人在学术界和工业界越来越受到关注。
早期的传统对话系统依赖于启发式回复生成规则,即使使用了统计学习方法,效率也很低,只能产生非常有限的回复。之后有研究认为回复生成是统计机器翻译(SMT)问题,激发了将SMT中的神经语言模型扩展到响应生成的尝试。后来,有研究引入了序列到序列(Seq2Seq)模型,该模型开始成为开放域对话系统领域的主流方法,Seq2Seq模型中包含编码器和解码器模块。其中,编码器将之前轮次中的对话信息表示为上下文向量,解码器将上下文向量合并到响应生成中。然而,这种基于Seq2Seq模型的神经对话模型倾向于产生高频一般回复,例如“我不知道”“嗯”,也极易产生前后回复矛盾、不连贯等问题。
为了解决这些问题,现有技术中提出了一些方法。有的研究在神经对话模型中引入特定的目标函数,有的基于对话人物角色进行建模来处理神经回复生成中说话者一致性的问题,还有的研究尝试对复杂的会话结构进行建模或寻求更好的优化策略。但这些研究都只是一定程度上缓解了高频一般回复的生成问题,存在自身的局限性。
本发明申请人在实施本发明的过程中,发现现有技术中至少存在如下技术问题:
有的研究将主题信息引入对话系统,有的研究将主题与张量网络相结合,将消息向量,回复向量和两个主题向量输入到神经张量网络中,进而计算匹配分数,但消息-回复的匹配不同于回复生成,局限于数据集中已经存在的回复内容,可扩展性不强。还有研究利用从预训练的潜在狄利克雷分配模型(LDA)概率主题模型获得的主题信息,通过联合注意力机制和有偏生成概率来生成回复。然而,这种方法存在以下几点问题,首先,对话文本多为短文本,LDA无法发掘短文本中稀疏的词汇贡献信息;其次,传统的概率主题模型也无法和Seq2Seq模型联合优化;最后,仅在编码器和解码器之间引入主题,主题信息没有发挥足够的作用。
由此可知,现有技术中的方法存在回复内容不够丰富、回复不连贯的技术问题。
发明内容
有鉴于此,本发明提供了一种主题增强的聊天机器人回复生成方法及装置,用以解决或者至少部分解决现有技术中的方法存在回复内容不够丰富、回复不连贯的技术问题。
本发明第一方面提供了一种主题增强的聊天机器人回复生成方法,包括:
对预先获取的对话文本进行预处理;
根据对话文本的轮数,对预处理后的对话文本进行采样,将采样后的对话文本作为对话训练集;
利用CNN对对话文本进行主题抽取,获得文本主题信息;
采用MLP对文本主题信息进行回复主题的预测,预测获得回复主题信息;
将对话训练集输入至Seq2Seq生成模型,将抽取出的文本主题和预测出的回复主题通过门单元引入至Seq2Seq生成模型中,生成对话系统回复生成模型TDCM,并通过TDCM获得生成聊天机器人对话回复。
在一种实现方式中,对预先获取的对话文本进行预处理,包括:
将预先获取的对话文本中的非拉丁字符和停用词进行过滤;
将所有字母转化为小写形式,并采用正则表达式对特殊字符进行标准化。
在一种实现方式中,根据对话文本的轮数,对预处理后的对话文本进行采样,包括:
将对话轮数大于预设值的对话进行采样,将其分成对应的多个对话。
在一种实现方式中,利用CNN对对话文本进行主题抽取,获得文本主题信息,包括:
利用卷积神经网络CNN的卷积核W,对对话文本中m个词的窗口进行卷积操作,生成特征向量ui,卷积操作的过程为:
其中,bv表示偏置,δ表示激活函数,xi表示对话文本中的第i个词,对应于对话文本词嵌入矩阵X中第i行的向量;
对生成的特征向量进行最大池化操作,得到文本向量d:
将得到的文本向量输入查询矩阵A获得注意向量p,再将注意向量输入查询矩阵B获得文本主题信息rm,其中,主题向量存储于两个查询矩阵A和B中,计算过程如下:
p=γ(Ad)
rm=BTp
其中,γ为sparsemax函数,输出稀疏概率,文本主题信息rm为主题向量的加权平均值,其权重由注意向量p给出。
在一种实现方式中,采用MLP对文本主题信息进行回复主题的预测,预测获得回复主题信息,包括:
通过卷积操作获得特征向量,并对特征向量进行最大池化操作,获得文本向量d;
将文本向量d作为MLP网络的输入,通过MLP网络和激活函数,得到回复表示向量dr;
利用查询矩阵A和B得到预测的回复主题信息rr。
在一种实现方式中,Seq2Seq生成模型包括编码器和解码器,将对话训练集输入至Seq2Seq生成模型,将对话训练集输入至Seq2Seq生成模型,将抽取出的文本主题和预测出的回复主题通过门单元引入至Seq2Seq生成模型中,生成对话系统回复生成模型TDCM,并通过TDCM获得生成聊天机器人对话回复,包括:
在编码过程中,将文本主题信息rm通过门单元引入到编码器中每一个循环神经网络单元的隐藏层中,具体包括:
gi=gate(rm,hi-1,xi)
其中,hi表示对话文本第i个词的隐藏表示,xi表示对话文本X中的第i个词,gi表示主题过滤门,表示主题增强向量;
在解码过程中,将预测的回复主题信息rr通过门单元引入到解码器中每一个RNN单元的隐藏层中获得对话系统回复生成模型TDCM,具体包括:
gj=gate(rr,vj-1,yj,cj)
其中,vj表示回复文本第j个词的隐藏表示,yj表示回复文本Y中的第j个词,c表示编码器的输出,gj表示主题过滤门,表示主题增强向量;
通过对话系统回复生成模型TDCM生成聊天机器人对话回复。
基于同样的发明构思,本发明第二方面提供了一种主题增强的聊天机器人回复生成装置,包括:
对话文本预处理模块,用于对预先获取的对话文本进行预处理;
采样模块,用于根据对话文本的轮数,对预处理后的对话文本进行采样,将采样后的对话文本作为对话训练集;
主题抽取模块,用于利用CNN对对话文本进行主题抽取,获得文本主题信息;
回复主题预测模块,用于采用MLP对文本主题信息进行回复主题的预测,预测获得回复主题信息;
聊天机器人对话回复生成模块,用于将对话训练集输入至Seq2Seq生成模型,将抽取出的文本主题和预测出的回复主题通过门单元引入至Seq2Seq生成模型中,生成对话系统回复生成模型TDCM,并通过TDCM获得生成聊天机器人对话回复。
在一种实现方式中,对话文本预处理模块具体用于:
将预先获取的对话文本中的非拉丁字符和停用词进行过滤;
将所有字母转化为小写形式,并采用正则表达式对特殊字符进行标准化。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。
基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的方法。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本发明提供的一种主题增强的聊天机器人回复生成方法,首先,对对话文本进行预处理和采样,得到对话训练集;然后,利用CNN的对对话文本就进行主题抽取,得到文本主题;再利用文本主题,通过MLP预测回复主题,得到预测回复主题;最后,将对话训练集输入到Seq2Seq生成模型,文本主题和预测回复主题通过Gate引入生成模型辅助生成过程,得到聊天机器人对话回复。
相对于现有技术中方法而言,将抽取出的文本主题和预测出的回复主题通过门单元引入至Seq2Seq生成模型中,即通过引入主题信息抽象表示,Seq2Seq模型生成的每个单词不仅与原本的对话文本相关,而且与主题信息相关,从而可以极大地丰富回复生成的内容,降低高频一般回复的生成概率,又通过预测回复可能的主题信息,保证了回复的多样性,且由于主题信息包含了之前对话本文全部的内容,强化了生成回复的连贯性。解决了现有技术中存在的回复内容不够丰富、回复不连贯的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种实施方案中一种主题增强的聊天机器人回复生成方法的流程图;
图2为一种实施方案中基于CNN的对话文本主题抽取和基于MLP的回复主题预测框架图;
图3为对话系统回复生成模型TDCM的主题引入示意图;
图4为是本发明实施方式的方法与基准方法的困惑度比较示意图;
图5为一种实施方案中一种主题增强的聊天机器人回复生成装置的结构框图;
图6为本发明实施例中计算机可读存储介质的结构图;
图7为本发明实施例中计算机设备的结构图。
具体实施方式
本发明实施例提供了一种主题增强的聊天机器人回复生成方法,采用基于卷积神经网络(CNN)的短文本主题模型进行主题信息的抽取,采用MLP对文本主题信息进行回复主题的预测,并将抽取出的文本主题和预测出的回复主题通过注意力机制和主题向量引入Seq2Seq生成模型中,从而有效降低了高频一般回复的生成概率,使神经对话模型能生成更加连贯、丰富的回复。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种主题增强的聊天机器人回复生成方法,请参见图1,该方法包括:
步骤S1:对预先获取的对话文本进行预处理。
具体来说,对话文本可以从预设数据源处获取。对对文本进行预处理,即数据的筛选与清洗过程,使其方便后续训练集的获取。
在一种实施方式中,对预先获取的对话文本进行预处理,包括:
将预先获取的对话文本中的非拉丁字符和停用词进行过滤;
将所有字母转化为小写形式,并采用正则表达式对特殊字符进行标准化。
具体来说,特殊字符包括时间、数字等。
步骤S2:根据对话文本的轮数,对预处理后的对话文本进行采样,将采样后的对话文本作为对话训练集。
具体来说,根据应用场景的不同,对话文本具有不同的对话轮数,为了方便构建训练集,需要对对话文本进行采样处理。
在一种实施方式中,根据对话文本的轮数,对预处理后的对话文本进行采样,包括:
将对话轮数大于预设值的对话进行采样,将其分成对应的多个对话。
具体来所,预设值可以根据实际情况进行选取,例如5、6、7等等。采样后,可以得到多个对话,以便后续的训练。
步骤S3:利用CNN对对话文本进行主题抽取,获得文本主题信息。
具体来说,卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。本实施方式中,利用CNN对对话文本进行主题抽取,可以到文本主题信息。
在一种实施方式中,利用CNN对对话文本进行主题抽取,获得文本主题信息,包括:
利用卷积神经网络CNN的卷积核W,对对话文本中m个词的窗口进行卷积操作,生成特征向量ui,卷积操作的过程为:
其中,bv表示偏置,δ表示激活函数,xi表示对话文本中的第i个词,对应于对话文本词嵌入矩阵X中第i行的向量;
对生成的特征向量进行最大池化操作,得到文本向量d:
将得到的文本向量输入查询矩阵A获得注意向量p,再将注意向量输入查询矩阵B获得文本主题信息rm,其中,主题向量存储于两个查询矩阵A和B中,计算过程如下:
p=γ(Ad)
rm=BTp
其中,γ为sparsemax函数,输出稀疏概率,文本主题信息rm为主题向量的加权平均值,其权重由注意向量p给出。
具体来说,本实施方式可以基于单层卷积神经网络,对对话文本进行主题信息抽取,单层卷积神经网络可以作为一种通用的基于神经网络的短文本主题信息抽取模型。然后通过卷积、最大池化和查询矩阵得到主题信息的抽象表示,主题信息的抽象表示再通过全连接网络得到文本主题信息rm,具体请参见图2,为基于CNN的对话文本主题抽取和基于MLP的回复主题预测框架图。
本发明中基于CNN构建的主题模型相较于传统的概率主题模型来说,更加适用于短文本,通过神经网络抽取出来的主题也更加适用于其他各种神经网络模型结构,大大提高了本发明方法的普适性。
步骤S4:采用MLP对文本主题信息进行回复主题的预测,预测获得回复主题信息。
具体来说,步骤S3中建立了基于卷积神经网络(CNN)的主题模型,本步骤使用多层感知器(multi-layer perceptron,MLP)方式利用提取的对话文本主题进行生成回复的主题预测,将主题信息引入到回复生成过程中。其中的MLP是一种前向结构的神经网络,通过函数近似方法来拟合复杂模型或解决分类问题。
在一种实施方式中,采用MLP对文本主题信息进行回复主题的预测,预测获得回复主题信息,包括:
通过卷积操作获得特征向量,并对特征向量进行最大池化操作,获得文本向量d;
将文本向量d作为MLP网络的输入,通过MLP网络和激活函数,得到回复表示向量dr;
利用查询矩阵A和B得到预测的回复主题信息rr。
具体来说,回复主题信息的预测过程与基于卷积神经网络(CNN)的主题抽取的过程大致相同,即通过卷积操作获得特征向量进而获得文本向量的过程与步骤S3相同。只是在得到文本向量d后,将d作为MLP网络的输入,通过MLP网络和激活函数,得到回复表示向量dr。再利用查询矩阵A和B得到预测的回复主题rr。主题预测模型的本质即是分类模型,对话和回复之间主题应该大致相同但仍会存在差异,MLP网络可以很好地拟合出对话文本和所要生成的回复之间主题的微小差异,为后续下一步Seq2Seq模型回复生成奠定坚实基础。
步骤S5:将对话训练集输入至Seq2Seq生成模型,将抽取出的文本主题和预测出的回复主题通过门单元引入至Seq2Seq生成模型中,生成对话系统回复生成模型TDCM,并通过TDCM获得生成聊天机器人对话回复。
具体来说,本发明提出的是一种新的对话系统回复生成模型TDCM。传统的基于深度学习的聊天机器人通常使用Seq2Seq生成模型,来生成聊天机器人的回复,但这样倾向于生成高频一般回复,例如“我不知道”“嗯”,也极易产生前后回复矛盾、不连贯等问题。
而本发明中的TDCM将提取到的文本主题信息和预测出的回复主题信息通过门(Gate)单元引入到Seq2Seq生成模型中,主题信息可以有效控制生成文本的潜在表示,丰富文本潜在内容,从而有效降低了高频一般回复的生成概率,使Seq2Seq生成模型能生成更加连贯、丰富的回复。
在一种实施方式中,Seq2Seq生成模型包括编码器和解码器,将对话训练集输入至Seq2Seq生成模型,将对话训练集输入至Seq2Seq生成模型,将抽取出的文本主题和预测出的回复主题通过门单元引入至Seq2Seq生成模型中,生成对话系统回复生成模型TDCM,并通过TDCM获得生成聊天机器人对话回复,包括:
在编码过程中,将文本主题信息rm通过门单元引入到编码器中每一个循环神经网络单元的隐藏层中,具体包括:
gi=gate(rm,hi-1,xi)
其中,hi表示对话文本第i个词的隐藏表示,xi表示对话文本X中的第i个词,gi表示主题过滤门,表示主题增强向量;
在解码过程中,将预测的回复主题信息rr通过门单元引入到解码器中每一个RNN单元的隐藏层中获得对话系统回复生成模型TDCM,具体包括:
gj=gate(rr,vj-1,yj,cj)
其中,vj表示回复文本第j个词的隐藏表示,yj表示回复文本Y中的第j个词,c表示编码器的输出,gj表示主题过滤门,表示主题增强向量;
通过对话系统回复生成模型TDCM生成聊天机器人对话回复。
具体来说,传统的Seq2Seq模型包含编码器和解码器两个部分,本发明中的序列通过编码器得到抽象表示,再将抽象表示通过解码器生成回复序列。具体的引入过程请参见图3,TDCM以传统的Seq2Seq模型为基本框架,在编码过程中,将文本主题rm通过门单元引入到编码器中每一个循环神经网络(RNN)单元的隐藏层中,在解码过程中,将预测的回复主题rrr通过门单元引入到解码器中每一个RNN单元的隐藏层中。也就是,将前述步骤得到的文本主题信息和回复主题信息通过Gate引入生成模型辅助生成过程,从而得到本发明中的新的对话系统回复生成模型TDCM,再通过该模型即可得到成聊天机器人对话回复。
总体来说,本发明提供的聊天机器人回复生成方法,具有如下优点:
一、本发明的方法基于单层卷积神经网络,对对话文本进行主题信息抽取,可以作为一种通用的基于神经网络的短文本主题信息抽取模型。并且,这种主题抽取方式并不受文本形式的限制,大大提高了本发明方法的普适性。
二、本发明提出了一种新的对话系统回复生成模型。将提取到的文本主题信息和预测出的回复主题信息通过门单元引入到Seq2Seq生成模型中,从而有效降低了高频一般回复的生成概率,使神经对话模型能生成更加连贯、丰富的回复。
为了更清楚地说明本发明的聊天机器人回复生成方法的有益效果,下面通过一个具体的示例予以详细介绍。
本发明所提出的方法和基准主题模型通过实验比较可以验证本发明方法的高效性。本发明实验所用的数据集是康奈尔电影对话语料库(Cornell Movie Dialog Corpus),其中包含10,292对电影角色之间的220,579个多轮电影对话,它们是从617个原始电影剧本中提取的。为了保证实验的准确性,本实施方式做了如下预处理工作:(1)删除具有任何非罗马字母的句子;(2)通过正则表达式进行了标准化,例如将所有有效数字映射到<number>,将Web URL映射到<url>;(3)为了计算方便,将长于7轮的对话进行采样并将它们分成多个对话。
本文的具体实施方式流程图如附图1所示。实现过程如下:
1、根据实验数据的特性进行数据预处理。
2、选取并实现合适的基准模型。拟选择以下三个:(1)bS2SA:包含注意力机制的双向Seq2Seq模型;(2)S2SA-MMI:使用最大化互信息(MMI)作为目标函数的Seq2Seq模型;(3)bS2SA-Topic Attention(bS2SA-TA):包含主题注意力(Topic attention)机制的双向Seq2Seq模型,从预先训练的LDA中提取主题向量;
3、使用Tensorflow实现当有了基于CNN的主题模型后,以及使用MLP进行生成回复的主题预测。词向量使用谷歌word2vec工具。
4、使用本发明所提出的对话系统回复生成模型TDCM进行回复生成,TDCM中会通过门单元引入文本主题信息和预测出的回复主题信息,从而有效降低了高频一般回复的生成概率。
5、最后,本发明通过计算回复内容丰富度指标困惑度(PPL),PPL越低表示生成的回复越丰富,回复中词类总数和词对类型总数与基准模型bS2SA、S2SA-MMI、bS2SA-TopicAttention比较回复生成质量。
实验结果如附图4所示,从图4可以看出,本实施方式的方法的实验效果要优于3种基准模型。这是因为本发明将提取到的文本主题信息和预测出的回复主题信息引入到Seq2Seq生成模型中,从而有效降低了高频一般回复的生成概率,使神经对话模型能生成更加连贯、丰富的回复。
实施例二
本实施例提供了一种主题增强的聊天机器人回复生成装置,请参见图5,该装置包括:
对话文本预处理模块201,用于对预先获取的对话文本进行预处理;
采样模块202,用于根据对话文本的轮数,对预处理后的对话文本进行采样,将采样后的对话文本作为对话训练集;
主题抽取模块203,用于利用CNN对对话文本进行主题抽取,获得文本主题信息;
回复主题预测模块204,用于采用MLP对文本主题信息进行回复主题的预测,预测获得回复主题信息;
聊天机器人对话回复生成模块205,用于将对话训练集输入至Seq2Seq生成模型,将抽取出的文本主题和预测出的回复主题通过门单元引入至Seq2Seq生成模型中,生成对话系统回复生成模型TDCM,并通过TDCM获得生成聊天机器人对话回复。
在一种实施方式中,对话文本预处理模块201具体用于:
将预先获取的对话文本中的非拉丁字符和停用词进行过滤;
将所有字母转化为小写形式,并采用正则表达式对特殊字符进行标准化。
在一种实施方式中,采样模块202具体用于:
将对话轮数大于预设值的对话进行采样,将其分成对应的多个对话。
在一种实施方式中,主题抽取模块203具体用于:
利用卷积神经网络CNN的卷积核W,对对话文本中m个词的窗口进行卷积操作,生成特征向量ui,卷积操作的过程为:
其中,bv表示偏置,δ表示激活函数,xi表示对话文本中的第i个词,对应于对话文本词嵌入矩阵X中第i行的向量;
对生成的特征向量进行最大池化操作,得到文本向量d:
将得到的文本向量输入查询矩阵A获得注意向量p,再将注意向量输入查询矩阵B获得文本主题信息rm,其中,主题向量存储于两个查询矩阵A和B中,计算过程如下:
p=γ(Ad)
rm=BTp
其中,γ为sparsemax函数,输出稀疏概率,文本主题信息rm为主题向量的加权平均值,其权重由注意向量p给出。
在一种实施方式中,回复主题预测模块204具体用于:
通过卷积操作获得特征向量,并对特征向量进行最大池化操作,获得文本向量d;
将文本向量d作为MLP网络的输入,通过MLP网络和激活函数,得到回复表示向量dr;
利用查询矩阵A和B得到预测的回复主题信息rr。
在一种实施方式中,Seq2Seq生成模型包括编码器和解码器,将对话训练集输入至Seq2Seq生成模型,聊天机器人对话回复生成模块205具体用于:
在编码过程中,将文本主题信息rm通过门单元引入到编码器中每一个循环神经网络单元的隐藏层中,具体包括:
gi=gate(rm,hi-1,xi)
其中,hi表示对话文本第i个词的隐藏表示,xi表示对话文本X中的第i个词,gi表示主题过滤门,表示主题增强向量;
在解码过程中,将预测的回复主题信息rr通过门单元引入到解码器中每一个RNN单元的隐藏层中获得对话系统回复生成模型TDCM,具体包括:
gj=gate(rr,vj-1,yj,cj)
其中,vj表示回复文本第j个词的隐藏表示,yj表示回复文本Y中的第j个词,c表示编码器的输出,gj表示主题过滤门,表示主题增强向量;
通过对话系统回复生成模型TDCM生成聊天机器人对话回复。
由于本发明实施例二所介绍的装置,为实施本发明实施例一中主题增强的聊天机器人回复生成方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
实施例三
基于同一发明构思,本申请还提供了一种计算机可读存储介质300,请参见图6,其上存储有计算机程序311,该程序被执行时实现实施例一中的方法。
由于本发明实施例三所介绍的计算机可读存储介质,为实施本发明实施例一中主题增强的聊天机器人回复生成方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本申请还提供了一种计算机设备,请参见图7,包括存储401、处理器402及存储在存储器上并可在处理器上运行的计算机程序403,处理器402执行上述程序时实现实施例一中的方法。
由于本发明实施例四所介绍的计算机设备为实施本发明实施例一中主题增强的聊天机器人回复生成方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的计算机设备都属于本发明所欲保护的范围。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种主题增强的聊天机器人回复生成方法,其特征在于,包括:
对预先获取的对话文本进行预处理;
根据对话文本的轮数,对预处理后的对话文本进行采样,将采样后的对话文本作为对话训练集;
利用CNN对对话文本进行主题抽取,获得文本主题信息;
采用MLP对文本主题信息进行回复主题的预测,预测获得回复主题信息;
将对话训练集输入至Seq2Seq生成模型,将抽取出的文本主题和预测出的回复主题通过门单元引入至Seq2Seq生成模型中,生成对话系统回复生成模型TDCM,并通过TDCM获得生成聊天机器人对话回复。
2.如权利要求1所述的方法,其特征在于,对预先获取的对话文本进行预处理,包括:
将预先获取的对话文本中的非拉丁字符和停用词进行过滤;
将所有字母转化为小写形式,并采用正则表达式对特殊字符进行标准化。
3.如权利要求1所述的方法,其特征在于,根据对话文本的轮数,对预处理后的对话文本进行采样,包括:
将对话轮数大于预设值的对话进行采样,将其分成对应的多个对话。
4.如权利要求1所述的方法,其特征在于,利用CNN对对话文本进行主题抽取,获得文本主题信息,包括:
利用卷积神经网络CNN的卷积核W,对对话文本中m个词的窗口进行卷积操作,生成特征向量ui,卷积操作的过程为:
其中,bv表示偏置,δ表示激活函数,xi表示对话文本中的第i个词,对应于对话文本词嵌入矩阵X中第i行的向量;
对生成的特征向量进行最大池化操作,得到文本向量d:
将得到的文本向量输入查询矩阵A获得注意向量p,再将注意向量输入查询矩阵B获得文本主题信息rm,其中,主题向量存储于两个查询矩阵A和B中,计算过程如下:
p=γ(Ad)
rm=BTp
其中,γ为sparsemax函数,输出稀疏概率,文本主题信息rm为主题向量的加权平均值,其权重由注意向量p给出。
5.如权利要求1所述的方法,其特征在于,采用MLP对文本主题信息进行回复主题的预测,预测获得回复主题信息,包括:
通过卷积操作获得特征向量,并对特征向量进行最大池化操作,获得文本向量d;
将文本向量d作为MLP网络的输入,通过MLP网络和激活函数,得到回复表示向量dr;
利用查询矩阵A和B得到预测的回复主题信息rr。
6.如权利要求1所述的方法,其特征在于,Seq2Seq生成模型包括编码器和解码器,将对话训练集输入至Seq2Seq生成模型,将对话训练集输入至Seq2Seq生成模型,将抽取出的文本主题和预测出的回复主题通过门单元引入至Seq2Seq生成模型中,生成对话系统回复生成模型TDCM,并通过TDCM获得生成聊天机器人对话回复,包括:
在编码过程中,将文本主题信息rm通过门单元引入到编码器中每一个循环神经网络单元的隐藏层中,具体包括:
gi=gate(rm,hi-1,xi)
其中,hi表示对话文本第i个词的隐藏表示,xi表示对话文本X中的第i个词,gi表示主题过滤门,表示主题增强向量;
在解码过程中,将预测的回复主题信息rr通过门单元引入到解码器中每一个RNN单元的隐藏层中获得对话系统回复生成模型TDCM,具体包括:
gj=gate(rr,vj-1,yj,cj)
其中,vj表示回复文本第j个词的隐藏表示,yj表示回复文本Y中的第j个词,c表示编码器的输出,gj表示主题过滤门,表示主题增强向量;
通过对话系统回复生成模型TDCM生成聊天机器人对话回复。
7.一种主题增强的聊天机器人回复生成装置,其特征在于,包括:
对话文本预处理模块,用于对预先获取的对话文本进行预处理;
采样模块,用于根据对话文本的轮数,对预处理后的对话文本进行采样,将采样后的对话文本作为对话训练集;
主题抽取模块,用于利用CNN对对话文本进行主题抽取,获得文本主题信息;
回复主题预测模块,用于采用MLP对文本主题信息进行回复主题的预测,预测获得回复主题信息;
聊天机器人对话回复生成模块,用于将对话训练集输入至Seq2Seq生成模型,将抽取出的文本主题和预测出的回复主题通过门单元引入至Seq2Seq生成模型中,生成对话系统回复生成模型TDCM,并通过TDCM获得生成聊天机器人对话回复。
8.如权利要求7所述的装置,其特征在于,对话文本预处理模块具体用于:
将预先获取的对话文本中的非拉丁字符和停用词进行过滤;
将所有字母转化为小写形式,并采用正则表达式对特殊字符进行标准化。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现如权利要求1至6中任一项权利要求所述的方法。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6中任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910294250.3A CN110069611B (zh) | 2019-04-12 | 2019-04-12 | 一种主题增强的聊天机器人回复生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910294250.3A CN110069611B (zh) | 2019-04-12 | 2019-04-12 | 一种主题增强的聊天机器人回复生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110069611A true CN110069611A (zh) | 2019-07-30 |
CN110069611B CN110069611B (zh) | 2021-05-04 |
Family
ID=67367617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910294250.3A Active CN110069611B (zh) | 2019-04-12 | 2019-04-12 | 一种主题增强的聊天机器人回复生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110069611B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110516053A (zh) * | 2019-08-15 | 2019-11-29 | 出门问问(武汉)信息科技有限公司 | 对话处理方法、设备及计算机存储介质 |
CN111259668B (zh) * | 2020-05-07 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 阅读任务处理方法、模型训练方法、装置和计算机设备 |
EP4070513A4 (en) * | 2019-12-02 | 2023-12-27 | Capital One Services, LLC | PRE-CHAT INTENTION PREDICTION FOR DIALOG GENERATION |
WO2024036840A1 (zh) * | 2022-08-16 | 2024-02-22 | 之江实验室 | 基于主题增强的开放域对话回复方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180025726A1 (en) * | 2016-07-22 | 2018-01-25 | International Business Machines Corporation | Creating coordinated multi-chatbots using natural dialogues by means of knowledge base |
CN108037905A (zh) * | 2017-11-21 | 2018-05-15 | 北京光年无限科技有限公司 | 一种用于智能机器人的交互输出方法及智能机器人 |
CN108376131A (zh) * | 2018-03-14 | 2018-08-07 | 中山大学 | 基于seq2seq深度神经网络模型的关键词抽取方法 |
CN108874972A (zh) * | 2018-06-08 | 2018-11-23 | 青岛里奥机器人技术有限公司 | 一种基于深度学习的多轮情感对话方法 |
CN109407925A (zh) * | 2018-10-16 | 2019-03-01 | 小雅智能平台(深圳)有限公司 | 一种基于聊天机器人的交互方法、装置及相关设备 |
-
2019
- 2019-04-12 CN CN201910294250.3A patent/CN110069611B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180025726A1 (en) * | 2016-07-22 | 2018-01-25 | International Business Machines Corporation | Creating coordinated multi-chatbots using natural dialogues by means of knowledge base |
CN108037905A (zh) * | 2017-11-21 | 2018-05-15 | 北京光年无限科技有限公司 | 一种用于智能机器人的交互输出方法及智能机器人 |
CN108376131A (zh) * | 2018-03-14 | 2018-08-07 | 中山大学 | 基于seq2seq深度神经网络模型的关键词抽取方法 |
CN108874972A (zh) * | 2018-06-08 | 2018-11-23 | 青岛里奥机器人技术有限公司 | 一种基于深度学习的多轮情感对话方法 |
CN109407925A (zh) * | 2018-10-16 | 2019-03-01 | 小雅智能平台(深圳)有限公司 | 一种基于聊天机器人的交互方法、装置及相关设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110516053A (zh) * | 2019-08-15 | 2019-11-29 | 出门问问(武汉)信息科技有限公司 | 对话处理方法、设备及计算机存储介质 |
EP4070513A4 (en) * | 2019-12-02 | 2023-12-27 | Capital One Services, LLC | PRE-CHAT INTENTION PREDICTION FOR DIALOG GENERATION |
CN111259668B (zh) * | 2020-05-07 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 阅读任务处理方法、模型训练方法、装置和计算机设备 |
WO2024036840A1 (zh) * | 2022-08-16 | 2024-02-22 | 之江实验室 | 基于主题增强的开放域对话回复方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110069611B (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110164476B (zh) | 一种基于多输出特征融合的blstm的语音情感识别方法 | |
CN110069611A (zh) | 一种主题增强的聊天机器人回复生成方法及装置 | |
Chiu et al. | How to train your avatar: A data driven approach to gesture generation | |
CN109858030A (zh) | 双向的意图槽值交叉相关的任务型对话理解系统及方法 | |
CN111312245B (zh) | 一种语音应答方法、装置和存储介质 | |
Xie et al. | Attention-based dense LSTM for speech emotion recognition | |
CN111966800B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
Wen et al. | Dynamic interactive multiview memory network for emotion recognition in conversation | |
CN110210032B (zh) | 文本处理方法及装置 | |
CN110321418A (zh) | 一种基于深度学习的领域、意图识别和槽填充方法 | |
CN113987179B (zh) | 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质 | |
CN112527966B (zh) | 基于Bi-GRU神经网络和自注意力机制的网络文本情感分析方法 | |
CN115964467A (zh) | 一种融合视觉情境的富语义对话生成方法 | |
Chen et al. | Delving deeper into the decoder for video captioning | |
CN108595436A (zh) | 情感对话内容的生成方法和系统、存储介质 | |
CN113065344A (zh) | 一种基于迁移学习和注意力机制的跨语料库情感识别方法 | |
CN111274375A (zh) | 一种基于双向gru网络的多轮对话方法及系统 | |
CN114911932A (zh) | 基于主题语义增强的异构图结构多会话者情感分析方法 | |
CN114091478A (zh) | 基于有监督对比学习与回复生成辅助的对话情感识别方法 | |
Yang et al. | Open domain dialogue generation with latent images | |
CN112182161A (zh) | 一种基于用户对话历史的个性化对话生成方法和系统 | |
CN113656569B (zh) | 一种基于上下文信息推理的生成式对话方法 | |
CN111046157B (zh) | 一种基于平衡分布的通用英文人机对话生成方法和系统 | |
CN111368524A (zh) | 一种基于自注意力双向gru和svm的微博观点句识别方法 | |
CN116258147A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |