CN111382257A - 一种生成对话下文的方法和*** - Google Patents

一种生成对话下文的方法和*** Download PDF

Info

Publication number
CN111382257A
CN111382257A CN202010470216.XA CN202010470216A CN111382257A CN 111382257 A CN111382257 A CN 111382257A CN 202010470216 A CN202010470216 A CN 202010470216A CN 111382257 A CN111382257 A CN 111382257A
Authority
CN
China
Prior art keywords
knowledge
vector
current time
generating
context
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
CN202010470216.XA
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010470216.XA priority Critical patent/CN111382257A/zh
Publication of CN111382257A publication Critical patent/CN111382257A/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
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language 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/044Recurrent networks, e.g. Hopfield 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/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/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (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)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)

Abstract

本说明书实施例公开了一种生成对话下文的方法及***。所述方法包括:获取对话上文,根据所述对话上文获取与所述对话上文相关的至少一个知识文本,并生成所述至少一个知识文本对应的至少一个知识向量k1~km;所述知识文本存储在知识库中;根据至少一个所述知识向量k1~km和当前时刻的解码隐藏状态St,使用第一注意力模型生成当前时刻的知识融合向量
Figure DEST_PATH_IMAGE001
;基于所述当前时刻的知识融合向量
Figure 232616DEST_PATH_IMAGE001
、当前时刻的上下文向量
Figure DEST_PATH_IMAGE002
以及所述当前时刻的解码隐藏状态St,生成当前时刻的对话下文词语yt;y1~yt的对话下文词语组成所述对话下文,所述y1表示t=1时的对话下文词语。

Description

