一种可利用专家知识的申请书多标签层次分类方法转让专利

申请号 : CN202110866392.X

文献号 : CN113761197B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杜一肖濛乔子越周园春

申请人 : 中国科学院计算机网络信息中心

摘要 :

本发明公开了一种可利用专家知识的申请书多标签层次分类方法,其步骤包括:1)对于申请书中的各类别文本数据,分别抽取每一所述文本数据中各类别的文本信息;对每一所述文本数据进行编码后添加对应的类别编码并发送给词等级的编码器,得到表征向量;2)将每一文本数据对应的表征向量输入文档等级的编码器,得到申请书的表征向量;3)利用申请书的表征向量与初始化的预测信息,预测申请书在学科体系的第n层级的标签;4)基于申请书在学科体系的第n层级的预测标签和申请书的表征向量,预测申请书在学科体系的第n+1层级的标签;5)如果当前层级为学科体系的最后层级则完成预测,得到最细粒度标签;否则返回步骤4),进行下一层级预测。

权利要求 :

1.一种可利用专家知识的申请书多标签层次分类方法,其步骤包括:

1)对于申请书中的各类别文本数据,分别抽取每一所述文本数据中各类别的文本信息;对每一所述文本数据进行one‑hot编码后,在该文本数据的编码结果前添加代表该文本数据所对应类别的类别编码token,得到该文本数据对应的文本序列并发送给词等级的编码器,得到该文本数据对应的带有对应类别信息的表征向量;

2)将每一文本数据对应的表征向量输入文档等级的编码器,得到所述申请书的表征向量;

3)利用所述申请书的表征向量与初始化的预测信息,预测所述申请书在学科体系的第n层级的标签;其中,如果为第一次预测并有专家提供的所述申请书在学科体系的前n层标签,则预测信息初始化为L={lroot,l1,…,ln},lroot为学科体系中层次学科序列的根标签,ln代表第n层的标签;如果为第一次预测且没有专家提供的知识,则预测信息也会初始化为L={lroot};然后将初始化的预测信息L通过一个查找表来获得L中每个标签的连续向量表示,然后根据所获得的标签连续向量表示与申请书的表征向量通过多头注意力机制预测所述申请书在学科体系的下一层标签;其中,通过多头注意力机制预测所述申请书在学科体系的下一层标签的方法为:a)首先将L中每个标签的连续向量表示切成为m个相同长度的头向量,其中m为多头自注意力机制的头数;然后将每个头向量分别通过三个全链接层以计算该标签相对L中其他标签的Query、Key、Value,然后计算该标签每个头向量的Query与其他标签的Key的点乘,并进行归一化缩放以计算该标签对应L中其他标签的每个头向量的注意力值,然后根据所得各注意力值对L中其他标签的Value进行加权求和得到该标签的多头表示;然后将该标签的多头表示与该标签的连续向量表示进行残差链接相加并归一化后得到该标签的表征向量;b)将所述申请书的表征向量切成为m个相同长度的头向量;然后将所述申请书的头向量分别通过m个全链接层分别获取Key与Value,并用标签的表征向量所切成的m个头向量通过m个全链接层获取Query;然后计算各标签头向量相对于申请书头向量的多头注意力值,并对所得各多头注意力值与所述申请书的头向量的Value加权求和后与所述申请书的头向量相加并归一化得到预测向量,将预测向量通过Softmax层预测得到所述申请书在学科体系的下一层标签;

4)基于所述申请书在学科体系的第n层级的预测标签和所述申请书的表征向量,预测所述申请书在学科体系的第n+1层级的标签;

5)如果当前层级为学科体系的最后层级则完成预测,得到所述申请书所属的最细粒度标签;否则返回步骤4),进行下一层级预测。

2.如权利要求1所述的方法,其特征在于,得到文本数据对应的表征向量的方法为:词等级的编码器首先用一个随机初始化的嵌入式表达层将该文本数据中每个词的one‑hot编码转换为连续的向量表示,然后根据每个词在句子中的位置得到该词的位置编码向量表示,同时将同一词的位置信息通过仿射变换进行建模获得位置编码,将每个词的编码向量表示与位置编码向量表示相加得到该词的向量表示;然后分别计算该文本数据中每个词w与该文本数据中其他词的多头自注意力,得到该词w的最终的表征向量;以及利用多头自注意力机制计算该文本数据的类别编码token的表征向量;然后根据该文本数据的类别编码token的表征向量与该文本数据中各词的表征向量生成该文本数据对应的表征向量。

3.如权利要求2所述的方法,其特征在于,所述多头自注意力的计算方法为:首先将词w的最终向量表示切成为m个相同长度的头向量,其中m为多头自注意力机制的头数;然后将每个头向量分别通过三个全链接层以计算该词w相对其他句子中词的Query、Key、Value,然后计算该词w每个头向量的Query与其他词的Key进行点乘并进行归一化缩放以计算该词w对应其他词的每个头向量的注意力值,然后根据所得各注意力值对其他词的Value进行加权求和得到该词w的多头表示;然后将该词w的多头表示与该词w的最终向量表示进行残差链接相加并归一化后得到该词w的表征向量。

4.如权利要求1或2或3所述的方法,其特征在于,所述文档等级的编码器利用多头注意力机制得到所述申请书的表征向量。

5.如权利要求1所述的方法,其特征在于,每一层标签预测时,如果预测到新的标签,则将该层预测的标签和之前的预测信息进行拼接作为预测下一层级标签的输入信息。

6.一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1至5任一所述方法中各步骤的指令。

7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一所述方法的步骤。

说明书 :

一种可利用专家知识的申请书多标签层次分类方法

技术领域

[0001] 本发明属于文本数据挖掘,神经网络,多类别文本分类领域,多标签层次分类领域,具体涉及一种基于多层编码器的复杂结构文本信息抽取的科研项目申请书的层次多标签生成方法。

背景技术

[0002] 近年来,随着中国学术科研经费的高速增长,学术研究相对应的研究经费申请数量也呈现着指数级别的增长。一般来说,科研专家在申请科学研究经费需要提交一份科研项目申请书,同时需要指定科研申请书所属的学科领域,从而获得特定学科的资助。学科领域是由科研经费管理的相关单位进行划分的一种具有层次性的树形结构,学科领域是为了规范、指导学科发展,分配科研资源等目的构建的由经费管理单位维护的体系结构。随着科研申请的指数增长、学科划分的不断精细化,申请者很难在层次结构化的学科体系中选择申请书应从属的学科,同时了解学科体系的管理者也很难手工去为如此大体量的申请书进行纠错。同时,申请书数据不同于普通的文本数据,其具体为多种类文本、关键词、其他属性等不同形式数据组成的复杂结构文本数据。并且,在申请书的撰写、分类过程中,专家可能可以在较为容易判断的大类学科中提供对于模型的指导,并利用模型生成最为合适粒度的层级标签。
[0003] 因此,如何具体利用学科体系结构这一特定的层次结构以及如何利用多类型的文本数据以及专家可能提供的专家知识为申请书分配合适的学科领域成为了一种急需解决的问题。针对这类申请书的层次多标签分类任务,已经有学者在文本的层次多标签分类这一任务上提出了解决方法,这些方法主要有通过将层级标签体系看作是每层独立的分类任务来进行分类的本地视角;或是将层级标签看作是平铺的一层标签来进行全局优化的全局视角;或是通过设计特定的目标函数和神经网络架构,通过特定的神经网络层次间传递的参数来使得模型预测的标签序列满足整体标签的层次性,并利用特定的目标函数使得模型能够在全局视角与不同层级的视角进行优化;或是把标签层次树看作是一个图结构,通过使用图神经网络来捕捉标签的表征,并结合文本表征来进行层次分类。
[0004] 以上方法主要遇到的问题有:1)对于申请书这一类由多种类文本组成的实体,使用文本分类的模型无法应用申请书内各类文本的类别信息。2)目前的文本层次多分类模型对于每一阶段的预测采用隐向量的表示,这样的方法无法利用专家学者所提供的知识为分类进行指导,即无法从中间阶段开始预测。3)过往的文本层次多分类模型的准确度无法应用在申请书分类这一应用场景中。

发明内容

[0005] 针对现有技术中存在的技术问题,本发明的目的在于提供一种对于标题文本数据、摘要文本数据、关键词文本数据以及研究领域文本数据所组成的项目申请书的结合层次学科体系的多标签分类方法。本技术方案主要利用了申请书内部的多类别文本数据,并且通过多类别文本数据之间的结合信息,获取申请书数据的表征向量。在初始状态,模型会利用专家提供的知识或者初始化的预测结果进行第一次预测,对于每一文本数据中的每一文本信息,初始预测的是学科体系的第一层,而使用专家知识进行初始化预测则可以从专家知识指导的中间层开始预测;在中间状态,通过结合学科体系内的层级结构,模型会结合上次预测的结果以及申请书的表征向量来进行下一层级的标签生成;对于每一文本数据中的每一文本信息,在每一层将会生成一个标签。在每一次的预测过程中,模型会判断是否需要停止在该学科层级,如果是需要,则目前生成的标签代表申请书所属的最细粒度,若不需要,则模型会对该层所属的标签,根据上层预测的标签信息与申请书的表征向量,在本层级中选择最合适的学科标签并进行下一次的预测。
[0006] 本发明具体包括以下步骤:
[0007] 步骤一:模型在步骤一中,对于申请书中的各类别文本数据,分别抽取文本数据中各类别的文本信息。在对文本数据进行one‑hot编码后,在每一文本数据的编码结果前添加一枚特定的代表该文本数据所对应类别的类别编码token,然后将编码后的文本序列通过词等级的编码器。具体来说,词等级的编码器首先会用一个随机初始化的嵌入式表达层将每个词的离散的one‑hot编码转换为连续的向量表示,然后每一个词向量会根据这个词在句子中的位置得到该词的位置编码,在一个文本编码序列中每个编码的位置会有唯一的位置编码向量,常用的位置编码方式是通过正弦函数和余弦函数,将每个编码的向量表示与位置编码的向量表示相加即可得到每个词在句子中带有位置信息的唯一表示。然后,序列中的每个词会分别计算与其他词的多头自注意力(multi‑head self‑attention),多头自注意力的计算方法是句子中的词的向量表征会先切成为头数量个相同长度的头向量,每个头向量分别通过三个针对每个头向量初始化的全链接层以计算这个词相对其他句子中词的请求(Query)、索引(Key)、值(Value),然后通过计算每个词的每个头的Query与其他词的Key的点乘(dot‑product)的结果并进行归一化缩放以计算各词对应其他词的每个头的注意力值,通过利用这个注意力值对其他词的Value进行加权求和得到该词的多头表示,最后与每个词的原始向量进行残差链接相加并归一化后得到该词的表征。由于我们使用了特定的类别编码来表示一条文本数据的类型,如上文所述,多头自注意力机制会计算这个特定类别编码对应文本中其他编码的特定注意力,从而使得词等级的编码器能够获取该类型编码对于该条文本数据中每个编码的特定的关注度与聚合表征向量,这样就可以得到该文本特定类型的表征向量。
[0008] 步骤二:模型将步骤一中生成的每一个文本数据所对应的表征向量输入文档等级的编码器,文档等级的编码器会利用步骤一中介绍的多头注意力机制,将每一个文本的特定类型的向量表征按头数进行切分为头数量个头向量,然后每个头向量利用另外三个针对每个特定头初始化的全链接层以计算这个文本向量相对其他文本向量的Query、Key、Value,再利用步骤一中提到的方法计算每一个特定类型的文档对于其他所有文档的注意力值,并通过这个注意力值加权求和后并与文本自身向量相加,归一化后输出获取整个申请书的表征向量。
[0009] 步骤三:模型在步骤三中利用步骤二所生成的申请书表征向量与初始化的或是步骤四传达来的上一层级预测信息L,对当前层级的标签进行预测。该步骤首先进行预测信息的初始化,分为三种情况:
[0010] 1)如果为第一次预测并有模型外的专家信息进行提供,模型会通过专家提供的前n级标签进行预测信息的初始化,预测信息会被初始化为L={lroot,l1,…,ln}其中lroot为层次学科序列的根标签,ln代表第n层的标签。
[0011] 2)如果为第一次预测并没有模型外的专家信息,则模型会从初始状态开始进行第一层的预测,预测信息也会初始化为L={lroot}。
[0012] 3)如果不是第一次预测,模型会根据步骤四传来的上层标签预测信息,对当前层级的预测信息进行初始化。例如进行到第m次预测,则步骤四传递来的上层标签预测信息所初始化的预测信息为L={lroot,l1,…,lm‑1}。
[0013] 获得了当前步骤的预测信息L后,模型会将L通过一个查找表(Look‑up table)来获得每个标签的连续向量表示,随后模型会利用这一组当前已知层级的标签向量表示与申请书的向量表示通过多头注意力机制来对下层标签进行预测。具体来说,模型首先会对标签的向量表示利用步骤一中的自注意力机制计算标签间的多头自注意力,通过自注意力加权相加后并与标签向量向量获得每个标签的多头自注意力处理后的向量表示,将标签的多头自注意力的向量表示与申请书的向量表示进行步骤一中相同的多头切分,然后将申请书的头向量分别通过头数个全链接层分别获取Key与Value,并用标签的头向量通过头数个全链接层获取Query,利用步骤一中的方法计算各标签头向量相对于申请书头向量的多头注意力值,并用这个多头注意力值加权地将申请书头向量的Value相加,然后与原申请书头向量相加并归一化得到本层的预测向量,由于多头注意力机制,本层的预测向量会与之前的预测结果、申请书的语义信息有着联系,模型故能通过这种方式捕捉标签在学科体系上的层次约束。生成预测向量后输入到步骤四。
[0014] 步骤四:模型通过步骤三生成的预测向量进行当前层级的学科标签预测,判断是否完成预测或需要返回步骤三再次进行下一层级预测。具体方法是预测向量通过一个全链接层与一个Softmax层,以获得该学科层级中各标签的可能性。在每一层学科层级中我们都加入了一个结束预测的标签,如果结束的可能行最大,则模型会停止预测并输出预测标签;如果预测到新的标签,则模型会将本层预测的标签和之前的预测信息进行拼接,作为上一层级的预测信息返回步骤三进行下一个层级的预测。
[0015] 本发明的优点如下:
[0016] 1)本发明利用多层编码器,通过利用申请书中不同文本的类型信息,使得模型能够更有效地对申请书的语义信息进行抽取,反映到结果上是表现效果更好。对比采用类型编码的编码器与未采用类型编码的编码器的预测准确度(以Micro‑F1和Macro‑F1为评价指标),采用了类型编码的编码器可以分别得到0.9%与2%的整体提升。
[0017] 2)本发明通过使用编码解码器结构,序列地生成每一层级的标签,这样的形式使得模型能够从中间状态进行预测,从而可以利用到专家信息改进模型的表现力。通过利用不同层级上专家信息进行标签的初始化,第一层标签为专家初始化的在整体上可以得到1%的性能提升,第一、第二层标签为专家初始化的可以得到2.4%的性能提升,第一、第二、第三层标签为专家初始化的可以得到5.2%的性能提升。
[0018] 3)通过在解码器端显式地传递标签信息,模型可以更好地捕捉学科体系内子学科之间的从属关系,从而可以得到更好的结果。在最后的结果上,有94.3%的模型生成标签是符合学科体系结构的,这比其他不采用显式传递标签信息的模型提升了0.7%~13.7%。

