CN111159416B - 语言任务模型训练方法、装置、电子设备及存储介质 - Google Patents
语言任务模型训练方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111159416B CN111159416B CN202010254956.XA CN202010254956A CN111159416B CN 111159416 B CN111159416 B CN 111159416B CN 202010254956 A CN202010254956 A CN 202010254956A CN 111159416 B CN111159416 B CN 111159416B
- Authority
- CN
- China
- Prior art keywords
- language
- model
- task
- training
- corpus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- 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
- G06F16/353—Clustering; Classification into predefined classes
-
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本发明提供了一种语言任务模型训练方法、装置、电子设备及存储介质;方法包括:基于预训练样本集合中对应语言任务的语料样本,在所述语言模型中进行分层预训练;将训练样本集合中对应语言任务的语料样本,在所述语言任务模型中进行正向传播;固定所述语言模型的参数,在所述语言任务模型中进行反向传播,以更新所述任务模型的参数;将所述训练样本集合中对应所述语言任务的语料样本,在所述语言任务模型中进行正向传播和反向传播,以更新所述语言模型和所述任务模型的参数。通过本发明,能够防止语言模型的灾难性遗忘现象,同时保证语言模型和任务模型均能达到符合对应学习率的训练效果。
Description
技术领域
本发明涉及人工智能技术,尤其涉及一种基于人工智能的语言任务模型训练方法、装置、电子设备及存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。
相关技术中各种大规模预训练语言模型,虽然有很强的语境表征能力,但是它们对很多特定任务的接口并不丰富,例如,语言模型对阅读理解任务的应用方式只是简单地把问题和文章拼接在一起来进行训练,这种训练方式的缺点在于语言模型对特定数据集中的高级特征(如领域特定的知识、阅读理解中问题和文章的交互)的学习并不到位。
发明内容
本发明实施例提供一种基于人工智能的语言任务模型训练方法、装置、电子设备及存储介质,能够防止语言模型的灾难性遗忘现象,同时保证语言模型和任务模型均能达到符合对应学习率的训练效果。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种基于人工智能的语言任务模型训练方法,所述语言任务模型包括语言模型和任务模型,包括:
基于预训练样本集合中对应语言任务的语料样本,在所述语言模型中进行分层预训练;
将训练样本集合中对应语言任务的语料样本,在所述语言任务模型中进行正向传播;
固定所述语言模型的参数,在所述语言任务模型中进行反向传播,以更新所述任务模型的参数;
将所述训练样本集合中对应所述语言任务的语料样本,在所述语言任务模型中进行正向传播和反向传播,以更新所述语言模型和所述任务模型的参数。
本发明实施例提供一种基于人工智能的语言任务模型训练装置,所述语言任务模型包括语言模型和任务模型,包括:
预训练模块,用于基于预训练样本集合中对应语言任务的语料样本,在所述语言模型中进行分层预训练;
任务模型训练模块,用于将训练样本集合中对应语言任务的语料样本,在所述语言任务模型中进行正向传播;
任务模型训练模块,还用于固定所述语言模型的参数,在所述语言任务模型中进行反向传播,以更新所述任务模型的参数;
语言任务模型训练模块,用于将所述训练样本集合中对应所述语言任务的语料样本,在所述语言任务模型中进行正向传播和反向传播,以更新所述语言模型和所述任务模型的参数。
在上述方案中,所述装置还包括:训练样本生成模块,用于:
对所述语言任务的预标记的语料样本执行以下处理中的任意一种:
从所述语料样本中随机抽取至少一个待替换词,并从同义词词典中随机抽取对应所述至少一个待替换词的同义词,以进行替换处理;
从所述语料样本中随机抽取一个待替换词,并从所述同义词词典中随机抽取对应所述待替换词的同义词,以插入到所述语料样本中的任意位置;
从所述语料样本中随机选择两个待交换词,并交换两个所述待交换词的位置;
对所述语料样本中的每个词执行随机删除处理;
将所述语料样本以及经过处理得到的语料样本,组合为训练样本集合;
从所述训练样本集合中采样多个语料样本,以组成预训练样本集合;
其中,所述预训练样本集合中语料样本的数目超过预训练样本数目阈值。
在上述方案中,所述预训练模块,还用于:
初始化所述语言模型,并初始化包括所述语料样本以及对应所述语料样本的预测类别的语言模型损失函数;
对所述语言模型进行划分处理,得到多个子语言模型;
其中,多个所述子语言模型中的每个子语言模型包括至少一个特征提取层;
基于所述预训练样本集合,对多个所述子语言模型进行分层预训练。
在上述方案中,所述预训练模块,还用于:
对所述语言模型进行第k层次训练,以更新所述语言模型中与输出侧距离最近的k个子语言模型,且在更新过程中固定所述语言模型中其他子语言模型的参数不变;
其中,k为大于或者等于2的整数,所述其他子语言模型为所述语言模型中除了与输出侧距离最近的k个子语言模型之外的子语言模型;
当第k层次训练的迭代次数达到对应的迭代次数阈值时,继续对所述语言模型进行第k+1层次训练,以更新所述语言模型中与输出侧距离最近的k+1个子语言模型,且在更新过程中固定所述语言模型中其他子语言模型的参数不变;
当所述语言模型中的每个子语言模型均被更新过,且参与迭代次数最少的子语言模型所经历的迭代次数达到对应的迭代次数阈值时,确定多个所述子语言模型分层预训练完成。
在上述方案中,所述预训练模块,还用于:
在所述语言模型的第k+1层次训练中每次迭代训练过程中执行以下处理:
通过所述语言模型,对所述预训练样本集合包括的语料样本进行分类处理,得到对应所述语料样本的预测类别;
确定所述语料样本的所述预测类别和预标记的真实类别之间的误差,并将所述误差代入所述语言模型损失函数,以在所述语言模型中进行反向传播,以确定当所述语言模型损失函数取得最小值时,对应所述语言模型中与输出侧距离最近的k+1个子语言模型的参数变化值;
根据所确定的参数变化值更新所述语言模型中与输出侧距离最近的k+1个子语言模型。
在上述方案中,所述任务模型训练模块,还用于:
初始化所述语言任务模型,并执行以下处理:
将每个所述语料样本在所述语言任务模型的各个层中进行正向传播,以对所述训练样本集合包括的语料样本进行分类处理,得到对应所述语料样本的预测类别;
初始化包括所述语料样本以及对应所述语料样本的预测类别的语言任务模型损失函数;
固定所述语言模型的参数,并执行以下处理:
确定所述语料样本的预测类别和预标记的真实类别之间的误差,并将所述误差代入所述语言任务模型损失函数,以在所述语言任务模型中进行反向传播,以
基于任务模型学习率确定所述语言任务模型损失函数取得最小值时所述任务模型的参数变化值,并基于所述参数变化值更新所述任务模型的参数。
在上述方案中,所述任务模型训练模块,还用于:
通过所述语言模型的各特征提取层,分别提取表征所述语料样本的不同维度的子语义特征;
结合对应各特征提取层中的权重,对所述各特征提取层所提取的子语义特征进行加权处理,得到用于对所述语料样本进行分类的语义特征;
通过所述任务模型的卷积层,对所述语义特征进行任务语义提取处理,得到对应所述语言任务的任务语义特征;
结合对应所述语料样本的任务语义特征对所述语料样本进行分类处理,得到所述语料样本分别属于不同类别的概率,并将最大概率所对应的类别确定为所述语料样本的预测类别。
在上述方案中,所述任务模型训练模块,还用于:
确定所述语言任务模型的输出层的各个神经元的输出梯度项以及所述任务模型中隐藏层的各个神经元的隐藏梯度项;
将所述任务模型学习率分别与所述输出梯度项和所述隐藏梯度项相乘,得到所述任务模型的参数的变化值;
将所述变化值与所述任务模型的参数相加,将相加的结果作为所述任务模型的更新的参数。
在上述方案中,所述语言任务模型训练模块,还用于:
将以任务模型学习率对所述语言任务模型进行训练得到的任务模型,确定为任务模型的初始化模型,并将经过预训练得到的语言模型确定为所述语言模型的初始化模型;
初始化包括所述语料样本以及对应所述语料样本的预测类别的语言任务模型损失函数,并初始化包括所述语料样本以及对应所述语料样本的预测类别的语言模型损失函数;
基于每个语料样本执行以下处理:
将所述语料样本在所述语言模型和所述任务模型中进行正向传播与反向传播,以更新所述语言模型和所述任务模型的参数;或者
将所述语料样本在所述语言模型中进行正向传播与反向传播,以更新所述语言模型的参数。
在上述方案中,所述语言任务模型训练模块,还用于:
以交替训练采样概率对当前迭代所使用的语料样本进行采样处理,确定基于当前迭代所使用的语料样本来进行训练的模型;
当确定基于当前迭代所使用的语料样本所进行训练的模型为语言模型时,确定将所述语料样本在所述语言模型中进行正向传播与反向传播;
当确定基于当前迭代所使用的语料样本所进行训练的模型为语言任务模型时,确定将所述语料样本在所述语言模型和所述任务模型中进行正向传播与反向传播。
在上述方案中,所述语言任务模型训练模块,还用于:
通过所述语言模型对所述语料样本进行特征提取处理,并通过所述任务模型基于所提取出的特征对所述语料样本进行分类处理,得到对应所述语料样本的预测类别;
确定所述语料样本的预测类别和预标记的真实类别之间的误差,并将所述误差代入所述语言任务模型损失函数,以在所述语言模型和所述任务模型中进行反向传播,以
基于语言模型学习率确定所述语言任务模型损失函数取得最小值时所述语言模型和所述任务模型的参数变化值,并基于所述参数变化值更新所述语言模型和所述任务模型的参数;
通过所述语言任务模型中的语言模型,对所述语料样本进行分类处理,得到对应所述语料样本的预测类别;
确定所述语料样本的预标记的真实类别和所述预测类别之间的误差,并将所述误差代入所述语言模型损失函数,以在所述语言模型中进行反向传播,以
基于语言模型学习率确定所述语言模型损失函数取得最小值时所述语言模型的参数变化值,并基于所述参数变化值更新所述语言模型的参数。
在上述方案中,所述语言模型包括多个特征提取层,各个所述特征提取层的语言模型学习率按照与输出侧的距离呈降序排列;所述语言任务模型训练模块,还用于:
确定所述任务模型的输出层的各个神经元的输出梯度项、所述任务模型中的隐藏层的各个神经元的隐藏梯度项、以及所述语言模型中各个特征提取层的各个神经元的特征层梯度项;
将所述任务模型学习率分别与所述输出梯度项和所述隐藏梯度项相乘,得到所述任务模型的参数变化值;
将各个特征提取层的语言模型学习率分别与各个特征提取层的特征层梯度项对应相乘,得到所述语言模型的参数变化值;
将所述任务模型的参数变化值与所述任务模型的参数相加,得到所述语言任务模型损失函数取得最小值时所述任务模型的参数;
将所述语言模型的参数变化值与所述语言模型的参数相加,得到所述语言任务模型损失函数取得最小值时所述语言模型的参数;
确定所述语言模型中各个特征提取层的各个神经元的特征层梯度项;
将各个特征提取层的语言模型学习率分别与各个特征提取层的特征层梯度项对应相乘,得到所述语言模型的参数变化值;
将所述语言模型的参数变化值与所述语言任务模型中的语言模型的参数相加,得到所述语言任务模型损失函数取得最小值时所述语言模型的参数。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的基于人工智能的语言任务模型训练方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于被处理器执行时,实现本发明实施例提供的基于人工智能的语言任务模型训练方法。
本发明实施例具有以下有益效果:
通过本发明实施例提供的基于人工智能的语言任务模型训练方法,为任务模型与语言模型设置不同的学习率,从而保证任务模型中的层与语言模型中的层均按照对应合适的学习率进行训练到位,通过将对应语言任务的语料样本在语言模型上进行分层预训练,从而使得通用知识可以有效地被迁移到语言任务上。
附图说明
图1是本发明实施例提供的语言任务模型的结构图;
图2A-2C是本发明实施例提供的基于人工智能的语言任务模型训练方法中语言模型结构示意图;
图3A-3D是本发明实施例提供的BERT模型在自然语言处理任务中的应用示意图;
图4A是本发明实施例提供的基于人工智能的语言任务模型训练系统的结构示意图;
图4B是本发明实施例提供的基于人工智能的语言任务模型训练方法的实际应用流程图;
图5是本发明实施例提供的应用基于人工智能的语言任务模型训练方法的电子设备的结构示意图;
图6A-6D是本发明实施例提供的基于人工智能的语言任务模型训练方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解, “一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)语言模型:对于语言序列而言,语言模型是计算该序列的概率分布,从机器学习的角度来看,语言模型是对语句的概率分布的建模,通俗解释为判断一个语言序列是否是正常语句。
2)学习率:是监督学习以及深度学习中重要的超参,其决定着损失函数能否收敛到局部最小值以及何时收敛到最小值,合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。
在相关技术中公开有各种语言模型,例如:基于双向编码器表示的转换器模型(BERT,Bidirectional Encoder Representation from Transformers),语言模型可以被微调然后应用在各种自然语言处理任务上。语言模型,从机器学习的角度来看,是对语句概率分布的建模,大规模的预训练语言模型是近一两年中出现的颇具革命性的自然语言处理技术,将语言模型应用于特定的自然语言处理任务上的典型方案被称为语言模型的微调,主要是让语言模型和特定任务模型一起训练,即它们同时存在于一个计算图中,参数随着反向传播算法一起更新。
在本发明实施例的实施过程中发现,相关技术的上述方案至少存在以下两个技术问题,首先语言模型和任务模型的最优学习率有很大的差别,如果给这两个模型设置相同的学习率,可能会导致他们二者中的某一个模型无法训练至其应该有的训练效果;语言模型是在海量的具有普适性的语料上预训练得来的,如果直接利用一个小规模数据集来微调语言模型,会导致该语言模型忘记在前期基于普适性数据集进行预训练的阶段学习到的知识,即灾难性遗忘现象,从而很多通用知识就无法有效地被迁移到目标任务上。
本发明实施例提供了一种基于人工智能的语言任务模型训练方法,该方法将至少能够解决上述技术问题,以充分利用语言模型在预训练过程中学习到的知识来帮助我们在特定的自然语言处理任务上获得性能提升。参见图1,图1是本发明实施例提供的语言任务模型的结构图,该语言任务模型由语言模型和任务模型进行级联组合得到,首先由语言模型中的多个特征提取层对语料样本进行特征提取处理,再将提取到的特征输入到任务模型中进行特定的自然语言任务处理,这里的任务模型可以用于解决句子分类的语言任务,还可以用于解决阅读理解的语言任务等等,下文以句子分类的语言任务为例进行详细说明。
下面介绍本发明实施例提供的语言模型以及语言模型在自然语言处理任务上的应用,这里以BERT模型为例进行介绍,该模型的核心在预训练方法上,即用了随机掩盖部分输入词和下一句预测这两种方法分别捕捉词语和句子级别的表示,图2A-2C是本发明实施例提供的基于人工智能的语言任务模型训练方法中语言模型结构示意图。参见图2A-2C,参见图2B,对于OpenAI GPT模型而言,非监督文本(x1,x2,...,xm)上的训练方法是用语言模型取最大化似然函数,模型结构是由多层Transformer构成的编码器和解码器,这里的transformer通过图2B中的Trm表示,这里使用的Transformer的核心在于多头注意力机制,参见图2A,BERT模型是双向的,模型输入的是E(E1,E2,…,EN),模型输出的是T(T1,T2,…,TN),BERT模型中的transformer通过图2A中的Trm表示,图2B中的OpenAI GPT模型是单向的,模型输入的是E(E1,E2,…,EN),模型输出的是T(T1,T2,…,TN)。BERT模型相比于ELMo模型,虽然都是“双向”网络,但是它们的模型结构大不相同,参见图2C,ELMo是独立训练两个表示然后进行拼接,使用的是一个双向的长短期记忆网络(LSTM,Long Short-TermMemory)语言模型,由一个前向和一个后向语言模型构成,输入模型的是E(E1,E2,…,EN),输出模型的是T(T1,T2,…,TN),目标函数就是取这两个方向语言模型的最大似然。
参见图3A-3D,图3A-3D是本发明实施例提供的BERT模型在自然语言处理任务中的应用示意图,BERT模型对常见的四种自然语言处理问题的支持方式如图3A-3D所示,包括:句子对分类任务,参见图3A,将两个句子以 [CLS]+句子1+[SEP]+句子2的格式输入BERT模型,句子1由Tok1,…,TokN组成,这里的TokN可以为输入字符流中所生成的标记,句子2由Tok1,…,TokM组成,E1,…,EN是Tok1,…,TokN的字向量输入,E1 ,,…,EM ,是Tok1,…,TokM的字向量输入,T1,…,TN是Tok1,…,TokN的语言模型的输出,即Tok1,…,TokN的表示,T1 ,,…,TM ,是Tok1,…,TokM的语言模型的输出,即Tok1,…,TokM的表示,[CLS]的输入为E[CLS],[CLS]的表示为C,[SEP]的输入为E[SEP],[SEP]的表示为(T[SEP]),这里取[CLS]的表示(C)经过一层全连接层来预测它属于哪一类,可以通过如下数据集进行训练与测试:微软研究释义语料库(MRPC,Microsoft Research Paraphrase Corpus)收录了5800对句子并标注每对句子是否在语义上等价,Quora问题对(QQP,Quora Question Pairs)收集了Quora网站上的问题和答案,并就两个问题是否在语义上等价进行了标注;语义文本相似性基准库(STS-B,Semantic Textual Similarity-Benchmark)收集了来自于图片注释,新闻头条,社区论坛等不同来源的8628对句子,并就每对句子的相似度给出1分到5分的相似度评分标注;多体自然语言推理语料库(MNLI,Multi-Genre Natural Language Inference Corpus)包含了433000对句子,每对句子分别包含前提和假设,并标注了两者间是正向关联,相互矛盾,或是中立的关系标签;问题-答案自然语言(QNL,Question-answering NL)数据库是基于斯坦福问题答案数据库(SquAD,Stanford Question Answering Dataset)构建的数据集,此数据集中收集了问题和文字,并标注了文字中是否包含与问题匹配的答案;识别文本正向关系(RTE,Recognizing Textual Entailment)数据库来源于年度的RTE竞赛,数据集收集了句子对,每对句子分为前提和假设,并标注两者间是否为正向关联关系;对抗生成情形(SWAG,Situations With Adversarial Generations)数据库包含113000完形填空的句子,这里的句子对分类任务可以是接收到用户客户端的提问,服务器针对用户的提问匹配出与该提问类似或者等价的问题,将等价问题的答案作为针对于提问的答案返回至用户客户端;单个句子分类任务,参见图3B,将单个句子以 [CLS]+句子的格式输入BERT模型,句子由Tok1,…,TokN组成,E1,…,EN是Tok1,…,TokN的字向量输入,T1,…,TN是Tok1,…,TokN的语言模型的输出,即Tok1,…,TokN的表示,[CLS]的输入为E[CLS],[CLS]的表示为C,然后取[CLS]的表示(C)经过一层全连接层来预测它属于哪一类,可以通过如下数据集进行训练与测试:语言语料库(Col,Corpus of Linguistic),从23本语言学发表物中抽取的10657句话并就每句话是否从语法角度成立进行了标注,整个数据集提供了9594条句子作为训练集,以及1063条句子作为测试集,斯坦福情感分类树(SST-2,stanford sentiment treebank),这里的单句分类任务可以是对信息的情感态度进行分类或者是对语法进行分类,响应于接收到用户发送到服务器的文本信息,服务器可以识别出语法出错的文本返回至用户客户端,还可以是响应于接收到用户客户端发送到服务器的信息获取请求,服务器将候选信息中合法信息(不包含敏感词等违规内容)返回至用户客户端;阅读理解任务,参见图3C,将问题(question)和文章(paragraph)以 [CLS]+问题+[SEP]+文章的格式输入BERT模型,E1,…,EN是Tok1,…,TokN的字向量输入,E1 ,,…,EM ,是Tok1,…,TokM的字向量输入,T1,…,TN是Tok1,…,TokN的语言模型的输出,即Tok1,…,TokN的表示,T1 ,,…,TM ,是Tok1,…,TokM的语言模型的输出,即Tok1,…,TokM的表示,[CLS]的输入为E[CLS],[CLS]的表示为C,[SEP]的输入为E[SEP],[SEP]的表示为(T[SEP]),然后取原文中每个token(Tok1,…,TokN)的表示经过一层全连接层来预测答案的开始结束位置,可以通过如下数据集进行训练与测试:斯坦福问答数据集v1.1(SQuAD,standFord question answering dataset),对于每个问题从文章中选取答案,这里的阅读理解任务可以是响应于获取到用户客户端的提问以及答案获取请求,服务器从文章中匹配出与提问相匹配的答案,以返回至用户客户端;序列标注任务,参见图3D,将待标注的单个句子以[CLS]+句子的格式输入BERT模型,E1,…,EN是Tok1,…,TokN的字向量输入,T1,…,TN是Tok1,…,TokN的语言模型的输出,即Tok1,…,TokN的表示,[CLS]的输入为E[CLS],[CLS]的表示为C,取句子中每个token(Tok1,…,TokN)的表示经过一层全连接层,预测每个token属于哪个类别,可以通过如下数据集进行训练与测试:计算机自然语言学习会议-2003命名实体识别(CoNLL-2003NER,Conference on Computational NaturalLanguage Learning-2003 Named Entity Recognition),这里的序列标注任务包括自然语言处理中的分词,词性标注,命名实体识别,关键词抽取,词义角色标注等等,响应于接收到用户客户端发送的文本信息,服务器对文本信息进行词性标注,并将标注结果返回给用户客户端,这里的O表示单字词,B表示开始,PER表示人名。
在相关技术中,需要对语言模型进行微调,模型结构通常是一个语言模型上面接一个特定的任务模型,训练的时候先加载预训练好的语言模型参数,任务层或任务模块的参数随机初始化,然后把语言模型和任务层放到一个计算图中进行训练,相关技术中流行的各种大规模预训练得到的语言模型,虽然有很强的语境表征能力,但是它们对很多特定任务的接口并不丰富,例如,BERT模型对阅读理解任务的支持,只是简单地把问题和文章拼接在一起来进行训练,这种实施方式的缺点在于,它们对特定数据集中的高级特征(如领域特定的知识、阅读理解中问题和文章的交互)的学习并不到位,相关技术中的微调方式只是简单地让语言模型和任务模型在一起训练。
在本发明实施例的实施过程中发现,相关技术的上述方案至少存在以下两个技术问题,首先语言模型和任务模型的最优学习率有很大的差别,如果给这两个模型设置相同的学习率,可能会导致他们二者中的某一个模型无法训练至其应该有的训练效果;语言模型是在海量的具有普适性的语料上预训练得来的,如果直接利用一个小规模数据集来微调语言模型,会导致该语言模型忘记在前期基于普适性数据集进行预训练的阶段学习到的知识,即灾难性遗忘现象,从而很多通用知识就无法有效地被迁移到目标任务上。
本发明实施例提供了一种基于人工智能的语言任务模型训练方法以解决语言模型针对具体任务的微调后的训练效果不佳的问题,目的是充分利用语言模型在预训练过程中学习到的知识,使得训练得到的语言任务模型在特定的自然语言处理任务上获得性能提升。
本发明实施例提供一种基于人工智能的语言任务模型训练方法、装置、电子设备和存储介质,能够解决语言模型针对具体任务微调后的训练效果不佳的问题,下面说明本发明实施例提供的电子设备的示例性应用,本发明实施例提供的电子设备可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
参见图4A,图4A是本发明实施例提供的基于人工智能的语言任务模型训练系统的一个可选的结构示意图,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,服务器200中包括预训练模块2551、任务模型训练模块2552、语言任务模型训练模块2553、训练样本生成模块2554以及语言任务模型应用模块2555,训练样本生成模块2554生成了语料样本,组成训练样本集合500,服务器200中的预训练模块2551、任务模型训练模块2552、语言任务模型训练模块2553从训练样本集合500中提取语料样本,分别基于所提取的语料样本进行预训练,任务模型训练以及语言任务模型训练,通过预训练得到经过粗调的语言模型,并将语言模型传递到任务模型训练模块,由任务模型训练模块基于语料样本对任务模型进行更新,并将更新得到的任务模型传递到语言任务模型训练模块,由语言任务模型训练模块基于语料样本对任务模型和语言模型进行训练,得到语言任务模型,并将语言任务模型传递至语言任务模型应用模块2555,响应于接收到用户的内容获取请求,语言任务模型应用模块2555对候选推荐信息进行分类,将分类结果符合内容获取请求的候选推荐信息作为经过筛选的候选推荐信息返回至用户,这里的分类可以是进行情绪分类,情绪分类可以是呈现积极候选推荐信息,而过滤消极候选推荐信息,这里的积极和消极可以通过对候选推荐信息进行预测评分来进行量化处理,评分超过评分阈值的候选推荐信息属于积极候选推荐信息,还可以是进行内容取向分类,例如区分候选推荐信息是否具备敏感词,是否涉及到违法信息,通过进行内容取向分类,可以呈现合法候选推荐信息,而过滤违法候选推荐信息。
参见图5,图5是本发明实施例提供的应用基于人工智能的语言任务模型训练方法的电子设备的一个可选的结构示意图,图5所示的服务器200包括:至少一个处理器210、存储器250和至少一个网络接口220。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器 210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本发明实施例提供的基于人工智能的语言任务模型训练装置可以采用软件方式实现,图5示出了存储在存储器250中的基于人工智能的语言任务模型训练装置255,其可以是程序和插件等形式的软件,包括以下软件模块:预训练模块2551、任务模型训练模块2552、语言任务模型训练模块2553以及训练样本生成模块2554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的基于人工智能的语言任务模型训练装置可以采用硬件方式实现,作为示例,本发明实施例提供的基于人工智能的语言任务模型训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于人工智能的语言任务模型训练方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
下面将结合本发明实施例提供的服务器的示例性应用和实施,说明本发明实施例提供的基于人工智能的语言任务模型训练方法。
参见图6A,图6A是本发明实施例提供的基于人工智能的语言任务模型训练方法的一个可选的流程示意图,将结合图6A示出的步骤101-104进行说明。
在步骤101中,服务器基于预训练样本集合中对应语言任务的语料样本,在语言模型中进行分层预训练。
这里的语言任务模型由语言模型和任务模型组成,参见图1,该语言任务模型由语言模型和任务模型进行级联组合得到,首先由语言模型中的多个特征提取层对语料样本进行特征提取处理,再将提取到的特征输入到任务模型中进行特定的自然语言任务处理,这里的任务模型可以用于解决句子分类的语言任务,还可以用于解决阅读理解的语言任务等等,下文以句子分类的语言任务为例进行详细说明。
这里的语言模型可以是经过大规模数据集预训练过的语言模型,语言模型使用两个新的无监督预测任务进行预训练,为了训练深度双向编码器(Transformer),采用了一种简单的方法:随机掩盖部分输入词,然后对那些被掩盖的词进行预测,预训练的目标是构建语言模型,在预训练的过程中,随机地掩盖每个序列中部分字标记(token),其目标是基于其上下文来预测被掩盖单词的原始词汇,与从左到右的语言模型预训练不同,其允许Transformer表示融合左右两侧的上下文,这使得可以预训练深度双向Transformer,Transformer不知道它将被要求预测哪些单词,或者哪些已经被随机单词替换,因此它必须对每个输入词保持分布式的上下文表示。此外,由于随机替换在所有词中只发生较少比例,例如1.5%,从而并不会影响语言模型对于语言的理解,很多句子级别的任务如自动问答和自然语言推理都需要理解两个句子之间的关系,譬如经过第一步的处理,1.5%的词汇被遮盖,那么在这一任务中需要随机将数据划分为等大小的两部分,一部分数据中的两个语句对是上下文连续的,另一部分数据中的两个语句对是上下文不连续的,然后让语言模型来识别这些语句对中,哪些语句对是连续的,哪些语句对是不连续的,上述过程即为基于普适性语料样本对语言模型进行基础预训练的过程。
这里的分层预训练是在完成上述普适性预训练之后所进行的语言模型粗调过程,粗调过程中所使用的语料样本来源于预训练样本集合,预训练样本集合的数据规模与上述普适性语料样本的数据规模相当,可以与普适性语料样本的数量级相同,区别在于语料样本的类型不同,分层预训练(粗调)所依赖的预训练样本集合中的语料样本与语言任务相关,预训练样本集合与后续进行微调时所使用的训练样本集合的区别在于训练阶段不同,预训练样本集合中的语料样本是用于对语言模型进行适应性调整,训练样本集合中的语料样本是用于对语言任务模型进行整体训练,预训练样本集合可以与训练样本集合相同、不同或者存在交叉关系,但是两个集合中的语料样本均是针对于特定语言任务的语料样本。
在一些实施例中,在基于预训练样本集合中对应语言任务的语料样本,在语言模型中进行分层预训练之前,方法还包括:对语言任务的预标记的语料样本执行以下处理中的任意一种:从语料样本中随机抽取至少一个待替换词,并从同义词词典中随机抽取对应至少一个待替换词的同义词,以进行替换处理;从语料样本中随机抽取一个待替换词,并从同义词词典中随机抽取对应待替换词的同义词,以插入到语料样本中的任意位置;从语料样本中随机选择两个待交换词,并交换两个待交换词的位置;对语料样本中的每个词执行随机删除处理;将语料样本以及经过处理得到的语料样本,组合为训练样本集合;从训练样本集合中采样多个语料样本,以组成预训练样本集合;其中,预训练样本集合中语料样本的数目超过预训练样本数目阈值。
在一些实施例中,为了增强训练效果并且提高训练效果的鲁棒性,需要对作为训练样本的语料样本进行数据增强处理,可以通过以下几种方式进行数据增强处理:同义词替换,在不考虑停用词的前提下,在句子中随机抽取多个词,然后从同义词词典中随机抽取其同义词并进行替换;随机插入,在不考虑停用词的前提下,随机抽取一个词,然后在该词的同义词集合中随机选择一个词,插入原句子中的随机位置,该过程可以重复多次;随机交换,在句子中随机选择两个词,进行位置交换处理,该过程可以重复多次;随机删除,将句子中的每个词以随机概率进行随机删除处理,例如某个词的随机概率为0.5,同时生成一个随机数,若生成的随机数大于该词的随机概率0.5,则将该词从句子中删除,通过上述数据增强方式中的任意一种或者多种,可以扩充训练样本集合,从而可以对扩充得到的训练样本集合进行采样处理,将采样得到的语料样本,组合为预训练样本集合,这里预训练样本集合中的语料样本的数目超过预训练样本数目阈值,表征了预训练样本集合中的语料样本的数据规模,当普适性预训练样本数目为十万数量级时,预训练样本数目阈值可以为十万数量级或者九万数量级等等,即预训练样本数目阈值接近普适性预训练样本数目或者与普适性预训练样本数目相同。
由于语言模型进行普适性预训练时用到的数据量远远高于微调具体语言任务时的数据量,所以如果直接把语言模型拿来微调,语言模型会忘记很多它在普适性预训练时学习到的知识。因此先让语言模型在与语言任务相关的大量语料样本上(预训练样本集合)进行分层预训练,这一过程可以认为是让语言模型预先适应语言任务的领域,然后再在语言任务上微调,以防止灾难性遗忘现象。
参见图6B,图6B是本发明实施例提供的基于人工智能的语言任务模型训练方法的一个可选的流程示意图,步骤101中基于预训练样本集合中对应语言任务的语料样本,在语言模型中进行分层预训练,可以通过步骤1011-1013实现,下面将结合图6B示出的步骤1011-1013进行说明。
在步骤1011中,服务器初始化语言模型,并初始化包括语料样本以及对应语料样本的预测类别的语言模型损失函数。
这里的对语言模型进行初始化实际上是将经过普适性预训练的语言模型作为将要进行分层预训练的语言模型,这里的语言模型损失函数与分层预训练任务相关,这里的分层预训练任务可以是分类任务,在语言模型的输出上接一个分类层,即可以获取针对语料样本的分类输出。
在步骤1012中,服务器对语言模型进行划分处理,得到多个子语言模型;其中,多个子语言模型中的每个子语言模型包括至少一个特征提取层。
这里的语言模型中包括多个特征提取层,在对语言模型进行粗调时,采取的是分层预训练原则,即可以对语言模型各层进行逐渐解冻,因此,在对语言模型进行分层预训练之前需要将语言模型进行划分处理,从而根据划分结果进行分层预训练以进一步保护语言模型在预训练时所学习到的低级通用知识,假设语言模型有12层,可以将这12层语言模型划分为4个子语言模型,每个子语言模型有三层,也可以将12层语言模型进行随机划分,有的子语言模型为二层,有的子语言模型为三层。
在步骤1013中,服务器基于预训练样本集合,对多个子语言模型进行分层预训练。
在一些实施例中,步骤1013中对多个子语言模型进行分层预训练,可以通过以下技术方案实现,对语言模型进行第k层次训练,以更新语言模型中与输出侧距离最近的k个子语言模型,且在更新过程中固定语言模型中其他子语言模型的参数不变;其中,k为大于或者等于2的整数,其他子语言模型为语言模型中除了与输出侧距离最近的k个子语言模型之外的子语言模型;当第k层次训练的迭代次数达到对应的迭代次数阈值时,继续对语言模型进行第k+1层次训练,以更新语言模型中与输出侧距离最近的k+1个子语言模型,且在更新过程中固定语言模型中其他子语言模型的参数不变;当语言模型中的每个子语言模型均被更新过,且参与迭代次数最少的子语言模型所经历的迭代次数达到对应的迭代次数阈值时,确定多个子语言模型分层预训练完成。
在一些实施例中,在训练的前一定数目的迭代次数中,例如前500次迭代中,可以只更新距离模型输出侧最近的若干层,这里的若干层指的是与输出侧距离最近的k个子语言模型,当k为1时,所进行的是第一层次训练,仅更新与输出侧距离最近的1个子语言模型,当k为2时,所进行的是第二层次训练,仅更新与输出侧距离最近的2个子语言模型,这里的2个子语言模型包括在进行第一层次训练时所更新的与输出侧距离最近的1个子语言模型,然后随着训练的进行,逐渐地更新更深的层的参数,对不同层次的训练可以设置不同的迭代次数,例如对于第一层次训练,可以设置第一层次训练的迭代次数为500次,则在前500次迭代的过程中仅更新与输出侧距离最近的1个子语言模型,当已经迭代了500次之后可以开始第二层次训练,即仅更新与输出侧距离最近的2个子语言模型,可以设置第二层次训练的迭代次数为400次,则在第501次迭代至第900次迭代的过程中,仅更新与输出侧距离最近的2个子语言模型,当语言模型中的每个子语言模型均被更新过,且参与迭代次数最少的子语言模型所经历的迭代次数达到对应的迭代次数阈值时,这里的参与迭代次数最少的子语言模型即为最后参与到更新的子语言模型,即距离输出侧距离最远的子语言模型,此时表征距离输出侧距离最远的子语言模型所参与迭代的层次训练已经进行了应有迭代次数的训练,即可以确定多个子语言模型分层预训练完成。
在一些实施例中,上述步骤中对语言模型进行第k+1层次训练,以更新语言模型中与输出侧距离最近的k+1个子语言模型,可以通过以下技术方案实现,在语言模型的第k+1层次训练中每次迭代训练过程中执行以下处理:通过语言模型,对预训练样本集合包括的语料样本进行分类处理,得到对应语料样本的预测类别;确定语料样本的预测类别和预标记的真实类别之间的误差,并将误差代入语言模型损失函数,以在语言模型中进行反向传播,以确定当语言模型损失函数取得最小值时,对应语言模型中与输出侧距离最近的k+1个子语言模型的参数变化值;根据所确定的参数变化值更新语言模型中与输出侧距离最近的k+1个子语言模型。
在一些实施例中,这里的参数变化值为与输出侧距离最近的k+1个子语言模型所包括的多个层的参数变化值,更新语言模型中与输出侧距离最近的k+1个子语言模型的过程是将参数变化值与原参数值进行相加的过程。
这里为了进一步保护语言模型在预训练时学习到的低级通用知识,可以对模型进行分层更新,最初只更新模型的最上面若干层,最上面表征的含义是靠近输出侧的若干层,其它层的参数固定,如此迭代预设次数后,继续更新最上面若干层的同时,也将紧邻最上面若干层的若干层划入更新的范围,其他层的参数固定,然后随着训练的进行,逐渐的解冻更新更深的层。
在一些实施例中,将每个语料样本在语言模型的各个层中进行正向传播的过程,可以通过以下技术方案实现,通过语言模型的各特征提取层,分别提取表征语料样本的不同维度的子语义特征;结合对应各特征提取层中的权重,对各特征提取层所提取的子语义特征进行加权处理,得到用于对语料样本进行分类的语义特征。
这里可以综合使用语言模型所有层的隐状态表示,在本发明实施例中发现语言模型的不同层其实学习到了不同级别的知识,因此,不应该仅仅使用语言模型的最后一层的输出作为任务模型的词嵌入,而应该使用每一层的输出,且为每一层设置一个可学习的权重,最后得到的词嵌入是每一层输出的加权和。
在步骤102中,服务器将训练样本集合中对应语言任务的语料样本,在语言任务模型中进行正向传播。
步骤102-104的微调过程中所使用的语料样本来源于经过数据增强处理得到的训练样本集合,微调过程中所使用的语料样本的数据规模可以小于分层预训练时所使用的数据规模,以减少训练时间并加快训练速度,因此,不需要使用训练样本集合中的所有语料样本来进行微调训练,而是从中抽取一批语料样本进行训练,在完成一批语料样本的迭代之后,再随机抽取一批语料样本进行训练。
在一些实施例中,步骤102中将训练样本集合中对应语言任务的语料样本,在语言任务模型中进行正向传播,可以通过以下技术方案实现,初始化语言任务模型,并执行以下处理:将每个语料样本在语言任务模型的各个层中进行正向传播,以对训练样本集合包括的语料样本进行分类处理,得到对应语料样本的预测类别。
这里的对语言任务模型进行初始化实际上是将经过分层预训练的语言模型作为语言任务模型中的语言模型的初始模型。
在一些实施例中,这里的正向传播即是通过语言任务模型中的各个层对语料样本进行处理,这里的语言任务模型是由语言模型和任务模型组成的,首先通过语言模型的各层对语料样本进行特征提取处理,再通过任务模型对语言模型所输出的特征的进行与语言任务相关的处理,当这里的语言任务为分类任务时,正向传播的过程即是通过语言任务模型对语料样本进行分类处理,得到对应语料样本的预测类别。
在一些实施例中,上述步骤中将每个语料样本在语言任务模型的各个层中进行正向传播,以对训练样本集合包括的语料样本进行分类处理,得到对应语料样本的预测类别,可以通过以下技术方案实现,通过语言模型的各特征提取层,分别提取表征语料样本的不同维度的子语义特征;结合对应各特征提取层中的权重,对各特征提取层所提取的子语义特征进行加权处理,得到用于对语料样本进行分类的语义特征;通过任务模型的卷积层,对语义特征进行任务语义提取处理,得到对应语言任务的任务语义特征;结合对应语料样本的任务语义特征对语料样本进行分类处理,得到语料样本分别属于不同类别的概率,并将最大概率所对应的类别确定为语料样本的预测类别。
这里可以综合使用语言模型所有层的隐状态表示,发明人发现语言模型的不同层其实学习到了不同级别的知识,因此,不应该仅仅使用语言模型的最后一层的输出作为任务模型的词嵌入,而应该使用每一层的输出,且为每一层设置一个可学习的权重,最后得到的词嵌入是每一层输出的加权和。
在步骤103中,服务器固定语言模型的参数,基于正向传播得到的预测类别和语料样本的预标记的真实类别之间的误差在语言任务模型中进行反向传播,并在反向传播的过程中基于任务模型学习率更新任务模型的参数。
参见图6C,图6C是本发明实施例提供的基于人工智能的语言任务模型训练方法的一个可选的流程示意图,步骤103中固定语言模型的参数,基于正向传播得到的预测类别和语料样本的预标记的真实类别之间的误差在语言任务模型中进行反向传播,并在反向传播的过程中基于任务模型学习率更新任务模型的参数,可以通过步骤1031-1032实现,下面将结合图6C示出的步骤1031-1032进行说明。
在步骤1031中,初始化包括语料样本以及对应语料样本的预测类别的语言任务模型损失函数。
这里的语言任务模型损失函数与任务模型的任务相关,这里的任务模型的任务可以是分类任务。
在步骤1032中,固定语言模型的参数,并执行以下处理:确定语料样本的预测类别和预标记的真实类别之间的误差,并将误差代入语言任务模型损失函数,以在语言任务模型中进行反向传播,以基于任务模型学习率确定语言任务模型损失函数取得最小值时任务模型的参数变化值,并基于参数变化值更新任务模型的参数。
在一些实施例中,步骤1032中基于任务模型学习率确定语言任务模型损失函数取得最小值时任务模型的参数变化值,并基于参数变化值更新任务模型的参数,可以通过以下技术方案实现,确定语言任务模型的输出层的各个神经元的输出梯度项以及任务模型中隐藏层的各个神经元的隐藏梯度项;将任务模型学习率分别与输出梯度项和隐藏梯度项相乘,得到任务模型的参数的变化值;将变化值与任务模型的参数相加,将相加的结果作为任务模型的更新的参数。
在一些实施例中,学习过程由信号的正向传播与误差反向传播两个过程组成,在正向传播时,语料样本从输入层传入,经过各隐藏层逐层处理后,传向输出层,若输出层的实际输出与期望输出不符,则转入误差的反向传播阶段,误差反向传播是将输出误差以某种形式通过隐藏层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层的误差信号,此误差信号即作为修正单元权值的依据,这种信号正向传播与误差反向传播的各层权值调整过程周而复始的进行,权值不断调整的过程,也就是网络学习训练的过程,此过程一直进行到网络输出的误差减少到可接受的程度,或进行到预先设定的迭代次数为止。
在一些实施例中,将语料样本、真实类别以及预测类别均代入到语言任务模型损失函数中,预测类别是任务模型的输出,也可以称为是语言任务模型的输出,可以将任务模型分为输入层、隐藏层和输出层,基于梯度下降的策略,以损失函数的负梯度方向对参数进行调整,若输入层有d个神经元,隐藏层有q个神经元,输出层有l个神经元,则从输入层到隐藏层有d*q个权值参数,从隐藏层到输出层有q*l个权值参数,只要上述参数取合适的值就可以使损失函数E达到最小,更新参数只需按照梯度下降方向进行更新即可找到局部最优的权值,某点的梯度就是某点的一阶偏导,因此对参数求偏导即可,参数的变化值即为负梯度与学习率的乘积,从隐藏层到输出层的权值参数先影响到输出层神经元的输入值,再影响到输出层的输出值,然后影响到损失函数的值,进而根据链式法则可以求得从隐藏层到输出层的权值参数的变化值,同理求得从输入层到隐藏层的权值参数的变化值,这里的输出层的各个神经元的输出梯度项是损失函数在输出层神经元的输出上的梯度、输出层神经元的输出在输出层神经元的输入上的梯度与输出层神经元的输入在从隐藏层到输出层的权值参数上的梯度相乘所得,同理可以得到隐藏层的各个神经元的隐藏梯度项。
在一些实施例中,这里的权值参数不仅可以是该层与上一层之间的权值参数,还可以表征该层的神经元阈值,当权值参数表征该层的神经元阈值时,这里的输出层的各个神经元的输出梯度项是损失函数在输出层神经元的输出上的梯度、输出层神经元的输出在输出层神经元的输入上的梯度相乘所得,同理可以得到隐藏层的各个神经元的隐藏梯度项。
在步骤104中,当语言任务模型满足收敛条件时,服务器将训练样本集合中对应语言任务的语料样本,在语言任务模型中进行正向传播和基于正向传播得到的预测类别和语料样本的预标记的真实类别之间的误差的反向传播,并在反向传播的过程中基于语言模型学习率更新语言模型和任务模型的参数。
参见图6D,图6D是本发明实施例提供的基于人工智能的语言任务模型训练方法的一个可选的流程示意图,步骤104中将训练样本集合中对应语言任务的语料样本,在语言任务模型中进行正向传播和基于正向传播得到的预测类别和语料样本的预标记的真实类别之间的误差的反向传播,并在反向传播的过程中基于语言模型学习率更新语言模型和任务模型的参数,可以通过步骤1041-1043实现,下面将结合图6D示出的步骤1041-1043进行说明。
在步骤1041中,将以任务模型学习率对语言任务模型进行训练得到的任务模型,确定为任务模型的初始化模型,并将经过预训练得到的语言模型确定为语言模型的初始化模型。
在步骤1042中,初始化包括语料样本以及对应语料样本的预测类别的语言任务模型损失函数,并初始化包括语料样本以及对应语料样本的预测类别的语言模型损失函数。
这里的语言模型损失函数与语言模型的任务相关,这里的任务可以是分类任务,这里的语言任务模型损失函数与语言任务相关,这里的语言任务可以是分类任务。
在一些实施例中,在执行步骤1043之前,还可以执行以下技术方案:以交替训练采样概率对当前迭代所使用的语料样本进行采样处理,确定基于当前迭代所使用的语料样本来进行训练的模型;当确定基于当前迭代所使用的语料样本所进行训练的模型为语言模型时,确定将语料样本在语言模型中进行正向传播与反向传播;当确定基于当前迭代所使用的语料样本所进行训练的模型为语言任务模型时,确定将语料样本在语言模型和任务模型中进行正向传播与反向传播。
在一些实施例中,在将任务模型和语言模型一起训练时,有一部分语料样本会仅在语言模型中进行正向传播以及反向参数更新,这一部分训练数据实际上仍在对语言模型进行预训练,还有一部分语料样本会在由语言模型和任务模型组成的语言任务模型中正向传播以及反向参数更新,上述过程实际上是对预训练任务和语言任务的交替训练,即不仅仅使用语言任务模型损失函数计算梯度,也会穿插地使用语言模型损失函数计算梯度,以防止语言模型忘记其在预训练时所学习到的知识。
在一些实施例中,将语料样本仅在语言模型中进行正向传播以及反向更新,还是在完整的语言任务模型中进行正向传播与反向更新是随机的,对于训练样本集合中的某一批语料样本(10000个语料样本)而言,可以将其中的4000条语料样本仅在语言模型中进行正向传播以及反向更新,其他的6000条语料样本在完整的语言任务模型中进行正向传播与反向更新,以交替训练采样概率对当前迭代所使用的语料样本进行采样处理,确定基于当前迭代所使用的语料样本来进行训练的模型的过程可以实施如下,可以设定采样概率为0.3,可以设定采样概率是针对预训练任务的采样概率,即对于任意一个语料样本生成一个0-1之间的随机数,若生成的随机数小于或者等于0.3,则该语料样本仅在语言模型中进行正向传播以及反向更新,若生成的随机数大于0.3,则该语料样本在完整的语言任务模型中进行正向传播与反向更新,即针对于某一批次的每个语料样本生成一个随机数,当生成的随机数小于或者等于对应预训练任务的采样概率时,确定该语料样本仅在语言模型中进行正向传播以及反向更新,否则,该语料样本在完整的语言任务模型中进行正向传播与反向更新。
在步骤1043中,基于每个语料样本执行以下处理:将语料样本在语言模型和任务模型中进行正向传播与反向传播,并在反向传播的过程中基于语言模型学习率更新语言模型和任务模型的参数;或者将语料样本在语言模型中进行正向传播与反向传播,并在反向传播的过程中基于语言模型学习率更新语言模型的参数。
在一些实施例中,步骤1043中将语料样本在语言模型和任务模型中进行正向传播与反向传播,并在反向传播的过程中基于语言模型学习率更新语言模型和任务模型的参数,可以通过以下技术方案实现,通过语言模型对语料样本进行特征提取处理,并通过任务模型基于所提取出的特征对语料样本进行分类处理,得到对应语料样本的预测类别;确定语料样本的预测类别和预标记的真实类别之间的误差,并将误差代入语言任务模型损失函数,以在语言模型和任务模型中进行反向传播,以基于语言模型学习率确定语言任务模型损失函数取得最小值时语言模型和任务模型的参数变化值,并基于参数变化值更新语言模型和任务模型的参数。
在一些实施例中,通过语言模型对语料样本进行特征提取处理的过程可以参照上文实施方式,通过语言模型的各特征提取层,分别提取表征语料样本的不同维度的子语义特征;结合对应各特征提取层中的权重,对各特征提取层所提取的子语义特征进行加权处理,得到用于对语料样本进行分类的语义特征。
这里可以综合使用语言模型所有层的隐状态表示,发明人发现语言模型的不同层其实学习到了不同级别的知识,因此,不应该仅仅使用语言模型的最后一层的输出作为任务模型的词嵌入,而应该使用每一层的输出,且为每一层设置一个可学习的权重,最后得到的词嵌入是每一层输出的加权和。
在一些实施例中,步骤1043中将语料样本在语言模型中进行正向传播与反向传播,并在反向传播的过程中基于语言模型学习率更新语言模型的参数,可以通过以下技术方案实现,通过语言任务模型中的语言模型,对语料样本进行分类处理,得到对应语料样本的预测类别;确定语料样本的预标记的真实类别和预测类别之间的误差,并将误差代入语言模型损失函数,以在语言模型中进行反向传播,以基于语言模型学习率确定语言模型损失函数取得最小值时语言模型的参数变化值,并基于参数变化值更新语言模型的参数。
在一些实施例中,语言模型包括多个特征提取层,各个特征提取层的语言模型学习率按照与输出侧的距离呈降序排列;上述方案中基于语言模型学习率确定语言任务模型损失函数取得最小值时语言模型和任务模型的参数变化值,并基于参数变化值更新语言模型和任务模型的参数,可以通过以下技术方案实现,确定任务模型的输出层的各个神经元的输出梯度项、任务模型中的隐藏层的各个神经元的隐藏梯度项、以及语言模型中各个特征提取层的各个神经元的特征层梯度项;将任务模型学习率分别与输出梯度项和隐藏梯度项相乘,得到任务模型的参数变化值;将各个特征提取层的语言模型学习率分别与各个特征提取层的特征层梯度项对应相乘,得到语言模型的参数变化值;将任务模型的参数变化值与任务模型的参数相加,得到语言任务模型损失函数取得最小值时任务模型的参数;将语言模型的参数变化值与语言模型的参数相加,得到语言任务模型损失函数取得最小值时语言模型的参数,这里任务模型中参数的更新与前文中所说明的实施方式一致。各个特征提取层的语言模型学习率按照与输出侧的距离呈降序排列,即表征特征提取层的语言模型学习率与该特征提取层与输出侧的距离成负相关,这两个参数的相对变化趋势相反,且相对变化可以是线性或非线性的,这里为语言任务模型中的不同层设置了不同的学习率,针对于语言任务模型中的语言模型而言,语言模型中各个特征提取层的学习率与该层距离输出侧的距离成负相关,针对于语言任务模型中的任务模型而言,任务模型中的任务层的学习率可以为任务模型学习率,在其他的实施方式中,也可以将语言模型学习率作为任务模型中任务层的学习率,这里可以将分别对应多个特征提取层的多个语言模型学习率中最大的语言模型学习率作为任务层的学习率,在其他的实施方式中,还可以对语言模型中各特征提取层设置相同的语言模型学习率,将该语言模型学习率作为任务模型中任务层的学习率。这里,学习率随语言模型的层的深度递减,发明人发现语言模型每一层蕴含的知识的级别不同,越低的层往往蕴含越低级的信息(比如通用的语法知识),更高的层学到的知识通常和具体语言任务相关,为了保护低级信息不被大幅改动,给每个层赋予了不同的学习率,低层的学习率较低,高层的学习率较高,学习率与模型层深度呈线性或指数递减关系。
在一些实施例中,语言模型包括多个特征提取层,各个特征提取层的语言模型学习率按照与输出侧的距离呈降序排列;上述方案中基于语言模型学习率确定语言模型损失函数取得最小值时语言模型的参数变化值,并基于参数变化值更新语言模型的参数,可以通过以下技术方案实现,确定语言模型中各个特征提取层的各个神经元的特征层梯度项;将各个特征提取层的语言模型学习率分别与各个特征提取层的特征层梯度项对应相乘,得到语言模型的参数变化值;将语言模型的参数变化值与语言任务模型中的语言模型的参数相加,得到语言任务模型损失函数取得最小值时语言模型的参数。
这里,学习率随语言模型的层的深度递减,发明人发现语言模型每一层蕴含的知识的级别不同,越低的层往往蕴含越低级的信息(比如通用的语法知识),更高的层学到的知识通常和具体语言任务相关,为了保护低级信息不被大幅改动,给每个层赋予了不同的学习率,低层的学习率较低,高层的学习率较高,学习率与模型层深度呈线性或指数递减关系。
在一些实施例中,将语料样本、真实类别以及预测类别均代入到语言模型损失函数中,预测类别是语言模型的输出,可以将语言模型分为输入层、特征提取层(假设两个特征提取层),基于梯度下降的策略,以损失函数的负梯度方向对参数进行调整,若输入层有d个神经元,第一个特征提取层有q个神经元,第二个特征提取层有l个神经元,则从输入层到第一个特征提取层有d*q个权值参数,从第一个特征提取层到第二个特征提取层有q*l个权值参数,只要上述参数取合适的值就可以使损失函数E达到最小,更新参数只需按照梯度下降方向进行更新即可找到局部最优的权值,某点的梯度就是某点的一阶偏导,因此对参数求偏导即可,参数的变化值即为负梯度与学习率的乘积,从第一个特征提取层到第二个特征提取层的权值参数先影响到第二个特征提取层神经元的输入值,再影响到第二个特征提取层的输出值,然后影响到损失函数的值,进而根据链式法则可以求得从第一个特征提取层到第二个特征提取层的权值参数的变化值,同理求得从输入层到第一个特征提取层的权值参数的变化值,这里的第二个特征提取层的各个神经元的输出梯度项是损失函数在第二个特征提取层神经元的输出上的梯度、第二个特征提取层神经元的输出在第二个特征提取层神经元的输入上的梯度与第二个特征提取层神经元的输入在从第一个特征提取层到第二个特征提取层的权值参数上的梯度相乘所得,同理可以得到第一个特征提取层的各个神经元的梯度项。
在一些实施例中,这里的权值参数不仅可以是该层与上一层之间的权值参数,还可以表征该层的神经元阈值,当权值参数表征该层的神经元阈值时,这里的第二个特征提取层的各个神经元的输出梯度项是损失函数在第二个特征提取层神经元的输出上的梯度、第二个特征提取层神经元的输出在第二个特征提取层神经元的输入上的梯度相乘所得,同理可以得到第一个特征提取层层的各个神经元的隐藏梯度项。
在一些实施例中,上述步骤1043中将语料样本在语言模型中进行正向传播和反向传播的过程以及将语料样本在语言模型和任务模型中进行正向传播和反向传播的过程中均涉及到对语言模型的参数更新,这里参数更新过程除了涉及到上文所述的为不同特征提取层设置不同的学习率之外,同样也涉及到分层训练的实施方式,可以参考步骤101的具体实施方式,即可以对语言模型各层进行逐渐解冻更新,在对语言模型进行分层训练之前同样需要将语言模型进行划分处理,从而根据划分结果进行分层训练以进一步保护语言模型在预训练时所学习到的低级通用知识,假设语言模型有n层,可以将这n层语言模型划分为m(1,…,m)个子语言模型,其中,子语言模型1为与任务模型最近的子语言模型,子语言模型分别具有k1,…,km层,在第一次进行参数更新时,仅更新子语言模型1中的k1层参数,在第二次进行参数更新时,仅更新子语言模型1和2中的(k1+k2)层参数,以此类推直至所有的子语言模型均参与了足够迭代次数的参数更新,这里的足够迭代次数可以为迭代次数阈值,对于不同层次的训练可以设置不同的迭代次数阈值,例如第一次进行参数更新时,需要迭代500次,在第二次进行参数更新时,需要迭代600次。
通过上述实施方式可以进一步保护语言模型在预训练时学习到的低级通用知识,以免在大量迭代训练过程中靠近输入侧的特征提取层所学习到的低级知识被遗忘。
下面,将说明本发明实施例提供的基于人工智能的语言任务模型训练方法在一个推荐场景中的示例性应用。
在针对召回的候选推荐信息的推荐场景中,用户客户端向服务器发送候选推荐信息获取请求,服务器从数据库中召回多个候选推荐信息,但是候选推荐信息中存在不合规的候选推荐信息,例如包含敏感词或者其他不符合相关法规的信息,这里服务器会通过本发明实施例提供的语言任务模型对召回的候选推荐信息进行分类,将召回的候选推荐信息分为合规的候选推荐信息和违规的候选推荐信息,将合规的候选推荐信息作为经过筛选的候选推荐信息返回至用户,使客户端呈现合规的候选推荐信息。
首先介绍推荐场景中所使用的语言任务模型的训练阶段,参见图4B,图4B是本发明实施例提供的基于人工智能的语言任务模型训练方法的实际应用流程图,服务器200中包括预训练模块2551、任务模型训练模块2552、语言任务模型训练模块2553以及语言任务模型应用模块2555,服务器200中的训练样本生成模块2554从客户端获取语料样本,形成训练样本集合以及预训练样本集合,预训练模块2551从预训练样本集合中提取语料样本、任务模型训练模块2552、语言任务模型训练模块2553从训练样本集合中提取语料样本,分别基于所提取的语料样本进行预训练,任务模型训练以及语言任务模型训练,通过预训练得到经过粗调的语言模型,并传递到任务模型训练模块,由任务模型训练模块2552基于语料样本对任务模型进行更新,并将更新得到的任务模型传递到语言任务模型训练模块2553,由语言任务模型训练模块2553基于语料样本对任务模型和语言模型进行训练,得到语言任务模型,并传递至语言任务模型应用模块2555。
本发明实施例提供的基于人工智能的语言任务模型训练方法中的整体模型(语言任务模型)是由语言模型和任务模型组成的,语言模型可以是经由大规模普适性训练数据样本训练得到的通用语言模型,例如BERT模型,这里在对由语言模型和任务模型组成的整体模型(语言任务模型)进行训练之前,会先进行语言模型的预训练,这里的预训练不同于之前所进行的普适性预训练,其所使用的训练样本是和特定自然语言处理任务(语言任务)相关的训练样本,其所使用的数据规模可以是与之前普适性预训练所使用的训练样本的数据规模相当的,或者是比之前普适性预训练所使用的训练样本的数据规模小1-2个数量级,这个过程可以被称为语言模型的粗调,由于语言模型预训练时用到的数据量远远高于微调具体任务时的数据量,所以如果直接对语言模型进行微调,语言模型会忘记它在预训练时学习到的知识,因此先让语言模型在与目标语言任务相关的大规模语料样本上进行预训练,这里的大规模语料样本的数目可以超过预训练样本数目阈值,这一过程可以认为是让语言模型预先适应目标语言任务的领域,然后再在目标语言任务上进行微调。
在对语言模型进行粗调时,可以对语言模型各层进行逐渐解冻,为了进一步保护语言模型在预训练时所学习到的低级通用知识,假设语言模型有12层,在训练的前一定数目的迭代次数中,例如前500次迭代中,可以只更新距离模型输出侧最近的三层,其它层的参数固定,即“冻住”其余九层的参数,然后随着训练的进行,逐渐的“解冻”更深的层,例如在前501次迭代-前1000次迭代的过程中,只更新距离模型输出侧最近的六层,其它层的参数固定,相比于前500次迭代的过程,解冻了另外三层的参数,只固定其余六层的参数,直至语言模型的12层全部更新完毕。
接下来对由语言模型和任务模型组合成的语言任务模型进行训练,这里所采取的训练方式是将语言模型的训练和任务模型的训练分开进行,即先保持语言模型的参数不变,仅训练任务模型,由于任务模型的最优学习率和语言模型的最优学习率通常相差两三个数量级,所以可以先固定住语言模型的参数使其不更新,只训练任务模型(语言任务模型中的任务层),在只训练任务模型的训练过程中,可以综合使用语言模型所有层的隐状态表示,发明人发现语言模型的不同层其实学习到了不同级别的知识,因此,不应该仅仅使用语言模型的最后一层的输出作为任务模型的词嵌入,而应该使用每一层的输出,且为每一层设置一个可学习的权重参数,最后得到的词嵌入是每一层输出的加权和。
当任务模型被训练至接近或者训练至收敛时,再将任务模型和语言模型一起训练,具体的,在将任务模型和语言模型一起训练时,有一部分语料样本会仅在语言模型中进行正向传播以及反向参数更新,这一部分训练数据实际上仍在对语言模型进行预训练,还有一部分语料样本会在由语言模型和任务模型组成的语言任务模型中正向传播以及反向参数更新,上述过程实际上是对预训练任务和目标语言任务的交替训练,即不仅仅使用目标语言任务的损失函数(语言任务模型损失函数)计算梯度,也会穿插地使用预训练任务的损失函数(语言模型损失函数)计算梯度,以防止语言模型忘记其在预训练时所学习到的知识,在共同训练的过程中,语言模型的学习率随模型层的深度递减,考虑到语言模型每一层蕴含的知识的级别不同,越低的层往往蕴含越低级的信息(比如通用的语法知识),更高的层学到的知识通常和具体任务比较相关,为了保护低级信息不被大幅改动,给每个层赋予了不同的学习率,低层的学习率较低(靠近输入侧的层为低层),高层的学习率较高(靠近任务模型的层为高层),学习率与模型层深度呈线性或指数递减关系。
在共同训练时语言模型的输出也不仅仅使用语言模型的最后一层的输出,而是使用每一层的输出且为每一层设置一个可学习的权重参数,最后是每一层输出的加权和作为语言模型的输出,并且,在共同训练时语言模型的参数更新也可以是通过逐层解冻的方式进行参数更新,即在共同训练的前一定数目的迭代次数中,例如前500次迭代中,可以只更新距离语言模型中距离输出侧最近的三层,其它层的参数固定,即“冻住”下面九层的参数,然后随着训练的进行,逐渐的“解冻”更深的层,例如在前501次迭代至前1000次迭代的过程中,只更新距离语言模型中距离输出侧最近的六层,其它层的参数固定,相比于前500次迭代的过程,解冻了另外三层的参数,只固定其余六层的参数,直至语言模型的12层全部更新完毕,这里的迭代次数500可以是语料样本仅经过语言模型的正向传播和反向传播所计次数与经过语言模型和任务模型的正向传播和反向传播所计次数的次数和,为了控制语言模型靠近输入侧的层的参数不被改动太多,也可以进行参数正则化处理。
经过各种测试,本发明实施例提供的基于人工智能的语言任务模型训练方法,在阅读理解任务、文本分类任务和句对分类任务上均获得效果提升,而且在语言模型的微调任务上具有适用性。
接下来介绍语言任务模型的应用阶段,参见图4B,在推荐场景下,服务器200接收到客户端发送的候选推荐信息获取请求,服务器200中的语言任务模型应用模块2555从数据库中召回对应候选推荐信息获取请求的候选推荐信息,并对召回的候选推荐信息进行内容取向分类,即区分候选推荐信息是否具备敏感词,是否涉及到违规信息,通过进行内容取向分类,将召回的候选推荐信息分为合规的候选推荐信息和违规的候选推荐信息,将合规的候选推荐信息作为经过筛选的候选推荐信息返回至用户,使客户端呈现合规的候选推荐信息。
下面继续说明本发明实施例提供的基于人工智能的语言任务模型训练装置255的实施为软件模块的示例性结构,在一些实施例中,如图5所示,存储在存储器250的基于人工智能的语言任务模型训练装置255中的软件模块可以包括:预训练模块2551,用于基于预训练样本集合中对应语言任务的语料样本,在语言模型中进行分层预训练;任务模型训练模块2552,用于将训练样本集合中对应语言任务的语料样本,在语言任务模型中进行正向传播;固定语言模型的参数,在语言任务模型中进行反向传播,以更新任务模型的参数;语言任务模型训练模块2553,用于当语言任务模型满足收敛条件时,将训练样本集合中对应语言任务的语料样本,在语言任务模型中进行正向传播和反向传播,以更新语言模型和任务模型的参数。
在一些实施例中,装置255还包括:训练样本生成模块2554,用于:对语言任务的预标记的语料样本执行以下处理中的任意一种:从语料样本中随机抽取至少一个待替换词,并从同义词词典中随机抽取对应至少一个待替换词的同义词,以进行替换处理;从语料样本中随机抽取一个待替换词,并从同义词词典中随机抽取对应待替换词的同义词,以插入到语料样本中的任意位置;从语料样本中随机选择两个待交换词,并交换两个待交换词的位置;对语料样本中的每个词执行随机删除处理;将语料样本以及经过处理得到的语料样本,组合为训练样本集合;从训练样本集合中采样多个语料样本,以组成预训练样本集合;其中,预训练样本集合中语料样本的数目超过预训练样本数目阈值。
在一些实施例中,预训练模块2551,还用于:初始化语言模型,并初始化包括语料样本以及对应语料样本的预测类别的语言模型损失函数;对语言模型进行划分处理,得到多个子语言模型;其中,多个子语言模型中的每个子语言模型包括至少一个特征提取层;基于预训练样本集合,对多个子语言模型进行分层预训练。
在一些实施例中,预训练模块2551,还用于:对语言模型进行第k层次训练,以更新语言模型中与输出侧距离最近的k个子语言模型,且在更新过程中固定语言模型中其他子语言模型的参数不变;其中,k为大于或者等于2的整数,其他子语言模型为语言模型中除了与输出侧距离最近的k个子语言模型之外的子语言模型;当第k层次训练的迭代次数达到对应的迭代次数阈值时,继续对语言模型进行第k+1层次训练,以更新语言模型中与输出侧距离最近的k+1个子语言模型,且在更新过程中固定语言模型中其他子语言模型的参数不变;当语言模型中的每个子语言模型均被更新过,且参与迭代次数最少的子语言模型所经历的迭代次数达到对应的迭代次数阈值时,确定多个子语言模型分层预训练完成。
在一些实施例中,预训练模块2551,还用于:在语言模型的第k+1层次训练中每次迭代训练过程中执行以下处理:通过语言模型,对预训练样本集合包括的语料样本进行分类处理,得到对应语料样本的预测类别;确定语料样本的预测类别和预标记的真实类别之间的误差,并将误差代入语言模型损失函数,以在语言模型中进行反向传播,以确定当语言模型损失函数取得最小值时,对应语言模型中与输出侧距离最近的k+1个子语言模型的参数变化值;根据所确定的参数变化值更新语言模型中与输出侧距离最近的k+1个子语言模型。
在一些实施例中,任务模型训练模块2552,还用于:初始化语言任务模型,并执行以下处理:将每个语料样本在语言任务模型的各个层中进行正向传播,以对训练样本集合包括的语料样本进行分类处理,得到对应语料样本的预测类别;初始化包括语料样本以及对应语料样本的预测类别的语言任务模型损失函数;固定语言模型的参数,并执行以下处理:确定语料样本的预测类别和预标记的真实类别之间的误差,并将误差代入语言任务模型损失函数,以在语言任务模型中进行反向传播,以基于任务模型学习率确定语言任务模型损失函数取得最小值时任务模型的参数变化值,并基于参数变化值更新任务模型的参数。
在一些实施例中,任务模型训练模块2552,还用于:通过语言模型的各特征提取层,分别提取表征语料样本的不同维度的子语义特征;结合对应各特征提取层中的权重,对各特征提取层所提取的子语义特征进行加权处理,得到用于对语料样本进行分类的语义特征;通过任务模型的卷积层,对语义特征进行任务语义提取处理,得到对应语言任务的任务语义特征;结合对应语料样本的任务语义特征对语料样本进行分类处理,得到语料样本分别属于不同类别的概率,并将最大概率所对应的类别确定为语料样本的预测类别。
在一些实施例中,任务模型训练模块2552,还用于:确定语言任务模型的输出层的各个神经元的输出梯度项以及任务模型中隐藏层的各个神经元的隐藏梯度项;将任务模型学习率分别与输出梯度项和隐藏梯度项相乘,得到任务模型的参数的变化值;将变化值与任务模型的参数相加,将相加的结果作为任务模型的更新的参数。
在一些实施例中,语言任务模型训练模块2553,还用于:将以任务模型学习率对语言任务模型进行训练得到的任务模型,确定为任务模型的初始化模型,并将经过预训练得到的语言模型确定为语言模型的初始化模型;初始化包括语料样本以及对应语料样本的预测类别的语言任务模型损失函数,并初始化包括语料样本以及对应语料样本的预测类别的语言模型损失函数;基于每个语料样本执行以下处理:将语料样本在语言模型和任务模型中进行正向传播与反向传播;或者将语料样本在语言模型中进行正向传播与反向传播。
在一些实施例中,语言任务模型训练模块2553,还用于:以交替训练采样概率对当前迭代所使用的语料样本进行采样处理,确定基于当前迭代所使用的语料样本来进行训练的模型;当确定基于当前迭代所使用的语料样本所进行训练的模型为语言模型时,确定将语料样本在语言模型中进行正向传播与反向传播;当确定基于当前迭代所使用的语料样本所进行训练的模型为语言任务模型时,确定将语料样本在语言模型和任务模型中进行正向传播与反向传播。
在一些实施例中,语言任务模型训练模块2553,还用于:通过语言模型对语料样本进行特征提取处理,并通过任务模型基于所提取出的特征对语料样本进行分类处理,得到对应语料样本的预测类别;确定语料样本的预测类别和预标记的真实类别之间的误差,并将误差代入语言任务模型损失函数,以在语言模型和任务模型中进行反向传播,以基于语言模型学习率确定语言任务模型损失函数取得最小值时语言模型和任务模型的参数变化值,并基于参数变化值更新语言模型和任务模型的参数;通过语言任务模型中的语言模型,对语料样本进行分类处理,得到对应语料样本的预测类别;确定语料样本的预标记的真实类别和预测类别之间的误差,并将误差代入语言模型损失函数,以在语言模型中进行反向传播,以基于语言模型学习率确定语言模型损失函数取得最小值时语言模型的参数变化值,并基于参数变化值更新语言模型的参数。
在一些实施例中,语言模型包括多个特征提取层,各个特征提取层的语言模型学习率按照与输出侧的距离呈降序排列;语言任务模型训练模块2553,还用于:确定任务模型的输出层的各个神经元的输出梯度项、任务模型中的隐藏层的各个神经元的隐藏梯度项、以及语言模型中各个特征提取层的各个神经元的特征层梯度项;将任务模型学习率分别与输出梯度项和隐藏梯度项相乘,得到任务模型的参数变化值;将各个特征提取层的语言模型学习率分别与各个特征提取层的特征层梯度项对应相乘,得到语言模型的参数变化值;将任务模型的参数变化值与任务模型的参数相加,得到语言任务模型损失函数取得最小值时任务模型的参数;将语言模型的参数变化值与语言模型的参数相加,得到语言任务模型损失函数取得最小值时语言模型的参数;确定语言模型中各个特征提取层的各个神经元的特征层梯度项;将各个特征提取层的语言模型学习率分别与各个特征提取层的特征层梯度项对应相乘,得到语言模型的参数变化值;将语言模型的参数变化值与语言任务模型中的语言模型的参数相加,得到语言任务模型损失函数取得最小值时语言模型的参数。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的基于人工智能的语言任务模型训练方法,例如,如图6A-6D示出的基于人工智能的语言任务模型训练方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本发明实施例提供的基于人工智能的语言任务模型训练方法,为任务模型与语言模型设置不同的学习率,从而保证任务模型中的层与语言模型中的层均按照对应合适的学习率进行训练到位,通过将对应语言任务的语料样本在语言模型上进行分层预训练,从而使得通用知识可以有效地被迁移到语言任务上。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (14)
1.一种基于人工智能的语言任务模型训练方法,其特征在于,
所述语言任务模型包括语言模型和任务模型;
所述方法包括:
基于预训练样本集合中对应语言任务的语料样本,在所述语言模型中进行分层预训练;
将训练样本集合中对应所述语言任务的每个语料样本在所述语言任务模型的各个层中进行正向传播,以对所述每个语料样本进行分类处理,得到对应所述每个语料样本的预测类别;
固定所述语言模型的参数,确定所述每个语料样本的预测类别和预标记的真实类别之间的误差,并将所述误差代入语言任务模型损失函数,以在所述语言任务模型中进行反向传播,以
基于任务模型学习率确定所述语言任务模型损失函数取得最小值时所述任务模型的参数变化值,并基于所述参数变化值更新所述任务模型的参数;
将所述训练样本集合中对应所述语言任务的语料样本,在所述语言任务模型中进行正向传播和反向传播,以更新所述语言模型和所述任务模型的参数。
2.根据权利要求1所述的方法,其特征在于,在基于预训练样本集合中对应语言任务的语料样本,在所述语言模型中进行分层预训练之前,所述方法还包括:
对所述语言任务的预标记的语料样本执行以下处理中的任意一种:
从所述语料样本中随机抽取至少一个待替换词,并从同义词词典中随机抽取对应所述至少一个待替换词的同义词,以进行替换处理;
从所述语料样本中随机抽取一个待替换词,并从所述同义词词典中随机抽取对应所述待替换词的同义词,以插入到所述语料样本中的任意位置;
从所述语料样本中随机选择两个待交换词,并交换两个所述待交换词的位置;
对所述语料样本中的每个词执行随机删除处理;
将所述语料样本以及经过处理得到的语料样本,组合为训练样本集合;
从所述训练样本集合中采样多个语料样本,以组成预训练样本集合;
其中,所述预训练样本集合中语料样本的数目超过预训练样本数目阈值。
3.根据权利要求1所述的方法,其特征在于,所述基于预训练样本集合中对应语言任务的语料样本,在所述语言模型中进行分层预训练,包括:
初始化所述语言模型,并初始化包括所述语料样本以及对应所述语料样本的预测类别的语言模型损失函数;
对所述语言模型进行划分处理,得到多个子语言模型;
其中,多个所述子语言模型中的每个子语言模型包括至少一个特征提取层;
基于所述预训练样本集合,对多个所述子语言模型进行分层预训练。
4.根据权利要求3所述的方法,其特征在于,所述对多个所述子语言模型进行分层预训练,包括:
对所述语言模型进行第k层次训练,以更新所述语言模型中与输出侧距离最近的k个子语言模型,且在更新过程中固定所述语言模型中其他子语言模型的参数不变;
其中,k为大于或者等于2的整数,所述其他子语言模型为所述语言模型中除了与输出侧距离最近的k个子语言模型之外的子语言模型;
当第k层次训练的迭代次数达到对应的迭代次数阈值时,继续对所述语言模型进行第k+1层次训练,以更新所述语言模型中与输出侧距离最近的k+1个子语言模型,且在更新过程中固定所述语言模型中其他子语言模型的参数不变;
当所述语言模型中的每个子语言模型均被更新过,且参与迭代次数最少的子语言模型所经历的迭代次数达到对应的迭代次数阈值时,确定多个所述子语言模型分层预训练完成。
5.根据权利要求4所述的方法,其特征在于,所述对所述语言模型进行第k+1层次训练,以更新所述语言模型中与输出侧距离最近的k+1个子语言模型,包括:
在所述语言模型的第k+1层次训练中每次迭代训练过程中执行以下处理:
通过所述语言模型,对所述预训练样本集合包括的语料样本进行分类处理,得到对应所述语料样本的预测类别;
确定所述语料样本的所述预测类别和预标记的真实类别之间的误差,并将所述误差代入所述语言模型损失函数,以在所述语言模型中进行反向传播,以确定当所述语言模型损失函数取得最小值时,对应所述语言模型中与输出侧距离最近的k+1个子语言模型的参数变化值;
根据所确定的参数变化值更新所述语言模型中与输出侧距离最近的k+1个子语言模型。
6.根据权利要求1所述的方法,其特征在于,所述将训练样本集合中对应所述语言任务的每个语料样本在所述语言任务模型的各个层中进行正向传播,以对所述每个语料样本进行分类处理,得到对应所述每个语料样本的预测类别,包括:
通过所述语言模型的各特征提取层,分别提取表征所述语料样本的不同维度的子语义特征;
结合对应各特征提取层中的权重,对所述各特征提取层所提取的子语义特征进行加权处理,得到用于对所述语料样本进行分类的语义特征;
通过所述任务模型的卷积层,对所述语义特征进行任务语义提取处理,得到对应所述语言任务的任务语义特征;
结合对应所述语料样本的任务语义特征对所述语料样本进行分类处理,得到所述语料样本分别属于不同类别的概率,并将最大概率所对应的类别确定为所述语料样本的预测类别。
7.根据权利要求1所述的方法,其特征在于,所述基于任务模型学习率确定所述语言任务模型损失函数取得最小值时所述任务模型的参数变化值,并基于所述参数变化值更新所述任务模型的参数,包括:
确定所述语言任务模型的输出层的各个神经元的输出梯度项以及所述任务模型中隐藏层的各个神经元的隐藏梯度项;
将所述任务模型学习率分别与所述输出梯度项和所述隐藏梯度项相乘,得到所述任务模型的参数的变化值;
将所述变化值与所述任务模型的参数相加,将相加的结果作为所述任务模型的更新的参数。
8.根据权利要求1所述的方法,其特征在于,
所述将所述训练样本集合中对应所述语言任务的语料样本,在所述语言任务模型中进行正向传播和反向传播,以更新所述语言模型和所述任务模型的参数,包括:
将以任务模型学习率对所述语言任务模型进行训练得到的任务模型,确定为任务模型的初始化模型,并将经过预训练得到的语言模型确定为所述语言模型的初始化模型;
初始化包括所述语料样本以及对应所述语料样本的预测类别的语言任务模型损失函数,并初始化包括所述语料样本以及对应所述语料样本的预测类别的语言模型损失函数;
基于每个语料样本执行以下处理:
将所述语料样本在所述语言模型和所述任务模型中进行正向传播与反向传播,以更新所述语言模型和所述任务模型的参数;或者
将所述语料样本在所述语言模型中进行正向传播与反向传播,以更新所述语言模型的参数。
9.根据权利要求8所述的方法,其特征在于,在基于每个语料样本执行处理之前,所述方法还包括:
以交替训练采样概率对当前迭代所使用的语料样本进行采样处理,确定基于当前迭代所使用的语料样本来进行训练的模型;
当确定基于当前迭代所使用的语料样本所进行训练的模型为语言模型时,确定将所述语料样本在所述语言模型中进行正向传播与反向传播;
当确定基于当前迭代所使用的语料样本所进行训练的模型为语言任务模型时,确定将所述语料样本在所述语言模型和所述任务模型中进行正向传播与反向传播。
10.根据权利要求8所述的方法,其特征在于,
所述将所述语料样本在所述语言模型和所述任务模型中进行正向传播与反向传播,以更新所述语言模型和所述任务模型的参数,包括:
通过所述语言模型对所述语料样本进行特征提取处理,并通过所述任务模型基于所提取出的特征对所述语料样本进行分类处理,得到对应所述语料样本的预测类别;
确定所述语料样本的预测类别和预标记的真实类别之间的误差,并将所述误差代入所述语言任务模型损失函数,以在所述语言模型和所述任务模型中进行反向传播,以
基于语言模型学习率确定所述语言任务模型损失函数取得最小值时所述语言模型和所述任务模型的参数变化值,并基于所述参数变化值更新所述语言模型和所述任务模型的参数;
所述将所述语料样本在所述语言模型中进行正向传播与反向传播,以更新所述语言模型的参数,包括:
通过所述语言任务模型中的语言模型,对所述语料样本进行分类处理,得到对应所述语料样本的预测类别;
确定所述语料样本的预标记的真实类别和所述预测类别之间的误差,并将所述误差代入所述语言模型损失函数,以在所述语言模型中进行反向传播,以
基于语言模型学习率确定所述语言模型损失函数取得最小值时所述语言模型的参数变化值,并基于所述参数变化值更新所述语言模型的参数。
11.根据权利要求10所述的方法,其特征在于,
所述语言模型包括多个特征提取层,各个所述特征提取层的语言模型学习率按照与输出侧的距离呈降序排列;
所述基于语言模型学习率确定所述语言任务模型损失函数取得最小值时所述语言模型和所述任务模型的参数变化值,并基于所述参数变化值更新所述语言模型和所述任务模型的参数,包括:
确定所述任务模型的输出层的各个神经元的输出梯度项、所述任务模型中的隐藏层的各个神经元的隐藏梯度项、以及所述语言模型中各个特征提取层的各个神经元的特征层梯度项;
将所述任务模型学习率分别与所述输出梯度项和所述隐藏梯度项相乘,得到所述任务模型的参数变化值;
将各个特征提取层的语言模型学习率分别与各个特征提取层的特征层梯度项对应相乘,得到所述语言模型的参数变化值;
将所述任务模型的参数变化值与所述任务模型的参数相加,得到所述语言任务模型损失函数取得最小值时所述任务模型的参数;
将所述语言模型的参数变化值与所述语言模型的参数相加,得到所述语言任务模型损失函数取得最小值时所述语言模型的参数;
所述基于语言模型学习率确定所述语言模型损失函数取得最小值时所述语言模型的参数变化值,并基于所述参数变化值更新所述语言模型的参数,包括:
确定所述语言模型中各个特征提取层的各个神经元的特征层梯度项;
将各个特征提取层的语言模型学习率分别与各个特征提取层的特征层梯度项对应相乘,得到所述语言模型的参数变化值;
将所述语言模型的参数变化值与所述语言任务模型中的语言模型的参数相加,得到所述语言任务模型损失函数取得最小值时所述语言模型的参数。
12.一种基于人工智能的语言任务模型训练装置,其特征在于,所述语言任务模型包括语言模型和任务模型;所述装置包括:
预训练模块,用于基于预训练样本集合中对应语言任务的语料样本,在所述语言模型中进行分层预训练;
任务模型训练模块,用于将训练样本集合中对应语言任务的每个语料样本在所述语言任务模型的各个层中进行正向传播,以对所述每个语料样本进行分类处理,得到对应所述每个语料样本的预测类别;
所述任务模型训练模块,还用于固定所述语言模型的参数,
确定所述每个语料样本的预测类别和预标记的真实类别之间的误差,并将所述误差代入语言任务模型损失函数,以在所述语言任务模型中进行反向传播,以
基于任务模型学习率确定所述语言任务模型损失函数取得最小值时所述任务模型的参数变化值,并基于所述参数变化值更新所述任务模型的参数;
语言任务模型训练模块,用于将所述训练样本集合中对应所述语言任务的语料样本,在所述语言任务模型中进行正向传播和反向传播,以更新所述语言模型和所述任务模型的参数。
13.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至11任一项所述的基于人工智能的语言任务模型训练方法。
14.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至11任一项所述的基于人工智能的语言任务模型训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010254956.XA CN111159416B (zh) | 2020-04-02 | 2020-04-02 | 语言任务模型训练方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010254956.XA CN111159416B (zh) | 2020-04-02 | 2020-04-02 | 语言任务模型训练方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159416A CN111159416A (zh) | 2020-05-15 |
CN111159416B true CN111159416B (zh) | 2020-07-17 |
Family
ID=70567735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010254956.XA Active CN111159416B (zh) | 2020-04-02 | 2020-04-02 | 语言任务模型训练方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159416B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611808B (zh) * | 2020-05-22 | 2023-08-01 | 北京百度网讯科技有限公司 | 用于生成自然语言模型的方法和装置 |
CN111753540B (zh) * | 2020-06-24 | 2023-04-07 | 云南电网有限责任公司信息中心 | 一种对于文本数据进行收集以进行自然语言处理nlp的方法及系统 |
CN116157790A (zh) * | 2020-06-25 | 2023-05-23 | 普莱恩公司 | 文档处理和响应生成系统 |
CN111539225B (zh) * | 2020-06-25 | 2023-07-21 | 北京百度网讯科技有限公司 | 语义理解框架结构的搜索方法和装置 |
CN111539226B (zh) * | 2020-06-25 | 2023-07-04 | 北京百度网讯科技有限公司 | 语义理解框架结构的搜索方法和装置 |
CN111737416B (zh) * | 2020-06-29 | 2022-08-19 | 重庆紫光华山智安科技有限公司 | 案件处理模型的训练方法、案件文本处理方法及相关装置 |
CN111930728B (zh) * | 2020-06-30 | 2023-11-24 | 广州洪森科技有限公司 | 一种设备的特征参数和故障率的预测方法及系统 |
CN111539227B (zh) | 2020-07-06 | 2020-12-18 | 北京百度网讯科技有限公司 | 训练语义表示模型的方法、装置、设备和计算机存储介质 |
CN111832282B (zh) * | 2020-07-16 | 2023-04-14 | 平安科技(深圳)有限公司 | 融合外部知识的bert模型的微调方法、装置及计算机设备 |
CN112328849B (zh) * | 2020-11-02 | 2024-05-07 | 腾讯科技(深圳)有限公司 | 用户画像的构建方法、基于用户画像的对话方法及装置 |
CN113569017B (zh) * | 2021-01-28 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 一种模型处理方法、装置、电子设备及存储介质 |
CN112818691A (zh) * | 2021-02-01 | 2021-05-18 | 北京金山数字娱乐科技有限公司 | 命名实体识别模型训练方法及装置 |
CN112801085A (zh) * | 2021-02-09 | 2021-05-14 | 沈阳麟龙科技股份有限公司 | 一种图像中文字的识别方法、装置、介质及电子设备 |
CN113011176A (zh) * | 2021-03-10 | 2021-06-22 | 云从科技集团股份有限公司 | 语言模型训练及其语言推理方法、装置及计算机存储介质 |
CN112862662A (zh) * | 2021-03-12 | 2021-05-28 | 云知声智能科技股份有限公司 | 一种分布式训练transformer-xl语言模型的方法和设备 |
CN113257361B (zh) * | 2021-05-31 | 2021-11-23 | 中国科学院深圳先进技术研究院 | 自适应蛋白质预测框架的实现方法、装置及设备 |
CN113420123A (zh) * | 2021-06-24 | 2021-09-21 | 中国科学院声学研究所 | 语言模型的训练方法、nlp任务处理方法及装置 |
CN113554168A (zh) * | 2021-06-29 | 2021-10-26 | 北京三快在线科技有限公司 | 模型训练、向量生成方法、装置、电子设备及存储介质 |
CN113470628B (zh) * | 2021-07-14 | 2024-05-31 | 青岛信芯微电子科技股份有限公司 | 一种语音识别方法及装置 |
CN113591498B (zh) * | 2021-08-03 | 2023-10-03 | 北京有竹居网络技术有限公司 | 翻译处理方法、装置、设备及介质 |
CN113723075B (zh) * | 2021-08-28 | 2023-04-07 | 重庆理工大学 | 融合词屏蔽数据增强与对抗学习的特定目标情感分析方法 |
CN113901171A (zh) * | 2021-09-06 | 2022-01-07 | 特赞(上海)信息科技有限公司 | 语义情感分析方法及装置 |
TWI800982B (zh) | 2021-11-16 | 2023-05-01 | 宏碁股份有限公司 | 文章標記資料的產生裝置及其產生方法 |
CN114239591B (zh) * | 2021-12-01 | 2023-08-18 | 马上消费金融股份有限公司 | 敏感词识别方法及装置 |
CN115168565B (zh) * | 2022-07-07 | 2023-01-24 | 北京数美时代科技有限公司 | 一种垂直领域语言模型冷启动方法、装置、设备及存储介质 |
CN117892799B (zh) * | 2024-03-15 | 2024-06-04 | 中国科学技术大学 | 以多层次任务为导向的金融智能分析模型训练方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776545A (zh) * | 2016-11-29 | 2017-05-31 | 西安交通大学 | 一种通过深度卷积神经网络进行短文本间相似度计算的方法 |
CN107621891A (zh) * | 2017-09-28 | 2018-01-23 | 北京新美互通科技有限公司 | 一种文本输入方法、装置及电子设备 |
CN108364028A (zh) * | 2018-03-06 | 2018-08-03 | 中国科学院信息工程研究所 | 一种基于深度学习的互联网网站自动分类方法 |
CN109325231A (zh) * | 2018-09-21 | 2019-02-12 | 中山大学 | 一种多任务模型生成词向量的方法 |
CN110209817A (zh) * | 2019-05-31 | 2019-09-06 | 安徽省泰岳祥升软件有限公司 | 文本处理模型的训练方法、装置和文本处理方法 |
CN110348008A (zh) * | 2019-06-17 | 2019-10-18 | 五邑大学 | 基于预训练模型和微调技术的医疗文本命名实体识别方法 |
CN110929030A (zh) * | 2019-11-07 | 2020-03-27 | 电子科技大学 | 一种文本摘要和情感分类联合训练方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017176749A1 (en) * | 2016-04-05 | 2017-10-12 | Thomson Reuters Global Resources Unlimited Company | Self-service classification system |
-
2020
- 2020-04-02 CN CN202010254956.XA patent/CN111159416B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776545A (zh) * | 2016-11-29 | 2017-05-31 | 西安交通大学 | 一种通过深度卷积神经网络进行短文本间相似度计算的方法 |
CN107621891A (zh) * | 2017-09-28 | 2018-01-23 | 北京新美互通科技有限公司 | 一种文本输入方法、装置及电子设备 |
CN108364028A (zh) * | 2018-03-06 | 2018-08-03 | 中国科学院信息工程研究所 | 一种基于深度学习的互联网网站自动分类方法 |
CN109325231A (zh) * | 2018-09-21 | 2019-02-12 | 中山大学 | 一种多任务模型生成词向量的方法 |
CN110209817A (zh) * | 2019-05-31 | 2019-09-06 | 安徽省泰岳祥升软件有限公司 | 文本处理模型的训练方法、装置和文本处理方法 |
CN110348008A (zh) * | 2019-06-17 | 2019-10-18 | 五邑大学 | 基于预训练模型和微调技术的医疗文本命名实体识别方法 |
CN110929030A (zh) * | 2019-11-07 | 2020-03-27 | 电子科技大学 | 一种文本摘要和情感分类联合训练方法 |
Non-Patent Citations (2)
Title |
---|
基于文本理解的自动问答算法的研究与实现;刘亚秋;《中国优秀硕士学位论文全文数据库信息科技辑》;20190815;第I138-1324页 * |
支持汽车维修自动问答的案例匹配方法研究;张强;《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》;20200115;第C035-908页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111159416A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111159416B (zh) | 语言任务模型训练方法、装置、电子设备及存储介质 | |
CN110188358B (zh) | 自然语言处理模型的训练方法及装置 | |
CN111078836B (zh) | 基于外部知识增强的机器阅读理解方法、系统、装置 | |
CN109657230B (zh) | 融合词向量和词性向量的命名实体识别方法及装置 | |
CN111914067B (zh) | 中文文本匹配方法及系统 | |
CN108846077B (zh) | 问答文本的语义匹配方法、装置、介质及电子设备 | |
CN109165380B (zh) | 一种神经网络模型训练方法及装置、文本标签确定方法及装置 | |
Cho | Natural language understanding with distributed representation | |
CN109840287A (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN110222163A (zh) | 一种融合cnn与双向lstm的智能问答方法及系统 | |
Nassiri et al. | Transformer models used for text-based question answering systems | |
CN114565104A (zh) | 语言模型的预训练方法、结果推荐方法及相关装置 | |
CN111898374B (zh) | 文本识别方法、装置、存储介质和电子设备 | |
CN112699216A (zh) | 端到端的语言模型预训练方法、系统、设备及存储介质 | |
Zhao et al. | ZYJ123@ DravidianLangTech-EACL2021: Offensive language identification based on XLM-RoBERTa with DPCNN | |
CN108763535A (zh) | 信息获取方法及装置 | |
CN113761868B (zh) | 文本处理方法、装置、电子设备及可读存储介质 | |
CN111738002A (zh) | 基于Lattice LSTM的古文领域命名实体识别方法和系统 | |
Bokka et al. | Deep Learning for Natural Language Processing: Solve your natural language processing problems with smart deep neural networks | |
CN113239169A (zh) | 基于人工智能的回答生成方法、装置、设备及存储介质 | |
US20230306959A1 (en) | Audio processing method and apparatus based on artificial intelligence, electronic device, computer program product, and computer-readable storage medium | |
CN116049387A (zh) | 一种基于图卷积的短文本分类方法、装置、介质 | |
CN114528835A (zh) | 基于区间判别的半监督专业术语抽取方法、介质及设备 | |
CN117453898B (zh) | 基于思维链的跨模态问答的处理方法和装置 | |
CN114239599A (zh) | 一种机器阅读理解的实现方法、系统、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |