公开/公告号CN112232024A
专利类型发明专利
公开/公告日2021-01-15
原文格式PDF
申请/专利权人 苏州大学;
申请/专利号CN202011089840.1
申请日2020-10-13
分类号G06F40/117(20200101);G06F40/211(20200101);G06F40/289(20200101);G06K9/62(20060101);G06N3/04(20060101);
代理机构11227 北京集佳知识产权代理有限公司;
代理人张春辉
地址 215131 江苏省苏州市相城区济学路8号
入库时间 2023-06-19 09:35:27
技术领域
本申请涉及计算机技术领域,特别涉及一种基于多标注数据的依存句法分析模型训练方法、装置、设备及可读存储介质。
背景技术
依存句法分析的目标是给定输入句子,捕捉句子内部词语之间的修饰和搭配关系,刻画句子的句法和语义结构,构建依存句法树。
近几年来,随着深度学习的在自然语言处理领域的快速发展,依存句法分析准确率有了显著提高。但是,当处理有别于训练数据的文本时,依存句法分析的准确率会急剧下降。针对该问题,一种直接的解决方法是标注特定领域的句法数据。然而,大多数依存句法树库是由少数语言学专家长期标注构建,存在费时费力、成本高的缺点,无法满足当前需求。
受到众包工作的启发,利用大量非专家标注人员的标注数据,快速构建多标注依存句法树库是一种可行的方法。但是,相较于专家标注,这种方法的标注质量相对较低且不一致性高。目前的解决方式有两种,一种是采用多数投票方式从多种标注数据中选出一种标注数据,另一种是简单丢弃不一致的标注数据或人工审核。
对于多数投票的方式,投票得到的结果也有可能是完全错误的答案,这样就完全丢弃了可能正确的信息,影响训练效果,且标注人数越少,投票结果越不可靠。虽然也可以使用加权投票的方法,但是依然无法解决在标注人数较少时偏听偏信的问题。
对于简单丢弃不一致的句子的方式,虽然提高了数据集的可靠性,但是,如果原本数据集的不一致率较高,这种方式将导致数据集规模大大减少,产生浪费。人工审核方法虽然可以大大提高数据集的质量,但是非常费时费力,成本较高。
综上,多数投票方式和简单丢弃不一致数据的方式,虽然可以获得一个可直接用于依存句法分析模型的数据集,但是这两种方式都产生了数据浪费,丢弃了一部分数据集的信息,没有充分利用多标注数据中的有效信息,导致模型性能较差。
可见,如何充分利用多标注数据完成对依存句法分析模型的训练,提升模型性能,是亟待本领域技术人员解决的问题。
发明内容
本申请的目的是提供一种基于多标注数据的依存句法分析模型训练方法、装置、设备及可读存储介质,用以解决目前在利用多标注数据训练依存句法分析模型的时候,本质上还是丢弃部分标注数据,只利用其中一种标注数据进行模型训练,无法充分利用多标注数据中的有效信息,导致模型性能较差的问题。其具体方案如下:
第一方面,本申请提供了一种基于多标注数据的依存句法分析模型训练方法,包括:
获取词序列以及所述词序列的多种标注结果,对于所述词序列中的每个修饰词,所述标注结果包括弧和依存关系标签,每种标注结果来自不同的用户;
将所述词序列输入依存句法分析模型,得到弧得分和标签得分;
根据目标损失函数,计算所述弧得分和所述标签得分相对于所述多种标注结果的损失值;
通过迭代训练,以最小化所述损失值为目的,调整所述依存句法分析模型的模型参数,以实现对所述依存句法分析模型的训练。
优选的,所述根据目标损失函数,计算所述弧得分和所述标签得分相对于所述多种标注结果的损失值,包括:
根据不同用户的标注能力,针对所述多种标注结果中的各种标注结果,设置权重值;
根据目标损失函数和各种标注结果的权重值,计算所述弧得分和所述标签得分相对于所述多种标注结果的损失值。
优选的,所述针对所述多种标注结果中的各种标注结果,设置权重值,包括:
针对所述多种标注结果中的各种标注结果,分别设置弧权重值和/或标签权重值。
优选的,所述根据目标损失函数,计算所述弧得分和所述标签得分相对于所述多种标注结果的损失值,包括:
根据弧损失函数,计算所述弧得分相对于所述多种标注结果中弧的损失值,得到第一损失值;
根据标签损失函数,计算所述标签得分相对于所述多种标注结果中依存关系标签的损失值,得到第二损失值;
根据所述第一损失值和所述第二损失值,确定所述弧得分和所述标签得分相对于多种标注结果的损失值。
优选的,所述根据标签损失函数,计算所述标签得分相对于所述多种标注结果中依存关系标签的损失值,得到第二损失值,包括:
根据标签损失函数,计算所述标签得分相对于目标标注结果中依存关系标签的损失值,得到第二损失值,其中所述目标标注结果为所述多种标注结果中弧等于目标弧的标注结果,所述目标弧为根据目标策略确定的弧,所述目标策略包括:弧得分预测、多数投票、加权投票、随机选取。
优选的,所述依存句法分析模型包括:输入层、编码层、第一MLP层、第一得分层、第二MLP层和第二得分层;
其中所述第一MLP层用于根据所述编码层的输出确定当前词作为核心词的表示向量和当前词作为修饰词的表示向量,所述第一得分层用于根据所述第一MLP层的输出确定弧得分;
所述第二MLP层用于根据所述编码层的输出确定当前词作为核心词时包含依存关系标签信息的表示向量、当前词作为修饰词时包含依存关系标签信息的表示向量,所述第二得分层用于根据所述第二MLP层的输出确定标签得分。
优选的,所述依存句法分析模型的编码层包括多层BiLSTM。
第二方面,本申请提供了一种基于多标注数据的依存句法分析模型训练装置,包括:
训练样本获取模块:用于获取词序列以及所述词序列的多种标注结果,对于所述词序列中的每个修饰词,所述标注结果包括弧和依存关系标签,每种标注结果来自不同的用户;
输入输出模块:用于将所述词序列输入依存句法分析模型,得到弧得分和标签得分;
损失计算模块:用于根据目标损失函数,计算所述弧得分和所述标签得分相对于所述多种标注结果的损失值;
迭代模块:用于通过迭代训练,以最小化所述损失值为目的,调整所述依存句法分析模型的模型参数,以实现对所述依存句法分析模型的训练。
第三方面,本申请提供了一种基于多标注数据的依存句法分析模型训练设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的基于多标注数据的依存句法分析模型训练方法。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的基于多标注数据的依存句法分析模型训练方法。
本申请所提供的一种基于多标注数据的依存句法分析模型训练方法,包括:获取词序列以及词序列的多种标注结果;将词序列输入依存句法分析模型,得到弧得分和标签得分;根据目标损失函数,计算弧得分和标签得分相对于多种标注结果的损失值;通过迭代训练,以最小化损失值为目的,调整依存句法分析模型的模型参数,以实现对依存句法分析模型的训练。可见,该方法能够根据目标损失函数计算模型输出结果相对于全部标注结果的损失值,并据此完成对模型的迭代训练,实现了充分利用全部标注数据中的有效信息的目的,提升了模型的依存句法分析能力。
此外,本申请还提供了一种基于多标注数据的依存句法分析模型训练装置、设备及可读存储介质,其技术效果与上述方法相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种基于多标注数据的依存句法分析模型训练方法实施例一的实现流程图;
图2为本申请所提供的一种基于多标注数据的依存句法分析模型训练方法实施例一中S103的细化流程图;
图3为本申请所提供的一种基于多标注数据的依存句法分析模型训练方法实施例二的模型架构示意图;
图4为本申请所提供的一种基于多标注数据的依存句法分析模型训练方法实施例二中的单标注结果示意图;
图5为本申请所提供的一种基于多标注数据的依存句法分析模型训练方法实施例二中单标注结果的数据存储格式;
图6为本申请所提供的一种基于多标注数据的依存句法分析模型训练方法实施例二的多标注结果示意图;
图7为本申请所提供的一种基于多标注数据的依存句法分析模型训练方法实施例二中多标注结果的数据存储格式;
图8为本申请所提供的一种基于多标注数据的依存句法分析模型训练装置实施例的功能框图。
具体实施方式
本申请的核心是提供一种基于多标注数据的依存句法分析模型训练方法、装置、设备及可读存储介质,能够充分利用全部标注数据中的有效信息,提升模型的依存句法分析能力。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请提供的一种基于多标注数据的依存句法分析模型训练方法实施例一进行介绍,参见图1,实施例一包括:
S101、获取词序列以及所述词序列的多种标注结果,对于所述词序列中的每个修饰词,所述标注结果包括弧和依存关系标签;
上述词序列是指对某个句子进行分词得到的序列。本实施例获取的多种标注结果(两种以上的标注结果)中,每种标注结果来自不同的用户。假设一个句子被K名用户标注,则会产生K种标注结果,每种标注结果即该句子的一颗依存句法树。
依存句法树用于描述词与词之间的依存关系,一则依存关系包含三项元素:修饰词、核心词和依存关系类型,即表示修饰词以某种依存关系类型修饰核心词。
本实施例中,对于词序列中的每个修饰词,标注结果包含以下两项信息:弧(核心词)和依存关系标签。
S102、将所述词序列输入依存句法分析模型,得到弧得分和标签得分;
本实施例中,依存句法分析模型用于根据词序列预测每个词的核心词和依存关系标签,具体的,模型输出弧得分和依存关系得分,根据二者即可确定实际预测得到的弧和依存关系标签。
本实施例对选用何种神经网络作为依存句法分析模型不做限定,只要其能够根据词序列预测依存关系即可。此处提供一种可行方案,选用Biaffine Parser模型作为本实施例的依存句法分析模型。
S103、根据目标损失函数,计算所述弧得分和所述标签得分相对于所述多种标注结果的损失值;
一般情况下,当只采用一种标注结果作为标准时,直接计算实际预测结果和该标注结果之间的损失值即可。由于本申请采用了多种标注结果,因此,在计算损失值时,需要计算实际预测结果相对于全部标注结果的损失值。具体的,可以分别计算实际预测结果相对于每种标注结果之间的损失值,然后进行累加。
S104、通过迭代训练,以最小化所述损失值为目的,调整所述依存句法分析模型的模型参数,以实现对所述依存句法分析模型的训练。
本实施例所提供一种基于多标注数据的依存句法分析模型训练方法,能够根据目标损失函数计算模型输出结果相对于全部标注结果的损失值,并据此完成对模型的迭代训练,实现了充分利用全部标注数据中的有效信息的目的,提升了模型的依存句法分析能力。
作为一种优选的实施方式,在实施例一的基础上,可以为不同用户的标注结果赋予权重值,以区别不同用户的标注能力。例如,对于专家给出的标注结果,可以赋予相对较高的权重值;对于普通用户给出的标注结果,可以赋予较低的权重值。
具体的,为了区别不同用户的标注能力,分别为前述多种标注结果中的各种标注结果设置权重值,然后前述S103的过程修改为:根据目标损失函数和各种标注结果的权重值,计算所述弧得分和所述标签得分相对于所述多种标注结果的损失值。
在此基础之上,考虑到标注结果包含两项信息:弧和依存关系标签,那么,在区别用户标注能力的时候,也可以分别从两个维度进行区分,分别设置弧权重值和标签权重值。甚至可以只从其中一个维度上对用户的标注能力进行区分,对另一个维度的标注能力不做区分。
此时,上述权重设置过程具体为:针对所述多种标注结果中的各种标注结果,分别设置弧权重值和/或标签权重值。在分别设置弧权重值和标签权重值时,弧权重值的数值不同于标签权重的权重值。
综上,以表1为例,在为词i设置权重时,本实施例提供以下四种权重设置方式,以适应不同场景需求:
表1
具体的,在计算实际预测结果(模型输出的标注结果)相对于全部标注结果的损失值时,可以分别从弧和依存关系标签两个维度进行计算。此时,如图2所示,上述S103包括:
S201、根据弧损失函数,计算所述弧得分相对于所述多种标注结果中弧的损失值,得到第一损失值;
S202、根据标签损失函数,计算所述标签得分相对于所述多种标注结果中依存关系标签的损失值,得到第二损失值;
S203、根据所述第一损失值和所述第二损失值,确定所述弧得分和所述标签得分相对于多种标注结果的损失值。
在此基础之上,作为一种优选的实施方式,在计算标签损失的时候,可以不与全部标注结果中的关系类型标签做差异计算,而是仅仅与其中部分标注结果的关系类型标签做差异计算。这里的部分标注结果是指根据某种策略从全部标注结果中选取出来的标注结果,此处的策略具体可以是多数投票、加权投票、弧得分预测、随机选取等。此时,如图3所示,上述S202具体为:
根据标签损失函数,计算所述标签得分相对于目标标注结果中依存关系标签的损失值,得到第二损失值,其中所述目标标注结果为所述多种标注结果中弧等于目标弧的标注结果,所述目标弧为根据目标策略确定的弧,所述目标策略包括:弧得分预测、多数投票、加权投票、随机选取。
其中,弧得分预测是指:根据依存句法分析模型输出的弧得分,选取分值最大的弧以作为目标弧;
多数投票是指:采用多数投票方法,选取所述多标注结果中出现次数最多的弧以作为目标弧;
加权投票是指:采用加权多数投票方法,结合每种标注结果的权重以及每种标注结果在所述多种标注结果中出现的次数,选取目标弧;
随机选取是指:从所述多种标注结果中随机选取一个弧作为目标弧。
下面开始详细介绍本申请提供的一种基于多标注数据的依存句法分析模型训练方法实施例二,实施例二基于前述介绍以实际应用为例对训练过程进行了详尽的说明。
本实施例中采用Biaffine Parser模型,如图3所示。依存句法分析模型包括:输入层、编码层、第一MLP层、第一得分层、第二MLP层和第二得分层;
其中,编码层包括多层BiLSTM;
第一MLP层用于根据编码层的输出确定当前词作为核心词的表示向量和当前词作为修饰词的表示向量,所述第一得分层用于根据所述第一MLP层的输出确定弧得分;
第二MLP层用于根据所述编码层的输出确定当前词作为核心词时包含依存关系标签信息的表示向量、当前词作为修饰词时包含依存关系标签信息的表示向量,所述第二得分层用于根据所述第二MLP层的输出确定标签得分。
对句子S=w
编码层是多层BiLSTM,前一层BiLSTM的两个方向连接的输出是后一层的输入。
然后MLP表示层将编码层的输出h
其中
然后biaffine得分层通过biaffine计算所有依存关系的得分,依存关系的得分分为两部分,弧得分和依存关系标签得分,其中弧得分如下所示:
其中score
依存关系标签得分如下所示:
其中
模型的整体损失包括两部分:弧损失和标签损失,其中,弧损失指整体损失函数的一部分,表示预测弧的分布和真实弧的分布的差异;标签损失也指整体损失函数的一部分,表示预测标签的分布和真实标签的差异。
原始的Biaffine attention parser使用交叉熵作为损失函数,每一个词单独计算局部的损失。原始的弧损失函数如下所示:
本实施例中,为使模型适应多标注数据,通过修改模型的原始损失函数来充分利用多标注数据的所有答案。假设一个句子被K名标注人员标注,产生的多标注数据。对于第i个词,K名标注人员相应标注的K个核心词表示为一个列表H=[h
假设标签集为L={l
假设K名标注人员相应标注的K个依存关系标签表示为Y=[y
在模型训练迭代中最小化整体损失,使差异变小从而达到最优化结果。
经过迭代训练,得到最终的句法分析模型,能对任意输入句子解码分析出句法树结果。得到数据的句法信息之后,可用于抽取远距离信息以适应其他自然语言任务需要。
在此基础之上,可以为多种标注结果设置权重值。例如,使用一个标注人员与其他标注人员的一致率来衡量他的标注能力,一致率越高,其权重越高。
如果有K个标注人员{a
这样,第i个词的弧损失函数修改为:
这里不再次为依存关系类型损失加权,那么最终的损失函数为:
以上说明了本实施例中损失函数计算方式,实际应用中可以采用其他计算方式,不应当将其理解为对本申请的限定。
依存句法树示例如图4,其中s
现有模型使用黄金标准数据库,黄金标准数据库中的每个句子只有一个标准答案,如图4所示。图4是依存句法数据的图形化表达,对应的数据存储的CoNLL格式如图5所示,其中第二列的词的向量表示,第七列是对应的核心词序列标准答案.
本申请让多个标注人员根据标注指南来标注同一个句子,从而得到多种标注结果。每一个句子会有多个句法树标注答案,图6是两个人标注的示例,句子上方是一个人的标注结果,句子下方是另一个人的标注结果。对应的,本申请在CoNLL格式的基础上进行了修改,使得数据格式也适应多标注形式,如图7所示。其中前10列与CoNLL格式一致,第11列到第12列分别是第一个标注人员的标识、核心词序列标注答案,第14列到第15列分别是第二个标注人员的标识、核心词序列标注答案。
按照本申请给出的方案修改Biaffine Parser基本模型的数据输入格式和损失函数,然后就可以直接使用多标注数据进行训练了。经过迭代训练后可得到一个句法分析模型,对任意输入句子可给出其句法树结果。
下面对本申请实施例提供的一种基于多标注数据的依存句法分析模型训练装置进行介绍,下文描述的一种基于多标注数据的依存句法分析模型训练装置与上文描述的一种基于多标注数据的依存句法分析模型训练方法可相互对应参照。
如图8所示,本实施例的基于多标注数据的依存句法分析模型训练装置,包括:
训练样本获取模块801:用于获取词序列以及所述词序列的多种标注结果,对于所述词序列中的每个修饰词,所述标注结果包括弧和依存关系标签,每种标注结果来自不同的用户;
输入输出模块802:用于将所述词序列输入依存句法分析模型,得到弧得分和标签得分;
损失计算模块803:用于根据目标损失函数,计算所述弧得分和所述标签得分相对于所述多种标注结果的损失值;
迭代模块804:用于通过迭代训练,以最小化所述损失值为目的,调整所述依存句法分析模型的模型参数,以实现对所述依存句法分析模型的训练。
本实施例的基于多标注数据的依存句法分析模型训练装置用于实现前述的基于多标注数据的依存句法分析模型训练方法,因此该装置中的具体实施方式可见前文中的基于多标注数据的依存句法分析模型训练方法的实施例部分,例如,训练样本获取模块801,输入输出模块802,损失计算模块803,迭代模块804,分别用于实现上述基于多标注数据的依存句法分析模型训练方法中步骤S101,S102,S103,S104。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的基于多标注数据的依存句法分析模型训练装置用于实现前述的基于多标注数据的依存句法分析模型训练方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本申请还提供了一种基于多标注数据的依存句法分析模型训练设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上文所述的基于多标注数据的依存句法分析模型训练方法。
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的基于多标注数据的依存句法分析模型训练方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
机译: 基于数据共享的模型训练方法和装置
机译: 基于数据共享的模型训练方法及装置
机译: 基于数据共享的模型训练方法及装置