CN111382257A - 一种生成对话下文的方法和*** - Google Patents
一种生成对话下文的方法和*** Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
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
Description
技术领域
本说明书涉及自然语言处理(natural language processing,NLP)领域,特别涉及一种生成对话下文的方法和***。
背景技术
近年来,随着人工智能的兴起,人机对话作为人工智能的重要挑战,受到了学术界和工业界的广泛关注。而与任务无关的闲聊式对话,由于能够给用户更加智能和逼真的对话体验,并且能解决用户的情感诉求,逐渐成为人们研究的重点。目前闲聊式对话的生成方式大体可以分为检索式和生成式。
检索式对话,利用信息检索的技术,根据用户的输入从知识库中召回相关候选回复。与检索式不同,生成式不是从语料库中选出历史回复,而是生成全新的回复,因为闲聊对话是开放性的,没有明确的目标和限定的知识范围,因此,如何在生成式对话中流畅的引入外部知识库中的知识,减少“是的”、“我知道了”等安全回复是一大挑战。
因此期待一种生成对话下文的方法,可以在***生成回复的过程中,动态选择知识,使得对话***具有在人机对话过程中自然切换话题的能力。
发明内容
本说明书实施例之一提供一种生成对话下文的方法。所述方法包括:
获取对话上文,根据所述对话上文获取与所述对话上文相关的至少一个知识文本,并生成所述至少一个知识文本对应的至少一个知识向量k1~km;所述知识文本存储在知识库中;根据至少一个所述知识向量k1~km和当前时刻的解码隐藏状态St,使用第一注意力模型生成当前时刻的知识融合向量;基于所述当前时刻的知识融合向量、当前时刻的上下文向量以及所述当前时刻的解码隐藏状态St,生成当前时刻的对话下文词语yt;y1~yt的对话下文词语组成所述对话下文,所述y1表示t=1时的对话下文词语。
本说明书实施例之一提供一种生成对话下文的***,所述***包括:
知识向量生成模块,用于获取对话上文,根据所述对话上文获取与所述对话上文相关的至少一个知识文本,并生成所述至少一个知识文本对应的至少一个知识向量k1~km;所述知识文本存储在知识库中;知识融合向量生成模块,用于根据至少一个所述知识向量k1~km和当前时刻的解码隐藏状态St,使用第一注意力模型生成当前时刻的知识融合向量;对话下文词语生成模块,用于基于所述当前时刻的知识融合向量、当前时刻的上下文向量以及所述当前时刻的解码隐藏状态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,将当前时刻的解码输入以及前一时刻的知识融合向量作为对话解码器的输入,生成当前时刻的解码隐藏状态St,计算公式如下:
其中,和为可学习的参数,为上一时刻生成的上下文向量,关于上下文向量的详情请参见步骤160,e(yt-1)为上一时刻生成的对话词语yt-1的词嵌入向量,通过参数和对e(yt-1)和的拼接矩阵作线性变换获得。
由公式(1)~(3)可知,在生成当前时刻解码隐藏状态St的过程中,除了使用前一时刻的上下文向量和上一时刻生成的对话词语yt-1作为对话解码器的输入(现有的基于上下文注意力机制的解码器的实现方案),同时还加入了上一时刻的知识融合向量,动态的将外部知识集成到对话解码器生成的当前时刻的解码隐藏状态St中。由步骤150可知,知识融合向量是使用注意力机制动态生成的,因此对话解码器可以在解码的每一个时刻关注到外部知识中的不同信息。
步骤130,生成词语向量。
在一些实施例中,可以根据对话上文获取与对话上文相关的至少一个知识文本。具体的,通过查询知识库,召回与对话上文相关的至少一个知识文本。
在一些实施例中,知识文本可以是三元体格式的,即文本格式为:主语+谓语+宾语。例如:“张三,身高,226”、“李四,代表作,电视剧a”等。在一些实施例中,知识文本也可以是一段文章或者其他格式的文本,不受本说明书的表述所限。在一些实施例中,知识文本的语言可以为中文、英文或者其他语言,不受本说明书的表述所限。在一些实施例中,可以根据对话上文中的一些关键字或/词来通过检索***查询知识库,召回相关的知识文本,通过排序选出前N个知识文本,N的数值可以通过综合考虑模型的计算工作量以及获取的知识丰富度来选择,例如,N可以为30,或者其他数值。在一些实施例中,知识库中的内容可以来自于开源的数据集,例如Wizard-of-Wikipedia、DuConv等。
在一些实施例中,对于任一个知识文本,可以使用知识编码器对该知识文本中的每个词语进行编码,生成多个词语向量。具体的,可以使用分词模型将知识文本划分为token序列,将获得的token序列输入知识编码器,知识编码器对每一个token进行编码,生成该知识文本对应的词语向量序列。最终获得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包含了个词语向量:,输出可以是步骤130中描述的m个知识向量k1~km中的第j个知识向量:kj。第三注意模型的实现如下:
其中,softmax函数对wt中的各个元素进行归一化,得到值在(0,1)范围内的。在一些实施例中,可以通过计算余弦相似度来获取词语注意力权重。在一些实施例中,也可以使用其他方式来计算词语注意力权重,不受本说明书的表述所限。
在一些实施例中,如图2所示,第一注意力模型的输入可以是至少一个知识向量k1~km和当前时刻的解码隐藏状态St,输出可以是当前时刻的知识融合向量。关于知识向量k1~km的详情请参见步骤130。关于当前时刻的解码隐藏状态St的详情请参见步骤120,对话解码器在解码的每一个时刻都会按照步骤120中所述的方法生成一个解码隐藏状态,因此在当前时刻t之前已经生成了t-1个解码隐藏状态:S1~St-1。第一注意力模型的实现如下:
其中为可学习的参数,获得的为m个实数组成的向量,表示知识向量k1~km分别与当前时刻的解码隐藏状态St的相关度。在一些实施例中,通过训练参数,使得对于与当前时刻的解码隐藏状态St相关度较高的知识向量ki,计算得到的也越高。
其中,softmax函数对中的各个元素进行归一化,得到值在(0,1)范围内的。在一些实施例中,可以通过计算余弦相似度来获取知识注意力权重。在一些实施例中,也可以使用其他方式来计算知识注意力权重,不受本说明书的表述所限。
在本说明书所述的实施例中,通过在解码过程中引入知识融合向量,可以使得对话解码器在解码的各个时刻都可以获得知识向量k1~km中的所有信息,避免了在解码过程中丢失部分知识信息。并且通过使用当前解码隐藏状态St计算出的知识注意力权重dt,可以在不同时刻给予知识向量k1~km不同的注意力。例如:在当前时刻,如果知识向量k2包含的知识信息与当前解码隐藏状态St相关度较高,那么与k2对应的知识注意力权重d2也会较高,在下一个时刻,如果知识向量k3包含的知识信息与下一时刻的解码隐藏状态St+1相关度较高,那么与k3对应的知识注意力权重d3也会较高。可以使得对话解码器在解码的不同时刻可以关注到外部知识中的不同信息,例如:上述示例中当前时刻,解码器可以关注到知识向量k1~km中的k2,在下一个时刻,解码器可以关注到知识向量k1~km中的k3。
在步骤120中,保存了对话上文的语义信息的编码隐藏状态hn,被作为对话编码器和对话解码器之间的初始的中间语义向量C。因为这个向量长度是固定的,当对话上文的长度比较长时,该中间语义向量C无法保存全部的语义信息,从而会限制对话解码器的理解能力。因此,在一些实施例中,使用动态注意力机制来生成当前时刻的上下文向量,作为对话编码器和对话解码器之间的当前时刻的中间语义向量。在一些实施例中,可以根据编码隐藏状态的序列h1~hn和当前时刻的解码隐藏状态St,使用第二注意力模型生成当前时刻的上下文向量。
其中,softmax函数对中的各个元素进行归一化,得到值在(0,1)范围内的。在一些实施例中,可以通过计算余弦相似度来获取上下文注意力权重。在一些实施例中,也可以使用其他方式来计算上下文注意力权重,不受本说明书的表述所限。
通过使用可以使得对话解码器在解码的各个时刻都可以获得编码隐藏状态的序列h1~hn中的所有信息。同时,通过使用当前解码隐藏状态St计算出的上下文注意力权重,在不同时刻给予编码隐藏状态的序列h1~hn不同的注意力,从而使得对话解码器在解码的各个时刻可以关注到对话上文中的不同信息。例如:对话编码器根据对话上文:“Tom chaseJerry”生成编码隐藏状态的序列h1~h3,在对话解码器进行解码的t=1时刻,通过上下文注意力权重给予h1最高的注意力,因此对话解码器可以在中关注到与h1对应的对话上文中的单词“Tom”的信息,以此类推,在对话解码器进行解码的t=2时刻,对话解码器可以在中关注到与h2对应的对话上文中的词语“chase”的信息,在对话解码器进行解码的t=3时刻,对话解码器可以在中关注到与h3对应的对话上文中的词语“Jerry”的信息。如果没有在不同时刻给予编码隐藏状态的序列h1~hn不同的注意力,那么在对话解码器解码的任何时刻,对话解码器可以关注到的信息都是一样的。
步骤170,生成下文词语。
在一些实施例中,可以基于当前时刻的知识融合向量、当前时刻的上下文向量以及当前时刻的解码隐藏状态St,生成当前时刻的对话下文词语yt。具体的,生成当前时刻的上下文向量、当前时刻的解码隐藏状态St以及当前时刻的知识融合向量的拼接矩阵,将该拼接矩阵输入词选择模型,使用词选择模型预测当前时刻的对话下文词语yt,计算公式如下:
其中,V1、V2、b1和b2为可学习的参数,在公式(13)中,St、和组成的拼接矩阵[St,,]与上述参数进行了两次线性变换:1、[St, ,]与V1进行点乘运算,得到的向量再与偏置向量b1作加法运算。2、线性变换1得到的运算结果与V2作点乘运算,得到的向量再与偏置向量b2作加法运算最终得到M个实数组成的向量。M为对话***使用的词汇表的大小,M个实数分别表示预测的对话下文词语与词汇表中M个词语的相似度。然后由softmax函数对该向量做归一化处理,得到M个分数(0~1范围内)表示的概率,选取最高概率对应的提取词汇表中的词语作为当前时刻的对话下文词语yt。
在一些实施例中,y1~yt的对话下文词语组成对话下文,y1表示t=1时的对话下文词语。本说明书中所述的实施例,在基于现有的基于上下文注意力机制的Seq2Seq网络结构的基础上,通过添加知识融合向量实现了外部知识与对话解码器的动态交互,使得对话解码器可以在解码过程中动态的引入外部知识,从而对话***可以自然流畅的切换新话题。下面以图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生成知识融合向量,其中,因为对话上文的缘故,在生成知识融合向量的过程中,会给予知识文本“F,出生日期,1925年5月12日”和“F,代表作,电影b”对应的知识向量较高的注意力,其中,“F,出生日期,1925年5月12日”与对话上文的匹配度相对更高,因此给予对应知识向量的注意力最高。接着按照步骤170所述,将知识融合向量作为词选择模型的输入之一,词选择模型可以在生成下文词语的过程中提取到当前关注度最高的知识信息:“F,出生日期,1925年5月12日”。在t=2的时刻,知识融合向量又会作为对话解码器的输入之一,因此对话解码器生成的t=2时刻的解码隐藏状态S2中会包含最新关注的知识信息:“F,出生日期,1925年5月12日”。以此类推,通过以上描述的知识融合向量与对话解码器之间的重复交互过程可以将知识文本“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)
3.根据权利要求2所述的方法,其中,所述生成所述至少一个知识文本对应的至少一个知识向量k1~km包括:
对于任一个所述知识文本,使用知识编码器对所述知识文本中的每个词语进行编码,并根据生成的多个词语向量,使用第三注意力模型生成所述知识向量。
4.根据权利要求3所述的方法,其中,所述根据生成的多个词语向量,使用第三注意力模型生成所述知识向量包括:
对于多个所述词语向量中的每一个,对所述词语向量作加权运算,并使用激活函数处理运算结果,生成词语注意力向量;
基于所述词语注意力向量,使用打分函数生成与多个所述词语向量对应的多个词语注意力权重;
基于多个所述词语向量和多个所述词语注意力权重生成所述知识向量。
9.根据权利要求8所述的方法,其中,所述根据所述对话上文获取至少一个知识文本包括:
查询所述知识库,召回与所述对话上文相关的所述至少一个知识文本。
10.根据权利要求9所述的方法,其中,所述知识编码器为Transformer编码器。
11.根据权利要求10所述的方法,其中,所述方法还包括:
获取由所述对话上文、所述至少一个知识文本以及所述对话下文组成的训练集,使用反向传播算法,训练所述对话编码器、所述对话解码器、所述知识编码器、所述第一注意力模型、所述第二注意力模型、所述第三注意力模型以及所述softmax函数组成的对话***。
12.一种生成对话下文的***,所述***包括:
知识向量生成模块,用于获取对话上文,根据所述对话上文获取与所述对话上文相关的至少一个知识文本,并生成所述至少一个知识文本对应的至少一个知识向量k1~km;所述知识文本存储在知识库中;
对话下文生成模块,用于将y1~yt的对话下文词语组成所述对话下文,所述y1表示t=1时的对话下文词语。
14.根据权利要求13所述的***,其中,所述生成所述至少一个知识文本对应的至少一个知识向量k1~km包括:
对于任一个所述知识文本,使用知识编码器对所述知识文本中的每个词语进行编码,并根据生成的多个词语向量,使用第三注意力模型生成所述知识向量。
15.根据权利要求14所述的***,其中,所述根据生成的多个词语向量,使用第三注意力模型生成所述知识向量包括:
对于多个所述词语向量中的每一个,对所述词语向量作加权运算,并使用激活函数处理运算结果,生成词语注意力向量;
基于所述词语注意力向量,使用打分函数生成与多个所述词语向量对应的多个词语注意力权重;
基于多个所述词语向量和多个所述词语注意力权重生成所述知识向量。
20.根据权利要求19所述的***,其中,所述根据所述对话上文获取至少一个知识文本包括:
查询所述知识库,召回与所述对话上文相关的所述至少一个知识文本。
21.根据权利要求20所述的***,其中,所述知识编码器为Transformer编码器。
22.根据权利要求21所述的***,其中,所述***还包括:
训练模块,用于获取由所述对话上文、所述至少一个知识文本以及所述对话下文组成的训练集,使用反向传播算法,训练所述对话编码器、所述对话解码器、所述知识编码器、所述第一注意力模型、所述第二注意力模型、所述第三注意力模型以及所述softmax函数组成的对话***。
23.一种生成对话下文的装置,其中,所述装置包括至少一个处理器以及至少一个存储器;
所述至少一个存储器用于存储计算机指令;
所述至少一个处理器用于执行所述计算机指令中的至少部分指令以实现如权利要求1~11中任一项所述的方法。
24.一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行如权利要求1~11中任一项所述的方法。
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)
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)
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 | 上海大学 | 一种神经网络电影知识智能对话方法 |
-
2020
- 2020-05-28 CN CN202010470216.XA patent/CN111382257A/zh active Pending
Patent Citations (7)
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)
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)
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 |