CN114942977A - 基于支持句预测的多任务文档级关系抽取方法及装置 - Google Patents
基于支持句预测的多任务文档级关系抽取方法及装置 Download PDFInfo
- Publication number
- CN114942977A CN114942977A CN202210599144.8A CN202210599144A CN114942977A CN 114942977 A CN114942977 A CN 114942977A CN 202210599144 A CN202210599144 A CN 202210599144A CN 114942977 A CN114942977 A CN 114942977A
- Authority
- CN
- China
- Prior art keywords
- sentence
- nodes
- entity
- document
- graph
- 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.)
- Pending
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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本发明是一种基于支持句预测的多任务文档级关系抽取方法及装置,属于计算机自然语言处理中信息抽取技术领域。本发明装置包括文档预处理模块,预训练语言模型,图网络编码模块,图传播模块,支持句识别模块和关系分类模块。本发明方法包括:将文档分句、预处理;以句子为单位使用预训练语言模型进行编码;根据文档结构和预定规则构建图网络;对图网络进行卷积操作;寻找实体对的支持句,获取关系推理路径;对实体对进行关系分类;预先将寻找实体对的前馈神经网络与关系分类的全连接神经网络一起训练。本发明提高了对复杂语境下文档的实体关系的挖掘,及文档级关系的抽取效率,能进一步帮助实现信息抽取、自动问答等多种NLP任务的准确性。
Description
技术领域
本发明属于计算机自然语言处理中信息抽取技术领域,具体涉及一种基于支持句预测的多任务的文档级关系抽取方法及装置。
背景技术
关系抽取(RE)是自然语言处理(NLP)领域中的一项重要任务,其目标是从非结构化自然语言文本中识别出实体以及实体之间的关系,从而构建结构化的实体关系三元组。例如,从句子“清华大学坐落于北京近邻”中,可以抽取出实体关系三元组(清华大学,位于,北京),其中清华大学和北京被称为实体,而位于则是它们之间的关系。关系抽取是一种自动知识获取的重要途径,是构建和扩充知识图谱(KG)的基础任务,是实现信息抽取,自动问答等多种NLP任务的重要基础。
现有关系抽取工作主要聚焦于句子级关系抽取,即根据句内信息进行关系抽取,各类神经网络模型也擅长编码句子级语义信息。而在实际场景中,仍然存在大量的实体间关系是通过多个句子表达的,关系抽取会涉及文本中提到的多个实体,并表现出复杂的相互关联。例如从下面一段文本中抽取实体关系信息:“位于北京的清华大学是中华人民共和国教育部直属高校。其现任校长是邱勇院士。”其中(清华大学,位于,北京)这样的实体关系三元组可以很容易识别出来,但是(清华大学,校长,邱勇)却并不容易识别,因为要想知道“邱勇”是哪个学校的校长,需要先识别指代词“其”指代了哪个实体。
根据从维基百科采样的人工标注数据的统计表明,至少40%的实体关系必须从多个句子中联合抽取。为了实现多个实体间的跨句关系抽取,需要对文档中的多个句子进行阅读并推理,这显然超出了句子级关系抽取方法的能力范围。因此,进行文档级关系抽取的研究势在必行。
现有的文档级关系抽取模型一般以输入文本中的词语作为节点构建图网络,然后在图网络上采用GNN(Graph Neural Network)等图神经网络的方法进行特征传播,最后将两个实体的向量拼接后进行关系分类,得到文档中两个实体间的关系。
文档级关系抽取的研究重点是如何进行特征传播,捕捉长距离的实体间关系。构建图网络的方法应用非常多,主要可以分为两类,分别是同质图和异质图。在同质图中,所有的边都是同一类型的,更新节点表达时均采用相同的方法;在异质图中,边有多种类型,不同的边在进行特征传播时采用不同的更新策略,因此异质图有很好地融合多种不同信息的能力。
通过构建异质图网络来进行文档级关系抽取的代表工作是Christopoulou等人提出的EoG模型(参考文献[1]),该模型定义了实体(E)、提及(M)和句子(S)三种类型的实体,三种类型的实体可以两两相连,因此图中共有六种类型的边(EE、EM、ES、MS、MM、SS)。在构建图网络时,不连接两个实体,即图中不会出现EE类型的边,EoG模型通过除EE边之外的五种类型的边进行特征传播,更新边的状态信息。预测阶段,在两个实体之间构建一条经过多个不同节点的路径,建模关系推理过程,然后通过路径传播算法得到实体间的关系表示,进行关系分类。Sahu等人提出的GCNN模型同样采用构建异质图网络的方式进行文档级关系抽取,和EoG模型不同的是,GCNN对每一种类型的边单独构建一张图,每张图可以看作是一个独立的层,以层为单位进行节点表示的迭代更新,待迭代传播过程完成后,将各层的结果叠加,取两个实体的特征进行关系分类。
使用同质图网络进行文档级关系抽取的代表工作是Nan等人提出的LSR模型(参考文献[2]),LSR模型不区分边的类型,节点采用全连接的方式,将图结构视为一个潜在变量,并以端到端的方式对节点的表示进行更新。模型建立在结构化注意力的基础上,使用矩阵树定理的变体,能够生成任务特定的依赖结构,以捕捉实体之间的非局部交互。在迭代更新节点表示的过程中,模型能够基于上一次迭代动态地构建潜在结构,从而使模型能够不断地通过迭代捕捉文档内部复杂的交互信息,改进整个文档中的信息聚合,从而更好地进行多跳关系推理。GP-GNN用文本序列中的实体构造一个全连接的同质图网络,不区分边的类型,通过设计一种独特的边的编码表示,让模型在GNN迭代过程中自动学习边的参数。
在文档级关系抽取中,大部分方法通过构建图网络进行特征传播,为不在同一个句子中的两个实体建立起联系,因此如何构建图以及如何使用图神经网络在图上进行特征传播是文档级关系抽取相关研究的重点内容之一。
图神经网络的概念最早于2005年由Gori等人提出,是一种专门用于处理图结构数据的神经网络模型。使用图可以更准确和灵活地对现实应用中的数据建模,如在电子商务领域中的用户–产品交互图、化学领域的分子图、医药领域的药物副作用图等。因此,研究者们设计了多种图神经网络模型,包括图卷积网络(GCN)、图注意力网络(GAT)等。
文档级任务的输入文本一般要远比句子级任务的输入文本要长,所以像RNN(循环神经网络)和LSTM(长短期记忆网络)这样擅长处理文本序列的深度学习模型,会因为依赖关系过长而丧失对输入文本开始部分特征的汇总能力。LSTM虽然采取了遗忘门等措施以缓解这个问题,但是在文本太长的情况下问题依然会很严重。而图神经网络可以通过构建图的方式,在文本序列中相距非常远的两个实体间建立起联系,从而大大缓解了基于序列的深度学习模型的问题。因此,图神经网络在输入文本较长的任务中获取了很多应用。例如:C-GCN是一种基于上下文的GCN模型(参考文献[3]),该模型将句子的依赖树进行剪枝,只保留实体对的依赖关系路径部分;基于注意力的图卷积网络(AGGCN)在句子的依赖树上使用GCN模型(参考文献[4]),采用了多头注意力机制以一种软加权的方式对边(依赖关系)进行选择;Zhang等人将GCN用于编码关系的层次结构,提出了一种由粗到细粒度的知识感知注意机制以提高关系抽取的效果(参考文献[5])。
现有这些文档级关系抽取模型有以下几点不足:1.由于文档级关系抽取任务一次抽取过程需要输入词语的规模要远大于句子级关系抽取,因此在构建图网络的过程中,不得不丢弃输入文本中的一些片段,这使得模型在推理两个实体间的关系时,不能充分地使用输入文本中的信息;2.使用词语作为节点构建同质图,忽略了词语之间复杂的关系,例如,句子中有共指关系,语义依存关系等等不同的联系,构建同质图无法捕捉这些文本内部的复杂联系。
参考文献:
[1]Fenia Christopoulou,Makoto Miwa,Sophia Ananiadou.(2019)Connectingthe Dots:Document-level Neural Relation Extraction with Edge-orientedGraphs.EMNLP.
[2]Guoshun Nan,Zhijiang Guo,Ivan Sekulic and Wei Lu.(2020)Reasoningwith Latent Structure Refinement for Document-Level Relation Extraction.ACL.
[3]Zhang Y,Qi P,Manning C D.Graph Convolution over Pruned DependencyTrees Improves Relation Extraction[A].Proceedings of the 2018Conference onEmpirical Methods in Natural Language Processing[C].Association forComputational Linguistics,2018:2205–2215.
[4]Guo Z,Zhang Y,Lu W.Attention Guided Graph Convolutional Networksfor Relation Extraction[A].Proceedings of the 57th Annual Meeting of theAssociation for Computational Linguistics[C].Association for ComputationalLinguistics,2019:241–251.
[5]Zhang N,Deng S,Sun Z,et al.Long-tail Relation Extraction viaKnowledge Graph Embeddings and Graph Convolution Networks[A].Proceedings ofthe 2019Conference of the North American Chapter of the Association forComputational Linguistics:Human Language Technologies[C].Association forComputational Linguistics,2019:3016–3025.
发明内容
针对上述现有技术在文档类型数据集上的关系抽取问题,本发明提出了一种基于支持句预测的多任务文档级关系抽取方法及装置,提高对复杂语境下文档的实体关系的挖掘,提高文档级关系的抽取效率,以便于能进一步帮助实现信息抽取、自动问答等多种NLP任务的准确性。
本发明的一种基于支持句预测的多任务文档级关系抽取装置,包括文档预处理模块,预训练语言模型,图网络编码模块,图传播模块,支持句识别模块和关系分类模块。
文档预处理模块将需要处理的中文文档先进行分句,再对句子进行清洗,基于BERT系列的中文词表获得所有句子对应的词表。预训练语言模型将每一个句子使用预训练语言模型进行编码,将句中分词表示为嵌入向量。
图网络编码模块根据文档的结构,按照预定规则构建图网络,根据文本获取各节点的嵌入向量。其中,图网络包含四种节点类型:文档节点、句子节点、实体节点和提及节点,根据预定规则建立节点之间的边。获取各节点的嵌入向量,具体是:根据预训练语言模型编码获得所有句子分词的嵌入向量,句子节点和提及节点的嵌入向量均通过对应句子所包含的分词的嵌入向量平均池化得到,文档节点的嵌入向量通过对所包含的句子节点的嵌入向量平均池化得到,实体节点的嵌入向量通过对所包含的提及节点的嵌入向量平均池化得到。
图传播模块使用图神经网络对所构建的图网络进行图卷积操作。
支持句识别模块获得文档中所有实体对的组合,对每个实体对之间的关系类别进行推理,识别每个实体对的支持句;对某一实体对识别支持句时,先将两个实体的嵌入向量拼接得到一个查询向量,然后将查询向量与每个句子向量拼接后输入到第一前向神经网络中,第一前向神经网络输出概率值p,与预设的判断为支持句的阈值θ比较,当满足p≥θ时,判断句子为该实体对的支持句。
关系分类模块将实体对的两个实体的嵌入向量和支持句的嵌入向量进行拼接,将拼接后的向量输入第二前向神经网络,输出实体对的关系类型。
本发明的一种基于支持句预测的多任务文档级关系抽取方法,包括如下步骤:
步骤1,将中文文档分句,对句子进行清洗,基于BERT系列的中文词表遍历所有句子,获取词表Vocabulary。
步骤2,以句子为单位使用预训练语言模型进行编码,推荐使用BERT系列模型。
步骤3,根据文档的结构,按照预定规则构建出一个可以用图神经网络进行卷积操作的图网络。图网络中包含实体、实体提及、句子和文档四种类型的节点。
在构建图网络时,还根据文本获取各节点的嵌入向量,具体是:根据预训练语言模型编码获得所有句子分词的嵌入向量,句子节点和提及节点的嵌入向量均通过对应句子所包含的分词的嵌入向量平均池化得到,文档节点的嵌入向量通过对文档所包含的句子节点的嵌入向量平均池化得到,实体节点的嵌入向量通过对所包含的提及节点的嵌入向量平均池化得到。
步骤4,在图网络上使用图神经网络进行卷积操作,推荐使用图神经网络框架DGL中的接口。
步骤5,进行关系推理路径的判断,首先得到实体对的所有可能组合,使用步骤4得到的实体节点的向量和句子节点的向量,针对每一个实体对,判断句子是否是该实体对的支持句。
对实体对(eh,et)识别支持句时,先将两个实体的嵌入向量拼接得到一个查询向量,然后将查询向量与每个句子向量拼接后输入到第一前向神经网络中,第一前向神经网络输出概率值p,与预设的判断为支持句的阈值θ比较,当满足p≥θ时,判断句子为实体对(eh,et)的支持句;h,t均为正整数。
步骤6,对实体对进行关系分类,将实体对的两个向量和支持句的向量进行拼接,将拼接后的向量输入进第二前向神经网络层,根据预先定义好的关系类型进行关系分类。
所述步骤1中,将中文文档按照分隔符和预设的句子最大长度阈值,分成多个句子,对句子进行预处理操作,清洗掉特殊符号,特殊符号是指未在BERT词表中出现的符号。
所述步骤3中,图网络中节点之间通过如下预定规则建立边:
(1)如果提及M在句子S中出现,则连接该提及节点M和句子节点S;
(2)按照句子在文档中的出现顺序,将句子节点与邻接的句子节点相连;
(3)每个实体节点与该实体所有的提及节点相连;
(4)将文档节点与所有的句子节点相连;
(5)同一实体的所有提及节点之间两两连接。
本发明的优点与积极效果在于:本发明的方法及装置,针对文档级关系抽取任务,设计了结合支持句预测任务与关系分类任务的多任务联合模型;在预测实体间关系时,通过实体和支持句构建关系推理路径,结合支持句中的有效信息降低噪音数据对模型的干扰,帮助模型理解复杂语境下的关系依赖,提高了文档级关系抽取模型的抽取效果,能为后续NLP任务的实现提供更可靠、准确的基础数据。
附图说明
图1是本发明实施例实现的文档级关系抽取方法的流程图;
图2是本发明实施例使用BERT模型对句子进行编码的示意图;
图3是本发明实施例进行文档级关系抽取的示例图。
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
如图1所示,本发明实施例实现的一种基于支持句预测的多任务文档级关系抽取方法,包括如下6个步骤。
步骤1,将中文文档分成多个句子,进行预处理操作,去掉特殊符号。特殊符号是指未在BERT词表中出现的符号。
由于能直接建模的数据长度的大小有限,无法一次性对整篇文档的内容进行处理,所以需要设置句子的最大长度阈值L,将文档D分解成N个最大长度不超过L的句子S1,S2,...,SN。N为正整数。此外,考虑到句子中语义具有上下文紧密联系的特点,本发明不直接使用大小为L的窗口滑动分句。本发明首先按照中文语料中的分隔符(。;?!)将一篇文档分解成多个长句,再对分解后的句子Si做判断。若Si的长度不超过最大阈值L,则直接保留,否则用大小为L的窗口滚动截断后得到m个子句句子划分表示如下:
其中,Truncate(Si,L)表示用大小为L的窗口对句子Si滚动截取。
分句完成以后,需要对数据进一步清洗,去掉大部分噪音数据,如网页标签、空格等。同时需要维护一个词表Vocabulary,针对中文数据集推荐使用BERT系列已开源的中文词表,这些词表中已经包含大多数中文词汇,对于未出现在词表中的词本发明统计该词在全文中出现的次数并给出出现次数的分界值O,若出现次数小于该分界值O,说明该词汇并不是关键词,可以使用词表Vocabulary中的<UNK>进行统一表示。<UNK>表示未知词,通过<UNK>可以表示大多数词表中不包含目标词的情况(Out OfVocabulary,OOV)。若出现次数大于或者等于分界值O,则将该词扩充进词表中,分界值O根据经验设置,可通过实验进行调整。
本发明实施例进行数据预处理的一个完整流程如下:
Input:D
Output:S1,S2,...,SN
Params:Vocabulary,L,O
Process:
–Step1:将D按照分隔符{。;?!}进行分割得到一系列的长句Si,i为正整数。
–Step2:对于Si进行如下的判断,得到分句的结果。
–Step3:对Si进行数据清洗,可以根据正则表达式匹配噪音数据并去除。
Finish
步骤2,将每一个句子S1,S2,...,SN使用预训练语言模型Encoder进行编码。预训练语言模型推荐使用BERT系列模型。
经过步骤1后,得到清洗和分句后的句子,作为预训练语言模型的输入数据。本步骤对输入数据进行直接建模。利用预训练语言模型对数据进行词嵌入,将句子中的每个词转化为具有分布式语义的低维空间词向量表示设向量的长度为K。
本发明实施例以BERT-Pytorch版本对句子编码进行说明。对于文档Documenti中的句子Sj,j=1,2,…N,如图2所示,首先对长度不足L的句子用特殊的标识符进行填充,使所有句子的长度统一,均为L。对每个句子进行分词,对分词后的每个词wt经过BERT转化为K维的词嵌入向量则可以将整个句子表示为L×K的矩阵形式,实现了对句子表示的建模过程。
本发明实施例中对句子进行建模的一个流程如下:
image-20210629153940847
#首先对输入的句子进行初步处理,在开始和结束位置加上特殊符号进行标识。
words=[self.CLS_TOKEN]+words+[self.SEP_TOKEN]
#加载BERT分词器,对于中文语料使用中文分词器。
self.bert_tokenizer=BertTokenizer.from_pretrained('bert-base-chinese')
#得到BERT分词后的结果
words=self.bert_tokenizer.tokenize(”.join(words))
#将分词结果映射为该词在词表中对应的ID,若词表中没有该词,则使用<UNK>的ID
#PAD_TOKEN是对句子做填充到最大长度阈值L,保证输入的批数据中的长度是一致的。
feature=self.bert_tokenizer.convert_tokens_to_ids(sent+[self.PAD_TOKEN for_in range(max_sent_len-len(sent))])
#加载BERT预训练语言模型
self.BertModel=BertModel.from_pretrained('bert-base-chinese')
#将输入的词转化为低维词向量,在向量空间里表示每个词的语义信息。
outputs=self.BertModel(input_ids=ii,token_type_ids=tti,attention_mask=am)
本发明实施例中,采用了一个英文数据集,每个句子按句子长度L分为了L个词。具体在实际使用时,根据实际输入的句子进行分词并编码。
步骤3,根据文档的结构,按照预定规则构建出一个可以用图神经网络进行卷积操作的图网络,该图网络中包含实体、实体提及、句子和文档四种类型的节点。
首先,本发明方法从一篇文档中抽象出如下四种节点类型,自顶向下分别是文档节点、句子节点、实体节点和提及节点。
文档节点:表示对整篇文档内容含义的抽象化表示,记为D;
句子节点:表示对文档中某一个句子内容含义的抽象化表示,记为S;
实体节点:表示对文档中某一个实体类型的抽象化表示,记为E;
提及节点:表示文档中某一实体类型在句子中的具体描述对象含义的抽象化表示,记为M。
这四种节点之间通过一定的规则定义建立边的联系,具体描述和建边的规则如下:
(1)句子-提及(Sentence-Mention edge,SM-edge):如果提及M在句子S中出现,则连接该提及节点和句子节点。
(2)句子-句子(Sentence-Sentence edge,SS-edge):句子节点与其邻接句子(上一句和下一句)节点相连,由于句子在文档中的出现是有序的,为了保存这个结构信息,同样按照句子出现的先后顺序进行连接。
(3)实体-提及(Entity-Mention edge,EM-edge):每个实体节点与其所有的提及节点直接相连。
(4)文档-句子(Document-Sentence edge,DS-edge):文档信息来源于所有的句子信息,所以将文档节点与所有的句子节点相连。
(5)提及-提及(Mention-Mention edge,MM-edge):同一实体的所有提及节点之间两两直接进行连接。
然后,对本发明方法内结构类型的符号描述为:给定一篇包含N个句子的文档每个句子表示一个句子中有M个词组成。该文档D中所有的实体集合实体包含在文中的提及,表示对于实体ei一共有Q个具体的提及表示,P表示实体数量。本发明方法需要去预测文档D中任意两个实体(ei,ej)间的所属的关系类别rij,其中rij∈R,R是预定义好的关系集合。
至此,本发明从文档的结构中抽象出了四种类型的节点,并依据所给出的规则建立了每篇文档的异质图G。同时,本发明给出了对四种节点建模的过程。通过上述过程,本发明将文档级关系抽取任务转化成了一个基于异质图的实体关系路径推理问题。如图3所示,采用本发明的图网络构建方法对一个具体例子建图。
步骤4,使用R-GCN神经网络进行图卷积操作,本发明推荐使用DGL中的图神经网络框架进行图卷积。
在构建完成的异质图上,本发明需要对所有定义的节点做信息的融合,使每个节点学习到其它节点中包含的语义信息。本发明使用图神经网络直接对图建模来进行信息的传播。以DGL深度学习库中实现的R-GCN模型为例,R-GCN是一个专门为异质图而设计的图神经网络,它通过卷积操作,让节点融合邻居节点的信息,和其他图神经网络不同的是,R-GCN在进行特征融合时考虑到了节点和边的类型信息。
利用R-GCN神经网络进行图卷积操作,融合邻居节点信息的计算公式如下:
其中分别表示节点i在第l+1层和第l层的嵌入向量。表示节点i与边关系r的所有邻节点,为所述邻节点个数。R表示的是边关系集合。σ(·)是激活函数,例如激活函数为Relu函数。为第l层维度为dn的可训练的二维矩阵参数。是节点v在第l层的嵌入向量。
本发明拼接R-GCN的多个层的向量表示作为最终的所有节点的输出向量。N为R-GCN的层数。
步骤5,进行关系推理路径的判断,首先得到实体对的所有可能组合,使用步骤4得到的实体节点的向量和句子节点的向量,针对每一个实体对,判断句子是否是该实体对的支持句。
在步骤4中通过图神经网络进行充分和信息传播和信息融合后,所构建的异质图中的每个节点可以学习到其他节点内的信息。如果本发明需要对实体对(ei,ej)之间的关系rij进行推理,本发明需要建立从实体节点ei到实体节点ej的关系推理路径。
关系推理路径的构建是本发明的一个主要创新点,在构建关系推理路径之前,首先要识别出实体对的支持句。图3中的支持句识别模块主要负责支持句的预测,支持句是指包含了对判断实体间关系有用的信息的句子,通过筛选出实体对的支持句,可以有效地过滤掉大部分对关系分类没有用的内容,达到很好的去噪效果。本发明方法中,支持句识别和关系分类作为两个子任务,结合在一起构建一个多任务联合模型,在模型训练过程中会同时进行两个子任务的训练。
具体而言,对于实体ei到实体ej的关系预测,本发明首先用两个实体的实体嵌入向量拼接得到一个查询向量然后将查询向量与所有的句子向量拼接后输出到前向神经网络中。对神经网络的输出使用sigmoid(·)函数计算一个概率值p∈[0,1]。本发明将判断为支持句的阈值设置为θ=0.5,若概率值p≥θ,则认为该句子是预测实体对(ei,ej)关系的支持句。
该部分的算法流程如下:
Output:True or False,表明该句是支持句或不是支持句
Process
Step4:将Ei输入到前向神经网络中,经过sigmoid(·)函数得到一个概率值pi
Step5:将概率值pi与输出阈值θ=0.5比较得到输出结果
步骤6,对实体对进行关系分类,将实体对的两个向量和支持句的向量进行拼接,将拼接后的向量输入进一个前向神经网络层,根据预先定义好的关系类型进行关系分类。
该步骤中本发明对实体对进行关系分类。首先,本发明需要构建一个新的实体-句子图来实现实体关系间的关系推理。该实体-句子图是步骤3中得到的异质图中针对待预测关系的实体对(eh,et)的一个子图。子图中只包含实体节点和支持句节点以及两种类型的边,如下:
实体节点:需要进行关系预测的两个实体节点eh,et。
支持句节点:步骤5中针对该实体对(eh,et)判断为True的支持句。
句子-句子(Sentence-Sentence edge):按照句子在文中出现的顺序,将句子节点依次连接。
实体-句子(Entity-Sentence edge):如果实体对应的提及在句子中出现,则将该实体与句子相连。
本发明使用步骤4中经过图神经网络传播后得到的节点向量作为子图中各个节点的初始向量。接着使用实体节点结合支持句节点构建关系推理路径。通过LSTM将该关系推理路径编码为一个固定维度的向量。最后输入一个前向神经网络进行分类。
对关系推理路径的编码,本发明尝试了两种方式:
(1)池化(pooling)方式。将关系推理路径中的各节点的向量连接后,通过pooling的方式得到一个固定维度的向量ph,t,表示如下:
ph,t=pooling[eh;s1;...;si;et]
(2)LSTM方式。使用一个LSTM网络对关系推理路径进行编码,得到向量ph,t如下:
ph,t=LSTM[eh;s1;...;si;et]
其中,s1,s2,...si是实体对(eh,et)的支持句。[eh;s1;...;si;et]是使用实体节点结合支持句节点构建的关系推理路径。两个实体的关系推理路径是将这两个实体作为起点和终点,然后将支持句按顺序连接在起点和终点之间。
最后,本发明通过一个前向神经网络对关系推理路径的向量进行特征压缩,转化为一个多标签的二分类问题。对于关系类型r∈R,本发明通过sigmoid(·)函数计算该实体对属于此关系的概率值pr,如下:
pr=sigmoid(FFNN(ph,t))
FFNN表示一个前向神经网络。R为预先定义的关系类型的集合。
本发明将判断为实体对关系类型的阈值设置为θr=0.5,若概率值pr≥θr,则认为该实体对的关系类型为r。
对应地,本发明提供的一种基于支持句预测的多任务文档级关系抽取装置,包括:文档预处理模块,预训练语言模型,图网络编码模块,图传播模块,支持句识别模块和关系分类模块。
文档预处理模块将需要处理的中文文档先进行分句,再对句子进行清洗,基于BERT系列的中文词表获得所有句子对应的词表。文档预处理模块具体分句、清洗的实现如上述步骤1中所述,此处不再赘述。
预训练语言模型对句子进行编码,将句中分词表示为嵌入向量。
图网络编码模块根据文档的结构,按照预定规则构建图网络,并根据文本获取图网络中的各节点的嵌入向量。图网络包含四种节点类型:文档节点、句子节点、实体节点和提及节点。边类型包括句子-提及、句子-句子、实体-提及、文档-句子、提及-提及。图网络编码模块根据预训练语言模型编码获得所有句子分词的嵌入向量,句子节点和提及节点的嵌入向量均通过对应句子所包含的分词的嵌入向量平均池化得到,文档节点的嵌入向量通过对所包含的句子节点的嵌入向量平均池化得到,实体节点的嵌入向量通过对所包含的提及节点的嵌入向量平均池化得到。具体图网络编码模块功能的实现如上述步骤3中所述。
图传播模块使用图神经网络对所构建的图网络进行图卷积操作。本发明优先使用R-GCN神经网络进行图卷积操作,在图卷积操作时,对输入节点在每层融合邻居节点信息,然后拼接R-GCN所有层的向量表示作为节点的最终的输出向量。
支持句识别模块获得文档中所有实体对的组合,对每个实体对之间的关系类别进行推理,识别每个实体对的支持句。如上述步骤5所述,支持句识别模块对某实体对识别支持句时,先用对应两个实体的嵌入向量拼接得到一个查询向量,然后将查询向量与每个句子向量拼接后输入到第一前向神经网络中,前向神经网络输出概率值p,与预设的判断为支持句的阈值θ比较,当满足p≥θ时,判断句子为该实体对的支持句。
关系分类模块对实体对进行关系分类。关系分类模块将实体对的两个实体的嵌入向量和支持句的嵌入向量进行拼接,将拼接后的向量输入第二前向神经网络,输出关系类型。具体关系分类模块的功能实现如上述步骤6所述。
对本发明实现的方法及装置进行实验。所采用的数据集为DocRED。DocRED是一个人工标注的大规模文档级关系抽取数据集,这个数据集是根据Wikipedia和Wikidata文章构建的,该数据集中除了标注实体、提及以及关系之外,还标注了支持句。该数据集包含5053篇文档,132375个实体,以及56354个关系三元组。实验将数据分成训练集/验证集/测试集三部分,用于训练和验证模型效果,使用了F1作为评判模型效果的主要指标。
关系抽取任务本质上是一个分类任务,常见的评价指标包括准确率(Precision)和召回率(Recall)。
准确率:基于预测的结果,预测为正的样本中有多少真正的正样本。即,真正为正的越多越好。准确率Precision计算如下:
召回率:针对原来的正样本,有多少正样本被预测正确了。召回率Recall计算如下:
其中,TP(True Positive)指预测结果为正类,实际上就是正类的样本;FP(FalsePositive)指预测结果为正类,实际上是反类的样本;FN(False negative)指预测结果为反类,实际上是正类的样本;TN(True negative)指预测结果为反类,实际上就是反类的样本。
本发明希望模型同时表现出好的准确率和召回率,但是准确率和召回率呈负相关,所以本发明用F1值来均衡计算准确率和召回率。由此,本发明选择F1值作为在测试集上评价性能的指标,F1由准确率(Precision)和召回率(Recall)计算而来,是二者的调和平均数。F1值越大表示模型效果越好。
在本发明实验中使用了关系抽取任务中广泛使用的指标F1。然而,有些关系事实同时存在于训练集(train)和测试集(dev)中,因此模型在训练过程中可能会记住它们的关系,并以一种不可取的方式在测试集上获得更好的性能,从而引入评价偏差。然而,训练集和测试集之间的关系事实的重叠是不可避免的,因为许多共同的关系事实可能在不同的文档中共享。因此,本发明实验还使用了排除训练集(train)和测试集(dev)共享的关系事实的F1,表示为IgnF1作为补充评价指标。
实验环境设置如下:
实验环境 | 版本 |
Ubuntu(Linux) | 18.10 |
显卡配置 | GeForce RTX 3070单卡 |
实验主要依赖库 | 版本号 |
Pytorch | 1.0.1 |
DGL | v0.3 |
NumPy | 1.13.3 |
Matplotlib | 3.4.2 |
transformer | 3.4.0 |
神经网络 | 类别 |
图神经网络 | R-GCN |
预训练模型 | Roberta |
实验主要超参数 | 参数大小 |
学习率learning rate | 0.001 |
权重衰减(weight decay) | 0.01 |
最大梯度剪枝(max_grad_norm) | 1.0 |
迭代轮数(epochs) | 30 |
实验结果与分析如下:
表1:与baseline的结果对比
模型Model | Dev | Test | ||||
Ign F1 | F1 | Ign F1 | F1 | |||
序列基础模型 | ||||||
CNN | 41.58 | 43.45 | 40.33 | 42.26 | ||
LSTM | 48.44 | 50.68 | 47.71 | 50.07 | ||
BiLSTM | 48.87 | 50.94 | 48.78 | 51.06 | ||
Context-Aware | 48.94 | 51.09 | 48.4 | 50.7 | ||
HIN | 51.06 | 52.95 | 51.15 | 53.3 | ||
图基础模型 | ||||||
GAT | 45.17 | 51.44 | 47.36 | 49.51 | ||
GCNN | 46.22 | 51.52 | 49.59 | 51.62 | ||
EoG | 45.94 | 52.15 | 49.48 | 51.82 | ||
AGGCN | 46.29 | 52.47 | 48.98 | 51.45 | ||
LSR+BERT-base | 52.43 | 59 | 52.15 | 54.18 | ||
GAIN+BERT-base | 59.14 | 61.22 | 59 | 61.24 | ||
GAIN+BERT-large | 60.87 | 63.09 | 60.31 | 62.76 | ||
预训练基础模型 | ||||||
BERT-base | - | 54.16 | - | 53.2 | ||
RoBERTa-base | 53.85 | 56.05 | 53.52 | 55.77 | ||
CorefBERT-base | 55.32 | 57.51 | 54.54 | 56.96 | ||
CorefBERT-large | 56.73 | 58.88 | 56.48 | 58.7 | ||
本发明方法 | ||||||
ERNN+BERT-base | 59.66 | 61.67 | 59.34 | 61.81 | ||
ERNN+BERT-large | 61.22 | 63.37 | 60.58 | 62.92 |
表2:针对句间和跨句的关系
Model | Dev | Dev | Dev |
Intra-F1 | Inter-F1 | Infer-F1 | |
CNN | 51.87 | 37.58 | 37.11 |
LSTM | 56.57 | 41.47 | 39.03 |
BiLSTM | 57.05 | 43.49 | 38.73 |
Context-Aware | 56.74 | 42.26 | 39.73 |
BERT-base | 61.61 | 47.15 | 39.62 |
LSR+BERT-base | 65.26 | 52.05 | - |
GAIN+BERT-base | 67.1 | 53.9 | 46.89 |
ERNN+BERT-base | 67.27 | 54.36 | 47.12 |
表1中是本发明的模型和之前现有模型(本文使用的模型均为之前达到过SOTA效果的模型,这里统称SOTA模型)的对比,表2中是本发明模型在inter,intra关系抽取上和之前模型的对比,通过对两个表格中的结果的分析,本发明得到如下结论:
(1)对比表1中的结果,发现本发明方法的图+预训练的结构的模型取得了最好的效果,图基础的模型效果最差。本发明分析这是因为图基础的模型在对文本内容特征的提取方面不如序列模型和预训练模型,但图神经网络的使用对推理在输入文本中相距较远的两个实体间的信息有一定的帮助。
(2)本发明的模型取得了最好的效果,经分析,这是因为本发明在构建推理路径时使用了支持句,使用了更重要的信息,因此相比EoG和GAIN等构建推理路径进行关系分类的模型,本发明的模型效果更好。
(3)表2中是本发明的模型和其他在不同类型关系的抽取效果上的对比,本发明在三种类型的关系上均超过了之前的SOTA模型,其中infer-F1有较明显的提升,这证明了本发明构建推理路径的方式是合理的。另外,本发明的模型在intra关系的提取上提升并不明显,这可能是因为在不需要进行复杂的推理才能进行分类的关系上,支持句的作用并不是特别明显。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。本发明省略了对公知组件和公知技术的描述,以避免赘述和不必要地限制本发明。上述实施例中所描述的实施方式也并不代表与本申请相一致的所有实施方式,在本发明技术方案的基础上,本领域技术人员不需要付出创造性的劳动即可做出的各种修改或变形仍在本发明的保护范围内。
Claims (10)
1.一种基于支持句预测的多任务文档级关系抽取方法,其特征在于,包括:
步骤1,将中文文档分成多个句子,对句子进行清洗,基于BERT系列的中文词表获得所有句子对应的词表;
步骤2,以句子为单位使用预训练语言模型进行编码,将句中分词表示为嵌入向量;
步骤3,根据文档的结构,按照预定规则构建图网络;
所述的图网络包含四种节点类型:文档节点、句子节点、实体节点和提及节点;节点之间通过如下预定规则建立边:
(1)如果提及M在句子S中出现,则连接该提及节点M和句子节点S;
(2)按照句子在文档中的出现顺序,将句子节点与邻接的句子节点相连;
(3)每个实体节点与该实体所有的提及节点相连;
(4)将文档节点与所有的句子节点相连;
(5)同一实体的所有提及节点之间两两连接;
根据文本获取各节点的嵌入向量,具体是:根据预训练语言模型编码获得所有句子分词的嵌入向量,句子节点和提及节点的嵌入向量均通过对应句子所包含的分词的嵌入向量平均池化得到,文档节点的嵌入向量通过对所包含的句子节点的嵌入向量平均池化得到,实体节点的嵌入向量通过对所包含的提及节点的嵌入向量平均池化得到;
步骤4,使用图神经网络对所构建的图网络进行卷积操作;
步骤5,获得文档中所有实体对的组合,对每个实体对之间的关系类别进行推理,识别每个实体对的支持句;
对实体对(eh,et)识别支持句时,先将两个实体的嵌入向量拼接得到一个查询向量,然后将查询向量与每个句子向量拼接后输入到第一前向神经网络中,第一前向神经网络输出概率值p,与预设的判断为支持句的阈值θ比较,当满足p≥θ时,判断句子为实体对(eh,et)的支持句;h,t均为正整数;
步骤6,对实体对进行关系分类,包括:将实体对的两个实体的嵌入向量和支持句的嵌入向量进行拼接,将拼接后的向量输入第二前向神经网络,输出实体对的关系类型。
2.根据权利要求1所述的方法,其特征在于,所述的步骤1中,将文档分成多个句子的实现方式为:设置句子的最大长度阈值L,先按照中文语料中的分隔符将文档分解成多个句子,再对分解后的每个句子,比较句子的长度是否超过L,若否,直接保留句子,否则,用长度L的窗口对句子滚动截断。
3.根据权利要求1或2所述的方法,其特征在于,所述的步骤1中,基于BERT系列的中文词表获得词表Vocabulary,对句子中未出现在中文词表中的词,统计该词在全文中出现的次数,并与设定的出现次数分界值O比较,若小于O,则使用词表Vocabulary中的未知词进行统一表示,否则,将该词扩充进词表Vocabulary。
4.根据权利要求1所述的方法,其特征在于,所述的步骤3中,对文本向量化获取节点向量,包括:设一篇中文文档包含N个句子,文档中的实体数量为P;对每个句子的分词由预训练语言模型获得词嵌入向量;每个提及的嵌入向量为该提及在句子中的片段包含的所有词嵌入的平均值;对某一个实体,若该实体在文中共有Q个提及,对Q个提及节点的嵌入向量取平均,得到实体的嵌入向量;句子的嵌入向量由该句中包含的所有分词的词嵌入取平均得到;文档的嵌入向量由N个句子节点的嵌入向量取平均得到。
5.根据权利要求1所述的方法,其特征在于,所述的步骤4中,使用R-GCN神经网络进行卷积操作,在卷积操作时,对输入节点在每层融合邻居节点信息,然后拼接R-GCN所有层的向量表示作为节点的最终的输出向量。
6.根据权利要求1所述的方法,其特征在于,所述的步骤5中,预先设置判断为支持句的阈值θ取值为0.5。
7.根据权利要求1所述的方法,其特征在于,所述的步骤6中,对于实体对(eh,et),从步骤3所得到的图网络中获取子图,子图中只包含实体节点eh,et和支持句节点,以及对应的句子-句子、实体-句子的边;其中,子图中句子-句子的边是按照句子在文档中出现的顺序,将句子节点依次连接;对于子图中实体-句子的边,如果实体对应的提及在句子中出现,则将该实体与句子相连。
8.根据权利要求1或7所述的方法,其特征在于,所述的步骤6中,实体的嵌入向量和支持句的嵌入向量是经过步骤4图卷积操作后得到的;使用实体节点结合支持句节点构建关系推理路径;通过池化方式或者LSTM网络将关系推理路径编码为一个固定维度的向量,输入第二前向神经网络;第二前向神经网络输入实体对属于关系类型r的概率值,r∈R,R为预先定义的关系类型集合;选取概率值大于等于预设阈值θr的关系类型作为实体对的关系类型。
9.一种基于支持句预测的多任务文档级关系抽取装置,其特征在于,所述的装置包括文档预处理模块,预训练语言模型,图网络编码模块,图传播模块,支持句识别模块和关系分类模块;其中,
文档预处理模块将需要处理的中文文档先进行分句,再对句子进行清洗,基于BERT系列的中文词表获得所有句子对应的词表;
预训练语言模型将每一个句子使用预训练语言模型进行编码,将句中分词表示为嵌入向量;
图网络编码模块根据文档的结构,按照预定规则构建图网络,根据文本获取各节点的嵌入向量;其中,图网络包含四种节点类型:文档节点、句子节点、实体节点和提及节点,根据预定规则建立节点之间的边;获取各节点的嵌入向量,具体是:根据预训练语言模型编码获得所有句子分词的嵌入向量,句子节点和提及节点的嵌入向量均通过对应句子所包含的分词的嵌入向量平均池化得到,文档节点的嵌入向量通过对所包含的句子节点的嵌入向量平均池化得到,实体节点的嵌入向量通过对所包含的提及节点的嵌入向量平均池化得到;
图传播模块使用图神经网络对所构建的图网络进行图卷积操作;
支持句识别模块获得文档中所有实体对的组合,对每个实体对之间的关系类别进行推理,识别每个实体对的支持句;对某一实体对识别支持句时,先将两个实体的嵌入向量拼接得到一个查询向量,然后将查询向量与每个句子向量拼接后输入到第一前向神经网络中,第一前向神经网络输出概率值p,与预设的判断为支持句的阈值θ比较,当满足p≥θ时,判断句子为该实体对的支持句;
关系分类模块将实体对的两个实体的嵌入向量和支持句的嵌入向量进行拼接,将拼接后的向量输入第二前向神经网络,输出实体对的关系类型。
10.根据权利要求9所述的装置,其特征在于,所述的图网络编码模块,根据如下规则建立图网络中节点之间的边:
(1)如果提及M在句子S中出现,则连接该提及节点M和句子节点S;
(2)按照句子在文档中的出现顺序,将句子节点与邻接的句子节点相连;
(3)每个实体节点与该实体所有的提及节点相连;
(4)将文档节点与所有的句子节点相连;
(5)同一实体的所有提及节点之间两两连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210599144.8A CN114942977A (zh) | 2022-05-30 | 2022-05-30 | 基于支持句预测的多任务文档级关系抽取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210599144.8A CN114942977A (zh) | 2022-05-30 | 2022-05-30 | 基于支持句预测的多任务文档级关系抽取方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114942977A true CN114942977A (zh) | 2022-08-26 |
Family
ID=82909561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210599144.8A Pending CN114942977A (zh) | 2022-05-30 | 2022-05-30 | 基于支持句预测的多任务文档级关系抽取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114942977A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116521899A (zh) * | 2023-05-08 | 2023-08-01 | 中国传媒大学 | 一种基于改进的图神经网络的文档级关系抽取算法及系统 |
-
2022
- 2022-05-30 CN CN202210599144.8A patent/CN114942977A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116521899A (zh) * | 2023-05-08 | 2023-08-01 | 中国传媒大学 | 一种基于改进的图神经网络的文档级关系抽取算法及系统 |
CN116521899B (zh) * | 2023-05-08 | 2024-03-26 | 中国传媒大学 | 一种基于改进的图神经网络的文档级关系抽取方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113011533B (zh) | 文本分类方法、装置、计算机设备和存储介质 | |
Arora et al. | Character level embedding with deep convolutional neural network for text normalization of unstructured data for Twitter sentiment analysis | |
Ishaq et al. | Aspect-based sentiment analysis using a hybridized approach based on CNN and GA | |
CN111386524B (zh) | 促进特定于域和客户端的应用程序接口推荐 | |
Gao et al. | Convolutional neural network based sentiment analysis using Adaboost combination | |
CN110188147B (zh) | 基于知识图谱的文献实体关系发现方法及系统 | |
CN111651974B (zh) | 一种隐式篇章关系分析方法和系统 | |
CN111344695B (zh) | 促进特定于域和客户端的应用程序接口推荐 | |
CN112784532B (zh) | 用于短文本情感分类的多头注意力记忆系统 | |
CN112541337B (zh) | 一种基于递归神经网络语言模型的文档模板自动生成方法及系统 | |
CN109741824B (zh) | 一种基于机器学习的医疗问诊方法 | |
Mehndiratta et al. | Identification of sarcasm using word embeddings and hyperparameters tuning | |
CN113593661A (zh) | 临床术语标准化方法、装置、电子设备及存储介质 | |
CN115952292B (zh) | 多标签分类方法、装置及计算机可读介质 | |
CN113705238A (zh) | 基于bert和方面特征定位模型的方面级情感分析方法及模型 | |
Samih et al. | Enhanced sentiment analysis based on improved word embeddings and XGboost. | |
CN114942977A (zh) | 基于支持句预测的多任务文档级关系抽取方法及装置 | |
Tianxiong et al. | Identifying chinese event factuality with convolutional neural networks | |
CN116522165B (zh) | 一种基于孪生结构的舆情文本匹配系统及方法 | |
CN113505583A (zh) | 基于语义决策图神经网络的情感原因子句对提取方法 | |
CN115730608A (zh) | 一种学习者在线交流信息分析方法及系统 | |
Ronghui et al. | Application of Improved Convolutional Neural Network in Text Classification. | |
Yang et al. | Improve language modeling for code completion through learning general token repetition of source code with optimized memory | |
CN117151089A (zh) | 新词发现方法、装置、设备和介质 | |
CN114626367A (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 |