CN113239174A - 一种基于双层解码的层次化多轮对话生成方法及装置 - Google Patents

一种基于双层解码的层次化多轮对话生成方法及装置 Download PDF

Info

Publication number
CN113239174A
CN113239174A CN202110643264.9A CN202110643264A CN113239174A CN 113239174 A CN113239174 A CN 113239174A CN 202110643264 A CN202110643264 A CN 202110643264A CN 113239174 A CN113239174 A CN 113239174A
Authority
CN
China
Prior art keywords
sentence
layer
attention
context
representation
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
Application number
CN202110643264.9A
Other languages
English (en)
Inventor
曾碧卿
龚思雨
张雅蓉
邓会敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GUANGDONG AIB POLYTECHNIC COLLEGE
South China Normal University
Original Assignee
GUANGDONG AIB POLYTECHNIC COLLEGE
South China Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GUANGDONG AIB POLYTECHNIC COLLEGE, South China Normal University filed Critical GUANGDONG AIB POLYTECHNIC COLLEGE
Priority to CN202110643264.9A priority Critical patent/CN113239174A/zh
Publication of CN113239174A publication Critical patent/CN113239174A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及一种基于双层解码的层次化多轮对话生成方法及装置。本发明所述的一种基于双层解码的层次化多轮对话生成方法包括:构建多轮对话生成模型,所述多轮对话生成模型包括词编码层、句子编码层和双层解码器;将给定上下文集合输入至所述多轮对话生成模型,由词编码层生成上下文集合中每个句子的固定维向量,句子编码层生成带有相对位置信息的句子表示;双层解码器得到对话结果。本发明所述的一种基于双层解码的层次化多轮对话生成方法,可以生成更加符合前后文的语言逻辑以及更加通顺的话语。与前述方法对应,本发明同时提供一种基于双层解码的层次化多轮对话生成装置。

Description

一种基于双层解码的层次化多轮对话生成方法及装置
技术领域
本发明涉及人工智能对话生成领域,特别是涉及一种基于双层解码的层次化多轮对话生成方法及装置。
背景技术
近年来,随着越来越多的智能设备进入人们的生活中,对话生成的研究主要分为单轮对话生成和多轮对话生成。单轮对话仅针对上一句话的进行回答,实现较为简单,但是通用性比较差。相对于单轮对话,多轮对话需要对多句历史消息进行分析,以此让生成的对话更贴近咨询等现实生活场景,从而更好的满足用户的需求。
针对多轮对话生成问题,有学者提出一种能够对句子和上下文同时建模的分层网络——层次循环编码解码模型(HRED)。该模型被广泛应用到多轮对话生成系统中。在该模型的基础之上,提出在VHRED模型,VHRED模型在模型的解码器部分加入一个隐变量,通过这个隐变量来提高整个对话系统的随机性,并维护对话上下文。
然而,采用上述方案生成的回复的逻辑性和相关性都有所不足。
发明内容
基于此,本发明的目的在于,提供一种基于双层解码的层次化多轮对话生成方法及装置,在对话模型的词编码层加入了相对位置编码,在对话模型的解码层运用双层解码,可以生成更加符合前后文的语言逻辑以及更加通顺的话语。
第一方面,本发明提供一种基于双层解码的层次化多轮对话生成方法,包括以下步骤:
构建多轮对话生成模型,所述多轮对话生成模型包括词编码层、句子编码层和双层解码器;
将给定上下文集合输入至所述词编码层,经过词嵌入和编码处理,得到所述上下文集合中每个句子的固定维向量;
将每个所述上下文的固定维向量输入至所述句子编码层,计算所述上下文集合中,每个句子的相对位置编码,并将每个句子的相对位置编码与该句子进行拼接,得到带有相对位置信息的句子表示;
采用多头自注意力机制,计算带有相对位置信息的句子表示,得到上下文注意表示;
将所述上下文注意表示输入至所述双层解码器,在第一层解码器解码生成第一句子向量;将所述第一句子向量与所述上下文注意表示输入所述第二层解码器,得到第二句子向量;
根据第二句子向量的概率最大值,得到对话结果。
本发明所述的一种基于双层解码的层次化多轮对话生成方法,提出在多轮对话生成的解码模型采用双层解码方法,第一层解码层生成初步的结果之后第二层解码器对原始句子进行推敲和精炼。由于第二层解码器拥有关于将要生成的序列的全局信息,因此通过查看原始句子中的未来单词来生成更好的序列通过复推敲生成符合逻辑且通顺的话语。
进一步地,将所述第一句子向量与所述上下文注意表示输入所述第二层解码器,得到第二句子向量,包括,利用以下公式:
Figure BDA0003107956500000021
Figure BDA0003107956500000022
Figure BDA0003107956500000023
Figure BDA0003107956500000024
其中,
Figure BDA0003107956500000025
Figure BDA0003107956500000026
均为第二层解码器计算过程中的中间参数;MultiHead表示多头自注意力计算;FNN表示基于因子分解机的前馈神经网络计算;
Figure BDA0003107956500000027
为句子编码层生成的上下文注意表示,Satt表示自注意力计算,
Figure BDA0003107956500000028
表示由第一层解码器生成的响应;
Figure BDA0003107956500000029
为第二层解码器的输出;P()为生成的词概率最大值,softmax()为归一化指数函数。
进一步地,所述将所述上下文注意表示输入至所述双层解码器,在第一层解码器解码生成第一句子向量,包括:
在双层解码器的第一个子层用多头自注意力机制对文本进行处理,在多头注意力之后接一个全连接层,使用Softmax函数来获得第一层解码器解码生成的词概率最大值。
进一步地,所述采用多头自注意力机制,计算带有相对位置信息的句子表示,得到上下文注意表示,包括:
给定n个查询向量
Figure BDA00031079565000000210
键值
Figure BDA00031079565000000211
和值
Figure BDA00031079565000000212
组成的矩阵,根据下式计算注意力分数:
Figure BDA00031079565000000213
其中,d是网络中隐藏单位的数量;
对于多头自注意力机制的第i个头,用
Figure BDA00031079565000000214
表示学习到的线性映射,分别对应查询、键和值;利用关注度来计算查询与键之间的关联分数,利用以下公式输出混合表示;
Figure BDA0003107956500000031
利用以下公式,将多头注意力产生的所有向量连接在一起形成一个向量;
M=Concat(M1,…,MH)
O=MW
其中,O为上下文表示,
Figure BDA0003107956500000032
使用前馈网络输出上下文注意表示C:
C=FNN(O)
其中,C为上下文注意表示,O为上下文表示,FNN表示基于因子分解机的前馈神经网络计算。
进一步地,所述将每个所述上下文的固定维向量输入至所述句子编码层,计算所述上下文集合中,每个句子的相对位置编码,包括:
利用以下公式计算每个句子的相对位置编码:
Figure BDA0003107956500000033
Figure BDA0003107956500000034
clip(x,k)=max(-k,min(k,x))
Figure BDA0003107956500000035
Figure BDA0003107956500000036
Figure BDA0003107956500000037
Pi=RPE(eij)
其中,k设置为4,表示能截断的最大距离。αij为第i个词对第j个词的注意力权重;zi表示计算序列第i个词对整个序列的加权注意力权重;RPE表示相对位置编码;Pi(i=1,...,m)为每个句子的相对位置编码,m为句子长度。
进一步地,所述将给定上下文集合输入至所述词编码层,经过词嵌入和编码处理,得到每个所述上下文集合中每个句子的固定维向量,包括:
将给定上下文集合C={S1,…,Sn},C中的每句话定义为Si={x1,…,xm},m表示句子的长度;给定xk作为输入,k表示x在句子中的位置,将xk输入到词嵌入层,处理生成该文本的词嵌入表示;输入文本经过词嵌入层处理后,可以得到该文本的词嵌入表示矩阵wk
利用如下公式,使用双向GRU单元将每个输入上下文编码为一个固定维向量hm,得到句子表示
Figure BDA0003107956500000041
zk=σ(Wz·[hk-1,wk])
rk=σ(Wr·[hk-1,wk])
Figure BDA0003107956500000042
Figure BDA0003107956500000043
其中,Wz,Wr为参数矩阵;zk,rk分别表示为GRU中的更新门和复位门;hk为当前的隐藏状态单元;
Figure BDA0003107956500000044
为候选时刻的隐藏状态单元;σ和tanh为激活函数,σ函数可以将数据变为0-1的值,作为门控信号,tanh函数可以将数据缩放到-1到1,得到候选时刻的隐藏状态单元
Figure BDA0003107956500000045
双向GRU单元由一个正向的GRU和一个反向的GRU组成,利用如下公式对两个GRU的结果进行拼接:
Figure BDA0003107956500000046
其中,
Figure BDA0003107956500000047
为正向的GRU的输出结果,
Figure BDA0003107956500000048
为反向的GRU的输出结果。
进一步地,所述词编码层的最大端长为600,Word2Vec维度为300,窗口为5;句子编码层GRU为100;注意力层数为300。
进一步地,所述多轮对话生成模型的训练参数包括:最大epoch值为20,Dropout设为0.5,优化器为Adam,学习率为0.001。
第二方面,本发明还提供一种基于双层解码的层次化多轮对话生成装置,包括:
模型构建模块,用于构建多轮对话生成模型,所述多轮对话生成模型包括词编码层、句子编码层和双层解码器;
第一编码模块,用于将给定上下文集合输入至所述词编码层,经过词嵌入和编码处理,得到每个所述上下文集合中每个句子的固定维向量;
第二编码模块,用于将每个所述上下文的固定维向量输入至所述句子编码层,得到上下文注意表示;
解码模块,用于将将所述上下文注意表示输入至所述双层解码器,得到对话结果。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本发明提供的一种基于双层解码的层次化多轮对话生成方法的步骤图;
图2为本发明提供的一种基于双层解码的层次化多轮对话生成方法使用的模型结构图;
图3为本发明提供的一种基于双层解码的层次化多轮对话生成装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
应当明确,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请实施例保护的范围。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
背景技术中的两种方法只是将历史消息无差别的进行处理,而历史消息对当前对话的重要性是不一样的,针对此问题提出将自注意力机制用到多轮对话生成模型中,利用其在捕获长距离依赖方面更加优越的特点来更好的衡量回应与每个情境之间的相关性。
上述的方案对历史消息的利用率非常有限,且当前模型在解码过程中往往是从前向后,不能获取全局的关系,从而导致生成的回复的逻辑性和相关性不足。
基于此,本发明提出了一种基于双层解码的层次化多轮对话生成方法,在一个具体的实施例中,如图1所示,包括如下步骤:
S1:构建多轮对话生成模型,所述多轮对话生成模型包括词编码层、句子编码层和双层解码器。
在一个具体的实施例中,本发明提供的一种基于双层解码的层次化多轮对话生成方法所使用的模型的整体框架如图2所示。
其中,词编码层的功能是将每个上下文编码输出为低维表示。优选的,使用双向门控循环单元(Bi-directional Gate Recurrent Unit,BIGRU)来进行编码,GRU是循环神经网络(Recurrent Neural Network,RNN)的一种,与LSTM(Long Short Term Memory,LSTM)一样,也是为了解决长期记忆和反向传播中的梯度等问题而提出来的。但相比LSTM,使用GRU能够达到相当的效果,并且相比之下更容易进行训练,能够很大程度上提高训练效率。
优选的,句子编码层采用GRU对句子进行编码,并采用多头自注意力机制计算上下文注意表示。
优选的,双层解码器的第一个子层使用多头自注意力机制对文本进行处理。
优选的,词编码层以词作为语义单元,设置最大段长为600,Word2Vec维度为300,窗口为5。句子编码层GRU为100。注意力层数设置为300。
训练模型过程中,每次训练迭代100次的得分值,测试实验验证集得分,每次达到极大值时存储模型,本文设置128。为了防止过拟合,如果连续8次没有新的极大值出现,则认为其达到收敛,提前结束训练,最大epoch值为20,Dropout设为0.5,优化器采用Adam,学习率为0.001。
S2:将给定上下文集合输入至所述词编码层,经过词嵌入和编码处理,得到所述上下文集合中每个句子的固定维向量。
具体计算过程如下:
将给定上下文集合C={S1,…,Sn},C中的每句话定义为Si={x1,…,xm},m表示句子的长度。给定xk作为输入,k表示x在句子中的位置,将xk输入到词嵌入层,处理生成该文本的词嵌入表示;输入文本经过词嵌入层处理后,可以得到该文本的词嵌入表示矩阵wk
GRU首先会将每个输入上下文编码为一个固定维向量hm,如下所示。如下所示:
zk=σ(Wz·[hk-1,wk]) (1)
rk=σ(Wr·[hk-1,wk]) (2)
Figure BDA0003107956500000071
Figure BDA0003107956500000072
其中,Wz,Wr为参数矩阵;zk,rk分别表示为GRU中的更新门和复位门;hk为当前的隐藏状态单元;
Figure BDA0003107956500000073
为候选时刻的隐藏状态单元;σ和tanh为激活函数,σ函数可以将数据变为0-1的值,作为门控信号,tanh函数可以将数据缩放到-1到1,得到候选时刻的隐藏状态单元
Figure BDA0003107956500000074
本文使用向量来表示句子。因此,得到了句子表示
Figure BDA0003107956500000075
考虑到上下文信息在对话中的重要性,本文模型使用双向的门控循环单元进行建模,双向的门控循环单元由一个正向的GRU和一个反向的GRU组成,计算公式如下:
Figure BDA0003107956500000076
S3:将每个所述上下文的固定维向量输入至所述句子编码层,计算所述上下文集合中,每个句子的相对位置编码,并将每个句子的相对位置编码与该句子进行拼接,得到带有相对位置信息的句子表示。
其中,相对位置信息指句子与句子之间绝对位置的差,其计算过程如下:
研究中发现,自注意机制本身其实并不能区分不同的位置。因此,对句子中每个位置信息进行位置编码是至关重要的。位置编码这个概念最早是在Transformer中提出的,最初的位置编码是由三角函数计算得出的,生成的都是固定的编码,这些固定编码无法发现相对关系,假设X与Y有相对关系,当其相对位置不变,但绝对位置发生变化时,那么用固定编码无法发现这个关系。而相对位置编码为每个不同的位置都定义了两个向量
Figure BDA0003107956500000077
Figure BDA0003107956500000078
当然为每个位置对定义两个向量还是无法完成提取相对位置信息,所以为了泛化和节省时间复杂度,将每个位置对用位置的差来代替。对应的公式如下:
Figure BDA0003107956500000079
Figure BDA00031079565000000710
clip(x,k)=max(-k,min(k,x)) (8)
Figure BDA00031079565000000711
Figure BDA0003107956500000081
Figure BDA0003107956500000082
Pi=RPE(eij) (12)
其中,k对应窗口大小,此处设置为4,表示能截断的最大距离。αij为第i个词对第j个词的注意力权重。zi表示计算序列第i个词对整个序列的加权注意力权重。RPE表示会相对位置编码。Pi(i=1,...,m)为每个句子的相对位置编码,m为句子长度。然后将相对位置编码的结果与句子进行拼接,就得到了句子表示
Figure BDA0003107956500000083
S4:采用多头自注意力机制,计算带有相对位置信息的句子表示,得到上下文注意表示。
采用多头自注意力机制,给定n个查询向量
Figure BDA0003107956500000084
键值
Figure BDA0003107956500000085
和值
Figure BDA0003107956500000086
组成的矩阵,根据下式计算注意力分数:
Figure BDA0003107956500000087
d是网络中隐藏单位的数量。H为多头注意力中头的个数。对于多头自注意力机制的第i个头,用
Figure BDA0003107956500000088
表示学习到的线性映射,分别对应查询、键和值。然后利用关注度来计算查询与键之间的关联分数,以输出混合表示。具体处理过程如下:
Figure BDA0003107956500000089
最后,将多头注意力产生的所有向量连接在一起形成一个向量。
M=Concat(M1,...,MH) (15)
O=MW (16)
其中,
Figure BDA00031079565000000810
为了获得上下文表示,多头注意机制首先提供句子表示向量矩阵
Figure BDA00031079565000000811
然后将上下文表示计算为公式(16)中的O。
使用前馈网络输出上下文注意表示C:
C=FNN(O)
其中,C为上下文注意表示,O为上下文表示,FNN表示基于因子分解机的前馈神经网络计算。
S5:将所述上下文注意表示输入至所述双层解码器,在第一层解码器解码生成第一句子向量;将所述第一句子向量与所述上下文注意表示输入所述第二层解码器,得到第二句子向量;根据第二句子向量的概率最大值,得到对话结果。
在双层解码器的第一个子层用多头自注意力机制对文本进行处理,具体的操作与步骤二中的自注意力机制相似,在多头注意力之后接一个全连接层,最后,使用Softmax函数来获得第一层解码器解码生成的词概率最大值。
Figure BDA0003107956500000091
Figure BDA0003107956500000092
Figure BDA0003107956500000093
其中,
Figure BDA0003107956500000094
Figure BDA0003107956500000095
均为第一层解码器计算过程中的中间参数;MultiHead表示多头自注意力计算;FNN表示基于因子分解机的前馈神经网络计算;
Figure BDA0003107956500000096
为句子编码层生成的上下文注意表示,
Figure BDA0003107956500000097
表示由第一层解码器生成的响应。
在双层解码层的第二层解码其具体的处理方式如下:
Figure BDA0003107956500000098
Figure BDA0003107956500000099
Figure BDA00031079565000000910
Figure BDA00031079565000000911
其中,
Figure BDA00031079565000000912
Figure BDA00031079565000000913
均为第二层解码器计算过程中的中间参数;MultiHead表示多头自注意力计算;FNN表示基于因子分解机的前馈神经网络计算;
Figure BDA00031079565000000914
为句子编码层生成的上下文注意表示,Satt表示自注意力计算,
Figure BDA00031079565000000915
表示由第一层解码器生成的响应;
Figure BDA00031079565000000916
为第二层解码器的输出;P()为生成的词概率最大值,softmax()为归一化指数函数。
本发明提出在多轮对话生成的解码模型采用双层解码方法,第一层解码层生成初步的结果之后第二层解码器对原始句子进行推敲和精炼。由于第二层解码器拥有关于将要生成的序列的全局信息,因此它有潜力通过查看原始句子中的未来单词来生成更好的序列通过复推敲生成符合逻辑且通顺的话语。
本发明联合BLEU,ROUGE,Average,Extrema,Greedy来评估模型的有效性。实验结果下表所示:
Figure BDA00031079565000000917
Figure BDA0003107956500000101
由上表可知:
1)模型在DailyDialog数据集测试的性能上都优于大多数对比模型,在BLEU-1上评分比基线模型高1.17%,比最佳模型DSHRED高出0.26%,在Average上对比最佳模型高出1.07%,该文模型在Greedy上的评估指标与基线模型对比也有很好的效果,相比最佳指标持平,证明该模型为高质量的对话做出了一定的贡献。
2)模型DSTC7-AVSD在性能上也优于大多数的对比模型,证明该模型在对话式问答也有很好的效果。
3)模型在DSTC7-AVSD数据集上的各项指标的结果都要高于UbuntuDialog,证明该模型比较适用于目的性较强的对话场景中。
与前述基于双层解码的层次化多轮对话生成方法相对应,本发明还提供一种基于双层解码的层次化多轮对话生成装置。
如图3所示,所述基于双层解码的层次化多轮对话生成装置包括:
模型构建模块,用于构建多轮对话生成模型,所述多轮对话生成模型包括词编码层、句子编码层和双层解码器;
第一编码模块,用于将给定上下文集合输入至所述词编码层,经过词嵌入和编码处理,得到每个所述上下文集合中每个句子的固定维向量;
第二编码模块,用于将每个所述上下文的固定维向量输入至所述句子编码层,得到上下文注意表示;
解码模块,用于将将所述上下文注意表示输入至所述双层解码器,得到对话结果。
优选的,第一编码模块包括词嵌入单元和词编码单元;所述词嵌入单元用于理生成所述上下文文本的词嵌入表示,所述词编码单元用于生成所述上下文集合中每个句子的固定维向量。
优选的,第二编码模块包括相对位置编码单元、拼接单元和注意力单元;所述相对位置编码单元用于计算所述上下文集合中,每个句子的相对位置编码;所述拼接单元用于将每个句子的相对位置编码与该句子进行拼接,得到带有相对位置信息的句子表示;所述注意力单元用于采用多头自注意力机制,计算带有相对位置信息的句子表示,得到上下文注意表示。
优选的,解码模块包括第一解码单元、第二解码单元和对话结果生成单元;第一解码单元用于生成第一句子向量;第二解码单元用于生成第二句子向量;对话结果生成单元用于生成对话结果。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (9)

1.一种基于双层解码的层次化多轮对话生成方法,其特征在于,包括以下步骤:
构建多轮对话生成模型,所述多轮对话生成模型包括词编码层、句子编码层和双层解码器;
将给定上下文集合输入至所述词编码层,经过词嵌入和编码处理,得到所述上下文集合中每个句子的固定维向量;
将每个所述上下文的固定维向量输入至所述句子编码层,计算所述上下文集合中,每个句子的相对位置编码,并将每个句子的相对位置编码与该句子进行拼接,得到带有相对位置信息的句子表示;
采用多头自注意力机制,计算带有相对位置信息的句子表示,得到上下文注意表示;
将所述上下文注意表示输入至所述双层解码器,在第一层解码器解码生成第一句子向量;将所述第一句子向量与所述上下文注意表示输入所述第二层解码器,得到第二句子向量;根据第二句子向量的概率最大值,得到对话结果。
2.根据权利要求1所述的一种基于双层解码的层次化多轮对话生成方法,其特征在于,将所述第一句子向量与所述上下文注意表示输入所述第二层解码器,得到第二句子向量,包括,利用以下公式:
Figure FDA0003107956490000011
Figure FDA0003107956490000012
Figure FDA0003107956490000013
Figure FDA0003107956490000014
其中,
Figure FDA0003107956490000015
Figure FDA0003107956490000016
均为第二层解码器计算过程中的中间参数;MultiHead表示多头自注意力计算;FNN表示基于因子分解机的前馈神经网络计算;
Figure FDA0003107956490000017
为句子编码层生成的上下文注意表示,Satt表示自注意力计算,
Figure FDA0003107956490000018
表示由第一层解码器生成的响应;
Figure FDA0003107956490000019
为第二层解码器的输出;P()为生成的词概率最大值,softmax()为归一化指数函数。
3.根据权利要求1所述的一种基于双层解码的层次化多轮对话生成方法,其特征在于,所述将所述上下文注意表示输入至所述双层解码器,在第一层解码器解码生成第一句子向量,包括:
在双层解码器的第一个子层用多头自注意力机制对文本进行处理,在多头注意力之后接一个全连接层,使用Softmax函数来获得第一层解码器解码生成的词概率最大值。
4.根据权利要求1所述的一种基于双层解码的层次化多轮对话生成方法,其特征在于,所述采用多头自注意力机制,计算带有相对位置信息的句子表示,得到上下文注意表示,包括:
给定n个查询向量
Figure FDA0003107956490000021
键值
Figure FDA0003107956490000022
和值
Figure FDA0003107956490000023
组成的矩阵,根据下式计算注意力分数:
Figure FDA0003107956490000024
其中,d是网络中隐藏单位的数量;
对于多头自注意力机制的第i个头,用
Figure FDA0003107956490000025
Figure FDA0003107956490000026
表示学习到的线性映射,分别对应查询、键和值;利用关注度来计算查询与键之间的关联分数,利用以下公式输出混合表示;
Figure FDA0003107956490000027
利用以下公式,将多头注意力产生的所有向量连接在一起形成一个向量;
M=Concat(M1,…,MH)
O=MW
其中,O为上下文表示,
Figure FDA0003107956490000028
使用前馈网络输出上下文注意表示C:
C=FNN(O)
其中,C为上下文注意表示,O为上下文表示,FNN表示基于因子分解机的前馈神经网络计算。
5.根据权利要求1所述的一种基于双层解码的层次化多轮对话生成方法,其特征在于,所述将每个所述上下文的固定维向量输入至所述句子编码层,计算所述上下文集合中,每个句子的相对位置编码,包括:
利用以下公式计算每个句子的相对位置编码:
Figure FDA0003107956490000029
Figure FDA00031079564900000210
clip(x,k)=max(-k,min(k,x))
Figure FDA0003107956490000031
Figure FDA0003107956490000032
Figure FDA0003107956490000033
Pi=RPE(eij)
其中,k设置为4,表示能截断的最大距离。αij为第i个词对第j个词的注意力权重;zi表示计算序列第i个词对整个序列的加权注意力权重;RPE表示相对位置编码;Pi(i=1,...,m)为每个句子的相对位置编码,m为句子长度。
6.根据权利要求1所述的一种基于双层解码的层次化多轮对话生成方法,其特征在于,所述将给定上下文集合输入至所述词编码层,经过词嵌入和编码处理,得到每个所述上下文集合中每个句子的固定维向量,包括:
将给定上下文集合C={S1,…,Sn},C中的每句话定义为Si={x1,…,xm},m表示句子的长度;给定xk作为输入,k表示x在句子中的位置,将xk输入到词嵌入层,处理生成该文本的词嵌入表示;输入文本经过词嵌入层处理后,可以得到该文本的词嵌入表示矩阵wk
利用如下公式,使用双向GRU单元将每个输入上下文编码为一个固定维向量hm,得到句子表示
Figure FDA0003107956490000034
Zk=σ(Wz·[hk-1,wk])
rk=σ(Wr·[hk-1,wk])
Figure FDA0003107956490000035
Figure FDA0003107956490000036
其中,Wz,Wr为参数矩阵;zk,rk分别表示为GRU中的更新门和复位门;hk为当前的隐藏状态单元;
Figure FDA0003107956490000037
为候选时刻的隐藏状态单元;σ和tanh为激活函数,σ函数可以将数据变为0-1的值,作为门控信号,tanh函数可以将数据缩放到-1到1,得到候选时刻的隐藏状态单元
Figure FDA0003107956490000038
双向GRU单元由一个正向的GRU和一个反向的GRU组成,利用如下公式对两个GRU的结果进行拼接:
Figure FDA0003107956490000041
其中,
Figure FDA0003107956490000042
为正向的GRU的输出结果,
Figure FDA0003107956490000043
为反向的GRU的输出结果。
7.根据权利要求1所述的一种基于双层解码的层次化多轮对话生成方法,其特征在于:
所述词编码层的最大端长为600,Word2Vec维度为300,窗口为5;句子编码层GRU为100;注意力层数为300。
8.根据权利要求1所述的一种基于双层解码的层次化多轮对话生成方法,其特征在于:
所述多轮对话生成模型的训练参数包括:最大epoch值为20,Dropout设为0.5,优化器为Adam,学习率为0.001。
9.一种基于双层解码的层次化多轮对话生成装置,其特征在于,包括:
模型构建模块,用于构建多轮对话生成模型,所述多轮对话生成模型包括词编码层、句子编码层和双层解码器;
第一编码模块,用于将给定上下文集合输入至所述词编码层,经过词嵌入和编码处理,得到每个所述上下文集合中每个句子的固定维向量;
第二编码模块,用于将每个所述上下文的固定维向量输入至所述句子编码层,得到上下文注意表示;
解码模块,用于将将所述上下文注意表示输入至所述双层解码器,得到对话结果。
CN202110643264.9A 2021-06-09 2021-06-09 一种基于双层解码的层次化多轮对话生成方法及装置 Pending CN113239174A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110643264.9A CN113239174A (zh) 2021-06-09 2021-06-09 一种基于双层解码的层次化多轮对话生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110643264.9A CN113239174A (zh) 2021-06-09 2021-06-09 一种基于双层解码的层次化多轮对话生成方法及装置

