CN111897941B - 对话生成方法、网络训练方法、装置、存储介质及设备 - Google Patents
对话生成方法、网络训练方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN111897941B CN111897941B CN202010816286.6A CN202010816286A CN111897941B CN 111897941 B CN111897941 B CN 111897941B CN 202010816286 A CN202010816286 A CN 202010816286A CN 111897941 B CN111897941 B CN 111897941B
- Authority
- CN
- China
- Prior art keywords
- feature vector
- candidate knowledge
- dialogue
- knowledge
- target
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000012549 training Methods 0.000 title claims abstract description 76
- 238000012216 screening Methods 0.000 claims abstract description 21
- 239000013598 vector Substances 0.000 claims description 267
- 239000011159 matrix material Substances 0.000 claims description 101
- 230000006870 function Effects 0.000 claims description 45
- 238000013507 mapping Methods 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 30
- 238000013528 artificial neural network Methods 0.000 claims description 23
- 230000001143 conditioned effect Effects 0.000 claims description 18
- 238000005070 sampling Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 11
- 238000013473 artificial intelligence Methods 0.000 abstract description 17
- 230000007246 mechanism Effects 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000003058 natural language processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 239000004973 liquid crystal related substance Substances 0.000 description 8
- 241000282414 Homo sapiens Species 0.000 description 7
- 238000011160 research Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 210000002784 stomach Anatomy 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/26—Techniques for post-processing, e.g. correcting the recognition result
- G06V30/262—Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
-
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- 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/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/041—Abduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/26—Techniques for post-processing, e.g. correcting the recognition result
- G06V30/262—Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
- G06V30/274—Syntactic or semantic context, e.g. balancing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种对话生成方法、网络训练方法、装置、存储介质及设备,属于人工智能领域。该方法包括:获取待响应的目标对话上文;根据目标对话上文获取第一候选知识集,第一候选知识集中包括与目标对话上文在内容上关联的候选知识文本;根据目标对话上文和第一候选知识集,预测目标对话上文的初步对话回复;根据初步对话回复更新目标对话上文;根据更新后的对话上文,获取第一候选知识集中每个候选知识文本被选中的概率值;在第一候选知识集中筛选概率值最大目标知识文本;根据目标对话上文和目标知识文本,生成目标对话上文的最终对话回复。本申请能够显著提高知识选择准确率,从而提升智能对话机器人的对话生成质量。
Description
技术领域
本申请涉及人工智能领域,特别涉及一种对话生成方法、网络训练方法、装置、存储介质及设备。
背景技术
人机对话是人工智能(Artificial Intelligence,AI)领域中一种典型的自然语言处理(Natural Language Processing,NLP)任务,目前具有广泛的应用前景。
通常情况下,人机对话基于智能对话机器人(也被称为智能对话系统或智能对话平台)实现。示例性地,智能对话机器人依托于AI技术可以为用户提供诸如信息查询、情感聊天、知识问答、任务对话等服务。
其中,智能对话机器人能否向用户输出精准的对话回复,是影响人机对话质量的关键因素。为此,在人机交互过程中如何向用户输出高质量的对话回复,便成为了本领域技术人员亟待解决的一个问题。
发明内容
本申请实施例提供了一种对话生成方法、网络训练方法、装置、存储介质及设备,能够显著地提升人机对话质量。所述技术方案如下:
一方面,提供了一种对话生成方法,所述方法包括:
获取待响应的目标对话上文;
根据所述目标对话上文获取第一候选知识集,所述第一候选知识集中包括与所述目标对话上文在内容上关联的候选知识文本;
根据所述目标对话上文和所述第一候选知识集,预测所述目标对话上文的初步对话回复;根据所述初步对话回复更新所述目标对话上文;
根据更新后的对话上文,获取所述第一候选知识集中每个候选知识文本被选中的概率值;在所述第一候选知识集中筛选概率值最大目标知识文本;
根据所述目标对话上文和所述目标知识文本,生成所述目标对话上文的最终对话回复。
另一方面,提供了一种网络训练方法,所述方法包括:
获取历史对话语料,所述历史对话语料包括历史对话上文和历史对话回复;
根据所述历史对话上文获取第二候选知识集,所述第二候选知识集中包括与所述历史对话上文在内容上关联的候选知识文本;
根据所述历史对话上文和所述第二候选知识集,预测所述历史对话上文的初步对话回复;根据所述初步对话回复更新所述历史对话上文;
基于知识选择网络获取第一概率分布,所述第一概率分布以更新后的对话上文为条件且对所述第二候选知识集进行采样;
基于所述知识选择网络获取第二概率分布,所述第二概率分布以所述历史对话上文和所述历史对话回复为条件且对所述第二候选知识集进行采样;
根据所述第一概率分布和所述第二概率分布,构建散度损失函数;
不断优化所述知识选择网络的网络参数,直至最小化所述散度损失函数;
其中,训练得到的知识选择网络负责输出用于对话生成的目标知识文本。
另一方面,提供了一种对话生成装置,所述装置包括:
第一获取模块,被配置为获取待响应的目标对话上文;
第二获取模块,被配置为根据所述目标对话上文获取第一候选知识集,所述第一候选知识集中包括与所述目标对话上文在内容上关联的候选知识文本;
预测模块,被配置为根据所述目标对话上文和所述第一候选知识集,预测所述目标对话上文的初步对话回复;
筛选模块,被配置为根据所述初步对话回复更新所述目标对话上文;根据更新后的对话上文,获取所述第一候选知识集中每个候选知识文本被选中的概率值;在所述第一候选知识集中筛选概率值最大目标知识文本;
生成模块,被配置为根据所述目标知识文本,生成所述目标对话上文的最终对话回复。
在一种可能的实现方式中,所述筛选模块,被配置为:
对所述目标对话上文进行第一编码处理,得到第一查询向量;
获取第一参数矩阵和第一特征向量;所述第一特征向量为所述初步对话回复的向量化表示;
根据所述第一特征向量和所述第一参数矩阵,生成第一中间特征向量;
将所述第一查询向量与所述第一中间特征向量进行特征连接处理,得到更新后的第一查询向量。
在一种可能的实现方式中,所述筛选模块,被配置为:
对所述第一候选知识集进行第二编码处理,得到各条候选知识文本的特征向量;根据所述第一查询向量和所述各条候选知识文本的特征向量,生成所述第一候选知识集的特征向量;
获取第二参数矩阵;根据所述第二参数矩阵和更新后的第一查询向量,生成第二中间特征向量;
根据所述第二中间特征向量和所述各条候选知识文本的特征向量,确定所述各条候选知识文本被选中的概率值。
在一种可能的实现方式中,所述预测模块,被配置为:将所述目标对话上文和所述第一候选知识集输入预测网络,基于所述预测网络预测所述目标对话上文的初步对话回复;
所述筛选模块,被配置为:将所述更新后的对话上文和所述第一候选知识集输入知识选择网络,基于所述知识选择网络获取每个候选知识文本被选中的概率值,以及在所述第一候选知识集中筛选所述目标知识文本。
在一种可能的实现方式中,所述预测网络为Transformer模型的解码器;
所述预测模块,被配置为:
获取第一概率分布,所述第一概率分布为当前时刻生成的词表的概率分布;
将所述目标对话上文的第一查询向量和所述第一候选知识集的特征向量进行相加处理,并将得到的特征向量作为输入特征输入所述解码器;
根据当前时刻的查询矩阵和键矩阵,获取第二概率分布;其中,所述第二概率分布为当前时刻复制所述目标对话上文中词汇的权重;
根据当前时刻的值矩阵获取第一数值,所述第一数值用于指示当前时刻生成的词汇来源于所述目标对话上文的概率;
根据所述第一概率分布、所述第二概率分布和所述第一数值,生成当前时刻的第三概率分布;从所述第三概率分布中选取概率值最大的词汇,将被选取的词汇作为所述解码器在当前时刻的输出。
在一种可能的实现方式中,所述预测模块,还被配置为:
获取第一映射矩阵、第二映射矩阵和第三映射矩阵;
根据所述第一映射矩阵,将目标特征向量映射为当前时刻的查询矩阵,所述目标特征向量用于表征当前时刻的解码器状态;
根据所述第二映射矩阵将所述输入特征映射为当前时刻的键矩阵;
根据所述第三映射矩阵将所述输入特征映射为当前时刻的值矩阵。
另一方面,提供了一种网络训练装置,所述装置包括:
第三获取模块,被配置为获取历史对话语料,所述历史对话语料包括历史对话上文和历史对话回复;
第四获取模块,被配置为根据所述历史对话上文获取第二候选知识集,所述第二候选知识集中包括与所述历史对话上文在内容上关联的候选知识文本;
更新模块,被配置为根据所述历史对话上文和所述第二候选知识集,预测所述历史对话上文的初步对话回复;根据所述初步对话回复更新所述历史对话上文;
第五获取模块,被配置为基于知识选择网络获取第一概率分布,所述第一概率分布以更新后的对话上文为条件且对所述第二候选知识集进行采样;基于所述知识选择网络获取第二概率分布,所述第二概率分布以所述历史对话上文和所述历史对话回复为条件且对所述第二候选知识集进行采样;
第一训练模块,被配置为根据所述第一概率分布和所述第二概率分布,构建散度损失函数;不断优化所述知识选择网络的网络参数,直至最小化所述散度损失函数;
其中,训练得到的知识选择网络负责输出用于对话生成的目标知识文本。
在一种可能的实现方式中,所述装置还包括第二训练模块;
所述第二训练模块,被配置为:
对所述历史对话上文进行第一编码处理,得到第二查询向量;
对所述第二候选知识集进行第二编码处理,得到所述第二候选知识集中各条候选知识文本的特征向量;根据所述第二查询向量和所述各条候选知识文本的特征向量,生成所述第二候选知识集的特征向量;
以所述第二查询向量和所述第二候选知识集的特征向量作为网络输入,以所述历史对话回复作为网络期望输出,训练预测网络。
在一种可能的实现方式中,所述预测网络为前馈神经网络;所述第二训练模块,被配置为:
将所述第二查询向量和所述第二候选知识集的特征向量输入所述前馈神经网络,得到第二特征向量;
将所述历史对话回复输入词袋模型得到样本特征向量;
根据所述第二特征向量和所述样本特征向量构建第一损失函数;
不断优化所述前馈神经网络的网络参数,直至最小化所述第一损失函数,得到所述预测网络;
其中,所述第二特征向量为历史对话上文的初步对话回复的向量化表示,所述历史对话上文的初步对话回复为不包括词序的词袋形式。
在一种可能的实现方式中,所述预测网络为Transformer模型的解码器;所述第二训练模块,被配置为:
将所述第二查询向量和所述第二候选知识集的特征向量输入所述解码器,得到第二特征向量;
获取所述历史对话回复的句子长度;根据所述句子长度和目标概率分布,构建第二损失函数;其中,所述目标概率分布以所述历史对话上文和所述第二候选知识集为条件且对所述历史对话回复进行采样;
不断迭代优化所述解码器的网络参数,直至最小化所述第二损失函数,得到所述预测网络;
其中,所述第二特征向量为历史对话上文的初步对话回复的向量化表示,所述历史对话上文的初步对话回复为包括词序的句子形式。
在一种可能的实现方式中,所述第二训练模块,被配置为:
获取第三参数矩阵;根据所述第三参数矩阵和所述第二查询向量,生成第三中间特征向量;
根据所述第三中间特征向量和所述各条候选知识文本的特征向量,获取所述第二候选知识集的注意力权重;
根据所述各条候选知识文本的特征向量和所述注意力权重,生成所述第二候选知识集的特征向量。
另一方面,提供了一种计算机设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现上述的对话生成方法或网络训练方法。
另一方面,提供了一种存储介质,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现上述的对话生成方法或网络训练方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述的对话生成方法或网络训练方法。
本申请实施例提供的技术方案带来的有益效果是:
在部署阶段,本申请实施例获取到待响应的对话上文后,会基于该对话上文和相应的候选知识集,来预测该对话上文的对话回复,并以此作为后验信息来增强先验知识选择能力。即,本申请实施例会根据该对话上文和预测的初步对话回复,在相应的候选知识集中筛选出一条最合理的知识文本来指导对话生成。换言之,在部署时本申请实施例能够通过预测的后验信息来帮助知识选择。该种方案能够显著提高知识选择准确率,从而提升智能对话机器人的对话生成质量。即,在人机交互过程中本申请实施例能够向用户输出高质量的对话回复。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种对话生成方法和网络训练方法涉及的实施环境的示意图;
图2是本申请实施例提供的一种知识型对话框架的示意图;
图3是本申请实施例提供的一种对话生成方法的流程图;
图4是本申请实施例提供的一种网络训练方法的流程图;
图5是本申请实施例提供的另一种网络训练方法的流程图;
图6是本申请实施例提供的另一种网络训练方法的流程图;
图7是本申请实施例提供的一种对话生成装置的结构示意图;
图8是本申请实施例提供的一种网络训练装置的结构示意图;
图9是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。其中,至少一个是指一个或一个以上,例如,至少一个用户可以是一个用户、两个用户、三个用户等任意大于等于一的整数个用户。而多个是指两个或者两个以上,例如,多个用户可以是两个用户、三个用户等任意大于等于二的整数个用户。
本申请实施例提供了一种对话生成方法、网络训练方法、装置、存储介质及设备。其中,该方法涉及AI技术。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。
深度学习是机器学习的核心部分,其通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。其中,深度学习是机器学习领域中一个新的研究方向。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的对话生成方案涉及人工智能的自然语言处理和深度学习等技术,现通过如下实施例进行说明。
下面先对本申请实施例涉及到的一些关键术语或缩略语进行介绍。
开放域对话:是与封闭域对话相对的概念。其中,开放域对话即人可以和智能对话机器人进行平等的交流。通常情况下,在开放域对话系统中,对话的内容没有限制,主题可以任意。换言之,没有明确用户意图的对话可以看做是开放域对话。而封闭域对话是指在识别到用户意图后,为了明确用户目的(或者称为任务细节)而进行的对话。
知识型对话(Knowledge-Grounded Dialogue):该任务旨在通过引入额外知识(external knowledge)生成富信息的回复(informative response)。
其中,上述额外知识也可称为外部知识。在缺少必要外部知识的情况下,智能对话机器人输出的对话回复虽然可能是恰当的,但是通常包含的信息量较少,即生成的对话回复都是通用的、短的、信息量较少的,比如“我不知道”、“那不错”。而知识型对话通过引入外部知识能够生成更适当和信息量更丰富的对话回复。
外部知识:指代来源于各个领域的有对话价值的知识。其中,外部知识可存储于知识库中。其中,各个领域包括但不限于:天气、娱乐互动、业务办理、远程客服、接待引导、医疗、交通导航、旅游、工业等。示例性地,以娱乐互动领域为例,该领域的知识可以是来源于电影和娱乐节目等方面的有对话价值的知识,比如票房、演员、导演、评价等,本申请实施例对此不进行具体限定。
先验信息(Prior Information):在抽取样本之前,人们对所要估计的未知参数所了解的信息,通常称为先验信息。
即,对于后续的任务,先验信息是指当前已知的信息。比如,在生成对话回复时,已知的对话历史信息是先验信息,个人的过去经历是先验信息。
先验分布(Prior Distribution):对未知参数x的信息用一个分布形式p(x)来表示,此分布p(x)称为未知参数x的先验分布。
即,基于先验信息对某一个事物/事件的决策分布;比如,已知今天阴天,以及过去对天气的经验(阴天可能下雨,阴天会凉爽),决定出去郊游,或者留在家里,或者去健身房的概率分布。
举例来说,比如测量某地的重力加速度,测量之前根据自然规律获知该地的重力加速度在9.8附近。这即是根据自然规律得到的信息。之后,再根据自然规律,获知任何一个地方的重力加速度与标准重力加速度相差不会超过0.1,这即是先验分布。
后验信息(Posterior Information):后验信息是指当前时刻之后发生的信息;在本申请实施例中,后验信息指代对话过程中的对话回复。
示例性地,在实际人机对话过程中,后验信息可以指代:针对用户发起的对话提问智能对话机器人输出的对话回复。比如,朋友A肚子疼,你说“多喝热水”,导致朋友A跟你吵架。在你说“多喝热水”的时刻,并不知道朋友A的反应,这即是后验信息。
后验分布(Posterior Distribution):在抽取样本之前,人们对未知参数有个了解,即分布。抽取样本之后,由于样本中包含未知参数的信息,而这些关于未知参数新的信息可以帮助人们修正抽样之前的信息。利用后验信息对某一个事物/件的分布;接上例,如果你知道朋友A要跟你吵架这一后验信息,你就不会说“多喝热水”了,你可能会“照顾朋友A”。
换言之,知道事情的结果,然后根据事情的结果来推测原因,即事情的结果是由某个原因导致的概率分布即是后验分布。也即,预先已知事情的结果(比如路上花费的时间),然后根据事情的结果估计原因(比如交通方式)的概率分布即后验分布。
先验知识选择(Prior Knowledge Selection):给定一个对话上文和一个外部知识库,基于该对话上文可以从外部知识库中选择多个不同的适合的知识,这个过程即为先验知识选择。针对对话上文,虽然有多条合适的知识,但是有些知识并不适合数据库中的对话回复。
后验知识选择(Posterior Knowledge Selection):给定一个对话语料(包括对话上文和对话回复),基于该对话语料从外部知识库中选择适合的知识,这个过程即为后验知识选择。需要说明的是,后验知识选择时实际使用的知识范围要比先验知识选择时使用的知识范围狭窄。即根据对话上文和对话回复,去反推利用了哪条知识。后验知识选择的选择范围窄,更容易选中背后利用的知识。
复制机制(Copy Mechanism):定位输入序列中的某个片段,然后将该片段直接拷贝到输出序列中。其中,在自然语言处理和对话系统中经常会使用到复制机制。复制机制能够保证信息的完整性以及加速模型的收敛。
先验查询(Prior Query):在知识选择时,仅将对话上文和知识库作为前提进行知识选择,可以称为先验查询。
后验查询(Posterior Query):在知识选择时,将对话上文、对话回复和知识库作为前提进行知识选择,可称为后验查询。
下面对本申请实施例提供的对话生成和网络训练方案涉及的实施环境进行介绍。
本申请实施例提供的对话生成方法可以应用于智能对话机器人(也被称为智能对话系统或智能对话平台)。而该智能对话机器人可以表现为服务器。
示例性地,参见图1,该实施环境包括:终端101和智能对话机器人102。
在一种可能的实现方式中,其中,智能对话机器人102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端101以及智能对话机器人102可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
示例性地,本申请实施例提供的对话生成方法的应用场景包括但不限于:
场景一、任务场景
其中,任务型对话是为了完成某个特定的任务,比如订机票不仅需要应答用户,还需要查询机票情况和执行相应的动作。即,任务型对话具有任务目标,需要将用户请求参数化。假设用户的对话上文为“帮我订一张明天A市到B市的机票”。意图:订机票;词槽:时间、出发地、目的地。因此参数化表达可以为:帮我订一张【时间】从【出发地】到【目的地】的机票。
场景二、问答场景
问答型对话主要是为了解答用户提问,相当于百科知识库,比如火车票怎么退票、坐飞机需要注意什么事项,通常仅需要回答问题而不需要执行任务。即,问答型对话具有任务目标,但是不需要将请求参数化。例如,针对用户的对话上文“怎么办理火车票退票”,智能对话机器人通常仅需从知识库中检索跟这句话最相似的知识,然后根据检索到的知识生成对话回复,并将生成的对话回复作为答案提供给用户即可。
场景三、闲聊场景
闲聊型对话是开放的通常没有任务目标,也没有硬性限定的答案。其中,闲聊型对话可以针对各个方面,比如用户与机器人进行情感聊天等,本申请实施例对此不进行具体限定。
图2是本申请实施例提供的一种知识型对话框架的示意图。
在本申请实施例中,参见图2,该对话框架包括:编码器201、编码器202、编码器203、解码器204、知识管理模块205、后验信息预测模块206、信息检索模块207、特征连接模块208和特征连接模块209。其中,知识管理模块205进一步包括先验知识选择模块2051和后验知识选择模块2052。
编码器201、编码器202和编码器203
其中,编码器201也被称为话语编码器,编码器202也被称为知识编码器。
如图2所示,给定源话语x,通过编码器201可以将源话语x进行编码,而在训练阶段编码器201的输出数据可以被送入解码器204、先验知识选择模块2051和特征连接模块208。
需要说明的是,送入解码器204的x编码方式是时序矩阵,送入后验信息预测模块206和特征连接模块208的是x的向量编码。换言之,编码器201输入到解码器204的内容是x的矩阵表示,编码器201输入到其他模块的是x的向量表示。
另外,源话语x在输入信息检索模块207后,信息检索模块207会输出L条候选知识之后,通过编码器202对每条候选知识/>进行编码,并将编码器202的输出数据分别送入知识管理模块205和后验信息预测模块206。其中,外部知识在本文中也被称为知识文本。
在训练阶段,与源话语x对应的对话回复y是已知的。其中,该对话回复y通过编码器203进行编码处理后,此步的输出数据会被送入特征连接模块208。而在将对话回复y的特征向量和源话语x的特征向量进行特征连接后,得到的特征向量会作为后验查询qpost输入至后验知识选择模块2052。
在部署阶段,由于对话回复y是未知的,因此先验知识选择模块2051基于输入数据在L条候选知识中选出一条合理的知识k并输入解码器204;最后,解码器204基于源话语x以及选中的知识k生成对话回复y。即,回复信息y是基于对话历史x与某一条候选知识生成的。其中,先验知识选择模块2051的输入数据包括:特征连接模块209的输出数据和编码器202的输出数据。其中,L的取值为正整数。
在一种可能的实现方式中,针对上述编码器201、编码器202和编码器203,可以使用具有门控循环单元(Gate Recurrent Unit,GRU)的双向循环神经网络(RecurrentNeural Network,RNN)实现编码,即上述编码器201、编码器202和编码器203可以由两部分组成:前向RNN和后向RNN,本申请实施例对此不进行具体限定。
在本申请实施例中,源话语x经过编码器201后得到的输出数据,会被送至后验信息预测模块206,以用于预测后验信息(即对话回复)。另外,源话语x经过编码器201后得到的输出数据,还将用作解码器204的初始隐藏状态。
示例性地,上述编码器202和编码器203可以遵循与编码201器相同的架构,但是它们可以不共享任何参数,或者在使用的时候共享参数,本申请实施例对此不进行具体限定。
后验信息预测模块206
在本申请实施例中,后验信息预测模块206为核心部分。即,本申请实施例提出了一种利用后验信息预测模块206预测的后验信息,来增强先验知识选择能力的知识型对话方法。
简言之,在训练阶段,后验信息预测模块206会学习如何预测后验信息;而在部署阶段,后验信息预测模块206可以用来预测针对源话语x的后验信息(即对话回复y);其中,预测的后验信息被用来增强先验知识选择模块2051的先验知识选择能力。该种方案可以实现在训练时先验知识选择模块2051能够更好地近似后验分布,而在部署时由后验信息预测模块206提供额外的后验信息能够帮助先验知识选择。
即,在训练阶段后验信息预测模块206利用对话语料中的源话语x与相应的候选知识,通过监督信号的训练,来学习产生有意义的后验信息;这样,在部署阶段,以类似后验查询qpost的组织方式,用后验信息预测模块206预测的后验信息来更新先验查询qprior;进而使得先验知识选择模块2051基于更新后的先验查询/>进行先验知识选择。
知识管理模块205
在训练阶段,源话语x和相应的对话回复y都被输入该知识框架。因此,后验知识选择模块2052获取的是在候选知识集上的条件概率分布p(k|qpost),并使用该条件概率分布对候选知识进行采样。由于源话语x和对话回复y为条件,因此该步骤实际上是通过后验分布,来捕获知识框架输出的对话回复中使用的知识。
在部署阶段,对话回复y是不存在的,因此不能使用后验分布在候选知识集中捕获知识,还需使用由表示的先验分布来估计期望的后验分布p(k|qpost)。其中,我们希望该先验分布能够尽可能地接近后验分布,这样即使没有与源话语x对应的对话回复y,先验知识选择模块2501也能够捕获正确的知识。为此,会引入辅助损失,示例性地,该辅助损失可以为散度损失(KLDivLoss),以测量该先验分布和后验分布之间的接近度。
在一种可能的实现方式中,当最小化KLDivLoss时,可以使用该先验分布来准确地近似后验分布。因此,即使知识框架在生成对话回复时未知后验分布,也可以有效地利用先验分布对正确知识进行采样,以便产生适当的对话回复。
解码器204
在本申请实施例中,知识管理模块205选中的知识会融入到生成的对话回复中。其中,知识管理模块205选中的知识将非常有助于解码器204生成高质量的对话回复。
需要说明的是,上述源话语x和对话回复y泛指智能对话过程中的一轮用户输入和系统回复,本申请实施例对此不进行具体限定。
综上所述,如何在开放域对话系统中显式地利用外部知识是非常重要的。然而,相关技术中由于缺乏必要的后验信息,在训练时先验知识选择模块将难以学习如何近似后验分布,在部署时先验选择模块可能会选择不合适的知识。而本申请实施例提供的上述知识框架,通过后验信息预测模块可以避免上述问题,通过预测的后验信息能够显著提高知识选择的准确率。另外,本申请实施例提供的对话生成方法是一种通用方法,可以应用于多种隐变量模型。
需要说明的是,下述实施例中出现的诸如第一、第二、第三和第四等描述,仅是为了区分类似的对象,而不构成任何其他的限定。
图3是本申请实施例提供的一种对话生成方法的流程图。该方法的执行主体为图1所示的智能对话机器人,详细来说,为图2所示的知识型对话框架。以图2所示的部署阶段为例,参见图3,本申请实施例提供的方法流程包括:
301、获取待响应的目标对话上文;根据目标对话上文获取第一候选知识集,第一候选知识集中包括与目标对话上文在内容上关联的候选知识文本。
本文将智能对话机器人待响应的用户输入称为目标对话上文。
示例性地,该用户输入既可以是文本形式,也可以是语音形式,本申请实施例对此不进行具体限定。另外,在部署阶段,智能对话机器人在接收到该用户输入后,会将该用户输入分别送到图2中的编码器201和信息检索模块207。
其中,编码器201用于对该用户输入进行编码处理,而信息检索模块207负责在知识库中检索与该用户输入在内容上关联的候选知识。
需要说明的是,本文将与该用户输入对应的候选知识集称为第一候选知识集,该候选知识集中包括与该用户输入在内容上关联的候选知识。另外,检索到的候选知识的条数通常为多条。
在一种可能的实现方式中,候选知识的组织形式既可以是非结构化文本,也可以是结构化三元组,本申请实施例对此不进行具体限定。另外,由于知识通常为文本形式,因此候选知识在本文中也被称为候选知识文本。
302、根据目标对话上文和第一候选知识集,预测目标对话上文的初步对话回复。
本步骤由图2所示的后验信息预测模块206负责给出目标对话上文的初步对话回复。换言之,初步对话回复即是后验信息预测模块206预测的后验信息。
在一种可能的实现方式中,根据目标对话上文和第一候选知识集,预测目标对话上文的初步对话回复,详细包括:
3021、对目标对话上文进行第一编码处理,得到第一查询向量。
其中,对目标对话上文进行第一编码处理由图2所示的编码器201完成。
示例性地,经过编码器201后得到目标对话上文的向量化表示Hx。进一步地,其中,hx是目标对话上文经过平均池化(average pooling)后的句向量表示。如图2所示,本步骤即是生成了一个后验信息预测模块206的查询向量qPI=hx。另外,此处得到的查询向量在本文中称为第一查询向量。
3022、对第一候选知识集进行第二编码处理,得到第一候选知识集中各条候选知识的特征向量。
其中,对第一候选知识集进行第二编码处理由图2所示的编码器202完成。
3023、根据第一查询向量和各条候选知识的特征向量,生成第一候选知识集的特征向量。
在一种可能的实现方式中,第一查询向量以点积注意力的方式关注包括多条候选知识的第一候选知识集,并基于注意力权重将第一候选知识集抽象为一个向量表示。
即,本申请实施例将注意力机制结合到自然语言处理任务中,结合了注意力机制的知识框架在训练过程中高度关注特定目标的特征信息,并且能有效针对不同的目标调整网络参数,挖掘更多的隐藏特征信息。
注意力(Attention)机制是指源于对人类视觉的研究。在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所有信息的一部分,同时忽略其他可见的信息。上述机制通常被称为注意力机制。注意力机制是人类视觉所特有的大脑信号处理机制。人类视觉通过快速扫描全局图像,获得需要重点关注的目标区域,也即注意力焦点,而后对这一区域投入更多注意力资源,以获取更多需要关注的目标的细节信息,而抑制其他无用信息。
综上,注意力机制主要有两个方面:一是决定需要关注输入的哪部分;二是分配有限的信息处理资源给重要的部分。其中,深度学习中的注意力机制从本质上讲和人类的选择性视觉注意力机制类似,核心目标也是从众多信息中选择出对当前任务更关键的信息。
3024、根据第一查询向量和第一候选知识集的特征向量,生成第一特征向量;其中,第一特征向量为初步对话回复的向量化表示。
本步骤由后验信息预测模块206完成,其中,后验信息预测模块206根据第一查询向量和第一候选知识集的特征向量,预测后验信息该后验信息/>即为知识框架预测出的与目标对话上文对应的初步对话回复。
303、根据初步对话回复更新目标对话上文;根据更新后的对话上文,获取第一候选知识集中每个候选知识文本被选中的概率值;在第一候选知识集中筛选概率值最大目标知识文本;根据目标对话上文和目标知识文本,生成目标对话上文的最终对话回复。
在本申请实施例中,由于在部署阶段先验知识选择模块2051无法获得标准的后验信息,因此本申请实施例提出了利用后验信息预测模块206预测的后验信息来增强先验知识选择。即,根据目标对话上文和初步对话回复,在第一候选知识集中筛选目标知识这个步骤由先验知识选择模块2051完成。
在一种可能的实现方式中,根据初步对话回复更新目标对话上文,即是根据后验信息预测模块输出的第一特征向量更新第一查询向量。也即是以类似后验查询的组织方式利用预测的后验信息来更新先验查询:换言之,根据第一特征向量更新第一查询向量,详细包括:
步骤a、获取第一参数矩阵;根据第一特征向量和第一参数矩阵,生成第一中间特征向量。该步骤用数学公式表达如下:
其中,E指代第一参数矩阵,示例性地,E可以是embedding(嵌入)矩阵;Mean()指代平均池化操作,指代基于词袋形式的后验信息,/>指代基于句子形式的后验信息;eI指代第一中间特征向量。
步骤b、将第一查询向量与第一中间特征向量进行特征连接处理,得到更新后的第一查询向量。
其中,指代更新后的第一查询向量;qPrior指代更新前的第一查询向量。
在一种可能的实现方式中,根据更新后的对话上文,获取第一候选知识集中每个候选知识文本被选中的概率值,包括:
3031、获取第二参数矩阵;根据第二参数矩阵和更新后的第一查询向量,生成第二中间特征向量。该步骤用数学公式表达如下:
其中,Vprior指代第二中间特征向量,W指代第二参数矩阵。
3032、根据第二中间特征向量和各条候选知识的特征向量,确定各条候选知识被选中的概率值。
本步骤即是基于更新后的先验查询,以点积注意力的方式获取每条候选知识被选中的概率值:该步骤用数学公式表达如下:
其中,指代第一候选知识集中每条候选知识被选中的概率值,该概率值在本文中也被称为先验知识选择概率。
3033、将第一候选知识集中概率值最大的候选知识作为目标知识。
本步骤即是根据先验知识选择概率,选择出最合适的一条候选知识(比如概率值最大)用于对话生成。
需要说明的是,上述出现的第一参数矩阵和第二参数矩阵均为网络参数,可以随机初始化并在训练阶段通过训练得到。
本申请实施例提供的方法,在部署阶段,知识框架中的后验信息预测模块可以用来预测后验信息;其中,预测的后验信息被用来增强先验知识选择模块的先验知识选择能力。即,在部署时后验信息预测模块额外提供的后验信息能够帮助先验知识选择。该种方案能够显著提高知识管理模块的知识选择准确率,从而提升智能对话机器人的对话生成质量。
图4是本申请实施例提供的一种网络训练方法的流程图,该方法的执行主体为图1所示的智能对话机器人,详细来说,为图2所示的知识型对话框架。以图2所示的训练阶段为例,参见图4,本申请实施例提供的方法流程包括:
401、获取历史对话语料,历史对话语料包括历史对话上文和历史对话回复。
在本申请实施例中,用于训练的历史对话语料包括多对(历史对话上文,历史对话回复)。
402、根据历史对话上文获取第二候选知识集,第二候选知识集中包括与历史对话上文在内容上关联的候选知识文本。
本文将与历史对话上文对应的候选知识集称为第二候选知识集,该候选知识集中包括与该历史对话上文在内容上关联的候选知识。另外,检索到的候选知识的条数通常为多条。
在一种可能的实现方式中,候选知识的组织形式既可以是非结构化文本,也可以是结构化三元组,本申请实施例对此不进行具体限定。
403、根据历史对话上文和第二候选知识集,预测历史对话上文的初步对话回复;根据历史对话上文的初步对话回复更新历史对话上文。
本步骤的实施可以参考上述步骤302和步骤303。
404、基于知识选择网络获取第一概率分布和第二概率分布;第一概率分布以更新后的对话上文为条件且对第二候选知识集进行采样;第二概率分布以历史对话上文和历史对话回复为条件且对第二候选知识集进行采样。
其中,知识选择网络即对应图2中的知识管理模块205。第一概率分布为通过先验知识选择模块2051得到的先验分布;第二概率分布为通过后验知识选择模块2052得到的后验分布。其中,第一概率分布和第二概率分布均给出了第二候选知识集中各条候选知识被选中的概率。而第二候选知识集中各条候选知识被选中的概率的获取方式可以参考上述步骤303。
405、根据第一概率分布和第二概率分布,构建散度损失函数;不断优化知识选择网络的网络参数,直至最小化散度损失函数;其中,训练得到的知识选择网络负责输出用于对话生成的目标知识文本。
在本申请实施例中,为了能够让先验分布尽可能地接近后验分布,会引入辅助损失,示例性地,该辅助损失可以为散度损失(KLDivLoss),以测量先验分布和后验分布之间的接近度。在一种可能的实现方式中,当最小化KLDivLoss时,可以使用先验分布来准确地近似后验分布。因此,在部署阶段,即使知识框架在生成对话回复时未知后验分布,也可以有效地利用先验分布对正确知识进行采样,以便产生适当的对话回复。
其中,图2所示的后验信息预测模块206在本文中也被称为预测网络。
在另一个实施例中,该预测网络的形式包括但不限于前馈神经网络和Transformer模型的解码器。示例性地,该前馈神经网络为两层前馈神经网络,该解码器为带有复制机制的三层Transformer解码器,本申请实施例对此不进行具体限定。
针对该预测网络为前馈神经网络的方式,本申请实施例生成基于词袋形式的后验信息;针对该预测网络为Transformer模型的解码器的方式,本申请实施例生成基于句子形式的后验信息。
在训练阶段,本申请实施例基于对话语料和监督信号来训练该预测网络,以使该预测网络在部署阶段能够生成有意义的后验信息/>
在一种可能的实现方式中,响应于该预测网络为前馈神经网络,如图5所示,该预测网络的训练过程包括:
501、获取对话语料中历史对话上文的第二查询向量;根据历史对话上文获取第二候选知识集,获取第二候选知识集的特征向量。
示例性地,对历史对话上文进行第一编码处理,得到第二查询向量;对第二候选知识集进行第二编码处理,得到第二候选知识集中各条候选知识文本的特征向量;根据第二查询向量和各条候选知识文本的特征向量,生成第二候选知识集的特征向量。
示例性地,经过编码器202后得到第二候选知识集中各条候选知识的特征向量。这些候选知识的特征向量可以通过下述公式表达。
在一种可能的实现方式中,基于以上描述,根据第二查询向量和各条候选知识的特征向量,生成第二候选知识集的特征向量,详细包括:
步骤a、获取第三参数矩阵;根据第三参数矩阵和历史对话上文的第二查询向量,生成第三中间特征向量。该步骤用数学公式表达如下:
其中,V指代第三中间特征向量,W为第三参数矩阵。
步骤b、根据第三中间特征向量和第二候选知识集中各条候选知识的特征向量,获取第二候选知识集的注意力权重。该步骤用数学公式表达如下:
其中,指代第二候选知识集的注意力权重。
步骤c、根据第二候选知识中各条候选知识的特征向量和获取到的注意力权重,生成第二候选知识集的特征向量。该步骤用数学公式表达如下:
之后,本申请实施例以第二查询向量和第二候选知识集的特征向量作为网络输入,以历史对话回复作为网络期望输出,训练预测网络。另外上述出现的第三参数矩阵为网络参数,可以随机初始化并在训练阶段通过训练得到。
502、将第二查询向量和第二候选知识集的特征向量输入前馈神经网络,得到第二特征向量;其中,第二特征向量为历史对话上文的初步对话回复的向量化表示。
本步骤即是将历史对话上文和候选知识表示通过前馈神经网络映射成为后验信息其中,该后验信息在本文中也被称为历史对话上文的初步对话回复,该历史对话上文的初步对话回复为不包括词序的词袋形式。
503、将历史对话回复输入词袋模型,得到历史对话回复的样本特征向量;根据第二特征向量和样本特征向量,构建第一损失函数;不断优化前馈神经网络的网络参数,直至最小化第一损失函数,得到该预测网络。
在训练阶段可以获得对话回复信息y,即历史对话回复。基于历史对话回复的样本特征向量I=BOW(y),再引入了一个额外的损失函数来监督该预测网络产生有意义的后验信息:其中,该损失函数在本文中被称为第一损失函数。示例性地,第一损失函数的计算公式如下所示。
其中,w指代来自于词袋I中的词汇;指代该预测网络输出的与词汇w对应的后验信息。
在另一种可能的实现方式中,响应于该预测网络为Transformer模型的解码器,如图6所示,该预测网络的训练过程包括:
601、获取历史对话上文的第二查询向量;根据历史对话上文获取第二候选知识集,获取第二候选知识集的特征向量。
在本申请实施例中,用于训练该预测网络的对话语料包括多对(历史对话上文,历史对话回复)。示例性地,该步骤的实施可以参考前述步骤301和步骤302,此处不再赘述。
602、将第二查询向量和第二候选知识集的特征向量输入解码器,得到第二特征向量;其中,第二特征向量为历史对话上文的初步对话回复的向量化表示。
本步骤即是将历史对话上文和候选知识表示通过解码器映射成为后验信息其中,该后验信息在本文中也被称为历史对话上文的初步对话回复,该历史对话上文的初步对话回复为包括词序的句子形式,N的取值为正整数,N指代历史对话回复的句子长度。
603、获取历史对话回复的句子长度;根据该句子长度和目标概率分布,构建第二损失函数;其中,目标概率分布以历史对话上文和第二候选知识集为条件且对历史对话回复进行采样;不断迭代优化解码器的网络参数,直至最小化第二损失函数,得到该预测网络。
在训练阶段可以获得对话回复信息y,即历史对话回复。基于I=y,再引入了一个额外的损失函数,来监督该预测网络产生有意义的后验信息:其中,该损失函数在本文中被称为第二损失函数。
示例性地,第二损失函数的计算公式如下所示。
其中,n的取值为正整数,n指代历史对话回复中包含的词汇,x指代历史对话上文,在此处指代第二候选知识集;
指代目标概率分布,θ为网络参数。
综上所述,在训练阶段后验信息预测模块利用对话语料,通过监督信号的训练,来学习产生有意义的后验信息;这样,在部署阶段,后验信息预测模块以类似后验查询qpost的组织方式,用后验信息预测模块预测的后验信息来更新先验查询qprior;进而使得先验知识选择模块能够基于更新后的先验查询/>进行先验知识选择。这样,在部署时后验信息预测模块能够额外提供的后验信息帮助先验知识选择。所以,该种方案能够显著提高知识管理模块的知识选择准确率,从而提升智能对话机器人的对话生成质量。
在另一个实施例中,响应于该预测网络为Transformer模型的解码器,上述步骤302可以被替换为:将目标对话上文和第一候选知识集输入该预测网络,得到初步对话回复(即预测后验信息)。作为一个示例,该预测网络可以通过下述代码生成预测后验信息。
其中,上述代码的文字化描述即为:
获取第一映射矩阵第二映射矩阵/>和第三映射矩阵/>根据第一映射矩阵/>将目标特征向量/>映射为当前时刻的查询矩阵qn,其中,目标特征向量/>用于表征当前时刻的解码器状态;
根据第二映射矩阵将输入特征(Hx+hPI)映射为键矩阵K;根据第三映射矩阵将输入特征映射为当前时刻的值矩阵V。
获取第一概率分布其中,第一概率分布为当前时刻生成的词表的概率分布;
将查询向量Hx和第一候选知识集的特征向量hPI进行相加处理,并将得到的特征向量(Hx+hPI)作为输入特征输入解码器;
根据当前时刻的查询矩阵qn和键矩阵K,获取第二概率分布其中,第二概率分布/>为当前时刻复制目标对话上文中词汇的权重;
根据当前时刻的值矩阵V获取第一数值第一数值/>用于指示当前时刻生成的词汇来源于目标对话上文的概率;/>
根据第一概率分布第二概率分布/>和第一数值/>生成当前时刻的第三概率分布/>
从第三概率分布pn(w)中选取概率值最大的词汇,将被选取的词汇作为解码器在当前时刻的输出。
在本申请实施例中,各个字符和表达式的含义如下:
其中,/>是目标对话上文经过bert编码后的词粒度表示,其中,目标对话上文的长度为m;
和/>是/>解码器之前时刻和当前时刻的解码器状态。
表示当前时刻生成词表的概率分布;其中,表示生成词汇w的概率,/>是网络参数。
表示Transformer内部的cross attention模块的输入,通过三个映射矩阵将解码器当前时刻的/>与解码器的外部输入(Hx+hPI)映射成当前时刻的query矩阵、key矩阵和value矩阵。
通过点乘注意力机制,得到当前query对于key矩阵的注意力关注向量,以此作为copy的概率分布。通过/>决定当前生成时刻copy目标对话上文中词汇的权重。
是一个0-1之间的标量数值,/>决定当前时刻词汇的生成来源于copy方式的概率;/>是决定采用生成词表的概率。
是网络参数;σ是sigmoid激活函数。
是基于权重/>融合后的最终的当前时刻生成概率分布/>
表示从概率分布pn(w)中选取概率最大的词汇作为当前时刻的输出。
在另一种可能的实现方式中,本申请实施例采用的点积注意力机制可以替换为自注意力机制;另外,本申请实施详例后验信息预测模块采用两种网络来生成后验信息,除了上述两种网络之外,还可以替换为更加深层的网络,本申请实施例对此不进行具体限定。另外,除了基于词袋形式和基于句子形式的后验信息组织方式外,还可以考虑其他后验信息组织形式以及将不同形式进行融合。另外,本申请实施详例采用embedding矩阵获取预测的后验信息表示,除此之外,可以替代为更为复杂的编码机制,比如自注意力(self-attention)机制,本申请实施例对此不进行具体限定。
图7是本申请实施例提供的一种对话生成装置的结构示意图。参见图7,该装置包括:
第一获取模块701,被配置为获取待响应的目标对话上文;
第二获取模块702,被配置为根据所述目标对话上文获取第一候选知识集,所述第一候选知识集中包括与所述目标对话上文在内容上关联的候选知识文本;
预测模块703,被配置为根据所述初步对话回复更新所述目标对话上文;根据更新后的对话上文,获取所述第一候选知识集中每个候选知识文本被选中的概率值;在所述第一候选知识集中筛选概率值最大目标知识文本;
筛选模块704,被配置为根据所述目标对话上文和所述初步对话回复,在所述第一候选知识集中筛选目标知识文本;
生成模块705,被配置为根据所述目标知识文本,生成所述目标对话上文的最终对话回复。
本申请实施例提供的装置,在部署阶段,在获取到待响应的对话上文后,会基于该对话上文和相应的候选知识集,来预测该对话上文的初步对话回复,并以此作为后验信息来增强先验知识选择能力。即,本申请实施例会根据该对话上文和预测的初步对话回复,在相应的候选知识集中筛选出一条最合理的知识文本来指导对话生成,得到最终对话回复。即,在部署时本申请实施例能够额外提供预测的后验信息来帮助先验知识选择。该种方案能够显著提高知识选择准确率,从而提升智能对话机器人的对话生成质量。也即,在人机交互过程中本申请实施例能够向用户输出高质量的对话回复。
在一种可能的实现方式中,所述筛选模块,被配置为:
对所述目标对话上文进行第一编码处理,得到第一查询向量;
获取第一参数矩阵和第一特征向量;所述第一特征向量为所述初步对话回复的向量化表示;
根据所述第一特征向量和所述第一参数矩阵,生成第一中间特征向量;
将所述第一查询向量与所述第一中间特征向量进行特征连接处理,得到更新后的第一查询向量。
在一种可能的实现方式中,所述筛选模块,被配置为:
对所述第一候选知识集进行第二编码处理,得到各条候选知识文本的特征向量;根据所述第一查询向量和所述各条候选知识文本的特征向量,生成所述第一候选知识集的特征向量;
获取第二参数矩阵;根据所述第二参数矩阵和更新后的第一查询向量,生成第二中间特征向量;
根据所述第二中间特征向量和所述各条候选知识文本的特征向量,确定所述各条候选知识文本被选中的概率值。
在一种可能的实现方式中,所述预测模块,被配置为:将所述目标对话上文和所述第一候选知识集输入预测网络,基于所述预测网络预测所述目标对话上文的初步对话回复;
所述筛选模块,被配置为:
将所述更新后的对话上文和所述第一候选知识集输入知识选择网络,基于所述知识选择网络获取每个候选知识文本被选中的概率值,以及在所述第一候选知识集中筛选所述目标知识文本。
在一种可能的实现方式中,所述预测网络为Transformer模型的解码器;所述预测模块,被配置为:
获取第一概率分布,所述第一概率分布为当前时刻生成的词表的概率分布;
将所述目标对话上文的第一查询向量和所述第一候选知识集的特征向量进行相加处理,并将得到的特征向量作为输入特征输入所述解码器;
根据当前时刻的查询矩阵和键矩阵,获取第二概率分布;其中,所述第二概率分布为当前时刻复制所述目标对话上文中词汇的权重;
根据当前时刻的值矩阵获取第一数值,所述第一数值用于指示当前时刻生成的词汇来源于所述目标对话上文的概率;
根据所述第一概率分布、所述第二概率分布和所述第一数值,生成当前时刻的第三概率分布;从所述第三概率分布中选取概率值最大的词汇,将被选取的词汇作为所述解码器在当前时刻的输出。
在一种可能的实现方式中,所述预测模块,还被配置为:
获取第一映射矩阵、第二映射矩阵和第三映射矩阵;
根据所述第一映射矩阵,将目标特征向量映射为当前时刻的查询矩阵,所述目标特征向量用于表征当前时刻的解码器状态;
根据所述第二映射矩阵将所述输入特征映射为当前时刻的键矩阵;
根据所述第三映射矩阵将所述输入特征映射为当前时刻的值矩阵。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图8是本申请实施例提供的一种网络训练装置的结构示意图。参见图8,该装置包括:
第三获取模块801,被配置为获取历史对话语料,所述历史对话语料包括历史对话上文和历史对话回复;
第四获取模块802,被配置为根据所述历史对话上文获取第二候选知识集,所述第二候选知识集中包括与所述历史对话上文在内容上关联的候选知识文本;
更新模块803,被配置为根据所述历史对话上文和所述第二候选知识集,预测所述历史对话上文的初步对话回复;根据所述初步对话回复更新所述历史对话上文;
第五获取模块804,被配置为基于知识选择网络获取第一概率分布,所述第一概率分布以更新后的对话上文为条件且对所述第二候选知识集进行采样;基于所述知识选择网络获取第二概率分布,所述第二概率分布以所述历史对话上文和所述历史对话回复为条件且对所述第二候选知识集进行采样;
第一训练模块805,被配置为根据所述第一概率分布和所述第二概率分布,构建散度损失函数;不断优化所述知识选择网络的网络参数,直至最小化所述散度损失函数;
其中,训练得到的知识选择网络负责输出用于对话生成的目标知识文本。
本申请实施例提供的装置,在训练阶段,利用对话语料能够实现后验信息预测,该信息被用来更新历史对话上文,进而基于更新后的历史对话上文和第二候选知识集来生成先验分布,使得在训练阶段先验分布能够更好的近似后验分布;这样,在部署阶段,基于预测的后验信息,知识选择网络能够合理地进行知识选择。也即,在部署时能够额外提供的后验信息帮助先验知识选择。所以,该种方案能够显著提高知识选择网络的知识选择准确率,从而提升智能对话机器人的对话生成质量。
在一种可能的实现方式中,所述装置还包括第二训练模块;
所述第二训练模块,被配置为:
对所述历史对话上文进行第一编码处理,得到第二查询向量;
对所述第二候选知识集进行第二编码处理,得到所述第二候选知识集中各条候选知识文本的特征向量;根据所述第二查询向量和所述各条候选知识文本的特征向量,生成所述第二候选知识集的特征向量;
以所述第二查询向量和所述第二候选知识集的特征向量作为网络输入,以所述历史对话回复作为网络期望输出,训练预测网络。
在一种可能的实现方式中,所述预测网络为前馈神经网络;
所述第二训练模块,被配置为:
将所述第二查询向量和所述第二候选知识集的特征向量输入所述前馈神经网络,得到第二特征向量;
将所述历史对话回复输入词袋模型得到样本特征向量;
根据所述第二特征向量和所述样本特征向量构建第一损失函数;
不断优化所述前馈神经网络的网络参数,直至最小化所述第一损失函数,得到所述预测网络;
其中,所述第二特征向量为历史对话上文的初步对话回复的向量化表示,所述历史对话上文的初步对话回复为不包括词序的词袋形式。
在一种可能的实现方式中,所述预测网络为Transformer模型的解码器;
所述第二训练模块,被配置为:
将所述第二查询向量和所述第二候选知识集的特征向量输入所述解码器,得到第二特征向量;
获取所述历史对话回复的句子长度;根据所述句子长度和目标概率分布,构建第二损失函数;其中,所述目标概率分布以所述历史对话上文和所述第二候选知识集为条件且对所述历史对话回复进行采样;
不断迭代优化所述解码器的网络参数,直至最小化所述第二损失函数,得到所述预测网络;
其中,所述第二特征向量为历史对话上文的初步对话回复的向量化表示,所述历史对话上文的初步对话回复为包括词序的句子形式。
在一种可能的实现方式中,所述第二训练模块,被配置为:
获取第三参数矩阵;根据所述第三参数矩阵和所述第二查询向量,生成第三中间特征向量;
根据所述第三中间特征向量和所述各条候选知识文本的特征向量,获取所述第二候选知识集的注意力权重;
根据所述各条候选知识文本的特征向量和所述注意力权重,生成所述第二候选知识集的特征向量。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的对话生成装置在生成对话时,以及网络训练装置在训练网络模型时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的对话生成装置与对话生成方法实施例属于同一构思,上述实施例提供的网络训练装置与网络训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备可以表现为服务器。该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)901和一个或一个以上的存储器902,其中,所述存储器902中存储有至少一条程序代码,所述至少一条程序代码由所述处理器901加载并执行以实现上述各个方法实施例提供的对话生成方法或网络训练方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由终端中的处理器执行以完成上述实施例中的对话生成方法或网络训练方法。例如,所述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述的对话生成方法或网络训练方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来程序代码相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (22)
1.一种对话生成方法,其特征在于,所述方法包括:
获取待响应的目标对话上文;
根据所述目标对话上文获取第一候选知识集,所述第一候选知识集中包括与所述目标对话上文在内容上关联的候选知识文本;
将所述目标对话上文和所述第一候选知识集输入预测网络,基于所述预测网络预测所述目标对话上文的初步对话回复;根据所述初步对话回复更新所述目标对话上文;
将更新后的对话上文和所述第一候选知识集输入知识选择网络,基于所述知识选择网络获取每个候选知识文本被选中的概率值;在所述第一候选知识集中筛选概率值最大目标知识文本;
根据所述目标对话上文和所述目标知识文本,生成所述目标对话上文的最终对话回复。
2.根据权利要求1所述的方法,其特征在于,所述根据所述初步对话回复更新所述目标对话上文,包括:
对所述目标对话上文进行第一编码处理,得到第一查询向量;
获取第一参数矩阵和第一特征向量;所述第一特征向量为所述初步对话回复的向量化表示;
根据所述第一特征向量和所述第一参数矩阵,生成第一中间特征向量;
将所述第一查询向量与所述第一中间特征向量进行特征连接处理,得到更新后的第一查询向量。
3.根据权利要求2所述的方法,其特征在于,所述基于所述知识选择网络获取每个候选知识文本被选中的概率值,包括:
对所述第一候选知识集进行第二编码处理,得到各条候选知识文本的特征向量;根据所述第一查询向量和所述各条候选知识文本的特征向量,生成所述第一候选知识集的特征向量;
获取第二参数矩阵;根据所述第二参数矩阵和更新后的第一查询向量,生成第二中间特征向量;
根据所述第二中间特征向量和所述各条候选知识文本的特征向量,确定所述各条候选知识文本被选中的概率值。
4.根据权利要求1所述的方法,其特征在于,所述预测网络为Transformer模型的解码器;
所述基于所述预测网络预测所述目标对话上文的初步对话回复,包括:
获取第一概率分布,所述第一概率分布为当前时刻生成的词表的概率分布;
将所述目标对话上文的第一查询向量和所述第一候选知识集的特征向量进行相加处理,并将得到的特征向量作为输入特征输入所述解码器;
根据当前时刻的查询矩阵和键矩阵,获取第二概率分布;其中,所述第二概率分布为当前时刻复制所述目标对话上文中词汇的权重;
根据当前时刻的值矩阵获取第一数值,所述第一数值用于指示当前时刻生成的词汇来源于所述目标对话上文的概率;
根据所述第一概率分布、所述第二概率分布和所述第一数值,生成当前时刻的第三概率分布;从所述第三概率分布中选取概率值最大的词汇,将被选取的词汇作为所述解码器在当前时刻的输出。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取第一映射矩阵、第二映射矩阵和第三映射矩阵;
根据所述第一映射矩阵,将目标特征向量映射为当前时刻的查询矩阵,所述目标特征向量用于表征当前时刻的解码器状态;
根据所述第二映射矩阵将所述输入特征映射为当前时刻的键矩阵;
根据所述第三映射矩阵将所述输入特征映射为当前时刻的值矩阵。
6.一种网络训练方法,其特征在于,所述方法包括:
获取历史对话语料,所述历史对话语料包括历史对话上文和历史对话回复;
根据所述历史对话上文获取第二候选知识集,所述第二候选知识集中包括与所述历史对话上文在内容上关联的候选知识文本;
根据所述历史对话上文和所述第二候选知识集,预测所述历史对话上文的初步对话回复;根据所述初步对话回复更新所述历史对话上文;
基于知识选择网络获取第一概率分布,所述第一概率分布以更新后的对话上文为条件且对所述第二候选知识集进行采样;
基于所述知识选择网络获取第二概率分布,所述第二概率分布以所述历史对话上文和所述历史对话回复为条件且对所述第二候选知识集进行采样;
根据所述第一概率分布和所述第二概率分布,构建散度损失函数;
不断优化所述知识选择网络的网络参数,直至最小化所述散度损失函数;
其中,训练得到的知识选择网络负责输出用于对话生成的目标知识文本。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
对所述历史对话上文进行第一编码处理,得到第二查询向量;
对所述第二候选知识集进行第二编码处理,得到所述第二候选知识集中各条候选知识文本的特征向量;根据所述第二查询向量和所述各条候选知识文本的特征向量,生成所述第二候选知识集的特征向量;
以所述第二查询向量和所述第二候选知识集的特征向量作为网络输入,以所述历史对话回复作为网络期望输出,训练预测网络。
8.根据权利要求7所述的方法,其特征在于,所述预测网络为前馈神经网络;所述以所述第二查询向量和所述第二候选知识集的特征向量作为网络输入,以所述历史对话回复作为网络期望输出,训练预测网络,包括:
将所述第二查询向量和所述第二候选知识集的特征向量输入所述前馈神经网络,得到第二特征向量;
将所述历史对话回复输入词袋模型得到样本特征向量;
根据所述第二特征向量和所述样本特征向量构建第一损失函数;
不断优化所述前馈神经网络的网络参数,直至最小化所述第一损失函数,得到所述预测网络;
其中,所述第二特征向量为所述初步对话回复的向量化表示,所述初步对话回复为不包括词序的词袋形式。
9.根据权利要求7所述的方法,其特征在于,所述预测网络为Transformer模型的解码器;
所述以所述第二查询向量和所述第二候选知识集的特征向量作为网络输入,以所述历史对话回复作为网络期望输出,训练预测网络,包括:
将所述第二查询向量和所述第二候选知识集的特征向量输入所述解码器,得到第二特征向量;
获取所述历史对话回复的句子长度;根据所述句子长度和目标概率分布,构建第二损失函数;其中,所述目标概率分布以所述历史对话上文和所述第二候选知识集为条件且对所述历史对话回复进行采样;
不断迭代优化所述解码器的网络参数,直至最小化所述第二损失函数,得到所述预测网络;
其中,所述第二特征向量为所述初步对话回复的向量化表示,所述初步对话回复为包括词序的句子形式。
10.根据权利要求7所述的方法,其特征在于,所述根据所述第二查询向量和所述各条候选知识文本的特征向量,生成所述第二候选知识集的特征向量,包括:
获取第三参数矩阵;根据所述第三参数矩阵和所述第二查询向量,生成第三中间特征向量;
根据所述第三中间特征向量和所述各条候选知识文本的特征向量,获取所述第二候选知识集的注意力权重;
根据所述各条候选知识文本的特征向量和所述注意力权重,生成所述第二候选知识集的特征向量。
11.一种对话生成装置,其特征在于,所述装置包括:
第一获取模块,被配置为获取待响应的目标对话上文;
第二获取模块,被配置为根据所述目标对话上文获取第一候选知识集,所述第一候选知识集中包括与所述目标对话上文在内容上关联的候选知识文本;
预测模块,被配置为将所述目标对话上文和所述第一候选知识集输入预测网络,基于所述预测网络预测所述目标对话上文的初步对话回复;
筛选模块,被配置为根据所述初步对话回复更新所述目标对话上文;将更新后的对话上文和所述第一候选知识集输入知识选择网络,基于所述知识选择网络获取每个候选知识文本被选中的概率值;在所述第一候选知识集中筛选概率值最大目标知识文本;
生成模块,被配置为根据所述目标知识文本,生成所述目标对话上文的最终对话回复。
12.根据权利要求11所述的装置,其特征在于,所述筛选模块,被配置为:
对所述目标对话上文进行第一编码处理,得到第一查询向量;
获取第一参数矩阵和第一特征向量;所述第一特征向量为所述初步对话回复的向量化表示;
根据所述第一特征向量和所述第一参数矩阵,生成第一中间特征向量;
将所述第一查询向量与所述第一中间特征向量进行特征连接处理,得到更新后的第一查询向量。
13.根据权利要求12所述的装置,其特征在于,所述筛选模块,被配置为:
对所述第一候选知识集进行第二编码处理,得到各条候选知识文本的特征向量;根据所述第一查询向量和所述各条候选知识文本的特征向量,生成所述第一候选知识集的特征向量;
获取第二参数矩阵;根据所述第二参数矩阵和更新后的第一查询向量,生成第二中间特征向量;
根据所述第二中间特征向量和所述各条候选知识文本的特征向量,确定所述各条候选知识文本被选中的概率值。
14.根据权利要求11所述的装置,其特征在于,所述预测网络为Transformer模型的解码器;
所述预测模块,被配置为:
获取第一概率分布,所述第一概率分布为当前时刻生成的词表的概率分布;
将所述目标对话上文的第一查询向量和所述第一候选知识集的特征向量进行相加处理,并将得到的特征向量作为输入特征输入所述解码器;
根据当前时刻的查询矩阵和键矩阵,获取第二概率分布;其中,所述第二概率分布为当前时刻复制所述目标对话上文中词汇的权重;
根据当前时刻的值矩阵获取第一数值,所述第一数值用于指示当前时刻生成的词汇来源于所述目标对话上文的概率;
根据所述第一概率分布、所述第二概率分布和所述第一数值,生成当前时刻的第三概率分布;从所述第三概率分布中选取概率值最大的词汇,将被选取的词汇作为所述解码器在当前时刻的输出。
15.根据权利要求14所述的装置,其特征在于,所述预测模块,还被配置为:
获取第一映射矩阵、第二映射矩阵和第三映射矩阵;
根据所述第一映射矩阵,将目标特征向量映射为当前时刻的查询矩阵,所述目标特征向量用于表征当前时刻的解码器状态;
根据所述第二映射矩阵将所述输入特征映射为当前时刻的键矩阵;
根据所述第三映射矩阵将所述输入特征映射为当前时刻的值矩阵。
16.一种网络训练装置,其特征在于,所述装置包括:
第三获取模块,被配置为获取历史对话语料,所述历史对话语料包括历史对话上文和历史对话回复;
第四获取模块,被配置为根据所述历史对话上文获取第二候选知识集,所述第二候选知识集中包括与所述历史对话上文在内容上关联的候选知识文本;
更新模块,被配置为根据所述历史对话上文和所述第二候选知识集,预测所述历史对话上文的初步对话回复;根据所述初步对话回复更新所述历史对话上文;
第五获取模块,被配置为基于知识选择网络获取第一概率分布,所述第一概率分布以更新后的对话上文为条件且对所述第二候选知识集进行采样;基于所述知识选择网络获取第二概率分布,所述第二概率分布以所述历史对话上文和所述历史对话回复为条件且对所述第二候选知识集进行采样;
第一训练模块,被配置为根据所述第一概率分布和所述第二概率分布,构建散度损失函数;不断优化所述知识选择网络的网络参数,直至最小化所述散度损失函数;
其中,训练得到的知识选择网络负责输出用于对话生成的目标知识文本。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括第二训练模块;
所述第二训练模块,被配置为:
对所述历史对话上文进行第一编码处理,得到第二查询向量;
对所述第二候选知识集进行第二编码处理,得到所述第二候选知识集中各条候选知识文本的特征向量;根据所述第二查询向量和所述各条候选知识文本的特征向量,生成所述第二候选知识集的特征向量;
以所述第二查询向量和所述第二候选知识集的特征向量作为网络输入,以所述历史对话回复作为网络期望输出,训练预测网络。
18.根据权利要求17所述的装置,其特征在于,所述预测网络为前馈神经网络;所述第二训练模块,被配置为:
将所述第二查询向量和所述第二候选知识集的特征向量输入所述前馈神经网络,得到第二特征向量;
将所述历史对话回复输入词袋模型得到样本特征向量;
根据所述第二特征向量和所述样本特征向量构建第一损失函数;
不断优化所述前馈神经网络的网络参数,直至最小化所述第一损失函数,得到所述预测网络;
其中,所述第二特征向量为历史对话上文的初步对话回复的向量化表示,所述历史对话上文的初步对话回复为不包括词序的词袋形式。
19.根据权利要求17所述的装置,其特征在于,所述预测网络为Transformer模型的解码器;所述第二训练模块,被配置为:
将所述第二查询向量和所述第二候选知识集的特征向量输入所述解码器,得到第二特征向量;
获取所述历史对话回复的句子长度;根据所述句子长度和目标概率分布,构建第二损失函数;其中,所述目标概率分布以所述历史对话上文和所述第二候选知识集为条件且对所述历史对话回复进行采样;
不断迭代优化所述解码器的网络参数,直至最小化所述第二损失函数,得到所述预测网络;
其中,所述第二特征向量为历史对话上文的初步对话回复的向量化表示,所述历史对话上文的初步对话回复为包括词序的句子形式。
20.根据权利要求17所述的装置,其特征在于,所述第二训练模块,被配置为:
获取第三参数矩阵;根据所述第三参数矩阵和所述第二查询向量,生成第三中间特征向量;
根据所述第三中间特征向量和所述各条候选知识文本的特征向量,获取所述第二候选知识集的注意力权重;
根据所述各条候选知识文本的特征向量和所述注意力权重,生成所述第二候选知识集的特征向量。
21.一种计算机设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现如权利要求1至5中任一项权利要求所述的对话生成方法;或,如权利要求6至10中任一项权利要求所述的网络训练方法。
22.一种存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至5中任一项权利要求所述的对话生成方法;或,如权利要求6至10中任一项权利要求所述的网络训练方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010816286.6A CN111897941B (zh) | 2020-08-14 | 2020-08-14 | 对话生成方法、网络训练方法、装置、存储介质及设备 |
PCT/CN2021/109736 WO2022033332A1 (zh) | 2020-08-14 | 2021-07-30 | 对话生成方法、网络训练方法、装置、存储介质及设备 |
US17/939,440 US20230028944A1 (en) | 2020-08-14 | 2022-09-07 | Dialogue generation method and network training method and apparatus, storage medium, and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010816286.6A CN111897941B (zh) | 2020-08-14 | 2020-08-14 | 对话生成方法、网络训练方法、装置、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111897941A CN111897941A (zh) | 2020-11-06 |
CN111897941B true CN111897941B (zh) | 2023-10-27 |
Family
ID=73228937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010816286.6A Active CN111897941B (zh) | 2020-08-14 | 2020-08-14 | 对话生成方法、网络训练方法、装置、存储介质及设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230028944A1 (zh) |
CN (1) | CN111897941B (zh) |
WO (1) | WO2022033332A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897941B (zh) * | 2020-08-14 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 对话生成方法、网络训练方法、装置、存储介质及设备 |
CN112256857B (zh) * | 2020-11-17 | 2023-02-03 | 北京邮电大学 | 一种基于图注意力机制的对话历史建模方法 |
CN112364148B (zh) * | 2020-12-08 | 2022-05-24 | 吉林大学 | 一种基于深度学习方法的生成型聊天机器人 |
CN112650768A (zh) * | 2020-12-22 | 2021-04-13 | 网易(杭州)网络有限公司 | 对话信息的生成方法、装置及电子设备 |
US11715469B2 (en) * | 2021-02-26 | 2023-08-01 | Walmart Apollo, Llc | Methods and apparatus for improving search retrieval using inter-utterance context |
CN113239157B (zh) * | 2021-03-31 | 2022-02-25 | 北京百度网讯科技有限公司 | 对话模型的训练方法、装置、设备和存储介质 |
CN113420129B (zh) * | 2021-05-08 | 2022-11-18 | 天津大学 | 一种基于大型通用预训练模型控制对话生成的方法 |
CN113436752B (zh) * | 2021-05-26 | 2023-04-28 | 山东大学 | 一种半监督的多轮医疗对话回复生成方法及系统 |
CN113254582A (zh) * | 2021-05-26 | 2021-08-13 | 四川大学 | 一种基于预训练模型的知识驱动对话方法 |
CN113268609B (zh) * | 2021-06-22 | 2023-12-01 | 中国平安人寿保险股份有限公司 | 基于知识图谱的对话内容推荐方法、装置、设备及介质 |
CN113901189A (zh) * | 2021-10-18 | 2022-01-07 | 深圳追一科技有限公司 | 一种数字人交互方法、装置、电子设备及存储介质 |
CN115617972B (zh) * | 2022-12-14 | 2023-04-07 | 成都明途科技有限公司 | 一种机器人对话方法、装置、电子设备及存储介质 |
CN116737888B (zh) * | 2023-01-11 | 2024-05-17 | 北京百度网讯科技有限公司 | 对话生成模型的训练方法和答复文本的确定方法、装置 |
CN116543082A (zh) * | 2023-05-18 | 2023-08-04 | 无锡捷通数智科技有限公司 | 数字人的生成方法、装置和数字人的生成系统 |
CN116628160B (zh) * | 2023-05-24 | 2024-04-19 | 中南大学 | 一种基于多知识库的任务型对话方法、系统及介质 |
CN116432605B (zh) * | 2023-06-14 | 2023-09-22 | 山东大学 | 融入先验知识的作文评语生成方法及装置 |
CN116910187B (zh) * | 2023-09-13 | 2024-01-09 | 之江实验室 | 天文信息提取方法、装置、电子装置和存储介质 |
CN116955579B (zh) * | 2023-09-21 | 2023-12-29 | 武汉轻度科技有限公司 | 一种基于关键词知识检索的聊天回复生成方法和装置 |
CN117609486B (zh) * | 2024-01-10 | 2024-06-14 | 广东数业智能科技有限公司 | 一种心理领域智能对话系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180108066A1 (en) * | 2016-10-16 | 2018-04-19 | Ebay Inc. | Intelligent online personal assistant with multi-turn dialog based on visual search |
CN110059169A (zh) * | 2019-01-25 | 2019-07-26 | 邵勃 | 基于语料标注的智能机器人聊天上下文实现方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582767B (zh) * | 2018-11-21 | 2024-05-17 | 北京京东尚科信息技术有限公司 | 对话系统处理方法、装置、设备及可读存储介质 |
US11514330B2 (en) * | 2019-01-14 | 2022-11-29 | Cambia Health Solutions, Inc. | Systems and methods for continual updating of response generation by an artificial intelligence chatbot |
CN110222155B (zh) * | 2019-06-13 | 2020-10-02 | 北京百度网讯科技有限公司 | 知识选择策略的对话生成方法、装置以及终端 |
CN110245222B (zh) * | 2019-06-17 | 2021-08-10 | 北京百度网讯科技有限公司 | 对话模型训练方法及装置、对话生成方法及装置 |
CN110704703A (zh) * | 2019-09-27 | 2020-01-17 | 北京百度网讯科技有限公司 | 人机对话方法及装置 |
CN111897941B (zh) * | 2020-08-14 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 对话生成方法、网络训练方法、装置、存储介质及设备 |
-
2020
- 2020-08-14 CN CN202010816286.6A patent/CN111897941B/zh active Active
-
2021
- 2021-07-30 WO PCT/CN2021/109736 patent/WO2022033332A1/zh active Application Filing
-
2022
- 2022-09-07 US US17/939,440 patent/US20230028944A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180108066A1 (en) * | 2016-10-16 | 2018-04-19 | Ebay Inc. | Intelligent online personal assistant with multi-turn dialog based on visual search |
CN110059169A (zh) * | 2019-01-25 | 2019-07-26 | 邵勃 | 基于语料标注的智能机器人聊天上下文实现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2022033332A1 (zh) | 2022-02-17 |
US20230028944A1 (en) | 2023-01-26 |
CN111897941A (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111897941B (zh) | 对话生成方法、网络训练方法、装置、存储介质及设备 | |
CN108959627B (zh) | 基于智能机器人的问答交互方法及系统 | |
CN107846350B (zh) | 一种语境感知网络聊天的方法、计算机可读介质和系统 | |
CN106875940B (zh) | 一种基于神经网络的机器自学习构建知识图谱训练方法 | |
CN117149989B (zh) | 大语言模型训练方法、文本处理方法及装置 | |
EP3884426B1 (en) | Action classification in video clips using attention-based neural networks | |
CN112214591B (zh) | 一种对话预测的方法及装置 | |
CN117521675A (zh) | 基于大语言模型的信息处理方法、装置、设备及存储介质 | |
CN113761156A (zh) | 人机交互对话的数据处理方法、装置、介质及电子设备 | |
CN114648032B (zh) | 语义理解模型的训练方法、装置和计算机设备 | |
CN113392197A (zh) | 问答推理方法、装置、存储介质及电子设备 | |
CN116541493A (zh) | 基于意图识别的交互应答方法、装置、设备、存储介质 | |
CN114330483A (zh) | 数据处理方法及模型训练方法、装置、设备、存储介质 | |
CN111767720B (zh) | 一种标题生成方法、计算机及可读存储介质 | |
CN117271745A (zh) | 一种信息处理方法、装置及计算设备、存储介质 | |
Sonawane et al. | ChatBot for college website | |
CN117291185A (zh) | 任务处理方法、实体识别方法及任务处理的数据处理方法 | |
WO2023279921A1 (zh) | 神经网络模型的训练方法、数据处理的方法及装置 | |
CN109002498B (zh) | 人机对话方法、装置、设备及存储介质 | |
CN112149426B (zh) | 阅读任务处理方法及相关设备 | |
CN114333790A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN112052320A (zh) | 一种信息处理方法、装置及计算机可读存储介质 | |
Raut | A virtual chatbot for ITSM application | |
WO2023061443A1 (zh) | 一种确定回复语句的方法及装置 | |
CN113688333B (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 |