CN116108155A - 人机对话系统及其数据处理方法、电子设备及存储介质 - Google Patents
人机对话系统及其数据处理方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116108155A CN116108155A CN202310117316.8A CN202310117316A CN116108155A CN 116108155 A CN116108155 A CN 116108155A CN 202310117316 A CN202310117316 A CN 202310117316A CN 116108155 A CN116108155 A CN 116108155A
- Authority
- CN
- China
- Prior art keywords
- model
- man
- dialogue
- machine
- evaluation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Machine Translation (AREA)
- Input From Keyboards Or The Like (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供了一种人机对话系统及其数据处理方法、电子设备及存储介质,其中,人机对话数据处理方法包括:获取对话评估模型,所述对话评估模型基于用户与人机对话模型进行人机对话产生的真实人机对话数据及所述用户对所述人机对话的评估数据获得,其中,所述人机对话模型经预训练语言模型迁移获得;基于预训练对话样本及所述对话评估模型,对所述预训练语言模型进行再训练;使用再训练完成的预训练语言模型对所述人机对话模型进行更新。通过本申请实施例,极大地提高了人机对话模型进行人机对话的鲁棒性和对话回复的质量。
Description
技术领域
本申请实施例涉及人工智能技术领域,尤其涉及一种人机对话系统、人机对话系统的数据处理方法、电子设备及计算机存储介质。
背景技术
人机对话是人与机器的一种新型交互方式,其目标是使机器能够理解和运用人类的自然语言实现人机之间的通信,以使机器能代替人类的部分脑力劳动,起到延伸人类大脑的作用。随着人机对话技术的发展,其已成为诸如人机对话交互、虚拟现实、虚拟人等新一代信息技术的核心能力。
目前,人机对话多通过机器学习模型实现。例如,先通过对预训练语言模型进行预训练,再将预训练完成的模型迁移至下游的具体人机对话任务进行微调,基于微调后的模型实现人机对话应用。但是,目前用于人机对话的模型如前述预训练语言模型都是基于对话正例数据进行训练和学习的,导致这些模型在迁移后的具体的应用中无法有效应对正例以外的其它对话数据,从而使得模型缺乏鲁棒性,在这种情况下易出现错误的对话回复。
发明内容
有鉴于此,本申请实施例提供一种人机对话数据处理方案,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种人机对话数据处理方法,包括:获取对话评估模型,所述对话评估模型基于用户与人机对话模型进行人机对话产生的真实人机对话数据及所述用户对所述人机对话的评估数据获得,其中,所述人机对话模型经预训练语言模型迁移获得;基于预训练对话样本及所述对话评估模型,对所述预训练语言模型进行再训练;使用再训练完成的预训练语言模型对所述人机对话模型进行更新。
根据本申请实施例的第二方面,提供了一种人机对话系统,包括:预训练语言模型、人机对话模型、对话评估模型、迁移模块、反馈模块和再训练模块;其中:所述迁移模块,用于基于预训练完成的预训练语言模型进行模型迁移,获得人机对话模型;所述反馈模块,用于通过所述人机对话模型进行人机对话交互,并获得用户与所述人机对话模型进行人机对话产生的真实人机对话数据及所述用户对所述人机对话的评估数据;基于所述真实人机对话数据及其对应的评估数据,生成或更新对话评估模型;所述再训练模块,用于基于预训练对话样本和所述对话评估模型,对所述预训练语言模型进行再训练;并使用再训练完成的预训练语言模型对所述人机对话模型进行更新。
根据本申请实施例的第三方面,提供了另一种人机对话数据处理方法,包括:向服务端发送用于请求对本地的人机对话模型进行参数更新的请求消息;接收所述服务端返回的参数信息,根据所述参数信息对所述人机对话模型进行参数更新;其中,所述服务端根据所述请求消息,确定待使用的对话评估模型,所述对话评估模型基于用户与所述人机对话模型进行人机对话产生的真实人机对话数据及所述用户对所述人机对话的评估数据获得,其中,所述人机对话模型经预训练语言模型迁移获得;基于预训练对话样本及所述对话评估模型,对所述预训练语言模型进行再训练;基于再训练完成的预训练语言模型确定用于对所述人机对话模型进行参数更新的参数信息。
根据本申请实施例的第四方面,提供了又一种人机对话数据处理方法,包括:向服务端发送用于请求对本地的人机对话模型进行版本升级的升级指示;接收所述服务端返回的参数信息,根据所述参数信息对所述人机对话模型进行版本升级;其中,所述服务端根据所述升级指示,确定待使用的对话评估模型,所述对话评估模型基于用户与所述人机对话模型进行人机对话产生的真实人机对话数据及所述用户对所述人机对话的评估数据获得,其中,所述人机对话模型经预训练语言模型迁移获得;基于预训练对话样本及所述对话评估模型,对所述预训练语言模型进行再训练;基于再训练完成的预训练语言模型确定用于对所述人机对话模型进行参数更新的参数信息。
根据本申请实施例的第五方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面或第三方面或第四方面所述方法对应的操作。
根据本申请实施例的第六方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面或第三方面或第四方面所述的方法。
根据本申请实施例提供的人机对话数据处理方案,在经预训练语言模型迁移后获得的人机对话模型部署后,会采集用户与该人机对话模型之间的真实人机对话数据及其对应的评估数据,并基于此获得对话评估模型。进而,通过该对话评估模型,基于预训练对话样本对预训练语言模型进行再次训练;然后,再基于再次训练后的预训练语言模型对已部署的人机对话模型进行更新。因对话评估模型基于真实的人机交互反馈获得,一方面,该人机交互反馈中既包含有正向反馈数据,也包含有负向反馈数据,将其作用于预训练语言模型,可有效弥补预训练语言模型基于对话正例数据进行训练和学习而导致迁移后的人机对话模型缺乏鲁棒性,易出现错误对话回复的问题。另一方面,该融合了正向反馈数据和负向反馈数据的对话评估模型作用于预训练语言模型,再经预训练语言模型融合预训练获得的知识再次作用于已部署的人机对话模型,从而使得更新后的人机对话模型既能学习到丰富的预训练知识,又能够学习到人机对话模型部署后实际应用过程中遇到的新问题新知识,极大地提高了人机对话模型进行人机对话的鲁棒性和对话回复的质量。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为适用本申请实施例方案的示例性系统的示意图;
图2A为根据本申请实施例一的一种人机对话数据处理方法的步骤流程图;
图2B为图2A所示实施例中的一种场景示例的示意图;
图3A为根据本申请实施例二的一种人机对话系统的结构框图;
图3B为图3A所示人机对话系统进行再训练的示意图;
图3C为图3A所示人机对话系统中的预训练语言模型基于对话评估模型进行再训练的示意图;
图4为根据本申请实施例三的一种人机对话数据处理方法的步骤流程图;
图5为根据本申请实施例四的一种人机对话数据处理方法的步骤流程图;
图6为根据本申请实施例五的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
下面结合本申请实施例附图进一步说明本申请实施例具体实现。
图1示出了一种适用本申请实施例方案的示例性系统。如图1所示,该系统100可以包括云服务端102、通信网络104和/或一个或多个用户设备106。其中,云服务端102包括第一云服务端1022和第二云服务端1024,图1中示例中的用户设备106为多个用户设备。
云服务端102可以是用于存储信息、数据、程序和/或任何其他合适类型的内容的任何适当的设备,包括但不限于分布式存储系统设备、服务器集群、计算云服务端集群等。在一些实施例中,云服务端102可以执行任何适当的功能。本示例中,将云服务端102划分为第一云服务端1022和第二云服务端1024。其中,预训练语言模型及对预训练语言模型的训练可通过第一云服务端1022实现,而人机对话模型则可部署于第二云服务端1024。预训练语言模型通常规模较大,所占空间、算力消耗也均较大,但通常数据处理如对用户问题的响应速度则较慢。而人机对话模型则可更轻量级,则响应速度快,更适合人机交互。因此,将预训练语言模型和人机对话模型分别部署于不同的云服务端。但本领域技术人员应当明了的是,第一云服务端1022和第二云服务端1024也可以是相同的云服务端。
在将云服务端区分为第一云服务端1022和第二云服务端1024的情况下,在一些实施例中,第一云服务端1022可以对其中部署的预训练语言模型进行预训练,并可将预训练完成的预训练语言模型发送至第二云服务端1024,以进行模型迁移。作为可选的示例,在一些实施例中,第一云服务端1022中还可以部署对话评估模型,以基于预训练对话样本和该对话评估模型,对预训练语言模型进行再训练后,再次发送至第二云服务端1024进行模型迁移。
在一些实施例中,第二云服务端1024被用于部署人机对话模型,以与用户进行人机对话交互。在一些实施例中,第二云服务端1024在接收到训练完成的预训练语言模型后,进行下游任务迁移,以生成人机对话模型并部署在本端。在一些实施例中,第二云服务端1024接收用户设备106发送来的用户问题数据,并通过其中部署的人机对话模型进行处理,以生成针对用户问题数据的回复,并发送至用户设备106。在一些实施例中,第二云服务端1024还采集这些真实的人机对话数据,以及,用户设备106发送来的用户对进行的真实的人机对话的评估数据(即反馈数据),并且,基于这些数据训练获得对话评估模型并定期更新该对话评估模型;以及,将获得或更新后的对话评估模型发送至第一云服务端1022。在一些实施例中,第二云服务端1024还在预语言模型完成再训练后,基于该再训练后的预训练语言模型进行人机对话模型的更新。
在一些实施例中,通信网络104可以是一个或多个有线和/或无线网络的任何适当的组合。例如,通信网络104能够包括以下各项中的任何一种或多种:互联网、内联网、广域网(Wide Area Network,WAN)、局域网(Local Area Network,LAN)、无线网络、数字订户线路(Digital Subscriber Line,DSL)网络、帧中继网络、异步转移模式(AsynchronousTransfer Mode,ATM)网络、虚拟专用网(Virtual Private Network,VPN)和/或任何其它合适的通信网络。用户设备106能够通过一个或多个通信链路(例如,通信链路112)连接到通信网络104,该通信网络104能够经由一个或多个通信链路(例如,通信链路114)被链接到云服务端102。通信链路可以是适合于在用户设备106和云服务端102之间传送数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其它合适的通信链路或此类链路的任何合适的组合。
用户设备106可以包括适合于与用户交互,尤其是人机对话交互的任何一个或多个用户设备。在一些实施例中,用户设备106接收用户发送的问题数据,并将问题数据发送至第二云服务端1024;以及,在接收到第二云服务端1024反馈的回复数据后,向用户反馈。在一些实施例中,用户设备106可以包括任何合适类型的设备。例如,在一些实施例中,用户设备106可以包括移动设备、平板计算机、膝上型计算机、台式计算机、可穿戴计算机、游戏控制台、媒体播放器、车辆娱乐系统和/或任何其他合适类型的用户设备。
基于上述系统,以下通过多个实施例对本申请的方案进行说明。
实施例一
参照图2A,示出了根据本申请实施例一的一种人机对话数据处理方法的步骤流程图。
首先需要说明的是,本申请实施例的人机对话数据处理方案基于已部署的人机对话模型实现,该人机对话模型通过预训练完成的预训练语言模型迁移获得。
基于此,本实施例的人机对话数据处理方法包括以下步骤:
步骤S202:获取对话评估模型。
其中,该对话评估模型基于用户与人机对话模型进行人机对话产生的真实人机对话数据及用户对人机对话的评估数据获得,用于评估用户的问题与机器给出的回复之间的适配程度。
此外,如前所述,人机对话模型为经预训练语言模迁移获得后部署应用的模型。在一种可行方式中,可以获取预训练完成的预训练语言模型;基于训练完成的预训练语言模型进行知识蒸馏,获得人机对话模型;在线部署人机对话模型,以使用人机对话模型进行人机对话交互。知识蒸馏是一种模型压缩的方法,不同于模型压缩中的剪枝和量化,知识蒸馏通过构建一个轻量化的小模型,利用性能更好的大模型的监督信息,来训练小模型,以期达到更好的性能和精度。其中,大模型也称作Teacher(教师模型),小模型也称作Student(学生模型)。来自Teacher模型输出的监督信息称为knowledge(知识),而Student学习迁移来自Teacher的监督信息的过程即为Distillation(蒸馏)。基于此,本申请实施例中,以预训练语言模型作为Teacher,以人机对话模型作为Student,以使人机对话模型通过蒸馏方式,学习到预训练语言模型的知识。其中,预训练语言模型的模型规模大于人机对话模型的规模。该规模意指模型的结构和/或参数,也即,预训练语言模型的结构复杂于人机对话模型,和/或,预训练语言模型的模型参数多于人机对话模型。通过知识蒸馏的方式,可以使得人机对话模型更为有效地学习到预训练语言模型的知识。但不限于此,其它模型迁移的方式也同样适用于本申请实施例的方案。
在获得人机对话模型并部署后,即可使用其进行人机对话交互。本申请实施例中,在用户与人机对话模型进行人机对话交互后,还可邀请用户对本次对话进行评价,如,点赞、点踩、指明错误、重写回复、语音评价(如,“XXX,你好聪明呀~”、“太好了”、“真笨”等等),任意可反馈用户对本次对话的感受的方式均可适用于本申请实施例,这些评价数据即用户针对本次人机对话的评估数据。
在一种可行方式中,可根据采集的一定数量的真实人机对话数据及其对应的评估数据,训练获得初始的对话评估模型。但为了使得模型对对话的评估更为准确,也为了降低训练成本,在一种可行方式中,可以获取用户与在线运行的人机对话模型进行人机对话产生的真实人机对话数据及用户对人机对话的评估数据;根据真实人机对话数据及其对应的评估数据、以及预训练对话样本,对对话评估模型进行训练,获得训练完成的对话评估模型。其中,预训练对话样本即对预训练语言模型进行训练使用的样本。通过这种方式,既降低了样本的获取成本,又因真实人机对话数据及其评估数据既包含针对针对真实人机对话数据的正向评估数据,也包含负向评估数据,可有效弥补预训练对话样本中以正例对话数据为主的不足。
在实际应用中,对话评估模型可以采用任意适当的机器学习模型结构实现,包括但不限于:基于回复监督学习的模型结构、基于奖励学习的模型结构、基于统一生成分类框架的模型结构等。本申请实施例中,对对话评估模型的具体实现不作限制。
在一种可行方式中,可定期收集真实人机对话数据及其对应的评估数据,进而,将新收集的数据补充入原训练样本中,对对话评估模型进行训练更新,以使对话评估模型更具实时性和鲁棒性。也即,针对对话评估模型,可以定期更新真实人机对话数据及其对应的评估数据;进而,根据更新后的真实人机对话数据及其对应的评估数据、以及预训练对话样本,对对话评估模型进行更新。后续,也将使用更新后的对话评估模型作用于预训练语言模型的再训练过程。
步骤S204:基于预训练对话样本及对话评估模型,对预训练语言模型进行再训练。
在预训练语言模型迁移至下游的人机对话模型前,预训练语言模型仅使用预训练对话样本进行训练。而在人机对话模型部署并应用后,对预训练语言模型的再训练会结合对话评估模型和预训练对话样本进行,以通过对话评估模型对预训练语言模型预测的回复进行评估,基于评估结果对预训练语言模型进行再训练。
在一种可行方式中,本步骤可以实现为:针对预训练对话样本中的至少一个样本中的每个样本,通过预训练语言模型对该样本进行对话回复预测,获得多个候选回复;通过对话评估模型,对多个候选回复进行排序;基于排序结果,对预语言模型进行再训练。
预训练语言模型为经过训练后能够基于输入的问题输出相对应的回复的模型,其可采用诸如PLUG(Pretraining for Language Understanding and Generation,语言理解&生成预训练)模型、GPT(Generative Pre-Training,生成式预训练)模型、T5(Text-To-Text Transfer Transformer)模型等,本申请实施例对预训练语言模型的具体实现结构不作限制。在训练过程中,预训练语言模型针对输入的样本预测生成多个回复项,该多个回复项即多个候选回复。与进行模型迁移前,预训练语言模型直接根据预测出的多个候选回复的顺序,以排序最靠前的候选回复作为最终的回复进行模型训练不同。在再训练过程中,该多个候选回复将被输入对话评估模型,通过对话评估模型对该多个候选回复进行评估后进行重排序,以重排序后最靠前的候选回复作为最终的回复进行模型训练。因对话评估模型基于真实人机对话数据及评估数据训练获得,将其引入预训练语言模型的再训练中,可有效弥补预训练语言模型因训练样本问题而导致的不足,使得再训练后的预训练语言模型具有更好的鲁棒性和强壮性。
在一种可行方式中,基于排序结果,对预语言模型进行再训练可以包括:基于排序结果和预设的对比学习损失函数,对预语言模型进行再训练。也即,在获得对话评估模型重排序后的多个候选回复后,在原损失函数的基础上,还可引入对比学习损失函数,由此,使得预训练语言模型可以学习到评估数据的正例和负例的信息。其中,对比学习损失函数可由本领域技术人员根据实际情况,选用任意适当的对比学习损失函数,本申请实施例对此不作限制。
通过本步骤,可以有效将真实人机对话的正例和负例的信息引入预训练语言模型的训练中,提升预训练语言模型的学习效果。
此外,需要说明的是,本申请实施例中,若无特殊说明,“多个”、“多种”等与“多”有关的数量,均意指两个及两个以上。
步骤S206:使用再训练完成的预训练语言模型对人机对话模型进行更新。
在预训练语言模型完成再训练后,即可再次采用模型迁移的方式,更新已部署的人机对话模型,以使人机对话模型学习到新知识。在一种可行方式中,可以仍使用知识蒸馏的方式,即,使用再训练完成的预训练语言模型,通过知识蒸馏对人机对话模型进行更新。当然,其它模型迁移的方式也同样适用于本申请实施例的方案。
需要说明的是,该再训练和再迁移过程可以周期性进行,以使预训练语言模型和人机对话模型及对话评估模型的功能都越来越完善,模型输出结果越来越准确。
但如前所述,预训练语言模型的规模可能远大于人机对话模型,为此,本申请实施例的一种可行方案中,还会基于用户与人机对话模型进行人机对话产生的真实人机对话数据及用户对所述人机对话的评估数据,对人机对话模型进行周期性训练更新,以便在避免大规模训练成本较高的情况下,使得小规模模型也能更为及时地进行更新,达到更好的人机对话交互效果。也即,一方面,会基于预训练语言模型的再训练进行人机对话模型的第一周期性更新;另一方面,会基于人机对话模型自身进行人机对话交互产生的真实人机对话数据及评估数据,进行人机对话模型的第二周期性更新。但本申请实施例中,第一周期性更新的周期长于第二周期性更新的周期。
也即,本申请实施例中,采用了长短期更新的方式。示例性地,大模型(预训练语言模型)的训练时间往往较长,需要大量的机器资源和时间,可以月为周期进行迭代;对于小模型(人机对话模型)需要实时捕捉热点和用户反馈,可以日为周期进行更新。
对于月更新,可如本实施例中所述,通过基于反馈的知识蒸馏同时学习最新的预训练语言模型和基于实时反馈的对话评估模型,来让人机对话模型既学习到预训练语言模型这一大模型丰富的预训练知识,缓解“知识灾难性遗忘”问题,同时也学习到线上部署后实际的新问题新知识。
对于日更新,可如前人机对话模型进行的第二周期性更新所述,通过基于用户反馈,对人机对话模型这一小模型进行更新,让人机对话模型实时学习到最新热点和用户反馈。
由此,实现了基于用户反馈的知识蒸馏,在预训练语言模型到人机对话模型的蒸馏过程中同时引入了对话评估模型进行反馈增强,可以让人机对话模型既学习到预训练语言模型丰富的预训练知识,也学习到线上部署后实际的新问题新知识。
以下,以一个示例对上述过程进行示例性说明,如图2B所示。
图2B中,首先,预训练语言模型在完成预训练后,通过知识蒸馏将预训练语言模型蒸馏到推理的人机对话模型。
然后,在线部署人机对话模型,并在部署之后,收集用户与人机对话模型之间进行人机对话交互的反馈数据(包括但不限于点赞点踩、满意度打分、错误原因、重写回复等)。之后,基于反馈数据及真实人机对话数据,通过对话评估模型对预训练语言模型的训练进行反馈增强,对预训练语言模型进行再训练,并基于再训练后的预训练语言模型重新进行知识蒸馏,以对人机对话模型进行更新训练,提升线上人机对话的鲁棒性和回复质量。该过程可以月为单位周期性进行。
与此同时,还可以基于反馈数据及真实人机对话数据,对人机对话模型进行以日为单位的周期性更新。
此外,需要说明的是,本申请实施例中的对话评估模型可以为一个,也可以为多个,当为多个时,可以从多个不同的维度进行对话评估,例如,从相关性维度、风格匹配度维度、人设一致性维度、信息量维度,等等。
由此,使得人机对话模型既可以学习到预训练语言模型丰富的预训练知识,也可学习到线上部署后实际的新问题新知识。
可见,通过本实施例,在经预训练语言模型迁移后获得的人机对话模型部署后,会采集用户与该人机对话模型之间的真实人机对话数据及其对应的评估数据,并基于此获得对话评估模型。进而,通过该对话评估模型,基于预训练对话样本对预训练语言模型进行再次训练;然后,再基于再次训练后的预训练语言模型对已部署的人机对话模型进行更新。因对话评估模型基于真实的人机交互反馈获得,一方面,该人机交互反馈中既包含有正向反馈数据,也包含有负向反馈数据,将其作用于预训练语言模型,可有效弥补预训练语言模型基于对话正例数据进行训练和学习而导致迁移后的人机对话模型缺乏鲁棒性,易出现错误对话回复的问题。另一方面,该融合了正向反馈数据和负向反馈数据的对话评估模型作用于预训练语言模型,再经预训练语言模型融合预训练获得的知识再次作用于已部署的人机对话模型,从而使得更新后的人机对话模型既能学习到丰富的预训练知识,又能够学习到人机对话模型部署后实际应用过程中遇到的新问题新知识,极大地提高了人机对话模型进行人机对话的鲁棒性和对话回复的质量。
实施例二
参照图3A,示出了根据本申请实施例二的一种人机对话系统的结构框图。
本实施例的人机对话系统包括迁移模块302、反馈模块304、以及再训练模块306。
其中,迁移模块302用于基于预训练完成的预训练语言模型进行模型迁移,获得人机对话模型;反馈模块304用于通过人机对话模型进行人机对话交互,并获得用户与人机对话模型进行人机对话产生的真实人机对话数据及用户对人机对话的评估数据;基于真实人机对话数据及其对应的评估数据,生成或更新对话评估模型;再训练模块306用于基于预训练对话样本和对话评估模型,对预训练语言模型进行再训练;并使用再训练完成的预训练语言模型对人机对话模型进行更新。
以下,结合图3B和图3C,对上述人机对话系统的再训练过程进行示例性说明。其中,图3B为人机对话系统进行再训练的整体过程示意图,图3C为人机对话系统中的预训练语言模型基于对话评估模型进行再训练的过程示意图。
该人机对话系统的再训练过程在已部署完成的人机对话模型的基础上实现,该过程包括:
过程1:确定待进行再训练的预训练语言模型。
其中,该待进行再训练的预训练语言模型为基于开放域对话数据集的预训练对话训练样本(只包含正例)和MLE loss,学习获得的预训练语言模型。由图3C中可见,该开放域对话数据集中可以包括诸如闲聊对话、知识对话、人设对话等多种类型的对话训练样本。初始时,预训练语言模型基于这些对话训练样本和MLE(Maximum Likelihood Estimation,极大似然估计)损失函数进行训练,获得初始的预训练语言模型。
本示例中,该初始的预训练语言模型经过知识蒸馏,可获得人机对话模型并进行在线部署应用。
过程2:确定待使用的对话评估模型。
该对话评估模型可以在构建后,基于在线部署后的人机对话模型与用户之间的线上人机对话交互的数据(包含正例和负例、及对应的评估数据)进行训练获得。此种情况下,人机对话系统还包括:对话评估模型获得模块308,用于获取用户与在线运行的人机对话模型进行人机对话产生的真实人机对话数据及用户对人机对话的评估数据;根据真实人机对话数据及其对应的评估数据、以及预训练对话样本,对对话评估模型进行训练,获得训练完成的对话评估模型。后续,还可以基于周期性收集的用户与人机对话模型之间的真实人机对话交互的数据进行更新训练。也即,可以定期更新真实人机对话数据及其对应的评估数据;根据更新后的真实人机对话数据及其对应的评估数据、以及预训练对话样本,对对话评估模型进行更新。
示例性地,图3C中,对话评估模型包括多个,基于进行了人工标注的、包含正例和负例的真实人机对话数据训练获得。多个不同的对话评估模型可以从问题与回复的相关性判别维度、问题与回复的人设一致性判别维度、回复的信息量判别维度等进行训练,从而获得对应的可从相关性维度、从人设一致性维度、信息量维度进行对话评估的不同对话评估模型。
过程3:预训练语言模型产出多个候选回复。
预训练语言模型针对输入的至少一个预训练对话样本中的每个预训练对话样本,预测输出多个候选回复,该多个候选回复具有初始的排序。
过程4:使用对话评估模型对预训练语言模型产出的多个候选回复进行重排序。
通过对话评估模型对多个候选回复进行对话评估,进而根据评估结果进行重排序。当使用多个对话评估模型时,可从多个维度对该多个候选回复进行对话评估,获得对应的多个对话评估结果。进而,可以根据预设的计算公式(如平均值公式、权重计算公式等)计算出综合值,再根据每个候选回复对应的综合值,对多个候选回复进行重排序。
过程5:基础预训练语言模型根据重排序结果,进行再训练。
基础预训练语言模型可以在使用MLE损失函数进行训练的同时,引入对比学习损失函数(Contrastive loss function)来学习对话评估的正例和负例。
上述过程5和6可由人机对话系统的再训练模块306实现,也即,再训练模块306可以针对预训练对话样本中的至少一个样本中的每个样本,通过预训练语言模型对该样本进行对话回复预测,获得多个候选回复;通过评估模型,对多个候选回复进行排序;基于排序结果,对预语言模型进行再训练。
其中,再训练模块306在基于排序结果,对预语言模型进行再训练时,可以基于排序结果和预设的对比学习损失函数,对预语言模型进行再训练。
过程6:再训练完成的预训练语言模型通过知识蒸馏,将学习的知识迁移至已部署的人机对话模型。
例如,参照图3B,对于同样的针对下游人机对话任务的训练样本,通过蒸馏损失函数,使得引入对话评估模型进行再训练的预训练语言模型的预测结果,与人机对话模型预测的预测结果尽可能接近,等。
此外,针对人机对话模型,再训练模块306还可以基于用户与人机对话模型进行人机对话产生的真实人机对话数据及用户对所述人机对话的评估数据,对人机对话模型进行周期性训练更新。该更新周期短于对预训练语言模型进行再训练的周期,示例性地,可以对人机对话模型以日为单位进行更新,而对预训练语言模型以月为单位进行再训练和更新。
由此,使得人机对话模型既可学习到再训练后的预训练语言模型的丰富的预训练知识,也能够学习到线上部署后遇到的实际的新问题新知识,提升模型的鲁棒性和回复质量。
本实施例的人机对话系统用于实现前述实施例中的人机对话数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例中部分模块的功能实现描述较为简单,相关部分可参照前述方法实施例中相对应的部分实现。
实施例三
本实施例从用户设备的角度,对本申请实施例提供的人机对话处理方法进行说明。参照图4,其示出了根据本申请实施例三的一种人机对话数据处理方法的步骤流程图。
本实施例的人机对话数据处理方法包括以下步骤:
步骤S402:向服务端发送用于请求对本地的人机对话模型进行参数更新的请求消息。
本实施例中,人机对话模型为已部署至用户设备中,且已与用户进行过人机交互的人机对话模型。
因每经过一段时间的人机交互,会有新的人机对话及用户对人机对话的评估数据产生,可据此作为对用户设备中的人机对话模型进行调优的依据。因此,用户设备可定期或不定期地向服务端发送请求消息,以请求对本地的人机对话模型进行参数更新。本申请实施例中,对请求消息的具体实现形式不作限制,此外,服务端可以实现为如图1中所示的云端,也可实现为由单台或多台服务器形成的服务设备端。
步骤S404:接收服务端返回的参数信息,根据参数信息对人机对话模型进行参数更新。
其中,服务端根据用户设备发送的请求消息,首先确定待使用的对话评估模型,该对话评估模型基于用户与人机对话模型进行人机对话产生的真实人机对话数据及用户对人机对话的评估数据获得,其中,人机对话模型经预训练语言模型迁移获得。然后,再基于预训练对话样本及对话评估模型,对预训练语言模型进行再训练;基于再训练完成的预训练语言模型确定用于对人机对话模型进行参数更新的参数信息。
上述服务端的操作的具体实现可参照前述实施例一中所描述的方法实现,在此不再赘述。
在服务端将相应的参数信息发送给用户设备后,用户设备即可基于该参数信息进行人机对话模型的参数更新。示例性地,可采用与前期预训练语言模型迁移获得人机对话模型同样的方式进行人机对话模型的参数更新。
通过本实施例,使得用户设备侧能够根据需求,及时对人机对话模型的参数进行更新,实现模型调优,以达到更好地与用户进行人机交互的效果,提升用户使用人机对话模型的使用体验。
实施例四
本实施例仍从用户设备的角度,对本申请实施例提供的人机对话处理方法进行说明。参照图5,其示出了根据本申请实施例四的一种人机对话数据处理方法的步骤流程图。
本实施例的人机对话数据处理方法包括以下步骤:
步骤S502:向服务端发送用于请求对本地的人机对话模型进行版本升级的升级指示。
本实施例中,人机对话模型为已部署至用户设备中,且已与用户进行过人机交互的人机对话模型。
与其它应用或软件的版本升级类似,人机对话模型也可定期可不定期进行版本升级。又因每经过一段时间的人机交互,会有新的人机对话及用户对人机对话的评估数据产生,据此进行版本升级能够有效提升人机对话模型的性能。因此,用户设备可定期或不定期地向服务端发送升级指示,以指示对本地的人机对话模型进行版本升级。本申请实施例中,对升级指示的具体实现形式不作限制,此外,服务端可以实现为如图1中所示的云端,也可实现为由单台或多台服务器形成的服务设备端。
步骤S504:接收服务端返回的参数信息,根据参数信息对人机对话模型进行版本升级。
其中,服务端根据用户设备发送的升级指示,确定待使用的对话评估模型,该对话评估模型基于用户与人机对话模型进行人机对话产生的真实人机对话数据及用户对人机对话的评估数据获得,其中,人机对话模型经预训练语言模型迁移获得;基于预训练对话样本及对话评估模型,对预训练语言模型进行再训练;基于再训练完成的预训练语言模型确定用于对人机对话模型进行参数更新的参数信息。
上述服务端的操作的具体实现可参照前述实施例一中所描述的方法实现,在此不再赘述。
在服务端将相应的参数信息发送给用户设备后,用户设备即可基于该参数信息进行人机对话模型的参数更新,以达到版本升级的效果。示例性地,可采用与前期预训练语言模型迁移获得人机对话模型同样的方式进行人机对话模型的参数更新。
通过本实施例,使得用户设备侧能够根据需求,实现对人机对话模型的版本升级,以使用升级后的人机对话模型更好地与用户进行人机交互,提升用户使用人机对话模型的使用体验。
实施例五
参照图6,示出了根据本申请实施例三的一种电子设备的结构示意图,本申请具体实施例并不对电子设备的具体实现做限定。
如图6所示,该电子设备可以包括:处理器(processor)602、通信接口(Communications Interface)604、存储器(memory)606、以及通信总线608。
其中:
处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。
通信接口604,用于与其它电子设备或服务器进行通信。
处理器602,用于执行程序610,具体可以执行上述人机对话数据处理方法实施例中的相关步骤。
具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。
处理器602可能是CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器606,用于存放程序610。存储器606可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序610可包括多条计算机指令,程序610具体可以通过多条计算机指令使得处理器602执行前述多个方法实施例中任一实施例所描述的人机对话数据处理方法对应的操作。
程序610中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,并具有相应的有益效果,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本申请实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述方法实施例中所描述的方法。该计算机存储介质包括但不限于:只读光盘(Compact Disc Read-Only Memory,CD-ROM)、随机存储器(Random Access Memory,RAM)、软盘、硬盘或磁光盘等。
本申请实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述方法实施例中的人机对话数据处理方法对应的操作。
此外,需要说明的是,本申请实施例所涉及到的与用户有关的信息(包括但不限于用户设备信息、用户个人信息、用户与人机对话模型进行对话交互的信息等)和数据(包括但不限于用于对模型进行训练的样本数据、用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD-ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编辑门阵列(Field Programmable Gate Array,FPGA))的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,随机存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。
Claims (14)
1.一种人机对话数据处理方法,包括:
获取对话评估模型,所述对话评估模型基于用户与人机对话模型进行人机对话产生的真实人机对话数据及所述用户对所述人机对话的评估数据获得,其中,所述人机对话模型经预训练语言模型迁移获得;
基于预训练对话样本及所述对话评估模型,对所述预训练语言模型进行再训练;
使用再训练完成的预训练语言模型对所述人机对话模型进行更新。
2.根据权利要求1所述的方法,其中,所述基于预训练对话样本及所述对话评估模型,对所述预训练语言模型进行再训练,包括:
针对所述预训练对话样本中的至少一个样本,通过所述预训练语言模型对该样本进行对话回复预测,获得多个候选回复;
通过所述对话评估模型,对所述多个候选回复进行排序;
基于排序结果,对所述预语言模型进行再训练。
3.根据权利要求2所述的方法,其中,所述基于排序结果,对所述预语言模型进行再训练,包括:
基于排序结果和预设的对比学习损失函数,对所述预语言模型进行再训练。
4.根据权利要求1-3任一项所述的方法,其中,所述对话评估模型通过以下方式预先获得:
获取用户与在线运行的人机对话模型进行人机对话产生的真实人机对话数据及所述用户对所述人机对话的评估数据;
根据所述真实人机对话数据及其对应的评估数据、以及所述预训练对话样本,对所述对话评估模型进行训练,获得训练完成的对话评估模型。
5.根据权利要求4所述的方法,其中,所述方法还包括:
定期更新真实人机对话数据及其对应的评估数据;
根据更新后的真实人机对话数据及其对应的评估数据、以及所述预训练对话样本,对所述对话评估模型进行更新。
6.根据权利要求1-3任一项所述的方法,其中,在所述获取对话评估模型之前,所述方法还包括:
获取预训练完成的预训练语言模型;
基于所述训练完成的预训练语言模型进行知识蒸馏,获得人机对话模型,其中,所述预训练语言模型的模型规模大于所述人机对话模型的规模;
在线部署所述人机对话模型,以使用所述人机对话模型进行人机对话交互。
7.根据权利要求6所述的方法,其中,所述方法还包括:
基于所述用户与人机对话模型进行人机对话产生的真实人机对话数据及所述用户对所述人机对话的评估数据,对所述人机对话模型进行周期性训练更新。
8.一种人机对话系统,包括:迁移模块、反馈模块和再训练模块;
其中:
所述迁移模块,用于基于预训练完成的预训练语言模型进行模型迁移,获得人机对话模型;
所述反馈模块,用于通过所述人机对话模型进行人机对话交互,并获得用户与所述人机对话模型进行人机对话产生的真实人机对话数据及所述用户对所述人机对话的评估数据;基于所述真实人机对话数据及其对应的评估数据,生成或更新对话评估模型;
所述再训练模块,用于基于预训练对话样本和所述对话评估模型,对所述预训练语言模型进行再训练;并使用再训练完成的预训练语言模型对所述人机对话模型进行更新。
9.根据权利要求8所述的系统,其中,所述再训练模块,用于针对所述预训练对话样本中的至少一个样本,通过所述预训练语言模型对该样本进行对话回复预测,获得多个候选回复;通过所述评估模型,对所述多个候选回复进行排序;基于排序结果,对所述预语言模型进行再训练。
10.根据权利要求8或9所述的系统,其中,所述系统还包括:对话评估模型获得模块,用于获取用户与在线运行的人机对话模型进行人机对话产生的真实人机对话数据及所述用户对所述人机对话的评估数据;根据所述真实人机对话数据及其对应的评估数据、以及所述预训练对话样本,对所述对话评估模型进行训练,获得训练完成的对话评估模型。
11.一种人机对话数据处理方法,包括:
向服务端发送用于请求对本地的人机对话模型进行参数更新的请求消息;
接收所述服务端返回的参数信息,根据所述参数信息对所述人机对话模型进行参数更新;
其中,所述服务端根据所述请求消息,确定待使用的对话评估模型,所述对话评估模型基于用户与所述人机对话模型进行人机对话产生的真实人机对话数据及所述用户对所述人机对话的评估数据获得,其中,所述人机对话模型经预训练语言模型迁移获得;基于预训练对话样本及所述对话评估模型,对所述预训练语言模型进行再训练;基于再训练完成的预训练语言模型确定用于对所述人机对话模型进行参数更新的参数信息。
12.一种人机对话数据处理方法,包括:
向服务端发送用于请求对本地的人机对话模型进行版本升级的升级指示;
接收所述服务端返回的参数信息,根据所述参数信息对所述人机对话模型进行版本升级;
其中,所述服务端根据所述升级指示,确定待使用的对话评估模型,所述对话评估模型基于用户与所述人机对话模型进行人机对话产生的真实人机对话数据及所述用户对所述人机对话的评估数据获得,其中,所述人机对话模型经预训练语言模型迁移获得;基于预训练对话样本及所述对话评估模型,对所述预训练语言模型进行再训练;基于再训练完成的预训练语言模型确定用于对所述人机对话模型进行参数更新的参数信息。
13.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7、11、12中任一项所述的方法对应的操作。
14.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-7、11、12中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310117316.8A CN116108155A (zh) | 2023-01-18 | 2023-01-18 | 人机对话系统及其数据处理方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310117316.8A CN116108155A (zh) | 2023-01-18 | 2023-01-18 | 人机对话系统及其数据处理方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116108155A true CN116108155A (zh) | 2023-05-12 |
Family
ID=86267068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310117316.8A Pending CN116108155A (zh) | 2023-01-18 | 2023-01-18 | 人机对话系统及其数据处理方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116108155A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383026A (zh) * | 2023-06-05 | 2023-07-04 | 阿里巴巴(中国)有限公司 | 基于大模型的数据处理方法及服务器 |
CN117422118A (zh) * | 2023-11-17 | 2024-01-19 | 中南大学 | 一种面向任务型对话中一致性识别的模型化预训练方法、系统及介质 |
-
2023
- 2023-01-18 CN CN202310117316.8A patent/CN116108155A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383026A (zh) * | 2023-06-05 | 2023-07-04 | 阿里巴巴(中国)有限公司 | 基于大模型的数据处理方法及服务器 |
CN116383026B (zh) * | 2023-06-05 | 2023-09-01 | 阿里巴巴(中国)有限公司 | 基于大模型的数据处理方法及服务器 |
CN117422118A (zh) * | 2023-11-17 | 2024-01-19 | 中南大学 | 一种面向任务型对话中一致性识别的模型化预训练方法、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790238B2 (en) | Multi-task neural networks with task-specific paths | |
CN116108155A (zh) | 人机对话系统及其数据处理方法、电子设备及存储介质 | |
EP3673419B1 (en) | Population based training of neural networks | |
KR20200014510A (ko) | 기계 학습 기반의 예측 서비스 제공 방법 및 그 장치 | |
JP2021501417A (ja) | ニューラルアーキテクチャ検索 | |
CN111369299A (zh) | 识别的方法、装置、设备及计算机可读存储介质 | |
CN114519145A (zh) | 一种基于图神经网络挖掘用户长短期兴趣的序列推荐方法 | |
CN110717582A (zh) | 使用鉴别器神经网络从生成器神经网络采样 | |
CN114637911A (zh) | 一种注意力融合感知网络的下一个兴趣点推荐方法 | |
CN114529351A (zh) | 一种商品类目预测方法、装置、设备及存储介质 | |
CN115168720A (zh) | 内容交互预测方法以及相关设备 | |
CN117473951A (zh) | 文本处理方法、装置及存储介质 | |
CN117455009A (zh) | 联邦学习方法、联邦预测方法、装置、设备及存储介质 | |
CN116414951A (zh) | 智能对话方法、模型训练方法、装置、存储介质及设备 | |
Nishimoto et al. | Dialogue management with deep reinforcement learning: Balancing exploration and exploitation | |
CN115705464A (zh) | 一种信息的处理方法、装置及设备 | |
CN112905896A (zh) | 一种推荐个数模型的训练方法、混合内容推荐方法及装置 | |
CN114692888A (zh) | 系统参数处理方法、装置、设备及存储介质 | |
CN113221017B (zh) | 粗排方法、装置及存储介质 | |
WO2023098460A1 (zh) | 一种模型更新方法、装置及相关设备 | |
CN117786416B (zh) | 一种模型训练方法、装置、设备、存储介质及产品 | |
CN114020922B (zh) | 文本分类方法、装置及存储介质 | |
Peng | Novel methods for efficient dialogue policy learning by improving agent-user interaction | |
CN118803036A (zh) | 内容推送方法、装置、设备、介质及产品 | |
CN116166956A (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 |