CN117453879A - 对话数据的生成方法、装置、计算机设备和存储介质 - Google Patents

对话数据的生成方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN117453879A
CN117453879A CN202311426469.7A CN202311426469A CN117453879A CN 117453879 A CN117453879 A CN 117453879A CN 202311426469 A CN202311426469 A CN 202311426469A CN 117453879 A CN117453879 A CN 117453879A
Authority
CN
China
Prior art keywords
data
dialogue
model
sample
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311426469.7A
Other languages
English (en)
Inventor
陈春全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311426469.7A priority Critical patent/CN117453879A/zh
Publication of CN117453879A publication Critical patent/CN117453879A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)

Abstract

本申请涉及一种对话数据的生成方法、装置、计算机设备、存储介质和计算机程序产品。可应用于云技术、人工智能等场景,所述方法包括:获取目标对象在进行人机对话过程中形成的上下文数据;在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量;所述离散潜在变量集是基于样本对话数据对所述对话模型进行训练过程中绑定的;将所述上下文数据分别与各所述离散潜在变量进行融合,得到各融合数据;通过所述对话模型对各所述融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据。采用本方法能够提高人机对话的对话效果。

Description

对话数据的生成方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种对话数据的生成方法、装置、计算机设备和存储介质。
背景技术
对话模型是一种能够实现人机对话的神经网络模型。用户只要将输入语句输入至对话模型,对话模型就可以输出回复的对话数据。
然而现有的对话模型通常是以“一对一”的方式来训练的,也就是说,针对特定的输入,对话模型会给出一个其认为最有可能的常见回复,那么对于相同或类似的输入,对话模型也将会给出相同的常见回复,无法达到真实对话场景的丰富性与多变性,导致人机对话的效果较差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高对话效果的对话数据的生成方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种对话数据的生成方法。所述方法包括:
获取目标对象在进行人机对话过程中形成的上下文数据;
在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量;所述离散潜在变量集是基于样本对话数据对所述对话模型进行训练过程中绑定的,所述离散潜在变量集内的各离散潜在变量用于表示对话意图和对话背景知识;
将所述上下文数据分别与各所述离散潜在变量进行融合,得到各融合数据;
通过所述对话模型对各所述融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据。
第二方面,本申请还提供了一种对话数据的生成装置。所述装置包括:
上下文数据获取模块,用于获取目标对象在进行人机对话过程中形成的上下文数据;
离散潜在变量遍历模块,用于在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量;所述离散潜在变量集是基于样本对话数据对所述对话模型进行训练过程中绑定的,所述离散潜在变量集内的各离散潜在变量用于表示对话意图和对话背景知识;
数据融合模块,用于将所述上下文数据分别与各所述离散潜在变量进行融合,得到各融合数据;
注意力处理模块,用于通过所述对话模型对各所述融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取目标对象在进行人机对话过程中形成的上下文数据;
在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量;所述离散潜在变量集是基于样本对话数据对所述对话模型进行训练过程中绑定的,所述离散潜在变量集内的各离散潜在变量用于表示对话意图和对话背景知识;
将所述上下文数据分别与各所述离散潜在变量进行融合,得到各融合数据;
通过所述对话模型对各所述融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取目标对象在进行人机对话过程中形成的上下文数据;
在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量;所述离散潜在变量集是基于样本对话数据对所述对话模型进行训练过程中绑定的,所述离散潜在变量集内的各离散潜在变量用于表示对话意图和对话背景知识;
将所述上下文数据分别与各所述离散潜在变量进行融合,得到各融合数据;
通过所述对话模型对各所述融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取目标对象在进行人机对话过程中形成的上下文数据;
在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量;所述离散潜在变量集是基于样本对话数据对所述对话模型进行训练过程中绑定的,所述离散潜在变量集内的各离散潜在变量用于表示对话意图和对话背景知识;
将所述上下文数据分别与各所述离散潜在变量进行融合,得到各融合数据;
通过所述对话模型对各所述融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据。
上述对话数据的生成方法、装置、计算机设备、存储介质和计算机程序产品,在基于样本对话数据对对话模型进行训练过程中,将离散潜在变量与对话模型进行绑定训练,其中离散潜在变量集内的各离散潜在变量用于表示对话意图和对话背景知识,从而在得到目标对象在进行人机对话过程中形成的上下文数据之后,可以在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量,并将上下文数据分别与各离散潜在变量进行融合,得到各融合数据,通过对话模型对各融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据,通过引入离散潜在变量,对话模型能够考虑到不同的潜在情境和背景,为同一上下文产生多个可能的回复,使得人机对话更加接近真实的对话情景,提高了人机对话的对话效果;此外通过对融合数据进行注意力处理,使得对话模型能够聚焦于上下文中的关键信息,并根据这些信息为不同的潜在变量生成合适的回复,这种方式不仅提高了对话的多样性,还确保了生成的回复与上下文之间的相关性和连贯性,进一步提高了人机对话的对话效果。
附图说明
图1为一个实施例中对话数据的生成方法的应用环境图;
图2为一个实施例中对话数据的生成方法的流程示意图;
图3为一个实施例中融合数据的示意图;
图4为一个实施例中对话模型的结构示意图;
图5为另一个实施例中对话模型的结构示意图;
图6为一个实施例中辅助训练模型的结构示意图;
图7为一个实施例中模型训练的示意图;
图8为一个实施例中对话页面的示意图;
图9为另一个实施例中对话页面的示意图;
图10为另一个实施例中对话页面的示意图;
图11为另一个实施例中对话数据的生成方法的流程示意图;
图12为另一个实施例中对话数据的生成方法的流程示意图;
图13为一个实施例中对话数据的生成装置的结构框图;
图14为另一个实施例中对话数据的生成装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的对话数据的生成方法涉及人工智能的机器学习、自然语言处理等技术,其中:
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视角技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
本申请实施例提供的对话数据的生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以单独设置,可以集成在服务器104上,也可以放在云上或其他服务器上。该对话数据的生成方法可以由终端102或服务器104单独执行,或者由终端102和服务器104协同执行。在一些实施例中,该对话数据的生成方法由终端102执行,终端102获取目标对象在进行人机对话过程中形成的上下文数据;在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量;离散潜在变量集是基于样本对话数据对对话模型进行训练过程中绑定的,离散潜在变量集内的各离散潜在变量用于表示对话意图和对话背景知识;将上下文数据分别与各离散潜在变量进行融合,得到各融合数据;通过对话模型对各融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据。
其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一个实施例中,如图2所示,提供了一种对话数据的生成方法,该方法可以由计算机设备执行,该计算机设备例如可以是图1所示的终端102或服务器104。该方法可以包括以下步骤:
S202,获取目标对象在进行人机对话过程中形成的上下文数据。
其中,人机对话是指人与计算机之间的自然语言交互,例如通过聊天机器人或语音助手等方式实现的人机对话。上下文数据是指在进行人机对话时已经产生的对话内容。
可以理解的是,目标对象在与机器进行对话时,每次目标对象或机器的发言都会被存储在一个会话中,这个会话可以是一个数组、列表或其他数据结构,用于按时间顺序保存所有的对话内容,随着对话的进展,新的发言会被添加到这个会话中,以确保上下文数据是最新的。
具体的,计算机设备获取目标对象与机器进行对话形成的会话,并按照预设的时间窗口,从会话中提取上下文数据,得到目标对象在进行人机对话过程中形成的上下文数据。
时长窗口的长度可以根据问答场景的复杂性来进行设置,例如针对简单的问答场景,只关心最近的问题和答案,可以将时间窗口设置的较小,比如时间窗口可以是最近5条发言,则从会话中提取最近产生的5条发言作为上下文数据,比如某个上下文数据为“用户:我最近经常工作到很晚,每天都很疲劳。助手:工作太久确实会影响你的身体健康。是什么导致你需要工作到那么晚?用户:我手头的项目太多了,而且每个项目的截止日期都很紧张。助手:哎,听起来真的压力很大。你想要一些建议来更好地管理你的时间吗?用户:是的,请给我一些建议”;针对复杂的、涉及多轮对话的场景,时间窗口可以设置的较长,比如时间窗口可以是对话以来的所有消息,则会将会话中全部的发言作为上下文数据。可以理解的是,上下文数据也是按照时间顺序组织的,保证对话的连续性和逻辑性。
S204,在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量;离散潜在变量集是基于样本对话数据对对话模型进行训练过程中绑定的。
其中,对话模型是指自然语言处理中,能够生成或理解人与机器之间对话的模型,对话模型的目标是从输入(例如前一句或前几句话)中预测出下一句话或生成相应的响应。对话模型具体可以采用Transformer模型结构,Transformer模型由多个相同的层堆叠而成,每层包含两个子层,这两个子层具体可以是多头自注意力机制(Multi-head Self-Attention)和前馈神经网络(Feed-Forward Neural Network),此外,每个子层后面都跟随一个残差连接(Residual Connection)和层归一化(Layer Normalization)。
离散潜在变量集内包含至少两个离散潜在变量,离散潜在变量集内的各离散潜在变量用于表示某对话的对话意图和对话背景知识,对话意图和对话背景知识具体可以是对话的某种情境、情感倾向、主题或其他隐含的特征。例如,离散潜在变量集为vi∈[v1,vk],k为离散潜在变量集中离散潜在变量的个数,其中离散潜在变量v1表征生活平衡角度缓解压力的场景,离散潜在变量v2表征时间管理角度缓解压力的场景,离散潜在变量v3表征团队合作角度缓解压力的场景,离散潜在变量v4表征外部帮助角度缓解压力的场景,离散潜在变量v5表征情感支持角度缓解压力的场景。
样本对话数据是用于训练对话模型的对话样本,各对话样本可以来源于各种场景,如客户服务、社交媒体、电影剧本、消息记录等。
需要说明的是,在训练对话模型之前,可以预先定义一个离散潜在变量集,离散潜在变量集中的每个离散潜在变量分别表示一种对话意图和对话背景知识,针对样本对话集中的任意一个样本对话数据,确定离散潜在变量集中与该样本对话数据最相关的目标离散潜在变量,对样本对话集中的全部样本对话数据可以均匀的与离散潜在变量集中各离散潜在变量进行关联,然后基于样本对话数据和其所关联的目标离散潜在变量来训练对话模型,模型在训练时会尝试理解如何根据这些离散潜在变量来调整其回复,由于对样本对话集中的全部样本对话数据是均匀的与离散潜在变量集中各离散潜在变量进行关联,因此,最终得到的训练好的对话模型即实现了与所定义的离散潜在变量集之间的绑定,使得训练好的对话模型能够充分理解和利用这些离散潜在变量,这增加了模型的生成能力,使其能够根据不同的意图和背景知识生成不同的回复,从而在得到上下文数据之后,可以生成不同意图和背景知识下的相应回复。
具体的,计算机设备在获取得到上下文数据之后,获取用于对上下文数据进行处理的训练好的对话模型,并获取与该对话模型绑定的离散潜在变量集,并对所获取的离散潜在变量集中的离散潜在变量进行遍历,得到至少两个离散潜在变量。
S206,将上下文数据分别与各离散潜在变量进行融合,得到各融合数据。
其中,融合可以是拼接、相加、相乘等处理,拼接是指直接将上下文数据和离散潜在变量按照一定的顺序串联起来,所得到的融合数据也可以称为拼接数据;相加具体可以是加权平均,加权平均是指根据上下文数据和离散潜在变量的重要性赋予不同的权重,然后进行加权合并;相乘具体可以是矩阵乘法,矩阵乘法是指将上下文数据和离散潜在变量视为两个矩阵,进行矩阵乘法操作以得到融合数据。
具体的,计算机设备在得到上下文数据之后,可以对上下文数据进行分词处理,得到各词,并使用词嵌入层对各词分别进行转换,得到各词所对应的向量表示,针对遍历所得的任意一个离散潜在变量,对该离散潜在变量也进行转换,得到离散潜在变量的向量表示,并将上下文数据的向量表示序列与离散潜在向量的向量表示进行融合,例如在上下文数据的向量表示序列之前融合上离散潜在向量的向量表示,得到融合数据,例如当融合是融合处理时,所得到的融合数据是更长的向量表示序列。
需要说明的是,在对话模型为Transformer模型结构的情况下,因为Transformer本身不考虑序列的顺序信息,针对任意一个融合数据中的任意一个向量表示,可以在该向量表示中添加相应的位置编码,从而得到包含各词的位置信息的融合数据。
S208,通过对话模型对各融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据。
注意力处理(Attention Mechanism)用于处理序列到序列的任务,如机器翻译、文本摘要和对话生成等,用于在处理序列数据时关注于输入序列的特定部分。
具体的,对话模型可以包括至少一个注意力层,针对任意一个融合数据,将其输入对话模型,通过对话模型的注意力层对融合数据中的各向量表示进行注意力处理,得到注意力处理结果,并基于注意力处理所得的各结果生成该融合数据所对应的离散潜在变量下的对话数据;针对每一个离散潜在变量,通过执行上述过程,从而生成在每个离散潜在变量下的对话数据。
上述对话数据的生成方法中,在基于样本对话数据对对话模型进行训练过程中,将离散潜在变量与对话模型进行绑定训练,其中离散潜在变量集内的各离散潜在变量用于表示对话意图和对话背景知识,从而在得到目标对象在进行人机对话过程中形成的上下文数据之后,可以在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量,并将上下文数据分别与各离散潜在变量进行融合,得到各融合数据,通过对话模型对各融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据,通过引入离散潜在变量,对话模型能够考虑到不同的潜在情境和背景,为同一上下文产生多个可能的回复,使得人机对话更加接近真实的对话情景,提高了人机对话的对话效果;此外通过对融合数据进行注意力处理,使得对话模型能够聚焦于上下文中的关键信息,并根据这些信息为不同的潜在变量生成合适的回复,这种方式不仅提高了对话的多样性,还确保了生成的回复与上下文之间的相关性和连贯性,进一步提高了人机对话的对话效果。
在一个实施例中,计算机设备将上下文数据分别与各离散潜在变量进行融合,得到各融合数据的过程包括以下步骤:将上下文数据分别与各离散潜在变量和第一关键字进行融合,得到各融合数据;融合数据包括上下文部分和回复部分;计算机设备通过对话模型对各融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据的过程包括以下步骤:通过对话模型对上下文部分进行双向注意力处理,以及对回复部分进行前向注意力处理,得到至少两组预测向量;基于至少两组预测向量生成至少两个不同的对话数据。
其中,第一关键字包含用于标识上下文数据或回复语句开始、结束的标记字符,例如可以选择<bos>作为开始标记,<eos>作为结束标记,融合数据包括上下文部分和回复部分,例如图3所示,所得到的融合数据为“‘v’‘bos’‘x0’‘x1’‘eos’‘bos’”,其中,‘v’‘bos’‘x0’‘x1’‘eos’为上下文部分,融合数据中‘v’‘bos’‘x0’‘x1’‘eos’之后的‘bos’为回复部分,v为融合的离散潜在变量,x0和x1分别为相应词的向量表示。
双向注意力处理是指在处理某个词时,既会考虑其前面的词,也会考虑其后面的词,这种方式可以更全面地获取上下文信息。前向注意力处理是指在处理某个词时,只考虑当前词以及其之前的词,而不考虑其后面的词。
具体的,对话模型包括至少一个注意力层,针对任意一个融合数据,将融合数据输入对话模型,通过第一个注意力层对融合数据中的上下文部分中各词的向量表示进行双向注意力处理,得到上下文部分中各词的增强向量,以及通过第一个注意力层对融合数据中的回复部分中的各词的向量表示进行前向注意力处理,得到回复部分中的各词的增强向量表示,并将上下文部分中各词的增强向量和回复部分中的各词的增强向量表示输入到下一个注意力层,通过下一个注意力层对上下文部分中各词的增强向量进行双向注意力处理,得到上下文部分中各词的进一步增强向量,以及下一个注意力层对回复部分中的各词的增强向量进行前向注意力处理,得到回复部分中的各词的进一步增强向量,以此类推,直至得到最后一个注意力层输出的回复部分的预测向量,并基于预测向量得到第一个预测词,并将第一个预测词与之前输入的融合数据进一步融合作为输入数据输入到对话模型,通过对话模型的各个注意力层进行上述注意力处理,直至得到各个预测词,各个预测词按照预测顺序进行融合,从而得到预测语句,也即对话数据。
图4示出了一个实施例中的对话模型的结构示意图,该对话模型包括N个注意力层,融合数据‘v’‘bos’‘x0’‘x1’‘eos’‘bos’输入对话模型,通过对话模型的各个注意力层对融合数据的上下文部分进行双向注意力处理,对回复部分进行前向注意力处理,得到第一个预测词“y0”,并将预测词向量“y0”与之前的融合数据进行融合,如图5所示,得到新的融合数据‘v’‘bos’‘x0’‘x1’‘eos’‘bos’‘y0’并输入对话模型,通过对话模型的处理得到下一个预测词向量“y1”,以此类推,直至得到一组预测向量‘y0’‘y1’‘eos’,进而基于预测向量‘y0’‘y1’可得到预测的对话数据。
上述实施例中,计算机设备通过对话模型对上下文部分进行双向注意力处理,以及对回复部分进行前向注意力处理,得到至少两组预测向量;基于至少两组预测向量生成至少两个不同的对话数据,通过双向注意力,对话模型可以从上下文部分的整个序列中获取信息,从而更好地捕获句子中的关系和依赖,这有助于生成与上下文更加相关和连贯的对话数据,从而可以提高人机对话的对话效果。
在一个实施例中,上述对话数据的生成方法还包括对话模型的训练过程,该过程具体包括以下步骤:确定样本对话数据在离散潜在变量集中的目标离散潜在变量;通过预训练对话模型对目标离散潜在变量和样本对话数据进行注意力处理,得到样本对话数据的融合潜在特征和训练回复特征;基于融合潜在特征和训练回复特征,对预训练对话模型进行参数优化,得到对话模型。
其中,融合潜在特征为目标离散潜在变量与样本对话数据中上下文部分的信息进行融合所得到的潜在特征;训练回复特征为基于样本对话数据中的上下文部分和回复部分预测出的回复特征。
具体的,计算机设备可以从各社交媒体平台获取对话预料,并对所获取的对话预料进行预处理和数据清洗,得到样本对话数据集,针对样本对话数据集中的每个样本对话数据,确定样本对话数据在离散潜在变量集中的目标离散潜在变量,将目标离散潜在变量和样本对话数据进行融合,并将融合结果输入预训练对话模型,通过预训练对话模型的注意力层对输入的融合结果进行注意力处理,得到样本对话数据的融合潜在特征和训练回复特征,并基于融合潜在特征和训练回复特征对预训练对话模型的模型参数进行调整,直至达到收敛条件得到对话模型。
其中,预处理包括去除无关信息、统一数据格式等,数据清洗可以是去重、去除无意义或低质量的对话、过滤掉三人以上对话等,无关信息包括链接、HTML标签、广告等。
上述实施例中,计算机设备通过确定样本对话数据在离散潜在变量集中的目标离散潜在变量;通过预训练对话模型对目标离散潜在变量和样本对话数据进行注意力处理,得到样本对话数据的融合潜在特征和训练回复特征;基于融合潜在特征和训练回复特征,对预训练对话模型进行参数优化,得到对话模型,从而可以使得对话模型实现了与所定义的离散潜在变量集之间的绑定,使得训练好的对话模型能够充分理解和利用这些离散潜在变量,这增加了模型的生成能力,使其能够根据不同的意图和背景知识生成不同的回复,从而在得到上下文数据之后,可以生成不同意图和背景知识下的相应回复,从而可以提高人机对话的对话效果。
在一个实施例中,上述对话数据的生成方法还包括预训练对话模型的训练过程,该过程具体包括以下步骤:将样本对话数据与第一关键字进行融合,得到第一样本融合数据;通过初始对话模型对第一样本融合数据进行样本注意力处理,并基于样本注意力处理所得的各结果生成预训练回复数据;基于预训练回复数据对初始训练模型进行参数优化,得到预训练对话模型。
其中,第一关键字包含用于标识上下文数据或回复语句开始、结束的标记字符,例如可以选择<bos>作为开始标记,<eos>作为结束标记,所得到的第一样本融合数据为“‘bos’‘x0’‘x1’‘x2’‘eos’‘bos’‘y0’‘y1’”,其中‘bos’‘x0’‘x1’‘x2’为上下文部分,‘bos’‘y0’‘y1’为回复部分。
具体的,计算机设备将样本对话数据中的上下文数据、回复语句与第一关键字进行融合,得到第一样本融合数据,并将第一样本融合数据输入待训练的初始对话模型,通过初始对话模型的注意力层对第一样本融合数据中的上下文部分进行双向注意力处理,对第一样本融合数据中的回复部分进行前向注意力处理,得到预训练回复特征,并基于预训练回复特征生成训练回复数据,基于训练回复数据和样本对话数据中的回复语句确定预训练损失值,基于预训练损失值对初始训练模型的模型参数进行调整,直至达到收敛条件,得到预训练对话模型。其中,预训练损失值可以采用交叉熵损失函数,收敛条件可以是最小化预训练损失值。
上述实施例中,计算机设备通过将样本对话数据与第一关键字进行融合,得到第一样本融合数据;通过初始对话模型对第一样本融合数据进行样本注意力处理,并基于样本注意力处理所得的各结果生成预训练回复数据;基于预训练回复数据对初始训练模型进行参数优化,得到预训练对话模型,样本注意力处理使模型能够更好地关注对于生成回复最为关键的部分,从而提高回复的质量和相关性,进而可以基于预训练对话模型来训练对话模型,进而可以提高人机对话的对话效果。
在一个实施例中,计算机设备确定样本对话数据在离散潜在变量集中的目标离散潜在变量的过程包括以下步骤:对样本对话数据进行特征提取,得到样本对话数据的潜在特征;基于潜在特征确定样本对话数据在离散潜在变量集中的目标离散潜在变量。
具体的,计算机设备在得到样本对话数据之后,采用辅助训练模型对样本对话数据进行特征提取,得到样本对话数据的潜在特征,并基于潜在特征确定样本对话数据在离散潜在变量集中各离散潜在变量的概率分布,并基于概率分布从离散潜在变量集选取的目标离散潜在变量。
其中,辅助训练模型可以是预先训练好的,也可以是尚未训练好且可以与对话模型联合训练的模型,辅助训练模型可以是深度学习模型,如CNN、RNN、Transformer等,具体可以与对话模型结构相同或者相近。
上述实施例中,计算机设备通过对样本对话数据进行特征提取,得到样本对话数据的潜在特征;基于潜在特征确定样本对话数据在离散潜在变量集中的目标离散潜在变量,从而可以基于目标离散潜在变量训练对话模型,使得对话模型能够生成针对不同离散潜在变量下的相应回复,从而提高了人机对话的对话效果。
在一个实施例中,计算机设备对样本对话数据进行特征提取,得到样本对话数据的潜在特征的过程包括以下步骤:基于预训练对话模型的模型参数对辅助训练模型进行参数更新,得到参数更新后的辅助训练模型;将样本对话数据与第二关键字进行融合,得到第二样本融合数据;通过参数更新后的辅助训练模型对第二样本融合数据进行双向注意力处理,得到样本对话数据的潜在特征。
其中,辅助训练模型与预训练对话模型的结构相同。第二关键字包含用于标识上下文数据或回复语句开始、结束的标记字符,以及用于标识背景意图的关键信息字符,例如可以选择<bos>作为开始标记,<eos>作为结束标记,<mask>作为关键信息标记,所得到第二样本融合数据为“‘mask’‘bos’‘x0’‘x1’‘eos’‘bos’‘y0’‘y1’”,其中‘mask’‘bos’‘x0’‘x1’‘eos’为上下文部分,‘bos’‘y0’‘y1’为回复部分。
具体的,计算机设备在得到预训练对话模型之后,基于预训练对话模型的模型参数对辅助训练模型进行参数初始化,得到参数初始化后的辅助训练模型,并将样本对话数据中的上下文数据和回复语句与第二关键字进行融合,得到第二样本融合数据,并将第二样本融合数据输入参数初始化后的辅助训练模型,通过辅助训练模型的注意力层第二样本融合数据中的各词的向量表示进行双向注意力处理,得到各词所对应的增强向量表示,并将各词所对应的增强向量表示中目标关键字所对应的增强向量表示确定为样本对话数据的潜在特征,在得到潜在特征之后可以进一步确定样本对话数据的目标离散潜在变量,在基于目标离散潜在变量对预训练对话模型的参数进行调整之后,基于参数调整后的对预训练对话模型的最新模型参数对辅助训练模型进行参数更新,得到参数更新后的辅助训练模型,并将下一批次的样本对话数据与第二关键字进行融合以进行下一批次的样本对话数据的潜在特征的提取。
如图6所示为一个实施例中辅助训练模型的结构示意图,辅助训练模型采用Transformer模型结构,该辅助训练模型包括N个注意力层,每个注意力层即为一个Transformer块,也即辅助训练模型包括N个Transformer块,第二样本融合数据“‘mask’‘bos’‘x0’‘x1’‘eos’‘bos’‘y0’‘y1’”输入辅助训练模型,通过辅助训练模型的各个注意力层对第二样本融合数据中的上下文部分和回复部分均进行双向注意力处理,得到样本对话数据的潜在特征hm,进而可以将潜在特征hm输入线性层1,从而得到样本对话数据所对应的目标离散潜在变量v。
上述实施例中,计算机设备通过使用预训练对话模型的模型参数进行辅助训练模型的参数更新,可以利用已经训练好的模型中的知识,提高特征提取的质量和效率,参数更新后的辅助训练模型可以更好地适应新的样本对话数据,提高模型对各种对话情境的适应性,通过参数更新后的辅助训练模型对第二样本融合数据进行双向注意力处理,可以提取出更准确的潜在特征,进而可以基于潜在特征生成离散潜在变量以训练对话模型时,使得对话模型能够生成针对不同潜在特征下的相应回复,从而提高了人机对话的对话效果。
在一个实施例中,计算机设备基于潜在特征确定样本对话数据在离散潜在变量集中的目标离散潜在变量的过程包括以下步骤:基于潜在特征确定样本对话数据与离散潜在变量集内各离散潜在变量之间的匹配概率;基于匹配概率从离散潜在变量集内确定目标离散潜在变量。
具体的,计算机设备在得到潜在特征之后,可以将潜在特征输入预设的线性层,通过线性层对潜在特征进行处理,得到样本对话数据与离散潜在变量集内各离散潜在变量之间的匹配概率,并将离散潜在变量集内长匹配概率最大的离散潜在变量确定为目标离散潜在变量。
在一个实施例中,样本对话数据的对应的离散潜在变量的概率分布如下:
P(v|x,y)=softmax(hmW1+b1)∈RK
其中,P(v|x,y)表示在给定对话上下文x和回复y的条件下,离散潜在变量v的条件概率分布,softmax是一个常用的激活函数,它可以将一个向量转化为一个概率分布,softmax确保所有的输出值都在0到1之间,并且它们的和为1,通过概率分布来表示每个潜在变量的可能性。hm为样本对话数据的潜在特征,W1为权重矩阵,每一行都是一个潜在变量v的向量表示。b1是偏置变量,∈RK表示结果是一个k维的向量,其中k是潜在变量的总数。
上述实施例中,计算机设备基于潜在特征确定样本对话数据与离散潜在变量集内各离散潜在变量之间的匹配概率,可以直观地评估每个离散潜在变量与样本对话数据之间的相关性,从而可以确定最匹配的目标离散潜在变量,进而可以基于目标离散潜在变量训练对话模型,使得对话模型能够生成针对不同离散潜在变量下的相应回复,从而提高了人机对话的对话效果。
在一个实施例中,计算机设备通过预训练对话模型对目标离散潜在变量和样本对话数据进行注意力处理,得到样本对话数据的融合潜在特征和训练回复特征的过程包括以下步骤:将目标离散潜在变量、样本对话数据和第一关键字进行融合,得到第三样本融合数据;通过预训练对话模型对第三样本融合数据中的上下文部分进行双向注意力处理,以及对第三样本融合数据中的回复部分进行前向注意力处理,得到样本对话数据的融合潜在特征和训练向量;基于训练向量生成训练回复特征。
其中,第一关键字包含用于标识上下文数据或回复语句开始、结束的标记字符,例如可以选择<bos>作为开始标记,<eos>作为结束标记,融合数据包括上下文部分和回复部分,所得到的第三样本融合数据为“‘v’‘bos’‘x0’‘x1’‘eos’‘bos’‘y0’‘y1’”,其中,‘v’‘bos’‘x0’‘x1’‘eos’为上下文部分,第三样本融合数据中‘v’‘bos’‘x0’‘x1’‘eos’之后的‘bos’‘y0’‘y1’为回复部分,v为融合的目标离散潜在变量,x0和x1分别为相应词的向量表示。
具体的,计算机设备在确定出样本对话数据的目标离散潜在变量之后,将目标离散潜在变量、样本对话数据中的上下文数据和回复语句、第一关键字进行融合,得到第三样本融合数据,并将第三样本数据输入预训练对话模型,通过预训练对话模型的第一个注意力层对第三样本融合数据中的上下文部分中各词的向量表示进行双向注意力处理,得到上下文部分中各词的增强向量,以及通过第一个注意力层对第三样本融合数据中的回复部分中的各词的向量表示进行前向注意力处理,得到回复部分中的各词的增强向量表示,并将上下文部分中各词的增强向量和回复部分中的各词的增强向量表示输入到下一个注意力层,通过下一个注意力层对上下文部分中各词的增强向量进行双向注意力处理,得到上下文部分中各词的进一步增强向量,以及下一个注意力层对回复部分中的各词的增强向量进行前向注意力处理,得到回复部分中的各词的进一步增强向量,以此类推,直至得到最后一个注意力层输出上下文部分中目标离散潜在变量对应的融合潜在特征,以及输出的回复部分的训练向量,并基于训练向量得到第一个预测词,并将回复部分的下一个词的向量表示与之前输入的第三样本融合数据进一步融合作为输入数据输入到对话模型,通过对话模型的各个注意力层进行上述注意力处理,直至得到各个融合潜在特征和各个训练词(训练回复特征),各个训练词按照预测顺序进行融合,从而得到预测语句。
图7示出了一个实施例中的模型训练的示意图;该图中包括辅助训练模型和对话模型,辅助训练模型与预训练对话模型的结构相同,且共享模型参数,辅助训练模型和对话模型均包含有N个注意力层,也即辅助训练模型和对话模型均包含有N个Transformer块,第二样本融合数据“‘mask’‘bos’‘x0’‘x1’‘eos’‘bos’‘y0’‘y1’”输入辅助训练模型,通过辅助训练模型的各个注意力层对第二样本融合数据中的上下文部分和回复部分均进行双向注意力处理,得到样本对话数据的潜在特征hm,进而可以将潜在特征hm输入线性层1,从而得到样本对话数据所对应的目标离散潜在变量v,将目标离散潜在变量v与样本对话数据和第一关键字进行融合,得到第三样本融合数据‘v’‘bos’‘x0’‘x1’‘eos’‘bos’,预训练对话模型包括N个注意力层,将第三样本融合数据‘v’‘bos’‘x0’‘x1’‘eos’‘bos’输入预训练对话模型,通过预训练对话模型的各个注意力层对第三样本融合数据的上下文部分进行双向注意力处理,对回复部分进行前向注意力处理,得到融合潜在特征hv和训练词‘y0’‘y1’‘eos’,以便后续基于融合潜在特征hv确定词袋损失,基于训练词‘y0’‘y1’‘eos’确定负对数似然损失,基于词袋损失和负对数似然损失调整预训练对话模型的模型参数,并对辅助训练模型的模型参数也进行同步调整。
在一个实施例中,生成的预测语句的概率可以表征如下:
其中,P(y|x,v)表示在给定对话上下文x和目标离散潜在变量v的条件下,生成预测语句y的概率,p(yi|x,v,y<i)表示表示在给定对话上下文x、目标离散潜在变量v和之前词y<i的条件下,生成预测词yi的概率,其中y<i指的是目标回复(真实的回复语句)中在yi之前的所有词。
上述实施例中,计算机设备通过将目标离散潜在变量、样本对话数据和第一关键字进行融合,得到第三样本融合数据,并基于第三样本融合数据进行模型训练,从而可以使得对话模型可以更好的理解对话的上下文,并使得模型可以处理更广泛的对话场景,通过预训练对话模型对第三样本融合数据中的上下文部分进行双向注意力处理,以及对第三样本融合数据中的回复部分进行前向注意力处理,得到样本对话数据的融合潜在特征和训练向量;基于训练向量生成训练回复特征,双向注意力可以捕捉上下文中的前后信息,而前向注意力则强调了回复中的顺序关系,这有助于生成连贯和相关的回复,从而可以提高人机对话的对话效果。
在一个实施例中,计算机设备基于融合潜在特征和训练回复特征,对预训练对话模型进行参数优化,得到对话模型的过程包括以下步骤:基于融合潜在特征和训练回复特征确定损失值;基于损失值对预训练对话模型的参数进行调整,直至满足收敛条件,得到对话模型。
具体的,计算机设备在得到融合潜在特征和训练回复特征之后,基于训练回复特征确定第一损失值,基于融合潜在特征确定第二损失值,并基于第一损失值和第二损失值确定损失值,基于所得到的损失值对预训练对话模型的参数进行参数调整,直至满足收敛条件,得到对话模型。
在一个实施例中,损失值与第一损失值和第二损失值之间满足以下关系:
L=L1+λL2
其中,L为训练的损失值,L1是负对数似然损失函数的表示,即第一损失值,L2是词袋损失的表示,即第二损失值,λ为平衡两个损失的超参数。在训练过程中,通过最小化该损失函数来更新对话模型的模型参数。
在一个实施例中,第一损失值与训练回复特征之间满足以下关系:
其中,L1是负对数似然损失函数的表示,即第一损失值,其值越小,意味着模型对于生成正确的回复的置信度越高,log(p(yi|x,v,y<i))表示在给定对话上下文x、目标离散潜在变量v和之前词y<i的条件下生成预测词yi的对数概率。
在一个实施例中,第二损失值与融合潜在特征之间满足以下关系:
f=softmax(hvW2+b2)∈R|V|
其中,f是一个概率分布向量,其长度等于词汇表的大小,代表了在当前上下文下每个词的概率。hv为离散潜在变量,W2为权重矩阵,形状为[|V|,hidden_size],其中∣V∣是词汇表的大小,而hidden_size是Transformer模型的隐藏维度,每一行代表一个词的向量表示。b2为偏置项,softmax是一个激活函数,∈R|V|表示向量f在实数空间中,L2是词袋损失的表示,即第二损失值,是预测词yi的预测概率,∑w∈Vexp(fw)是对整个词汇表中每个词的对数概率进行指数运算后的总和,实际上是为了归一化以确保所有词的概率之和为1。
上述实施例中,计算机设备通过结合融合潜在特征和训练回复特征来确定损失值,模型能够更加精确地捕捉到对话中的信息和上下文,从而提高生成的对话数据的质量和准确性;且可以使得模型更加快速的收敛,从而缩短训练时间;通过结合多种潜在特征进行训练,模型更能够处理不同类型的对话场景和问题,从而具有更强的泛化能力,进而提高了人机对话的对话效果。
在一个实施例中,上述对话数据的生成方法还包括对话数据的过程,该过程具体包括以下步骤:从至少两个不同的对话数据中选取第一对话数据进行输出;当检测到对第一对话数据的回复更新指令时,从至少两个不同的对话数据的剩余对话数据中选取第二对话数据进行输出。
具体的,计算机设备在生成每个离散潜在变量下的对话数据之后,可以从各对话数据中随机选取预设数量的第一对话数据进行输出,或者按照输出条件,从第一对话数据中选取满足输出条件的第一对话数据进行输出,计算机设备可以对输出的第一对话数据进行显示,此外计算机设备还可以显示回复更新控件,当目标对象还想获得新的对话数据时,可以触发回复更新控件,计算机设备响应于对回复更新控件的触发操作,各对话数据中除第一对话数据之外的剩余对话数据中选取第二对话数据进行输出。
例如,离散潜在变量集包括3个离散潜在变量,生成的在离散潜在变量v1(生活平衡)下的对话数据1为“首先,建议你定期休息,每小时工作50分钟后,休息10分钟,确保你有足够的休息和良好的饮食,这有助于提高效率,每天定一个时间下班”;在离散潜在变量v2(时间管理场景)下的对话数据2为“考虑使用时间管理技巧,例如番茄工作法,此外,列出任务清单,并为每个任务分配优先级,从最重要的任务开始”;在离散潜在变量v3(团队合作场景)下的对话数据3为“如果可能的话,与团队成员沟通,看看哪些任务可以分担或委派。团队合作可以帮助分散工作负担”,计算机设备可以从对话数据1和对话数据2和对话数据3中随机选取一个对话数据进行输出,如图8所示对话页面,将对话数据1作为第一对话数据进行输出,当检测到对重新生成按钮802的触发操作时,选取对话数据3作为第二对话数据进行输出,如图9所示对话页面;此外,如图10所示,在展示出第二对话数据的同时,还可以展示有对话数据切换按钮1002,在对话页面中展示出第二对话数据后,若目标对象还想查看之前显示的第一对话数据,则可以点击对话数据切换按钮1002,计算机设备响应于对话数据切换按钮1002的触发操作,重新对第一对话数据进行输入,即返回图8所示的对话页面。
上述实施例中,计算机设备通过从至少两个不同的对话数据中选取第一对话数据进行输出;当检测到对第一对话数据的回复更新指令时,从至少两个不同的对话数据的剩余对话数据中选取第二对话数据进行输出,从而可以为目标对象提供多种备选的对话数据,且用户可以通过指令便捷的更改或调整对话数据,且无需每次都执行生成的过程,提高了对话数据输出的效率,从而提高了人机对话的对话效果。
在一个实施例中,计算机设备从至少两个不同的对话数据中选取第一对话数据进行输出的过程包括以下步骤:获取目标对象的属性信息;基于属性信息确定至少两个不同的对话数据与目标对象之间的匹配度;基于匹配度从至少两个不同的对话数据中选取第一对话数据;将第一对话数据作为回复数据进行输出。
其中,目标对象的属性信息是描述目标对象的特征、状态、行为或其他相关细节的数据集合,具体可以包括目标对象的年龄、性别、喜好等信息。
具体的,计算机设备在与目标对象进行人机对话的过程中,在经过目标对象授权之后,可以获取目标对象的属性信息,并对属性信息进行特征提取得到目标对象的属性特征,以及对对话数据进行特征提取,得到对话特征,并计算属性特征与每个对话特征之间的相似性,并将相似性确定为属性信息与相应对话数据之前的匹配度,并将各对话数据中最大匹配度的对话数据确定为第一对话数据,并将第一对话数据作为上下文数据的回复数据进行输出。
上述实施例中,计算机设备通过获取目标对象的属性信息,基于属性信息确定至少两个不同的对话数据与目标对象之间的匹配度,基于匹配度从至少两个不同的对话数据中选取第一对话数据,将第一对话数据作为回复数据进行输出,从而可以根据目标对象的属性信息为目标对象提供更为相关和准确的对话数据,从而可以提高人机对话的对话效果。
在一个实施例中,如图11所示,还提供了一种对话数据的生成方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:
S1102,将样本对话数据与第一关键字进行融合,得到第一样本融合数据。
S1104,通过初始对话模型对第一样本融合数据进行样本注意力处理,并基于样本注意力处理所得的各结果生成预训练回复数据。
S1106,基于预训练回复数据对初始训练模型进行参数优化,得到预训练对话模型。
S1108,基于预训练对话模型的模型参数对辅助训练模型进行参数更新,得到参数更新后的辅助训练模型。
S1110,将样本对话数据与第二关键字进行融合,得到第二样本融合数据。
S1112,通过参数更新后的辅助训练模型对第二样本融合数据进行双向注意力处理,得到样本对话数据的潜在特征。
S1114,基于潜在特征确定样本对话数据在离散潜在变量集中的目标离散潜在变量。
S1116,通过预训练对话模型对目标离散潜在变量和样本对话数据进行注意力处理,得到样本对话数据的融合潜在特征和训练回复特征。
S1118,基于融合潜在特征和训练回复特征确定损失值。
S1120,基于损失值对预训练对话模型的参数进行调整,直至满足收敛条件,得到对话模型。
S1122,获取目标对象在进行人机对话过程中形成的上下文数据。
S1124,在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量。
S1126,将上下文数据分别与各离散潜在变量进行融合,得到各融合数据。S1128,通过对话模型对各融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据。
本申请还提供一种应用场景,该应用场景具体可以应用上述对话数据的生成方法,参考图12所示的流程图,该对话数据的生成方法具体包括以下步骤:
步骤1、收集开放域对话语料
以社交媒体平台作为数据源,从数据源获取大量开放领域的对话语料,对收集到的原始对话语料数据进行预处理和数据清洗,以提高数据质量,得到用于模型训练的样本对话数据。
步骤2、预训练对话模型
基于所获取的样本对话数据对初始对话模型进行训练,得到预训练对话模型。其中初始对话模型采用Transformer模型结构,Transformer模型由多个相同的层堆叠而成,每层包含两个子层:多头自注意力机制和前馈神经网络。此外,每个子层后面都跟随一个残差连接(Residual Connection)和层归一化(Layer Normalization)。多头自注意力机制计算输入序列中每个词汇与其他词汇之间的关联程度,从而捕捉句子中的长距离依赖关系。多头机制则允许模型同时关注不同位置的信息。前馈神经网络用于提取输入序列的局部特征,通常包含两个全连接层和一个激活函数。
需要预处理多轮对话数据,将对话数据转换为对话模型可以接受的形式。首先在对话上下文的开头添加一个特殊符号“bos”来表征句子的开始,并将多轮对话用一个特殊符号“sep”拼接起来,在对话上下文的结尾添加一个特殊符号“eos”来表征对话上下文的结束。同样地,在回复的开头添加一个特殊符号“bos”来表征句子的开始,在回复的末尾添加一个特殊符号“eos”来表征回复的结束。Transformer模型的训练数据为一对包含对话上下文和对应回复的句子对,如下所示,X表示输入文本,Y表示输出文本。
X=[bos]你玩游戏累吗?[sep]累啊,可是有什么办法呢?[sep]可以不玩啊。
[eos]
Y=[bos]不玩的话,就没事干了。[eos]
接着将对话文本进行分词、索引化处理后,作为对话模型的输入。为了让Transformer模型学会词汇在句子中的位置信息,需要为输入数据添加位置编码。
训练对话模型时,采用交叉熵损失函数来衡量模型生成的目标序列与真实目标序列之间的差异,通过最小化该损失函数来更新对话模型的参数。在海量(十亿数量级规模)的开放领域对话语料上,预训练Transformer模型结构的通用对话模型。得益于开放领域对话数据量很大,预训练好的通用对话模型已经学会基本的对话生成能力和语言结构,具备很好的人机交互和对话能力,可以生成流畅的、符合上下文语境的回复。
步骤3、引入离散潜在变量训练对话模型
定义离散潜在变量集vi∈[v1,vk],k为离散潜在变量集中离散潜在变量的个数,每个离散潜在变量vi都对应一种特定的对话意图和背景知识。
引入离散潜在变量训练一对多的对话模型时,先用预训练好的对话模型参数来初始化辅助训练模型,将对话上下文和对应回复拼接起来作为辅助训练模型的输入,并在输入的开头添加一个特殊符号“mask”,识别潜在变量的阶段,Transformer模型采用双向的注意力机制,对于输入序列中的每个词,都可以关注到序列中其他所有的词,不仅可以关注到之前的词,而且可以关注到之后的词。采用双向注意力机制可以帮助对话模型更好地理解对话上下文和回复的语义内容,从而更好地识别这组对话上下文和回复对应的潜在变量,特殊符号“mask”对应的输出向量携带和表征了对话上下文和回复的信息,将该输出向量送入一个线性层,得到在k个离散潜在变量上的概率分布,将概率最大的潜在变量v作为这组对话上下文和回复对应的潜在变量。
生成回复的阶段,将对话上下文、对应回复和潜在变量v的向量表示拼接起来作为预训练对话模型的输入,预训练对话模型在上下文部分上采用双向的注意力机制,对话上下文中的每个词都可以关注到其他所有的词;在回复部分上采用从左到右的单向注意力机制,对于回复中的每个词,只能关注到之前的词,但不能关注到之后的词,从而得到融合潜在特征hv和对应的回复y,进而基于融合潜在特征hv和对应的回复y确定词袋损失和负对数似然损失,基于词袋损失和负对数似然损失调整预训练对话模型的模型参数,并对辅助训练模型的模型参数也进行同步调整,直至得到达到收敛条件,得到训练好的对话模型。
步骤4、对话模型推断生成多样回复
通过步骤1至步骤3的训练过程,实现了将对话模型与定义的离散潜在变量集的绑定,获取目标对象在进行人机对话过程中形成的上下文数据,在与对话模型绑定的离散潜在变量集内遍历k个离散潜在变量,离散潜在变量集是基于样本对话数据对对话模型进行训练过程中绑定的,离散潜在变量集内的各离散潜在变量用于表示对话意图和对话背景知识,将上下文数据分别与各离散潜在变量进行拼接,得到各拼接数据,通过对话模型对各拼接数据进行注意力处理,并基于注意力处理所得的各结果生成k个不同的回复。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的对话数据的生成方法的对话数据的生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个对话数据的生成装置实施例中的具体限定可以参见上文中对于对话数据的生成方法的限定,在此不再赘述。
在一个实施例中,如图13所示,提供了一种对话数据的生成装置,包括:上下文数据获取模块1302、离散潜在变量遍历模块1304、数据融合模块1306和注意力处理模块1308,其中:
上下文数据获取模块1302,用于获取目标对象在进行人机对话过程中形成的上下文数据;
离散潜在变量遍历模块1304,用于在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量;离散潜在变量集是基于样本对话数据对对话模型进行训练过程中绑定的,离散潜在变量集内的各离散潜在变量用于表示对话意图和对话背景知识;
数据融合模块1306,用于将上下文数据分别与各离散潜在变量进行融合,得到各融合数据;
注意力处理模块1308,用于通过对话模型对各融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据。
上述实施例中,在基于样本对话数据对对话模型进行训练过程中,将离散潜在变量与对话模型进行绑定训练,其中离散潜在变量集内的各离散潜在变量用于表示对话意图和对话背景知识,从而在得到目标对象在进行人机对话过程中形成的上下文数据之后,可以在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量,并将上下文数据分别与各离散潜在变量进行融合,得到各融合数据,通过对话模型对各融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据,通过引入离散潜在变量,对话模型能够考虑到不同的潜在情境和背景,为同一上下文产生多个可能的回复,使得人机对话更加接近真实的对话情景,提高了人机对话的对话效果;此外通过对融合数据进行注意力处理,使得对话模型能够聚焦于上下文中的关键信息,并根据这些信息为不同的潜在变量生成合适的回复,这种方式不仅提高了对话的多样性,还确保了生成的回复与上下文之间的相关性和连贯性,进一步提高了人机对话的对话效果。
在一个实施例中,数据融合模块1306,还用于:将上下文数据分别与各离散潜在变量和第一关键字进行融合,得到各融合数据;融合数据包括上下文部分和回复部分;注意力处理模块1308,还用于:通过对话模型对上下文部分进行双向注意力处理,以及对回复部分进行前向注意力处理,得到至少两组预测向量;基于至少两组预测向量生成至少两个不同的对话数据。
在一个实施例中,装置还包括模型训练模块1310,用于:确定样本对话数据在离散潜在变量集中的目标离散潜在变量;通过预训练对话模型对目标离散潜在变量和样本对话数据进行注意力处理,得到样本对话数据的融合潜在特征和训练回复特征;基于融合潜在特征和训练回复特征,对预训练对话模型进行参数优化,得到对话模型。
在一个实施例中,模型训练模块1310还用于:将样本对话数据与第一关键字进行融合,得到第一样本融合数据;通过初始对话模型对第一样本融合数据进行样本注意力处理,并基于样本注意力处理所得的各结果生成预训练回复数据;基于预训练回复数据对初始训练模型进行参数优化,得到预训练对话模型。
在一个实施例中,模型训练模块1310还用于:对样本对话数据进行特征提取,得到样本对话数据的潜在特征;基于潜在特征确定样本对话数据在离散潜在变量集中的目标离散潜在变量。
在一个实施例中,模型训练模块1310还用于:基于预训练对话模型的模型参数对辅助训练模型进行参数更新,得到参数更新后的辅助训练模型;将样本对话数据与第二关键字进行融合,得到第二样本融合数据;通过参数更新后的辅助训练模型对第二样本融合数据进行双向注意力处理,得到样本对话数据的潜在特征。
在一个实施例中,模型训练模块1310还用于:基于潜在特征确定样本对话数据与离散潜在变量集内各离散潜在变量之间的匹配概率;基于匹配概率从离散潜在变量集内确定目标离散潜在变量。
在一个实施例中,模型训练模块1310还用于:将目标离散潜在变量、样本对话数据和第一关键字进行融合,得到第三样本融合数据;通过预训练对话模型对第三样本融合数据中的上下文部分进行双向注意力处理,以及对第三样本融合数据中的回复部分进行前向注意力处理,得到样本对话数据的融合潜在特征和训练向量;基于训练向量生成训练回复特征。
在一个实施例中,模型训练模块1310还用于:基于融合潜在特征和训练回复特征确定损失值;基于损失值对预训练对话模型的参数进行调整,直至满足收敛条件,得到对话模型。
在一个实施例中,如图14所示,装置还包括对话数据输出模块1312,用于:从至少两个不同的对话数据中选取第一对话数据进行输出;当检测到对第一对话数据的回复更新指令时,从至少两个不同的对话数据的剩余对话数据中选取第二对话数据进行输出。
在一个实施例中,对话数据输出模块1312,还用于:获取目标对象的属性信息;基于属性信息确定至少两个不同的对话数据与目标对象之间的匹配度;基于匹配度从至少两个不同的对话数据中选取第一对话数据;将第一对话数据作为回复数据进行输出。
上述对话数据的生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端或服务器,在本实施例中,以该计算机设备是终端为例进行说明,其内部结构图可以如图15所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种对话数据的生成方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (15)