附图说明

[0019] 图1为本发明的方法流程图。
[0020] 图2为词等级的编码器细节。
[0021] 图3为第三次预测时的解码器。

具体实施方式

[0022] 下面结合附图对本发明进行进一步详细描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0023] 本发明主要应用的目标是任意一篇申请书数据以及基金管理者所划分的学科层级体系。通过使用申请书的一些主要的文本语义信息,如标题、摘要、关键词、研究领域等,通过考虑不同文本的不同类别以及自注意力机制,生成该申请书所代表的表征向量,再利用解码器结合上次预测结果、专家信息或者是初始化的状态向量逐层级生成该申请书应所属的最合适粒度的学科代码。经由这些流程,就可以将一篇申请书分配到一个学科层级体系所划分的子学科中。本发明的流程如图1所示:
[0024] 步骤一:模型通过基于Transformer(编码器)的自注意力机制抽取申请书中主要的文本数据的语义信息。首先在预处理阶段,模型对文本数据的每个字符分别分配一个编码,并在每种文本数据头部添加一枚特定的代表该类别的编码。这个特定类别的编码表示了该文档的类型,例如摘要、标题、关键词或者是研究领域等。然后模型将生成的文本编码序列通过词等级的编码器。词等级的编码器的具体组成如图2所示,输入的文档编码序列经过位置编码以保存每个序列的位置信息后,然后通过上文提到的多头自注意力层、全链接层,并在多头注意力和全链接层之间进行残差连接将处理前的向量表示与处理之后的向量表示相连并相加、归一化。最后输出的每一个字符的表征输入到池化层中,由于我们使用了特定的类别编码来表示一条文本数据的类型,而词等级的编码器会利用自注意力机制获取该类型编码对于该条文本数据中每个词的特定的关注度与聚合表征向量。所以对于不同的文档来说,经过词等级的编码器所得到的类型编码的表征向量,就是该类型文档特定的语义表达,故在池化层的中,模型将会只使用代表类型的头部向量来表示每个文档。
[0025] 步骤二:模型将步骤一中生成的每一个文本所生成的表征向量输入文档等级的编码器,文档等级的编码器类似于词等级的编码器,但是由于文档间没有顺序关系,故没有位置编码的过程。如前文所描述,文档等级的编码器会计算每一个特定类型的文档对于其他所有文档的注意力,获取到的各文档表征同样通过一个全链接层,并在自注意力层与全链接层间通过残差链接将处理前的向量表示与处理之后的向量表示相连并相加、归一化。最后输出的表示向量通过一个mean pooling池化层获取整个申请书的表征。
[0026] 步骤三:模型通过基于自注意力的解码器,输入一个从专家知识初始化的状态表征或者从初始状态初始化的状态表征或者之前预测的状态表征,具体的初始化步骤如前文所述,以及步骤二整合生成的申请书表征,从而生成进行当前状态的预测向量。图3为模型在进行第三次预测时的过程,第三次预测的状态集L<3将会初始化本次预测的标签信息,暨L<3={lroot,l1,l2},其中lroot表示学科层次体系中的最上级标签,l1,l2分别代表在第一次预测与第二次预测模型所得到的标签。模型通过标签的向量表嵌入式表达这三个标签,形成第一层解码器的输入表征 之后处理步骤具体是:1、在经过对输入的表征进行位置编码后输入N层的解码器。2、如前文所述,解码器的第一步骤是对之前标签信息进行多头自注意力计算,通过残差链接与归一化后输入到多头注意力组件中。3、多头注意力组件利用编码器生成的申请书表征计算与之前的标签信息进行注意力加权。4、经过残差链接与线性层链接后得到下一层解码器的输入。解码器重复N次本步骤中所提到的1、2、3、4后得到第3层级的预测向量 同样的,模型也可以利用专家信息初始化本次预测的标签信息,并从任意的层级开始预测。
[0027] 步骤四:模型通过步骤三生成的预测向量进行当前层级的学科标签预测,如果预测出来的结果是结束预测,模型将会返回当前生成的全部标签作为该申请书的标签。如果结果不是结束预测,模型将会把该预测向量和本次预测结果保存,并传递到下一次的预测。
[0028] 对于某一篇需要进行分类的申请书数据,通过步骤一、步骤二的编码器获取到申请书的表征信息,再利用专家信息或者直接从初始状态初始化标签信息。通过进行步骤三获得当前状态下的预测向量,再进行步骤四以决定是否需要停止预测或者需要再次回到步骤三进行下一层级的预测。通过这样的流程能够得到这篇申请书所应从属的最细粒度分类。
[0029] 尽管为说明目的公开了本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。