CN111460126A - 一种用于人机对话系统的回复生成方法、装置及电子设备 - Google Patents
一种用于人机对话系统的回复生成方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111460126A CN111460126A CN202010533197.0A CN202010533197A CN111460126A CN 111460126 A CN111460126 A CN 111460126A CN 202010533197 A CN202010533197 A CN 202010533197A CN 111460126 A CN111460126 A CN 111460126A
- Authority
- CN
- China
- Prior art keywords
- reply
- word
- question
- feature vector
- encoder
- 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
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本说明书一个或多个实施例提供一种用于人机对话系统的回复生成方法、装置及电子设备,通过预先训练的回复生成模型,将用户与机器人的问题和回复输入,通过第一编码器层进行自注意力和局部掩码处理,使模型充分利用问题和回复各自语句内的语义特征,再通过第二编码器层自注意力和全局掩码处理,使得模型充分利用当前以及之前的所有问题和回复的上下文语义特征,并基于第二编码器层的输出来生成对应于用户当前问题的当前回复。
Description
技术领域
本说明书一个或多个实施例涉及自然语言处理技术领域,尤其涉及一种用于人机对话系统的回复生成方法、装置及电子设备。
背景技术
人机对话系统,采用自然语言作为交互媒介为用户提供服务,是一项拥有广阔实际应用空间的自然语言处理技术,常见的人机对话系统包括问答机器人、聊天机器人、客服机器人等。在人机对话系统中,人机对话的过程由用户发出的问题和机器人输出的回复构成;其中,回复的生成一般通过基于机器学习的语言模型实现。然而,现有的语言模型普遍存在生成的回复的准确度不佳的问题。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种用于人机对话系统的回复生成方法、装置及电子设备。
基于上述目的,本说明书一个或多个实施例提供了一种用于人机对话系统的回复生成方法,包括:
获取用户与机器人之间按对话顺序依次排列的问题和回复,并输入预先训练的回复生成模型;其中,所述问题包括历史问题和当前问题;所述回复生成模型包括:词嵌入层、第一编码器层、第二编码器层和解码器层;
在所述词嵌入层,对所述问题和回复进行词嵌入处理,生成所述问题中各个词分别对应的问题词向量以及所述回复中各个词分别对应的回复词向量;
在所述第一编码器层,根据所述问题词向量和所述回复词向量,采用自注意力机制和局部掩码处理,生成所述问题中各个词分别对应的问题局部特征向量以及所述回复中各个词分别对应的回复局部特征向量;对于任一问题中的任一词,所述局部掩码处理使该词仅与同一问题内的各个词之间存在注意力值;对于任一回复中的任一词,所述局部掩码处理使该词仅与同一回复内且其之前的各个词之间存在注意力值;
在所述第二编码器层,根据所述问题局部特征向量和所述回复局部特征向量,采用自注意力机制和全局掩码处理,生成所述回复中各个词分别对应的回复全局特征向量;对于任一回复中的任一词,所述全局掩码处理使该词仅与其所属回复中之前的各个词以及其所属回复之前的全部问题和回复中的各个词之间存在注意力值;
在所述解码器层,根据所述回复全局特征向量,生成对应于所述当前问题的当前回复。
基于同一发明构思,本说明书一个或多个实施例还提供了一种用于人机对话系统的回复生成装置,包括:
获取模块,被配置为获取用户与机器人之间按对话顺序依次排列的问题和回复,并输入预先训练的回复生成模型;其中,所述问题包括历史问题和当前问题;所述回复生成模型包括:词嵌入层、第一编码器层、第二编码器层和解码器层;
词嵌入模块,被配置为对所述问题和回复进行词嵌入处理,生成所述问题中各个词分别对应的问题词向量以及所述回复中各个词分别对应的回复词向量;
第一编码器模块,被配置为根据所述问题词向量和所述回复词向量,采用自注意力机制和局部掩码处理,生成所述问题中各个词分别对应的问题局部特征向量以及所述回复中各个词分别对应的回复局部特征向量;对于任一问题中的任一词,所述局部掩码处理使该词仅与同一问题内的各个词之间存在注意力值;对于任一回复中的任一词,所述局部掩码处理使该词仅与同一回复内且其之前的各个词之间存在注意力值;
第二编码器模块,被配置为根据所述问题局部特征向量和所述回复局部特征向量,采用自注意力机制和全局掩码处理,生成所述回复中各个词分别对应的回复全局特征向量;对于任一回复中的任一词,所述全局掩码处理使该词仅与其所属回复中之前的各个词以及其所属回复之前的全部问题和回复中的各个词之间存在注意力值;
解码器模块,被配置为根据所述回复全局特征向量,生成对应于所述当前问题的当前回复。
基于同一发明构思,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的方法。
从上面所述可以看出,本说明书一个或多个实施例提供的用于人机对话系统的回复生成方法、装置及电子设备,通过预先训练的回复生成模型,将用户与机器人的问题和回复输入,通过第一编码器层进行自注意力和局部掩码处理,使模型充分利用问题和回复各自语句内的语义特征,再通过第二编码器层自注意力和全局掩码处理,使得模型充分利用当前以及之前的所有问题和回复的上下文语义特征,并基于第二编码器层的输出来生成对应于用户当前问题的当前回复。回复生成模型充分利用和融合对话历史和用户当前发出的问题的信息,能够显著的提升生成的回复的准确度。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的应用场景示意图;
图2为本说明书一个或多个实施例的用于人机对话系统的回复生成方法流程图;
图3为本说明书一个或多个实施例中的回复生成模型的结构示意图;
图4为本说明书一个或多个实施例中的局部掩码处理示意图;
图5为本说明书一个或多个实施例中的全局掩码处理示意图;
图6为本说明书一个或多个实施例的用于人机对话系统的回复生成装置结构示意图;
图7为本说明书一个或多个实施例的电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
如背景技术部分所述,参考图1所示,人机对话系统通过用户发出的问题和机器人输出的回复实现人机对话过程。在执行回复生成任务时,通过语言模型实现,常见的用于在人机对话系统生成回复的语言模型有基于长短期记忆网络(LSTM,Long Short-TermMemory)的编码器-解码器模型(Encoder-Decoder)、基于循环门单元(GRU,Gate RecurrentUnit)的编码器-解码器模型、Transformer模型等。在实现本公开的过程中,申请人发现上述现有的语言模型在执行回复生成任务时,普遍存在生成的回复的准确度不佳的问题,其原因在于上述现有的语言模型无法有效的利用和融合对话历史和用户当前发出的问题的信息。
针对于上述问题,本说明书一个或多个实施例提供了一种用于人机对话系统的回复生成方案,通过预先训练的回复生成模型,将用户与机器人的问题和回复输入,通过第一编码器层进行自注意力和局部掩码处理,使模型充分利用问题和回复各自语句内的语义特征,再通过第二编码器层自注意力和全局掩码处理,使得模型充分利用当前以及之前的所有问题和回复的上下文语义特征,并基于第二编码器层的输出来生成对应于用户当前问题的当前回复。回复生成模型充分利用和融合对话历史和用户当前发出的问题的信息,能够显著的提升生成的回复的准确度。
以下,通过具体的实施例来详细说明本说明书一个或多个实施例的用于人机对话系统的回复生成方案。
本说明书一个或多个实施例提供了一种用于人机对话系统的回复生成方法。参考图2,所述的用于人机对话系统的回复生成方法,包括以下步骤:
步骤S201、获取用户与机器人之间按对话顺序依次排列的问题和回复,并输入预先训练的回复生成模型。
本实施例中,首先获取用户与机器人在人机对话过程中,由用户发出的问题和由机器人输出的回复。其中,问题具体包括历史问题和当前问题。历史问题是指,在已经完成的人机对话过程中,用户发出的全部问题;相对应的,对于每个历史问题均对应有由机器人输出的回复。当前问题是指,用户当前发出的问题,其对应的当前回复需要通过本实施例中的回复生成模型来生成。此外,本实施例中所述的机器人可以是以软件程序的形式实施的,例如应用程序中的在线客服、语音助手等;也可是以实体设备的形式实施的,例如营业场所中的迎宾机器人、问路机器人等。
本实施例中,问题和回复按照用户与机器人之间的对话顺序依次排列,同时对于
每个问题和回复,进行分词处理,形成按对话顺序依次排列的词序列。其中,按对话顺序,当
前问题最后发生,故将当前问题分词后设置在得到的词序列的最末位。上述得到的词序列
即作为回复生成模型的输入。以一个问题及其对应的回复作为用户与机器人之间的一轮对
话,则回复生成模型的输入可以表示为:,其中,u i 表示第i轮对话中用
户发出的问题,r i 表示第i轮对话中机器人输出的回复,u t 表示用户发出当前问题,M表示对
话的总轮数。其中,u i 、r i 、u t 均经分词后包括若干词。
需要说明的是,本更加简单清楚的表示回复生成模型的结构和工作过程,在图3中,仅示例性的给出了两轮对话包括的问题和回复(u 1、r 1、u 2、r 2),且未示出当前问题;对于当前问题,其仅是处于输入的最末位,对当前问题的处理与其他各历史问题均相同。
参考图3,所述的回复生成模型,包括:词嵌入层、第一编码器层、第二编码器层和解码器层。上述词序列输入后,依次经过词嵌入层、第一编码器层、第二编码器层,最后由解码器层依次输出若干输出词,全部输出的输出词则构成对应于当前问题的当前回复。其中,第一编码器层、第二编码器层和解码器层均预先经过训练,训练所使用的训练样本可以为大量不同用户的人机对话语料,采用任意的机器学习算法进行训练。
步骤S202、在所述词嵌入层,对所述问题和回复进行词嵌入处理,生成所述问题中各个词分别对应的问题词向量以及所述回复中各个词分别对应的回复词向量。
本实施例中,在词嵌入层,对所述问题和回复进行词嵌入处理。具体的,基于问题和回复按对话顺序依次排列的词序列,各个词可以通过one-hot方式编码为向量形式。然后,基于各个词的one-hot向量进行词嵌入处理,以提取各个词的特征,以得到问题中各个词分别对应的问题词向量,以及回复中各个词分别对应的回复词向量;其中,问题词向量与回复词向量的维度相同。词嵌入处理所使用的算法可以任意选择,如Word2Vec、GloVe等。词嵌入层生成的问题词向量和回复词向量可以表示为:X=[X u1,X r1,…,X uM ,X rM ,X ut ],其中,每个X均包括其对应的问题或回复内若干词分别对应的问题词向量或回复词向量。
步骤S203、在所述第一编码器层,根据所述问题词向量和所述回复词向量,采用自注意力机制和局部掩码处理,生成所述问题中各个词分别对应的问题局部特征向量以及所述回复中各个词分别对应的回复局部特征向量;对于任一问题中的任一词,所述局部掩码处理使该词仅与同一问题内的各个词之间存在注意力值;对于任一回复中的任一词,所述局部掩码处理使该词仅与同一回复内且其之前的各个词之间存在注意力值。
本实施例中,词嵌入层生成的对应于问题和回复中的各个词的问题词向量、回复词向量输入第一编码器层。在第一编码器层,对问题词向量和回复词向量进行自注意力处理和局部掩码处理。
具体的,在第一编码器层内,先通过一全连接的隐藏层为问题和回复中的各个词分别对应的第一隐状态,该第一隐状态用于表示对应词的综合语义。第一隐状态为一向量,其维度与问题词向量、回复词向量均相同。然后,基于自注意力机制(Self-Attention)对各个词的第一隐状态进行自注意力处理,得到第一注意力值矩阵。第一注意力值矩阵中,行、列均代表问题和回复中的按对话顺序排列的各个词,第一注意力值矩阵中的各元素为行列所对应的两个词的注意力值,其具体取值为相应两个词的第一隐状态的点积。
在第一注意力值矩阵的基础上,进行局部掩码处理。具体的,生成与第一注意力值矩阵大小相同的局部掩码矩阵。在局部掩码矩阵中,不属于同一问题或问题内的各个词的注意力值的位置的赋值负无穷,即进行掩码。对于问题,属于同一问题内的各个词的注意力值的位置的赋值为零,即不进行掩码;对于回复,该回复中的任一词,该词与其之前的各个词的注意力值的位置的赋值为零,即不进行掩码。
将局部掩码矩阵与第一注意力值矩阵相加。图4示出了局部掩码矩阵与第一注意力值矩阵相加的结果(图4中,以每个问题和回复均包括三个词为例)。其中,空白位置代表被掩码的位置,带有斜线的为未被掩码的位置。对于被掩码的位置,第一注意力值中的注意力值与负无穷相加,结果为负无穷;对于未被掩码的位置,第一注意力值中的注意力值与零相加,结果仍为原注意力值。从相加的结果来看,对于任一问题中的任一词,局部掩码处理使该词仅与同一问题内的各个词之间存在注意力值;而对于任一回复中的任一词,局部掩码处理使该词仅与同一回复内且其之前的各个词之间存在注意力值。其中,基于语言模型逐词输出的特点,使得回复中的词仅与其之前的词存在注意力值,能够更好的体现其语法和语义特征。
基于局部掩码矩阵与第一注意力值矩阵相加的结果,对于任一问题中的任一词,将其与其他词的注意力值经过Softmax归一化的结果作为分别作为对应的词的权重并进行加权求和,即得到该词对应的问题局部特征向量。其中,掩码处理后,相加结果为负无穷的位置经过Softmax后得到的注意力值为零,既不存在相互影响。对于任一回复中的任一词,与问题局部特征向量类似的,可以得到回复局部特征向量。也即,第一编码器层生成问题中各个词分别对应的问题局部特征向量以及回复中各个词分别对应的回复局部特征向量。可见,通过局部掩码处理,使本实施例的回复生成模块更好的学习了问题、回复其各自语句内的语义和语法信息。
步骤S204、在所述第二编码器层,根据所述问题局部特征向量和所述回复局部特征向量,采用自注意力机制和全局掩码处理,生成所述回复中各个词分别对应的回复全局特征向量;对于任一回复中的任一词,所述全局掩码处理使该词仅与其所属回复中之前的各个词以及其所属回复之前的全部问题和回复中的各个词之间存在注意力值。
本实施例中,第一编码器层生成的问题中各个词分别对应的问题局部特征向量以及回复中各个词分别对应的回复局部特征向量输入第二编码器层。在第二编码器层,对问题局部特征向量和回复局部特征向量进行自注意力处理和全局掩码处理。
具体的,在第二编码器层内,先通过一全连接的隐藏层为问题和回复中的各个词分别对应的第二隐状态。第二隐状态为一向量,其维度与问题词向量、回复词向量均相同。然后,基于自注意力机制(Self-Attention)对各个词的第二隐状态进行自注意力处理,得到第二注意力值矩阵。第二注意力值矩阵中,行、列均代表问题和回复中的按对话顺序排列的各个词,第二注意力值矩阵中的各元素为行列所对应的两个词的注意力值,其具体取值为相应两个词的问题局部特征向量、回复局部特征向量的点积。其中,若两个词均来自问题,则为相应的问题局部特征向量与问题局部特征向量的点积;若两个词均来自回复,则为相应的回复局部特征向量与回复局部特征向量的点积;若两个词分别来自问题和回复,则为相应的问题局部特征向量与回复局部特征向量的点积。
在第二注意力值矩阵的基础上,进行全局掩码处理。具体的,生成与第二注意力值矩阵大小相同的全局掩码矩阵。在全局掩码矩阵中,对于任一问题,其包括的各个词以及该问题之前的全部问题和回复中的各个词,其相互之间的注意力值的位置的赋值为零,即不进行掩码。对于任一回复,该回复包括的各个词与其之前的全部问题和回复中的各个词相互之间的注意力值的位置的赋值为零,即不进行掩码;对于该回复内的任一词,该词与其之前的各个词之间的注意力值的位置的赋值为零,即不进行掩码。而对于除去前述的其他位置均赋值为负无穷,即进行掩码。
将全局掩码矩阵与第二注意力值矩阵相加。图5示出了全局掩码矩阵与第二注意力值矩阵相加的结果(图5中,以每个问题和回复均包括三个词为例)。其中,空白位置代表被掩码的位置,带有斜线的为未被掩码的位置。对于被掩码的位置,第一注意力值中的注意力值与负无穷相加,结果为负无穷;对于未被掩码的位置,第一注意力值中的注意力值与零相加,结果仍为原注意力值。从相加的结果来看,对于任一回复中的任一词,所述全局掩码处理使该词仅与其所属回复中之前的各个词以及其所属回复之前的全部问题和回复中的各个词之间存在注意力值。对于任一问题中的任一词,所述全局掩码处理使该词仅与其所属问题中的各个词以及其所属问题之前的全部问题和回复中的各个词之间存在注意力值。
基于全局掩码矩阵与第二注意力值矩阵相加的结果,对于任一问题中的任一词,将其与其他词的注意力值经过Softmax归一化的结果作为分别作为对应的词的权重并进行加权求和,即得到该词对应的问题全局特征向量。其中,掩码处理后,相加结果为负无穷的位置经过Softmax后得到的注意力值为零,既不存在相互影响。对于任一回复中的任一词,与问题全局特征向量类似的,可以得到回复全局特征向量。可见,通过全局掩码处理,使本实施例的回复生成模块能够学习问题、回复间整体的上下文语义和语法信息。
步骤S205、在所述解码器层,根据所述回复全局特征向量,生成对应于所述当前问题的当前回复。
本实施例中,将第二编码器层生成的回复全局特征向量输入解码器层,由解码器层根据回复全局特征向量逐步输出输出词,全部的输出词即构成对应于当前问题的当前回复。
具体的,对于解码器层的第一步,将回复全局特征向量和一开始符输入解码器层,解码器层会根据全局特征向量和开始符生成第一个输出词。对于第一步之后的每一步,解码器层均能够根据回复全局特征向量和前一步得到的输出词,生成当前步的输出词。其中,解码器层根据回复全局特征向量和前一步得到的输出词,得到预先设置的词典中的各个词作为输出词的概率分布,如图3中的Pvocab所示;得到的概率分布中,概率值最高的词则作为当前步的输出词输出。此外,解码器层进行解码的其他具体过程和技术细节与常见的循环神经网络和Transformer模型的解码过程类似,本实施例中不再详述。
作为一个可选的实施例中,参考图3所示,在所述的回复生成模型中,第一编码器层可以多于一个(N≥1);当设置有至少两个第一编码器层时,该至少两个第一编码器层是依次连接的。具体的,位于首位的第一编码器层的输入为词嵌入层生成的问题词向量和回复词向量;除位于首位之外的其他的第一编码器层,其输入均为前一第一编码器层输出的问题局部特征向量和回复局部特征向量;而位于末位的第一编码器层,其输出的问题局部特征向量和回复局部特征向量被输入至第二编码器层。通过至少两个依次连接的第一编码器层的设置,使得本实施例的回复生成模型能够在对问题和回复中的各个词进行编码时,获得各个词间更深层次的语义特征,能够有效的提升生成的回复的准确度。
作为一个可选的实施例中,参考图3所示,与第一编码器层类似的,第二编码器层也可以多于一个(N≥1);当设置有至少两个第二编码器层时,该至少两个第一编码器层是依次连接的。具体的,位于首位的第二编码器层的输入为第一编码器层生成的问题局部特征向量和回复局部特征向量(若第一编码器层多于一个,则为位于末位的第一编码器层生成的问题局部特征向量和回复局部特征向量);除位于首位之外的其他的第二编码器层,其输入均为前一第二编码器层输出的问题全局特征向量和回复全局特征向量;而位于末位的第二编码器层,其输出的问题全局特征向量和回复全局特征向量被输入至解码器层。通过至少两个依次连接的第二编码器层的设置,使得本实施例的回复生成模型能够在对问题和回复中的各个词进行编码时,获得各个词间更深层次的语义特征,能够有效的提升生成的回复的准确度。
可见,本实施例的回复生成方法,通过第一编码器层进行自注意力和局部掩码处理,使本实施例的回复生成模型充分利用问题和回复各自语句内的语义特征,再通过第二编码器层自注意力和全局掩码处理,使得回复生成模型充分利用当前以及之前的所有问题和回复的上下文语义特征,有效的提升了生成的回复的准确度。此外,基于用户与机器人的对话历史,并局部掩码处理和全局掩码处理均在解码过程中实现,使得本实施例的回复生成模型具有极高的训练和预测效率。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,本说明书一个或多个实施例还提供了一种用于人机对话系统的回复生成装置。参考图6,所述回复生成装置,包括:
获取模块601,被配置为获取用户与机器人之间按对话顺序依次排列的问题和回复,并输入所述回复生成模型;所述问题包括历史问题和当前问题;
词嵌入模块602,被配置为对所述问题和回复进行词嵌入处理,生成所述问题中各个词分别对应的问题词向量以及所述回复中各个词分别对应的回复词向量;
第一编码器模块603,被配置为根据所述问题词向量和所述回复词向量,采用自注意力机制和局部掩码处理,生成所述问题中各个词分别对应的问题局部特征向量以及所述回复中各个词分别对应的回复局部特征向量;对于任一问题中的任一词,所述局部掩码处理使该词仅与同一问题内的各个词之间存在注意力值;对于任一回复中的任一词,所述局部掩码处理使该词仅与同一回复内且其之前的各个词之间存在注意力值;
第二编码器模块604,被配置为根据所述问题局部特征向量和所述回复局部特征向量,采用自注意力机制和全局掩码处理,生成所述回复中各个词分别对应的回复全局特征向量;对于任一回复中的任一词,所述全局掩码处理使该词仅与其所属回复中之前的各个词以及其所属回复之前的全部问题和回复中的各个词之间存在注意力值;
解码器模块605,被配置为根据所述回复全局特征向量,生成对应于所述当前问题的当前回复。
作为一个可选的实施例,所述第一编码器模块有至少两个,且依次连接;其中,位于首位的第一编码器模块的输入为所述问题词向量和所述回复词向量;其他第一编码器模块的输入为前一第一编码器模块输出的问题局部特征向量和回复局部特征向量;位于末位的第一编码器模块输出的问题局部特征向量和回复局部特征向量输入所述第二编码器模块。
作为一个可选的实施例,所述第二编码器模块,还被配置为根据所述问题局部特征向量和所述回复局部特征向量,采用自注意力机制和全局掩码处理,生成所述问题中各个词分别对应的问题全局特征向量;对于任一问题中的任一词,所述全局掩码处理使该词仅与其所属问题中的各个词以及其所属问题之前的全部问题和回复中的各个词之间存在注意力值;
所述第二编码器模块有至少两个,且依次连接;其中,位于首位的第二编码器模块的输入为所述问题局部特征向量和所述回复局部特征向量;其他第二编码器模块的输入为前一第二编码器模块输出的问题全局特征向量和回复全局特征向量;位于末位的第二编码器模块输出的回复局部特征向量输入所述解码器模块。
作为一个可选的实施例,所述第一编码器模块,具体被配置为生成所述问题和回复中的各个词分别对应的第一隐状态;根据所述第一隐状态构建第一注意力值矩阵;所述第一注意力值矩阵中的注意力值为相应的两个词的第一隐状态的点积;生成与所述第一注意力值矩阵大小相同的局部掩码矩阵;所述局部掩码矩阵中,用于掩码的位置赋值为负无穷,其他位置赋值为零;将所述局部掩码矩阵与所述第一注意力值矩阵相加,根据相加的结果,生成所述问题局部特征向量和所述回复局部特征向量。
作为一个可选的实施例,所述第二编码器模块,具体被配置为生成所述问题和回复中的各个词分别对应的第二隐状态;根据所述第二隐状态构建第二注意力值矩阵;所述第二注意力值矩阵中的注意力值为相应的两个词的第二隐状态的点积;生成与所述第二注意力值矩阵大小相同的全局掩码矩阵;所述全局掩码矩阵中,用于掩码的位置赋值为负无穷,其他位置赋值为零;将所述全局掩码矩阵与所述第二注意力值矩阵相加,根据相加的结果,生成所述所述回复全局特征向量。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的回复生成装置用于实现前述实施例中相应的回复生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的回复生成方法。
图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图, 该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线 1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (11)
1.一种用于人机对话系统的回复生成方法,包括:
获取用户与机器人之间按对话顺序依次排列的问题和回复,并输入预先训练的回复生成模型;其中,所述问题包括历史问题和当前问题;所述回复生成模型包括:词嵌入层、第一编码器层、第二编码器层和解码器层;
在所述词嵌入层,对所述问题和回复进行词嵌入处理,生成所述问题中各个词分别对应的问题词向量以及所述回复中各个词分别对应的回复词向量;
在所述第一编码器层,根据所述问题词向量和所述回复词向量,采用自注意力机制和局部掩码处理,生成所述问题中各个词分别对应的问题局部特征向量以及所述回复中各个词分别对应的回复局部特征向量;对于任一问题中的任一词,所述局部掩码处理使该词仅与同一问题内的各个词之间存在注意力值;对于任一回复中的任一词,所述局部掩码处理使该词仅与同一回复内且其之前的各个词之间存在注意力值;
在所述第二编码器层,根据所述问题局部特征向量和所述回复局部特征向量,采用自注意力机制和全局掩码处理,生成所述回复中各个词分别对应的回复全局特征向量;对于任一回复中的任一词,所述全局掩码处理使该词仅与其所属回复中之前的各个词以及其所属回复之前的全部问题和回复中的各个词之间存在注意力值;
在所述解码器层,根据所述回复全局特征向量,生成对应于所述当前问题的当前回复。
2.根据权利要求1所述的方法,所述第一编码器层有至少两个且依次连接;其中,位于首位的第一编码器层的输入为所述问题词向量和所述回复词向量;其他第一编码器层的输入为前一第一编码器层输出的问题局部特征向量和回复局部特征向量;位于末位的第一编码器层输出的问题局部特征向量和回复局部特征向量输入所述第二编码器层。
3.根据权利要求2所述的方法,在所述第二编码器层,还根据所述问题局部特征向量和所述回复局部特征向量,采用自注意力机制和全局掩码处理,生成所述问题中各个词分别对应的问题全局特征向量;对于任一问题中的任一词,所述全局掩码处理使该词仅与其所属问题中的各个词以及其所属问题之前的全部问题和回复中的各个词之间存在注意力值;
所述第二编码器层有至少两个且依次连接;其中,位于首位的第二编码器层的输入为所述问题局部特征向量和所述回复局部特征向量;其他第二编码器层的输入为前一第二编码器层输出的问题全局特征向量和回复全局特征向量;位于末位的第二编码器层输出的回复局部特征向量输入所述解码器层。
4.根据权利要求1所述的方法,所述自注意力机制和局部掩码处理,包括:
生成所述问题和回复中的各个词分别对应的第一隐状态;
根据所述第一隐状态构建第一注意力值矩阵;所述第一注意力值矩阵中的注意力值为相应的两个词的第一隐状态的点积;
生成与所述第一注意力值矩阵大小相同的局部掩码矩阵;所述局部掩码矩阵中,用于掩码的位置赋值为负无穷,其他位置赋值为零;
将所述局部掩码矩阵与所述第一注意力值矩阵相加,根据相加的结果,生成所述问题局部特征向量和所述回复局部特征向量。
5.根据权利要求4所述的方法,所述自注意力机制和全局掩码处理,包括:
生成所述问题和回复中的各个词分别对应的第二隐状态;
根据所述第二隐状态构建第二注意力值矩阵;所述第二注意力值矩阵中的注意力值为相应的两个词的第二隐状态的点积;
生成与所述第二注意力值矩阵大小相同的全局掩码矩阵;所述全局掩码矩阵中,用于掩码的位置赋值为负无穷,其他位置赋值为零;
将所述全局掩码矩阵与所述第二注意力值矩阵相加,根据相加的结果,生成所述所述回复全局特征向量。
6.一种用于人机对话系统的回复生成装置,包括:
获取模块,被配置为获取用户与机器人之间按对话顺序依次排列的问题和回复,并输入预先训练的回复生成模型;其中,所述问题包括历史问题和当前问题;所述回复生成模型包括:词嵌入层、第一编码器层、第二编码器层和解码器层;
词嵌入模块,被配置为对所述问题和回复进行词嵌入处理,生成所述问题中各个词分别对应的问题词向量以及所述回复中各个词分别对应的回复词向量;
第一编码器模块,被配置为根据所述问题词向量和所述回复词向量,采用自注意力机制和局部掩码处理,生成所述问题中各个词分别对应的问题局部特征向量以及所述回复中各个词分别对应的回复局部特征向量;对于任一问题中的任一词,所述局部掩码处理使该词仅与同一问题内的各个词之间存在注意力值;对于任一回复中的任一词,所述局部掩码处理使该词仅与同一回复内且其之前的各个词之间存在注意力值;
第二编码器模块,被配置为根据所述问题局部特征向量和所述回复局部特征向量,采用自注意力机制和全局掩码处理,生成所述回复中各个词分别对应的回复全局特征向量;对于任一回复中的任一词,所述全局掩码处理使该词仅与其所属回复中之前的各个词以及其所属回复之前的全部问题和回复中的各个词之间存在注意力值;
解码器模块,被配置为根据所述回复全局特征向量,生成对应于所述当前问题的当前回复。
7.根据权利要求6所述的装置,所述第一编码器模块有至少两个,且依次连接;其中,位于首位的第一编码器模块的输入为所述问题词向量和所述回复词向量;其他第一编码器模块的输入为前一第一编码器模块输出的问题局部特征向量和回复局部特征向量;位于末位的第一编码器模块输出的问题局部特征向量和回复局部特征向量输入所述第二编码器模块。
8.根据权利要求7所述的装置,所述第二编码器模块,还被配置为根据所述问题局部特征向量和所述回复局部特征向量,采用自注意力机制和全局掩码处理,生成所述问题中各个词分别对应的问题全局特征向量;对于任一问题中的任一词,所述全局掩码处理使该词仅与其所属问题中的各个词以及其所属问题之前的全部问题和回复中的各个词之间存在注意力值;
所述第二编码器模块有至少两个,且依次连接;其中,位于首位的第二编码器模块的输入为所述问题局部特征向量和所述回复局部特征向量;其他第二编码器模块的输入为前一第二编码器模块输出的问题全局特征向量和回复全局特征向量;位于末位的第二编码器模块输出的回复局部特征向量输入所述解码器模块。
9.根据权利要求6所述的装置,所述第一编码器模块,具体被配置为生成所述问题和回复中的各个词分别对应的第一隐状态;根据所述第一隐状态构建第一注意力值矩阵;所述第一注意力值矩阵中的注意力值为相应的两个词的第一隐状态的点积;生成与所述第一注意力值矩阵大小相同的局部掩码矩阵;所述局部掩码矩阵中,用于掩码的位置赋值为负无穷,其他位置赋值为零;将所述局部掩码矩阵与所述第一注意力值矩阵相加,根据相加的结果,生成所述问题局部特征向量和所述回复局部特征向量。
10.根据权利要求9所述的装置,所述第二编码器模块,具体被配置为生成所述问题和回复中的各个词分别对应的第二隐状态;根据所述第二隐状态构建第二注意力值矩阵;所述第二注意力值矩阵中的注意力值为相应的两个词的第二隐状态的点积;生成与所述第二注意力值矩阵大小相同的全局掩码矩阵;所述全局掩码矩阵中,用于掩码的位置赋值为负无穷,其他位置赋值为零;将所述全局掩码矩阵与所述第二注意力值矩阵相加,根据相加的结果,生成所述所述回复全局特征向量。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至5任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010533197.0A CN111460126B (zh) | 2020-06-12 | 2020-06-12 | 一种用于人机对话系统的回复生成方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010533197.0A CN111460126B (zh) | 2020-06-12 | 2020-06-12 | 一种用于人机对话系统的回复生成方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111460126A true CN111460126A (zh) | 2020-07-28 |
CN111460126B CN111460126B (zh) | 2020-09-25 |
Family
ID=71683944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010533197.0A Active CN111460126B (zh) | 2020-06-12 | 2020-06-12 | 一种用于人机对话系统的回复生成方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111460126B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996431A (zh) * | 2022-08-01 | 2022-09-02 | 湖南大学 | 一种基于混合注意力的人机对话生成方法、系统及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776578A (zh) * | 2017-01-03 | 2017-05-31 | 竹间智能科技(上海)有限公司 | 用于提升对话系统对话性能的方法及装置 |
CN110209801A (zh) * | 2019-05-15 | 2019-09-06 | 华南理工大学 | 一种基于自注意力网络的文本摘要自动生成方法 |
CN110442693A (zh) * | 2019-07-27 | 2019-11-12 | 中国科学院自动化研究所 | 基于人工智能的回复消息生成方法、装置、服务器及介质 |
US20190392319A1 (en) * | 2017-05-23 | 2019-12-26 | Google Llc | Attention-based sequence transduction neural networks |
CN110796160A (zh) * | 2019-09-16 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种文本分类方法、装置和存储介质 |
CN111221945A (zh) * | 2020-04-24 | 2020-06-02 | 支付宝(杭州)信息技术有限公司 | 基于用户问句生成标准问题的方法和装置 |
-
2020
- 2020-06-12 CN CN202010533197.0A patent/CN111460126B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776578A (zh) * | 2017-01-03 | 2017-05-31 | 竹间智能科技(上海)有限公司 | 用于提升对话系统对话性能的方法及装置 |
US20190392319A1 (en) * | 2017-05-23 | 2019-12-26 | Google Llc | Attention-based sequence transduction neural networks |
CN110209801A (zh) * | 2019-05-15 | 2019-09-06 | 华南理工大学 | 一种基于自注意力网络的文本摘要自动生成方法 |
CN110442693A (zh) * | 2019-07-27 | 2019-11-12 | 中国科学院自动化研究所 | 基于人工智能的回复消息生成方法、装置、服务器及介质 |
CN110796160A (zh) * | 2019-09-16 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种文本分类方法、装置和存储介质 |
CN111221945A (zh) * | 2020-04-24 | 2020-06-02 | 支付宝(杭州)信息技术有限公司 | 基于用户问句生成标准问题的方法和装置 |
Non-Patent Citations (2)
Title |
---|
刘璐: "基于序列到序列模型的答案生成方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李霞等: "基于局部和全局语义融合的跨语言句子语义相似度计算模型", 《中文信息学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996431A (zh) * | 2022-08-01 | 2022-09-02 | 湖南大学 | 一种基于混合注意力的人机对话生成方法、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111460126B (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7408574B2 (ja) | 質問応答としてのマルチタスク学習 | |
CN108334487B (zh) | 缺失语意信息补全方法、装置、计算机设备和存储介质 | |
CN110277085B (zh) | 确定多音字发音的方法及装置 | |
CN111695352A (zh) | 基于语义分析的评分方法、装置、终端设备及存储介质 | |
CN110853626B (zh) | 基于双向注意力神经网络的对话理解方法、装置及设备 | |
CN111931517B (zh) | 文本翻译方法、装置、电子设备以及存储介质 | |
US11681872B2 (en) | Language sequence labeling method and apparatus, storage medium, and computing device | |
CN111538809B (zh) | 一种语音服务质量检测方法、模型训练方法及装置 | |
US20230029759A1 (en) | Method of classifying utterance emotion in dialogue using word-level emotion embedding based on semi-supervised learning and long short-term memory model | |
CN108959388B (zh) | 信息生成方法及装置 | |
KR20230152741A (ko) | 고정 언어 모델을 사용한 다중-모달 퓨-샷 학습 | |
CN115309877A (zh) | 对话生成方法、对话模型训练方法及装置 | |
CN111597341A (zh) | 一种文档级关系抽取方法、装置、设备及存储介质 | |
CN111444399B (zh) | 回复内容的生成方法、装置、设备及可读存储介质 | |
CN116050425A (zh) | 建立预训练语言模型的方法、文本预测方法及装置 | |
CN111460126B (zh) | 一种用于人机对话系统的回复生成方法、装置及电子设备 | |
CN109829040B (zh) | 一种智能对话方法及装置 | |
CN112989843B (zh) | 意图识别方法、装置、计算设备及存储介质 | |
CN111401036B (zh) | 一种指代消解文本的生成方法、装置及电子设备 | |
CN113672714A (zh) | 一种多轮对话装置及方法 | |
CN114970666B (zh) | 一种口语处理方法、装置、电子设备及存储介质 | |
CN116312539A (zh) | 基于大模型的中文对话轮次纠正方法及系统 | |
CN113761935B (zh) | 一种短文本语义相似度度量方法、系统及装置 | |
CN112966476B (zh) | 文本处理方法、装置、电子设备及存储介质 | |
CN112818688B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40034517 Country of ref document: HK |