一种生成对话下文的方法和***
技术领域
本说明书涉及自然语言处理(natural language processing,NLP)领域,特别涉及一种生成对话下文的方法和***。
背景技术
近年来,随着人工智能的兴起,人机对话作为人工智能的重要挑战,受到了学术界和工业界的广泛关注。而与任务无关的闲聊式对话,由于能够给用户更加智能和逼真的对话体验,并且能解决用户的情感诉求,逐渐成为人们研究的重点。目前闲聊式对话的生成方式大体可以分为检索式和生成式。
检索式对话,利用信息检索的技术,根据用户的输入从知识库中召回相关候选回复。与检索式不同,生成式不是从语料库中选出历史回复,而是生成全新的回复,因为闲聊对话是开放性的,没有明确的目标和限定的知识范围,因此,如何在生成式对话中流畅的引入外部知识库中的知识,减少“是的”、“我知道了”等安全回复是一大挑战。
因此期待一种生成对话下文的方法,可以在***生成回复的过程中,动态选择知识,使得对话***具有在人机对话过程中自然切换话题的能力。
发明内容
本说明书实施例之一提供一种生成对话下文的方法。所述方法包括:
获取对话上文,根据所述对话上文获取与所述对话上文相关的至少一个知识文本,并生成所述至少一个知识文本对应的至少一个知识向量k1~km;所述知识文本存储在知识库中;根据至少一个所述知识向量k1~km和当前时刻的解码隐藏状态St,使用第一注意力模型生成当前时刻的知识融合向量
Figure 174544DEST_PATH_IMAGE001
;基于所述当前时刻的知识融合向量
Figure 476212DEST_PATH_IMAGE001
、当前时刻的上下文向量
Figure 367945DEST_PATH_IMAGE002
以及所述当前时刻的解码隐藏状态St,生成当前时刻的对话下文词语yt;y1~yt的对话下文词语组成所述对话下文,所述y1表示t=1时的对话下文词语。
本说明书实施例之一提供一种生成对话下文的***,所述***包括:
知识向量生成模块,用于获取对话上文,根据所述对话上文获取与所述对话上文相关的至少一个知识文本,并生成所述至少一个知识文本对应的至少一个知识向量k1~km;所述知识文本存储在知识库中;知识融合向量生成模块,用于根据至少一个所述知识向量k1~km和当前时刻的解码隐藏状态St,使用第一注意力模型生成当前时刻的知识融合向量
Figure 755064DEST_PATH_IMAGE001
;对话下文词语生成模块,用于基于所述当前时刻的知识融合向量
Figure 656024DEST_PATH_IMAGE001
、当前时刻的上下文向量
Figure 77778DEST_PATH_IMAGE002
以及所述当前时刻的解码隐藏状态St,生成当前时刻的对话下文词语yt;对话下文生成模块,用于将y1~yt的对话下文词语组成所述对话下文,所述y1表示t=1时的对话下文词语。
本说明书实施例之一提供一种生成对话下文的装置,所述装置包括:
至少一个处理器以及至少一个存储器;所述至少一个存储器用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令中的至少部分指令以实现生成对话下文的方法。
本说明书实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,所述计算机执行指令中的至少部分指令以实现生成对话下文的方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的生成对话下文的方法的结构化流程图;
图2是根据本说明书一些实施例所示的第一注意力的模型的结构示意图;
图3是根据本说明书一些实施例所示的生成对话下文的应用场景图;
图4是根据本说明书一些实施例所示的一段闲聊机器人和用户之间的示例性对话。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“***”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的***所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本说明书一些实施例所示的生成对话下文的方法的结构化流程图。
步骤110,获取对话上文,根据所述对话上文,使用对话编码器生成编码隐藏状态的序列h1~hn
在一些实施例中,对话上文可以为闲聊对话***中用户的对话语句。闲聊对话***是人机对话(Human-Machine Conversation)***的一种,通过让机器理解和运用自然语言来和用户进行情感交流。与常用的信息查询和获取特定服务类型的人机对话***不同,通过闲聊对话***进行对话是开放性的,即用户的对话语句可以是任何合理的自然语言句子,例如:“我想去爬山”、“你喜欢看电影吗”等。用户对话可以由用户通过人机交互界面输入对话***,包括但不限于以下方式:语音输入、文字输入等。在一些实施例中,为了使用更多的上文信息来生成***对话,对话上文可以包括用户和***在一次交谈过程中的所有历史对话。
在一些实施例中,对话***可以使用基于上下文注意力机制的序列到序列(Sequence to Sequence,Seq2Seq)的网络结构来实现,Seq2Seq由对话编码器和对话解码器组成,对话编码器将一个可变长度的对话上文变为固定长度的向量表达,对话解码器将这个固定长度的向量变成可变长度的对话下文。在一些实施例中,对话编码器可以基于双向长短时记忆(Bi-directional LSTM,Bi-directional Long Short-Term Memory)模型构成。Bi-directional LSTM由两个LSTM模型组成,第一个从左到右处理输入的句子序列,另外一个从右到左处理输入的句子序列,在编码处理的每一时刻将两个LSTM得到的隐藏状态合并起来作为整个模型的隐藏状态输出。因为Bi-directional LSTM进行编码时考虑了整个上下文的信息,因此相对单向的LSTM有更好的编码效果。在一些实施例中,对话编码器也可以基于其他基于序列的模型构造,例如双向gru,不受本说明书的表述所限。
在一些实施例中,通过使用词嵌入模型将对话上文中的所有标记(token)转换为词嵌入向量,然后输入对话编码器,对话编码器输出各个时刻的编码隐藏状态的序列h1~hn。其中,hn包含了对话上文的所有信息。词嵌入模型可以包括但不限于:Word2vec模型、词频-逆向文件频率模型(Term Frequency–Inverse Document Frequency,TF-IDF)或SSWE-C(skip-gram based combined-sentiment word embedding)模型等。
步骤120,获取当前时刻的解码隐藏状态St
在一些实施例中,将步骤110中对话编码器在最后时刻生成的编码隐藏状态hn作为对话编码器和对话解码器之间的初始中间语义向量,即将编码隐藏状态hn作为对话解码器的初始解码隐藏状态S0,在t为1的时刻对话解码器根据初始解码隐藏状态S0,解码生成第一个解码隐藏状态S1
在一些实施例中,因为对话下文的解码过程是单向的,因此对话解码器可以基于单向的LSTM模型构造。在一些实施例中,对话解码器也可以基于其他基于序列的模型构造,不受本说明书的表述所限。
在一些实施例中,在当前时刻(第一个时刻以后的任一时刻t),可以基于前一时刻(t-1时刻)的解码隐藏状态St-1,将当前时刻的解码输入
Figure 156723DEST_PATH_IMAGE003
以及前一时刻的知识融合向量
Figure 765559DEST_PATH_IMAGE004
作为对话解码器的输入,生成当前时刻的解码隐藏状态St,计算公式如下:
Figure 470210DEST_PATH_IMAGE005
(1)
其中,
Figure 480891DEST_PATH_IMAGE004
为前一时刻的知识融合向量,关于知识融合向量
Figure 980006DEST_PATH_IMAGE006
的详情请参见步骤150,
Figure 607296DEST_PATH_IMAGE007
为知识门控,用于确定知识融合向量
Figure 600791DEST_PATH_IMAGE004
在输入中的占比,由以下公式获得:
Figure 465979DEST_PATH_IMAGE008
(2)
其中,
Figure 135995DEST_PATH_IMAGE009
Figure 72420DEST_PATH_IMAGE010
为可学习的参数,通过
Figure 384452DEST_PATH_IMAGE009
Figure 369726DEST_PATH_IMAGE010
Figure 210643DEST_PATH_IMAGE003
Figure 563258DEST_PATH_IMAGE004
组成的拼接矩阵进行线性变换,然后通过sigmoid函数将结果映射到(0,1)的范围内。sigmoid函数也叫Logistic函数,常用于隐藏层神经元输出。
公式(1)中的
Figure 147823DEST_PATH_IMAGE003
由以下公式得到:
Figure 987603DEST_PATH_IMAGE011
(3)
其中,
Figure 999421DEST_PATH_IMAGE012
Figure 823021DEST_PATH_IMAGE013
为可学习的参数,
Figure 680119DEST_PATH_IMAGE014
为上一时刻生成的上下文向量,关于上下文向量
Figure 656296DEST_PATH_IMAGE015
的详情请参见步骤160,e(yt-1)为上一时刻生成的对话词语yt-1的词嵌入向量,
Figure 839016DEST_PATH_IMAGE003
通过参数
Figure 415490DEST_PATH_IMAGE012
Figure 341858DEST_PATH_IMAGE013
对e(yt-1)和
Figure 172542DEST_PATH_IMAGE014
的拼接矩阵作线性变换获得。
由公式(1)~(3)可知,在生成当前时刻解码隐藏状态St的过程中,除了使用前一时刻的上下文向量
Figure 260584DEST_PATH_IMAGE014
和上一时刻生成的对话词语yt-1作为对话解码器的输入(现有的基于上下文注意力机制的解码器的实现方案),同时还加入了上一时刻的知识融合向量
Figure 58775DEST_PATH_IMAGE004
,动态的将外部知识集成到对话解码器生成的当前时刻的解码隐藏状态St中。由步骤150可知,知识融合向量
Figure 788834DEST_PATH_IMAGE006
是使用注意力机制动态生成的,因此对话解码器可以在解码的每一个时刻关注到外部知识中的不同信息。
步骤130,生成词语向量。
在一些实施例中,可以根据对话上文获取与对话上文相关的至少一个知识文本。具体的,通过查询知识库,召回与对话上文相关的至少一个知识文本。
在一些实施例中,知识文本可以是三元体格式的,即文本格式为:主语+谓语+宾语。例如:“张三,身高,226”、“李四,代表作,电视剧a”等。在一些实施例中,知识文本也可以是一段文章或者其他格式的文本,不受本说明书的表述所限。在一些实施例中,知识文本的语言可以为中文、英文或者其他语言,不受本说明书的表述所限。在一些实施例中,可以根据对话上文中的一些关键字或/词来通过检索***查询知识库,召回相关的知识文本,通过排序选出前N个知识文本,N的数值可以通过综合考虑模型的计算工作量以及获取的知识丰富度来选择,例如,N可以为30,或者其他数值。在一些实施例中,知识库中的内容可以来自于开源的数据集,例如Wizard-of-Wikipedia、DuConv等。
在一些实施例中,对于任一个知识文本,可以使用知识编码器对该知识文本中的每个词语进行编码,生成多个词语向量。具体的,可以使用分词模型将知识文本划分为token序列,将获得的token序列输入知识编码器,知识编码器对每一个token进行编码,生成该知识文本对应的词语向量序列
Figure 723292DEST_PATH_IMAGE016
。最终获得m条知识文本对应的m个词语向量的序列Z1~Zm。在一些实施例中,可以使用Transformer的encoder作为知识编码器。Transformer是一种自然语言处理的经典模型,Transformer encoder没有采用RNN模型的顺序结构,而是通过Self-Attention层和feed-forward层并行处理每一个输入的token,各个子层之间使用残差连接,最终将输入的每个token编码为拥有全局信息的词语向量表示。
在一些实施例中,可以使用第三注意力模型将获得的m个词语向量的序列Z1~Zm,组合成m个知识向量k1~km。关于第三注意力模型的详细描述请参见步骤140。在一些实施例中,也可以使用其他方法得到至少一个知识文本对应的至少一个知识向量k1~km,例如可以通过knowledge graph embedding的方式进行编码,不受本说明书的表述所限。
步骤140,生成知识向量。
在一些实施例中,步骤130中获得的知识文本可以有很多个(例如30个),为了将这些文本包含的信息全部用于解码器解码使用,首先需要将每个知识文本使用一个知识向量来表示,然后再将得到的所有知识文本对应的知识向量按照步骤150中所述的方法生成知识融合向量。因此,在一些实施例中,可以根据生成的多个词语向量,使用第三注意力模型生成知识向量。
在一些实施例中,第三注意力模型的输入可以是步骤130中获取的m个词语向量的序列Z1~Zm中的第j个:Zj,Zj包含了
Figure 792355DEST_PATH_IMAGE017
个词语向量:
Figure 77843DEST_PATH_IMAGE018
,输出可以是步骤130中描述的m个知识向量k1~km中的第j个知识向量:kj。第三注意模型的实现如下:
(一)对于多个词语向量
Figure 814854DEST_PATH_IMAGE018
中的每一个,对词语向量
Figure 869398DEST_PATH_IMAGE019
作加权运算,并使用激活函数处理运算结果,生成词语注意力向量wt,计算公式如下:
Figure 581133DEST_PATH_IMAGE020
(4)
其中,Vz和Wz为可学习的参数。在一些实施例中,可以通过训练,使得与对话上文相关程度较高的词语向量
Figure 557180DEST_PATH_IMAGE019
对应的词语注意力向量
Figure 629041DEST_PATH_IMAGE021
也较高。
(二)基于词语注意力向量wt,使用打分函数生成与词语注意力向量对应的多个词语注意力权重
Figure 803670DEST_PATH_IMAGE022
,计算公式如下:
Figure 669995DEST_PATH_IMAGE023
(5)
其中,softmax函数对wt中的各个元素进行归一化,得到值在(0,1)范围内的
Figure 680807DEST_PATH_IMAGE024
。在一些实施例中,可以通过计算余弦相似度来获取词语注意力权重
Figure 290780DEST_PATH_IMAGE024
。在一些实施例中,也可以使用其他方式来计算词语注意力权重
Figure 788758DEST_PATH_IMAGE024
,不受本说明书的表述所限。
(三)分别计算多个词语向量
Figure 357142DEST_PATH_IMAGE018
和多个词语注意力权重
Figure 573360DEST_PATH_IMAGE024
的乘积,并对计算结果做求和运算生成一个知识向量kj,计算公式如下:
Figure 737756DEST_PATH_IMAGE025
(6)
通过使用注意力机制,将多个词语向量
Figure 621399DEST_PATH_IMAGE018
基于重要程度组合为一个知识向量kj,知识向量kj与词语向量
Figure 95105DEST_PATH_IMAGE019
维度相同且包含了词语向量
Figure 64198DEST_PATH_IMAGE018
的所有信息,便于后续计算。
步骤150,生成当前时刻的知识融合向量
Figure 484815DEST_PATH_IMAGE001
在一些实施例中,可以根据至少一个知识向量k1~km和当前时刻的解码隐藏状态St,使用第一注意力模型生成当前时刻的知识融合向量
Figure 236346DEST_PATH_IMAGE001
在一些实施例中,如图2所示,第一注意力模型的输入可以是至少一个知识向量k1~km和当前时刻的解码隐藏状态St,输出可以是当前时刻的知识融合向量
Figure 615375DEST_PATH_IMAGE001
。关于知识向量k1~km的详情请参见步骤130。关于当前时刻的解码隐藏状态St的详情请参见步骤120,对话解码器在解码的每一个时刻都会按照步骤120中所述的方法生成一个解码隐藏状态,因此在当前时刻t之前已经生成了t-1个解码隐藏状态:S1~St-1。第一注意力模型的实现如下:
(一)对于知识向量k1~km中的每一个,第一注意力模型对该知识向量和当前时刻的解码隐藏状态St作加权求和运算,并使用激活函数处理运算结果,生成知识注意力向量
Figure 71764DEST_PATH_IMAGE026
,计算公式如下:
Figure 827230DEST_PATH_IMAGE027
(7)
其中
Figure 436197DEST_PATH_IMAGE028
为可学习的参数,获得的
Figure 251707DEST_PATH_IMAGE026
为m个实数组成的向量,表示知识向量k1~km分别与当前时刻的解码隐藏状态St的相关度。在一些实施例中,通过训练参数
Figure 195392DEST_PATH_IMAGE028
,使得对于与当前时刻的解码隐藏状态St相关度较高的知识向量ki,计算得到的
Figure 957812DEST_PATH_IMAGE029
也越高。
(二)基于知识注意力向量
Figure 952444DEST_PATH_IMAGE026
,使用打分函数生成与知识向量k1~km对应的知识注意力权重
Figure 938854DEST_PATH_IMAGE030
,计算公式如下:
Figure 838677DEST_PATH_IMAGE031
(8)
其中,softmax函数对
Figure 935946DEST_PATH_IMAGE026
中的各个元素进行归一化,得到值在(0,1)范围内的
Figure 503194DEST_PATH_IMAGE030
。在一些实施例中,可以通过计算余弦相似度来获取知识注意力权重
Figure 411238DEST_PATH_IMAGE030
。在一些实施例中,也可以使用其他方式来计算知识注意力权重
Figure 329515DEST_PATH_IMAGE030
,不受本说明书的表述所限。
(三)分别计算知识向量k1~km和知识注意力权重
Figure 433738DEST_PATH_IMAGE030
的乘积,并对计算结果作求和运算生成当前时刻的知识融合向量
Figure 121071DEST_PATH_IMAGE001
,计算公式如下:
Figure 449284DEST_PATH_IMAGE032
(9)
在本说明书所述的实施例中,通过在解码过程中引入知识融合向量
Figure 337081DEST_PATH_IMAGE006
,可以使得对话解码器在解码的各个时刻都可以获得知识向量k1~km中的所有信息,避免了在解码过程中丢失部分知识信息。并且通过使用当前解码隐藏状态St计算出的知识注意力权重dt,可以在不同时刻给予知识向量k1~km不同的注意力。例如:在当前时刻,如果知识向量k2包含的知识信息与当前解码隐藏状态St相关度较高,那么与k2对应的知识注意力权重d2也会较高,在下一个时刻,如果知识向量k3包含的知识信息与下一时刻的解码隐藏状态St+1相关度较高,那么与k3对应的知识注意力权重d3也会较高。可以使得对话解码器在解码的不同时刻可以关注到外部知识中的不同信息,例如:上述示例中当前时刻,解码器可以关注到知识向量k1~km中的k2,在下一个时刻,解码器可以关注到知识向量k1~km中的k3
步骤160,生成当前时刻的上下文向量
Figure 41732DEST_PATH_IMAGE002
在步骤120中,保存了对话上文的语义信息的编码隐藏状态hn,被作为对话编码器和对话解码器之间的初始的中间语义向量C。因为这个向量长度是固定的,当对话上文的长度比较长时,该中间语义向量C无法保存全部的语义信息,从而会限制对话解码器的理解能力。因此,在一些实施例中,使用动态注意力机制来生成当前时刻的上下文向量
Figure 52413DEST_PATH_IMAGE002
,作为对话编码器和对话解码器之间的当前时刻的中间语义向量。在一些实施例中,可以根据编码隐藏状态的序列h1~hn和当前时刻的解码隐藏状态St,使用第二注意力模型生成当前时刻的上下文向量
Figure 551528DEST_PATH_IMAGE002
在一些实施例中,第二注意力模型的输入可以是当前时刻的解码隐藏状态St和编码隐藏状态的序列h1~hn,输出可以是当前时刻的上下文向量
Figure 178818DEST_PATH_IMAGE002
。第二注意模型的实现如下:
(一)对于编码隐藏状态的序列h1~hn中的每一个,对该编码隐藏状态和当前时刻的解码隐藏状态St作加权求和运算,并使用激活函数处理运算结果,生成上下文注意力向量
Figure 906734DEST_PATH_IMAGE033
,计算公式如下:
Figure 37501DEST_PATH_IMAGE034
(10)
其中,
Figure 707517DEST_PATH_IMAGE035
为可学习的参数。获得的
Figure 822103DEST_PATH_IMAGE033
为n个实数组成的向量,表示编码隐藏状态的序列h1~hn分别与当前时刻的解码隐藏状态St的相关度,相关度高的编码隐藏状态hi对应的
Figure 602977DEST_PATH_IMAGE036
就越高。
(二)基于上下文注意力向量
Figure 588251DEST_PATH_IMAGE033
,使用打分函数生成与编码隐藏状态的序列h1~hn对应的上下文注意力权重
Figure 179900DEST_PATH_IMAGE037
,计算公式如下:
Figure 781783DEST_PATH_IMAGE038
(11)
其中,softmax函数对
Figure 835190DEST_PATH_IMAGE033
中的各个元素进行归一化,得到值在(0,1)范围内的
Figure 206128DEST_PATH_IMAGE037
。在一些实施例中,可以通过计算余弦相似度来获取上下文注意力权重
Figure 217946DEST_PATH_IMAGE037
。在一些实施例中,也可以使用其他方式来计算上下文注意力权重
Figure 792278DEST_PATH_IMAGE037
,不受本说明书的表述所限。
(三)分别计算编码隐藏状态的序列h1~hn和多个上下文注意力权重
Figure 180534DEST_PATH_IMAGE037
的乘积,并对计算结果作求和运算生成当前时刻的上下文向量
Figure 874821DEST_PATH_IMAGE002
,计算公式如下:
Figure 57541DEST_PATH_IMAGE039
(12)
通过使用
Figure 634015DEST_PATH_IMAGE002
可以使得对话解码器在解码的各个时刻都可以获得编码隐藏状态的序列h1~hn中的所有信息。同时,通过使用当前解码隐藏状态St计算出的上下文注意力权重
Figure 319905DEST_PATH_IMAGE040
,在不同时刻给予编码隐藏状态的序列h1~hn不同的注意力,从而使得对话解码器在解码的各个时刻可以关注到对话上文中的不同信息。例如:对话编码器根据对话上文:“Tom chaseJerry”生成编码隐藏状态的序列h1~h3,在对话解码器进行解码的t=1时刻,通过上下文注意力权重
Figure 399856DEST_PATH_IMAGE041
给予h1最高的注意力,因此对话解码器可以在
Figure 487898DEST_PATH_IMAGE042
中关注到与h1对应的对话上文中的单词“Tom”的信息,以此类推,在对话解码器进行解码的t=2时刻,对话解码器可以在
Figure 286089DEST_PATH_IMAGE043
中关注到与h2对应的对话上文中的词语“chase”的信息,在对话解码器进行解码的t=3时刻,对话解码器可以在
Figure 750569DEST_PATH_IMAGE044
中关注到与h3对应的对话上文中的词语“Jerry”的信息。如果没有在不同时刻给予编码隐藏状态的序列h1~hn不同的注意力,那么在对话解码器解码的任何时刻,对话解码器可以关注到的信息都是一样的。
步骤170,生成下文词语。
在一些实施例中,可以基于当前时刻的知识融合向量
Figure 701338DEST_PATH_IMAGE001
、当前时刻的上下文向量
Figure 491440DEST_PATH_IMAGE002
以及当前时刻的解码隐藏状态St,生成当前时刻的对话下文词语yt。具体的,生成当前时刻的上下文向量
Figure 980190DEST_PATH_IMAGE002
、当前时刻的解码隐藏状态St以及当前时刻的知识融合向量
Figure 513940DEST_PATH_IMAGE001
的拼接矩阵,将该拼接矩阵输入词选择模型,使用词选择模型预测当前时刻的对话下文词语yt,计算公式如下:
Figure 568483DEST_PATH_IMAGE045
(13)
其中,V1、V2、b1和b2为可学习的参数,在公式(13)中,St
Figure 14639DEST_PATH_IMAGE002
Figure 256265DEST_PATH_IMAGE001
组成的拼接矩阵[St,
Figure 328126DEST_PATH_IMAGE002
,
Figure 237176DEST_PATH_IMAGE001
]与上述参数进行了两次线性变换:1、[St,
Figure 369080DEST_PATH_IMAGE002
,
Figure 114313DEST_PATH_IMAGE001
]与V1进行点乘运算,得到的向量再与偏置向量b1作加法运算。2、线性变换1得到的运算结果与V2作点乘运算,得到的向量再与偏置向量b2作加法运算最终得到M个实数组成的向量。M为对话***使用的词汇表的大小,M个实数分别表示预测的对话下文词语与词汇表中M个词语的相似度。然后由softmax函数对该向量做归一化处理,得到M个分数(0~1范围内)表示的概率,选取最高概率对应的提取词汇表中的词语作为当前时刻的对话下文词语yt。
在一些实施例中,y1~yt的对话下文词语组成对话下文,y1表示t=1时的对话下文词语。本说明书中所述的实施例,在基于现有的基于上下文注意力机制的Seq2Seq网络结构的基础上,通过添加知识融合向量
Figure 989866DEST_PATH_IMAGE001
实现了外部知识与对话解码器的动态交互,使得对话解码器可以在解码过程中动态的引入外部知识,从而对话***可以自然流畅的切换新话题。下面以图4所示的一段人机对话和知识文本集合为例说明:
图4中所示的历史对话,A为闲聊机器人的对话,B为用户的对话,已经进行了的对话为:“A:给你推荐一部口碑不错的爱情电影吧。”,...,“A:嗯嗯,电影a这部电影的导演F可真棒,把这部电影拍的出神入化。”,“B:这个导演的名字好耳熟啊!”。在对话的起始时刻,闲聊机器人从知识库召回图4中所示的知识文本集合:“F,祖籍,美国”,“F,性别,男”,“F,代表作,电影b”,“F,职业,导演”,“F,出生日期,1925年5月12日”,“电影a,导演,F”,“电影a,口碑,口碑不错的爱情电影”,“电影a,获奖,美国金球奖提名-电视类-最佳迷你剧”,共计8个知识文本,关于知识文本的相关描述请参见步骤130。然后可以根据本说明书中步骤130和140所述的方法生成上述8个知识文本对应的知识向量k1~k8。在图4中所示的已生成的对话中,已经集成了知识文本:“电影a,口碑,口碑不错的爱情电影”,“电影a,导演,F”。图4中最后一个对话上文“B:这个导演的名字好耳熟啊!”,将对话聚焦到导演-F,对话解码器根据该对话上文生成的中间语义向量生成t=1时刻的解码隐藏状态S1(详见步骤120),然后如步骤150中所述,使用动态注意力机制基于知识向量k1~k8和解码状态S1生成知识融合向量
Figure 19001DEST_PATH_IMAGE046
,其中,因为对话上文的缘故,在生成知识融合向量
Figure 56228DEST_PATH_IMAGE046
的过程中,会给予知识文本“F,出生日期,1925年5月12日”和“F,代表作,电影b”对应的知识向量较高的注意力,其中,“F,出生日期,1925年5月12日”与对话上文的匹配度相对更高,因此给予对应知识向量的注意力最高。接着按照步骤170所述,将知识融合向量
Figure 551406DEST_PATH_IMAGE046
作为词选择模型的输入之一,词选择模型可以在生成下文词语的过程中提取到当前关注度最高的知识信息:“F,出生日期,1925年5月12日”。在t=2的时刻,知识融合向量
Figure 496229DEST_PATH_IMAGE046
又会作为对话解码器的输入之一,因此对话解码器生成的t=2时刻的解码隐藏状态S2中会包含最新关注的知识信息:“F,出生日期,1925年5月12日”。以此类推,通过以上描述的知识融合向量
Figure 661762DEST_PATH_IMAGE001
与对话解码器之间的重复交互过程可以将知识文本“F,出生日期,1925年5月12日”和“F,代表作,电影b”连贯地整合到对话下文中,最终生成对话下文“他是1925年5月12日出生的,他还有一部代表作叫电影b”。
在一些实施例中,可以获取由对话上文、至少一个知识文本以及对话下文组成的训练集,使用反向传播算法,训练对话编码器、对话解码器、知识编码器、第一注意力模型、第二注意力模型、第三注意力模型以及softmax函数组成的对话***。具体的,可以将对话上文和至少一个知识文本作为对话***的输入,将对话下文作为标签,使用端对端的训练方式进行模型训练,得到训练好的对话***。
应当注意的是,上述有关流程100的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程100进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,步骤130和步骤140可以合并为一个步骤,在同一个步骤中生成知识文本对应的词语向量,并基于词语向量生成知识向量。
图3是根据本说明书一些实施例所示的生成对话下文的应用场景图。
如图3所示,在聊天机器人和用户闲聊的过程中,有一段对话:“给你推荐一部电视剧吧。”,“好呀,你推荐吧”。聊天机器人使用本说明书所述的方法,生成对话下文,与用户进行流畅的交谈:“叫电视剧a,是张三主演的。”,“我很喜欢张三哦。”,...。详细生成对话下文的方法请参见图1,这里不再赘述。
本说明书所述的方法还可以应用于其他应用场景,不受本说明书的表述所限。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“***”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行***、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的***组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的***。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (24)

