CN112214591B - 一种对话预测的方法及装置 - Google Patents
一种对话预测的方法及装置 Download PDFInfo
- Publication number
- CN112214591B CN112214591B CN202011179209.0A CN202011179209A CN112214591B CN 112214591 B CN112214591 B CN 112214591B CN 202011179209 A CN202011179209 A CN 202011179209A CN 112214591 B CN112214591 B CN 112214591B
- Authority
- CN
- China
- Prior art keywords
- attention
- feature
- matrix
- training
- text
- 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 139
- 230000008569 process Effects 0.000 claims abstract description 57
- 239000011159 matrix material Substances 0.000 claims description 196
- 238000012549 training Methods 0.000 claims description 153
- 239000013598 vector Substances 0.000 claims description 67
- 230000002457 bidirectional effect Effects 0.000 claims description 45
- 230000004927 fusion Effects 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 22
- 238000007477 logistic regression Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 14
- 238000005516 engineering process Methods 0.000 abstract description 11
- 239000010410 layer Substances 0.000 description 61
- 102100033814 Alanine aminotransferase 2 Human genes 0.000 description 23
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 101000779415 Homo sapiens Alanine aminotransferase 2 Proteins 0.000 description 12
- 101710096000 Alanine aminotransferase 2 Proteins 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000003058 natural language processing Methods 0.000 description 6
- 238000011160 research Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013526 transfer learning Methods 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/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请提供一种对话预测的方法及装置,属于计算机技术领域,涉及人工智能和计算机视觉技术,用于提高对话预测的准确性。方法包括:获取聊天过程中的当前输入文本的当前文本特征;确定当前输入文本对应的辅助聊天信息;通过编码器提取辅助聊天信息的编码特征;以编码特征和当前文本特征作为解码器的输入,确定编码特征和当前文本特征分别对应的权重,并根据权重将编码特征和当前文本特征进行融合,得到与当前输入文本对应的对话输出特征;基于对话输出特征输出与天过程匹配的对话信息。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种对话预测的方法及装置。
背景技术
目前聊天机器人广泛运用于即时通讯平台,一般以娱乐、零售行销、以及客服为目的。聊天机器人是经由对话或文字进行交谈的计算机程序,能够模拟人类对话。程序将通过算法把预先设定好的回答进行回复。研发者把人类自然对话内容放到数据库中供程序学习,当聊天机器人接收到对话时,识别其中的词组和句子,并通过对话预测,从数据库中找到最贴切的答案进行回复。
利用编码器-解码器结构进行对话预测时,将聊天历史文本和当前文本作为输入源,分别先使用编码器生成对应的隐变量特征,这些特征会在解码器端使用自注意力机制分别生成新的隐变量,而不同的输入源对应的变量之间通过平均的方法生成单一变量,作为最终的解码特征进行对话预测。这种方式生成的输出结果与聊天历史的一致性较低,准确性较低,从而对话的流畅度和自然度较低。
发明内容
为解决相关技术中存在的技术问题,本申请实施例提供一种对话预测的方法及装置,可以提高对话预测的准确性。
为达到上述目的,本申请实施例的技术方案是这样实现的:
一方面,本申请实施例提供一种对话预测方法,所述方法包括:
获取聊天过程中的当前输入文本的当前文本特征;
确定所述当前输入文本对应的辅助聊天信息;
通过编码器提取所述辅助聊天信息的编码特征;
以所述编码特征和所述当前文本特征作为解码器的输入,确定所述编码特征和所述当前文本特征分别对应的权重,并根据权重将所述编码特征和所述当前文本特征进行融合,得到与所述当前输入文本对应的对话输出特征;
基于所述对话输出特征输出与所述聊天过程匹配的对话信息。
另一方面,本申请实施例还提供一种对话预测装置,所述装置包括:
特征单元,用于获取聊天过程中的当前输入文本的当前文本特征;
参考单元,用于确定所述当前输入文本对应的辅助聊天信息;
所述特征单元,还用于通过编码器提取所述辅助聊天信息的编码特征;
确定单元,用于以所述编码特征和所述当前文本特征作为所述解码器的输入,确定所述编码特征和所述当前文本特征分别对应的权重,并根据权重将所述编码特征和所述当前文本特征进行融合,得到与所述当前输入文本对应的对话输出特征;
输出单元,用于基于所述对话输出特征输出与所述聊天过程匹配的对话信息。
在一种可选的实施例中,辅助聊天信息包括人物个性信息和历史聊天信息;
特征单元,具体用于:
通过所述编码器,确定所述历史聊天信息对应的历史编码特征,以及所述人物个性信息对应的辅助编码特征。
在一种可选的实施例中,确定单元,具体用于:
将所述编码特征以及所述当前文本特征输入所述编码器对应的解码器中,利用所述解码器中的注意力模型确定所述当前文本特征、所述编码特征分别对应的权重;
利用权重将所述当前文本特征与所述编码特征加权,得到所述融合特征;
将所述融合特征、所述编码特征输入线性预测模型中,得到多个输出文本特征以及对应的生成概率;
将生成概率最高的输出文本特征作为所述当前输入文本对应的对话输出特征。
在一种可选的实施例中,所述解码器中的注意力模型包括自注意力模型、第一双向注意力模型、第二双向注意力模型以及注意力加权模型;
所述确定单元,具体用于:
将所述当前文本特征输入所述自注意力模型中,确定所述当前文本特征的输入注意力矩阵;
将所述当前文本特征和所述历史编码特征输入所述第一双向注意力模型中,将所述当前文本特征作为所述第一双向注意力模型的查询向量,将所述历史编码特征作为所述第一双向注意力模型的键向量和值向量,进行逻辑回归得到所述第一双向注意力模型输出的历史注意力矩阵;
将所述当前文本特征和辅助编码特征输入第二双向注意力模型中,将所述当前文本特征作为所述第二双向注意力模型的查询向量,将所述辅助编码特征作为所述第二双向注意力模型的键向量和值向量,进行逻辑回归得到所述第二双向注意力模型输出的辅助注意力矩阵。
在一种可选的实施例中,所述确定单元,具体用于:
将所述输入注意力矩阵、所述历史注意力矩阵以及辅助注意力矩阵输入所述注意力加权模型,分别确定所述输入注意力矩阵的权重、所述历史注意力矩阵的权重、以及所述辅助注意力矩阵的权重;
根据权重将所述历史注意力矩阵、所述辅助注意力矩阵以及所述输入注意力矩阵进行融合,得到融合特征矩阵。
在一种可选的实施例中,所述输入注意力矩阵的权重、所述历史注意力矩阵的权重、以及所述辅助注意力矩阵的权重均为标量;或者所述输入注意力矩阵的权重、所述历史注意力矩阵的权重、以及所述辅助注意力矩阵的权重均为向量;
还包括训练单元,用于:
根据原始标量参数,将所述输入注意力矩阵的权重、所述历史注意力矩阵的权重、以及所述辅助注意力矩阵的权重分别初始化;
利用聊天训练文本对所述解码器进行迭代训练的过程中,更新所述历史注意力矩阵的权重、所述辅助注意力矩阵的权重以及所述输入注意力矩阵的权重,分别得到所述历史注意力矩阵的第一标量参数、所述辅助注意力矩阵的第二标量参数以及所述输入注意力矩阵的第三标量参数。
在一种可选的实施例中,训练单元,还用于:
将所述输入注意力矩阵、所述历史注意力矩阵、以及所述辅助注意力矩阵进行矩阵连接,得到拼接矩阵;
将所述拼接矩阵输入线性网络中,根据所述线性网络中的线性参数以及所述拼接矩阵,得到所述融合特征矩阵。
在一种可选的实施例中,训练单元,具体用于:
获取聊天训练样本,所述聊天训练样本中包括训练输入文本、所述训练输入文本对应的训练参考文本以及训练辅助信息;
根据所述聊天训练文本以及待训练对话预测模型进行迭代训练,直至迭代终止时,得到对话预测模型;所述对话预测模型包括编码器、解码器以及线性预测模型。
在一种可选的实施例中,训练单元,具体用于:
确定所述训练输入文本的训练输入特征,并通过所述对话预测模型中的编码器,确定所述训练参考文本的训练历史编码特征以及训练辅助信息的训练辅助编码特征;
将所述训练输入特征、所述训练历史编码特征和所述训练辅助编码特征输入所述编码器对应的解码器,初始化所述训练输入特征的权重、所述训练历史编码特征的权重以及所述训练辅助编码特征的权重;
根据权重将进行所述训练输入特征、所述训练历史编码特征和所述训练辅助编码特征进行特征融合,得到融合特征;
根据所述训练历史编码特征、所述训练辅助编码特征以及所述融合特征确定训练输入文本对应的训练输出文本;
根据所述训练参考文本以及所述训练输出文本确定损失函数,并基于所述损失函数调整所述对话预测模型的模型参数。
另一方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述对话预测方法。
另一方面,本申请实施例还提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现上述对话预测方法。
本申请实施例在聊天过程中,接收到当前输入文本之后,确定当前输入文本的当前文本特征。另一方面,确定当前输入文本对应的辅助聊天信息,并通过编码器提取辅助聊天信息的编码特征。然后以编码特征和当前文本特征作为解码器的输入,确定当前文本特征、编码特征分别对应的权重,并根据权重将当前文本特征与编码特征进行融合,再得到与当前输入文本对应的对话输出特征,基于对话输出特征输出与聊天过程匹配的对话信息。本申请实施例基于编码器-解码器结构模型,增加了输入源类型,且动态地给予不同输入源不同权重,使得生成的对话信息充分反映辅助聊天信息的同时可以与聊天过程保持较好的一致性,提高了预测的准确率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种对话预测模型的原理示意图;
图2为本申请实施例中对话预测方法的应用架构示意图;
图3为本申请实施例提供的一种对话预测方法的流程图;
图4为本申请实施例提供的编码器解码器的原理示意图;
图5为本申请实施例中解码器的单层结构示意图;
图6为本申请实施例提供的一种对话预测装置的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
以下对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
多输入聊天对话:生成对话的输入除了聊天历史外,还有诸如人物个性、背景知识之类的辅助信息,模型产生的对话回复,除了需要和聊天历史有关联外,还需要体现出辅助信息。
预训练模型:通过无监督的训练方法在超大规模预训练语料集上得到的具有较大模型规模的神经网络模型,当应用到具体任务上时,需要基于新数据并添加新模块进行微调,诸如BERT(Bidirectional Encoder Representation from Transformers,基于变压器的双向编码器表示,)、OpenAIGPT、GPT2都是此类模型。
自注意力机制:一种注意力机制,注意力机制模仿了生物观察行为的内部过程,即一种将内部经验和外部感觉对齐从而增加部分区域的观察精细度的机制。注意力机制可以快速提取稀疏数据的重要特征,因而被广泛用于自然语言处理任务,特别是机器翻译。自注意力机制将原始的特征空间分割成多个抽头,每个抽头使用独立的权重矩阵将原输入转换成对应的查询(query)、键(key)和值(value)特征向量,三个向量之间相乘结果在不同的抽头之间连接作为最后的自注意力输出。
线性网络:使用一次线性变换将输入特征向量转化到新的特征空间,f(x)=xW+b,其中/>均为可训练参数。
下面结合附图及具体实施例对本申请作进一步详细的说明。
相关技术中,预训练模型只能接收单文本序列输入,因此将其应用到多输入聊天对话任务上最简单的方法就是将所有输入文本,包括聊天历史、辅助信息连接成一个单一序列,中间使用特殊符号分隔,一起输入到预训练模型中。这种方法在编解码过程中,辅助信息与输出文本生成位置较远,会导致生成的对话结果较少反映辅助信息。
另一类模型是使用编码器-解码器结构,编码器和解码器均使用预训练模型初始化。多个不同输入,包括聊天历史、个人信息等,会分别先使用编码器生成对应的隐变量特征,这些特征会在解码器端使用自注意力机制分别生成新的隐变量,而不同的输入源对应的变量之间通过平均的方法生成单一变量,作为最终的解码特征输入。虽然不同输入源在编码时被分别处理,但是在解码过程中使用简单的平均机制虽然会较好地反映辅助信息,但是会导致生成结果与聊天历史地一致性较低。
为了解决相关技术中因不同输入源对应的变量因权重相同而导致预测准确性较低的问题,本申请实施例提供了一种对话预测的方法及装置。本申请实施例涉及人工智能(Artificial Intelligence,AI)、语音技术(Speech Technology)、自然语言处理(NatureLanguage processing,NLP)和机器学习技术,基于人工智能中的机器学习(MachineLearning,ML)而设计。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术主要包括计算机视觉技术、语音处理技术、以及机器学习/深度学习等几大方向。
随着人工智能技术研究和进步,人工智能在多个领域展开研究和应用,例如常见的智能家居、图像检索、视频监控、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗等,相信随着技术的发展,人工智能将在更多的领域得到应用,并发挥越来越重要的价值。
语音技术的关键技术有自动语音识别技术(ASR)和语音合成技术(TTS)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。本申请实施例提供的对话预测方法可以应用于机器人问答等场景中,也可以使用与其它的文本生成场景,如问题生成、摘要生成等。本申请实施例在将预测文本的过程中,采用了基于编码器-解码器的模型网络对输入信息进行特征编码得到编码特征,并确定不同编码特征的权重,利用线性预测模型确定对话输出特征,从而确定聊天过程中的对话信息。
图1示出了本申请实施例中对话预测模型的原理示意图。如图1所示,本申请实施例利用编码器-解码器的模型网络,人物个性信息和历史聊天信息分别作为单一序列输入到使用GPT2初始化的编码器,编码后的隐变量则和当前输入(训练下为生成回复标签,生成中为已生成的序列)分别作为使用GPT2初始化的解码器的多个输入。解码器最终生成的单一特征序列作为线性预测层的输入生成对话回复。初始输入的文本序列均通过GPT2自带的词嵌入层转换成对应的特征矩阵。训练过程中的损失函数由三部分加权组成:(1)根据辅助编码特征生成的人物个性信息的损失函数;(2)根据历史编码特征生成的历史聊天信息的损失函数;(3)根据解码器输出生成的生成对话损失函数。整体结构中编码器和解码器的参数不共享,且使用了多个不同输入源加权的损失函数。
参阅图2所示,为本申请实施例中对话预测方法及图像分割方法的应用架构示意图,包括服务器100、终端设备200。
终端设备200可以是具有麦克风扬声器等声音输入输出装置的设备,例如,终端设备200可以接收用户的语音问询,并向用户播放语音反馈。
终端设备200与服务器100之间可以通过互联网相连,实现相互之间的通信。可选地,上述的互联网使用标准通信技术和/或协议。互联网通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan AreaNetwork,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure SocketLayer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(VirtualPrivate Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
服务器100可以为终端设备200提供各种网络服务,其中,服务器100可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。
具体地,服务器100可以包括处理器110(Center Processing Unit,CPU)、存储器120、输入设备130和输出设备140等,输入设备130可以包括键盘、鼠标、触摸屏等,输出设备140可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器120可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器110提供存储器120中存储的程序指令和数据。在本发明实施例中,存储器120可以用于存储本发明实施例中对话预测方法的程序。
处理器110通过调用存储器120存储的程序指令,处理器110用于按照获得的程序指令执行本发明实施例中任一种对话预测方法的步骤。
需要说明的是,本发明实施例中,对话预测方法主要由服务器100侧执行,例如,针对对话预测方法,终端设备200可以将接收到的语音信息转换为当前输入文本,发送给服务器100。由服务器100根据历史聊天信息等预测当前输入文本对应的对话信息,并可以将对话信息返回给终端设备200。终端设备200将对话信息转换为语音的形式向用户播放。如图1所示的应用架构,是以应用于服务器100侧为例进行说明的,当然,本发明实施例中的对话预测方法也可以由终端设备200执行,例如终端设备200可以从服务器100侧获得训练好的对话预测模型,从而基于该对话预测模型,对当前输入文本进行对话预测得到对话信息,对此本发明实施例中并不进行限制。
另外,本发明实施例中的应用架构图是为了更加清楚地说明本发明实施例中的技术方案,并不构成对本发明实施例提供的技术方案的限制,对于其它的应用架构和业务应用,本发明实施例提供的技术方案对于类似的问题,同样适用。
本发明各个实施例以应用于图2所示的应用架构图为例进行示意性说明。
图3示出了本申请一个实施例提供的对话预测方法的流程图。如图3所示,该方法包括如下步骤:
步骤S301,获取聊天过程中的当前输入文本的当前文本特征。
具体实施过程中,当前输入文本可以是终端设备通过麦克风等语音输入设备接收到语音信息后,将语音信息转换为文本信息;或者也可以是终端设备通过键盘等文本输入设备直接接收到文本信息。此外,终端设备也可以将接收到的语音信息转换为文本信息后,发送至服务器;或者终端设备直接将语音信息发送至服务器,由服务器将语音信息转换为文本信息。
进一步地,机器学习算法往往无法直接处理文本数据,需要把文本数据转换为数值型数据,即提取当前输入文本的当前文本特征。本申请实施例中,对提取当前文本特征的方式不做限制,例如可以为TF-IDF(term frequency-inverse document frequency,词频-逆文本频率指数)模型、词频方法(Word Frequency)、文档频次方法(DocumentFrequency)、信息增益方法(Information Gain)等。较佳地,本申请实施例中通过词嵌入(embedding)层将当前输入文本转换成对应的特征矩阵。
步骤S302,确定当前输入文本对应的辅助聊天信息。
其中,辅助聊天信息可以包括人物个性信息和历史聊天信息。
具体实施过程中,人物个性信息可以为预先设置存储的,与对话聊天的人物个性相关的信息,例如人物性别、年龄、身份、所处环境等。历史聊天信息主要为聊天过程中当前输入文本之前一段时间内的聊天信息,需要结合历史聊天信息和当前聊天信息,预测针对当前聊天信息的回话,从而使预测的对话信息更符合上文和语境。
步骤S303,通过编码器提取辅助聊天信息的编码特征。
对应于历史聊天信息和人物个性信息,通过编码器提取辅助聊天信息的编码特征,包括:
通过编码器,确定历史聊天信息对应的历史编码特征,以及人物个性信息对应的辅助编码特征。
具体地,将历史聊天信息和人物个性信息分别作为输入源输入编码器中,通过编码器计算得到对应的隐变量,即历史编码特征和辅助编码特征。编码器的具体结构本申请实施例不做限制,例如,可以是单向的循环神经网络,也可以是双向循环神经网络,或者其它网络结构等。
步骤S304,以编码特征和当前文本特征作为解码器的输入,确定编码特征和当前文本特征分别对应的权重,并根据权重将编码特征和当前文本特征进行融合,得到与当前输入文本对应的对话输出特征。
具体实施过程中,在编码器得到历史编码特征、辅助编码特征后,将历史编码特征、辅助编码特征和当前文本特征一起作为多个输入,输入解码器中。解码器分别确定历史编码特征、辅助编码特征和当前文本特征的权重,根据权重将历史编码特征、辅助编码特征和当前文本特征进行融合得到特征矩阵,并根据融合后的特征矩阵预测对话输出特征。本申请实施例中,解码器的网络结构不做限制,可以为RNN模型、GPT模型、GPT2模型等。
步骤S305,基于对话输出特征输出与聊天过程匹配的对话信息。
具体实施过程中,可以是服务器根据对话输出特征确定对话输出文本,再确定对应的对话信息,将对话信息反馈至终端设备后,由终端设备的语音输出装置如喇叭、耳机等向用户播放;也可以是服务器确定对话输出文本后,将对话输出文本发送至终端设备,由终端设备通过显示屏等输出装置向用户显示;或者直接由终端设备中的编码器-解码器结构得到对话输出特征后,根据对话输出特征确定对应的对话信息。
本申请实施例在聊天过程中,接收到当前输入文本之后,确定当前输入文本的当前文本特征。另一方面,确定当前输入文本对应的辅助聊天信息,并通过编码器提取辅助聊天信息的编码特征。然后以编码特征和当前文本特征作为解码器的输入,确定当前文本特征、编码特征分别对应的权重,并根据权重将当前文本特征与编码特征进行融合,再得到与当前输入文本对应的对话输出特征,基于对话输出特征输出与聊天过程匹配的对话信息。本申请实施例基于编码器-解码器结构模型,增加了输入源类型,且动态地给予不同输入源不同权重,使得生成的对话信息充分反映辅助聊天信息的同时可以与聊天过程保持较好的一致性,提高了预测的准确率。
图4示出了编码器-解码器的原理示意图,如图4所示,对于机器翻译而言,编码器依次接收源语言句子的每个词,最后得到语义向量v。解码器首先输入bos,即句子的开始,根据它和v预测出下一个词使用每个词的概率,挑选出概率最大的一个或几个词。接下来将这个词与v送入解码器,得到几下一个此,如此循环,直到得到eos,即句子的结尾,翻译结束。这里使用了集束搜索(beam search)技术。
编码器-解码器结构中的编码器和解码器可以分别为不同的机器学习模型,例如,编码器为CNN模型,解码器为RNN模型;或者编码器和解码器为相同的机器学习模型,例如编码器与解码器均为GPT模型。同时,输入源可以经过编码器进行编码后再输入解码器,也可以输入源直接输入解码器,本申请不做限制。本申请实施例中以编码器和解码器均为GPT2模型进行举例说明。
一般来说,GPT2堆叠有多个transformer层,GPT模型可以堆叠12层、24层、36层、48层,GPT-2是使用transformer解码器模块构建的,本申请实施例中的解码器设置有12层。
下面对GPT2模型的结构和工作原理进行说明。
GPT2模型一次只输出一个单词(token),在每个新单词产生后,该单词就被添加在之前生成的单词序列后面,这个序列会成为模型下一步的新输入。这种机制叫做自回归(auto-regression)。
GPT-2可以处理最长1024个单词的序列。每个单词都会和它的前续路径一起依次输入所有的解码器模块。
GPT-2模型,一般为随机工作,即生成无条件样本。在随机情况下,提供一个预先定义好的起始单词(训练好的模型使用“|endoftext|”作为它的起始单词,将其称为<s>),然后让模型生成文字。
此时,模型的输入只有一个单词,所以只有这个单词的路径是活跃的。单词经过层层处理,最终得到一个向量。向量可以对于词汇表的每个单词计算一个概率。接下来,将输出的单词添加在输入序列的尾部构建新的输入序列,让模型进行下一步的预测。
GPT-2的每一层都保留了它们对第一个单词的解释,并且将运用这些信息处理第二个单词,GPT-2不会根据第二个单词重新解释第一个单词。GPT-2同样从嵌入矩阵中查找单词对应的嵌入向量,该矩阵也是模型训练结果的一部分。嵌入向量的长度和GPT-2模型的大小有关,最小的模型使用了长为768的嵌入向量来表征一个单词。
因此,首先在嵌入矩阵中查找起始单词<s>对应的嵌入向量。在将其输入给模型之前,还需要引入位置编码,一些向transformer模块指出序列中的单词顺序的信号。1024个输入序列位置中的每一个都对应一个位置编码,这些编码组成的矩阵也是训练模型的一部分。
至此,输入单词在进入模型第一个transformer模块之前所有的处理步骤就结束了。训练后的GPT-2模型包含两个权值矩阵:嵌入矩阵和位置编码矩阵。
第一个transformer模块处理单词的步骤如下:首先通过自注意力层处理,接着将其传递给神经网络层。第一个transformer模块处理完后,会将结果向量传入堆栈中的下一个transformer模块,继续进行计算。每一个transformer模块的处理方式都是一样的,但每个模块都会维护自己的自注意力层和神经网络层中的权重。
自注意力层在处理每个单词(将其传入神经网络)之前,融入了模型对于用来解释某个单词的上下文的相关单词的理解。具体做法是,给序列中每一个单词都赋予一个相关度得分,之后对他们的向量表征求和。
自注意力层沿着序列中每一个单词的路径进行处理,主要由3个向量组成:
查询向量(Query向量):当前单词的查询向量被用来和其它单词的键向量相乘,从而得到其它词相对于当前单词的注意力得分。模型只关心目前正在处理的单词的查询向量。
键向量(Key向量):键向量就像是序列中每个单词的标签,在搜索相关单词时用来匹配的对象。
值向量(Value向量):值向量是单词真正的表征,当算出注意力得分后,使用值向量进行加权求和得到能代表当前位置上下文的向量。
当最后一个transformer模块产生输出之后(即经过了最后一个transformer模块的自注意力层和神经网络层的处理),模型会将输出的向量乘上嵌入矩阵。嵌入矩阵的每一行都对应模型的词汇表中一个单词的嵌入向量。所以这个乘法操作得到的结果就是词汇表中每个单词对应的注意力得分。
具体实施过程中,可以简单地选取得分最高的单词作为输出结果(即top-k=1)。但其实如果模型考虑其他候选单词的话,效果通常会更好。所以,可以对于词汇表中得分较高的一部分单词,将它们的得分作为概率从整个单词列表中进行抽样(得分越高的单词越容易被选中)。
这样,GPT2模型就完成了一轮迭代,输出了一个单词。模型会接着不断迭代,直到生成一个完整的序列,即序列达到1024的长度上限或序列中产生了一个终止符。
下面具体介绍本申请实施例中的对话预测模型的网络结构。本申请实施例中的对话预测模型的网络结构具体如图1所示,包括编码器、解码器以及线性预测模型,其中编码器、解码器以及线性预测模型联合训练。
预测过程中,以编码特征和当前文本特征作为解码器的输入,确定编码特征和当前文本特征分别对应的权重,并根据权重将编码特征和当前文本特征进行融合,得到与当前输入文本对应的对话输出特征,包括:
将编码特征以及当前文本特征输入编码器对应的解码器中,利用解码器中的注意力模型确定当前文本特征、编码特征分别对应的权重;
利用权重将当前文本特征与编码特征加权,得到融合特征;
将融合特征、编码特征输入线性预测模型中,得到多个输出文本特征以及对应的生成概率;
将生成概率最高的输出文本特征作为当前输入文本对应的对话输出特征。
其中,模型的整体结构类似于MI-GPT,人物个性信息和历史聊天信息分别作为单一序列输入到使用GPT2初始化的编码器,编码后的隐变量则和当前输入分别作为使用GPT2初始化的解码器的多个输入。解码器最终生成的单一特征序列作为线性预测层的输入生成对话回复。初始输入的文本序列均通过GPT2自带的词嵌入(embedding)层转换成对应的特征矩阵。训练过程中的损失函数由三部分加权组成:根据辅助编码特征生成的人物个性信息的损失函数、根据历史编码特征生成的历史聊天信息的损失函数,以及根据解码器输出生成的对话回复损失函数。整体结构与MI-GPT的不同之处为:使用了GPT2模型代替GPT模型;编码器和解码器的参数不共享而MI-GPT为参数共享;使用了多个不同输入源加权的损失函数取代了单一对话生成损失函数。
进一步地,解码器中的注意力模型包括自注意力模型、第一双向注意力模型、第二双向注意力模型以及注意力加权模型;
确定历史聊天信息对应的历史编码特征,以及人物个性信息对应的辅助编码特征之后,还包括:
将当前文本特征输入自注意力模型中,确定当前文本特征的输入注意力矩阵;
将当前文本特征和历史编码特征输入第一双向注意力模型中,将当前文本特征作为第一双向注意力模型的查询向量,将历史编码特征作为第一双向注意力模型的键向量和值向量,进行逻辑回归得到第一双向注意力模型输出的历史注意力矩阵;
将当前文本特征和辅助编码特征输入第二双向注意力模型中,将当前文本特征作为第二双向注意力模型的查询向量,将辅助编码特征作为第二双向注意力模型的键向量和值向量,进行逻辑回归得到第二双向注意力模型输出的辅助注意力矩阵。
进一步地,确定编码特征和当前文本特征分别对应的权重,并根据权重将编码特征和当前文本特征进行融合,包括:
将输入注意力矩阵、历史注意力矩阵以及辅助注意力矩阵输入注意力加权模型,分别确定输入注意力矩阵的权重、历史注意力矩阵的权重、以及辅助注意力矩阵的权重;
根据权重将历史注意力矩阵、辅助注意力矩阵以及输入注意力矩阵进行融合,得到融合特征矩阵。
具体来说,解码器端为了适应多输入有所变化,编码器包含若干层,每层结构如图5所示。与原始GPT2不同的就是2个额外的双向注意力层以及注意力特征加权。双向注意力层基于原始自注意力层改进而来,为了处理两个不同的输入,原先的查询(query)输入为当前文本特征而键(key)和值(value)则为额外信息(辅助信息或者聊天历史信息)特征/>新的双向注意力层可以表示如下:
其中,WQ、WK和WV均为可训练参数矩阵,d为当前特征维度大小,Lc为当前输入序列长度,Le为额外信息序列长度。
通过只接收当前文本特征/上一层隐变量的自注意力层、辅助信息与当前输入作为输入的双向注意力层、聊天历史以及当前输入作为输入的双向注意力层,可以得到3个注意力特征矩阵不同于MI-GPT的平均方法,本申请实施例使用动态加权的方法将三个注意力特征矩阵融合为单一特征矩阵/>以进行后续操作。下面分别介绍三种融合方式。
第一种为输入注意力矩阵的权重、历史注意力矩阵的权重、以及辅助注意力矩阵的权重均为标量,这种情况下输入源维度可训练加权(SW)。
此时,获取聊天过程中的当前输入文本的当前文本特征之前,还包括:
根据原始标量参数,将输入注意力矩阵的权重、历史注意力矩阵的权重、以及辅助注意力矩阵的权重分别初始化;
利用聊天训练文本对解码器进行迭代训练的过程中,更新历史注意力矩阵的权重、辅助注意力矩阵的权重以及输入注意力矩阵的权重,分别得到历史注意力矩阵的第一标量参数、辅助注意力矩阵的第二标量参数以及输入注意力矩阵的第三标量参数。
具体实施过程中,对于第i层,对于当前输入注意力矩阵辅助注意力矩阵/>和历史注意力矩阵/>分别赋予不同的可训练标量权重/>可选的,均使用1/3作为初始化值,并在训练的过程种同步更新。融合特征矩阵可以表示如下:
第二种为输入注意力矩阵的权重、历史注意力矩阵的权重、以及辅助注意力矩阵的权重均为向量,这种情况下输入源以及特征维度可训练加权(SDW)。
此时,接收当前输入文本,确定当前输入文本的当前文本特征之前,还包括:
根据原始向量参数,将输入注意力矩阵的权重、历史注意力矩阵的权重、以及辅助注意力矩阵的权重分别初始化;
利用聊天训练文本对解码器进行迭代训练的过程中,更新历史注意力矩阵的权重、辅助注意力矩阵的权重以及输入注意力矩阵的权重,分别得到历史注意力矩阵的第一向量参数、辅助注意力矩阵的第二向量参数以及输入注意力矩阵的第三向量参数。
具体实施过程中,对于第i层,对于输入注意力矩阵辅助注意力矩阵/>和历史注意力矩阵/>分别赋予不同的可训练权重向量/>不同源在具体维度上可以获得不同的权重,所有参数均使用1/3作为初始化值,并在训练过程中同步更新。融合特征矩阵可以表示为:
其中,指将/>拷贝Lc行构成新矩阵大小为Lc×d,°表示矩阵对应位置数值一一相乘,此处除法也为对应位置一一相除。
第三种为进行矩阵连接,得到拼接矩阵,根据拼接矩阵训练一个线性网络作为权重,这种情况下线性网络可训练加权(LW)。
此时,确定编码特征和当前文本特征分别对应的权重,并根据权重将编码特征和当前文本特征进行融合,包括:
将输入注意力矩阵、历史注意力矩阵、以及辅助注意力矩阵进行矩阵连接,得到拼接矩阵;
将拼接矩阵输入线性网络中,根据线性网络中的线性参数以及拼接矩阵,得到融合特征矩阵。
具体实施过程中,对于第i层,将输入注意力矩阵辅助注意力矩阵/>和历史注意力矩阵/>沿特征维度进行连接形成新的特征矩阵/> 即融合特征矩阵。将该融合特征矩阵作为当前层一个新的可训练的线性网络fi(x)=xW+b的输入,其中/>均为可训练参数,同时均使用正态分布进行初始化。fi(x)的输出结果作为/>该方法一定程度上等价于通过所有信息源的信息动态生成权重从而对于不同源进行加权。
得到之后,进行与原始GPT2相同的残差连接、层归一化、线性网络等操作得到该层最终输出,并作为下一层的当前输入,而人物个性信息的辅助编码特征和历史聊天信息的历史编码特征在整个过程中将不会变化,并作为每层的2个额外信息输入。
解码器的最后一层输出将被作为线性预测层的输入,输出每个位置上生成词表内每个词汇的概率,概率最大的词汇将作为当前位置的生成输出。
进一步地,本申请实施例中对话预测模型可以预先训练完成并进行存储。当需要对话预测时,直接利用对话预测模型进行对话预测。具体来说,本申请实施例中的训练方法包括:
获取聊天训练文本,聊天训练样本中包括训练输入文本、训练输入文本对应的训练参考文本以及训练辅助信息;
根据聊天训练文本以及待训练对话预测模型进行迭代训练,直至迭代终止时,得到对话预测模型,其中每次迭代训练过程中:
确定训练输入文本的训练输入特征,并通过对话预测模型中的编码器,确定训练参考文本的训练参考编码特征以及训练辅助信息的训练辅助编码特征;
将训练输入特征、训练参考编码特征和训练辅助编码特征输入编码器对应的解码器,初始化训练输入特征的权重、训练参考编码特征的权重以及训练辅助编码特征的权重;
根据权重将进行训练输入特征、训练参考编码特征和训练辅助编码特征进行特征融合,得到融合特征;
根据训练参考编码特征、训练辅助编码特征以及融合特征确定训练输入文本对应的训练输出文本;
根据训练参考文本以及训练输出文本确定损失函数,并基于损失函数调整对话预测模型的模型参数。
以下通过具体实例说明本申请实施例提供的对话预测方法的实现过程。
终端接收用户输入的语音信息,将语音信息发送至服务器。
服务器将接收到的语音信息转换为当前输入文本,通过词嵌入层确定当前输入文本的当前文本特征。
服务器从存储的数据中获取当前输入文本对应的人物个性信息和历史聊天信息。
服务器将人物个性信息和历史聊天信息输入编码器中,提取人物个性信息对应的辅助编码特征以及历史聊天信息对应的历史编码特征。
将辅助编码特征、历史编码特征和当前文本特征作为解码器的三个输入,解码器包含12层如图5所示的网络结构,每一层网络结构相同。解码器的每一层网络结构中,包含2个双向注意力层以及一个自注意力层,其中,第一双向注意力层的输入为辅助编码特征和当前文本特征,第二双向注意力层的输入为历史编码特征和当前文本特征,自注意力层的输入为当前文本特征或上一层的隐变量。第一双向注意力层将辅助编码特征和当前文本特征融合得到第一注意力特征矩阵;第一双向注意力层将历史编码特征和当前文本特征融合得到第二注意力特征矩阵;自注意力层根据当前文本特征得到第三注意力特征矩阵。
将第一注意力特征矩阵、第二注意力特征矩阵和第三注意力特征矩阵一同输入注意力特征加权模型中,注意力特征加权模型确定第一注意力特征矩阵、第二注意力特征矩阵和第三注意力特征矩阵的权重,并根据权重将第一注意力特征矩阵、第二注意力特征矩阵和第三注意力特征矩阵进行加权,并通过层归一化、线性网络等计算得到该层的输出,并作为下一层的输入。
解码器的最后一层输出作为线性预测层的输入,通过线性预测层得到与当前输入文本对应的对话输出特征。
服务器基于对话输出特征确定回应的对话信息,并向终端设备发送。
终端设备输出与人物个性信息匹配的对话信息。
本申请实施例由于将多个不同输入源单独处理,可以提升生成输出文本与辅助信息之间的相关性,同时在解码过程中不同信息源融合时使用了动态加权的方法,克服了以往平均加权方法生成结果与聊天历史一致性较低的问题。
表1
模型 | BLEU | METEOR | NIST-4 | 流畅度 | 历史相关性 | 人物一致性 |
人工标注 | - | - | - | 2.901 | 2.645 | 0.598 |
Transfer Transfo | 2.054 | 7.672 | 1.183 | 2.748 | 2.348 | 0.542 |
MI-GPT | 3.151 | 8.112 | 1.264 | 2.809 | 2.150 | 0.628 |
SW(本申请) | 3.949 | 8.881 | 1.407 | 2.814 | 2.355 | 0.595 |
SDW(本申请) | 3.714 | 8.694 | 1.385 | 2.737 | 2.313 | 0.590 |
LW(本申请) | 4.147 | 8.988 | 1.408 | 2.777 | 2.332 | 0.602 |
本申请实施例使用Persona Chat数据集进行验证,每个样本都包含3组文本,当前聊天者的人物个性、聊天历史以及人工标准的准确聊天对话回复(仅训练过程中使用,测试过程中使用其评估生成对话回复的质量)。为了评估质量,我们使用自动指标BLEU、METEOR、NIST-4,同时采集200个样本进行人工评测,从三个维度:流畅度(总分1~3)、聊天历史相关性(总分1~3)、人物个性一致性(总分0~1),评价生成结果的质量。最终结果如表1所示。本发明在自动指标上相比于相关技术有明显提升,而在人工评测方面,在保持与MI-GPT相近的流畅度和人物一致性的同时,与聊天历史的一致性也得到了明显提升,与单输入的Transfer Transfo相近。
与上述方法实施例相对应地,本申请实施例还提供了一种对话预测装置。图6为本申请实施例的提供的对话预测装置的结构示意图;如图6所示,该对话预测装置包括:
特征单元601,用于获取聊天过程中的当前输入文本的当前文本特征;
参考单元602,用于确定所述当前输入文本对应的辅助聊天信息;
所述特征单元601,还用于通过编码器提取所述辅助聊天信息的编码特征;
确定单元603,用于以所述编码特征和所述当前文本特征作为解码器的输入,确定所述编码特征和所述当前文本特征分别对应的权重,并根据权重将所述编码特征和所述当前文本特征进行融合,得到与所述当前输入文本对应的对话输出特征;
输出单元604,用于基于所述对话输出特征输出与所述聊天过程匹配的对话信息。
在一种可选的实施例中,辅助聊天信息包括人物个性信息和历史聊天信息;
特征单元601,具体用于:
通过所述编码器,确定所述历史聊天信息对应的历史编码特征,以及所述人物个性信息对应的辅助编码特征。
在一种可选的实施例中,确定单元603,具体用于:
将所述编码特征以及所述当前文本特征输入所述编码器对应的解码器中,利用所述解码器中的注意力模型确定所述当前文本特征、所述编码特征分别对应的权重;
利用权重将所述当前文本特征与所述编码特征加权,得到所述融合特征;
将所述融合特征、所述编码特征输入线性预测模型中,得到多个输出文本特征以及对应的生成概率;
将生成概率最高的输出文本特征作为所述当前输入文本对应的对话输出特征。
在一种可选的实施例中,所述解码器中的注意力模型包括自注意力模型、第一双向注意力模型、第二双向注意力模型以及注意力加权模型;
所述确定单元603,具体用于:
将所述当前文本特征输入所述自注意力模型中,确定所述当前文本特征的输入注意力矩阵;
将所述当前文本特征和所述历史编码特征输入所述第一双向注意力模型中,将所述当前文本特征作为所述第一双向注意力模型的查询向量,将所述历史编码特征作为所述第一双向注意力模型的键向量和值向量,进行逻辑回归得到所述第一双向注意力模型输出的历史注意力矩阵;
将所述当前文本特征和辅助编码特征输入第二双向注意力模型中,将所述当前文本特征作为所述第二双向注意力模型的查询向量,将所述辅助编码特征作为所述第二双向注意力模型的键向量和值向量,进行逻辑回归得到所述第二双向注意力模型输出的辅助注意力矩阵。
在一种可选的实施例中,所述确定单元603,具体用于:
将所述输入注意力矩阵、所述历史注意力矩阵以及辅助注意力矩阵输入所述注意力加权模型,分别确定所述输入注意力矩阵的权重、所述历史注意力矩阵的权重、以及所述辅助注意力矩阵的权重;
根据权重将所述历史注意力矩阵、所述辅助注意力矩阵以及所述输入注意力矩阵进行融合,得到融合特征矩阵。
在一种可选的实施例中,所述输入注意力矩阵的权重、所述历史注意力矩阵的权重、以及所述辅助注意力矩阵的权重均为标量;或者所述输入注意力矩阵的权重、所述历史注意力矩阵的权重、以及所述辅助注意力矩阵的权重均为向量;
还包括训练单元605,用于:
根据原始标量参数,将所述输入注意力矩阵的权重、所述历史注意力矩阵的权重、以及所述辅助注意力矩阵的权重分别初始化;
利用聊天训练文本对所述解码器进行迭代训练的过程中,更新所述历史注意力矩阵的权重、所述辅助注意力矩阵的权重以及所述输入注意力矩阵的权重,分别得到所述历史注意力矩阵的第一标量参数、所述辅助注意力矩阵的第二标量参数以及所述输入注意力矩阵的第三标量参数。
在一种可选的实施例中,训练单元605,还用于:
将所述输入注意力矩阵、所述历史注意力矩阵、以及所述辅助注意力矩阵进行矩阵连接,得到拼接矩阵;
将所述拼接矩阵输入线性网络中,根据所述线性网络中的线性参数以及所述拼接矩阵,得到所述融合特征矩阵。
在一种可选的实施例中,训练单元605,具体用于:
获取聊天训练样本,所述聊天训练样本中包括训练输入文本、所述训练输入文本对应的训练参考文本以及训练辅助信息;
根据所述聊天训练文本以及待训练对话预测模型进行迭代训练,直至迭代终止时,得到对话预测模型;所述对话预测模型包括编码器、解码器以及线性预测模型。
在一种可选的实施例中,训练单元605,具体用于:
确定所述训练输入文本的训练输入特征,并通过所述对话预测模型中的编码器,确定所述训练参考文本的训练历史编码特征以及训练辅助信息的训练辅助编码特征;
将所述训练输入特征、所述训练历史编码特征和所述训练辅助编码特征输入所述编码器对应的解码器,初始化所述训练输入特征的权重、所述训练历史编码特征的权重以及所述训练辅助编码特征的权重;
根据权重将进行所述训练输入特征、所述训练历史编码特征和所述训练辅助编码特征进行特征融合,得到融合特征;
根据所述训练历史编码特征、所述训练辅助编码特征以及所述融合特征确定训练输入文本对应的训练输出文本;
根据所述训练参考文本以及所述训练输出文本确定损失函数,并基于所述损失函数调整所述对话预测模型的模型参数。
与上述方法实施例相对应地,本申请实施例还提供了一种电子设备。
图7为本申请实施例提供的一种电子设备的结构示意图;如图7所示,本申请实施例中该电子设备70包括:处理器71、显示器72、存储器73、输入设备76、总线75和通讯设备74;该处理器71、存储器73、输入设备76、显示器72和通讯设备74均通过总线75连接,该总线75用于该处理器71、存储器73、显示器72、通讯设备74和输入设备76之间传输数据。
其中,存储器73可用于存储软件程序以及模块,如本申请实施例中的对话预测方法对应的程序指令/模块,处理器71通过运行存储在存储器73中的软件程序以及模块,从而执行电子设备70的各种功能应用以及数据处理,如本申请实施例提供的对话预测方法。存储器73可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个应用的应用程序等;存储数据区可存储根据电子设备70的使用所创建的数据(比如训练样本、特征提取网络)等。此外,存储器73可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器71是电子设备70的控制中心,利用总线75以及各种接口和线路连接整个电子设备70的各个部分,通过运行或执行存储在存储器73内的软件程序和/或模块,以及调用存储在存储器73内的数据,执行电子设备70的各种功能和处理数据。可选的,处理器71可包括一个或多个处理单元,如CPU、GPU(Graphics Processing Unit,图形处理单元)、数字处理单元等。
该输入设备76主要用于获得用户的输入操作,当该电子设备不同时,该输入设备76也可能不同。例如,当该电子设备为计算机时,该输入设备76可以为鼠标、键盘等输入设备;当该电子设备为智能手机、平板电脑等便携设备时,该输入设备6可以为触控屏。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于实现本申请任一实施例所述的对话预测方法。
在一些可能的实施方式中,本申请提供的对话预测方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的对话预测方法的步骤,例如,所述计算机设备可以执行如图3所示的步骤S301~S303中的对话预测流程。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (9)
1.一种对话预测方法,其特征在于,所述方法包括:
获取聊天过程中的当前输入文本的当前文本特征;
确定所述当前输入文本对应的辅助聊天信息,所述辅助聊天信息包括人物个性信息和历史聊天信息;
通过编码器提取所述辅助聊天信息的编码特征,所述编码特征包括:所述历史聊天信息对应的历史编码特征,以及所述人物个性信息对应的辅助编码特征;所述编码器对应的解码器中的注意力模型包括自注意力模型、第一双向注意力模型、第二双向注意力模型以及注意力加权模型;
将所述当前文本特征输入所述自注意力模型中,确定所述当前文本特征的输入注意力矩阵;
将所述当前文本特征和所述历史编码特征输入所述第一双向注意力模型中,将所述当前文本特征作为所述第一双向注意力模型的查询向量,将所述历史编码特征作为所述第一双向注意力模型的键向量和值向量,进行逻辑回归得到所述第一双向注意力模型输出的历史注意力矩阵;
将所述当前文本特征和辅助编码特征输入第二双向注意力模型中,将所述当前文本特征作为所述第二双向注意力模型的查询向量,将所述辅助编码特征作为所述第二双向注意力模型的键向量和值向量,进行逻辑回归得到所述第二双向注意力模型输出的辅助注意力矩阵;
将所述输入注意力矩阵、所述历史注意力矩阵以及辅助注意力矩阵输入所述注意力加权模型,分别确定所述输入注意力矩阵的权重、所述历史注意力矩阵的权重、以及所述辅助注意力矩阵的权重;
根据权重将所述编码特征和所述当前文本特征进行融合,得到融合特征;
将所述融合特征和所述编码特征输入线性预测模型中,得到多个输出文本特征以及对应的生成概率;将生成概率最高的输出文本特征作为所述当前输入文本对应的对话输出特征;
基于所述对话输出特征输出与所述聊天过程匹配的对话信息。
2.根据权利要求1所述的方法,其特征在于,所述根据权重将所述编码特征和所述当前文本特征进行融合,包括:
根据权重将所述历史注意力矩阵、所述辅助注意力矩阵以及所述输入注意力矩阵进行融合,得到融合特征矩阵。
3.根据权利要求2所述的方法,其特征在于,所述输入注意力矩阵的权重、所述历史注意力矩阵的权重、以及所述辅助注意力矩阵的权重均为标量;或者所述输入注意力矩阵的权重、所述历史注意力矩阵的权重、以及所述辅助注意力矩阵的权重均为向量;
所述获取聊天过程中的当前输入文本的当前文本特征之前,还包括:
根据原始标量参数,将所述输入注意力矩阵的权重、所述历史注意力矩阵的权重、以及所述辅助注意力矩阵的权重分别初始化;
利用聊天训练文本对所述解码器进行迭代训练的过程中,更新所述历史注意力矩阵的权重、所述辅助注意力矩阵的权重以及所述输入注意力矩阵的权重,分别得到所述历史注意力矩阵的第一标量参数、所述辅助注意力矩阵的第二标量参数以及所述输入注意力矩阵的第三标量参数。
4.根据权利要求2所述的方法,其特征在于,所述根据权重将所述编码特征和所述当前文本特征进行融合,包括:
将所述输入注意力矩阵、所述历史注意力矩阵、以及所述辅助注意力矩阵进行矩阵连接,得到拼接矩阵;
将所述拼接矩阵输入线性网络中,根据所述线性网络中的线性参数以及所述拼接矩阵,得到融合特征矩阵。
5.根据权利要求1至4任一项所述的方法,其特征在于,还包括:
获取聊天训练样本,所述聊天训练样本中包括训练输入文本、所述训练输入文本对应的训练参考文本以及训练辅助信息;
根据所述聊天训练样本以及待训练对话预测模型进行迭代训练,直至迭代终止时,得到对话预测模型;所述对话预测模型包括编码器、解码器以及线性预测模型。
6.根据权利要求5所述的方法,其特征在于,所述根据所述聊天训练样本以及待训练对话预测模型进行迭代训练,包括:
确定所述训练输入文本的训练输入特征,并通过所述对话预测模型中的编码器,确定所述训练参考文本的训练历史编码特征以及训练辅助信息的训练辅助编码特征;
将所述训练输入特征、所述训练历史编码特征和所述训练辅助编码特征输入所述编码器对应的解码器,初始化所述训练输入特征的权重、所述训练历史编码特征的权重以及所述训练辅助编码特征的权重;
根据权重将所述训练输入特征、所述训练历史编码特征和所述训练辅助编码特征进行特征融合,得到融合特征;
根据所述训练历史编码特征、所述训练辅助编码特征以及所述融合特征确定训练输入文本对应的训练输出文本;
根据所述训练参考文本以及所述训练输出文本确定损失函数,并基于所述损失函数调整所述对话预测模型的模型参数。
7.一种对话预测装置,其特征在于,所述装置包括:
特征单元,用于获取聊天过程中的当前输入文本的当前文本特征;
参考单元,用于确定所述当前输入文本对应的辅助聊天信息,所述辅助聊天信息包括人物个性信息和历史聊天信息;
所述特征单元,还用于通过编码器提取所述辅助聊天信息的编码特征,所述编码特征包括:所述历史聊天信息对应的历史编码特征,以及所述人物个性信息对应的辅助编码特征;所述编码器对应的解码器中的注意力模型包括自注意力模型、第一双向注意力模型、第二双向注意力模型以及注意力加权模型;
确定单元,用于将所述当前文本特征输入所述自注意力模型中,确定所述当前文本特征的输入注意力矩阵;
将所述当前文本特征和所述历史编码特征输入所述第一双向注意力模型中,将所述当前文本特征作为所述第一双向注意力模型的查询向量,将所述历史编码特征作为所述第一双向注意力模型的键向量和值向量,进行逻辑回归得到所述第一双向注意力模型输出的历史注意力矩阵;
将所述当前文本特征和辅助编码特征输入第二双向注意力模型中,将所述当前文本特征作为所述第二双向注意力模型的查询向量,将所述辅助编码特征作为所述第二双向注意力模型的键向量和值向量,进行逻辑回归得到所述第二双向注意力模型输出的辅助注意力矩阵;
将所述输入注意力矩阵、所述历史注意力矩阵以及辅助注意力矩阵输入所述注意力加权模型,分别确定所述输入注意力矩阵的权重、所述历史注意力矩阵的权重、以及所述辅助注意力矩阵的权重;根据权重将所述编码特征和所述当前文本特征进行融合,得到融合特征;将所述融合特征和所述编码特征输入线性预测模型中,得到多个输出文本特征以及对应的生成概率;将生成概率最高的输出文本特征作为所述当前输入文本对应的对话输出特征;
输出单元,用于基于所述对话输出特征输出与所述聊天过程匹配的对话信息。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~6任一权利要求所述方法的步骤。
9.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~6任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011179209.0A CN112214591B (zh) | 2020-10-29 | 2020-10-29 | 一种对话预测的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011179209.0A CN112214591B (zh) | 2020-10-29 | 2020-10-29 | 一种对话预测的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112214591A CN112214591A (zh) | 2021-01-12 |
CN112214591B true CN112214591B (zh) | 2023-11-07 |
Family
ID=74057497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011179209.0A Active CN112214591B (zh) | 2020-10-29 | 2020-10-29 | 一种对话预测的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112214591B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113159107B (zh) * | 2021-02-26 | 2023-09-01 | 中国银联股份有限公司 | 一种异常处理的方法及装置 |
CN113282748B (zh) * | 2021-04-29 | 2023-05-12 | 湘潭大学 | 基于transformer的针对隐私文本的自动检测方法 |
CN113515609A (zh) * | 2021-06-16 | 2021-10-19 | 中国邮政储蓄银行股份有限公司 | 测试问题的问答的方法、装置和计算机可读存储介质 |
CN113515617B (zh) * | 2021-07-30 | 2023-07-04 | 中央财经大学 | 一种对话生成模型的方法、装置以及设备 |
CN116775815B (zh) * | 2022-03-07 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 对话数据的处理方法、装置、电子设备及存储介质 |
CN115062003B (zh) * | 2022-05-26 | 2024-04-16 | 电子科技大学 | 基于gpt2的云erp社区生成式问答方法 |
CN115292491B (zh) * | 2022-08-04 | 2023-06-02 | 四川大学 | 基于ctmsn-ehi的任务型多轮对话信息处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697282A (zh) * | 2017-10-20 | 2019-04-30 | 阿里巴巴集团控股有限公司 | 一种语句的用户意图识别方法和装置 |
CN110321417A (zh) * | 2019-05-30 | 2019-10-11 | 山东大学 | 一种对话生成方法、系统、可读存储介质及计算机设备 |
CN110399460A (zh) * | 2019-07-19 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 对话处理方法、装置、设备及存储介质 |
CN110580292A (zh) * | 2019-08-28 | 2019-12-17 | 腾讯科技(深圳)有限公司 | 一种文本标签生成方法、装置和计算机可读存储介质 |
CN111309883A (zh) * | 2020-02-13 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 基于人工智能的人机对话方法、模型训练方法及装置 |
CN111382257A (zh) * | 2020-05-28 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 一种生成对话下文的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10796686B2 (en) * | 2017-10-19 | 2020-10-06 | Baidu Usa Llc | Systems and methods for neural text-to-speech using convolutional sequence learning |
-
2020
- 2020-10-29 CN CN202011179209.0A patent/CN112214591B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697282A (zh) * | 2017-10-20 | 2019-04-30 | 阿里巴巴集团控股有限公司 | 一种语句的用户意图识别方法和装置 |
CN110321417A (zh) * | 2019-05-30 | 2019-10-11 | 山东大学 | 一种对话生成方法、系统、可读存储介质及计算机设备 |
CN110399460A (zh) * | 2019-07-19 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 对话处理方法、装置、设备及存储介质 |
CN110580292A (zh) * | 2019-08-28 | 2019-12-17 | 腾讯科技(深圳)有限公司 | 一种文本标签生成方法、装置和计算机可读存储介质 |
CN111309883A (zh) * | 2020-02-13 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 基于人工智能的人机对话方法、模型训练方法及装置 |
CN111382257A (zh) * | 2020-05-28 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 一种生成对话下文的方法和系统 |
Non-Patent Citations (4)
Title |
---|
基于大规模候选集的检索型多轮对话模型;卢俊羽;中国优秀硕士学位论文全文数据库信息科技辑(第07期);I138-1467 * |
基于深度学习的个性化对话内容生成方法;王豪 等;图学学报;第41卷(第02期);210-216 * |
基于深度学习的回复类型预测聊天机器人;徐畅;周志平;赵卫东;;计算机应用研究(第S1期);216+223-224 * |
融合空洞卷积神经网络与层次注意力机制的中文命名实体识别;陈茹;卢先领;;中文信息学报(第08期);74-81 * |
Also Published As
Publication number | Publication date |
---|---|
CN112214591A (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112214591B (zh) | 一种对话预测的方法及装置 | |
CN111444340B (zh) | 文本分类方法、装置、设备及存储介质 | |
CN112487182B (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
US11823061B2 (en) | Systems and methods for continual updating of response generation by an artificial intelligence chatbot | |
US20210233521A1 (en) | Method for speech recognition based on language adaptivity and related apparatus | |
US11507748B2 (en) | Method and apparatus for outputting information | |
CN111897941B (zh) | 对话生成方法、网络训练方法、装置、存储介质及设备 | |
CN111581361B (zh) | 一种意图识别方法及装置 | |
JP2022153441A (ja) | モデル事前訓練方法および装置、テキスト生成方法および装置、電子機器、記憶媒体並びにコンピュータプログラム | |
CN113205817B (zh) | 语音语义识别方法、系统、设备及介质 | |
CN111312245B (zh) | 一种语音应答方法、装置和存储介质 | |
CN111966800B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
KR102315830B1 (ko) | 반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
CN111930914A (zh) | 问题生成方法和装置、电子设备以及计算机可读存储介质 | |
CN112115687A (zh) | 一种结合知识库中的三元组和实体类型的生成问题方法 | |
CN111813909A (zh) | 一种智能问答方法和装置 | |
CN112364148B (zh) | 一种基于深度学习方法的生成型聊天机器人 | |
CN117521675A (zh) | 基于大语言模型的信息处理方法、装置、设备及存储介质 | |
CN117271745A (zh) | 一种信息处理方法、装置及计算设备、存储介质 | |
US20230316055A1 (en) | Attention neural networks with parallel attention and feed-forward layers | |
CN113421551B (zh) | 语音识别方法、装置、计算机可读介质及电子设备 | |
Ahrari Khalaf et al. | Mutual character dialogue generation with semi-supervised multitask learners and awareness | |
CN116913278B (zh) | 语音处理方法、装置、设备和存储介质 | |
CN115169367B (zh) | 对话生成方法及装置、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40037746 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |