CN114330701A - 模型训练方法、装置、计算机设备、存储介质及程序产品 - Google Patents
模型训练方法、装置、计算机设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN114330701A CN114330701A CN202111200203.1A CN202111200203A CN114330701A CN 114330701 A CN114330701 A CN 114330701A CN 202111200203 A CN202111200203 A CN 202111200203A CN 114330701 A CN114330701 A CN 114330701A
- Authority
- CN
- China
- Prior art keywords
- task
- training
- word
- language model
- speaking
- 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
Abstract
本申请实施例提供了一种模型训练方法、装置、计算机设备、存储介质及程序产品,可以应用于人工智能的自然语言处理领域中,该方法包括:获取语言模型的训练数据,训练数据包括会话数据,会话数据包括社交会话中多轮发言产生的发言内容;获取语言模型的预训练任务,预训练任务包括以下至少一项:单词恢复任务、发言者预测任务以及发言顺序判定任务;按照预训练任务对训练数据进行变换处理,得到预训练任务的训练样本;基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型。采用本申请实施例,可以针对社交会话场景提出语言模型的预训练任务,使得训练得到的语言模型能够较好地学习社交会话场景中的语言特征。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及人工智能技术领域,具体涉及一种模型训练方法、装置、计算机设备、存储介质及程序产品。
背景技术
随着计算机技术的不断发展,广大学者开始研究能够使得人类与机器之间通过自然语言进行沟通的理论和方法,NPL(NatureLanguageProcessing,自然语言处理)技术应运而生。NPL技术的一项核心任务是对语言模型(LanguageModels)进行预训练,使得训练好的语言模型能够充分地学习自然语言的语言特征。
目前,语言模型的预训练任务多数是针对一些独立内容提出的,这样训练得到的语言模型不适用于学习社交会话场景中的语言特征,这是因为独立内容是由作者独立生成,例如新闻报道中发表的内容,书籍中记载的内容等都是独立内容,而社交会话场景中的内容是由多个发言者交替发言产生的,社交会话场景中的内容与独立内容之间存在较大区别;因此,亟需针对社交会话场景提出相应的预训练任务来对语言模型进行训练。
发明内容
本申请实施例提供了一种模型训练方法、装置、计算机设备、存储介质及程序产品,可以针对社交会话场景提出语言模型的预训练任务,使得训练得到的语言模型能够较好地学习社交会话场景中的语言特征。
一方面,本申请实施例提供了一种模型训练方法,该模型训练方法包括:
获取语言模型的训练数据,训练数据包括会话数据,会话数据包括社交会话中多轮发言产生的发言内容,每一轮发言由参与社交会话的一个发言者发起;
获取语言模型的预训练任务,预训练任务包括以下至少一项:单词恢复任务、发言者预测任务以及发言顺序判定任务;
按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本;
基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型;训练好的语言模型用于对社交会话中的会话数据进行编码。
相应地,本申请实施例提供了一种模型训练装置,该模型训练装置包括:
获取单元,用于获取语言模型的训练数据,训练数据包括会话数据,会话数据包括社交会话中多轮发言产生的发言内容,每一轮发言由参与社交会话的一个发言者发起;以及获取语言模型的预训练任务,预训练任务包括以下至少一项:单词恢复任务、发言者预测任务以及发言顺序判定任务;
处理单元,用于按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本;以及基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型;训练好的语言模型用于对社交会话中的会话数据进行编码。
在一种实现方式中,预训练任务包括单词恢复任务,发言内容由单词组成;处理单元,用于按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本时,具体用于执行如下步骤:
按照社交会话中各轮发言的发言顺序,对社交会话中各轮发言的发言者标识和发言内容依次进行拼接处理,得到社交会话的参考内容;
采用替换标识替换参考内容中的目标单词,得到单词恢复任务的训练样本。
在一种实现方式中,处理单元,用于基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型时,具体用于执行如下步骤:
获取单词恢复任务的训练样本的表示向量;
采用语言模型对单词恢复任务的训练样本的表示向量进行编码,得到单词恢复任务的训练样本中的替换标识的编码;
基于替换标识的编码进行单词预测,得到替换标识被正确预测为目标单词的概率;
根据替换标识被正确预测为目标单词的概率,确定单词恢复任务的损失信息;
根据单词恢复任务的损失信息,对语言模型的模型参数进行更新,得到训练好的语言模型。
在一种实现方式中,单词恢复任务的训练样本的表示向量包括:单词恢复任务的训练样本中的发言者标识的表示向量、单词的表示向量和替换标识的表示向量;单词恢复任务的训练样本中的任一个单词表示为参考单词;处理单元,用于获取参考单词的表示向量时,具体用于执行如下步骤:
获取参考单词的词向量;
根据参考单词在所述参考单词所属的发言内容中的排列位置,确定参考单词的位置向量;
根据参考单词所属的发言内容,确定参考单词的发言内容标记向量;
根据参考单词所属的发言者,确定参考单词的发言者表示向量;
根据参考单词的词向量、参考单词的位置向量、参考单词的发言内容标记向量、以及参考单词的发言者表示向量,确定参考单词的表示向量。
在一种实现方式中,预训练任务包括发言者预测任务;处理单元,用于按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本时,具体用于执行如下步骤:
按照社交会话中各轮发言的发言顺序,对社交会话中各轮发言的发言者标识和发言内容依次进行拼接处理,得到社交会话的参考内容;
采用替换标识替换参考内容中的目标发言者标识,得到发言者预测任务的训练样本。
在一种实现方式中,处理单元,用于基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型时,具体用于执行如下步骤:
获取发言者预测任务的训练样本的表示向量;
采用语言模型对所述发言者预测任务的训练样本的表示向量进行编码,得到发言者预测任务的训练样本中的替换标识的编码;
基于替换标识的编码进行发言者预测,得到替换标识被正确预测为目标发言者标识的概率;
根据替换标识被正确预测为目标发言者标识的概率,确定发言者预测任务的损失信息;
根据发言者预测任务的损失信息,对语言模型的模型参数进行更新,得到所述训练好的语言模型。
在一种实现方式中,预训练任务包括发言顺序判定任务;处理单元,用于按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本时,具体用于执行如下步骤:
将分类符号与社交会话中各轮发言的发言者标识以及发言内容进行拼接处理,得到社交会话中各轮发言的拼接内容;
将社交会话中各轮发言的拼接内容进行多次随机顺序的拼接处理,得到发言顺序判定任务的训练样本;
其中,各次随机顺序的拼接处理过程中的各轮发言的拼接内容的排列顺序不相同,每次随机顺序的拼接处理得到发言顺序判定任务的一个训练样本。
在一种实现方式中,处理单元,用于基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型时,具体用于执行如下步骤:
获取发言顺序判定任务的训练样本的表示向量;
采用语言模型对发言顺序判定任务的训练样本的表示向量进行编码处理,得到发言顺序判定任务的训练样本中各个分类符号的编码;
基于各个分类符号的编码进行发言顺序预测,得到发言顺序判定任务的训练样本中各轮发言的预测顺序与实际顺序一致的预测概率;
根据发言顺序判定任务的训练样本的预测概率,确定发言顺序判定任务的损失信息;
根据发言顺序判定任务的损失信息,对语言模型的模型参数进行更新,得到所述训练好的语言模型。
在一种实现方式中,预训练任务包括单词恢复任务、发言者预测任务以及发言顺序判定任务;处理单元,用于基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型时,具体用于执行如下步骤:
基于单词恢复任务的训练样本,调用语言模型执行单词恢复任务,得到单词恢复任务的损失信息;
基于发言者预测任务的训练样本,调用语言模型执行发言者预测任务,得到发言者预测任务的损失信息;
基于发言顺序判定任务的训练样本,调用语言模型执行发言顺序判定任务,得到发言顺序判定任务的损失信息;
根据单词恢复任务的损失信息、发言者预测任务的损失信息、以及发言顺序判定任务的损失信息,对语言模型的模型参数进行更新,得到训练好的语言模型。
在一种实现方式中,获取单元,还用于执行如下步骤:获取语言处理任务的解码模型;
处理单元,还用于执行如下步骤:采用训练好的语言模型对社交会话中的会话数据进行编码,得到会话编码;
按照语言处理任务的任务要求,根据会话编码对解码模型进行训练。
在一种实现方式中,语言处理任务为会话摘要提取任务;训练数据还包括社交会话的标记摘要;处理单元,用于按照语言处理任务的任务要求,根据会话编码对解码模型进行训练时,具体用于执行如下步骤:
采用会话摘要提取任务的解码模型,对会话编码进行解码,得到社交会话的预测摘要;
基于标记摘要和预测摘要之间的差异性,对解码模型进行训练。
在一种实现方式中,语言处理任务为会话预测任务;社交会话包括N轮发言产生的发言内容,N为大于1的整数;会话编码包括所述N轮发言中每轮发言内容的编码;
处理单元,用于按照语言处理任务的任务要求,根据会话编码对所述解码模型进行训练时,具体用于执行如下步骤:
采用会话预测任务的解码模型对N轮发言中的前M轮发言的发言内容的编码进行解码,得到后N-M轮发言的预测内容,M为小于N的正整数;
根据后N-M轮发言的预测内容和后N-M轮发言的发言内容之间的差异性,对解码模型进行训练。
在一种实现方式中,语言处理任务为会话检索任务;训练数据还包括针对社交会话的检索问题和检索问题的标记答案;
处理单元,还用于执行如下步骤:采用训练好的语言模型对检索问题进行编码,得到检索问题的编码;其中,会话编码包括社交会话中各轮发言的发言内容的编码;
处理单元,用于按照语言处理任务的任务要求,根据会话编码对解码模型进行训练时,具体用于执行如下步骤:
采用会话检索任务的解码模型计算检索问题的编码与社交会话中各轮发言的发言内容的编码之间的相似度,并对计算得到的相似度中最大相似度对应的发言内容的编码进行解码处理,得到检索问题的预测答案;
基于标记答案和预测答案之间的差异性,对解码模型进行训练。
相应地,本申请实施例提供一种计算机设备,该计算机设备包括处理器和计算机可读存储介质,其中,处理器适于实现计算机程序,计算机可读存储介质存储有计算机程序,计算机程序适于由处理器加载并执行上述的模型训练方法。
相应地,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的模型训练方法。
相应地,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的模型训练方法。
本申请实施例针对社交会话场景提出语言模型的预训练任务,并通过调用语言模型执行预训练任务来对社交会话场景中的语言模型进行训练;预训练任务可以包括以下至少一项:单词恢复任务、发言者预测任务以及发言顺序判定任务;单词恢复任务可以用于对语言模型学习社交会话场景中的词级特征的能力进行训练,发言者预测任务可以用于对语言模型学习社交会话场景中的发言者特征的能力进行训练,发言顺序预测任务可以用于对语言模型学习社交会话场景中的发言顺序逻辑特征的能力进行训练,训练好的语言模型可以用于对社交会话中的会话数据进行编码,这样可以使得训练得到的语言模型能够较好地学习社交会话场景中的语言特征。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种自然语言处理技术的流程示意图;
图2是本申请实施例提供的一种模型训练方法的流程示意图;
图3a是本申请实施例提供的一种语言模型的模型处理逻辑的示意图;
图3b是本申请实施例提供的一种单词恢复任务的执行过程示意图;
图3c是本申请实施例提供的一种发言者预测任务的执行过程示意图;
图3d是本申请实施例提供的一种发言顺序判定任务的执行过程示意图;
图4是本申请实施例提供的另一种模型训练方法的流程示意图;
图5是本申请实施例提供的一种模型应用场景的界面示意图;
图6是本申请实施例提供的一种模型训练装置的结构示意图;
图7是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更清楚地理解本申请实施例提出的技术方案,下面先对本申请实施例涉及的关键术语进行介绍:
(1)人工智能技术。人工智能(ArtificialIntelligence,AI)技术是指利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
(2)自然语言处理技术。自然语言处理技术是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
如图1所示,自然语言处理技术一般可以分为上游阶段和下游阶段,上游阶段的主要任务是通过大规模的训练语料样本对语言模型进行预训练(Pre-Train),使得训练得到的语言模型能够充分学习到自然语言的语言特征;语言模型可以理解为是一种编码模型,语言模型学习自然语言的语言特征的过程可以理解为是对自然语言进行编码的过程,也就是说,语言模型可以用于对自然语言进行编码,自然语言的编码是即对自然语言的语言特征的表示。下游阶段也可称之为精调(Fine-Tune)阶段,下游阶段的主要任务是针对各类语言处理任务训练不同的解码模型,使得训练得到的解码模型通过对语言模型得到的编码进行解码来实现各类语言处理任务;下游阶段的解码模型可以是一个非常轻量级的输出层,在各类语言处理任务的小规模语料样本的基础上进行训练即可快速收敛。需要说明的是,本申请实施例提及的语言模型可以包括但不限于以下至少一种:BERT(一种语言模型)、RoBERTa(一种语言模型)、GPT2(一种语言模型),本申请实施例以语言模型是BERT为例进行介绍,当语言模型是其他情况(例如语言模型是RoBERTa、或GPT2等)时,可参见语言模型是BERT时的相关描述。
(3)社交会话。社交会话也可称为多方对话(Multi-PartyDialog),是指多个发言者之间的对话、聊天;医疗会诊、商务谈判、工作例会等属于具体的社交会话场景。社交会话可以具备以下四个会话特点:①社交会话中的表达方式更偏向于口语化;例如,成语“滴水穿石”在社交会话中往往表达为类似“坚持就会成功”、“要坚持做完这件事情”等通俗易懂的口语;又如,社交会话中经常使用“啊”、“吧”、“哈”等口语化的语气助词。②参与社交会话的各个发言者在社交会话中交替发言,发言者的性格特征、会话目的、语言习惯各不相同。③社交会话中存在复杂的交互关系;具体来说,社交会话中一般都会存在多个会话主题,发言者针对各个会话主题进行发言,交互关系是指各个发言者的发言内容之间的主题关联关系,主题关联关系可以包括两种,一种是各个发言者的发言内容属于同一个会话主题,另一种是各个发言者的发言内容属于不同的会话主题;举例来说,发言者A针对会话主题A的发言内容为“今天下午吃什么”,发言者B针对会话主题B的发言内容为“今天下午在哪吃”,发言者C针对会话主题A和会话主题B的发言内容为“今天下午在公司吃外卖”,发言者C的发言内容与发言者A的发言内容属于同一个会话主题(即会话主题A),发言者C的发言内容和发言者B的发言内容也属于同一个会话主题(即会话主题B);一般来说,发言者数量越多、会话主题数量越多的社交会话中交互关系往往越复杂,发言者数量越少、会话主题数量越少的社交会话中交互关系往往越简单。④社交会话中的发言内容之间存在一定的顺序逻辑,例如发言内容“今天下午吃外卖”的发言顺序一般位于发言内容“今天下午吃什么”之后。
基于上述关于语言模型和社交会话的描述,本申请实施例提出一种模型训练方案,该模型训练方案针对社交会话的会话特点提出语言模型的三项预训练任务,并通过调用语言模型执行这三项预训练任务来对语言模型进行训练;这三项预训练任务分别是单词恢复任务、发言者预测任务以及发言顺序判定任务,其中,单词恢复任务可以用于训练语言模型学习社交会话中发言内容的组成单词的特征的能力,发言者预测任务可以用于训练语言模型学习社交会话中各个发言者的特征的能力,发言顺序判定任务可以用于训练语言模型学习社交会话中的发言顺序逻辑的特征的能力,通过这三项预训练任务训练得到的语言模型能够较好地学习社交会话中的语言特征。
需要说明的是,本申请实施例提供的模型训练方案可以由一个计算机设备执行,该计算机设备可以是智能终端或服务器。此处所提及的智能终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。此处所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
另外,本申请实施例提及的多个所指示的数量为两个或两个以上,本申请实施例提及的多轮所指示的数量为两轮或两轮以上,在此说明。
下面结合图2至图5所示实施例对本申请实施例提供的模型训练方案进行更为详细地介绍。
本申请实施例提出一种模型训练方法,该模型训练方法主要介绍语言模型的三项预训练任务(即上述提及的单词恢复任务、发言者预测任务以及发言顺序判定任务)对训练数据的变换处理过程,以及三项预训练任务对语言模型的具体训练过程,该模型训练方法可以由前述所提及的计算机设备执行。如图2所示,该模型训练方法可以包括以下步骤S201至步骤S204:
S201,获取语言模型的训练数据。
语言模型的训练数据可以包括会话数据,会话数据的数量可以为一个或多个;当会话数据的数量为多个时,多个会话数据可以来自不同的社交会话,例如第一会话数据来自第一社交会话,第二会话数据来自第二社交会话;多个会话数据也可以来自同一个社交会话,多个会话数据具体可以是来自同一个社交会话的不同时间段,例如第一会话数据来自社交会话的第一时间段,第二会话数据来自社交会话的第二时间段。会话数据是指社交会话中产生的数据,会话数据可以是文本数据或语音数据,也就是说,会话数据可以是社交会话中采用文本形式进行多轮发言产生的文本数据,或者可以是社交会话中采用语音形式进行多轮发言产生的语言数据;本申请实施例以会话数据是文本数据为例进行介绍,当会话数据是语音数据时,可以先通过语音识别技术将语音数据转换成文本数据后,再参见本申请实施例中关于会话数据是文本数据的描述。
会话数据中可以包括社交会话中多轮发言的发言者标识和多轮发言产生的发言内容,多轮发言产生的发言内容共同组成社交会话的会话内容,每一轮发言由参与社交会话的一个发言者发起。为了便于理解,本申请实施例中可以将社交会话中的发言轮数表示为N轮,社交会话的会话内容可以表示为D={U1,U2,…,UN},D表示会话内容,{U1,U2,…,UN}表示会话内容包括的N轮发言的发言内容;N轮发言中的任一轮发言可以表示为第i轮发言,第i轮发言的发言内容可以表示为Ui,第i轮发言的发言者可以表示为si;其中,N为大于1的整数,i为小于或等于N的正整数。举例来说,一个示例性的会话数据如下所示:
甲:晚饭去哪儿吃?
乙:快餐店吧。
丙:六点走?
如上所示的会话数据包括社交会话中三轮发言的发言者标识和发言内容,第一轮发言的发言者标识为“甲”,即“s1=甲”,第一轮发言的发言内容为“晚饭去哪儿吃?”,即“U1=晚饭去哪儿吃?”;第二轮发言的发言者标识为“乙”,即“s2=乙”,第二轮发言的发言内容为“快餐店吧。”,即“U2=快餐店吧。”;第三轮发言的发言者标识为“丙”,即“s3=丙”,第三轮发言的发言内容为“六点走?”,即“U3=六点走?”。
会话数据中的发言内容可以是由单词(token)组成的。当发言内容采用中文表示时,单词可以是指单个字符(字符可以包括汉字或标点符号),例如发言内容“晚饭去哪儿吃?”是由“晚”、“饭”、“去”、“哪”、“儿”、“吃”、“?”这7个字符组成的;或者,单词也可以是对发言内容进行语义拆分得到的拆分词,例如发言内容“晚饭去哪儿吃?”是由“晚饭”、“去”、“哪儿”、“吃”、“?”这5个拆分词组成的。当发言内容采用英文表示时,单词可以是指一个英文单词。为了便于理解,本申请实施例中可以将第i轮发言的发言内容中包含的单词的数量表示为li个,第i轮发言的发言内容可以表示为Ui={wi1,wi2,…,wili},其中,{wi1,wi2,…,wili}表示组成第i轮发言的发言内容的li个单词,li为正整数。
S202,获取语言模型的预训练任务。
在对语言模型的预训练任务进行介绍之前,在此先结合图3a对语言模型的模型处理逻辑进行介绍,语言模型的模型处理逻辑大致可以包括内容拼接、嵌入层表示、模型编码三个步骤,具体如下:
(1)内容拼接,即将发言者标识与发言内容进行拼接处理。具体来说,可以按照社交会话中各轮发言的发言顺序,对社交会话中各轮发言的发言者标识和发言内容依次进行拼接处理,即按照第一轮发言的发言者标识、第一轮发言的发言内容、第二轮发言的发言者标识、第二轮发言的发言内容这样的顺序,对各轮发言的发言者标识和发言内容进行拼接处理。一般来说,还可以在第一轮发言的发言者标识之前拼接一个分类标识[CLS],在最后一轮发言的发言内容结尾处拼接一个分割标识[SEP];或者,也可以在每一轮发言的发言者标识之前都拼接一个分类标识[CLS],在每一轮发言的发言内容结尾处都拼接一个分割标识[SEP],本申请实施例对此不作限定。如图3a所示,,可以将N轮发言的发言者标识{s1,s2,…,sN}和发言内容{U1,U2,…,UN}依次拼接得到“[CLS]s1,U1,s2,U2,…,sN,UN”,应用在上述步骤S201示例的会话数据中可以得到如下拼接结果“[CLS][甲]晚饭去哪儿吃?[乙]快餐店吧。[丙]六点走?”。又如,可以将N轮发言的发言者标识{s1,s2,…,sN}和发言内容{U1,U2,…,UN}依次拼接得到“s1,U1,s2,U2,…,sN,UN[SEP]”。
(2)嵌入层表示,即将社交会话中各轮发言的发言者标识和发言内容拼接得到的内容采用向量的形式进行表示,具体是将拼接得到的内容中的发言者标识、单词、分类标识以及分割标识采用向量的形式进行表示。为了便于描述,本申请实施例将发言者标识、单词、分类标识以及分割标识均统称为内容对象。嵌入层可以包括但不限于以下至少一层:词嵌入层(TokenEmbeddingLayer)、段嵌入层(SegmentEmbeddingLayer)、位置嵌入层(Soft-PositionEmbeddingLayer)、发言者表示层(SpeakerEmbeddingLayer)。其中:
①词嵌入层可以将内容对象映射为词向量。当内容对象为单词时,该映射过程可以通过查找词向量表实现,词向量表中包括多个已确定词向量的单词和这些单词的词向量,通过查找词向量表可以得到单词的词向量;并且,词向量的维数可以是基于词向量表中单词的数量确定的,例如词向量的维数等于词向量表中单词的数量。当内容对象为各类标识(即发言者标识、分类标识、分割标识)时,其对应的词向量可以是指定词向量;并且,各类标识的指定词向量可以是相同的,也可以是不相同的;例如发言者标识的词向量、分类标识的词向量、分割标识的词向量均是同一个指定词向量;又如,发言者标识的指定词向量、分类标识的指定词向量、分割标识的指定词向量互不相同。
②位置嵌入层可以用于确定内容对象的位置向量,内容对象的位置向量可以用于标记内容对象在发言内容中的排列位置。当内容对象为单词时,可以根据单词在该单词所属的发言内容中的排列位置来确定该单词的位置向量;例如,单词“晚”在其所属的发言内容“晚饭去哪儿吃?”中排列于第一位,可以确定该单词的位置向量为[1];单词“?”在其所属的发言内容“晚饭去哪儿吃?”中排列于第七位,可以确定该单词的位置向量为[7]。当内容对象为各类标识(即发言者标识、分类标识、分割标识)时,位置向量均为空。
③段嵌入层可以为属于不同发言内容的内容对象打上不同的标记,用于区分属于不同发言内容的内容对象,该标记即是内容对象的发言内容标记向量;也就是说,属于同一发言内容的内容对象的发言内容标记向量是相同的,属于不同发言内容的内容对象的发言内容标记向量是不同的。举例来说,{w11,w12,…,w1l1}中的每个单词均属于第一轮发言的发言内容,则{w11,w12,…,w1l1}中的每个单词的发言内容标记向量均为[A];{w21,w22,…,w2l2}中的每个单词均属于第二轮发言的发言内容,则{w21,w22,…,w2l2}中的每个单词的发言内容标记向量均为[B]。段嵌入层在标记时不区分单词和各类标识,即段嵌入层采用与单词相同的标记方式对各类标识进行标记。
④发言者表示层的标记方式与段嵌入层的标记方式类似,可以为属于不同发言者的内容对象打上不同的标记,用于区分属于不同发言者的内容对象,该标记即是内容对象的发言者表示向量;也就是说,属于同一发言者的内容对象的发言者表示向量是相同的,属于不同发言者的内容对象的发言者表示向量是不同的。举例来说,{w11,w12,…,w1l1}中的每个单词和{w21,w22,…,w2l2}中的每个单词属于同一个发言者,则{w11,w12,…,w1l1}中的每个单词和{w21,w22,…,w2l2}中的每个单词具有相同的发言者表示向量(例如均是[α])。又如,{w11,w12,…,w1l1}中的每个单词属于第一发言者,{w21,w22,…,w2l2}中的每个单词均属于第二发言者,则{w11,w12,…,w1l1}中的每个单词的发言者表示向量均为[α],{w21,w22,…,w2l2}中的每个单词的发言者表示向量均为[β]。发言者表示层在标记时同样不区分单词和各类标识,即发言者表示层采用与单词相同的标记方式对各类标识进行标记。
还需说明的是,对于任一个单词或标识,可以将上述四个嵌入层的向量进行向量拼接处理,得到单词或标识最终的表示向量。即可以将任一个单词的词向量、位置向量、发言内容标记向量以及发言者表示向量进行向量拼接处理,得到该单词的表示向量;可以将任一个标识(即上述所提及的发言者标识、分类标识、或分割标识)的词向量、位置向量、发言内容标记向量以及发言者表示向量进行向量拼接处理,得到该标识的表示向量。
(3)模型编码,即采用语言模型对各个单词的表示向量进行编码,得到各个单词的编码,对各个标识的表示向量进行编码,得到各个标识的编码。如图3a所示,上述(1)中拼接得到的内容“[CLS]s1,U1,s2,U2,…,sN,UN”,经语言模型进行编码后可以得到如下的编码结果“ec,es1,EU1,es2,EU2,…,esN,EUN”,其中,ec表示分类符号[CLS]的编码,esN表示第N轮发言的发言者标识的编码,EUN表示第N轮发言的发言内容的编码。
在介绍完语言模型的模型处理逻辑之后,下面对语言模型的预训练任务进行介绍,正如前文所描述的,语言模型的预训练任务可以包括但不限于以下至少一项:单词恢复任务、发言者预测任务以及发言顺序判定任务。其中,单词恢复任务可以用于训练语言模型学习社交会话中发言内容的组成单词的特征的能力,发言者预测任务可以用于训练语言模型学习社交会话中各个发言者的特征的能力,发言顺序判定任务可以用于训练语言模型学习社交会话中的发言顺序逻辑的特征的能力。
S203,按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本。
单词恢复任务、发言者预测任务以及发言顺序判定任务对训练数据进行变换处理的方式各不相同,具体如下:
(1)当预训练任务包括单词恢复任务时,按照单词恢复任务的任务要求对训练数据进行变换处理,得到单词恢复任务的训练样本的过程,可以包括:按照社交会话中各轮发言的发言顺序,对会话数据包括的社交会话中各轮发言的发言者标识和发言内容依次进行拼接处理,得到社交会话的参考内容;采用替换标识替换参考内容中的目标单词,得到单词恢复任务的训练样本。需要说明的是,目标单词的数量可以为一个或多个,也就是说,可以采用替换标识(例如可以是[mask])替换参考内容中的部分单词;目标单词的数量可以是根据第一替换比例和参考文本中的单词总数计算得到的,例如目标单词的数量等于第一替换比例(例如可以是10%、20%等等)乘以参考文本中的单词总数。如上述步骤S201示例的会话数据拼接得到的参考文本为“[CLS][甲]晚饭去哪儿吃?[乙]快餐店吧。[丙]六点走?”,按照单词恢复任务的任务要求进行变换处理得到的训练样本可以为“[CLS][甲]晚饭去哪儿[mask]?[乙]快餐[mask]吧。[丙]六点走?”,参考内容中的两个目标单词“吃”和“店”被替换标识[mask]替换。
(2)当预训练任务包括发言者预测任务时,按照发言者预测任务的任务要求对训练数据进行变换处理,得到发言者预测任务的训练样本的过程,可以包括:按照社交会话中各轮发言的发言顺序,对会话数据中包括的社交会话中各轮发言的发言者标识和发言内容依次进行拼接处理,得到社交会话的参考内容;采用替换标识替换参考内容中的目标发言者标识,得到发言者预测任务所需的训练样本。需要说明的是,目标发言者标识的数量可以为一个或多个,也就是说,可以采用替换标识(例如可以是[mask])替换参考内容中的部分发言者标识;目标发言者标识的数量可以是根据第二替换比例和参考文本中的发言者标识总数计算得到的,例如目标发言者标识的数量等于第二替换比例(例如可以是10%、20%等等)乘以参考文本中的发言者标识总数。如上述步骤S201示例的会话数据拼接得到的参考文本为“[CLS][甲]晚饭去哪儿吃?[乙]快餐店吧。[丙]六点走?”,按照发言者预测任务的任务要求进行变换处理得到的训练样本可以为“[CLS][甲]晚饭去哪儿吃?[mask]快餐店吧。[丙]六点走?”,参考内容中的一个目标发言者标识“[乙]”被替换标识[mask]替换。
(3)当预训练任务包括发言顺序判定任务时,按照发言顺序判定任务的任务要求对训练数据进行变换处理,得到发言顺序判定任务的训练样本的过程,可以包括:首先,可以将分类符号与会话数据包括的社交会话中各轮发言的发言者标识以及发言内容进行拼接处理,得到社交会话中各轮发言的拼接内容;也就是说,在每轮发言的发言者标识和发言内容拼接完成后,在每轮发言的发言者标识前添加一个分类标识[CLS];如上述步骤S201示例的会话数据中,第一轮发言的拼接内容为“[CLS][甲]晚饭去哪儿吃?”,第二轮发言的拼接内容为“[CLS][乙]快餐店吧。”,第三轮发言的拼接内容为“[CLS][丙]六点走?”。然后,可以将社交会话中各轮发言的拼接内容进行多次随机顺序的拼接处理,得到发言顺序判定任务的训练样本,其中,各次随机顺序的拼接处理过程中的各轮发言的拼接内容的排列顺序不相同,每次随机顺序的拼接处理得到发言顺序判定任务的一个训练样本;也就是说,在对各轮发言的拼接内容进行再次拼接处理时不考虑发言顺序,可以按照随机顺序拼接。如上述步骤S201示例的会话数据,按照发言顺序判定任务的任务要求进行变换处理得到的训练样本可以为“[CLS][甲]晚饭去哪儿吃?[CLS][乙]快餐店吧。[CLS][丙]六点走?”,该训练样本中各轮发言的发言顺序未颠倒;还可以为“[CLS][乙]快餐店吧。[CLS][丙]六点走?[CLS][甲]晚饭去哪儿吃?”,该训练样本中各轮发言的发言顺序颠倒了;步骤S201示例的会话数据,按照发言顺序判定任务的任务要求进行变换处理得到的训练样本还可以为其他多种情况,在此不再一一举例。
上文所描述的发言顺序判定任务对会话数据的变换处理方案是较为通用的方案,发言顺序判定任务还常用如下变换处理方案:在将分类符号与会话数据包括的社交会话中各轮发言的发言者标识以及发言内容进行拼接处理,得到社交会话中各轮发言的拼接内容之后,可以将各轮发言的拼接内容切分为两部分D1和D2,然后按照D1⊕D2或D2⊕D1的顺序将各轮发言的拼接内容进行再次拼接处理,得到发言顺序判定任务的训练样本。如上述步骤S201示例的会话数据,可以将各轮发言的拼接内容切分为如下两部分,D1=“[CLS][甲]晚饭去哪儿吃?[CLS][乙]快餐店吧。”,D2=“[CLS][丙]六点走?”,D1⊕D2=“[CLS][甲]晚饭去哪儿吃?[CLS][乙]快餐店吧。[CLS][丙]六点走?”,D2⊕D1=“[CLS][丙]六点走?[CLS][甲]晚饭去哪儿吃?[CLS][乙]快餐店吧。”又如上述步骤S201示例的会话数据,可以将各轮发言的拼接内容切分为如下两部分,D1=“[CLS][甲]晚饭去哪儿吃?”,D2=“[CLS][乙]快餐店吧。[CLS][丙]六点走?”,D1⊕D2=“[CLS][甲]晚饭去哪儿吃?[CLS][乙]快餐店吧。[CLS][丙]六点走?”,D2⊕D1=“[CLS][乙]快餐店吧。[CLS][丙]六点走?[CLS][甲]晚饭去哪儿吃?”。
需要说明的是,单词恢复任务中进行变换处理的会话数据可以是指训练数据中的第一会话数据,发言者预测任务中进行变换处理的会话数据可以是指训练数据中的第二会话数据,发言顺序判定任务中进行变换处理的会话数据可以是指训练数据中的第三会话数据;第一会话数据、第二会话数据和第三会话数据可以是同一个会话数据,也可以是互不相同的会话数据,本申请实施例对对此不进行限定。
S204,基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型。
正如上述步骤S203中所描述的,单词恢复任务、发言者预测任务以及发言顺序判定任务对训练数据进行变换处理的方式各不相同,调用语言模型执行单词恢复任务、发言者预测任务以及发言顺序判定任务的过程也不相同,具体如下:
(1)基于单词恢复任务的训练样本,调用语言模型执行单词恢复任务,得到训练好的语言模型的过程可参见图3b,图3b中wij一类符号表示单词,si一类符号表示发言者标识,pij一类符号表示替换标识(替换目标单词的替换标识),ec一类符号表示分类标识[CLS]的编码,esi一类符号表示发言者标识的编码,ewij一类符号表示单词的编码,epij一类符号表示替换标识的编码;图3b以采用替换标识替换单词恢复任务的第一会话数据中的一个目标单词为例进行说明。调用语言模型执行单词恢复任务,得到训练好的语言模型的过程,具体可以包括:①可以获取单词恢复任务的训练样本的表示向量,单词恢复任务的训练样本的表示向量可以包括:单词恢复任务的训练样本中的发言者标识的表示向量、单词的表示向量和替换标识的表示向量。②可以采用语言模型对单词恢复任务的训练样本的表示向量进行编码,得到单词恢复任务的训练样本的编码;具体来说,即对单词恢复任务的训练样本中的发言者标识的表示向量、单词的表示向量和替换标识的表示向量进行编码,得到单词恢复任务的训练样本中的发言者标识的编码、单词的编码和替换标识的编码。③可以基于替换标识的编码进行单词预测,得到替换标识被正确预测为目标单词的概率。具体来说,可以采用单词预测层对替换标识的编码进行单词预测,得到替换标识被预测为模型词表中的各个预设单词的分数,模型词表中包含目标单词;然后可以将替换标识被正确预测为其替换的目标单词的分数输入激活层,激活层可以将分数映射为区间[0,1]之间的数值,从而得到替换标识被正确预测为其替换的目标单词的概率。④可以根据替换标识被正确预测为其替换的目标单词的概率,确定单词恢复任务的损失信息;当采用替换标识替换单词恢复任务的第一会话数据中的多个目标单词时,单词恢复任务的损失信息是根据各个替换标识被正确预测为对应替换的目标单词的概率确定的;进一步便可以根据单词恢复任务的损失信息对语言模型的模型参数进行更新,得到训练好的语言模型。
其中,单词恢复任务的损失信息的计算过程可参见下述公式1:
如上述公式1所示,Lw表示单词恢复任务的损失信息;z表示任一个被替换的目标单词;Z表示被替换的目标单词形成的集合;Nw表示模型词表;表示模型词表中各个预设单词的标签,模型词表中被替换标识替换的目标单词的标签为1,其他预设单词的标签为0;表示替换标识被正确预测为其替换的目标单词的概率。
单词恢复任务的损失信息可以是指上述公式1计算得到的损失值;根据单词恢复任务的损失信息对语言模型的模型参数进行更新,得到训练好的语言模型,具体可以是指:按照减小损失值的方向,对语言模型的模型参数进行更新,得到训练好的语言模型;本申请实施例所提及的“按照减小损失值的方向”是指:以最小化损失值为目标的模型优化方向;通过此方向进行模型优化,使得语言模型在每次优化后所再次产生的损失值,需小于语言模型在优化前所产生的损失值。例如,本次计算得到的语言模型的损失值为0.85,那么通过按照减小损失值的方向优化语言模型的模型参数后,通过优化语言模型所产生的损失值应小于0.85。本申请实施例中提及的基于损失信息对语言模型的模型参数进行更新的过程均可参见上述描述。
另外,获取单词恢复任务的训练样本的表示向量,即获取单词恢复任务的训练样本中的发言者标识的表示向量、单词的表示向量和替换标识的表示向量,获取发言者标识的表示向量、单词的表示向量的过程可以参见上述步骤S202的具体描述。以发言内容中的任一个单词(例如可以表示为参考单词)为例,获取参考单词的表示向量的过程可以包括:获取参考单词的词向量;根据参考单词在参考单词所属的发言内容中的排列位置,确定参考单词的位置向量;根据参考单词所属的发言内容,确定参考单词的发言内容标记向量;根据参考单词所属的发言者,确定参考单词的发言者表示向量;根据参考单词的词向量、参考单词的位置向量、参考单词的发言内容标记向量、以及参考单词的发言者表示向量,确定目标单词的表示向量;即对目标单词的词向量、目标单词的位置向量、参考单词的发言内容标记向量、以及参考单词的发言者表示向量进行向量拼接,得到参考单词的表示向量。获取替换标识的表示向量的方式与上述步骤S202获取各类标识(即上述提及的发言者标识、分类标识、分割标识)的方式是相同的。
需要说明的是,单词预测层的单词预测功能例如可以是由MLP(Multi-LayerPerceptron,多层感知机)实现的,MLP是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看作是一个有向图,由多个的节点层所组成,每一层都全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(或称处理单元)。激活层的映射功能可以是由激活函数来实现的,激活函数例如可以是softmax、sigmoid等等。
(2)基于发言者预测任务的训练样本,调用语言模型执行发言者预测任务,得到训练好的语言模型的过程可参见图3c,图3c中wij一类符号表示单词,si一类符号表示发言者标识,qi一类符号表示替换标识(替换目标发言者标识的替换标识),ec一类符号表示分类标识[CLS]的编码,esi一类符号表示发言者标识的编码,ewij一类符号表示单词的编码,eqi一类符号表示替换标识的编码;图3c以采用替换标识替换发言者预测任务的第二会话数据中的一个目标发言者标识为例进行说明。调用语言模型执行发言者预测任务,得到训练好的语言模型的过程,具体可以包括:①可以获取发言者预测任务的训练样本的表示向量,发言者预测任务的训练样本的表示向量可以包括:发言者预测任务的训练样本中的发言者标识的表示向量、单词的表示向量和替换标识的表示向量。②可以采用语言模型对发言者预测任务的训练样本的表示向量进行编码,得到发言者预测任务的训练样本的编码;具体来说,即对发言者预测任务的训练样本中的发言者标识的表示向量、单词的表示向量和替换标识的表示向量进行编码,得到发言者预测任务的训练样本中的发言者标识的编码、单词的编码和替换标识的编码。③可以基于替换标识的编码进行发言者预测,得到替换标识被正确预测为目标发言者标识的概率。具体来说,可以采用发言者预测层对替换标识的编码进行发言者预测,得到替换标识被预测为第二会话数据中的所有发言者标识的分数;然后可以将替换标识被正确预测为其替换的目标发言者标识的分数输入激活层,激活层可以将分数映射为区间[0,1]之间的数值,从而得到替换标识被正确预测为其替换的目标发言者标识的概率。④可以根据替换标识被正确预测为其替换的目标发言者标识的概率,确定发言者预测任务的损失信息;当采用替换标识替换发言者预测任务的第二会话数据中的多个目标发言者标识时,发言者预测任务的损失信息是根据各个替换标识被正确预测为对应替换的目标发言者标识的概率确定的;进一步便可以根据发言者预测任务的损失信息对语言模型的模型参数进行更新,得到训练好的语言模型。
其中,发言者预测任务的损失信息的计算过程可参见下述公式2:
如上述公式2所示,Lr表示发言者预测任务的损失信息;g表示任一个被替换的目标发言者标识;G表示被替换的目标发言者标识形成的集合;Nr表示第二会话数据中所有发言者标识形成的集合;表示第二会话数据中所有发言者标识形成的集合中的各个发言者标识的标签,发言者标识集合中被替换标识替换的目标发言者标识的标签为1,其他发言者标识的标签为0;表示替换标识被正确预测为其替换的目标发言者标识的概率。
类似地,发言者预测层的发言者预测功能例如可以是由MLP(Multi-LayerPerceptron,多层感知机)实现的,激活层的映射功能可以是由激活函数来实现的,激活函数例如可以是softmax、sigmoid等等。
(3)基于发言顺序判定任务的训练样本,调用语言模型执行发言顺序判定任务,得到训练好的语言模型的过程可参见图3d,图3d中wij一类符号表示单词,si一类符号表示发言者标识,eci一类符号表示分类标识[CLS]的编码,esi一类符号表示发言者标识的编码,ewij一类符号表示单词的编码,tci一类符号表示分类标识[CLS]的交互编码。基于发言顺序判定任务的训练样本,调用语言模型执行发言顺序判定任务,得到训练好的语言模型的过程,具体可以包括:①可以获取发言顺序判定任务的训练样本的表示向量。发言顺序判定任务的训练样本的表示向量可以包括:发言顺序判定任务的训练样本中的发言者标识的表示向量、单词的表示向量和分类标识的表示向量。②可以采用语言模型对发言顺序判定任务的训练样本的表示向量进行编码处理,得到发言顺序判定任务的训练样本的编码;具体来说,即对发言顺序判定任务的训练样本中的发言者标识的表示向量、单词的表示向量和分类标识的表示向量进行编码,得到发言顺序判定任务的训练样本中的发言者标识的编码、单词的编码和分类标识的编码。③可以基于发言顺序判定任务的训练样本中各个分类符号的编码进行发言顺序预测,得到发言顺序判定任务的训练样本中各轮发言的预测顺序与实际顺序一致的预测概率。具体来说,可以采用交互编码层(例如图3d所示的交互编码层1和交互编码层2)对各个分类符号的编码进行进一步地编码,得到各个分类符号的交互编码;进一步可以采用发言顺序判定层对各个分类符号的交互编码进行发言顺序判定,得到发言顺序判定任务的训练样本中各轮发言的预测顺序与实际顺序一致的预测分数;然后可以将发言顺序判定任务的训练样本中各轮发言的预测顺序与实际顺序一致的预测分数输入激活层,激活层可以将预测分数映射为区间[0,1]之间的数值,从而得到发言顺序判定任务的训练样本中各轮发言的预测顺序与实际顺序一致的预测概率。④可以根据发言顺序判定任务的训练样本的预测概率,确定发言顺序判定任务的损失信息;当发言顺序判定任务的训练样本为多个时,发言顺序判定任务的损失信息可以是根据各个训练样本的预测概率确定的;然后便可以进一步根据发言顺序判定任务的损失信息对语言模型的模型参数进行更新,得到训练好的语言模型。
其中,发言顺序判定任务的损失信息的计算过程可参见下述公式3:
如上述公式3所示,Lt表示发言顺序判定任务的损失信息;t表示发言顺序判定任务的任一个训练样本;T表示发言顺序判定任务的所有训练样本。NT表示发言顺序判定任务的训练样本中的发言顺序与第三会话数据中的发言顺序之间的关系,包括颠倒(即顺序不一致)和非颠倒(即顺序一致)两种情况。ytk表示颠倒(即顺序不一致)和非颠倒(即顺序一致)两种情况下的标签;当发言顺序判定任务的训练样本中的发言顺序与第三会话数据中的发言顺序一致时,非颠倒标签为1,颠倒标签为0;当发言顺序判定任务的训练样本中的发言顺序与第三会话数据中的发言顺序不一致时,非颠倒标签为0,颠倒标签为1。ptk表示发言顺序判定任务的训练样本中各轮发言的预测顺序与实际顺序一致的预测概率。
类似地,发言顺序判定层的发言顺序判定功能例如可以是由MLP(Multi-LayerPerceptron,多层感知机)实现的,激活层的映射功能可以是由激活函数来实现的,激活函数例如可以是softmax、sigmoid等等。交互编码层(TransformerLayer,TL)一种基于自注意力机制构建的神经网络模型。对于一组向量,TL的编码器将这组向量依次通过多头自注意力交互层(Multi-HeadSelfAttentionLayer)和一层神经网络进行深度编码。在TL编码器的具体应用中,可以叠加多个多头自注意力交互层。
需要说明的是,上述(1)-(3)描述的内容是分别采用单词恢复任务、发言者预测任务以及发言顺序判定任务各自训练语言模型。在实际使用场景中,为了使得语言模型能够更充分地学习到社交会话场景中的语言特征,往往采用单词恢复任务、发言者预测任务以及发言顺序判定任务共同训练语言模型;即预训练任务可以包括单词恢复任务、发言者预测任所述发言顺序判定任务,基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型的过程可以包括:基于单词恢复任务的训练样本,调用语言模型执行所述单词恢复任务,得到单词恢复任务的损失信息;基于发言者预测任务的训练样本,调用语言模型执行发言者预测任务,得到发言者预测任务的损失信息;基于发言顺序判定任务的训练样本,调用语言模型执行所述发言顺序判定任务,得到发言顺序判定任务的损失信息;根据单词恢复任务的损失信息、发言者预测任务的损失信息、以及发言顺序判定任务的损失信息,对语言模型的模型参数进行更新,得到所述训练好的语言模型。
其中,根据单词恢复任务的损失信息、发言者预测任务的损失信息、以及发言顺序判定任务的损失信息,对语言模型的模型参数进行更新,得到所述训练好的语言模型的过程可以包括:根据单词恢复任务的损失信息、发言者预测任务的损失信息、以及发言顺序判定任务的损失信息,确定语言模型的损失信息,语言模型的损失信息可以等于单词恢复任务的损失信息、发言者预测任务的损失信息、以及发言顺序判定任务的损失信息之和,然后可以根据语言模型的损失信息对语言模型进行训练,得到训练好的语言模型。根据单词恢复任务的损失信息、发言者预测任务的损失信息、以及发言顺序判定任务的损失信息,确定语言模型的损失信息的过程可参见下述公式4:
Ltotal=Lw+Lr+Lt公式4
如上述公式4所示,Ltotal表示语言模型的损失信息;Lw表示单词恢复任务的损失信息,具体计算过程可参见上述公式1;Lr表示发言者预测任务的损失信息,具体计算过程可参见上述公式2;Lt表示发言顺序判定任务的损失信息,具体计算过程可参见上述公式3。还需说明的是,本申请实施例所描述的模型训练方案只对语言模型的一次训练过程进行介绍,在实际训练场景中,语言模型是需要进行多次迭代训练的,直至语言模型的损失信息满足收敛条件为止(例如语言模型的损失信息指示的损失值小于或等于收敛阈值)。
本申请实施例针对社交会话场景提出语言模型的预训练任务,并通过调用语言模型执行预训练任务来对社交会话场景中的语言模型进行训练;预训练任务可以包括以下至少一种:单词恢复任务、发言者预测任务以及发言顺序判定任务;单词恢复任务通过对用于替换目标单词的替换标识进行单词预测来训练语言模型,使得语言模型具备学习社交会话场景中的词级特征的能力;发言者预测任务通过对用于替换目标发言者标识的替换标识进行发言者预测来训练语言模型,使得语言模型具备学习社交会话场景中的发言者特征的能力;发言顺序预测任务通过对训练样本中的发言顺序是否颠倒进行判定,使得语言模型具备学习社交会话场景中的发言顺序逻辑特征的能力;这样可以使得训练得到的语言模型在对社交会话中的会话数据进行编码时,能够较好地学习社交会话场景中的语言特征。
本申请实施例提出一种模型训练方法,该模型训练方法主要介绍针对具体的语言处理任务的语言模型和解码模型的训练过程,以及语言模型和解码模型在具体的语言处理任务中的应用,该模型训练方法可以由前述所提及的计算机设备执行。如图4所示,该模型训练方法可以包括以下步骤S401至步骤S407:
S401,获取语言模型的训练数据。
S402,获取语言模型的预训练任务。
S403,按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本。
S404,基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型。
本申请实施例中步骤S401的执行过程与图2所示实施例中步骤S201的执行过程相同,步骤S402的执行过程与图2所示实施例中步骤S202的执行过程相同,步骤S403的执行过程与图2所示实施例中步骤S203的执行过程相同,步骤S404的执行过程与图2所示实施例中步骤S204的执行过程相同,步骤S401至步骤S404中各步骤的执行过程可以参见上述图2所示实施例中对应步骤的描述,在此不再赘述。
S405,获取语言处理任务的解码模型。
语言处理任务可以包括以下至少一项:会话摘要提取任务、会话预测任务、会话检索任务。其中,会话摘要提取任务用于训练解码模型从社交会话的会话数据中提取会话摘要的能力;会话预测任务用于训练解码模型预测下一轮或多轮发言内容,即生成发言内容的能力;会话检索任务用于训练解码模型根据检索问题从社交会话的会话数据中检索到与检索问题匹配的发言内容的能力。
S406,采用训练好的语言模型对社交会话中的会话数据进行编码,得到会话编码。
采用训练好的语言模型对社交会话中的会话数据进行编码的过程可参见图2所示实施例中步骤S202的描述,大致包括内容拼接、嵌入层表示、向量编码的过程,在此不再赘述。为了便于介绍本申请实施例的内容,社交会话中包括的发言轮数可以表示为N轮,会话编码可以包括N轮发言中每轮发言内容的编码,N为大于1的整数。
S407,按照语言处理任务的任务要求,根据会话编码对解码模型进行训练。
会话摘要提取任务、会话预测任务、会话检索任务的解码模型的训练过程以及具体应用场景各不相同,下面分别对会话摘要提取任务、会话预测任务、会话检索任务的解码模型的训练过程以及具体应用场景进行介绍:
(1)当语言处理任务为会话摘要提取任务时,训练数据中还可以包括社交会话的标记摘要,按照会话摘要提取任务要求,根据会话编码对解码模型进行训练的过程,可以包括:采用会话摘要提取任务的解码模型,对会话编码进行解码,得到社交会话的预测摘要;基于标记摘要和预测摘要之间的差异性,对解码模型进行训练;还可以基于标记摘要和预测摘要之间的差异性对训练好的语言模型进行优化或微调,强化语言模型在会话摘要提取任务下的编码能力,即语言特征学习能力。
按照会话摘要提取任务训练好的解码模型可以应用于会话摘要提取的社交应用场景中。举例来说,可以将训练好的语言模型和基于会话摘要提取任务训练好的解码模型部署于在线医疗会诊平台或应用中,使得在线医疗会诊平台或应用的用户可以快速获取到医疗会诊的会诊摘要,快速了解医疗会诊的主要内容;如图5所示的医疗应用的服务界面中展示了医疗会诊中各轮发言的发言者标识和发言内容,该服务界面还可以提供一个会诊摘要的获取入口,通过该入口可以快速获取会诊摘要。又如,可以将训练好的语言模型和基于会话摘要提取任务训练好的解码模型部署于在线会议平台或应用中,使得在线会议平台或应用的用户可以快速获取到会议摘要,快速了解会议的主要内容。
(2)当语言处理任务为会话预测任务时,按照会话预测任务要求,根据会话编码对解码模型进行训练的过程,可以包括:采用会话预测任务的解码模型对N轮发言中的前M轮发言的发言内容的编码进行解码,得到后N-M轮发言的预测内容,M为小于N的正整数;根据后N-M轮发言的预测内容和后N-M轮发言的发言内容之间的差异性,对解码模型进行训练;还可以根据根据后N-M轮发言的预测内容和后N-M轮发言的发言内容之间的差异性,对训练好的语言模型进行优化或微调,强化语言模型在会话预测任务下的编码能力,即语言特征学习能力。
按照会话预测任务训练好的解码模型可以应用于会话预测的社交应用场景中。举例来说,可以将训练好的语言模型和基于会话预测任务训练好的解码模型部署于社交应用程序中,使得社交应用程序可以基于群聊会话中各个发言者的发言内容,生成与群聊会话中原有的发言内容具有关联关系的新的发言内容(例如属于同一会话主体),并以智能群助手或智能群管家的身份将新的发言内容发布至群聊会话中,增强娱乐性和互动性。
(3)当语言处理任务为会话检索任务时,训练数据中还可以包括针对社交会话的检索问题和检索问题的标记答案;还需要采用训练好的语言模型对检索问题进行编码,得到检索问题的编码;其中,会话编码包括社交会话中各轮发言的发言内容的编码。按照会话预测任务要求,根据会话编码对解码模型进行训练的过程,可以包括:采用会话检索任务的解码模型计算检索问题的编码与社交会话中各轮发言的发言内容的编码之间的相似度,并对计算得到的相似度中最大相似度对应的发言内容的编码进行解码处理,得到检索问题的预测答案;基于标记答案和预测答案之间的差异性,对所述解码模型进行训练;还可以基于标记答案和预测答案之间的差异性,对训练好的语言模型进行优化或微调,强化语言模型在会话检索任务下的编码能力,即语言特征学习能力。
按照会话检索任务训练好的解码模型可以应用于会话检索的社交应用场景中。举例来说,可以将训练好的语言模型和基于会话检索任务训练好的解码模型部署于社交应用程序中,使得社交应用程序可以基于检索问题在聊天记录中查找到与检索问题匹配的发言内容。
需要说明的是,会话摘要提取任务对解码模型进行训练时采用的会话数据可以是指训练数据中的第四会话数据,会话预测任务对解码模型进行训练时采用的会话数据可以是指训练数据中的第五会话数据,会话检索任务对解码模型进行训练时采用的会话数据可以是指训练数据中的第六会话数据;第四会话数据、第五会话数据、第六会话数据与前述提及的第一会话数据、第二会话数据、第三会话数据可以是同一个会话数据,也可以是互不相同的会话数据,本申请实施例对对此不进行限定。
还需说明的是,本申请实施例所描述的模型训练方案只对解码模型的一次训练过程进行介绍,在实际训练场景中,解码模型是需要进行多次迭代训练的,直至解码模型的损失信息满足收敛条件为止(例如解码模型的损失信息指示的损失值小于或等于收敛阈值)。
本申请实施例中,在对语言模型训练完成后,可以针对具体的语言处理任务设计或训练解码模型,使得语言模型与解码模型可以配合实现具体的语言处理任务,并且在训练解码模型的过程中还可以对语言模型进行进一步的优化或调整,使得语言模型能够更好地与具体的语言处理任务相适应,强化语言模型在具体的语言处理任务下的语言特征学习能力。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图6,图6是本申请实施例提供的一种模型训练装置的结构示意图,该模型训练装置可以设置于本申请实施例提供的计算机设备中,计算机设备可以是上述方法实施例中提及的智能终端或服务器;在一些实施例中,该模型训练装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),该模型训练装置可以用于执行图2或图4所示的方法实施例中的相应步骤。请参见图6,该模型训练装置可以包括如下单元:
获取单元601,用于获取语言模型的训练数据,训练数据包括会话数据,会话数据包括社交会话中多轮发言产生的发言内容,每一轮发言由参与社交会话的一个发言者发起;以及获取语言模型的预训练任务,预训练任务包括以下至少一项:单词恢复任务、发言者预测任务以及发言顺序判定任务;
处理单元602,用于按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本;以及基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型;训练好的语言模型用于对社交会话中的会话数据进行编码。
在一种实现方式中,预训练任务包括单词恢复任务,发言内容由单词组成;处理单元602,用于按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本时,具体用于执行如下步骤:
按照社交会话中各轮发言的发言顺序,对社交会话中各轮发言的发言者标识和发言内容依次进行拼接处理,得到社交会话的参考内容;
采用替换标识替换参考内容中的目标单词,得到单词恢复任务的训练样本。
在一种实现方式中,处理单元602,用于基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型时,具体用于执行如下步骤:
获取单词恢复任务的训练样本的表示向量;
采用语言模型对单词恢复任务的训练样本的表示向量进行编码,得到单词恢复任务的训练样本中的替换标识的编码;
基于替换标识的编码进行单词预测,得到替换标识被正确预测为目标单词的概率;
根据替换标识被正确预测为目标单词的概率,确定单词恢复任务的损失信息;
根据单词恢复任务的损失信息,对语言模型的模型参数进行更新,得到训练好的语言模型。
在一种实现方式中,单词恢复任务的训练样本的表示向量包括:单词恢复任务的训练样本中的发言者标识的表示向量、单词的表示向量和替换标识的表示向量;单词恢复任务的训练样本中的任一个单词表示为参考单词;处理单元602,用于获取参考单词的表示向量时,具体用于执行如下步骤:
获取参考单词的词向量;
根据参考单词在所述参考单词所属的发言内容中的排列位置,确定参考单词的位置向量;
根据参考单词所属的发言内容,确定参考单词的发言内容标记向量;
根据参考单词所属的发言者,确定参考单词的发言者表示向量;
根据参考单词的词向量、参考单词的位置向量、参考单词的发言内容标记向量、以及参考单词的发言者表示向量,确定参考单词的表示向量。
在一种实现方式中,预训练任务包括发言者预测任务;处理单元602,用于按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本时,具体用于执行如下步骤:
按照社交会话中各轮发言的发言顺序,对社交会话中各轮发言的发言者标识和发言内容依次进行拼接处理,得到社交会话的参考内容;
采用替换标识替换参考内容中的目标发言者标识,得到发言者预测任务的训练样本。
在一种实现方式中,处理单元602,用于基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型时,具体用于执行如下步骤:
获取发言者预测任务的训练样本的表示向量;
采用语言模型对所述发言者预测任务的训练样本的表示向量进行编码,得到发言者预测任务的训练样本中的替换标识的编码;
基于替换标识的编码进行发言者预测,得到替换标识被正确预测为目标发言者标识的概率;
根据替换标识被正确预测为目标发言者标识的概率,确定发言者预测任务的损失信息;
根据发言者预测任务的损失信息,对语言模型的模型参数进行更新,得到所述训练好的语言模型。
在一种实现方式中,预训练任务包括发言顺序判定任务;处理单元602,用于按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本时,具体用于执行如下步骤:
将分类符号与社交会话中各轮发言的发言者标识以及发言内容进行拼接处理,得到社交会话中各轮发言的拼接内容;
将社交会话中各轮发言的拼接内容进行多次随机顺序的拼接处理,得到发言顺序判定任务的训练样本;
其中,各次随机顺序的拼接处理过程中的各轮发言的拼接内容的排列顺序不相同,每次随机顺序的拼接处理得到发言顺序判定任务的一个训练样本。
在一种实现方式中,处理单元602,用于基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型时,具体用于执行如下步骤:
获取发言顺序判定任务的训练样本的表示向量;
采用语言模型对发言顺序判定任务的训练样本的表示向量进行编码处理,得到发言顺序判定任务的训练样本中各个分类符号的编码;
基于各个分类符号的编码进行发言顺序预测,得到发言顺序判定任务的训练样本中各轮发言的预测顺序与实际顺序一致的预测概率;
根据发言顺序判定任务的训练样本的预测概率,确定发言顺序判定任务的损失信息;
根据发言顺序判定任务的损失信息,对语言模型的模型参数进行更新,得到所述训练好的语言模型。
在一种实现方式中,预训练任务包括单词恢复任务、发言者预测任务以及发言顺序判定任务;处理单元602,用于基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型时,具体用于执行如下步骤:
基于单词恢复任务的训练样本,调用语言模型执行单词恢复任务,得到单词恢复任务的损失信息;
基于发言者预测任务的训练样本,调用语言模型执行发言者预测任务,得到发言者预测任务的损失信息;
基于发言顺序判定任务的训练样本,调用语言模型执行发言顺序判定任务,得到发言顺序判定任务的损失信息;
根据单词恢复任务的损失信息、发言者预测任务的损失信息、以及发言顺序判定任务的损失信息,对语言模型的模型参数进行更新,得到训练好的语言模型。
在一种实现方式中,获取单元601,还用于执行如下步骤:获取语言处理任务的解码模型;
处理单元602,还用于执行如下步骤:采用训练好的语言模型对社交会话中的会话数据进行编码,得到会话编码;
按照语言处理任务的任务要求,根据会话编码对解码模型进行训练。
在一种实现方式中,语言处理任务为会话摘要提取任务;训练数据还包括社交会话的标记摘要;处理单元602,用于按照语言处理任务的任务要求,根据会话编码对解码模型进行训练时,具体用于执行如下步骤:
采用会话摘要提取任务的解码模型,对会话编码进行解码,得到社交会话的预测摘要;
基于标记摘要和预测摘要之间的差异性,对解码模型进行训练。
在一种实现方式中,语言处理任务为会话预测任务;社交会话包括N轮发言产生的发言内容,N为大于1的整数;会话编码包括所述N轮发言中每轮发言内容的编码;
处理单元602,用于按照语言处理任务的任务要求,根据会话编码对所述解码模型进行训练时,具体用于执行如下步骤:
采用会话预测任务的解码模型对N轮发言中的前M轮发言的发言内容的编码进行解码,得到后N-M轮发言的预测内容,M为小于N的正整数;
根据后N-M轮发言的预测内容和后N-M轮发言的发言内容之间的差异性,对解码模型进行训练。
在一种实现方式中,语言处理任务为会话检索任务;训练数据还包括针对社交会话的检索问题和检索问题的标记答案;
处理单元602,还用于执行如下步骤:采用训练好的语言模型对检索问题进行编码,得到检索问题的编码;其中,会话编码包括社交会话中各轮发言的发言内容的编码;
处理单元602,用于按照语言处理任务的任务要求,根据会话编码对解码模型进行训练时,具体用于执行如下步骤:
采用会话检索任务的解码模型计算检索问题的编码与社交会话中各轮发言的发言内容的编码之间的相似度,并对计算得到的相似度中最大相似度对应的发言内容的编码进行解码处理,得到检索问题的预测答案;
基于标记答案和预测答案之间的差异性,对解码模型进行训练。
根据本申请的一个实施例,图2或图4所示的方法所涉及的各个方法步骤可以是由图6所示的模型训练装置中的各个单元来执行的。例如,图2所示的步骤S201至步骤S202可由图6所示的获取单元601来执行,图2所示的步骤S203至步骤S204可由图6所示的处理单元602来执行。又如,图4所示的步骤S401至步骤S402以及步骤S405可由图6所示的获取单元601来执行,图4所示的步骤S404至步骤S404以及步骤S406至步骤S407可由图6所示的处理单元602来执行。
根据本申请的另一个实施例,图6所示的模型训练装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,模型训练装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2或图4所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的模型训练装置,以及来实现本申请实施例的模型训练方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本申请实施例针对社交会话场景提出语言模型的预训练任务,并通过调用语言模型执行预训练任务来对社交会话场景中的语言模型进行训练;预训练任务可以包括以下至少一种:单词恢复任务、发言者预测任务以及发言顺序判定任务;单词恢复任务可以用于对语言模型学习社交会话场景中的词级特征的能力进行训练,发言者预测任务可以用于对语言模型学习社交会话场景中的发言者特征的能力进行训练,发言顺序预测任务可以用于对语言模型学习社交会话场景中的发言顺序逻辑特征的能力进行训练,训练好的语言模型可以用于对社交会话中的会话数据进行编码,这样可以使得训练得到的语言模型能够较好地学习社交会话场景中的语言特征。
基于上述方法以及装置实施例,本申请实施例提供了一种计算机设备,该计算机设备可以是前述所提及的智能终端或服务器。请参见图7,图7是本申请实施例提供的一种计算机设备的结构示意图。图7所示的计算机设备至少包括处理器701、输入接口702、输出接口703以及计算机可读存储介质704。其中,处理器701、输入接口702、输出接口703以及计算机可读存储介质704可通过总线或其他方式连接。
输入接口702可以用于获取语言模型的训练数据,获取语言模型的预训练任务,获取语言处理任务的解码模型等;输出接口703可以用于语言模型的编码结果和解码模型的解码结果等。
计算机可读存储介质704可以存储在计算机设备的存储器中,计算机可读存储介质704用于存储计算机程序,计算机程序包括计算机指令,处理器701用于执行计算机可读存储介质704存储的程序指令。处理器701(或称CPU(CentralProcessingUnit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机可读存储介质。
在一种实现方式中,可由处理器701加载并执行计算机可读存储介质704中存放的一条或多条计算机指令,以实现上述有关图2或图4所示的模型训练方法的相应步骤。具体实现中,计算机可读存储介质704中的计算机指令由处理器701加载并执行如下步骤:
获取语言模型的训练数据,训练数据包括会话数据,会话数据包括社交会话中多轮发言产生的发言内容,每一轮发言由参与社交会话的一个发言者发起;
获取语言模型的预训练任务,预训练任务包括以下至少一项:单词恢复任务、发言者预测任务以及发言顺序判定任务;
按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本;
基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型;训练好的语言模型用于对社交会话中的会话数据进行编码。
在一种实现方式中,预训练任务包括单词恢复任务,发言内容由单词组成;计算机可读存储介质704中的计算机指令由处理器701加载并执行按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本时,具体用于执行如下步骤:
按照社交会话中各轮发言的发言顺序,对社交会话中各轮发言的发言者标识和发言内容依次进行拼接处理,得到社交会话的参考内容;
采用替换标识替换参考内容中的目标单词,得到单词恢复任务的训练样本。
在一种实现方式中,计算机可读存储介质704中的计算机指令由处理器701加载并执行基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型时,具体用于执行如下步骤:
获取单词恢复任务的训练样本的表示向量;
采用语言模型对单词恢复任务的训练样本的表示向量进行编码,得到单词恢复任务的训练样本中的替换标识的编码;
基于替换标识的编码进行单词预测,得到替换标识被正确预测为目标单词的概率;
根据替换标识被正确预测为目标单词的概率,确定单词恢复任务的损失信息;
根据单词恢复任务的损失信息,对语言模型的模型参数进行更新,得到训练好的语言模型。
在一种实现方式中,单词恢复任务的训练样本的表示向量包括:单词恢复任务的训练样本中的发言者标识的表示向量、单词的表示向量和替换标识的表示向量;单词恢复任务的训练样本中的任一个单词表示为参考单词;计算机可读存储介质704中的计算机指令由处理器701加载并执行获取参考单词的表示向量时,具体用于执行如下步骤:
获取参考单词的词向量;
根据参考单词在所述参考单词所属的发言内容中的排列位置,确定参考单词的位置向量;
根据参考单词所属的发言内容,确定参考单词的发言内容标记向量;
根据参考单词所属的发言者,确定参考单词的发言者表示向量;
根据参考单词的词向量、参考单词的位置向量、参考单词的发言内容标记向量、以及参考单词的发言者表示向量,确定参考单词的表示向量。
在一种实现方式中,预训练任务包括发言者预测任务;计算机可读存储介质704中的计算机指令由处理器701加载并执行按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本时,具体用于执行如下步骤:
按照社交会话中各轮发言的发言顺序,对社交会话中各轮发言的发言者标识和发言内容依次进行拼接处理,得到社交会话的参考内容;
采用替换标识替换参考内容中的目标发言者标识,得到发言者预测任务的训练样本。
在一种实现方式中,计算机可读存储介质704中的计算机指令由处理器701加载并执行基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型时,具体用于执行如下步骤:
获取发言者预测任务的训练样本的表示向量;
采用语言模型对所述发言者预测任务的训练样本的表示向量进行编码,得到发言者预测任务的训练样本中的替换标识的编码;
基于替换标识的编码进行发言者预测,得到替换标识被正确预测为目标发言者标识的概率;
根据替换标识被正确预测为目标发言者标识的概率,确定发言者预测任务的损失信息;
根据发言者预测任务的损失信息,对语言模型的模型参数进行更新,得到所述训练好的语言模型。
在一种实现方式中,预训练任务包括发言顺序判定任务;计算机可读存储介质704中的计算机指令由处理器701加载并执行按照预训练任务的任务要求对训练数据进行变换处理,得到预训练任务的训练样本时,具体用于执行如下步骤:
将分类符号与社交会话中各轮发言的发言者标识以及发言内容进行拼接处理,得到社交会话中各轮发言的拼接内容;
将社交会话中各轮发言的拼接内容进行多次随机顺序的拼接处理,得到发言顺序判定任务的训练样本;
其中,各次随机顺序的拼接处理过程中的各轮发言的拼接内容的排列顺序不相同,每次随机顺序的拼接处理得到发言顺序判定任务的一个训练样本。
在一种实现方式中,计算机可读存储介质704中的计算机指令由处理器701加载并执行基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型时,具体用于执行如下步骤:
获取发言顺序判定任务的训练样本的表示向量;
采用语言模型对发言顺序判定任务的训练样本的表示向量进行编码处理,得到发言顺序判定任务的训练样本中各个分类符号的编码;
基于各个分类符号的编码进行发言顺序预测,得到发言顺序判定任务的训练样本中各轮发言的预测顺序与实际顺序一致的预测概率;
根据发言顺序判定任务的训练样本的预测概率,确定发言顺序判定任务的损失信息;
根据发言顺序判定任务的损失信息,对语言模型的模型参数进行更新,得到所述训练好的语言模型。
在一种实现方式中,预训练任务包括单词恢复任务、发言者预测任务以及发言顺序判定任务;计算机可读存储介质704中的计算机指令由处理器701加载并执行基于训练样本,调用语言模型执行预训练任务,得到训练好的语言模型时,具体用于执行如下步骤:
基于单词恢复任务的训练样本,调用语言模型执行单词恢复任务,得到单词恢复任务的损失信息;
基于发言者预测任务的训练样本,调用语言模型执行发言者预测任务,得到发言者预测任务的损失信息;
基于发言顺序判定任务的训练样本,调用语言模型执行发言顺序判定任务,得到发言顺序判定任务的损失信息;
根据单词恢复任务的损失信息、发言者预测任务的损失信息、以及发言顺序判定任务的损失信息,对语言模型的模型参数进行更新,得到训练好的语言模型。
在一种实现方式中,计算机可读存储介质704中的计算机指令由处理器701加载并还执行如下步骤:
获取语言处理任务的解码模型;
采用训练好的语言模型对社交会话中的会话数据进行编码,得到会话编码;
按照语言处理任务的任务要求,根据会话编码对解码模型进行训练。
在一种实现方式中,语言处理任务为会话摘要提取任务;训练数据还包括社交会话的标记摘要;计算机可读存储介质704中的计算机指令由处理器701加载并执行按照语言处理任务的任务要求,根据会话编码对解码模型进行训练时,具体用于执行如下步骤:
采用会话摘要提取任务的解码模型,对会话编码进行解码,得到社交会话的预测摘要;
基于标记摘要和预测摘要之间的差异性,对解码模型进行训练。
在一种实现方式中,语言处理任务为会话预测任务;社交会话包括N轮发言产生的发言内容,N为大于1的整数;会话编码包括所述N轮发言中每轮发言内容的编码;
计算机可读存储介质704中的计算机指令由处理器701加载并执行按照语言处理任务的任务要求,根据会话编码对所述解码模型进行训练时,具体用于执行如下步骤:
采用会话预测任务的解码模型对N轮发言中的前M轮发言的发言内容的编码进行解码,得到后N-M轮发言的预测内容,M为小于N的正整数;
根据后N-M轮发言的预测内容和后N-M轮发言的发言内容之间的差异性,对解码模型进行训练。
在一种实现方式中,语言处理任务为会话检索任务;训练数据还包括针对社交会话的检索问题和检索问题的标记答案;
计算机可读存储介质704中的计算机指令由处理器701加载并还执行如下步骤:采用训练好的语言模型对检索问题进行编码,得到检索问题的编码;其中,会话编码包括社交会话中各轮发言的发言内容的编码;
计算机可读存储介质704中的计算机指令由处理器701加载并执行按照语言处理任务的任务要求,根据会话编码对解码模型进行训练时,具体用于执行如下步骤:
采用会话检索任务的解码模型计算检索问题的编码与社交会话中各轮发言的发言内容的编码之间的相似度,并对计算得到的相似度中最大相似度对应的发言内容的编码进行解码处理,得到检索问题的预测答案;
基于标记答案和预测答案之间的差异性,对解码模型进行训练。
本申请实施例针对社交会话场景提出语言模型的预训练任务,并通过调用语言模型执行预训练任务来对社交会话场景中的语言模型进行训练;预训练任务可以包括以下至少一种:单词恢复任务、发言者预测任务以及发言顺序判定任务;单词恢复任务可以用于对语言模型学习社交会话场景中的词级特征的能力进行训练,发言者预测任务可以用于对语言模型学习社交会话场景中的发言者特征的能力进行训练,发言顺序预测任务可以用于对语言模型学习社交会话场景中的发言顺序逻辑特征的能力进行训练,训练好的语言模型可以用于对社交会话中的会话数据进行编码,这样可以使得训练得到的语言模型能够较好地学习社交会话场景中的语言特征。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选方式中提供的模型训练方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (17)
1.一种模型训练方法,其特征在于,所述方法包括:
获取语言模型的训练数据,所述训练数据包括会话数据,所述会话数据包括社交会话中多轮发言产生的发言内容,每一轮发言由参与所述社交会话的一个发言者发起;
获取所述语言模型的预训练任务,所述预训练任务包括以下至少一项:单词恢复任务、发言者预测任务以及发言顺序判定任务;
按照所述预训练任务的任务要求对所述训练数据进行变换处理,得到所述预训练任务的训练样本;
基于所述训练样本,调用所述语言模型执行所述预训练任务,得到训练好的语言模型;所述训练好的语言模型用于对所述社交会话中的会话数据进行编码。
2.如权利要求1所述的方法,其特征在于,所述预训练任务包括所述单词恢复任务,所述发言内容由单词组成;所述按照所述预训练任务的任务要求对所述训练数据进行变换处理,得到所述预训练任务的训练样本,包括:
按照所述社交会话中各轮发言的发言顺序,对所述社交会话中各轮发言的发言者标识和发言内容依次进行拼接处理,得到所述社交会话的参考内容;
采用替换标识替换所述参考内容中的目标单词,得到所述单词恢复任务的训练样本。
3.如权利要求2所述的方法,其特征在于,所述基于所述训练样本,调用所述语言模型执行所述预训练任务,得到训练好的语言模型,包括:
获取所述单词恢复任务的训练样本的表示向量;
采用所述语言模型对所述单词恢复任务的训练样本的表示向量进行编码,得到所述单词恢复任务的训练样本中的替换标识的编码;
基于所述替换标识的编码进行单词预测,得到所述替换标识被正确预测为所述目标单词的概率;
根据所述替换标识被正确预测为所述目标单词的概率,确定所述单词恢复任务的损失信息;
根据所述单词恢复任务的损失信息,对所述语言模型的模型参数进行更新,得到所述训练好的语言模型。
4.如权利要求3所述的方法,其特征在于,所述单词恢复任务的训练样本的表示向量包括:所述单词恢复任务的训练样本中的发言者标识的表示向量、单词的表示向量和替换标识的表示向量;所述单词恢复任务的训练样本中的任一个单词表示为参考单词;获取所述参考单词的表示向量,包括:
获取所述参考单词的词向量;
根据所述参考单词在所述参考单词所属的发言内容中的排列位置,确定所述参考单词的位置向量;
根据所述参考单词所属的发言内容,确定所述参考单词的发言内容标记向量;
根据所述参考单词所属的发言者,确定所述参考单词的发言者表示向量;
根据所述参考单词的词向量、所述参考单词的位置向量、所述参考单词的发言内容标记向量、以及所述参考单词的发言者表示向量,确定所述参考单词的表示向量。
5.如权利要求1所述的方法,其特征在于,所述预训练任务包括所述发言者预测任务;所述按照所述预训练任务的任务要求对所述训练数据进行变换处理,得到所述预训练任务的训练样本,包括:
按照所述社交会话中各轮发言的发言顺序,对所述社交会话中各轮发言的发言者标识和发言内容依次进行拼接处理,得到所述社交会话的参考内容;
采用替换标识替换所述参考内容中的目标发言者标识,得到所述发言者预测任务的训练样本。
6.如权利要求5所述的方法,其特征在于,所述基于所述训练样本,调用所述语言模型执行所述预训练任务,得到训练好的语言模型,包括:
获取所述发言者预测任务的训练样本的表示向量;
采用所述语言模型对所述发言者预测任务的训练样本的表示向量进行编码,得到所述发言者预测任务的训练样本中的替换标识的编码;
基于所述替换标识的编码进行发言者预测,得到所述替换标识被正确预测为所述目标发言者标识的概率;
根据所述替换标识被正确预测为所述目标发言者标识的概率,确定所述发言者预测任务的损失信息;
根据所述发言者预测任务的损失信息,对所述语言模型的模型参数进行更新,得到所述训练好的语言模型。
7.如权利要求1所述的方法,其特征在于,所述预训练任务包括所述发言顺序判定任务;所述按照所述预训练任务的任务要求对所述训练数据进行变换处理,得到所述预训练任务的训练样本,包括:
将分类符号与所述社交会话中各轮发言的发言者标识以及发言内容进行拼接处理,得到所述社交会话中各轮发言的拼接内容;
将所述社交会话中各轮发言的拼接内容进行多次随机顺序的拼接处理,得到所述发言顺序判定任务的训练样本;
其中,各次随机顺序的拼接处理过程中的各轮发言的拼接内容的排列顺序不相同,每次随机顺序的拼接处理得到所述发言顺序判定任务的一个训练样本。
8.如权利要求7所述的方法,其特征在于,所述基于所述训练样本,调用所述语言模型执行所述预训练任务,得到训练好的语言模型,包括:
获取所述发言顺序判定任务的训练样本的表示向量;
采用所述语言模型对所述发言顺序判定任务的训练样本的表示向量进行编码处理,得到所述发言顺序判定任务的训练样本中各个分类符号的编码;
基于所述各个分类符号的编码进行发言顺序预测,得到所述发言顺序判定任务的训练样本中各轮发言的预测顺序与实际顺序一致的预测概率;
根据所述发言顺序判定任务的训练样本的预测概率,确定所述发言顺序判定任务的损失信息;
根据所述发言顺序判定任务的损失信息,对所述语言模型的模型参数进行更新,得到所述训练好的语言模型。
9.如权利要求1所述的方法,其特征在于,所述预训练任务包括所述单词恢复任务、所述发言者预测任务以及所述发言顺序判定任务;所述基于所述训练样本,调用所述语言模型执行所述预训练任务,得到训练好的语言模型,包括:
基于所述单词恢复任务的训练样本,调用所述语言模型执行所述单词恢复任务,得到所述单词恢复任务的损失信息;
基于所述发言者预测任务的训练样本,调用所述语言模型执行所述发言者预测任务,得到所述发言者预测任务的损失信息;
基于所述发言顺序判定任务的训练样本,调用所述语言模型执行所述发言顺序判定任务,得到所述发言顺序判定任务的损失信息;
根据所述单词恢复任务的损失信息、所述发言者预测任务的损失信息、以及所述发言顺序判定任务的损失信息,对所述语言模型的模型参数进行更新,得到所述训练好的语言模型。
10.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取语言处理任务的解码模型;
采用所述训练好的语言模型对所述社交会话中的会话数据进行编码,得到会话编码;
按照所述语言处理任务的任务要求,根据所述会话编码对所述解码模型进行训练。
11.如权利要求10所述的方法,其特征在于,所述语言处理任务为会话摘要提取任务;所述训练数据还包括所述社交会话的标记摘要;所述按照所述语言处理任务的任务要求,根据所述会话编码对所述解码模型进行训练,包括:
采用所述会话摘要提取任务的解码模型,对所述会话编码进行解码,得到所述社交会话的预测摘要;
基于所述标记摘要和所述预测摘要之间的差异性,对所述解码模型进行训练。
12.如权利要求10所述的方法,其特征在于,所述语言处理任务为会话预测任务;所述社交会话包括N轮发言产生的发言内容,N为大于1的整数;所述会话编码包括所述N轮发言中每轮发言内容的编码;
所述按照所述语言处理任务的任务要求,根据所述会话编码对所述解码模型进行训练,包括:
采用所述会话预测任务的解码模型对所述N轮发言中的前M轮发言的发言内容的编码进行解码,得到后N-M轮发言的预测内容,M为小于N的正整数;
根据所述后N-M轮发言的预测内容和所述后N-M轮发言的发言内容之间的差异性,对所述解码模型进行训练。
13.如权利要求10所述的方法,其特征在于,所述语言处理任务为会话检索任务;所述训练数据还包括针对所述社交会话的检索问题和所述检索问题的标记答案;
所述方法还包括:采用所述训练好的语言模型对所述检索问题进行编码,得到所述检索问题的编码;其中,所述会话编码包括所述社交会话中各轮发言的发言内容的编码;
所述按照所述语言处理任务的任务要求,根据所述会话编码对所述解码模型进行训练,包括:
采用所述会话检索任务的解码模型计算所述检索问题的编码与所述社交会话中各轮发言的发言内容的编码之间的相似度,并对计算得到的相似度中最大相似度对应的发言内容的编码进行解码处理,得到所述检索问题的预测答案;
基于所述标记答案和所述预测答案之间的差异性,对所述解码模型进行训练。
14.一种模型训练装置,其特征在于,所述装置包括:
获取单元,用于获取语言模型的训练数据,所述训练数据包括会话数据,所述会话数据包括社交会话中多轮发言产生的发言内容,每一轮发言由参与所述社交会话的一个发言者发起;以及获取所述语言模型的预训练任务,所述预训练任务包括以下至少一项:单词恢复任务、发言者预测任务以及发言顺序判定任务;
处理单元,用于按照所述预训练任务的任务要求对所述训练数据进行变换处理,得到所述预训练任务的训练样本;以及基于所述训练样本,调用所述语言模型执行所述预训练任务,得到训练好的语言模型;所述训练好的语言模型用于对所述社交会话中的会话数据进行编码。
15.一种计算机设备,其特征在于,所述计算机设备包括:
处理器,适于实现计算机程序;
计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1至13任一项所述的模型训练方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1至13任一项所述的模型训练方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1至13任一项所述的模型训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111200203.1A CN114330701A (zh) | 2021-10-14 | 2021-10-14 | 模型训练方法、装置、计算机设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111200203.1A CN114330701A (zh) | 2021-10-14 | 2021-10-14 | 模型训练方法、装置、计算机设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114330701A true CN114330701A (zh) | 2022-04-12 |
Family
ID=81044546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111200203.1A Pending CN114330701A (zh) | 2021-10-14 | 2021-10-14 | 模型训练方法、装置、计算机设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114330701A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116756579A (zh) * | 2023-08-22 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 大语言模型的训练方法及基于大语言模型的文本处理方法 |
-
2021
- 2021-10-14 CN CN202111200203.1A patent/CN114330701A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116756579A (zh) * | 2023-08-22 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 大语言模型的训练方法及基于大语言模型的文本处理方法 |
CN116756579B (zh) * | 2023-08-22 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 大语言模型的训练方法及基于大语言模型的文本处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131366A (zh) | 训练文本分类模型及文本分类的方法、装置及存储介质 | |
JP2018055548A (ja) | 対話装置、学習装置、対話方法、学習方法、およびプログラム | |
CN113127624B (zh) | 问答模型的训练方法及装置 | |
CN111666400B (zh) | 消息获取方法、装置、计算机设备及存储介质 | |
CN113268609A (zh) | 基于知识图谱的对话内容推荐方法、装置、设备及介质 | |
CN114328807A (zh) | 一种文本处理方法、装置、设备及存储介质 | |
CN113392179A (zh) | 文本标注方法及装置、电子设备、存储介质 | |
CN113392265A (zh) | 多媒体处理方法、装置及设备 | |
CN110597968A (zh) | 一种回复选择方法及装置 | |
Joukhadar et al. | Arabic dialogue act recognition for textual chatbot systems | |
CN114282055A (zh) | 视频特征提取方法、装置、设备及计算机存储介质 | |
CN114330701A (zh) | 模型训练方法、装置、计算机设备、存储介质及程序产品 | |
CN114372454A (zh) | 文本信息抽取方法、模型训练方法、装置及存储介质 | |
CN116663523A (zh) | 多角度增强网络的语义文本相似度计算方法 | |
CN114398903B (zh) | 意图识别方法、装置、电子设备及存储介质 | |
CN113741759B (zh) | 评论信息的展示方法、装置、计算机设备和存储介质 | |
CN111814496B (zh) | 文本处理方法、装置、设备及存储介质 | |
CN113869068A (zh) | 场景服务推荐方法、装置、设备及存储介质 | |
CN113886539A (zh) | 话术推荐方法、装置、客服设备及存储介质 | |
CN114329005A (zh) | 信息处理方法、装置、计算机设备及存储介质 | |
CN113807920A (zh) | 基于人工智能的产品推荐方法、装置、设备及存储介质 | |
CN113420111A (zh) | 一种用于多跳推理问题的智能问答方法及装置 | |
CN113011141A (zh) | 佛经注解模型训练方法、佛经注解生成方法及相关设备 | |
CN116913278B (zh) | 语音处理方法、装置、设备和存储介质 | |
CN117521674B (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 |