1.一种对话数据的生成方法,其特征在于,所述方法包括:
获取目标对象在进行人机对话过程中形成的上下文数据;
在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量;所述离散潜在变量集是基于样本对话数据对所述对话模型进行训练过程中绑定的,所述离散潜在变量集内的各离散潜在变量用于表示对话意图和对话背景知识;
将所述上下文数据分别与各所述离散潜在变量进行融合,得到各融合数据;
通过所述对话模型对各所述融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述上下文数据分别与各所述离散潜在变量进行融合,得到各融合数据,包括:
将所述上下文数据分别与各所述离散潜在变量和第一关键字进行融合,得到各融合数据;所述融合数据包括上下文部分和回复部分;
所述通过所述对话模型对各所述融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据,包括:
通过所述对话模型对所述上下文部分进行双向注意力处理,以及对所述回复部分进行前向注意力处理,得到至少两组预测向量;
基于所述至少两组预测向量生成至少两个不同的对话数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定样本对话数据在所述离散潜在变量集中的目标离散潜在变量;
通过预训练对话模型对所述目标离散潜在变量和所述样本对话数据进行注意力处理,得到所述样本对话数据的融合潜在特征和训练回复特征;
基于所述融合潜在特征和所述训练回复特征,对所述预训练对话模型进行参数优化,得到所述对话模型。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述样本对话数据与第一关键字进行融合,得到第一样本融合数据;
通过初始对话模型对所述第一样本融合数据进行样本注意力处理,并基于样本注意力处理所得的各结果生成预训练回复数据;
基于所述预训练回复数据对所述初始训练模型进行参数优化,得到所述预训练对话模型。
5.根据权利要求3所述的方法,其特征在于,所述确定样本对话数据在所述离散潜在变量集中的目标离散潜在变量,包括:
对所述样本对话数据进行特征提取,得到所述样本对话数据的潜在特征;
基于所述潜在特征确定所述样本对话数据在所述离散潜在变量集中的目标离散潜在变量。
6.根据权利要求5所述的方法,其特征在于,所述对所述样本对话数据进行特征提取,得到所述样本对话数据的潜在特征,包括:
基于所述预训练对话模型的模型参数对辅助训练模型进行参数更新,得到参数更新后的辅助训练模型;
将所述样本对话数据与第二关键字进行融合,得到第二样本融合数据;
通过所述参数更新后的辅助训练模型对所述第二样本融合数据进行双向注意力处理,得到所述样本对话数据的潜在特征。
7.根据权利要求5所述的方法,其特征在于,所述基于所述潜在特征确定所述样本对话数据在所述离散潜在变量集中的目标离散潜在变量,包括:
基于所述潜在特征确定所述样本对话数据与所述离散潜在变量集内各离散潜在变量之间的匹配概率;
基于所述匹配概率从所述离散潜在变量集内确定目标离散潜在变量。
8.根据权利要求3所述的方法,其特征在于,所述通过预训练对话模型对所述目标离散潜在变量和所述样本对话数据进行注意力处理,得到所述样本对话数据的融合潜在特征和训练回复特征,包括:
将所述目标离散潜在变量、所述样本对话数据和第一关键字进行融合,得到第三样本融合数据;
通过所述预训练对话模型对所述第三样本融合数据中的上下文部分进行双向注意力处理,以及对所述第三样本融合数据中的回复部分进行前向注意力处理,得到所述样本对话数据的融合潜在特征和训练向量;
基于所述训练向量生成训练回复特征。
9.根据权利要求3所述的方法,其特征在于,所述基于所述融合潜在特征和所述训练回复特征,对所述预训练对话模型进行参数优化,得到所述对话模型,包括:
基于所述融合潜在特征和所述训练回复特征确定损失值;
基于所述损失值对所述预训练对话模型的参数进行调整,直至满足收敛条件,得到所述对话模型。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
从所述至少两个不同的对话数据中选取第一对话数据进行输出;
当检测到对所述第一对话数据的回复更新指令时,从所述至少两个不同的对话数据的剩余对话数据中选取第二对话数据进行输出。
11.根据权利要求10所述的方法,其特征在于,所述从所述至少两个不同的对话数据中选取第一对话数据进行输出,包括:
获取所述目标对象的属性信息;
基于所述属性信息确定所述至少两个不同的对话数据与所述目标对象之间的匹配度;
基于所述匹配度从所述至少两个不同的对话数据中选取第一对话数据;
将所述第一对话数据作为回复数据进行输出。
12.一种对话数据的生成装置,其特征在于,所述装置包括:
上下文数据获取模块,用于获取目标对象在进行人机对话过程中形成的上下文数据;
离散潜在变量遍历模块,用于在与对话模型绑定的离散潜在变量集内遍历至少两个离散潜在变量;所述离散潜在变量集是基于样本对话数据对所述对话模型进行训练过程中绑定的,所述离散潜在变量集内的各离散潜在变量用于表示对话意图和对话背景知识;
数据融合模块,用于将所述上下文数据分别与各所述离散潜在变量进行融合,得到各融合数据;
注意力处理模块,用于通过所述对话模型对各所述融合数据进行注意力处理,并基于注意力处理所得的各结果生成至少两个不同的对话数据。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
CN202311426469.7A 2023-10-30 2023-10-30 对话数据的生成方法、装置、计算机设备和存储介质 Pending CN117453879A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311426469.7A CN117453879A (zh) 2023-10-30 2023-10-30 对话数据的生成方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311426469.7A CN117453879A (zh) 2023-10-30 2023-10-30 对话数据的生成方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN117453879A true CN117453879A (zh) 2024-01-26