Publications (1)

Publication Number Publication Date
CN113239174A true CN113239174A (zh) 2021-08-10

Family

ID=77137429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110643264.9A Pending CN113239174A (zh) 2021-06-09 2021-06-09 一种基于双层解码的层次化多轮对话生成方法及装置

Country Status (1)

Country Link
CN (1) CN113239174A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113723337A (zh) * 2021-09-07 2021-11-30 武汉东智科技股份有限公司 基于ddt深度神经模型结构的监控图像地点信息识别方法
CN113779244A (zh) * 2021-08-23 2021-12-10 华南师范大学 文档情感分类方法、装置、存储介质以及电子设备
CN113868395A (zh) * 2021-10-11 2021-12-31 北京明略软件系统有限公司 多轮对话生成式模型建立方法、系统、电子设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399460A (zh) * 2019-07-19 2019-11-01 腾讯科技(深圳)有限公司 对话处理方法、装置、设备及存储介质
CN110413729A (zh) * 2019-06-25 2019-11-05 江南大学 基于尾句-上下文双重注意力模型的多轮对话生成方法
CN111563205A (zh) * 2020-04-26 2020-08-21 山东师范大学 共享账户中基于自注意力机制的跨域信息推荐方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413729A (zh) * 2019-06-25 2019-11-05 江南大学 基于尾句-上下文双重注意力模型的多轮对话生成方法
CN110399460A (zh) * 2019-07-19 2019-11-01 腾讯科技(深圳)有限公司 对话处理方法、装置、设备及存储介质
CN111563205A (zh) * 2020-04-26 2020-08-21 山东师范大学 共享账户中基于自注意力机制的跨域信息推荐方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孙润鑫等: "基于文档的对话研究", 《计算机研究与发展》 *
张宇强: "基于端到端的语音合成", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113779244A (zh) * 2021-08-23 2021-12-10 华南师范大学 文档情感分类方法、装置、存储介质以及电子设备
CN113779244B (zh) * 2021-08-23 2022-08-16 华南师范大学 文档情感分类方法、装置、存储介质以及电子设备
CN113723337A (zh) * 2021-09-07 2021-11-30 武汉东智科技股份有限公司 基于ddt深度神经模型结构的监控图像地点信息识别方法
CN113868395A (zh) * 2021-10-11 2021-12-31 北京明略软件系统有限公司 多轮对话生成式模型建立方法、系统、电子设备及介质

