CN109597884A - 对话生成的方法、装置、存储介质和终端设备 - Google Patents
对话生成的方法、装置、存储介质和终端设备 Download PDFInfo
- Publication number
- CN109597884A CN109597884A CN201811620931.6A CN201811620931A CN109597884A CN 109597884 A CN109597884 A CN 109597884A CN 201811620931 A CN201811620931 A CN 201811620931A CN 109597884 A CN109597884 A CN 109597884A
- Authority
- CN
- China
- Prior art keywords
- hidden state
- keyword
- vector
- fusion
- previous moment
- 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
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Machine Translation (AREA)
Abstract
本发明提出一种对话生成的方法、装置、存储介质和终端设备,其中,所述方法包括:根据对话的输入内容,获取与所述输入内容相关的各关键词;利用编码器对所述输入内容和各所述关键词分别进行编码,获得初始时刻的隐状态和各所述关键词的编码向量;根据所述初始时刻的隐状态和各所述关键词的编码向量,利用解码器进行解码,顺序生成多个时刻的隐状态和所述多个时刻的隐状态分别对应的词汇;以及根据词汇的生成顺序,将生成的词汇组成与所述输入内容对应的回复内容。采用本发明,可以提高对话生成的精度以及效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种对话生成的方法、装置、存储介质和终端设备。
背景技术
随着人工智能技术的发展,通用的对话系统作为人工智能的重要应用场景之一,其得到的关注也越来越多。其中,通用的对话系统包括聊天机器人、手机助手等。在通用的对话系统中,根据用户输入的提问语句,可以生成与提问语句形成对话的回复语句。目前主流的对话回复语句的生成方法主要包括:采用检索的方式和采用自然语言生成的方式。其中,采用检索的方式为:根据用户输入的提问语句,在语料中进行检索,找到与其相关的回复。但是检索出来的结果受到语料的限制,拓展有限。如果语料中没有相关的句子,则无法回复用户。因此,采用自然语言生成的方式越来越受到重视。
采用自然语言生成的方式为:采用端到端(end2end)的框架。其中,最常用的方案为seq2seq(Sequence to Sequence,序列到序列)的模型。通过编码-解码来实现。编码器和解码器均可以采用循环神经网络。编码器将输入的提问语句编码成一个向量,作为解码器的初始状态,解码对此初始状态进行解码,生成与其形对话的回复语句。
但是,在解码过程中,如果输入的数据在训练数据中没有出现过,则解码器仅仅是利用上文编码出来的信息是不足以生成回复的。即,可以生成一些没有信息含量或与上文没有关联的通用回复。例如:“我不知道啊”、“不错不错”等。因此,在实际的对话应用场景,如果出现以上回复,将会严重影响用户的体验。
为了避免以上情况的出现,业界常用的方法是:根据对话内容进行扩展,得到扩展信息。然后,在解码生成过程中加入扩展信息,辅助回复内容的生成。或者,使用最大互信息(Maximum Mutual Information,MMI)的方法对生成结果进行筛选。
但是上述方法存在以下问题:
1、通过引入额外信息来生成回复的方法,存在引入信息单一以及没有对信息进行筛选的机制。
2、使用MMI的方法对生成的回复进行筛选的方法,大大增加了整个流程的计算量,耗时长,效率低下。
发明内容
本发明实施例提供一种对话生成的方法、装置、存储介质和终端设备,以解决或缓解现有技术中的以上一个或多个技术问题。
第一方面,本发明实施例提供了一种对话生成的方法,包括:
根据对话的输入内容,获取与所述输入内容相关的各关键词;
利用编码器对所述输入内容和各所述关键词分别进行编码,获得初始时刻的隐状态和各所述关键词的编码向量;
根据所述初始时刻的隐状态和各所述关键词的编码向量,利用解码器进行解码,顺序生成多个时刻的隐状态和所述多个时刻的隐状态分别对应的词汇;以及
根据词汇的生成顺序,将生成的词汇组成与所述输入内容对应的回复内容。
在一种实施方式中,通过如下方式生成当前时刻的隐状态包括:
根据前一时刻的隐状态和各所述关键词的编码向量,确定待融合到所述当前时刻的隐状态的生成过程的融合向量;以及
根据所述融合向量和所述前一时刻的隐状态,生成当前时刻的隐状态。
在一种实施方式中,在所述确定待融合到所述当前时刻的隐状态的生成过程的融合向量之后,所述方法还包括::
根据所述融合向量和所述前一时刻的隐状态,计算融合权重;
根据所述融合权重和所述融合向量,获取新的融合向量;
相应的,根据所述新的融合向量和所述前一时刻的隐状态,生成当前时刻的隐状态。
在一种实施方式中,根据前一时刻的隐状态和各所述关键词的编码向量,确定待融合到所述当前时刻的隐状态的生成过程的融合向量,包括:
根据前一时刻的隐状态和各所述关键词的编码向量,计算各所述关键词与所述前一时刻的隐状态的相关程度;
对各所述关键词的相关程度进行归一化,得到各所述关键词的权重值;以及
将各所述关键词的编码向量分别与各自的权重值相乘并求和,获得待融合到所述当前时刻的隐状态的生成过程的融合向量。
在一种实施方式中,根据所述融合向量和所述前一时刻的隐状态,计算融合权重的计算公式,包括:
alpha=sigmoid(w*[kwall,ht]+b)
其中,alpha表示所述融合权重,sigmoid为S型函数,w表示所述解码器已训练好的矩阵参数,kwall表示所述融合向量,ht表示所述前一时刻的隐状态,b表示设定的常数。
第二方面,本发明实施例提供一种对话生成装置,包括:
关键词获取模块,用于根据对话的输入内容,获取与所述输入内容相关的各关键词;
编码模块,用于利用编码器对所述输入内容和各所述关键词分别进行编码,获得初始时刻的隐状态和各所述关键词的编码向量;
解码模块,用于根据所述初始时刻的隐状态和各所述关键词的编码向量,利用解码器进行解码,顺序生成多个时刻的隐状态和所述多个时刻的隐状态分别对应的词汇;以及
回复内容组成模块,用于根据词汇的生成顺序,将生成的词汇组成与所述输入内容对应的回复内容。
在一种实施方式中,所述解码模块包括:
融合向量确定单元,用于根据前一时刻的隐状态和各所述关键词的编码向量,确定待融合到所述当前时刻的隐状态的生成过程的融合向量;
隐状态生成单元,用于根据所述融合向量和所述前一时刻的隐状态,生成当前时刻的隐状态。
在一种实施方式中,所述解码模块还包括:
融合权重计算单元,用于在所述确定待融合到所述当前时刻的隐状态的生成过程的融合向量之后,根据所述融合向量和所述前一时刻的隐状态,计算融合权重;以及
隐状态生成单元,用于根据所述融合向量和所述融合向量,获取新的融合向量;
相应的,所述隐状态生成单元,还用于根据所述新的融合向量和所述前一时刻的隐状态,生成当前时刻的隐状态。
在一种实施方式中,所述融合向量确定单元包括:
相关程度计算子单元,用于根据前一时刻的隐状态和各所述关键词的编码向量,计算各所述关键词与所述前一时刻的隐状态的相关程度;
权重值计算子单元,用于对各所述关键词的相关程度进行归一化,得到各所述关键词的权重值;以及
融合向量获取子单元,用于将各所述关键词的编码向量分别与各自的权重值相乘并求和,获得待融合到所述当前时刻的隐状态的生成过程的融合向量。
在一种实施方式中,所述融合权重计算单元利用的计算公式,包括:
alpha=sigmoid(w*[kwall,ht]+b)
其中,alpha表示所述融合权重,sigmoid为S型函数,w表示所述解码器已训练好的矩阵参数,kwall表示所述融合向量,ht表示所述前一时刻的隐状态,b表示设定的常数。
第三方面,本发明实施例提供了一种对话生成的装置,所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,对话生成的结构中包括处理器和存储器,所述存储器用于对话生成的装置执行上述对话生成的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述对话生成的装置还可以包括通信接口,用于对话生成的装置与其他设备或通信网络通信。
第四方面,本发明实施例还提供一种计算机可读存储介质,用于对话生成的装置所用的计算机软件指令,其中包括用于执行上述对话生成的方法所涉及的程序。
上述技术方案中的任意一个技术方案具有如下优点或有益效果:
本发明实施例可以融合相关的关键词(信息)到对话的回复内容的生成过程,并且决定这些信息中的哪一部分可以融合。如此,使得生成的回复内容更符合对话的场景。以及不需要对生成的回复内容进行MMI重排,大大降低计算时间。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1是本发明提供的对话生成的方法的一个应用框架的示意图。
图2是本发明提供的对话生成的方法的一个实施例的流程示意图。
图3是本发明提供的解码的过程的一个实施例的流程示意图。
图4是本发明提供的融合向量的确定过程的一个实施例的流程示意图。
图5是本发明提供的对话生成的方法的一个应用示例的示意图。
图6是本发明提供的对话生成的装置的一个实施例的结构示意图。
图7是本发明提供的终端设备的一个实施例的结构示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
请参阅图1,本发明实施例提供的对话生成的方法的一个应用框架的示意图。本实施例采用的框架为seq2seq的框架,包括编码器和解码器。编码器和解码器可以采用循环神细网络(Recurrent Neural Network,RNN)、长短期记忆网络(Long Short-Term Memory,LSTM)等来构成。编码器可以将输入的内容,例如、词语或句子,编码成一个向量。即,将一个可变长度的输入序列变为固定长度的向量。解码器可以将这个固定长度的向量解码成可变长度的输出序列。例如,编码器将输入的“A,B,C”编码成一个向量,然后将此向量作为解码器的初始状态,生成回复“W,X,Y,Z”。
请参阅图2,本发明实施例提供了一种对话生成的方法。本实施例可以应用于聊天机器人、语音助手、翻译等应用场景。本实施例可以包括步骤S100至S400,如下:
S100,根据对话的输入内容,获取与输入内容相关的各关键词。参见图1,输入内容可以对应图1的previous sentences(前句)。输入内容可以包括词语或句子。例如:“小度,小度,圣诞节是哪一天?”、“圣诞节快乐!”。
在一些实施例中,通过PMI等技术可以找到与输入内容具有上下文相关的多个关键词。
在一些实施例中,可以通过对输入的内容进行分词,并检索与分词相关的检索信息。然后,从检索信息中提取出多个关键词。
S200,利用编码器对输入内容和各关键词分别进行编码,获得初始时刻的隐状态和各关键词的编码向量。
参见图1,编码器可以对应图1中的context(上下文向量)涉及到的方框。实际上,其可以是循环神经网络或其变形。编码器可以为输入内容中的每个单词输出一些数值。对于输入内容中的每个单词,编码器输出一个向量和一个隐状态。并可以将隐状态用于下一个输入的单词的输出。编码器最后输出的向量可以作为解码器的初始隐状态。由于最后输出的向量是从输入的整个序列中编码上下文的,可以简称为上下文向量。对于各关键词,编码器可以为各关键词配置相应的数值,以形成相应的编码向量。
S300,根据初始时刻的隐状态和各关键词的编码向量,利用解码器进行解码,顺序生成多个时刻的隐状态和多个时刻的隐状态分别对应的词汇。
其中,当前时刻的隐状态是根据从各关键词的编码向量中确定的待融合到当前时刻的隐状态的生成过程的融合向量、和前一时刻的隐状态生成的。也就是说,可以通过如下方式生成当前时刻的隐状态:根据前一时刻的隐状态和各所述关键词的编码向量,确定待融合到当前时刻的隐状态的生成过程的融合向量;以及根据融合向量和前一时刻的隐状态,生成当前时刻的隐状态。
通过前一时刻的隐状态和各所述关键词的编码向量之间的相关程度,确定各所述关键词的编码向量中的哪一些或哪一部分信息是可以加入到当前时刻的隐状态的生成过程的。如此在各时刻生成的隐状态可以提供不同的关键词(信息)来约束。
参见图1,解码器可以对应图1中的reply涉及到的方框。实际上,其可以是循环神经网络或其变形。解码器以编码器最后输出的向量作为其初始隐状态。解码器输出的过程,也是逐个词地输出。
例如,对于第一个词汇的输出或生成,依据初始隐状态与各关键词的编码向量的关系,从各关键词的编码向量中确定的待融合到解码器的第一个隐状态的生成过程的融合向量。此关系可以认为初隐状态与各关键词的相关程度。此数值可以通过点乘函数进行计算得到,或者通过注意力机制计算得到。然后,利用融合向量和初始隐状态,解码器生成并输出的第一个隐状态和第一词汇。其中,输出的隐状态和词汇均以向量进行表示。在利用融合向量的过程中,可以利用部分或全部融合向量,可以根据其与前一时刻隐态的关系来决定。
接上例,对于后续的每一个词汇的输出或生成,可以依据解码器输出的前一时刻生成的隐状态、和从各关键词的编码向量中确定的待融合到当前时刻的隐状态的生成过程的融合向量,解码器生成并输出当前时刻的隐状态以及此隐状态对应的词汇。
S400,根据词汇的生成顺序,将生成的词汇组成与输入内容对应的回复内容。
在本实施例中,解码器生成的词汇可以以向量的形式表达,在组成回复内容时,可以将向量转换成相对应的语言的词汇。例如,转换成中文词汇或英文词汇。
由于解码器是按时序生成各个隐状态对应的词汇,在本实施例中,可以按照词汇的生成顺序,将生成的词汇组成句子,作为回复内容并输出。
本发明实施例可以融合相关的关键词(信息)到对话的回复内容的生成过程,并且决定这些信息中的哪一部分可以融合。如此,使得生成的回复内容更符合对话的场景。以及不需要对生成的回复内容进行MMI重排,大大降低计算时间。
在一些实施例中,参见图3,上述步骤S300提供的解码的过程,可以包括步骤S310至步骤S330,如下:
S310,根据前一时刻的隐状态和各关键词的编码向量,确定待融合到当前时刻的隐状态的生成过程的融合向量。
在一些实施例中,可以通过点乘函数计算得到各关键词的编码向量分别与前一时刻的隐状态之前的相关程度。然后,依据相关程度来确定各关键词在融合向量中的权重值。最后,将各关键词的编码向量与各自的权重值相乘并求和,得到融合向量。此融合向量可以来加入到当前时刻的隐状态和词汇的生成。其中,词汇的生成可以依据于当前时刻的隐状态。
在一些实施例中,可以通过注意力分布的机制,对前一时刻的隐状态和各关键词的编码向量进行计算,得到各关键词在融合向量中的权重值。注意力分布用于指示当前时刻生成的词汇的位置上体现各关键词含义的概率。然后,将各关键词的编码向量与各自的权重值相乘并求和,得到融合向量。
S320,根据融合向量和前一时刻的隐状态,计算融合权重。其中,融合权重可以在0到1之间取值。利用已训练好的激活函数对融合向量和前一时刻的隐状态进行计算,可以得到融合权重。
S330,根据融合向量与融合权重的相乘结果、以及前一时刻的隐状态,生成当前时刻的隐状态。
在本实施例中,根据融合向量和融合权重可以获取新的融合向量。例如,将融合向量与融合权重的相乘结果作为新的融合向量。也就是说,相对于原融合向量,新的融合向量是作了二次信息筛选而得到的结果。然后,将新的融合向量与前一时刻的隐状态相结合,解码获取当前时刻的隐状态以及这此隐状态对应的词汇。
当然在当前时刻的隐状态的生成过程,也可以结合前一时刻生成的词汇的信息,例如,此词汇的向量。
在本实施例中,引入融合权重的计算方式,从融合向量中筛选出融合到当前时刻的隐状态的生成的信息。其中,融合向量与融合权重的相乘结果,即为信息的二次筛选的结果。因此,本发明实施例通过前一时刻的隐状态与各关键词的编码向量之间的关系、前一时刻的隐状态与融合了此关系的融合向量之间的关系,可以从各关键词的编码向量中选择部分信息,加入到当前时刻的隐状态的生成过程中。而现有技术的方案为:在每一时刻隐状态的生成过程中均加入相同的相关信息来约束。相比现有技术,本实施例可以更精确地、有选择性地加入相关信息来约束每一个时刻隐状态的生成,即有选择性地约束每一时刻生成的隐状态。
在一些实施例中,参见图4,上述步骤S310的融合向量的确定过程,可以包括步骤S312至步骤S316,如下:
S312,根据前一时刻的隐状态和各关键词的编码向量,计算各关键词与前一时刻的隐状态的相关程度。
示例性地,如果前一时刻的隐状态表示为ht,其为向量。以及,如果存在K个关键词,K个关键词分别对应的编码向量为:kw1,…,kwk。则可以通过点乘函数计算各关键词与前一时刻隐态的相关程度,则可以示例为:wj=dot(ht,kwj),j∈[1,k]。
S314,对各关键词的相关程度进行归一化,得到各关键词的权重值。
接上例,本实施例可以采用softmax函数对相关程度进行归一化,可以各关键词的权重值。其中,各权重值之和为1。各关键词的权重值可以表示为mj。
S316,将各关键词的编码向量分别与各自的权重值相乘并求和,获得待融合到当前时刻的隐状态的生成过程的融合向量。
在本实施例中,融合向量通过加权和的方式对相关的关键词的信息进行汇总,因此,融合向量包含了各个关键词的信息。从这个角度进行理解,为各时刻生成的隐状态和词汇均为各关键词进行权重计算,并加权和计算得到融合向量,这就相当于融合向量已对关键词的信息做了一次信息筛选。结合前述实施例可知,融合权重计算、以及将融合向量与融合权重相乘得到的结果加入到当前时刻的隐状态和词汇的生成,这相当于对关键词的信息做二次筛选。因此,在生成各时刻的隐状态和词汇的过程中,均对关键词信息进行二次筛选,并筛选得到的结果加入到此时刻的隐状态和词汇的生成过程,可以有效地提高生成回复的准确度。
示例性地,融合向量可以表示为kwall=m1*kw1+···+mj*kwj+···+mk*kwk。
在一些实施例中,上述步骤S320中计算融合权重的计算公式,可以包括:
alpha=sigmoid(w*[kwall,ht]+b)
其中,alpha表示融合权重,sigmoid为S型函数,w表示解码器已训练好的矩阵参数,kwall表示融合向量,ht表示前一时刻的隐状态,b表示设定的常数。
sigmoid函数在编码器和解码器的训练过程中训练生成的。融合权重的取值可以在0~1之间取值。
如果计算得到的融合权重数值为零或者低于融合权重阈值,则不将此融合向量的信息引入到当前时刻的隐状态和词汇的生成。
在本实施例中,融合向量跟前一时刻的隐状态进行相关性的计算,得到可以衡量此相关性的融合权重。如果相关性高,即融合权重的数值高,则表明引入的关键词的信息与原先数据一致性高,可以将其加入到回复内容的生成过程中。相反,如果相关性低,即融合权重的数值低,则表明引入的关键词的信息为噪声,那么不能加入到生成中。
请参阅图5,其是本发明实施例提供的对话生成的方法的一个应用示例的示意图。
本实施例提出了一种引入多关键词融合机制。通过PMI等技术在大量的对话数据中找到与输入内容具有上文相关的多个词语,作为关键词。然后,在解码生成每一个词汇的过程,均可以通过注意力分布机制对这多个关键词进行融合,得到对应的向量表示,并再通过筛选模块决定融合后的信息中哪些部分可以加入到此词汇的生成过程中。
用户输入的句子经过编码器的编码,可以得到相应的向量表示,可以记为h0。对于解码过程中生成的隐状态表示为ht。假设有K个关键词,其分别对应的向量表示为kw1,…,kwk。那么,可以通过ht与关键词的相关性来计算得到权重。例如,各关键词与前一时刻的ht的相关程度为wj=dot(ht,kwj),j∈[1,k]。然后,各关键词的相关程度通过softmax函数进行归一化,记为mj,加权和之后,可以得到融合后的信息表示:kwall=m1*kw1+···+mj*kwj+···+mk*kwk。进而,将kwall与kwall输入筛选模块,计算得到融入权重为:
alpha=sigmoid(w*[kwall,ht]+b)
其中,alpha的取值范围在0~1之间。如果alpha取值为0,表示该kwall的信息不引入到生成过程中去。如果取值不为0,则将利用alpha的数值对kwall的信息进行筛选,并将筛选到的结果引入到当前时刻的隐状态和词汇的生成。
请参阅图6,本发明实施例提供一种对话生成装置,包括:
关键词获取模块100,用于根据对话的输入内容,获取与所述输入内容相关的各关键词;
编码模块200,用于利用编码器对所述输入内容和各所述关键词分别进行编码,获得初始时刻的隐状态和各所述关键词的编码向量;
解码模块300,用于根据所述初始时刻的隐状态和各所述关键词的编码向量,利用解码器进行解码,顺序生成多个时刻的隐状态和所述多个时刻的隐状态分别对应的词汇;以及
回复内容组成模块400,用于根据词汇的生成顺序,将生成的词汇组成与所述输入内容对应的回复内容。
在一种实施方式中,所述解码模块包括:
融合向量确定单元,用于根据前一时刻的隐状态和各所述关键词的编码向量,确定待融合到所述当前时刻的隐状态的生成过程的融合向量;
隐状态生成单元,用于根据所述融合向量和所述前一时刻的隐状态,生成当前时刻的隐状态。
在一种实施方式中,所述解码模块还包括:
融合权重计算单元,用于在所述确定待融合到所述当前时刻的隐状态的生成过程的融合向量之后,根据所述融合向量和所述前一时刻的隐状态,计算融合权重;以及
新融合向量获取单元,用于根据所述融合权重和所述融合向量,获取新的融合向量;
相应的,所述隐状态生成单元,还用于根据所述新的融合向量和所述前一时刻的隐状态,生成当前时刻的隐状态。
在一种实施方式中,所述融合向量确定单元包括:
相关程度计算子单元,用于根据前一时刻的隐状态和各所述关键词的编码向量,计算各所述关键词与所述前一时刻的隐状态的相关程度;
权重值计算子单元,用于对各所述关键词的相关程度进行归一化,得到各所述关键词的权重值;以及
融合向量获取子单元,用于将各所述关键词的编码向量分别与各自的权重值相乘并求和,获得待融合到所述当前时刻的隐状态的生成过程的融合向量。
在一种实施方式中,所述融合权重计算单元利用的计算公式,包括:
alpha=sigmoid(w*[kwall,ht]+b)
其中,alpha表示所述融合权重,sigmoid为S型函数,w表示所述解码器已训练好的矩阵参数,kwall表示所述融合向量,ht表示所述前一时刻的隐状态,b表示设定的常数。
所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,对话生成的结构中包括处理器和存储器,所述存储器用于对话生成的装置执行上述第一方面中对话生成的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述对话生成的装置还可以包括通信接口,用于对话生成的装置与其他设备或通信网络通信。
本发明实施例还提供一种对话生成的终端设备,如图7所示,该设备包括:存储器21和处理器22,存储器21内存储有可在处理器22上的计算机程序。处理器22执行计算机程序时实现上述实施例中的对话生成的方法。存储器21和处理器22的数量可以为一个或多个。
该设备还包括:
通信接口23,用于处理器22与外部设备之间的通信。
存储器21可能包括高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
如果存储器21、处理器22和通信接口23独立实现,则存储器21、处理器22和通信接口23可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器21、处理器22及通信接口23集成在一块芯片上,则存储器21、处理器22及通信接口23可以通过内部接口完成相互间的通信。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包括、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
本发明实施例的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质的更具体的示例至少(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
在本发明实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于指令执行系统、输入法或者器件使用或者与其结合使用的程序。计算机可读介质上包括的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成的程序,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种对话生成的方法,其特征在于,包括:
根据对话的输入内容,获取与所述输入内容相关的各关键词;
利用编码器对所述输入内容和各所述关键词分别进行编码,获得初始时刻的隐状态和各所述关键词的编码向量;
根据所述初始时刻的隐状态和各所述关键词的编码向量,利用解码器进行解码,顺序生成多个时刻的隐状态和所述多个时刻的隐状态分别对应的词汇;以及
根据词汇的生成顺序,将生成的词汇组成与所述输入内容对应的回复内容。
2.如权利要求1所述的方法,其特征在于,通过如下方式生成当前时刻的隐状态包括:
根据前一时刻的隐状态和各所述关键词的编码向量,确定待融合到所述当前时刻的隐状态的生成过程的融合向量;以及
根据所述融合向量和所述前一时刻的隐状态,生成当前时刻的隐状态。
3.根据权利要求2所述的方法,其特征在于,在所述确定待融合到所述当前时刻的隐状态的生成过程的融合向量之后,所述方法还包括:
根据所述融合向量和所述前一时刻的隐状态,计算融合权重;
根据所述融合权重和所述融合向量,获取新的融合向量;
相应的,根据所述新的融合向量和所述前一时刻的隐状态,生成当前时刻的隐状态。
4.如权利要求2或3所述的方法,其特征在于,根据前一时刻的隐状态和各所述关键词的编码向量,确定待融合到所述当前时刻的隐状态的生成过程的融合向量,包括:
根据前一时刻的隐状态和各所述关键词的编码向量,计算各所述关键词与所述前一时刻的隐状态的相关程度;
对各所述关键词的相关程度进行归一化,得到各所述关键词的权重值;以及
将各所述关键词的编码向量分别与各自的权重值相乘并求和,获得待融合到所述当前时刻的隐状态的生成过程的融合向量。
5.如权利要求3所述的方法,其特征在于,根据所述融合向量和所述前一时刻的隐状态,计算融合权重的计算公式,包括:
alpha=sigmoid(w*[kwall,ht]+b)
其中,alpha表示所述融合权重,sigmoid为S型函数,w表示所述解码器已训练好的矩阵参数,kwall表示所述融合向量,ht表示所述前一时刻的隐状态,b表示设定的常数。
6.一种对话生成装置,其特征在于,包括:
关键词获取模块,用于根据对话的输入内容,获取与所述输入内容相关的各关键词;
编码模块,用于利用编码器对所述输入内容和各所述关键词分别进行编码,获得初始时刻的隐状态和各所述关键词的编码向量;
解码模块,用于根据所述初始时刻的隐状态和各所述关键词的编码向量,利用解码器进行解码,顺序生成多个时刻的隐状态和所述多个时刻的隐状态分别对应的词汇;以及
回复内容组成模块,用于根据词汇的生成顺序,将生成的词汇组成与所述输入内容对应的回复内容。
7.如权利要求6所述的装置,其特征在于,所述解码模块包括:
融合向量确定单元,用于根据前一时刻的隐状态和各所述关键词的编码向量,确定待融合到所述当前时刻的隐状态的生成过程的融合向量;
隐状态生成单元,用于根据所述融合向量和所述前一时刻的隐状态,生成当前时刻的隐状态。
8.如权利要求7所述的装置,其特征在于,所述解码模块还包括:
融合权重计算单元,用于在所述确定待融合到所述当前时刻的隐状态的生成过程的融合向量之后,根据所述融合向量和所述前一时刻的隐状态,计算融合权重;
新融合向量获取单元,用于根据所述融合权重和所述融合向量,获取新的融合向量;
相应的,所述隐状态生成单元,还用于根据所述新的融合向量和所述前一时刻的隐状态,生成当前时刻的隐状态。
9.如权利要求7或8所述的装置,其特征在于,所述融合向量确定单元包括:
相关程度计算子单元,用于根据前一时刻的隐状态和各所述关键词的编码向量,计算各所述关键词与所述前一时刻的隐状态的相关程度;
权重值计算子单元,用于对各所述关键词的相关程度进行归一化,得到各所述关键词的权重值;以及
融合向量获取子单元,用于将各所述关键词的编码向量分别与各自的权重值相乘并求和,获得待融合到所述当前时刻的隐状态的生成过程的融合向量。
10.如权利要求8所述的装置,其特征在于,所述融合权重计算单元利用的计算公式,包括:
alpha=sigmoid(w*[kwall,ht]+b)
其中,alpha表示所述融合权重,sigmoid为S型函数,w表示所述解码器已训练好的矩阵参数,kwall表示所述融合向量,ht表示所述前一时刻的隐状态,b表示设定的常数。
11.一种实现对话生成的评分终端设备,其特征在于,所述终端设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811620931.6A CN109597884B (zh) | 2018-12-28 | 2018-12-28 | 对话生成的方法、装置、存储介质和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811620931.6A CN109597884B (zh) | 2018-12-28 | 2018-12-28 | 对话生成的方法、装置、存储介质和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109597884A true CN109597884A (zh) | 2019-04-09 |
CN109597884B CN109597884B (zh) | 2021-07-20 |
Family
ID=65963543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811620931.6A Active CN109597884B (zh) | 2018-12-28 | 2018-12-28 | 对话生成的方法、装置、存储介质和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109597884B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110110330A (zh) * | 2019-04-30 | 2019-08-09 | 腾讯科技(深圳)有限公司 | 基于文本的关键词提取方法和计算机设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126596A (zh) * | 2016-06-20 | 2016-11-16 | 中国科学院自动化研究所 | 一种基于层次化记忆网络的问答方法 |
CN107632987A (zh) * | 2016-07-19 | 2018-01-26 | 腾讯科技(深圳)有限公司 | 一种对话生成方法及装置 |
CN107844469A (zh) * | 2017-10-26 | 2018-03-27 | 北京大学 | 基于词向量查询模型的文本简化方法 |
CN108021705A (zh) * | 2017-12-27 | 2018-05-11 | 中科鼎富(北京)科技发展有限公司 | 一种答案生成方法及装置 |
CN108062388A (zh) * | 2017-12-15 | 2018-05-22 | 北京百度网讯科技有限公司 | 人机对话的回复生成方法和装置 |
CN108681610A (zh) * | 2018-05-28 | 2018-10-19 | 山东大学 | 生成式多轮闲聊对话方法、系统及计算机可读存储介质 |
KR20180119406A (ko) * | 2017-04-25 | 2018-11-02 | 강원대학교산학협력단 | 멀티 태스크 학습 기반 포인터 네트워크를 이용한 한국어 의존 구문 분석 시스템 및 방법 |
CN108763504A (zh) * | 2018-05-30 | 2018-11-06 | 浙江大学 | 一种基于强化双通道序列学习的对话回复生成方法及系统 |
CN109002500A (zh) * | 2018-06-29 | 2018-12-14 | 北京百度网讯科技有限公司 | 对话生成方法、装置、设备及计算机可读介质 |
CN109062937A (zh) * | 2018-06-15 | 2018-12-21 | 北京百度网讯科技有限公司 | 训练描述文本生成模型的方法、生成描述文本的方法及装置 |
CN109063174A (zh) * | 2018-08-21 | 2018-12-21 | 腾讯科技(深圳)有限公司 | 查询答案的生成方法及装置、计算机存储介质、电子设备 |
US20180373704A1 (en) * | 2017-06-21 | 2018-12-27 | Samsung Electronics Co., Ltd. | Method and apparatus for machine translation using neural network and method of training the apparatus |
-
2018
- 2018-12-28 CN CN201811620931.6A patent/CN109597884B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126596A (zh) * | 2016-06-20 | 2016-11-16 | 中国科学院自动化研究所 | 一种基于层次化记忆网络的问答方法 |
CN107632987A (zh) * | 2016-07-19 | 2018-01-26 | 腾讯科技(深圳)有限公司 | 一种对话生成方法及装置 |
KR20180119406A (ko) * | 2017-04-25 | 2018-11-02 | 강원대학교산학협력단 | 멀티 태스크 학습 기반 포인터 네트워크를 이용한 한국어 의존 구문 분석 시스템 및 방법 |
US20180373704A1 (en) * | 2017-06-21 | 2018-12-27 | Samsung Electronics Co., Ltd. | Method and apparatus for machine translation using neural network and method of training the apparatus |
CN107844469A (zh) * | 2017-10-26 | 2018-03-27 | 北京大学 | 基于词向量查询模型的文本简化方法 |
CN108062388A (zh) * | 2017-12-15 | 2018-05-22 | 北京百度网讯科技有限公司 | 人机对话的回复生成方法和装置 |
CN108021705A (zh) * | 2017-12-27 | 2018-05-11 | 中科鼎富(北京)科技发展有限公司 | 一种答案生成方法及装置 |
CN108681610A (zh) * | 2018-05-28 | 2018-10-19 | 山东大学 | 生成式多轮闲聊对话方法、系统及计算机可读存储介质 |
CN108763504A (zh) * | 2018-05-30 | 2018-11-06 | 浙江大学 | 一种基于强化双通道序列学习的对话回复生成方法及系统 |
CN109062937A (zh) * | 2018-06-15 | 2018-12-21 | 北京百度网讯科技有限公司 | 训练描述文本生成模型的方法、生成描述文本的方法及装置 |
CN109002500A (zh) * | 2018-06-29 | 2018-12-14 | 北京百度网讯科技有限公司 | 对话生成方法、装置、设备及计算机可读介质 |
CN109063174A (zh) * | 2018-08-21 | 2018-12-21 | 腾讯科技(深圳)有限公司 | 查询答案的生成方法及装置、计算机存储介质、电子设备 |
Non-Patent Citations (4)
Title |
---|
A-YEONG KIM 等: "An End-to-End Neural Dialog State Tracking for Task-Oriented Dialogs", 《2018 IEEE INTERNATIONAL CONFERENCE ON FUZZY SYSTEMS》 * |
MARJAN GHAZVININEJAD 等: "A Knowledge-Grounded Neural Conversation Model", 《THE THIRTY-SECOND AAAI CONFERENCE》 * |
夏元昉: "基于深度学习的问答系统技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
胡小溪: "基于词频分布的文本隐写技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110110330A (zh) * | 2019-04-30 | 2019-08-09 | 腾讯科技(深圳)有限公司 | 基于文本的关键词提取方法和计算机设备 |
CN110110330B (zh) * | 2019-04-30 | 2023-08-11 | 腾讯科技(深圳)有限公司 | 基于文本的关键词提取方法和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109597884B (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112735373B (zh) | 语音合成方法、装置、设备及存储介质 | |
CN108510976B (zh) | 一种多语言混合语音识别方法 | |
CN109887484A (zh) | 一种基于对偶学习的语音识别与语音合成方法及装置 | |
CN110264991A (zh) | 语音合成模型的训练方法、语音合成方法、装置、设备及存储介质 | |
CN108447486A (zh) | 一种语音翻译方法及装置 | |
CN109977207A (zh) | 对话生成方法、对话生成装置、电子设备及存储介质 | |
CN112233646B (zh) | 基于神经网络的语音克隆方法、系统、设备及存储介质 | |
CN108831439A (zh) | 语音识别方法、装置、设备和系统 | |
CN106971709A (zh) | 统计参数模型建立方法和装置、语音合成方法和装置 | |
CN108899013A (zh) | 语音搜索方法、装置和语音识别系统 | |
CN103971686A (zh) | 自动语音识别方法和系统 | |
CN109815486A (zh) | 自然语言生成方法、装置、设备及可读存储介质 | |
CN111950275B (zh) | 基于循环神经网络的情绪识别方法、装置及存储介质 | |
CN112382287B (zh) | 语音交互方法、装置、电子设备和存储介质 | |
CN108228576A (zh) | 文本翻译方法及装置 | |
CN108920604A (zh) | 语音交互方法及设备 | |
CN113421547A (zh) | 一种语音处理方法及相关设备 | |
CN107122492A (zh) | 基于图片内容的歌词生成方法和装置 | |
CN114882862A (zh) | 一种语音处理方法及相关设备 | |
CN110781329A (zh) | 图像搜索方法、装置、终端设备及存储介质 | |
CN107993651A (zh) | 一种语音识别方法、装置、电子设备及存储介质 | |
CN108170676A (zh) | 故事创作的方法、系统和终端 | |
CN109002500A (zh) | 对话生成方法、装置、设备及计算机可读介质 | |
CN112837669A (zh) | 语音合成方法、装置及服务器 | |
CN111046674A (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 |