1.一种生成对话下文的方法,所述方法包括:
获取对话上文,根据所述对话上文获取与所述对话上文相关的至少一个知识文本,并生成所述至少一个知识文本对应的至少一个知识向量k1~km;所述知识文本存储在知识库中;
根据至少一个所述知识向量k1~km和当前时刻的解码隐藏状态St,使用第一注意力模型生成当前时刻的知识融合向量
Figure 765214DEST_PATH_IMAGE001
基于所述当前时刻的知识融合向量
Figure 485040DEST_PATH_IMAGE001
、当前时刻的上下文向量
Figure 702394DEST_PATH_IMAGE002
以及所述当前时刻的解码隐藏状态St,生成当前时刻的对话下文词语yt
y1~yt的对话下文词语组成所述对话下文,所述y1表示t=1时的对话下文词语。
2.根据权利要求1所述的方法,其中,所述当前时刻的上下文向量
Figure 440543DEST_PATH_IMAGE002
依照以下方式生成:
根据所述对话上文,使用对话编码器生成编码隐藏状态的序列h1~hn
获取当前时刻的解码隐藏状态St
根据所述编码隐藏状态的序列h1~hn和所述当前时刻的解码隐藏状态St,使用第二注意力模型生成当前时刻的上下文向量
Figure 85151DEST_PATH_IMAGE002
3.根据权利要求2所述的方法,其中,所述生成所述至少一个知识文本对应的至少一个知识向量k1~km包括:
对于任一个所述知识文本,使用知识编码器对所述知识文本中的每个词语进行编码,并根据生成的多个词语向量,使用第三注意力模型生成所述知识向量。
4.根据权利要求3所述的方法,其中,所述根据生成的多个词语向量,使用第三注意力模型生成所述知识向量包括:
对于多个所述词语向量中的每一个,对所述词语向量作加权运算,并使用激活函数处理运算结果,生成词语注意力向量;
基于所述词语注意力向量,使用打分函数生成与多个所述词语向量对应的多个词语注意力权重;
基于多个所述词语向量和多个所述词语注意力权重生成所述知识向量。
5.根据权利要求4所述的方法,其中,所述根据至少一个所述知识向量k1~km和当前时刻的解码隐藏状态St,使用第一注意力模型生成当前时刻的知识融合向量
Figure 292273DEST_PATH_IMAGE001
包括:
对于至少一个所述知识向量k1~km中的每一个,对所述知识向量和所述当前时刻的解码隐藏状态St作加权求和运算,并使用激活函数处理运算结果,生成知识注意力向量;
基于所述知识注意力向量,使用打分函数生成与至少一个所述知识向量对应的至少一个知识注意力权重;
基于至少一个所述知识向量和至少一个所述知识注意力权重生成所述当前时刻的知识融合向量
Figure 516581DEST_PATH_IMAGE001
6.根据权利要求5所述的方法,其中,所述获取当前时刻的解码隐藏状态St包括:
在当前时刻,基于前一时刻的解码隐藏状态St-1,将当前时刻的解码输入
Figure 374815DEST_PATH_IMAGE003
以及前一时刻的知识融合向量
Figure 190324DEST_PATH_IMAGE004
作为对话解码器的输入,生成当前时刻的解码隐藏状态St;其中,通过知识门控
Figure 868430DEST_PATH_IMAGE005
来确定所述当前时刻的解码输入
Figure 896429DEST_PATH_IMAGE003
和所述前一时刻的知识融合向量
Figure 368692DEST_PATH_IMAGE004
的占比;
所述当前时刻的解码输入
Figure 355102DEST_PATH_IMAGE003
由前一时刻生成的所述对话下文词语yt-1的词嵌入表示e(yt-1)和前一时刻的上下文向量
Figure 786084DEST_PATH_IMAGE006
组合生成。
7.根据权利要求6所述的方法,其中,所述根据所述编码隐藏状态的序列h1~hn和所述当前时刻的解码隐藏状态St,使用第二注意力模型生成当前时刻的上下文向量
Figure 352194DEST_PATH_IMAGE002
包括:
对于所述编码隐藏状态的序列h1~hn中的每一个,对所述编码隐藏状态和所述当前时刻的解码隐藏状态St作加权求和运算,并使用激活函数处理运算结果,生成上下文注意力向量;
基于所述上下文注意力向量,使用打分函数生成与所述编码隐藏状态h1~hn对应的多个上下文注意力权重;
基于所述编码隐藏状态h1~hn和多个所述上下文注意力权重生成所述当前时刻的上下文向量
Figure 919442DEST_PATH_IMAGE002
8.根据权利要求7所述的方法,其中,所述基于所述当前时刻的知识融合向量
Figure 827486DEST_PATH_IMAGE001
、当前时刻的上下文向量
Figure 480184DEST_PATH_IMAGE002
以及所述当前时刻的解码隐藏状态St,生成当前时刻的对话下文词语yt包括:
生成所述当前时刻的上下文向量
Figure 381144DEST_PATH_IMAGE002
、所述当前时刻的解码隐藏状态St以及所述当前时刻的知识融合向量
Figure 68478DEST_PATH_IMAGE001
的拼接向量,基于所述拼接向量使用softmax函数预测当前时刻的所述对话下文词语yt
9.根据权利要求8所述的方法,其中,所述根据所述对话上文获取至少一个知识文本包括:
查询所述知识库,召回与所述对话上文相关的所述至少一个知识文本。
10.根据权利要求9所述的方法,其中,所述知识编码器为Transformer编码器。
11.根据权利要求10所述的方法,其中,所述方法还包括:
获取由所述对话上文、所述至少一个知识文本以及所述对话下文组成的训练集,使用反向传播算法,训练所述对话编码器、所述对话解码器、所述知识编码器、所述第一注意力模型、所述第二注意力模型、所述第三注意力模型以及所述softmax函数组成的对话***。
12.一种生成对话下文的***,所述***包括:
知识向量生成模块,用于获取对话上文,根据所述对话上文获取与所述对话上文相关的至少一个知识文本,并生成所述至少一个知识文本对应的至少一个知识向量k1~km;所述知识文本存储在知识库中;
知识融合向量生成模块,用于根据至少一个所述知识向量k1~km和当前时刻的解码隐藏状态St,使用第一注意力模型生成当前时刻的知识融合向量
Figure 147423DEST_PATH_IMAGE001
对话下文词语生成模块,用于基于所述当前时刻的知识融合向量
Figure 287417DEST_PATH_IMAGE001
、当前时刻的上下文向量
Figure 195331DEST_PATH_IMAGE002
以及所述当前时刻的解码隐藏状态St,生成当前时刻的对话下文词语yt
对话下文生成模块,用于将y1~yt的对话下文词语组成所述对话下文,所述y1表示t=1时的对话下文词语。
13.根据权利要求12所述的***,其中,还包括:
编码模块,用于根据所述对话上文,使用对话编码器生成编码隐藏状态的序列h1~hn
解码模块,用于获取当前时刻的解码隐藏状态St
上下文向量生成模块,用于根据所述编码隐藏状态的序列h1~hn和所述当前时刻的解码隐藏状态St,使用第二注意力模型生成当前时刻的上下文向量
Figure 737170DEST_PATH_IMAGE002
14.根据权利要求13所述的***,其中,所述生成所述至少一个知识文本对应的至少一个知识向量k1~km包括:
对于任一个所述知识文本,使用知识编码器对所述知识文本中的每个词语进行编码,并根据生成的多个词语向量,使用第三注意力模型生成所述知识向量。
15.根据权利要求14所述的***,其中,所述根据生成的多个词语向量,使用第三注意力模型生成所述知识向量包括:
对于多个所述词语向量中的每一个,对所述词语向量作加权运算,并使用激活函数处理运算结果,生成词语注意力向量;
基于所述词语注意力向量,使用打分函数生成与多个所述词语向量对应的多个词语注意力权重;
基于多个所述词语向量和多个所述词语注意力权重生成所述知识向量。
16.根据权利要求15所述的***,其中,所述根据至少一个所述知识向量k1~km和当前时刻的解码隐藏状态St,使用第一注意力模型生成当前时刻的知识融合向量
Figure 236285DEST_PATH_IMAGE001
包括:
对于至少一个所述知识向量k1~km中的每一个,对所述知识向量和所述当前时刻的解码隐藏状态St作加权求和运算,并使用激活函数处理运算结果,生成知识注意力向量;
基于所述知识注意力向量,使用打分函数生成与至少一个所述知识向量对应的至少一个知识注意力权重;
基于至少一个所述知识向量和至少一个所述知识注意力权重生成所述当前时刻的知识融合向量
Figure 614308DEST_PATH_IMAGE001
17.根据权利要求16所述的***,其中,所述获取当前时刻的解码隐藏状态St包括:
在当前时刻,基于前一时刻的解码隐藏状态St-1,将当前时刻的解码输入
Figure 325912DEST_PATH_IMAGE003
以及前一时刻的知识融合向量
Figure 987837DEST_PATH_IMAGE004
作为对话解码器的输入,生成当前时刻的解码隐藏状态St;其中,通过知识门控
Figure 657853DEST_PATH_IMAGE005
来确定所述当前时刻的解码输入
Figure 975702DEST_PATH_IMAGE003
和所述前一时刻的知识融合向量
Figure 22155DEST_PATH_IMAGE004
的占比;
所述当前时刻的解码输入
Figure 286390DEST_PATH_IMAGE003
由前一时刻生成的所述对话下文词语yt-1的词嵌入表示e(yt-1)和前一时刻的上下文向量
Figure 127307DEST_PATH_IMAGE006
组合生成。
18.根据权利要求17所述的***,其中,所述根据所述编码隐藏状态的序列h1~hn和所述当前时刻的解码隐藏状态St,使用第二注意力模型生成当前时刻的上下文向量
Figure 463610DEST_PATH_IMAGE002
包括:
对于所述编码隐藏状态的序列h1~hn中的每一个,对所述编码隐藏状态和所述当前时刻的解码隐藏状态St作加权求和运算,并使用激活函数处理运算结果,生成上下文注意力向量;
基于所述上下文注意力向量,使用打分函数生成与所述编码隐藏状态h1~hn对应的多个上下文注意力权重;
基于所述编码隐藏状态h1~hn和多个所述上下文注意力权重生成所述当前时刻的上下文向量
Figure 517017DEST_PATH_IMAGE002
19.根据权利要求18所述的***,其中,所述基于所述当前时刻的知识融合向量
Figure 887956DEST_PATH_IMAGE001
、所述当前时刻的上下文向量
Figure 650506DEST_PATH_IMAGE002
以及所述当前时刻的解码隐藏状态St,生成当前时刻的对话下文词语yt包括:
生成所述当前时刻的上下文向量
Figure 739685DEST_PATH_IMAGE002
、所述当前时刻的解码隐藏状态St以及所述当前时刻的知识融合向量
Figure 331203DEST_PATH_IMAGE001
的拼接向量,基于所述拼接向量使用softmax函数预测当前时刻的所述对话下文词语yt
20.根据权利要求19所述的***,其中,所述根据所述对话上文获取至少一个知识文本包括:
查询所述知识库,召回与所述对话上文相关的所述至少一个知识文本。
21.根据权利要求20所述的***,其中,所述知识编码器为Transformer编码器。
22.根据权利要求21所述的***,其中,所述***还包括:
训练模块,用于获取由所述对话上文、所述至少一个知识文本以及所述对话下文组成的训练集,使用反向传播算法,训练所述对话编码器、所述对话解码器、所述知识编码器、所述第一注意力模型、所述第二注意力模型、所述第三注意力模型以及所述softmax函数组成的对话***。
23.一种生成对话下文的装置,其中,所述装置包括至少一个处理器以及至少一个存储器;
所述至少一个存储器用于存储计算机指令;
所述至少一个处理器用于执行所述计算机指令中的至少部分指令以实现如权利要求1~11中任一项所述的方法。
24.一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行如权利要求1~11中任一项所述的方法。
CN202010470216.XA 2020-05-28 2020-05-28 一种生成对话下文的方法和*** Pending CN111382257A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010470216.XA CN111382257A (zh) 2020-05-28 2020-05-28 一种生成对话下文的方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010470216.XA CN111382257A (zh) 2020-05-28 2020-05-28 一种生成对话下文的方法和***