Similar Documents

Publication Publication Date Title
CN108681610B (zh) 生成式多轮闲聊对话方法、系统及计算机可读存储介质
CN110427490B (zh) 一种基于自注意力机制的情感对话生成方法与装置
CN113239174A (zh) 一种基于双层解码的层次化多轮对话生成方法及装置
CN112115687B (zh) 一种结合知识库中的三元组和实体类型的生成问题方法
CN111274375B (zh) 一种基于双向gru网络的多轮对话方法及系统
CN113158665A (zh) 一种基于文本摘要生成与双向语料改善对话文本生成的方法
CN115641543B (zh) 一种多模态抑郁情绪识别方法及装置
CN111400461B (zh) 智能客服问题匹配方法及装置
CN112527966B (zh) 基于Bi-GRU神经网络和自注意力机制的网络文本情感分析方法
CN112182161A (zh) 一种基于用户对话历史的个性化对话生成方法和系统
CN113065344A (zh) 一种基于迁移学习和注意力机制的跨语料库情感识别方法
CN111382257A (zh) 一种生成对话下文的方法和系统
CN112214585A (zh) 回复消息生成方法、系统、计算机设备及存储介质
CN109637527A (zh) 对话语句的语义解析方法及系统
CN114911932A (zh) 基于主题语义增强的异构图结构多会话者情感分析方法
CN113111190A (zh) 一种知识驱动的对话生成方法及装置
CN111949762A (zh) 基于上下文情感对话的方法和系统、存储介质
CN114281954A (zh) 一种基于关系图注意力网络的多轮对话回复生成系统及方法
CN111046157B (zh) 一种基于平衡分布的通用英文人机对话生成方法和系统
CN113535902A (zh) 一种融合对抗训练的生成式对话系统
CN113342947A (zh) 能感知对话上下文相对位置信息的多轮对话文本生成方法
CN116150334A (zh) 基于UniLM模型和Copy机制的中文共情语句训练方法及系统
Scotti et al. A primer on seq2seq models for generative chatbots
CN113779244B (zh) 文档情感分类方法、装置、存储介质以及电子设备
Bai et al. Low-rank multimodal fusion algorithm based on context modeling

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210810