Family

ID=89592501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311426469.7A Pending CN117453879A (zh) 2023-10-30 2023-10-30 对话数据的生成方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN117453879A (zh)

Similar Documents

Publication Publication Date Title
CN112487182B (zh) 文本处理模型的训练方法、文本处理方法及装置
US20230048218A1 (en) On-Device Projection Neural Networks for Natural Language Understanding
CN111897941B (zh) 对话生成方法、网络训练方法、装置、存储介质及设备
CN110309283B (zh) 一种智能问答的答案确定方法及装置
WO2020228376A1 (zh) 文本处理方法、模型训练方法和装置
CN108959396B (zh) 机器阅读模型训练方法及装置、问答方法及装置
Fan et al. Augmenting transformers with KNN-based composite memory for dialog
US11734375B2 (en) Automatic navigation of interactive web documents
US20240029436A1 (en) Action classification in video clips using attention-based neural networks
US11769018B2 (en) System and method for temporal attention behavioral analysis of multi-modal conversations in a question and answer system
CN117521675A (zh) 基于大语言模型的信息处理方法、装置、设备及存储介质
CN110234018B (zh) 多媒体内容描述生成方法、训练方法、装置、设备及介质
CN113704460B (zh) 一种文本分类方法、装置、电子设备和存储介质
CN114330281B (zh) 自然语言处理模型的训练方法、文本处理方法和装置
CN109313650A (zh) 在自动聊天中生成响应
CN112115246A (zh) 基于对话的内容推荐方法、装置、计算机设备及存储介质
WO2024088039A1 (zh) 人机对话方法、对话网络模型的训练方法及装置
CN115510194A (zh) 问答语句检索方法、装置、电子设备及存储介质
CN113177112B (zh) 基于kr积融合多模态信息的神经网络视觉对话装置及方法
CN114330704A (zh) 语句生成模型更新方法、装置、计算机设备和存储介质
CN115525740A (zh) 对话应答语句的生成方法、装置、电子设备及存储介质
CN117453879A (zh) 对话数据的生成方法、装置、计算机设备和存储介质
CN117121021A (zh) 用于用户界面预测和生成的经机器学习的模型
CN117521674B (zh) 对抗信息的生成方法、装置、计算机设备和存储介质
CN113822080B (zh) 翻译、对话翻译模型的处理方法、装置和计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication