CN110188358B - 自然语言处理模型的训练方法及装置 - Google Patents

自然语言处理模型的训练方法及装置 Download PDF

Info

Publication number
CN110188358B
CN110188358B CN201910471393.7A CN201910471393A CN110188358B CN 110188358 B CN110188358 B CN 110188358B CN 201910471393 A CN201910471393 A CN 201910471393A CN 110188358 B CN110188358 B CN 110188358B
Authority
CN
China
Prior art keywords
task
natural language
language processing
loss value
calculating
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
Application number
CN201910471393.7A
Other languages
English (en)
Other versions
CN110188358A (zh
Inventor
李健铨
刘小康
马力群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dinfo Beijing Science Development Co ltd
Original Assignee
Dingfu Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dingfu Intelligent Technology Co ltd filed Critical Dingfu Intelligent Technology Co ltd
Priority to CN201910471393.7A priority Critical patent/CN110188358B/zh
Publication of CN110188358A publication Critical patent/CN110188358A/zh
Application granted granted Critical
Publication of CN110188358B publication Critical patent/CN110188358B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

本申请公开了自然语言处理模型的训练方法及装置,应用于多个具有不同任务目标的自然语言处理模型,多个自然语言处理模型共享部分隐层,所述方法首先将所有任务相应训练样本的标签信息融合并表示为多标签矩阵,根据模型输出的任务目标向量和多标签矩阵计算命中概率,并根据命中概率计算单任务损失值;再根据各个单任务损失值计算多任务损失值;最后根据多任务损失值,调整每一模型的参数。本申请方法中,多个自然语言处理模型联合学习,通过共享部分隐层来共享多个任务的浅层特征表示,梯度同时反向传播帮助隐层逃离局部极小值,多个标签的融合及其向量表示帮助增加标签的表达泛化能力和表示能力,进而可以提高每个模型的准确性和泛化性。

Description

自然语言处理模型的训练方法及装置
技术领域
本申请涉及自然语言处理技术领域,尤其涉及一种自然语言处理模型的训练方法及装置。
背景技术
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向,它研究如何使计算机既能理解自然语言文本的意义,又能通过自然语言文本来表达给定的意图、思想等,前者称为自然语言理解,后者称为自然语言生成。
无论是自然语言理解,还是自然语言生成,其任务诸多,大体可按照任务类型分为词法分析,句子分析,语义分析,信息抽取,高层任务等。其中,由于所有自然语言都具有词法、句法特征,因此对于词法分析,句子分析等任务,无需限定句子领域,故可称为基础任务。而如文本分类、机器翻译、文本摘要、问答系统、对话系统、阅读理解等任务,为直接面向普通用户提供自然语言处理产品服务的系统级任务,并且涉及多个层面的自然语言处理技术,故为高层任务。
基础任务亦或是高层任务的目标一般均通过一个基于机器学习的自然语言处理模型实现。模型的输入为自然语言文本数据,模型的输出则为任务目标。利用任务目标相应的大规模标注语料对模型进行训练并朝着训练目标不断优化,即可得到一个可对未知文本处理进而实现上述功能的优化模型。
通常,机器学习为解决一个单一问题而针对单一任务目标进行,即单任务训练。然而,不同任务模型的数据集差异巨大,因此任务模型只能在本数据集上获得较好的效果,而对于非本数据集的数据,任务模型需遭受一定的泛化性损失。另外,由于训练时只注重前述单一任务目标,而不同文本之间天生具有隐式共性,因此会造成一定的信息丢失。因此,如何提高任务模型的准确性和泛化性,是亟待解决的技术问题。
发明内容
本申请提供了自然语言处理模型的训练方法及装置,以提高任务模型的准确性和泛化性。
第一方面,本申请提供了一种自然语言处理模型的训练方法,应用于多个具有不同任务目标的自然语言处理模型,所述多个自然语言处理模型共享部分隐层;该方法包括:
对于每一任务目标,将相应训练样本输入至相应自然语言处理模型中,输出任务目标向量;
根据所述任务目标向量和多标签矩阵计算命中概率,所述多标签矩阵包括所有任务目标相应训练样本的标签信息;
根据所述命中概率计算单任务损失值,根据各自然语言处理模型对应的单任务损失值计算多任务损失值;
根据所述多任务损失值,调整每一自然语言处理模型的参数。
第二方面,本申请提供了一种自然语言处理模型的训练装置,应用于多个具有不同任务目标的自然语言处理模型,所述多个自然语言处理模型共享部分隐层;所述装置包括:
输入单元,用于对于每一任务目标,将相应训练样本输入至相应自然语言处理模型中,输出任务目标向量;
概率计算单元,用于根据所述任务目标向量和多标签矩阵计算命中概率,所述多标签矩阵包括所有任务目标相应训练样本的标签信息;
损失计算单元,用于根据所述命中概率计算单任务损失值,根据各自然语言处理模型对应的单任务损失值计算多任务损失值;
参数调整单元,用于根据所述多任务损失值,调整每一自然语言处理模型的参数。
由以上技术方案可知,本实施例提供的自然语言处理模型的训练方法及装置,应用于多个具有不同任务目标的自然语言处理模型,所述多个自然语言处理模型共享部分隐层,所述方法中,首先将所有任务相应训练样本的标签信息融合并表示为多标签矩阵,根据模型输出的任务目标向量和多标签矩阵计算命中概率,并根据命中概率计算单任务损失值;再根据各自然语言处理模型对应的单任务损失值计算多任务损失值;最后根据所述多任务损失值,调整每一自然语言处理模型的参数。本申请方法中,多个自然语言处理模型并行学习,通过共享部分隐层来共享多个任务的浅层特征表示,梯度同时反向传播帮助隐层逃离局部极小值,多个标签的融合及其向量表示帮助增加标签的表达泛化能力和表示能力,进而可以提高每个模型的准确性和泛化性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请根据一示例性实施例示出的一种自然语言处理模型的训练方法的应用场景示意图;
图2为本申请根据一示例性实施例示出的一种自然语言处理模型示意图;
图3为本申请根据一示例性实施例示出的第二编码模块20并行结构示意图;
图4为本申请根据一示例性实施例示出的第二编码模块20串行结构示意图;
图5为本申请根据一示例性实施例示出的一种自然语言处理模型的训练方法流程图;
图6为本申请根据一示例性实施例示出的第二编码模块预训练过程示意图;
图7为本申请根据一示例性实施例示出的第二编码模块20另一串行结构示意图;
图8为本申请根据一示例性实施例示出的一种自然语言处理模型的训练装置框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本申请提供一种自然语言处理模型的训练方法及装置。本实施例所述的“自然语言处理模型”是指基于人工神经网络搭建的用于处理自然语言文本的模型,例如分类模型。在对本申请方法及装置的具体实现方式进行详细介绍之前,先对本申请方法的基本应用场景予以介绍。
图1为本申请根据一示例性实施例示出的一种自然语言处理模型的训练方法的应用场景示意图。本申请方法意在对图1示出的多个自然语言处理模型并行训练。其中,每一自然语言处理模型包括包括隐层1和输出层2,并且,多个自然语言处理模型共享部分隐层,其余部分隐层则为每个模型的特定部分。图1中,每一自然语言处理模型用于完成一个特定的文本处理任务,即具有一个特定的任务目标,例如,M1的任务目标是情感分类,M2的任务目标是文本分类。
图1所示场景中,每一自然语言处理模型的任务目标虽然不同,但是有所关联。其中,如果两个任务是处理输入的相同函数,但是在任务信号中加入独立的噪声处理,很明显这两个任务是相关的;如果两个任务用于预测同个个体的属性的不同方面,这些任务比预测不同个体的属性的不同方面更相关;另外,两个任务共同训练时能相互帮助并不意味着它们是相关的,这是因为通过在后向传播网络的一个额外输出加入噪声可以提高泛化能力,但是这个噪声任务与其它任务不相关。
图2为本申请根据一示例性实施例示出的一种自然语言处理模型示意图。如图2所示,该自然语言处理模型的隐层包括第一编码模块10和经预训练的第二编码模块20以及融合模块30,输出层包括解码模块40。其中,经预训练的第二编码模块为多个自然语言处理模型共享的部分隐层,即每一自然语言处理模型的第二编码模块的神经网络结构和参数均未相同,第二编码模块20和融合模块30则为每一自然语言处理模型的特定部分。
第一编码模块10可以采用一双向的递归神经网络(Bi-LSTM),用于提取输入文本中针对特定任务目标的任务特征,例如,对于语义相似性推断任务,其任务特征即为语义特征。LSTM的表示公式如下:
公式(1)中,V,V',W,W',U,U'为权重矩阵;f,g为激活函数;x为输入;s,s’为隐状态;o为输出;t为时刻。
自然语言处理任务诸多,大体可按照任务类型分为词法分析,句子分析,语义分析,信息抽取,高层任务等。其中,由于所有自然语言都具有词法、句法特征,因此对于词法分析,句子分析等任务,无需限定句子领域,故可称为基础任务。而如文本分类、机器翻译、文本摘要、问答系统、对话系统、阅读理解等任务,为直接面向普通用户提供自然语言处理产品服务的系统级任务,并且涉及多个层面的自然语言处理技术,故为高层任务。
已有的针对高层任务的文本处理方法,仅针对目标任务提取任务相关的特征,而忽略较为基础的如词法、句法等共性特征,造成一定的信息丢失,影响文本处理方法的准确率和泛化能力。
为了解决这一问题,本申请实施例利用第一编码模块提取任务相关的特征的同时,利用第二编码模块提取出任意高层任务均可涉及的基础任务相关的特征,即共享特征,并将共享特征融入到任务预测当中,进而避免高已有的针对高层任务的文本处理方法中存在的信息丢失现象,进而提高任务结果的准确性。
第二编码模块20,可以选择任意一种深度学习神经网络模型,如递归神经网络、卷积神经网络、Attention结构等等。第二编码模块20用于学习输入文本中的共享特征,输出为共享特征向量。由于第二编码模块为多个自然语言处理模型的共享部分,因此共享特征向量可以作为输入文本针对任意任务目标的特征表示。也就是说,从某一文本中提取出的共享特征向量,可以用于预测该文本的类别,也可以用于分析该文本与其他文本的语义相似性等等。例如,输入文本的词性特征可以用于对该输入文本的语义相似性推断,也可以用于对该输入文本的分类。
另外,本申请实施例提取的共享特征向量可以为一个或多个。若为多个,则每一共享特征向量中将包含一种类型的共享特征。例如,词法特征、句法特征两种类型。
第二编码模块20可以包括多个具有不同基础任务目标的第二编码子模块,以使每一所述第二编码子模块获取到输入文本的一种类型的共享特征。多个第二编码子模块可具有如图3所示的并行结构,或者具有如图4所示的串行结构。
其中,每一个第二编码子模块对应一个基础任务,例如,在图3或图4中,m1对应命名实体识别、m2对应词性识别、m3对应句法识别。将待处理文本分别输入至m1、m2和m3中,m1、m2和m3将分别输出待处理文本中的命名实体特征、词性特征以及句法特征的向量表示。
需要说明的是,对于图3所示的并行结构,将待处理文本分别输入至每个第二编码子模块中,每个第二编码子模块则将输出一个包含一种类型共享特征的共享特征向量。对于图4所示的串行结构,将待处理文本由最底层的第二编码子模块顺次输入至每一层的第二编码子模块中,即上层第二编码子模块的输入为其下层的输出。
在一个优选实施例中,对于图4所示的串行结构,下层的第二编码子模块学习的信息相对上层更急基础。例如,将m1用于学习字级别信息,将m2用于学习词级别信息,将m3用于学习句级别信息。
值得注意的是,由于上述子模块对应的基础任务目标不同于自然语言处理模型的任务目标,因此需要预先对第二编码模块的每一子模块进行单独训练,再将得到的最优参数迁移到自然语言处理模型中,使经预训练的第二编码模块参与到对自然语言处理模型的训练当中,进行进一步训练。
融合模块30用于将任务特征向量与至少一个共享特征向量融合,以将共享特征向量融入到目标任务的预测当中。由于对于不同的任务而言,共享特征向量的各部分所包含特征信息的重要性有所不同。因此,本申请从共享特征向量中抽取出对目标任务重要的部分,与任务特征向量融合,从而在避免信息丢失的同时,尽可能地避免引入噪声。
具体实现中,融合模块包括一全连接神经网络层和一softmax层,其对任务特征向量和至少一个共享特征向量的融合过程如下:
首先,获取输入文本在第一编码模块在最后一个时刻的隐状态h作为第一编码模块输出的任务特征向量(第一编码模块为Bi-LSTM);
然后,将任务特征向量输入到全连接神经网络层,并利用softmax层对全连接神经网络层的输出向量进行归一化处理,处理过程如下式所示:
g(x)=soft max(Wgh) 公式(2)
公式(2)中,Wg表示全连接神经网络层权重矩阵,g(x)表示归一化处理结果。
其次,使用归一化处理结果分别与每一个共享特征向量相乘,并计算所有乘积结果的加和,处理过程如下式所示:
公式(3)中,j表示第二编码子模块或共享特征向量的编号,r表示第二编码子模块或共享特征向量的数量,f(x)表示所有乘积结果的加和。
最后,将加和结果与任务特征向量拼接,实现共享特征向量与任务特征向量的融合。
另外,在图2所示模型中,解码模块则用于预测任务目标向量。
图5为本申请根据一示例性实施例示出的一种自然语言处理模型的训练方法流程图,如图5所示,该方法可以包括:
步骤51,对于每一任务目标,将相应训练样本输入至相应自然语言处理模型中,输出任务目标向量。
训练样本一般包括输入文本及对应的真实标签。输入文本可以为一个语句,或者由多个语句组成的段落或篇章。真实标签通常可以人工标注或者通过其他方式获得。
根据任务目标的不同,每一自然语言处理模型相应的训练样本可能存在不同。例如对于命名实体识别任务,其真实标签为命名实体标签,对于词性预测任务,其真实标签为词性标签,而对于分类任务,其真实标签则为表示输入文本属于正例或负例的类别标签。
由于本实施例针对多个任务进行并行训练,因此同一训练样本可以包括其中一个任务对应的标准输出数据,也可以包括多个任务对应的真实标签。例如,使用同一训练样本数据对M1和M2两个任务进行训练,则需使该训练样本数据同时包括M1任务对应的真实标签,和M2任务对应的真实标签。
示例性地,本实施例针对每一任务目标单独准备语料集,从而保证每一自然语言处理模型的训练样本尤其是输入文本间存在较大的差异,相当于同时扩大每一自然语言处理模型相应的样本规模,进而提升对模型的训练效果。
训练开始时,自然语言处理模型中第二编码模块的参数为预训练得到的优化参数,其他模块的参数可以为初始化参数。
具体的,将每一自然语言处理模型的相应训练样本逐个分别输入到第一编码模块和第二编码模块中,利用第一编码模块获取所述训练样本的任务特征向量,利用第二编码模块获取所述训练样本的至少一个共享特征向量;再将所述共享特征向量和任务特征向量共同输入到融合层进行特征融合,并将融合结果输入至解模块,预测以预测任务目标向量。
需要说明的是,以往方法中,模型的输出为Sigmoid函数处理得到的概率值,该概率值用以反应预测为正例类别的可能性,概率越大,可能性越大。而在本实施例中,模型的输出为一个n维的任务目标向量,以该任务目标向量与多标签矩阵的相似程度为命中概率,代替模型以往输出的概率。
上述自然语言处理模型对其输入数据的处理过程,实际上是根据人工神经网络模型算法对输入数据进行处理,人工神经网络模型中涉及模型参数,人工神经网络模型的算法基于人工神经网络模型的类型不同而不同,由于属于已有技术,在此不再赘述。
步骤52,根据所述任务目标向量和多标签矩阵计算命中概率,所述多标签矩阵包括所有任务目标相应训练样本的标签信息。
训练的目的是为了使自然语言处理模型的实际预测结果(即根据命中概率预测的命中标签)与训练样本对应的真实标签无限的接近。
由于本实施例针对多个任务进行并行训练,因而涉及多个训练数据集。每一数据集中包含对应任务的标签,例如M1为一个二分类的情感分类任务,则其对应数据集可以包括正例倾向和负例倾向两个标签,M2为一个二分类的文本分类任务,则其对应数据集可以包括正例类别和负例类别两个标签。
现有技术中,都是将每一个标签独立看待,并表示成没有意义意义的one-hot向量,因此造成潜在信息的丢失,并且给多任务联合训练带来困难。例如,M1任务中,将正例倾向和负例倾向分别表示为[0,1]和[1,0],M2任务中,将正例类别和负例类别分别表示为[0,1]和[1,0]。
为了避免上述问题,本实施例基于多个数据集间的隐式关系将多个不同数据集中的相同标签表示为一个定长的标签向量,再将全部标签对应的标签向量整合在同一矩阵中,得到一个包括所有训练样本相应标签信息的多标签矩阵,使得多个任务共享该多标签矩阵,以此增加标签的表达泛化能力和模型的表示能力。
例如,将M1任务的正例标签和M2任务的正例标签和负例标签分别随机初始化表示为[l11,l12,...,...l1n]和[l21,l22,...,...l2n],再将这两个标签向量形成标签矩阵L,如下:
标签矩阵L的大小为m×n,其中,m表示任务的标签数量,取决于任务类型,例如在上述二分类任务中,m=3,若为三分类任务,则m=3;n表示标签向量的设定长度。
另外,为每一任务预设一个偏置矩阵Bi,i表示任务编号,以作为任务i在m个标签空间上的偏置。
本实施例中,标签的表示,不再是没有意义的one-hot向量,而是一个n维向量,多个标签向量融合为一个多标签矩阵,以被多个数据集共享,而非将每个标签独立看待,因此可以增强标签表示的泛化性,避免潜在信息的丢失。
以往方法中,模型的输出为Sigmoid函数处理得到的概率值,该概率值用以反应预测为正例类别的可能性,概率越大,可能性越大。而在本实施例中,模型的输出为一个n维任务目标向量,以该任务目标向量与多标签矩阵的相似程度为命中概率,代替模型以往输出的概率。
基于向量相似性计算方法,本申请首先使用任务目标预设的偏置矩阵对多标签矩阵进行偏置处理,然后将任务目标向量与偏置处理结果相乘,获得命中概率。例如下式所示:
Si=Ti×(L+Bi) 公式(4)
公式(4)中,Si表示命中概率,Ti表示任务目标向量,Bi表示任务目标预设的偏置矩阵,i表示任务编号。
步骤53,根据所述命中概率计算单任务损失值,根据各自然语言处理模型对应的单任务损失值计算多任务损失值。
单任务损失值即在多任务训练中单独一自然语言处理模型的损失值。本实施例中,首先将命中概率与输入的训练样本相应的标签信息代入到交叉熵损失函数中,计算单个样本的交叉熵损失值,再根据本轮迭代中D个样本总的损失值。如下:
公式(5)中,y(k)表示第k个训练样本对应的标签信息,表示命中概率对应的标签信息。
此外,为了保证本申请标签融合的效果,计算偏置矩阵Bi的L2正则项,再偏置矩阵L2正则项加到交叉熵损失值上,以在对损失函数的参数加以约束的同时,尽量减小偏置,以使融合后的标签尽量靠拢通用标签。最终的单任务损失值为:
LOSSi=CrossEntropyLossi+||Bi||2 公式(6)
多任务损失值用于对参与训练的全部自然语言处理模型的损失进行综合度量,具体根据每一单任务损失值计算得到。例如,可以计算各自然语言处理模型对应的单任务损失值的加和,得到所述多任务损失值。
此外,由于每一自然语言处理模型相应的训练样本数量不同,因此可以利用参数调整权重,对每一单任务损失值进行加权,从而保证对每一模型的参数的更新量相一致。其中,参数调整权重与训练样本数量的映射关系可以预先设置,以根据每一自然语言处理模型相应的训练样本数量,获取所述自然语言处理模型的参数调整权重,再使用所述参数调整权重对所述单任务损失值加权求和,得到多任务损失值。
具体可参见下式:
公式(7)中,LOSS表示多任务损失值,LOSSi表示每一自然语言处理模型对应的单任务损失值,Ki表示每一自然语言处理模型对应的参数调整权重。
步骤54,根据所述多任务损失值,调整每一自然语言处理模型的参数。
自然语言处理模型的参数调整,包括对多个自然语言处理模型所共用的第二编码模块的参数调整,还包括对每一自然语言处理模型的第一编码模块、融合模块以及解码模块参数的分别调整。
需要说明的是,由于第二编码模块的初始参数为迁移的预训练最优参数,因此为了避免第二编码模块参数发生较大的变化,利用更新控制系数对第二编码模块的更新量加以控制,该更新控制系数可以为一预设数值,如为0.1,同时,不同第二编码子模块所预设的更新控制系数可以不同。
具体的,获取每一第二编码子模块预设的更新系数,将多任务损失值和相应的更新控制系数相乘,以根据乘积确定参数更新量,进而对每一第二编码子模块的参数进行调整,以实现对第二编码模块的参数调整。
此外,直接根据多任务损失值对每一自然语言处理模型的第一编码模块、融合模块以及解码模块参数分别调整。
通过本实施例提供的方法,不断更新迭代每一自然语言处理模型的参数,最终在迭代次数达到一定数量,或者模型参数呈收敛状态时,可以停止对自然语言处理模型的训练,进而得到多个分别针对特定任务的优化模型。
本实施例对多个具有不同任务目标的自然语言处理模型并行训练,多个任务间存在相关的部分,也有无关的部分,其中相关的部分可以提高共享部分隐层的学习速率,进而有利于提升模型的训练效果,无关的部分则相当于噪声,可以提高模型的泛化性。此外,由于单任务训练时,梯度的反向传播倾向于陷入局部极小值,而多任务训练中,不同任务的局部极小值处于不同的位置,因此,可以帮助隐层逃离局部极小值。
图6为示出了对第二编码模块进行预训练的过程,应用于图7所示串行结构。如图6及图7所示,该方法可以包括:
步骤61,根据每个第二编码子模块预定的基础任务目标,获取相应的训练样本集。
步骤62,将第j层第二编码子模块相应的训练样本,由第1层顺次输入至第j层中,第j层输出基础任务目标值,j表示所述第二编码器在自下至上方向上的排列序号,即第j层的输入为第1至第j-1层的输出。
步骤63,根据每层输出的基础任务目标值,计算每层的损失值。
步骤64,根据第1至第j层的损失值,调整第j层第二编码子模块的参数。
训练的目的是为了使每一个第二编码子模块的实际预测结果与对应的真实结果无限的接近。具体是将基础任务目标值与真实结果代入到预先设定好的损失函数中计算损失值,进而可以根据损失值确定模型的迭代更新方向和更新量,从而不断优化模型的更新参数。其中,损失函数可以根据人工网络模型的类型和任务目标而设定,属于已有技术,在此不再赘述。
由以上技术方案可知,本申请提供的自然语言处理模型的训练方法,应用于多个具有不同任务目标的自然语言处理模型,所述多个自然语言处理模型共享部分隐层,所述方法中,首先将所有任务相应训练样本的标签信息融合并表示为多标签矩阵,根据模型输出的任务目标向量和多标签矩阵计算命中概率,并根据命中概率计算单任务损失值;再根据各自然语言处理模型对应的单任务损失值计算多任务损失值;最后根据所述多任务损失值,调整每一自然语言处理模型的参数。本申请方法中,多个自然语言处理模型并行学习,通过共享部分隐层来共享多个任务的浅层特征表示,梯度同时反向传播帮助隐层逃离局部极小值,多个标签的融合及其向量表示帮助增加标签的表达泛化能力和表示能力,进而可以提高每个模型的准确性和泛化性。
图8为本申请根据一示例性实施例示出的一种自然语言处理模型的训练装置框图。该装置应用于多个具有不同任务目标的自然语言处理模型,所述多个自然语言处理模型共享部分隐层。所述自然语言处理模型的隐层包括基于递归神经网络模型的第一编码模块、经预训练的第二编码模块和融合模块,所述经预训练的第二编码模块为所述多个自然语言处理模型共享的所述部分隐层;所述第二编码模块包括串行设置的多个具有不同基础任务目标的第二编码子模块,以使每一所述第二编码子模块获取到输入文本的一种类型的共享特征。
如图8所示,该装置包括:
输入单元U81,用于对于每一任务目标,将相应训练样本输入至相应自然语言处理模型中,输出任务目标向量。
概率计算单元U82,用于根据所述任务目标向量和多标签矩阵计算命中概率,所述多标签矩阵包括所有任务目标相应训练样本的标签信息。具体的,使用所述任务目标预设的偏置矩阵对多标签矩阵进行偏置处理;将所述任务目标向量与所述偏置处理结果相乘,获得命中概率。
损失计算单元U83,用于根据所述命中概率计算单任务损失值,根据各自然语言处理模型对应的单任务损失值计算多任务损失值。具体的,将所述命中概率与所述训练样本相应的标签信息代入交叉熵损失函数,计算交叉熵损失值;计算所述偏置矩阵的L2正则项;计算所述交叉熵损失值与偏置矩阵L2正则项的加和,得到单任务损失值。
具体的,计算各自然语言处理模型对应的单任务损失值的加和,得到所述多任务损失值。或者,根据每一自然语言处理模型相应的训练样本数量,获取所述自然语言处理模型的参数调整权重;使用所述参数调整权重对所述单任务损失值加权求和,得到多任务损失值。
参数调整单元U84,用于根据所述多任务损失值,调整每一自然语言处理模型的参数。具体的,获取每一所述第二编码子模块预设的更新控制系数;根据所述多任务损失值和相应的更新控制系数,调整每一所述第二编码子模块的参数;以及,根据所述多任务损失值,分别调整所述每一自然语言处理模型中所述第一编码模块、融合模块以及输出层的参数。
由以上技术方案可知,本实施例提供的自然语言处理模型的训练方法及装置,应用于多个具有不同任务目标的自然语言处理模型,所述多个自然语言处理模型共享部分隐层,所述方法中,首先将所有任务相应训练样本的标签信息融合并表示为多标签矩阵,根据模型输出的任务目标向量和多标签矩阵计算命中概率,并根据命中概率计算单任务损失值;再根据各自然语言处理模型对应的单任务损失值计算多任务损失值;最后根据所述多任务损失值,调整每一自然语言处理模型的参数。本申请方法中,多个自然语言处理模型并行学习,通过共享部分隐层来共享多个任务的浅层特征表示,梯度同时反向传播帮助隐层逃离局部极小值,多个标签的融合及其向量表示帮助增加标签的表达泛化能力和表示能力,进而可以提高每个模型的准确性和泛化性。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的训练方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。

Claims (8)

1.一种自然语言处理模型的训练方法,其特征在于,应用于多个具有不同任务目标的自然语言处理模型,所述多个自然语言处理模型共享部分隐层,所述自然语言处理模型的隐层包括基于递归神经网络模型的第一编码模块、经预训练的第二编码模块和融合模块,所述经预训练的第二编码模块为所述多个自然语言处理模型共享的所述部分隐层,所述第二编码模块包括串行设置的多个具有不同基础任务目标的第二编码子模块,以使每一所述第二编码子模块获取到输入文本的一种类型的共享特征;
对于每一任务目标,将相应训练样本输入至相应自然语言处理模型中,输出任务目标向量;
根据所述任务目标向量和多标签矩阵计算命中概率,所述多标签矩阵包括所有任务目标相应训练样本的标签信息;
根据所述命中概率计算单任务损失值,根据各自然语言处理模型对应的单任务损失值计算多任务损失值;
根据所述多任务损失值,调整每一自然语言处理模型的参数包括:
获取每一所述第二编码子模块预设的更新控制系数;
根据所述多任务损失值和相应的更新控制系数,调整每一所述第二编码子模块的参数;
以及,根据所述多任务损失值,分别调整所述每一自然语言处理模型中所述第一编码模块、融合模块以及输出层的参数。
2.根据权利要求1所述的方法,其特征在于,所述根据所述任务目标向量和多标签矩阵计算命中概率,包括:
使用所述任务目标预设的偏置矩阵对多标签矩阵进行偏置处理;
将所述任务目标向量与所述偏置处理结果相乘,获得命中概率。
3.根据权利要求2所述的方法,其特征在于,所述根据所述命中概率计算单任务损失值,包括:
将所述命中概率与所述训练样本相应的标签信息代入交叉熵损失函数,计算交叉熵损失值;
计算所述偏置矩阵的L2正则项;
计算所述交叉熵损失值与偏置矩阵L2正则项的加和,得到单任务损失值。
4.根据权利要求1所述的方法,其特征在于,所述根据各自然语言处理模型对应的单任务损失值计算多任务损失值,包括:
计算各自然语言处理模型对应的单任务损失值的加和,得到所述多任务损失值。
5.根据权利要求1所述的方法,其特征在于,所述根据各自然语言处理模型对应的单任务损失值计算多任务损失值,包括:
根据每一自然语言处理模型相应的训练样本数量,获取所述自然语言处理模型的参数调整权重;
使用所述参数调整权重对所述单任务损失值加权求和,得到多任务损失值。
6.根据权利要求1所述的方法,其特征在于,所述将相应训练样本输入至相应自然语言处理模型中,输出任务目标向量,包括:
将相应训练样本分别输入至所述第一编码模块和第二编码模块,以利用第一编码模块获取所述训练样本的任务特征向量,利用第二编码模块获取所述训练样本的至少一个共享特征向量,所述共享特征向量为所述训练样本针对任意任务目标的特征表示;
将所述共享特征向量和任务特征向量共同输入到融合模块进行特征融合,并将融合结果输入至解码模块,输出任务目标向量。
7.根据权利要求6所述的方法,其特征在于,所述融合模块包括一全连接神经网络层和Softmax层,所述将共享特征向量与任务特征向量共同输入到融合模块进行特征融合,包括:
将任务特征向量输入到所述全连接神经网络层中;
将任务特征向量全连接神经网络层的输出输入到Softmax层,得到归一化结果;
使用归一化处理结果分别与每一个共享特征向量相乘,并计算所有乘积结果的加和;
将加和结果与任务特征向量拼接,实现共享特征向量与任务特征向量的融合。
8.一种自然语言处理模型的训练装置,其特征在于,应用于多个具有不同任务目标的自然语言处理模型,所述多个自然语言处理模型共享部分隐层,所述自然语言处理模型的隐层包括基于递归神经网络模型的第一编码模块、经预训练的第二编码模块和融合模块,所述经预训练的第二编码模块为所述多个自然语言处理模型共享的所述部分隐层,所述第二编码模块包括串行设置的多个具有不同基础任务目标的第二编码子模块,以使每一所述第二编码子模块获取到输入文本的一种类型的共享特征;所述装置包括:
输入单元,用于对于每一任务目标,将相应训练样本输入至相应自然语言处理模型中,输出任务目标向量;
概率计算单元,用于根据所述任务目标向量和多标签矩阵计算命中概率,所述多标签矩阵包括所有任务目标相应训练样本的标签信息;
损失计算单元,用于根据所述命中概率计算单任务损失值,根据各自然语言处理模型对应的单任务损失值计算多任务损失值;
参数调整单元,用于根据所述多任务损失值,调整每一自然语言处理模型的参数包括:
获取每一所述第二编码子模块预设的更新控制系数;
根据所述多任务损失值和相应的更新控制系数,调整每一所述第二编码子模块的参数;
以及,根据所述多任务损失值,分别调整所述每一自然语言处理模型中所述第一编码模块、融合模块以及输出层的参数。
CN201910471393.7A 2019-05-31 2019-05-31 自然语言处理模型的训练方法及装置 Active CN110188358B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910471393.7A CN110188358B (zh) 2019-05-31 2019-05-31 自然语言处理模型的训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910471393.7A CN110188358B (zh) 2019-05-31 2019-05-31 自然语言处理模型的训练方法及装置

Publications (2)

Publication Number Publication Date
CN110188358A CN110188358A (zh) 2019-08-30
CN110188358B true CN110188358B (zh) 2023-10-24

Family

ID=67719581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910471393.7A Active CN110188358B (zh) 2019-05-31 2019-05-31 自然语言处理模型的训练方法及装置

Country Status (1)

Country Link
CN (1) CN110188358B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728298A (zh) * 2019-09-05 2020-01-24 北京三快在线科技有限公司 多任务分类模型训练方法、多任务分类方法及装置
CN110738270B (zh) * 2019-10-22 2022-03-11 中国人民解放军国防科技大学 基于均值迭代的多任务学习模型训练以及预测方法
CN111062484B (zh) * 2019-11-19 2023-06-09 鼎富智能科技有限公司 基于多任务学习的数据集选取方法及装置
CN110929521B (zh) * 2019-12-06 2023-10-27 北京知道创宇信息技术股份有限公司 一种模型生成方法、实体识别方法、装置及存储介质
CN111401972A (zh) * 2020-04-13 2020-07-10 支付宝(杭州)信息技术有限公司 一种数据处理及广告评分方法、装置及设备
CN113553837A (zh) * 2020-04-23 2021-10-26 北京金山数字娱乐科技有限公司 阅读理解模型的训练方法和装置、文本分析的方法和装置
CN111553479B (zh) * 2020-05-13 2023-11-03 鼎富智能科技有限公司 一种模型蒸馏方法、文本检索方法及装置
CN111797234B (zh) * 2020-06-16 2024-04-30 北京北大软件工程股份有限公司 一种自然语言处理分类模型中多标签分布学习的方法和系统
CN111931520B (zh) * 2020-10-16 2021-02-12 北京百度网讯科技有限公司 自然语言处理模型的训练方法和装置
CN112405521B (zh) * 2020-10-16 2022-02-25 北京百度网讯科技有限公司 模型的训练方法、装置、电子设备及存储介质
CN112561056A (zh) * 2020-12-07 2021-03-26 北京百度网讯科技有限公司 神经网络模型的训练方法、装置、电子设备和存储介质
CN112633419B (zh) * 2021-03-09 2021-07-06 浙江宇视科技有限公司 小样本学习方法、装置、电子设备和存储介质
CN113516239A (zh) * 2021-04-16 2021-10-19 Oppo广东移动通信有限公司 模型训练方法、装置、存储介质及电子设备
CN113361285B (zh) * 2021-06-30 2022-07-12 北京百度网讯科技有限公司 自然语言处理模型的训练方法、自然语言处理方法及装置
CA3232576A1 (en) * 2021-10-05 2023-04-13 Rubendran Amarasingham Creating multiple prioritized clinical summaries using artificial intelligence
CN115203419A (zh) * 2022-07-21 2022-10-18 北京百度网讯科技有限公司 语言模型的训练方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844345A (zh) * 2017-02-06 2017-06-13 厦门大学 一种基于参数线性约束的多任务分词方法
CN108229582A (zh) * 2018-02-01 2018-06-29 浙江大学 一种面向医学领域的多任务命名实体识别对抗训练方法
CN108920460A (zh) * 2018-06-26 2018-11-30 武大吉奥信息技术有限公司 一种多类型实体识别的多任务深度学习模型的训练方法及装置
CN109325231A (zh) * 2018-09-21 2019-02-12 中山大学 一种多任务模型生成词向量的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140250032A1 (en) * 2013-03-01 2014-09-04 Xerox Corporation Methods, systems and processor-readable media for simultaneous sentiment analysis and topic classification with multiple labels

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844345A (zh) * 2017-02-06 2017-06-13 厦门大学 一种基于参数线性约束的多任务分词方法
CN108229582A (zh) * 2018-02-01 2018-06-29 浙江大学 一种面向医学领域的多任务命名实体识别对抗训练方法
CN108920460A (zh) * 2018-06-26 2018-11-30 武大吉奥信息技术有限公司 一种多类型实体识别的多任务深度学习模型的训练方法及装置
CN109325231A (zh) * 2018-09-21 2019-02-12 中山大学 一种多任务模型生成词向量的方法

Also Published As

Publication number Publication date
CN110188358A (zh) 2019-08-30

Similar Documents

Publication Publication Date Title
CN110188358B (zh) 自然语言处理模型的训练方法及装置
CN110209817B (zh) 文本处理模型的训练方法、装置和文本处理方法
CN110083705B (zh) 一种用于目标情感分类的多跳注意力深度模型、方法、存储介质和终端
KR102071582B1 (ko) 딥 뉴럴 네트워크(Deep Neural Network)를 이용하여 문장이 속하는 클래스(class)를 분류하는 방법 및 장치
CN110210032B (zh) 文本处理方法及装置
CN109214006B (zh) 图像增强的层次化语义表示的自然语言推理方法
CN111241807B (zh) 一种基于知识引导注意力的机器阅读理解方法
CN112883714B (zh) 基于依赖图卷积和迁移学习的absc任务句法约束方法
WO2022217849A1 (en) Methods and systems for training neural network model for mixed domain and multi-domain tasks
CN113626589B (zh) 一种基于混合注意力机制的多标签文本分类方法
Bokka et al. Deep Learning for Natural Language Processing: Solve your natural language processing problems with smart deep neural networks
CN113254610A (zh) 面向专利咨询的多轮对话生成方法
CN112232087A (zh) 一种基于Transformer的多粒度注意力模型的特定方面情感分析方法
CN111145914B (zh) 一种确定肺癌临床病种库文本实体的方法及装置
CN114781375A (zh) 一种基于bert与注意力机制的军事装备关系抽取方法
CN113988079A (zh) 一种面向低数据的动态增强多跳文本阅读识别处理方法
CN109948163B (zh) 序列动态阅读的自然语言语义匹配方法
Rodzin et al. Deep learning techniques for natural language processing
Malhotra et al. Bidirectional transfer learning model for sentiment analysis of natural language
CN113722439A (zh) 基于对抗性类别对齐网络的跨领域情感分类方法及系统
Xia An overview of deep learning
CN111666375A (zh) 文本相似度的匹配方法、电子设备和计算机可读介质
Goyal et al. Unfolding recurrent neural networks
Kandi Language Modelling for Handling Out-of-Vocabulary Words in Natural Language Processing
Dehaqi et al. Adversarial image caption generator network

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190904

Address after: Room 630, 6th floor, Block A, Wanliu Xingui Building, 28 Wanquanzhuang Road, Haidian District, Beijing

Applicant after: DINFO (BEIJING) SCIENCE DEVELOPMENT Co.,Ltd.

Address before: Room 601, Block A, Wanliu Xingui Building, 28 Wanquanzhuang Road, Haidian District, Beijing

Applicant before: ULTRAPOWER SOFTWARE Co.,Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 230000 zone B, 19th floor, building A1, 3333 Xiyou Road, hi tech Zone, Hefei City, Anhui Province

Applicant after: Dingfu Intelligent Technology Co.,Ltd.

Address before: Room 630, 6th floor, Block A, Wanliu Xingui Building, 28 Wanquanzhuang Road, Haidian District, Beijing

Applicant before: DINFO (BEIJING) SCIENCE DEVELOPMENT Co.,Ltd.

GR01 Patent grant
GR01 Patent grant