Publications (1)

Publication Number Publication Date
CN111382257A true CN111382257A (zh) 2020-07-07

Family

ID=71217697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010470216.XA Pending CN111382257A (zh) 2020-05-28 2020-05-28 一种生成对话下文的方法和***

Country Status (1)

Country Link
CN (1) CN111382257A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084314A (zh) * 2020-08-20 2020-12-15 电子科技大学 一种引入知识的生成式会话***
CN112214591A (zh) * 2020-10-29 2021-01-12 腾讯科技(深圳)有限公司 一种对话预测的方法及装置
CN112328756A (zh) * 2020-10-13 2021-02-05 山东师范大学 基于上下文的对话生成方法及***
CN113032545A (zh) * 2021-05-29 2021-06-25 成都晓多科技有限公司 基于无监督对话预训练的对话理解与答案配置方法及***
CN113919293A (zh) * 2021-09-29 2022-01-11 北京搜狗科技发展有限公司 一种公式识别模型的训练方法及装置
CN114942986A (zh) * 2022-06-21 2022-08-26 平安科技(深圳)有限公司 文本生成方法、装置、计算机设备及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399460A (zh) * 2019-07-19 2019-11-01 腾讯科技(深圳)有限公司 对话处理方法、装置、设备及存储介质
CN110851575A (zh) * 2019-09-23 2020-02-28 上海深芯智能科技有限公司 一种对话生成***及对话实现方法
CN110858215A (zh) * 2018-08-23 2020-03-03 广东工业大学 一种基于深度学习的端到端目标引导型对话方法
CN111125333A (zh) * 2019-06-06 2020-05-08 北京理工大学 一种基于表示学习与多层覆盖机制的生成式知识问答方法
CN111159368A (zh) * 2019-12-12 2020-05-15 华南理工大学 一种个性化对话的回复生成方法
CN111159467A (zh) * 2019-12-31 2020-05-15 青岛海信智慧家居***股份有限公司 一种处理信息交互的方法及设备
CN111191015A (zh) * 2019-12-27 2020-05-22 上海大学 一种神经网络电影知识智能对话方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110858215A (zh) * 2018-08-23 2020-03-03 广东工业大学 一种基于深度学习的端到端目标引导型对话方法
CN111125333A (zh) * 2019-06-06 2020-05-08 北京理工大学 一种基于表示学习与多层覆盖机制的生成式知识问答方法
CN110399460A (zh) * 2019-07-19 2019-11-01 腾讯科技(深圳)有限公司 对话处理方法、装置、设备及存储介质
CN110851575A (zh) * 2019-09-23 2020-02-28 上海深芯智能科技有限公司 一种对话生成***及对话实现方法
CN111159368A (zh) * 2019-12-12 2020-05-15 华南理工大学 一种个性化对话的回复生成方法
CN111191015A (zh) * 2019-12-27 2020-05-22 上海大学 一种神经网络电影知识智能对话方法
CN111159467A (zh) * 2019-12-31 2020-05-15 青岛海信智慧家居***股份有限公司 一种处理信息交互的方法及设备

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
HAO ZHOU等: "Commonsense Knowledge Aware Conversation Generation with Graph Attention", 《INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE 2018》 *
JANE: "对话清华大学周昊,详解IJCAI杰出论文及其背后的故事", 《HTTPS://JUEJIN.IM/POST/5B6A9E085188251A8D37136D》 *
PETAR VELICKOVIC等: "GRAPH ATTENTION NETWORKS", 《PUBLISHED AS A CONFERENCE PAPER AT ICLR 2018》 *
学习ML的皮皮虾: "基于常识知识图谱的对话模型【阅读笔记】", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/50502922》 *
李少博等: "基于知识拷贝机制的生成式对话模型", 《第十八届全国计算语言学学术会议THE 18TH CHINESE NATIONAL CONFERENCE ON COMPUTATIONAL LINGUISTICS (CCL 2019)》 *
陈晨等: "基于深度学习的开放领域对话***研究综述", 《计算机学报》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084314A (zh) * 2020-08-20 2020-12-15 电子科技大学 一种引入知识的生成式会话***
CN112084314B (zh) * 2020-08-20 2023-02-21 电子科技大学 一种引入知识的生成式会话***
CN112328756A (zh) * 2020-10-13 2021-02-05 山东师范大学 基于上下文的对话生成方法及***
CN112214591A (zh) * 2020-10-29 2021-01-12 腾讯科技(深圳)有限公司 一种对话预测的方法及装置
CN112214591B (zh) * 2020-10-29 2023-11-07 腾讯科技(深圳)有限公司 一种对话预测的方法及装置
CN113032545A (zh) * 2021-05-29 2021-06-25 成都晓多科技有限公司 基于无监督对话预训练的对话理解与答案配置方法及***
CN113919293A (zh) * 2021-09-29 2022-01-11 北京搜狗科技发展有限公司 一种公式识别模型的训练方法及装置
CN114942986A (zh) * 2022-06-21 2022-08-26 平安科技(深圳)有限公司 文本生成方法、装置、计算机设备及计算机可读存储介质
CN114942986B (zh) * 2022-06-21 2024-03-19 平安科技(深圳)有限公司 文本生成方法、装置、计算机设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US11423233B2 (en) On-device projection neural networks for natural language understanding
CN110782870B (zh) 语音合成方法、装置、电子设备及存储介质
Kamath et al. Deep learning for NLP and speech recognition
CN111382257A (zh) 一种生成对话下文的方法和***
CN110326002B (zh) 使用在线注意的序列处理
CN111312245B (zh) 一种语音应答方法、装置和存储介质
CN109508377A (zh) 基于融合模型的文本特征提取方法、装置、聊天机器人和存储介质
CN112214591B (zh) 一种对话预测的方法及装置
Deng et al. Foundations and trends in signal processing: Deep learning–methods and applications
JP7229345B2 (ja) 文処理方法、文復号方法、装置、プログラム及び機器
US11961515B2 (en) Contrastive Siamese network for semi-supervised speech recognition
US11132994B1 (en) Multi-domain dialog state tracking
WO2023231513A1 (zh) 对话内容的生成方法及装置、存储介质、终端
CN109637527A (zh) 对话语句的语义解析方法及***
Mathur et al. A scaled‐down neural conversational model for chatbots
Pieraccini AI assistants
Hsueh et al. A Task-oriented Chatbot Based on LSTM and Reinforcement Learning
CN116611459B (zh) 翻译模型的训练方法、装置、电子设备及存储介质
CN117875395A (zh) 多模态预训练模型的训练方法、装置及存储介质
CN114373443A (zh) 语音合成方法和装置、计算设备、存储介质及程序产品
CN112150103B (zh) 一种日程设置方法、装置和存储介质
CN117980915A (zh) 用于端到端自监督预训练的对比学习和掩蔽建模
CN115204181A (zh) 文本检测方法、装置、电子设备以及计算机可读存储介质
KR20230146398A (ko) 바트 모델을 활용한 시퀀셜 텍스트 요약 처리 장치 및 그 제어방법
CN117521674B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200707