CN111400481A - 针对多轮对话生成回复语句的方法和装置 - Google Patents
针对多轮对话生成回复语句的方法和装置 Download PDFInfo
- Publication number
- CN111400481A CN111400481A CN202010410108.3A CN202010410108A CN111400481A CN 111400481 A CN111400481 A CN 111400481A CN 202010410108 A CN202010410108 A CN 202010410108A CN 111400481 A CN111400481 A CN 111400481A
- Authority
- CN
- China
- Prior art keywords
- word
- candidate
- knowledge
- probability
- pointer
- 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
- 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/3325—Reformulation based on results of preceding query
- G06F16/3326—Reformulation based on results of preceding query using relevance feedback from the user, e.g. relevance feedback on documents, documents sets, document terms or passages
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本说明书实施例提供一种针对多轮对话生成回复语句的方法和装置,方法包括:获取历史上下文;对历史上下文基于注意力机制进行编码,得到历史上下文对应的上下文向量,以及历史上下文对应的第一分词序列的编码注意力分布;对候选知识集合中的各候选知识基于注意力机制进行编码,得到候选知识集合对应的知识融合向量,以及候选知识集合对应的第二分词序列的知识注意力分布;针对回复语句进行逐词预测,其中每次预测包括:对于扩充词表中每个候选词,得到将该候选词作为下一个词的预测概率;扩充词表包括,用于生成候选词的初始词表,第一分词序列中各分词,以及第二分词序列中各分词。在针对多轮对话生成回复语句时能够处理词汇不足单词。
Description
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及针对多轮对话生成回复语句的方法和装置。
背景技术
当前,在智能客服中,由机器与用户进行对话,解答用户问题,由于用户的表达口语化,一轮对话往往无法明确用户诉求,需要机器与用户之间进行多轮对话,才能最终解答用户问题。
现有技术中,常常采用生成式模型针对多轮对话生成回复语句。生成式模型可以生成用户问句中没有的词语,但是生成的回复语句可能不能准确地再现细节,无法处理词汇不足(out-of-vocabulary,OOV)单词。
因此,希望能有改进的方案,在针对多轮对话生成回复语句时能够处理词汇不足单词。
发明内容
本说明书一个或多个实施例描述了一种针对多轮对话生成回复语句的方法和装置,在针对多轮对话生成回复语句时能够处理词汇不足单词。
第一方面,提供了一种针对多轮对话生成回复语句的方法,方法包括:
获取多轮对话中包含当前用户问句的历史上下文;
对所述历史上下文基于注意力机制进行编码,得到所述历史上下文对应的上下文向量,以及所述历史上下文对应的第一分词序列的编码注意力分布;
对候选知识集合中的各候选知识基于注意力机制进行编码,得到所述候选知识集合对应的知识融合向量,以及所述候选知识集合对应的第二分词序列的知识注意力分布;
针对回复语句进行逐词预测,其中每次预测包括:
通过指针生成网络,分别生成当前的第一指针和第二指针,第一指针指示根据历史上下文生成下一个词的概率,第二指针指示根据候选知识集合生成下一个词的概率;
对于扩充词表中每个候选词,至少根据所述上下文向量、所述知识融合向量预测生成该候选词的第一概率;根据第一指针和编码注意力分布,确定从历史上下文中复制该候选词的第二概率,根据第二指针和知识注意力分布,确定从候选知识集合中复制该候选词的第三概率,并根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率;其中所述扩充词表包括,用于生成候选词的初始词表,第一分词序列中各分词,以及第二分词序列中各分词;
根据扩充词表中各个词的预测概率,预测下一个词。
在一种可能的实施方式中,所述历史上下文还包括至少一轮的历史用户问句和历史回复语句。
在一种可能的实施方式中,所述对候选知识集合中的各候选知识基于注意力机制进行编码之前,所述方法还包括:
提取所述历史上下文中的实体词或关键词;
根据所述实体词或关键词,确定与所述历史上下文相关的所述候选知识集合。
在一种可能的实施方式中,所述候选知识包括:句子形式的候选知识或三元组形式的候选知识;所述三元组形式的候选知识包括能够扩充为句子的三个实体词或关键词。
在一种可能的实施方式中,所述对候选知识集合中的各候选知识基于注意力机制进行编码,包括:
对候选知识集合中的各候选知识分别基于注意力机制进行编码,得到所述各候选知识分别对应的单条知识向量,以及各候选知识分别对应的分词序列的注意力分布;
针对各单条知识向量,基于注意力机制进行编码,得到所述候选知识集合对应的知识融合向量;以及根据各候选知识分别对应的分词序列的注意力分布,进行综合处理,得到所述候选知识集合对应的第二分词序列的知识注意力分布。
在一种可能的实施方式中,所述通过指针生成网络,分别生成当前的第一指针和第二指针,包括:
通过指针生成网络,根据所述上下文向量、前一个词的解码状态、以及前一个词对应的词向量和所述上下文向量的组合向量,生成当前的第一指针;
通过指针生成网络,根据所述知识融合向量、前一个词的解码状态、以及前一个词对应的词向量和所述知识融合向量的组合向量,生成当前的第二指针。
在一种可能的实施方式中,所述根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率,包括:
当该候选词存在于所述初始词表中,且不存在于所述第一分词序列中,且不存在于所述第二分词序列中,根据所述第一概率,得到将该候选词作为下一个词的预测概率。
在一种可能的实施方式中,所述根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率,包括:
当该候选词存在于所述第一分词序列中,且不存在于所述初始词表中,且不存在于所述第二分词序列中,根据所述第二概率,得到将该候选词作为下一个词的预测概率。
在一种可能的实施方式中,所述根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率,包括:
当该候选词存在于所述第二分词序列中,且不存在于所述初始词表中,且不存在于所述第一分词序列中,根据所述第三概率,得到将该候选词作为下一个词的预测概率。
第二方面,提供了一种针对多轮对话生成回复语句的装置,装置包括:
获取单元,用于获取多轮对话中包含当前用户问句的历史上下文;
第一编码单元,用于对所述获取单元获取的历史上下文基于注意力机制进行编码,得到所述历史上下文对应的上下文向量,以及所述历史上下文对应的第一分词序列的编码注意力分布;
第二编码单元,用于对候选知识集合中的各候选知识基于注意力机制进行编码,得到所述候选知识集合对应的知识融合向量,以及所述候选知识集合对应的第二分词序列的知识注意力分布;
预测单元,用于针对回复语句进行逐词预测,其中每次预测包括:
通过指针生成网络,分别生成当前的第一指针和第二指针,第一指针指示根据历史上下文生成下一个词的概率,第二指针指示根据候选知识集合生成下一个词的概率;
对于扩充词表中每个候选词,至少根据所述第一编码单元得到的上下文向量、所述第二编码单元得到的知识融合向量预测生成该候选词的第一概率;根据第一指针和所述第一编码单元得到的编码注意力分布,确定从历史上下文中复制该候选词的第二概率,根据第二指针和所述第二编码单元得到的知识注意力分布,确定从候选知识集合中复制该候选词的第三概率,并根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率;其中所述扩充词表包括,用于生成候选词的初始词表,第一分词序列中各分词,以及第二分词序列中各分词;
根据扩充词表中各个词的预测概率,预测下一个词。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和装置,首先获取多轮对话中包含当前用户问句的历史上下文;然后不仅对所述历史上下文基于注意力机制进行编码,得到所述历史上下文对应的上下文向量,以及所述历史上下文对应的第一分词序列的编码注意力分布;还对候选知识集合中的各候选知识基于注意力机制进行编码,得到所述候选知识集合对应的知识融合向量,以及所述候选知识集合对应的第二分词序列的知识注意力分布;后续在针对回复语句进行逐词预测的每次预测过程中,通过指针生成网络,分别生成当前的第一指针和第二指针,第一指针指示根据历史上下文生成下一个词的概率,第二指针指示根据候选知识集合生成下一个词的概率;对于扩充词表中每个候选词,至少根据所述上下文向量、所述知识融合向量预测生成该候选词的第一概率;根据第一指针和编码注意力分布,确定从历史上下文中复制该候选词的第二概率,根据第二指针和知识注意力分布,确定从候选知识集合中复制该候选词的第三概率,并根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率;其中所述扩充词表包括,用于生成候选词的初始词表,第一分词序列中各分词,以及第二分词序列中各分词;根据扩充词表中各个词的预测概率,预测下一个词。由上可见,本说明书实施例,采用历史上下文中的分词和候选知识集合中的分词对初始词表进行了扩充得到扩充词表,并且基于第一指针和第二指针确定扩充词表中各候选词作为下一个词的预测概率,从而在针对多轮对话生成回复语句时能够处理词汇不足单词。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的针对多轮对话生成回复语句的方法流程图;
图3示出根据一个实施例的基于知识复制机制的回复语句生成过程示意图;
图4示出根据一个实施例的针对多轮对话生成回复语句的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及针对多轮对话生成回复语句。可以理解的是,在智能客服领域,可以由机器代替人工客服与用户进行对话,在用户跟机器的多轮对话中,需要针对多轮对话生成回复语句,以使机器输出该回复语句与用户进行交互。通常地,采用生成式模型针对多轮对话生成回复语句。生成式模型可以生成用户问句中没有的词语,但是生成的回复语句可能不能准确地再现细节,无法处理词汇不足(out of vocabulary,OOV)单词。
参照图1,本说明书实施例中,考虑到词表是根据训练集的词频进行筛选的,词表有个大小的设置,一般不会设置特别大,如果词表比较大会影响速度,所以很多低频词不在词表内,比如一般专有名词比较罕见,词频比较低,容易不在词表范围内,因此基于历史上下文和候选知识集合对原有的词表(即初始词表)进行了扩充,得到扩充词表,基于扩充词表生成回复语句,从而在针对多轮对话生成回复语句时能够处理词汇不足单词。
可以理解的是,初始词表中包括的各分词与历史上下文对应的第一分词序列中包括的各分词可能存在相同的分词,例如,图1中的分词1与分词5相同;初始词表中包括的各分词与候选知识集合对应的第二分词序列中包括的各分词可能存在相同的分词,例如,图1中的分词2与分词8相同;历史上下文对应的第一分词序列中包括的各分词与候选知识集合对应的第二分词序列中包括的各分词可能存在相同的分词,例如,图1中的分词4与分词7相同。
图2示出根据一个实施例的针对多轮对话生成回复语句的方法流程图,该方法可以基于图1所示的实施场景。如图2所示,该实施例中针对多轮对话生成回复语句的方法包括以下步骤:步骤21,获取多轮对话中包含当前用户问句的历史上下文;步骤22,对所述历史上下文基于注意力机制进行编码,得到所述历史上下文对应的上下文向量,以及所述历史上下文对应的第一分词序列的编码注意力分布;步骤23,对候选知识集合中的各候选知识基于注意力机制进行编码,得到所述候选知识集合对应的知识融合向量,以及所述候选知识集合对应的第二分词序列的知识注意力分布;步骤24,针对回复语句进行逐词预测,其中每次预测包括:通过指针生成网络,分别生成当前的第一指针和第二指针,第一指针指示根据历史上下文生成下一个词的概率,第二指针指示根据候选知识集合生成下一个词的概率;对于扩充词表中每个候选词,至少根据所述上下文向量、所述知识融合向量预测生成该候选词的第一概率;根据第一指针和编码注意力分布,确定从历史上下文中复制该候选词的第二概率,根据第二指针和知识注意力分布,确定从候选知识集合中复制该候选词的第三概率,并根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率;其中所述扩充词表包括,用于生成候选词的初始词表,第一分词序列中各分词,以及第二分词序列中各分词;根据扩充词表中各个词的预测概率,预测下一个词。下面描述以上各个步骤的具体执行方式。
首先在步骤21,获取多轮对话中包含当前用户问句的历史上下文。可以理解的是,上述多轮对话具体可以为用户跟机器的多轮对话。
在一个示例中,所述历史上下文还包括至少一轮的历史用户问句和历史回复语句。也就是说,在当前用户问句之前,用户跟机器已经进行了至少一轮对话。
然后在步骤22,对所述历史上下文基于注意力机制进行编码,得到所述历史上下文对应的上下文向量,以及所述历史上下文对应的第一分词序列的编码注意力分布。可以理解的是,可以基于第一分词序列中各分词的编码状态,确定各分词的注意力权重,从而得到上述第一分词序列的编码注意力分布。
在一个示例中,先通过双向长短期记忆(long short-term memory,LSTM)网络对所述历史上下文进行编码,得到各分词的编码状态,再将各分词的编码状态通过注意力机制层,得到所述历史上下文对应的上下文向量,以及所述历史上下文对应的第一分词序列的编码注意力分布。
接着在步骤23,对候选知识集合中的各候选知识基于注意力机制进行编码,得到所述候选知识集合对应的知识融合向量,以及所述候选知识集合对应的第二分词序列的知识注意力分布。可以理解的是,上述候选知识集合可以是预先给定的一个候选知识集合,或者,上述候选知识集合可以是根据前述历史上下文,从预先给定的多个候选知识集合中选择的。
在一个示例中,所述对候选知识集合中的各候选知识基于注意力机制进行编码之前,所述方法还包括:
提取所述历史上下文中的实体词或关键词;
根据所述实体词或关键词,确定与所述历史上下文相关的所述候选知识集合。
在一个示例中,所述候选知识包括:句子形式的候选知识或三元组形式的候选知识;所述三元组形式的候选知识包括能够扩充为句子的三个实体词或关键词。
举例来说,句子形式的候选知识可以为中国的首都是北京;三元组形式的候选知识可以为中国、首都、北京。
本说明书实施例中,候选知识集合对应的第二分词序列中的各分词可以用于生成回复语句,从而丰富用户和机器的多轮对话。
比如这个多轮对话:用户:智慧又不乏魅力!超强的磁场,这样的美丽女孩子少见。机器:是嘛,你看到哪个漂亮女神了用户:中国台湾女神。机器:谁啊,小红用户:确实是的,你的眼光还用说。
上述多轮对话可以基于如下的候选知识集合:小红描述中国台湾明星 |||小红家人次女:小云(Lily)|||小红民族汉族|||小红性别女 |||小红职业演员|||小红领域明星|||小琳获奖2007年第44届中国台北金马影展金马奖最佳原创歌曲(提名)|||小琳体重42kg|||小琳代表作候鸟e人|||小琳性别女|||小琳职业演员|||小琳领域明星 |||小红评论智慧又不乏魅力!超强的磁场~|||小红祖籍中国台湾||| 小红描述女神
在一个示例中,所述对候选知识集合中的各候选知识基于注意力机制进行编码,包括:
对候选知识集合中的各候选知识分别基于注意力机制进行编码,得到所述各候选知识分别对应的单条知识向量,以及各候选知识分别对应的分词序列的注意力分布;
针对各单条知识向量,基于注意力机制进行编码,得到所述候选知识集合对应的知识融合向量;以及根据各候选知识分别对应的分词序列的注意力分布,进行综合处理,得到所述候选知识集合对应的第二分词序列的知识注意力分布。
在一个示例中,通过转换器(transformer)对候选知识集合中的各候选知识进行编码表达,并通过动态注意力机制,得到所述候选知识集合对应的知识融合向量,以及所述候选知识集合对应的第二分词序列的知识注意力分布。
最后在步骤24,针对回复语句进行逐词预测,其中每次预测包括:通过指针生成网络,分别生成当前的第一指针和第二指针,第一指针指示根据历史上下文生成下一个词的概率,第二指针指示根据候选知识集合生成下一个词的概率;对于扩充词表中每个候选词,至少根据所述上下文向量、所述知识融合向量预测生成该候选词的第一概率;根据第一指针和编码注意力分布,确定从历史上下文中复制该候选词的第二概率,根据第二指针和知识注意力分布,确定从候选知识集合中复制该候选词的第三概率,并根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率;其中所述扩充词表包括,用于生成候选词的初始词表,第一分词序列中各分词,以及第二分词序列中各分词;根据扩充词表中各个词的预测概率,预测下一个词。可以理解的是,针对回复语句进行逐词预测的过程,就是通过解码器解码生成回复语句的过程。
在一个示例中,通过解码器进行逐词地解码生成回复语句,解码器基于一个门控的单向LSTM网络,每一步的解码过程综合了上一个解码状态,编码部分的上下文向量和知识融合向量来解码生成下一个词。
在一个示例中,所述通过指针生成网络,分别生成当前的第一指针和第二指针,包括:
通过指针生成网络,根据所述上下文向量、前一个词的解码状态、以及前一个词对应的词向量和所述上下文向量的组合向量,生成当前的第一指针;
通过指针生成网络,根据所述知识融合向量、前一个词的解码状态、以及前一个词对应的词向量和所述知识融合向量的组合向量,生成当前的第二指针。
在一个示例中,所述根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率,包括:
当该候选词存在于所述初始词表中,且不存在于所述第一分词序列中,且不存在于所述第二分词序列中,根据所述第一概率,得到将该候选词作为下一个词的预测概率。
在一个示例中,所述根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率,包括:
当该候选词存在于所述第一分词序列中,且不存在于所述初始词表中,且不存在于所述第二分词序列中,根据所述第二概率,得到将该候选词作为下一个词的预测概率。
在一个示例中,所述根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率,包括:
当该候选词存在于所述第二分词序列中,且不存在于所述初始词表中,且不存在于所述第一分词序列中,根据所述第三概率,得到将该候选词作为下一个词的预测概率。
图3示出根据一个实施例的基于知识复制机制的回复语句生成过程示意图。参照图3,将历史上下文输入编码器,通过编码器得到所述历史上下文对应的上下文向量Cu,以及所述历史上下文对应的第一分词序列的编码注意力分布ut。将候选知识集合中的各候选知识(即知识信息)输入转换器(transformer),通过转换器(transformer)得到所述候选知识集合对应的知识融合向量Ck,以及所述候选知识集合对应的第二分词序列的知识注意力分布dt。解码器综合了上一个解码状态,编码部分的上下文向量和知识融合向量来解码生成下一个词。其中,在解码器解码过程中每一步结果得到的词表概率分布通过知识复制机制进行概率的调整,从而具备生成非词表内的知识端专有词。知识复制机制通过两个复制指针控制,即第一指针ugen和第二指针kgen。
本说明书实施例中,两个复制指针分别指向编码注意力分布和知识注意力分布,结合解码器得到的初始词表中的初始词概率分布,决定是否从历史上下文或者候选知识集合进行特殊词的复制,以得到最终的扩充词表的词概率分布:
本说明书实施例提供的方法,采用历史上下文中的分词和候选知识集合中的分词对初始词表进行了扩充得到扩充词表,并且基于第一指针和第二指针确定扩充词表中各候选词作为下一个词的预测概率,从而在针对多轮对话生成回复语句时能够处理词汇不足单词。
根据另一方面的实施例,还提供一种针对多轮对话生成回复语句的装置,该装置用于执行本说明书实施例提供的针对多轮对话生成回复语句的方法。图4示出根据一个实施例的针对多轮对话生成回复语句的装置的示意性框图。如图4所示,该装置400包括:
获取单元41,用于获取多轮对话中包含当前用户问句的历史上下文;
第一编码单元42,用于对所述获取单元41获取的历史上下文基于注意力机制进行编码,得到所述历史上下文对应的上下文向量,以及所述历史上下文对应的第一分词序列的编码注意力分布;
第二编码单元43,用于对候选知识集合中的各候选知识基于注意力机制进行编码,得到所述候选知识集合对应的知识融合向量,以及所述候选知识集合对应的第二分词序列的知识注意力分布;
预测单元44,用于针对回复语句进行逐词预测,其中每次预测包括:
通过指针生成网络,分别生成当前的第一指针和第二指针,第一指针指示根据历史上下文生成下一个词的概率,第二指针指示根据候选知识集合生成下一个词的概率;
对于扩充词表中每个候选词,至少根据所述第一编码单元42得到的上下文向量、所述第二编码单元43得到的知识融合向量预测生成该候选词的第一概率;根据第一指针和所述第一编码单元42得到的编码注意力分布,确定从历史上下文中复制该候选词的第二概率,根据第二指针和所述第二编码单元43得到的知识注意力分布,确定从候选知识集合中复制该候选词的第三概率,并根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率;其中所述扩充词表包括,用于生成候选词的初始词表,第一分词序列中各分词,以及第二分词序列中各分词;
根据扩充词表中各个词的预测概率,预测下一个词。
可选地,作为一个实施例,所述历史上下文还包括至少一轮的历史用户问句和历史回复语句。
可选地,作为一个实施例,所述装置还包括:
提取单元,用于在所述第二编码单元43对候选知识集合中的各候选知识基于注意力机制进行编码之前,提取所述历史上下文中的实体词或关键词;
确定单元,用于根据所述提取单元提取的实体词或关键词,确定与所述历史上下文相关的所述候选知识集合。
可选地,作为一个实施例,所述候选知识包括:句子形式的候选知识或三元组形式的候选知识;所述三元组形式的候选知识包括能够扩充为句子的三个实体词或关键词。
可选地,作为一个实施例,所述第二编码单元43包括:
第一编码子单元,用于对候选知识集合中的各候选知识分别基于注意力机制进行编码,得到所述各候选知识分别对应的单条知识向量,以及各候选知识分别对应的分词序列的注意力分布;
第二编码子单元,用于针对所述第一编码子单元得到的各单条知识向量,基于注意力机制进行编码,得到所述候选知识集合对应的知识融合向量;以及根据各候选知识分别对应的分词序列的注意力分布,进行综合处理,得到所述候选知识集合对应的第二分词序列的知识注意力分布。
可选地,作为一个实施例,所述预测单元44包括:
第一生成子单元,用于通过指针生成网络,根据所述上下文向量、前一个词的解码状态、以及前一个词对应的词向量和所述上下文向量的组合向量,生成当前的第一指针;
第二生成子单元,用于通过指针生成网络,根据所述知识融合向量、前一个词的解码状态、以及前一个词对应的词向量和所述知识融合向量的组合向量,生成当前的第二指针。
可选地,作为一个实施例,所述预测单元44,具体用于当该候选词存在于所述初始词表中,且不存在于所述第一分词序列中,且不存在于所述第二分词序列中,根据所述第一概率,得到将该候选词作为下一个词的预测概率。
可选地,作为一个实施例,所述预测单元44,具体用于当该候选词存在于所述第一分词序列中,且不存在于所述初始词表中,且不存在于所述第二分词序列中,根据所述第二概率,得到将该候选词作为下一个词的预测概率。
可选地,作为一个实施例,所述预测单元44,具体用于当该候选词存在于所述第二分词序列中,且不存在于所述初始词表中,且不存在于所述第一分词序列中,根据所述第三概率,得到将该候选词作为下一个词的预测概率。
本说明书实施例提供的装置,采用历史上下文中的分词和候选知识集合中的分词对初始词表进行了扩充得到扩充词表,并且基于第一指针和第二指针确定扩充词表中各候选词作为下一个词的预测概率,从而在针对多轮对话生成回复语句时能够处理词汇不足单词。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (20)
1.一种针对多轮对话生成回复语句的方法,所述方法包括:
获取多轮对话中包含当前用户问句的历史上下文;
对所述历史上下文基于注意力机制进行编码,得到所述历史上下文对应的上下文向量,以及所述历史上下文对应的第一分词序列的编码注意力分布;
对候选知识集合中的各候选知识基于注意力机制进行编码,得到所述候选知识集合对应的知识融合向量,以及所述候选知识集合对应的第二分词序列的知识注意力分布;
针对回复语句进行逐词预测,其中每次预测包括:
通过指针生成网络,分别生成当前的第一指针和第二指针,第一指针指示根据历史上下文生成下一个词的概率,第二指针指示根据候选知识集合生成下一个词的概率;
对于扩充词表中每个候选词,至少根据所述上下文向量、所述知识融合向量预测生成该候选词的第一概率;根据第一指针和编码注意力分布,确定从历史上下文中复制该候选词的第二概率,根据第二指针和知识注意力分布,确定从候选知识集合中复制该候选词的第三概率,并根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率;其中所述扩充词表包括,用于生成候选词的初始词表,第一分词序列中各分词,以及第二分词序列中各分词;
根据扩充词表中各个词的预测概率,预测下一个词。
2.如权利要求1所述的方法,其中,所述历史上下文还包括至少一轮的历史用户问句和历史回复语句。
3.如权利要求1所述的方法,其中,所述对候选知识集合中的各候选知识基于注意力机制进行编码之前,所述方法还包括:
提取所述历史上下文中的实体词或关键词;
根据所述实体词或关键词,确定与所述历史上下文相关的所述候选知识集合。
4.如权利要求1所述的方法,其中,所述候选知识包括:句子形式的候选知识或三元组形式的候选知识;所述三元组形式的候选知识包括能够扩充为句子的三个实体词或关键词。
5.如权利要求1所述的方法,其中,所述对候选知识集合中的各候选知识基于注意力机制进行编码,包括:
对候选知识集合中的各候选知识分别基于注意力机制进行编码,得到所述各候选知识分别对应的单条知识向量,以及各候选知识分别对应的分词序列的注意力分布;
针对各单条知识向量,基于注意力机制进行编码,得到所述候选知识集合对应的知识融合向量;以及根据各候选知识分别对应的分词序列的注意力分布,进行综合处理,得到所述候选知识集合对应的第二分词序列的知识注意力分布。
6.如权利要求1所述的方法,其中,所述通过指针生成网络,分别生成当前的第一指针和第二指针,包括:
通过指针生成网络,根据所述上下文向量、前一个词的解码状态、以及前一个词对应的词向量和所述上下文向量的组合向量,生成当前的第一指针;
通过指针生成网络,根据所述知识融合向量、前一个词的解码状态、以及前一个词对应的词向量和所述知识融合向量的组合向量,生成当前的第二指针。
7.如权利要求1所述的方法,其中,所述根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率,包括:
当该候选词存在于所述初始词表中,且不存在于所述第一分词序列中,且不存在于所述第二分词序列中,根据所述第一概率,得到将该候选词作为下一个词的预测概率。
8.如权利要求1所述的方法,其中,所述根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率,包括:
当该候选词存在于所述第一分词序列中,且不存在于所述初始词表中,且不存在于所述第二分词序列中,根据所述第二概率,得到将该候选词作为下一个词的预测概率。
9.如权利要求1所述的方法,其中,所述根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率,包括:
当该候选词存在于所述第二分词序列中,且不存在于所述初始词表中,且不存在于所述第一分词序列中,根据所述第三概率,得到将该候选词作为下一个词的预测概率。
10.一种针对多轮对话生成回复语句的装置,所述装置包括:
获取单元,用于获取多轮对话中包含当前用户问句的历史上下文;
第一编码单元,用于对所述获取单元获取的历史上下文基于注意力机制进行编码,得到所述历史上下文对应的上下文向量,以及所述历史上下文对应的第一分词序列的编码注意力分布;
第二编码单元,用于对候选知识集合中的各候选知识基于注意力机制进行编码,得到所述候选知识集合对应的知识融合向量,以及所述候选知识集合对应的第二分词序列的知识注意力分布;
预测单元,用于针对回复语句进行逐词预测,其中每次预测包括:
通过指针生成网络,分别生成当前的第一指针和第二指针,第一指针指示根据历史上下文生成下一个词的概率,第二指针指示根据候选知识集合生成下一个词的概率;
对于扩充词表中每个候选词,至少根据所述第一编码单元得到的上下文向量、所述第二编码单元得到的知识融合向量预测生成该候选词的第一概率;根据第一指针和所述第一编码单元得到的编码注意力分布,确定从历史上下文中复制该候选词的第二概率,根据第二指针和所述第二编码单元得到的知识注意力分布,确定从候选知识集合中复制该候选词的第三概率,并根据所述第一概率,第二概率和第三概率,得到将该候选词作为下一个词的预测概率;其中所述扩充词表包括,用于生成候选词的初始词表,第一分词序列中各分词,以及第二分词序列中各分词;
根据扩充词表中各个词的预测概率,预测下一个词。
11.如权利要求10所述的装置,其中,所述历史上下文还包括至少一轮的历史用户问句和历史回复语句。
12.如权利要求10所述的装置,其中,所述装置还包括:
提取单元,用于在所述第二编码单元对候选知识集合中的各候选知识基于注意力机制进行编码之前,提取所述历史上下文中的实体词或关键词;
确定单元,用于根据所述提取单元提取的实体词或关键词,确定与所述历史上下文相关的所述候选知识集合。
13.如权利要求10所述的装置,其中,所述候选知识包括:句子形式的候选知识或三元组形式的候选知识;所述三元组形式的候选知识包括能够扩充为句子的三个实体词或关键词。
14.如权利要求10所述的装置,其中,所述第二编码单元包括:
第一编码子单元,用于对候选知识集合中的各候选知识分别基于注意力机制进行编码,得到所述各候选知识分别对应的单条知识向量,以及各候选知识分别对应的分词序列的注意力分布;
第二编码子单元,用于针对所述第一编码子单元得到的各单条知识向量,基于注意力机制进行编码,得到所述候选知识集合对应的知识融合向量;以及根据各候选知识分别对应的分词序列的注意力分布,进行综合处理,得到所述候选知识集合对应的第二分词序列的知识注意力分布。
15.如权利要求10所述的装置,其中,所述预测单元包括:
第一生成子单元,用于通过指针生成网络,根据所述上下文向量、前一个词的解码状态、以及前一个词对应的词向量和所述上下文向量的组合向量,生成当前的第一指针;
第二生成子单元,用于通过指针生成网络,根据所述知识融合向量、前一个词的解码状态、以及前一个词对应的词向量和所述知识融合向量的组合向量,生成当前的第二指针。
16.如权利要求10所述的装置,其中,所述预测单元,具体用于当该候选词存在于所述初始词表中,且不存在于所述第一分词序列中,且不存在于所述第二分词序列中,根据所述第一概率,得到将该候选词作为下一个词的预测概率。
17.如权利要求10所述的装置,其中,所述预测单元,具体用于当该候选词存在于所述第一分词序列中,且不存在于所述初始词表中,且不存在于所述第二分词序列中,根据所述第二概率,得到将该候选词作为下一个词的预测概率。
18.如权利要求10所述的装置,其中,所述预测单元,具体用于当该候选词存在于所述第二分词序列中,且不存在于所述初始词表中,且不存在于所述第一分词序列中,根据所述第三概率,得到将该候选词作为下一个词的预测概率。
19.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项的所述的方法。
20.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项的所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010410108.3A CN111400481B (zh) | 2020-05-15 | 2020-05-15 | 针对多轮对话生成回复语句的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010410108.3A CN111400481B (zh) | 2020-05-15 | 2020-05-15 | 针对多轮对话生成回复语句的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111400481A true CN111400481A (zh) | 2020-07-10 |
CN111400481B CN111400481B (zh) | 2023-04-28 |
Family
ID=71430015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010410108.3A Active CN111400481B (zh) | 2020-05-15 | 2020-05-15 | 针对多轮对话生成回复语句的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400481B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112271001A (zh) * | 2020-11-17 | 2021-01-26 | 中山大学 | 一种应用异构图神经网络的医疗咨询对话系统及方法 |
CN113704424A (zh) * | 2021-08-27 | 2021-11-26 | 广东电力信息科技有限公司 | 一种基于指针网络的自然语言任务生成方法 |
CN114692941A (zh) * | 2021-12-30 | 2022-07-01 | 江南大学 | 基于多注意力的公司财务预测方法 |
CN115169367A (zh) * | 2022-09-06 | 2022-10-11 | 杭州远传新业科技股份有限公司 | 对话生成方法及装置、存储介质 |
CN116724305A (zh) * | 2021-01-20 | 2023-09-08 | 甲骨文国际公司 | 上下文标签与命名实体识别模型的集成 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160358242A1 (en) * | 2015-06-08 | 2016-12-08 | Xerox Corporation | Online dynamic solution retrieval based on automatic keyword selection during customer dialogue |
US20180060301A1 (en) * | 2016-08-31 | 2018-03-01 | Microsoft Technology Licensing, Llc | End-to-end learning of dialogue agents for information access |
US20180157667A1 (en) * | 2005-10-26 | 2018-06-07 | Cortica, Ltd. | System and method for generating a theme for multimedia content elements |
CN108681610A (zh) * | 2018-05-28 | 2018-10-19 | 山东大学 | 生成式多轮闲聊对话方法、系统及计算机可读存储介质 |
CN108763284A (zh) * | 2018-04-13 | 2018-11-06 | 华南理工大学 | 一种基于深度学习和主题模型的问答系统实现方法 |
CN110188182A (zh) * | 2019-05-31 | 2019-08-30 | 中国科学院深圳先进技术研究院 | 模型训练方法、对话生成方法、装置、设备及介质 |
CN110287290A (zh) * | 2019-06-26 | 2019-09-27 | 平安科技(深圳)有限公司 | 基于阅读理解的营销线索提取方法、装置及计算机可读存储介质 |
CN110457459A (zh) * | 2019-08-16 | 2019-11-15 | 深圳前海达闼云端智能科技有限公司 | 基于人工智能的对话生成方法、装置、设备及存储介质 |
-
2020
- 2020-05-15 CN CN202010410108.3A patent/CN111400481B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180157667A1 (en) * | 2005-10-26 | 2018-06-07 | Cortica, Ltd. | System and method for generating a theme for multimedia content elements |
US20160358242A1 (en) * | 2015-06-08 | 2016-12-08 | Xerox Corporation | Online dynamic solution retrieval based on automatic keyword selection during customer dialogue |
US20180060301A1 (en) * | 2016-08-31 | 2018-03-01 | Microsoft Technology Licensing, Llc | End-to-end learning of dialogue agents for information access |
CN108763284A (zh) * | 2018-04-13 | 2018-11-06 | 华南理工大学 | 一种基于深度学习和主题模型的问答系统实现方法 |
CN108681610A (zh) * | 2018-05-28 | 2018-10-19 | 山东大学 | 生成式多轮闲聊对话方法、系统及计算机可读存储介质 |
CN110188182A (zh) * | 2019-05-31 | 2019-08-30 | 中国科学院深圳先进技术研究院 | 模型训练方法、对话生成方法、装置、设备及介质 |
CN110287290A (zh) * | 2019-06-26 | 2019-09-27 | 平安科技(深圳)有限公司 | 基于阅读理解的营销线索提取方法、装置及计算机可读存储介质 |
CN110457459A (zh) * | 2019-08-16 | 2019-11-15 | 深圳前海达闼云端智能科技有限公司 | 基于人工智能的对话生成方法、装置、设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112271001A (zh) * | 2020-11-17 | 2021-01-26 | 中山大学 | 一种应用异构图神经网络的医疗咨询对话系统及方法 |
CN112271001B (zh) * | 2020-11-17 | 2022-08-16 | 中山大学 | 一种应用异构图神经网络的医疗咨询对话系统及方法 |
CN116724305A (zh) * | 2021-01-20 | 2023-09-08 | 甲骨文国际公司 | 上下文标签与命名实体识别模型的集成 |
CN113704424A (zh) * | 2021-08-27 | 2021-11-26 | 广东电力信息科技有限公司 | 一种基于指针网络的自然语言任务生成方法 |
CN114692941A (zh) * | 2021-12-30 | 2022-07-01 | 江南大学 | 基于多注意力的公司财务预测方法 |
CN115169367A (zh) * | 2022-09-06 | 2022-10-11 | 杭州远传新业科技股份有限公司 | 对话生成方法及装置、存储介质 |
CN115169367B (zh) * | 2022-09-06 | 2022-12-09 | 杭州远传新业科技股份有限公司 | 对话生成方法及装置、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111400481B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10515155B2 (en) | Conversational agent | |
CN109785824B (zh) | 一种语音翻译模型的训练方法及装置 | |
CN111400481A (zh) | 针对多轮对话生成回复语句的方法和装置 | |
US10503834B2 (en) | Template generation for a conversational agent | |
JP7066349B2 (ja) | 翻訳方法、翻訳装置及びコンピュータプログラム | |
CN110032633B (zh) | 多轮对话处理方法、装置和设备 | |
CN110326002B (zh) | 使用在线注意的序列处理 | |
WO2022188734A1 (zh) | 一种语音合成方法、装置以及可读存储介质 | |
JP3747171B2 (ja) | 音声処理システム | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN111930914B (zh) | 问题生成方法和装置、电子设备以及计算机可读存储介质 | |
CN110209803B (zh) | 故事生成方法、装置、计算机设备及存储介质 | |
WO2023201975A1 (zh) | 一种差异描述语句生成方法、装置、设备及介质 | |
CN111339278A (zh) | 训练话术生成模型、生成应答话术的方法和装置 | |
CN112837669B (zh) | 语音合成方法、装置及服务器 | |
CN113516961B (zh) | 一种音符生成方法、相关设备、存储介质及程序产品 | |
CN111382257A (zh) | 一种生成对话下文的方法和系统 | |
WO2024088262A1 (zh) | 语音识别模型的数据处理系统及方法、语音识别方法 | |
JP2022549893A (ja) | 過去の入力に選択的に注意を向けるための注意ベースのニューラルネットワークの拡張 | |
CN111539199A (zh) | 文本的纠错方法、装置、终端、及存储介质 | |
EP3525107A1 (en) | Conversational agent | |
CN110942774A (zh) | 一种人机交互系统、其对话方法、介质和设备 | |
CN111159394B (zh) | 一种文本摘要生成方法和装置 | |
CN117235250A (zh) | 一种对话摘要生成方法、装置和设备 | |
US11393454B1 (en) | Goal-oriented dialog generation using dialog template, API, and entity data |
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 |