CN111046157A - 一种基于平衡分布的通用英文人机对话生成方法和系统 - Google Patents
一种基于平衡分布的通用英文人机对话生成方法和系统 Download PDFInfo
- Publication number
- CN111046157A CN111046157A CN201911255411.4A CN201911255411A CN111046157A CN 111046157 A CN111046157 A CN 111046157A CN 201911255411 A CN201911255411 A CN 201911255411A CN 111046157 A CN111046157 A CN 111046157A
- Authority
- CN
- China
- Prior art keywords
- word
- network
- dialogue
- weight
- vector
- 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
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/24—Classification techniques
-
- 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
-
- 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/048—Activation functions
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于平衡分布的英文人机对话生成方法和系统,在该方法中,首先提出了一个特征感知权重网络,该网络将生成的响应作为输入,以学习有关不同对话信息(如对话行为或情感)的适当权重。之后,将该权重分配给生成器生成的响应中的不同单词,将其作为偏移量来修改原始损失函数。最后,利用修改后的损失函数来训练生成器来生成与各种外部信息相关的响应。本发明的贡献主要有两个方面:(1)提供了一个方法,该方法为几乎所有生成器引入了外部权重,以更好地适应各种外部信息。(2)提供了一个特征感知权重网络,根据每个单词与对话外部信息的关系为每个单词生成不同的权重。本发明与其他基础模型相比,生成效果得到了明显地提升。
Description
技术领域
本发明属于对话生成,自然语言处理研究的技术领域,通过在生成器之上附加特征感知权重网络从而提高生成器的生成质量。该方法所利用的信息即为包括对话行为、对话情感在内的对话信息,通过这些信息,本发明可以调整生成器原本生成单词的分布,从而使得生成的响应更满足上下文的需要。
背景技术
随着计算机的兴起,人类就开始构思人工智能,而人工智能的核心则应该是机器人与人类的对话能力,也因此,图灵定义了图灵测试来作为人工智能的评价标准,具体来说,图灵测试就是让人类在只能获得文本回答的基础上判断对方是否是人工智能,尽管此方法有一定的争议性,但对话对于人工智能的价值由此可见一斑。
在深度学习的浪潮下,自然语言处理,尤其是对话系统越来越受到研究者的关注。对话系统旨在使计算机学会与人交流,其包含面向任务和开放式两种类型。具体而言,面向任务的对话系统尝试帮助用户完成某些任务,例如查找产品,预订住宿和餐馆。任务型对话机器人如Siri、小爱同学等可以作为人类的智能助手,帮助人类快速完成一些简单的操作,比如定闹钟、发微信等。除此之外,客服也是这类机器人的一大应用场景,使用机器人客服可以提升用户的使用体验,也可以降低企业成本。另一方面,开放域对话生成系统,也称为闲聊机器人,侧重于通过提取历史话语来生成相关和多样化的对话响应。在这样的现实背景下,许多公司,包括微软,苹果,Facebook和谷歌都设计了他们的聊天机器人产品。聊天机器人的核心是对话生成引擎。对话产品能够提高用户的关注度,增加产品的趣味性作为流量的一个入口,对于用户来说,也可以排遣枯燥的生活。
另一方面,随着互联网的发展,大量的语料充斥于网络上,这就为数据驱动型的算法奠定了基础。目前主流的对话生成器便是这样的算法,然而数据驱动的一大问题就是模型总是会产生通用的回答,因此本发明提出可以利用对话行为等信息来使得对话更符合上下文从而提高对话生成的质量。
发明内容
本发明要解决的技术问题为:克服现有对话生成器总是产生通用答复这个问题,提供基于平衡分布的通用英文对话生成方法,通过将对话行为等信息融合到生成器中,提高了生成的质量。
本发明解决上述技术问题的技术方案为:一种基于平衡分布的通用英文人机对话生成方法,该方法具体步骤如下:
步骤(1)、初始化文本词向量。采用文本语料(例如谷歌新闻语料)预训练完成的词向量(例如300维)来表示对话语料中的大部分单词,对于出现频率过低的,统一将其指定为未知(UNK);
步骤(2)、搭建特征感知权重网络。首先搭建两层前馈神经网络,将对话语料中的输入转变为词向量形式并作为两层前馈网络的输入;
zi=g(zi-1)=f(Wizi-1+bi)
其中,Wi,bi是参数,z0=ei,zi是特征感知权重网络的第i层,f(·)是激活函数,本发明使用的是修正线性单元(Rectified Linear Units,ReLU)激活函数。
步骤(3)、为步骤(2)中所搭建的特征感知权重网络计算分类结果,即为每个单词计算软最大化(Softmax)结果:
pk=softmax(Wszi+bs)
其中,Ws,bs是参数,pk是C维向量,其中C是对话行为的类别数量,其中每一维都表示对应的对话行为类别的概率。软最大化(Softmax)计算公式如下:
基于上述特征感知权重网络结构,模型对对话行为的分类结果为p,p由所有这些软最大化(Softmax)结果相加得到:
步骤(4)、根据步骤(3)所得到的模型分类结果和真实结果来计算交叉熵损失函数。使用梯度下降法不断的迭代训练直到模型收敛。
步骤(5)、根据步骤(4)所得到的模型,本发明即可以得到模型对句子的预测类别c,其定义如下:
在接下里的训练生成器的过程中将特征感知权重网络当做黑盒使用。图1展示了基于平衡分布的通用英文对话生成方法结构图,也即是本发明的整体流程。
除了特征感知权重网络之外,也可以训练特征感知循环网络,图2展示了特征感知循环网络的结构,特征感知循环网络的计算过程与特征感知权重网络基本相同,因此此处便不再赘述。
步骤(6)、搭建对话生成器。本发明所要搭建的是如下的生成器模型:
其中,x1,x2,...,xN表示对话的上下文,y1,y2,...,k则表示生成的响应。然而,在标准序列到序列模型中,上下文向量只有唯一的一个,因此不利于解码器的学习,所以要为该模型附加上注意力机制,注意力机制会为解码器中的每个单词,根据当前的情况生成不同的上下文向量,所以本发明的模型便成为:
P(yt|y1,y2,…,yk-1,X)=g(yt-1,st,ci)
st=f(yt-1,st-1,ci)
其中,s,f是激活函数,并且:
a使用多层感知机(Multi-Layer Perceptron,MLP)来计算解码器中第i个词和编码器中每个词的相对权重。
上述的方法均使用长短期记忆网络作为其基本单元,因此要先搭建长短期记忆网络,长短期记忆网络结构如下:
lt=σ(Wixt+Uiht-1+bi)
ft=σ(Wfxt+Ufht-1+bf)
gt=φ(Wgxt+Ught-1+bg)
ot=σ(Woxt+Uoht-1+bo)
其中:it,ft和ot分别为长短期记忆网络模型中所涉及的输入门、遗忘门以及输出门,三种门均使用Sigmoid激活函数,从而其数值均在0到1之间,1表示“完全保留”,0表示“完全舍弃”,表示的是矩阵乘法操作,W、U为长短期记忆网络中的权重矩阵,隐藏状态hj表示长短期记忆网络层中第j个单词所对应的输出;则表示计算输入门、遗忘门、输出门的公式所对应的偏置向量。
步骤(7)、整体训练。在得到了步骤(5)的特征感知权重网络之后,本发明将在以下的步骤中将其作为黑盒使用。在训练过程中,本发明首先从生成器中获得各个单词的生成概率并从特征感知权重网络中获得分类结果c,然后便得到向量[p1[c],p2[c],…,pK-1[c],pK[c]],该向量的每一维表示句子中的每个单词所对应的权重,由此可以得到平衡分布后的损失函数:
此处的Y=y1,y2,…,yK是对话数据集中的真实响应,ce表示标准的交叉熵损失函数,并且本发明对每个单词将其真实类别所对应的概率值pk[c]作为权重:
步骤(8)、根据步骤(7)中的目标损失函数对上述的生成模型进行训练,可得梯度下降表达式如下:
本发明根据Adam梯度下降算法在训练过程中对基于对话行为的对话生成模型中的词向量参数,以及上述步骤中提及的待训练权重矩阵和长短期记忆网络结构中的输入,输出,遗忘门进行优化,最终得到优化后的基于对话行为的对话生成模型,以及其所生成的响应。
通过对每个单词评估其在特定对话行为下的权重,并利用该权重来修改模型的生成单词的分布,从而提高模型的生成质量。本发明在对话生成系统中,本发明观察到句子中每个单词的作用通常与句子的对话行为有关。例如,在句子How bad did I do?中,did一词与该句子的对话行为更相关,即询问,而do一词则与对话行为关系不大。但是,当前的标准交叉熵损失函数几乎无法区分这些单词之间的差异,更不用说对生成响应的每个单词施加不同的影响。这也是本发明的灵感来源。
本发明还提出一种基于平衡分布的通用英文人机对话生成系统,包括计算机,显示设备,输入设备,用户通过输入设备输入英文对话,所述显示设备输出计算机自动生成的英文对话结果;该系统还包括:
初始化单元、初始化文本词向量,采用文本语料预训练完成的词向量来表示对话语料中的单词,对于出现频率低于阈值的单词,统一将其指定为未知UNK;
特征感知权重网络搭建单元、搭建特征感知权重网络,首先搭建两层前馈神经网络,将对话语料中的输入转变为词向量形式并作为两层前馈网络的输入;
zi=g(zi-1)=f(Wizi-1+bi)
其中,Wi,bi是神经网络中的权重参数,z0=e,也即是输入单词的词向量zi是特征感知权重网络的第i层,g(·)和f(·)是激活函数,所述激活函数均是修正线性单元(Rectified Linear Units,ReLU)激活函数;
权重计算单元、为特征感知权重网络搭建单元中所搭建的特征感知权重网络计算分类结果,即为对话语料中待训练的每个单词计算软最大化(Softmax)结果:
pk=softmax(Wszi+bs)
其中,Ws,bs是特征感知权重网络中的权重参数,s指该参数为特征感知权重网络的参数,pk是C维向量,其中,k是指第k个单词,C是对话行为的类别数量,其中每一维都表示对应的对话行为类别的概率;软最大化(Softmax)计算公式如下:
其中,k指的是第k个单词;
交叉熵损失计算单元、根据权重计算单元所得到的特征感知权重网络分类结果和真实结果来计算交叉熵损失函数;使用梯度下降法不断的迭代训练特征感知权重网络直到收敛;此处根据不同的场景选择不同的对话行为标签来进行训练,如果希望表达特定的对话意图,则选择对话行为标签,如果希望传达特定的情绪,则选择对话情感标签。;
句子类别预测单元、根据交叉熵损失计算单元所得到的收敛后的特征感知权重网络,得到对句子的预测类别c,其定义如下:
其中,i表示p的第i维分量;
对话生成生成器单元(6)、搭建对话生成生成器模型;
其中,X,x1,x2,...,xN表示对话的上下文,Y,y1,y2,...,yk则表示生成的响应,P表示生成概率;为该生成器模型附加上注意力机制,注意力机制会为解码器中的每个单词,根据当前的情况生成不同的上下文向量,得到附加注意力机制之后的生成器的生成概率P为:
P(yt|y1,y2,,yk-1,X)=g(yt-1,st,ci)
st=f(yt-1,st-1,ci)
其中,g,f是激活函数,st是长短期记忆网络在t时刻的隐藏状态,ci则是第i个词的上下文向量,并且:
a使用多层感知机(Multi-Layer Perceptron,MLP)来计算解码器中第i个词和编码器中每个词的相对权重;hj和hk均为生成器模型中编码器的第j个和第k个隐藏状态,αij表示注意力机制中的权重,exp表示指数函数;
使用长短期记忆网络作为其基本单元,先搭建长短期记忆网络,长短期记忆网络结构如下:
lt=σ(Wixt+Uiht-1+bi)
ft=σ(Wfxt+Ufht-1+bf)
gt=φ(Wgxt+Ught-1+bg)
ot=σ(Woxt+Uoht-1+bo)
其中:it,ft和ot分别为长短期记忆网络模型中所涉及的输入门、遗忘门以及输出门,三种门均使用Sigmoid激活函数,从而其数值均在0到1之间,1表示“完全保留”,0表示“完全舍弃”,表示的是矩阵乘法操作,W、U为长短期记忆网络中的权重矩阵,隐藏状态hj表示长短期记忆网络层中第j个单词所对应的输出;则表示计算输入门、遗忘门、输出门的公式所对应的偏置向量;
整体训练单元、整体训练;在得到特征感知权重网络之后,在以下的步骤中将其作为黑盒使用;在训练过程中,首先从生成器模型中获得各个单词的生成概率并从特征感知权重网络中获得分类结果c,然后便得到向量[p1[c],p2[c],...,pK-1[c],pK[c]],该向量的每一维表示句子中的每个单词所对应的权重,由此得到平衡分布后的损失函数:
模型训练单元、根据整体训练单元中的目标损失函数对上述的生成模型进行训练,得梯度下降表达式如下:
对话自动生成单元,根据Adam梯度下降算法在训练过程中对基于对话行为的对话生成模型中的词向量参数,以及上述步骤中提及的待训练权重矩阵和长短期记忆网络结构中的输入,输出,遗忘门进行优化,最终得到优化后的基于对话行为的对话生成模型,以及其所生成的响应;基于上述优化后的基于对话行为的对话生成模型根据用户输入英文语句,自动生成输出的英文对话语句。
本发明与现有技术相比的优点在于:
(1)本发明提出了一种基于平衡分布的通用英文人机对话生成方法,可以有效提高模型生成响应的相关性和多样性。目前的生成模型都是采用编码器-解码器(encoder-decoder)架构,此架构最大的问题就是生成的回答总是通用答复,比如“我不知道”,“我不确定”,为了解决这个问题,一般的做法就是通过层次结构来读入并处理上下文信息,并利用注意力机制的有效性来保留合理的信息,过滤冗余的信息;另一种办法就是给编码器和解码器不断的引入外部信息,比如对话主题、对话情感、对话行为等,通过这些对话信息,模型倾向于生成偏向性的回答,因此在一定程度上缓解了通用答复的问题;与上面的方法不同,本发明通过特征感知权重网络获得解码器每次输出的句子并为句中的每个单词打分,得到其对应的权重,然后利用这些权重来修改解码器输出的概率分布,从而使得生成的响应更多样。本发明与其他基础模型相比,效果有了明显的提升。实验结果在表1中给出,对结果的分析则在表1下方有详细的说明。
(2)本发明所提供的方法可以适配多种生成器和多种对话信息。目前的生成器基本都是基于编码器-解码器架构的,除了标准序列到序列模型之外,附加注意力机制的序列到序列模型也是经典且有效的模型,另外,正如上文所说,层次循环编解码器利用了上下文信息,因此生成语句的长度、相关性和多样性都有一定程度的提升,最后将变分自编码器引入对话生成模型也被实验证明是对基本编码器-解码器结构的有效改进。本发明所提出的方法使用特征感知权重网络来影响解码器的输出,重新平衡单词的分布,因此可以有效适配于上述的任何结构的模型。另一方面,对话信息包括对话主题、对话行为和对话情感等,本发明可以方便的适配句子级的任何信息,比如对话行为和对话情感,这些信息是依附于每个句子而存在的,每个句子会有一个对话行为类别和对话情感类别,而有些信息是对话级别的,比如对话主题,整段对话往往只有一个主题,该主题下的所有句子共享这一个主题,对于这类的对话信息,很难为以单词为单位来衡量其权重,因此,本方法适配所有句子级别的对话信息。
附图说明
图1基于平衡分布的通用英文对话生成方法结构图;
图2特征感知循环网络的结构图;
图3本发明的人机交互系统框图。
具体实施方式
下面结合附图和实例对本发明进一步说明。
本发明是一种基于平衡分布的通用英文人机对话生成方法,其充分利用了用户对模型生成响应的对话行为类别,并将这些反馈信息通过影响解码器输出分布的方式应用到生成模型中。
本发明首先训练得到特征感知权重网络或特征感知循环网络,然后进行生成的步骤,将上文通过词表映射为对应的编号,并使用全局向量(GloVe)词向量,从中初始化上下文所包含的单词,接下来编码器将上下文编码为隐藏状态向量,解码器则根据上下文向量产生每一步输出,通常此处产生的单词往往是语料中出现概率很大的单词,因此将解码器的输出放入特征感知权重网络中,得到每个单词对于该句对话行为类别的贡献权重,接下来使用这些权重来重新影响解码器的输出分布;根据目标损失函数对模型进行训练,直到损失值达到某一阈值。本发明同时又对多种生成器进行了效果对比测试。
本发明的一种基于平衡分布的通用英文人机对话生成方法,主要分为以下5个步骤。
步骤(1)、初始化文本词向量。采用文本语料(例如谷歌新闻语料)预训练完成的词向量(例如300维)来表示对话语料中的大部分单词,对于出现频率过低的,统一将其指定为未知(UNK);
步骤(2)、搭建特征感知权重网络。首先搭建两层前馈神经网络,将对话语料中的输入转变为词向量形式并作为两层前馈网络的输入;
zi=g(zi-1)=f(Wizi-1+bi)
其中,Wi,bi是参数,z0=ei,zi是特征感知权重网络的第i层,f(·)是激活函数,本发明使用的是修正线性单元(Rectified Linear Units,ReLU)激活函数。
步骤(3)、为步骤(2)中所搭建的特征感知权重网络计算分类结果,即为每个单词计算软最大化(Softmax)结果:
pk=softmax(Wszi+bs)
其中,Ws,bs是参数,pk是C维向量,其中C是对话行为的类别数量,其中每一维都表示对应的对话行为类别的概率。软最大化(Softmax)计算公式如下:
基于上述特征感知权重网络结构,模型对对话行为的分类结果为p,p由所有这些软最大化(Softmax)结果相加得到:
步骤(4)、根据步骤(3)所得到的模型分类结果和真实结果来计算交叉熵损失函数。使用梯度下降法不断的迭代训练直到模型收敛。
步骤(5)、根据步骤(4)所得到的模型,本发明即可以得到模型对句子的预测类别c,其定义如下:
在接下里的训练生成器的过程中将特征感知权重网络当做黑盒使用。
除了特征感知权重网络之外,也可以训练特征感知循环网络,图2展示了特征感知循环网络的结构,特征感知循环网络的计算过程与特征感知权重网络基本相同,因此此处便不再赘述。
步骤(6)、搭建对话生成器。本发明所要搭建的是如下的生成器模型:
其中,x1,x2,…,xN表示对话的上下文,y1,y2,…,yk则表示生成的响应。然而,在标准序列到序列模型中,上下文向量只有唯一的一个,因此不利于解码器的学习,所以要为该模型附加上注意力机制,注意力机制会为解码器中的每个单词,根据当前的情况生成不同的上下文向量,所以本发明的模型便成为:
P(yt|y1,y2,…,yk-1,X)=g(yt-1,st,ci)
st=f(yt-1,st-1,ci)
其中s,f是激活函数,并且:
a使用多层感知机(Multi-Layer Perceptron,MLP)来计算解码器中第i个词和编码器中每个词的相对权重。
上述的方法均使用长短期记忆网络作为其基本单元,因此要先搭建长短期记忆网络,长短期记忆网络结构如下:
lt=σ(Wixt+Uiht-1+bi)
ft=σ(Wfxt+Ufht-1+bf)
gt=φ(Wgxt+Ught-1+bg)
ot=σ(Woxt+Uoht-1+bo)
st=gt⊙it+st-1⊙ft,ht=st⊙φ(ot)
其中:it,ft和ot分别为长短期记忆网络模型中所涉及的输入门、遗忘门以及输出门,三种门均使用Sigmoid激活函数,从而其数值均在0到1之间,1表示“完全保留”,0表示“完全舍弃”,表示的是矩阵乘法操作,W、U为长短期记忆网络中的权重矩阵,隐藏状态hj表示长短期记忆网络层中第j个单词所对应的输出;则表示计算输入门、遗忘门、输出门的公式所对应的偏置向量。
步骤(7)、整体训练。在得到了步骤(5)的特征感知权重网络之后,本发明将在以下的步骤中将其作为黑盒使用。在训练过程中,本发明首先从生成器中获得各个单词的生成概率并从特征感知权重网络中获得分类结果c,然后便得到向量[p1[c],p2[c],...,pK-1[c],pK[c]],该向量的每一维表示句子中的每个单词所对应的权重,由此可以得到平衡分布后的损失函数:
此处的Y=y1,y2,...,yK是对话数据集中的真实响应,ce表示标准的交叉熵损失函数,并且本发明对每个单词将其真实类别所对应的概率值pk[c]作为权重:
步骤(8)、根据步骤(7)中的目标损失函数对上述的生成模型进行训练,可得梯度下降表达式如下:
本发明根据Adam梯度下降算法在训练过程中对基于对话行为的对话生成模型中的词向量参数,以及上述步骤中提及的待训练权重矩阵和长短期记忆网络结构中的输入,输出,遗忘门进行优化,最终得到优化后的基于对话行为的对话生成模型,以及其所生成的响应。
在应用过程中,用户可以以文本的形式与本发明进行对话,用户输入一句英文,本发明进行语义提取并生成另一句英文作为回答,如此往复地和用户进行交互,图3展示了这一过程。
下面对基准对照模型进行简要介绍:
1.Cho等人提出来序列到序列模型(Sequence to Sequence model)就是经典的基于编码器-解码器架构的深度模型。序列到序列模型被广泛应用到自然语言处理的各个方面,包括神经机器翻译,文档摘要,对话生成。有关于对话生成的相关应用,将在下文中详细介绍。序列到序列模型的输入可以是文本、语音或者图像,在对话中,模型的输入是上文,输出则为模型生成的下文。
2.Bahdanau,Luong等人提出了注意力机制(attention mechanism)并将其融入标准序列到序列模型。注意力机制首先被用于机器翻译(Machine Translation,MT)中,之后便被用来提高生成的质量。注意力机制在解码器的每个时刻下会根据当前的内容产生不同的上下文表示。
3.Sordoni等人提出了层次循环编码器解码器(Hierarchical RecurrentEncoder-Decoder,HRED),这是生成式对话的又一个经典模型。在该模型中,句子级编码器将每轮会话句子映射为句子语义向量。该语义向量是循环神经网络处理完整个句子后输出的最后一个隐藏状态向量。对话级别的循环神经网络则遍历每一轮对话的句子语义向量。对话级循环神经网络输出的最后一个隐藏向量用作对话语义的代表,并用于生成响应。
4.shen等人提出了分隔上下文的层次循环编码器解码器(HierarchicalRecurrent Encoder-Decoder with Separated context,SPHRED),他们是用该模型对每个说话者的话语进行建模。然后使用变分自编码器来建模上下文变量c,变分自编码器假设先验p(z)是正太分布(normal distribution)。在训练过程中,一方面,它减少了重构误差;另一方面,它通过KL散度(KL divergence)使得后验q(z|x)近似于先验p(z)。
表1对比通用性结果
为了验证所提出方法的有效性和通用性,本文分别在以下四种编码器-解码器架构的经典生成器基础上加入本方法,来进行对比试验。嵌入平均(Embedding Average),向量极值(Vector Extrema),贪心匹配(Greedy Matching)是基于词嵌入的对话评价指标。表1表明所提出的方法可以有效提高生成能力,同时可以推广至绝大部分编码器-解码器架构的生成器。
表2对比对话行为结果
表3对比对话情感结果
很多模型都引入了对话行为的信息,但正如上文所述,这些模型是对序列到序列模型本身要进行修改,通用性较差。本文对比了其中效果比较好的知识导向条件变分自编码器(kgCVAE)和SPHRED+FAWN。尽管表2显示了两者之间相差不大,但是从通用性上来说本发明还是更胜一筹。
除了对多种编码器-解码器架构的生成器能通用外,本发明还可以拓展到其他一些对话信息上,比如情感,本文先在句子-情感标签对的数据集上进行预训练,获得了可以根据情感标签返回词权重的特征感知权重网络,继而训练序列到序列模型,表3呈现了对比结果,由结果可以得到,本发明确实可以推广至更多的对话信息。
本发明未详细阐述的部分属于本领域公知技术。以上实施例仅用以说明本发明的技术方案而非限制在具体实施方式的范围内,对本技术领域的普通技术人员来讲,只要各种变化在权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (7)
1.一种基于平衡分布的通用英文人机对话生成方法,其特征在于,包括以下步骤:
步骤(1)、初始化文本词向量,采用文本语料预训练完成的词向量来表示对话语料中的单词,对于出现频率低于阈值的单词,统一将其指定为未知UNK;
步骤(2)、搭建特征感知权重网络,首先搭建两层前馈神经网络,将对话语料中的输入转变为词向量形式并作为两层前馈网络的输入;
zi=g(zi-1)=f(Wizi-1+bi)
其中,Wi,bi是神经网络中的权重参数,z0=e,也即是输入单词的词向量zi是特征感知权重网络的第i层,g(·)和f(·)是激活函数,所述激活函数均是修正线性单元(RectifiedLinear Units,ReLU)激活函数;
步骤(3)、为步骤(2)中所搭建的特征感知权重网络计算分类结果,即为对话语料中待训练的每个单词计算软最大化(Softmax)结果:
pk=softmax(Wszi+bs)
其中,Ws,bs是特征感知权重网络中的权重参数,s指该参数为特征感知权重网络的参数,pk是C维向量,其中,k是指第k个单词,C是对话行为的类别数量,其中每一维都表示对应的对话行为类别的概率;软最大化(Softmax)计算公式如下:
基于上述特征感知权重网络结构,对对话行为的分类结果为p,p由所有这些软最大化(Softmax)结果相加得到:
其中,k指的是第k个单词;
步骤(4)、根据步骤(3)所得到的特征感知权重网络分类结果和真实结果来计算交叉熵损失函数;使用梯度下降法不断的迭代训练特征感知权重网络直到收敛;此处根据不同的场景选择不同的对话行为标签来进行训练,如果希望表达特定的对话意图,则选择对话行为标签,如果希望传达特定的情绪,则选择对话情感标签;
步骤(5)、根据步骤(4)所得到的收敛后的特征感知权重网络,得到对句子的预测类别c,其定义如下:
其中,i表示p的第i维分量;
步骤(6)、搭建对话生成生成器模型;
其中,X,x1,x2,...,xN表示对话的上下文,Y,y1,y2,...,yk则表示生成的响应,P表示生成概率;为该生成器模型附加上注意力机制,注意力机制会为解码器中的每个单词,根据当前的情况生成不同的上下文向量,得到附加注意力机制之后的生成器的生成概率P为:
P(yt|y1,y2,...,yk-1,X)=g(yt-1,st,ci)
st=f(yt-1,st-1,ci)
其中,g,f是激活函数,st是长短期记忆网络在t时刻的隐藏状态,ci则是第i个词的上下文向量,并且:
a使用多层感知机(Multi-Layer Perceptron,MLP)来计算解码器中第i个词和编码器中每个词的相对权重;hj和hk均为生成器模型中编码器的第j个和第k个隐藏状态,αij表示注意力机制中的权重,exp表示指数函数;
使用长短期记忆网络作为其基本单元,先搭建长短期记忆网络,长短期记忆网络结构如下:
it=σ(Wixt+Uiht-1+bi)
ft=σ(Wfxt+Ufht-1+bf)
gt=φ(Wgxt+Ught-1+bg)
ot=σ(Woxt+Uoht-1+bo)
st=gt⊙it+st-1⊙ft,ht=st⊙φ(ot)
其中:it,ft和ot分别为长短期记忆网络模型中所涉及的输入门、遗忘门以及输出门,三种门均使用Sigmoid激活函数,从而其数值均在0到1之间,1表示“完全保留”,0表示“完全舍弃”,⊙表示的是矩阵乘法操作,W、U为长短期记忆网络中的权重矩阵,隐藏状态hj表示长短期记忆网络层中第j个单词所对应的输出;b则表示计算输入门、遗忘门、输出门的公式所对应的偏置向量;
步骤(7)、整体训练;在得到了步骤(5)的特征感知权重网络之后,在以下的步骤中将其作为黑盒使用;在训练过程中,首先从生成器模型中获得各个单词的生成概率并从特征感知权重网络中获得分类结果c,然后便得到向量[p1[c],p2[c],...,pK-1[c],pK[c]],该向量的每一维表示句子中的每个单词所对应的权重,由此得到平衡分布后的损失函数:
步骤(8)、根据步骤(7)中的目标损失函数对上述的生成模型进行训练,得梯度下降表达式如下:
根据Adam梯度下降算法在训练过程中对基于对话行为的对话生成模型中的词向量参数,以及上述步骤中提及的待训练权重矩阵和长短期记忆网络结构中的输入,输出,遗忘门进行优化,最终得到优化后的基于对话行为的对话生成模型,以及其所生成的响应;基于上述优化后的基于对话行为的对话生成模型根据用户输入英文语句,自动生成输出的英文对话语句。
2.根据权利要求1所述的一种基于平衡分布的通用英文人机对话生成方法,其特征在于:所述步骤(2)中,待训练矩阵使用正态随机初始化方法进行数值初始化。
3.根据权利要求1所述的一种基于平衡分布的通用英文人机对话生成方法,其特征在于:所述步骤(6)中,在每一次训练过程中,隐藏状态向量h以及当前单元所对应的状态向量c都会受到前一感知单元所对应的状态向量和隐藏状态向量的影响并更新数值。
4.根据权利要求1所述的一种基于平衡分布的通用英文人机对话生成方法,其特征在于:所述步骤(6)中,待训练矩阵使用正态随机初始化方法进行数值初始化。
6.根据权利要求1所述的一种基于平衡分布的通用英文人机对话生成方法,其特征在于:步骤(7)中,所提到损失函数是交叉熵函数,交叉熵函数用于度量两个概率分布间的差异性信息。
7.一种基于平衡分布的通用英文人机对话生成系统,包括计算机,显示设备,输入设备,用户通过输入设备输入英文对话,所述显示设备输出计算机自动生成的英文对话结果;其特征在于,该系统还包括:
初始化单元、初始化文本词向量,采用文本语料预训练完成的词向量来表示对话语料中的单词,对于出现频率低于阈值的单词,统一将其指定为未知UNK;
特征感知权重网络搭建单元、搭建特征感知权重网络,首先搭建两层前馈神经网络,将对话语料中的输入转变为词向量形式并作为两层前馈网络的输入;
zi=g(zi-1)=f(Wizi-1+bi)
其中Wi,bi是神经网络中的权重参数,z0=e,也即是输入单词的词向量zi是特征感知权重网络的第i层,g(·)和f(·)是激活函数,所述激活函数均是修正线性单元(RectifiedLinear Units,ReLU)激活函数;
权重计算单元、为特征感知权重网络搭建单元中所搭建的特征感知权重网络计算分类结果,即为对话语料中待训练的每个单词计算软最大化(Softmax)结果:
pk=softmax(Wszi+bs)
其中,Ws,bs是特征感知权重网络中的权重参数,s指该参数为特征感知权重网络的参数,pk是C维向量,其中,k是指第k个单词,C是对话行为的类别数量,其中每一维都表示对应的对话行为类别的概率;软最大化(Softmax)计算公式如下:
其中,k指的是第k个单词;
交叉熵损失计算单元、根据权重计算单元所得到的特征感知权重网络分类结果和真实结果来计算交叉熵损失函数;使用梯度下降法不断的迭代训练特征感知权重网络直到收敛;此处根据不同的场景选择不同的对话行为标签来进行训练,如果希望表达特定的对话意图,则选择对话行为标签,如果希望传达特定的情绪,则选择对话情感标签。;
句子类别预测单元、根据交叉熵损失计算单元所得到的收敛后的特征感知权重网络,得到对句子的预测类别c,其定义如下:
其中,i表示p的第i维分量;
对话生成生成器单元(6)、搭建对话生成生成器模型;
其中X,x1,x2,...,xN表示对话的上下文,Y,y1,y2,...,yk则表示生成的响应,P表示生成概率;为该生成器模型附加上注意力机制,注意力机制会为解码器中的每个单词,根据当前的情况生成不同的上下文向量,得到附加注意力机制之后的生成器的生成概率P为:
P(yt|y1,y2,...,yk-1,X)=g(yt-1,st,ci)
st=f(yt-1,st-1,ci)
其中,g,f是激活函数,st是长短期记忆网络在t时刻的隐藏状态,ci则是第i个词的上下文向量,并且:
a使用多层感知机(Multi-Layer Perceptron,MLP)来计算解码器中第i个词和编码器中每个词的相对权重;hj和hk均为生成器模型中编码器的第j个和第k个隐藏状态,αij表示注意力机制中的权重,exp表示指数函数;
使用长短期记忆网络作为其基本单元,先搭建长短期记忆网络,长短期记忆网络结构如下:
it=σ(Wixt+Uiht-1+bi)
ft=σ(Wfxt+Ufht-1+bf)
gt=φ(Wgxt+Ught-1+bg)
ot=σ(Woxt+Uoht-1+bo)
st=gt⊙it+st-1⊙ft,ht=st⊙φ(ot)
其中:it,ft和ot分别为长短期记忆网络模型中所涉及的输入门、遗忘门以及输出门,三种门均使用Sigmoid激活函数,从而其数值均在0到1之间,1表示“完全保留”,0表示“完全舍弃”,⊙表示的是矩阵乘法操作,W、U为长短期记忆网络中的权重矩阵,隐藏状态hj表示长短期记忆网络层中第j个单词所对应的输出;b则表示计算输入门、遗忘门、输出门的公式所对应的偏置向量;
整体训练单元、整体训练;在得到特征感知权重网络之后,在以下的步骤中将其作为黑盒使用;在训练过程中,首先从生成器模型中获得各个单词的生成概率并从特征感知权重网络中获得分类结果c,然后便得到向量[p1[c],p2[c],...,pK-1[c],pK[c]],该向量的每一维表示句子中的每个单词所对应的权重,由此得到平衡分布后的损失函数:
模型训练单元、根据整体训练单元中的目标损失函数对上述的生成模型进行训练,得梯度下降表达式如下:
对话自动生成单元,根据Adam梯度下降算法在训练过程中对基于对话行为的对话生成模型中的词向量参数,以及上述步骤中提及的待训练权重矩阵和长短期记忆网络结构中的输入,输出,遗忘门进行优化,最终得到优化后的基于对话行为的对话生成模型,以及其所生成的响应;基于上述优化后的基于对话行为的对话生成模型根据用户输入英文语句,自动生成输出的英文对话语句。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911255411.4A CN111046157B (zh) | 2019-12-10 | 2019-12-10 | 一种基于平衡分布的通用英文人机对话生成方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911255411.4A CN111046157B (zh) | 2019-12-10 | 2019-12-10 | 一种基于平衡分布的通用英文人机对话生成方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111046157A true CN111046157A (zh) | 2020-04-21 |
CN111046157B CN111046157B (zh) | 2021-12-07 |
Family
ID=70235363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911255411.4A Active CN111046157B (zh) | 2019-12-10 | 2019-12-10 | 一种基于平衡分布的通用英文人机对话生成方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111046157B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611347A (zh) * | 2020-05-22 | 2020-09-01 | 上海乐言信息科技有限公司 | 任务型对话系统的对话状态跟踪、训练方法及系统 |
CN111797218A (zh) * | 2020-07-07 | 2020-10-20 | 海南中智信信息技术有限公司 | 一种基于Cycle-Seq2Seq的开放域对话生成方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080154873A1 (en) * | 2006-12-21 | 2008-06-26 | Redlich Ron M | Information Life Cycle Search Engine and Method |
CN107545897A (zh) * | 2016-06-23 | 2018-01-05 | 松下知识产权经营株式会社 | 对话行为推定方法、对话行为推定装置以及程序 |
CN107863824A (zh) * | 2017-12-10 | 2018-03-30 | 国家电网公司 | 基于负荷智能集群优化的配变台区智能管控系统 |
CN107870896A (zh) * | 2016-09-23 | 2018-04-03 | 苏宁云商集团股份有限公司 | 一种对话分析方法及装置 |
-
2019
- 2019-12-10 CN CN201911255411.4A patent/CN111046157B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080154873A1 (en) * | 2006-12-21 | 2008-06-26 | Redlich Ron M | Information Life Cycle Search Engine and Method |
CN107545897A (zh) * | 2016-06-23 | 2018-01-05 | 松下知识产权经营株式会社 | 对话行为推定方法、对话行为推定装置以及程序 |
CN107870896A (zh) * | 2016-09-23 | 2018-04-03 | 苏宁云商集团股份有限公司 | 一种对话分析方法及装置 |
CN107863824A (zh) * | 2017-12-10 | 2018-03-30 | 国家电网公司 | 基于负荷智能集群优化的配变台区智能管控系统 |
Non-Patent Citations (1)
Title |
---|
孙承杰等: "一种基于弱监督学习的论坛帖子对话行为分类方法", 《中文信息学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611347A (zh) * | 2020-05-22 | 2020-09-01 | 上海乐言信息科技有限公司 | 任务型对话系统的对话状态跟踪、训练方法及系统 |
CN111797218A (zh) * | 2020-07-07 | 2020-10-20 | 海南中智信信息技术有限公司 | 一种基于Cycle-Seq2Seq的开放域对话生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111046157B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111897941B (zh) | 对话生成方法、网络训练方法、装置、存储介质及设备 | |
US20180329884A1 (en) | Neural contextual conversation learning | |
Perez et al. | Dialog state tracking, a machine reading approach using memory network | |
CN112541063B (zh) | 一种基于自学习对话模型的人机对话方法及系统 | |
CN109214006B (zh) | 图像增强的层次化语义表示的自然语言推理方法 | |
CN106875940B (zh) | 一种基于神经网络的机器自学习构建知识图谱训练方法 | |
CN111241807B (zh) | 一种基于知识引导注意力的机器阅读理解方法 | |
CN113392210A (zh) | 文本分类方法、装置、电子设备及存储介质 | |
CN112115687A (zh) | 一种结合知识库中的三元组和实体类型的生成问题方法 | |
CN112115247A (zh) | 一种基于长短时记忆信息的个性化对话生成方法和系统 | |
Dsouza et al. | Chat with bots intelligently: A critical review & analysis | |
CN112182161A (zh) | 一种基于用户对话历史的个性化对话生成方法和系统 | |
CN110597968A (zh) | 一种回复选择方法及装置 | |
Kim et al. | An activity-embedding approach for next-activity prediction in a multi-user smart space | |
Cabada et al. | Mining of educational opinions with deep learning | |
CN111046157B (zh) | 一种基于平衡分布的通用英文人机对话生成方法和系统 | |
Bunga et al. | Developing a complete dialogue system using long short-term memory | |
CN112364148A (zh) | 一种基于深度学习方法的生成型聊天机器人 | |
Mathur et al. | A scaled‐down neural conversational model for chatbots | |
CN110955765A (zh) | 智能助理的语料构建方法、装置、计算机设备和存储介质 | |
Souha et al. | Pre-trained models for intent classification in chatbot: Comparative study and critical analysis | |
CN112417118B (zh) | 一种基于标记文本和神经网络的对话生成方法 | |
Shin et al. | End-to-end task dependent recurrent entity network for goal-oriented dialog learning | |
Prakash et al. | Chatterbot implementation using transfer learning and LSTM encoder-decoder architecture | |
CN110851580A (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 |