基于预训练文本编码模型的分类体系扩展方法

文档序号:7722 发布日期:2021-09-17 浏览:32次 英文

基于预训练文本编码模型的分类体系扩展方法

技术领域

本发明属于人工智能

技术领域

,具体涉及一种基于预训练文本编码模型的分类体系扩展方法,根据已有分类体系和相关词定义进行自监督训练的分类体系扩展技术。

背景技术

随着互联网的发展和大数据时代的到来,社会上积累了大量可用的数据资源。如何组织异构分布的海量信息,挖掘更深入的知识内容,并为用户提供高效精准的信息服务成为备受关注的问题。

分类体系是一种由上下位关系组成的语义层次结构,是知识图谱的重要组成部分。构建准确完善的分类体系有助于解决自然语言处理以及信息检索等领域的诸多问题,比如查询理解、问答系统、个性化推荐等。当今世界,网络资源和人类知识的边界不断扩展,新知识不断快速涌现,但是现有的分类体系却难以跟上这种增长速度,尤其在“医疗”“法律”等特殊领域上,分类体系覆盖范围不足的问题更为突出。而对于大规模数据的分类体系扩展,有着人工方式工作量巨大,以及专家难寻等原因,十分依赖计算机的自动化构建技术。这使得通过计算机技术自动化从大规模语料中扩展上下位关系成为研究重点。

近些年,从文本语料中扩展分类体系的方法取得了显著的进步。目前已存在的分类体系扩展方法主要可以分为两类,传统的分类体系扩展方法主要采用基于模式的词法匹配方法,这类方法通过设定特定的语法模式从大规模语料中抽取上下位关系从而扩展分类体系,在英文语料中取得了一定的效果,然而对于中文语料效果很差;近些年,随着深度学习以及自然语言处理中预训练模型的发展,利用深度学习模型来学习不同的文本表示向量,以提升分类体系扩展的效果成为一种主流方法。

然而,此任务目前远未解决,主要由以下三个原因:1.文本语料库的大小、主题和质量可能会有所不同,现有方法不能针对所有情况开发一种通用泛化的解决方案。2.对于新兴领域以及特定领域和在非英语以及资源不足的语言情况下,分类体系扩展任务仍未得到充分研究。3.目前大部分方法对于分类体系扩展的自动化方法准确率较低,原因是很难从自由文本中获得分类体系中上下位关系的语言规律。

综上所述,基于预训练文本编码模型的分类体系扩展是一项创新的研究问题,具有重要的研究意义和应用价值。

发明内容

本发明的目的是解决现有的自动化分类体系扩展中,需要大量相关语料而准确率较低的问题。提出一种基于预训练文本编码模型的分类体系扩展方法,在仅需输入现有分类体系、需要插入的实体词汇,以及实体词定义集合的情况下,生成自监督训练数据,通过特定的相似度差额函数支持下的动态差额损失函数,微调现有预训练文本编码模型,使得分类体系扩展更加准确。

为实现上述目的,本发明采用如下技术方案:

基于预训练文本编码模型的分类体系扩展方法,包括以下步骤:

步骤1、生成自监督训练数据

根据给定的已有分类体系和其中词定义的情况下,不借助外部数据,生成用于后续自监督训练的数据,这部分数据由分类体系路径和词定义组成;

步骤2、分类体系路径采样

经过步骤1的自监督训练数据生成,已经有了可以用于训练的分类体系路径数据,但是还需要根据训练的需求进行采样,得到正负采样数据集;

步骤3、微调预训练文本编码模型

将步骤2的正负采样数据集分别输入预训练文本编码模型,用动态差额损失和反向传播算法更新模型参数,从而微调模型,使其具有判断分类体系路径是否合适的能力;

步骤4、判断待插入实体词在分类体系中的位置

根据待插入实体词和其词定义,生成候选分类体系路径并输入步骤3训练后的模型,根据模型给出的评分排序并判断其位置。

本技术方案进一步的优化,所述步骤1中分类体系路径的具体定义是:

在给定的分类体系中,从某个节点到根节点的最短路径上的全部节点所形成的具有顺序的一系列节点集合。

本技术方案进一步的优化,所述步骤1自监督训练数据生成的具体方法是:

将给定的分类体系中每个节点都生成一条分类体系路径作为正确分类体系路径,再对于每个非根节点,与其余(|V|-2)条分类体系路径相结合生成(|V|-2)条错误分类体系路径,V是分类体系上全部节点集合。

本技术方案进一步的优化,所述步骤2分类体系路径采样的具体方法是:

每轮采样过程中,对每个非根节点进行采样,其采样数据包括其对应的分类体系路径作为正采样,以及从其对应错误分类体系路径中随机抽取的一条错误路径作为负采样;

该采样过程在每轮训练中都需要重复随机抽取,以采样到不同的错误路径。

本技术方案进一步的优化,所述步骤3中输入的数据由两部分组成,一部分是分类体系路径,另一部分是该分类体系路径所对应实体词的词定义文本,在输入模型时,将两部分组成一串文本,最前端为[CLS]分类符号,前半部分为词定义文本,中间使用[SEP]符号分割,后半部分为分类体系路径上的所有实体词按顺序排列组成文本。

本技术方案更进一步的优化,所述步骤3中微调预训练文本编码模型的具体方法是:

预训练文本编码模型所输出的[CLS]分类符号对应的向量数据会被输入多层全连接神经网络,该神经网络将输出一个标量,表示分类体系路径是否合适的评分;将两个评分按照前文所提到的动态差额损失算法得出损失,然后用反向传播算法更新模型的参数,从而微调预训练文本编码模型,以及其上增加的多层全连接神经网络。

本技术方案更进一步的优化,所述动态差额损失的具体定义是:

首先定义动态差额函数为:

其中P和P′分别代表正确分类体系路径和错误分类体系路径,k为模型的超参数,根据给定分类体系的大小进行设置;

动态差额损失为:

其中表示正采样的分类体系路径集合,表示其对应的负采样分类体系路径集合,s(P)和S(P')分别表示正在训练的模型对于分类体系路径P,P'的输出分数,max函数表示将从两个参数中选取更大的值作为输出。

本技术方案进一步的优化,所述步骤4中判断待插入实体词在分类体系中的位置具体方法是:

给定的待插入实体词和其名词定义,将该待插入实体词与已有分类体系上的所有正确分类体系路径结合,得到|V|个可能的分类体系路径,将所有的分类体系路径与名词定义结合输入到微调后的模型中,根据得到的分数排序,排名第一的分类体系路径被认为是正确的分类体系路径,根据该分类体系路径,可以判断该待插入实体词在分类体系中的位置。

区别于现有技术,上述技术方案的优点和积极效果:

本发明开创性地提出一个利用预训练本文编码模型微调的自监督分类体系扩展方法,该方法开创性的将分类体系扩展问题化为判断分类体系路径的合适程度,并将词定义和分类体系路径一同输入预训练文本编码模型,通过特定设计的差额计算公式和动态差额损失函数,来微调模型。特别的,为了更好的使得模型学习到分类体系路径之间的差别,本方法设计了特定的差额计算公式,该公式可以反应两个不同分类体系路径之间的相似度,从而形成用于计算损失的差额。该发明有效的提高了以往的分类体系扩展方法的准确度以及其他评判标准,并大量的减少了在训练和预测过程中所需要的语料文本。

附图说明

图1为基于眼底图数据集迁移学习的视杯视盘分割方法的流程图;

图2为眼底图数据集迁移学习模型的示意图;

图3为跨眼底图数据集视盘分割结果示意图;

图4为具有动态可学习系数的注意力模块的示意图;

图5为跨眼底图数据集视杯分割结果示意图。

具体实施方式

为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。

本发明提出了一种基于预训练文本编码模型的分类体系扩展方法,如图1所示,为基于眼底图数据集迁移学习的视杯视盘分割方法的流程图。

本发明解决分类体系扩展这一研究问题,图2为眼底图数据集迁移学习模型的示意图,是该问题的定义图,左侧为给定需要扩展的现有分类体系,中间为需要向分类体系中添加的实体词以及其词定义,右侧为可能的扩展位置。例如,图中所示的给定分类体系上,待扩展的新实体词“Deixis”,应当插入到“Semantic”节点下。

本发明提出的基于预训练文本编码模型的分类体系扩展方法,在实施阶段采用了普遍使用的国际语义大会(SemEval)2016中任务13中所提供的数据集。该数据集提供了食物(food)、科学(science)、环境(environment)三个不同领域的分类体系。在划分数据集时,将每个不同分类体系中80%的节点作为训练集,即已知的需要扩展的分类体系;随机选取占总节点数量20%的叶节点作为测试集,即需要插入到分类体系中的新实体。

在具体实施过程中,本发明所选用的预训练文本编码模型为常用的自然语言理解模型BERT。通过微调BERT可以得到一个适用于当前提供的分类体系的扩展模型。

第1步、自监督训练数据生成

该阶段的目标是根据具有分层结构的已有分类体系,生成可以用于微调预训练文本编码模型的自监督训练数据。本方法为自监督方法,并不依靠其他的分类体系获取训练数据,而通过当前需要扩展的已有分类体系生成自监督训练数据,从而微调预训练文本编码模型。

构建分类体系路径;

一个分类体系由上下文关系集合和实体集合组成的有向无环图,表示为T=(V,E),其中T表示该分类体系,每个节点u∈V是一个实体词语,而每个边(u,v)∈E表示子节点u∈V和父节点v∈V之间的上下位关系。

分类体系具有分层结构,存在一个根节点r∈V没有父节点,即不存在(r,v)∈E;且可以连通所有分类体系中的节点,即对任意v∈V,存在v1,v2...vD-1∈V,且(r,v1),(v1,v2)...(vD-2,vD-1),(vD-1,v)∈E。可以称Pv=[r,v1,v2...vD-1,v]为该节点v的分类体系路径。当该P中节点数量最少时,则D为v节点在该分类体系中的深度。

对于给定的已存在分类体系,本方法会对每个节点生成一条分类体系路径(当某个节点存在多条分类体系路径时,选取其中最短的一条)。

在执行过程中,首先需要获取所有实体词的词定义,包括已知的分类体系上的词以及需要插入的新实体词。本发明获取词定义的方法为从Wikipedia网站上抓取每个词条中的第一段话中有关于该词条的句子。对于多词组合而成的词,本发明通过简单结合所有组合词的词定义来形成完整词的词定义。

此后,根据需要扩展的分类体系的结构,对其上每个节点(包括根节点)生成其对应的正确分类体系路径。然后,为生成采样数据,需要对每个非根节点,再通过结合其他分类体系路径的方法生成错误的分类体系路径作为负样本数据。也即,对每个非根节点都有对应的一条正确分类体系路径,以及(|V|-2)条错误分类体系路径(除该节点路径和其父节点的路径)。

训练时:

第2步、分类体系路径采样

经过第1步的自监督训练数据生成,已经有了可以用于训练的分类体系路径数据,但是还需要根据训练的需求进行采样;

对于给定的分类体系T=(V,E),本方法将其中每个非根节点v∈V,v≠r,生成的分类体系路径,结合该节点所代表实体词的词定义作为一条正采样数据,V是分类体系上全部节点集合。同时,本方法将所有其他分类体系路径与该节点相链接并结合该节点的词定义作为负采样数据。具体结合方法为,对u∈V,u≠v,u≠vD-1,P=[r,u1,u2...uD-1,u,v]。

在微调模型过程中,会进行多轮的训练。每轮训练中,都需要进行重新的采样,采样步骤如下:

1.按照顺序选取一条非根节点的正确分类体系路径作为正采样

2.随机从该正确分类体系所对应的错误分类体系路径集合中抽取一个作为负采样

3.将上述步骤重复,直到所有的非根节点都被采样

以上为在一轮训练中所进行的采样步骤,每轮训练过程中,都需要重复上述步骤。

第3步、微调预训练文本编码模型

该阶段的目标是通过微调预训练文本编码模型,使得模型具有判断分类体系路径是否合适的能力,对于不合适输入路径,模型将会打低分,合适的输入路径模型将会打高分。

步骤3.1、输入采样数据对;

本发明在微调预训练文本编码模型时,采用的损失函数为动态差额损失函数,因此在每组训练输入采样数据时,需要输入相同数量的正采样和负采样数据,而且正采样和负采样对应相同的节点。

在每轮训练时,所有的正采样都会被输入,而负采样将从对应节点的所有可选负样本中随机抽取一个。

在输入预训练文本编码模型时,将实体词定义和分类体系路径作为两句话组合输入,中间用分割符号分开。输入单个样本,预训练文本编码模型将会返回一串向量:

Model(S,P)=x[CLS],x1,...,x[SEp],xv,...,xr,x[SEP]

其中x表示向量,[CLS]表示预训练文本编码模型中常用的分类符号,[SEP]表示文本尾部和中间使用的分割符号,前半部分为对于词定义语句的编码,后半部分为对分类体系路径中每个实体词的编码。

步骤3.2、计算动态差额;

为了区分不同负采样之间的差别,本方法将传统的差额损失函数做了调整,将其中的固定差额转变为动态差额。这样做的好处主要有以下两点:(1)先前的研究成果表明,模型更好的训练学习到分类体系中上下位关系的细微和深入差别。(2)在分类体系中,并非所有节点间的相似度都是相同的,通过设定不同的差额,得到不同的损失量,可以让模型更好的学习到节点间的区别。

具体计算差额公式如下:

其中P和P′分别代表两个计算差值的路径节点集合,k为模型的超参数,根据给定分类体系的大小进行设置。该差额计算方法可以反应负样本和正样本在分类体系中的相似度。

步骤3.3、利用动态差额损失函数微调预训练文本编码模型;

将预训练文本编码模型所输出的[CLS]向量输入一个多层感知器,得到一个数值,作为当前输入分类体系路径的评分,即s(P)=MLP(v[CLS]),其中s(P)表示当前输入分类体系路径的评分,MLP表示多层感知器。

动态差额损失函数为:

其中表示正采样的分类体系路径集合,表示其对应的负采样分类体系路径集合,s(P)和S(P')分别表示正在训练的模型对于分类体系路径P,P'的输出分数,max函数表示将从两个参数中选取更大的值作为输出。

利用该损失函数配合Adam优化器,每次输入一定量的数据,经过多轮迭代,可以微调预训练文本编码模型,使得其可以对于给定的分类体系路径输入给出评分。

参阅图3所示,为跨眼底图数据集视盘分割结果示意图,展示了整体的微调过程。采样后的数据将被用于微调预训练文本编码模型。在输入预训练文本编码模型时,将实体词定义和分类体系路径作为两句话组合输入,中间用分割符号分开。每组训练的数据将有一半为正采样,一半为负采样。

参阅图4所示,为具有动态可学习系数的注意力模块的示意图,预训练文本编码模型最后一层神经网络会对[CLS]输出表示向量,将该表示向量输入全连接神经网络层,得到一个标量输出,为对模型输入的分类体系路径的打分。正采样与其对应的负采样的分类体系路径,按照动态差额损失函数计算得到Loss,用Adam优化器和反向传播算法更新模型内的参数,从而达到微调模型的效果。

该训练过程将进行多轮,具体轮数将根据数据集的不同而做调整,以本次实践为例,Science数据集训练了50轮,Environment数据集训练了45轮,Food数据集训练了55轮。调整应当参照数据集的大小、分类体系的深度以及训练过程中Loss的收敛速度;该模型的微调具有较好的鲁棒性,在一定的训练轮数范围内的训练效果并没有显著差别,这个范围大概在±5。

第4步、针对待插入实体词,判断其在分类体系中的位置

在完成以上步骤,即通过给定分类体系以及其节点定义,微调预训练文本编码模型后,本步骤的任务是利用微调后的模型,判断需要扩展的新实体词应当插入在给定分类体系上的位置。

将需要扩展的新实体词和给定分类体系上所有的分类体系路径(包括根节点)相结合,生成|V|条可能的分类体系路径,每条路径配合该新实体词的词定义输入微调后的模型得到评分,将评分排序,其中分数最高的分类体系所对应的节点即为插入位置。

通过根据已有分类体系所生成的训练数据来微调模型,预训练文本编码模型已经具备了判断分类体系路径是否合适的能力。此时,模型对每个输入的分类体系路径可以得到一个评判是否合适的分值。

给定的待插入实体词和其名词定义,将该待插入实体词与已有分类体系上的所有正确分类体系路径结合,得到|V|个可能的分类体系路径,将所有的分类体系路径与名词定义结合输入到微调后的模型中,根据得到的分数排序,排名第一的分类体系路径被认为是正确的分类体系路径,根据该分类体系路径,可以判断该待插入实体词在分类体系中的位置。

在SemEval-2016 Task13的数据集上验证了本发明提出的基于预训练文本编码模型的分类体系扩展方法。实验采用了三个评估指标:

准确度(Acc):度量正确预测了的分类体系路径的占比

平均倒数排名(MRR):计算正确分类体系路径的排名倒数平均值

Wu&Palmer相似度(Wu&P):评估预测的分类体系路径和真实分类体系路径之间的语义相似度:

以上公式中,定义对于在n个测试的待插入实体词中第i个节点,其正确的分类体系路径为yi,而模型给出的排名最高的分类体系路径为

参阅图5所示,为跨眼底图数据集视杯分割结果示意图,展示了在SemEval-2016Task13的三个英文数据集上本方法的效果以及和其它当前存在方法的对比。对比方法BERT+MLP为简单将BERT输出的Embedding与多层神经网络相结合训练的模型;TaxoExpan和STEAM为两篇2020年发表的论文所提出的方法,其效果来自其论文。实验效果显示,本发明提出的方法相比此前的最好方法STEAM在Acc、MRR、Wu&P三个指标上平均取得了13.0%,14.0%和9.8%的提升。以上对比结果充分说明了本发明提出的方法在自监督分类体系扩展任务上取得了优秀的效果。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。

尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:检测日志序列异常的方法、装置及计算机存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!