基于Seq2seq实体关系联合抽取的电力知识图谱构建

2022-10-26 03:04吴慎珂刘鹏政钟可佳
实验室研究与探索 2022年7期
关键词:三元组规程指针

何 俊, 刘 鹏, 聂 勇, 吴慎珂, 刘鹏政, 钟可佳

(南昌大学信息工程学院,南昌 330031)

0 引言

架空输电线路在设计安装以及运行维护的过程中需要严格遵守相关的规范,这些规范数据数量庞大并且是以文本形式存储的,如何对这些规程文档进行存储和查询对输电线路安全施工与规范作业具有重要意义。知识图谱作为一种全新的知识表示方式,融合了深度学习技术与传统数据库的优势,提供了一种更好的管理知识信息的能力。将知识图谱与电力领域结合,可使电力系统获得挖掘和分析大规模文本信息中有用知识的能力[1]。2020年9月,国家电网《电力知识图谱指南》标准提案成为IEEE Standard Association正式批准立项的国际标准。该标准旨在将电力“数据”升华为“知识”,通过知识的关系网络,实现多领域协同分析,有效赋能电网生产运行和企业经营管理等方向。电力知识图谱并没有统一构建方法,研究人员探索了多种电力知识图谱的构建方法。汤亚宸等[2]构建了一套基于图数据库和知识图谱的电力设备质量综合管理系统,实现了电力设备的综合管理、电力设备的缺陷分析与简单的推理。Wu等[3]提出了一种基于Python构建电网模型知识图谱并存储在图据库中的方法,通过实际案例验证了该方法的可行性。知识抽取是知识图谱构建的关键技术[4-6],传统的电力知识抽取一般有规则模板法与句法分析法[7-9]。

电力领域知识图谱的构建中知识抽取常使用中文分词和规则模板方法[10],但是存在实体边界不准确和模板构建过于依赖领域专家等问题。随着深度学习技术应用,逐渐采用Pipeline串联的实体关系抽取方法[11-12],这种将实体抽取和关系抽取串联起来的方法灵活性高,但是存在误差积累问题。实体关系联合抽取方法能够解决串联抽取方法的误差积累问题,往往由于缺乏关系标注数据集在电力领域少有应用。因此,本文提出了一种基于Seq2seq的半指针半标注实体关系联合抽取输电规程文本的方法,利用该模型进行知识抽取,将抽取后的知识以三元组的形式存入图数据库中,最终实现输电知识图谱的构建。

1 知识图谱构建

1.1 规程知识图谱语义关系设计

知识图谱有自顶向下和自底向上两种构建方法:自顶向下的方法过度依赖领域专家的知识,由专家定义知识的本体框架,专业人员进行实体、属性与关系的填充;自底向上的构建方法,则是基于已经标注好的语料库,利用机器学习或深度学习方法,自动学习并实现机器的自动抽取。根据输电规程文档的特性,本文参考GB 50545-2010规程[13]的用词和用语说明,结合输电规程知识存储和查询的目的,采用自底向上的方法构建输电规程知识图谱,并构建了输电规程知识图谱语义关系设计。自底向上的知识图谱是随着抽取知识的增加而不断完善的,在知识抽取初期通过知识图谱语义关系框架来进行实体的抽取。

输电知识的语义关系设计需考虑到关系抽取模型的特点,涵盖输电规程文本的所有实体和关系。因此,本文采用Protégé(本体编辑器)进行关系类型上下位管理,完成输电规程知识图谱的语义关系设计。关系类型分为谓语动词关系、限定关系和要求关系3大类。其中要求关系根据要求的严格程度不同分为12小类,分别为“可”“不可”“宜”“不宜”“应”“不应”“需”“不需”“必须”“严禁”“不准”“不得”,每一小类又与谓语动词一起可组成多种关系类型。语义关系设计是关系抽取的指导框架,需要兼顾所要抽取的电力数据的特点。

1.2 关系抽取

知识抽取是知识图谱构建的前置步骤,主要是非结构化文本的实体和关系抽取,其中关系抽取是建立图谱中实体关联的关键环节。关系抽取也称为三元组抽取[14],任务是从文本中抽取出两个或多个实体及其关联关系。

目前,利用深度学习模型进行关系抽取一般的方式:①先抽取实体再抽取实体间的关系的Pipeline串联方法;②实体和关系联合抽取的方法。Pipeline方法由于实体抽取的错误会影响关系抽取的性能,往往导致抽取效果不理想,而实体关系联合抽取策略能够克服这种误差积累。

1.3 关系抽取的文本分析

以输电规程文本中的规程规定作为关系抽取的对象,由于中文自然语言的复杂性,所选用的关系抽取策略需要能够应对复杂的文本结构。

本文将关系抽取转化成SPO(主语,谓语,宾语)的三元组抽取形式。通过对规程文档中数据的特点进行分析,总结其中最常见的规程三元组样本数据类型如表1所示。规程文档常见的三元组类型有4种,分别为(S,P,O)单三元组情况、(P,O,S)三元组语句顺序颠倒情况、1个S对应多个(P,O)情况和1个(S,P)对应于多个O的情况。其他类型语句如缺少S只有(P,O)的情况,多个S对应1个(P,O)的情况和多个P对应同1个S、O的情况相对较少。

考虑到中文文本的语意复杂性和抽取效率问题,本文采用一种基于Seq2seq概率图思想的关系联合抽取方案。

1.4 基于Seq2seq的半指针半标注实体关系联合抽取模型

关系抽取模型需要能抽取出表1所示的三元组类型,主要的问题是实体边界难以确定会导致实体抽取不完整。本文采用基于Seq2seq的半指针半标注模型进行关系抽取,实体的抽取利用两个指针抽取实体的首尾,解决实体边界模糊的问题。三元组(SPO)的抽取采用Seq2seq模型先抽取头实体(S),再抽取关系(P)和尾实体(O)。这种抽取策略能够很好地抽取出表1所示的4种三元组数据类型。

表1 输电规程文本三元组数据类型

本文采用的基于Seq2seq的半指针半标注的实体关系联合抽取模型[1]如图1所示。该模型的编码解码结构先抽取S,再抽取实体关系(PO)。实体S的编码器选择预训练模型BERT获取的编码层向量,实体S的解码器为单层网络,采用指针解码。实体关系PO的编码器为融入了S向量特征的BERT编码层向量,PO的解码器为多层指针网络,其中指针的层数等于关系数量。

图1 基于Seq2seq的半指针半标注的联合抽取模型

结合BERT先验特征的Seq2seq半指针半标注的关系抽取模型抽取流程如下:

步骤1文本序列转ID后传入BERT的编码器,得到编码序列;

步骤2编码序列接2个二分类器,预测S;

步骤3根据传入的S,从编码序列中抽取出S的首尾所对应的编码向量;

步骤4将S的编码向量融入到BERT编码序列中;

步骤5抽取的BERT层数据中学习到了字之间、词语之间的关系;

步骤6融入后的序列来预测该S对应的O、P。

在Bert的Transformer模型中,主要的标准化方法是层标准化。将S的编码向量融入Transformer编码序列采用的条件层标准化方法,目的是把S作为条件向量融合到层标准化的g和b 2个参数中,实现S向量的融合。

基于Seq2seq的三元组解码的条件模型:

1.5 以关系抽取模型进行知识抽取

知识抽取是知识图谱的构建过程中的关键步骤,本文选择利用训练完成的关系抽取模型辅助进行知识抽取。采用该模型对输电文本进行逐句抽取,抽取后的三元组存储在Excel文档中保存。其中部分三元组还需要人工审核和校准以提高抽取准确率。最终抽取得到了10000条规程三元组。

关系抽取模型抽取的知识基本上能够达到三元组的要求,主要存在的问题是知识漏抽取和错误抽取。为保证输电规程知识的准确性,关系抽取后的知识还需要进行人工审核校验才能导入图数据库中。利用关系抽取模型进行输电规程文本辅助抽取能够显著降低人力成本,加快数据抽取效率,并且比规则模板抽取更加灵活。

1.6 知识图谱存入图数据库

经过抽取后的知识图谱主要有2种存储方式,一种是基于RDF的存储,另一种是基于图数据库的存储。以RDF存储的图数据易于发布和共享,而以图数据库存储在于高效的图查询和搜索。本文为了提高知识图谱的查询效率,选择将知识图谱以三元组形式存入图数据库Neo4j中,如图2所示。

图2 输电规程知识图谱数据的可视化

Neo4j是原生图计算引擎,它存储和使用的数据自始至终都是使用原生的图结构数据进行处理的,内置的Cypher查询语言使存储和查询简单快速。本文使用内置的Neo4j-import工具将抽取的10000条规程三元组导入Neo4j中,可以实现图数据的可视化与快速更新。输电规程知识图谱的数据的可视化如图2所示。

2 关系抽取模型的训练

深度学习往往由于缺乏公共关系标注数据集而在电力领域应用较少。本文根据任务需求和数据特点,在知识图谱语义关系设计的框架下进行关系抽取训练数据的标注。标注数据是以输电规程文档作为数据来源,标注的内容为输电领域相关规定与要求。人工标注三元组数据如表1所示的4种三元组类型,共有7000条三元组数据。

关系抽取模型是以Python深度学习库Keras框架搭建的。模型的训练使用云计算平台OpenBayes为T4的算力容器,运行环境是TensorFlow1.15,BERT模型选择为谷歌官方发布的中文预训练模型chinese_L-12_H-768_A-12。数据集是人工标注的7000条三元组,采用80%数据训练,20%的数据测试。

基本参数选择时,考虑到最大输入词长与输入特征有关,Epoch大小的选择直接影响模型是否达到稳定,Batch_size的选择需要兼顾到显卡内存和模型训练的速度,学习率的选择也是与模型训练速度有关。由于实体采用指针解码,实体首尾指针的阈值的设置也会直接影响解码的过程。输入最大词长选择为128,Epoch选择为45,Batch_size选择为64,学习率选择为0.1×10-4。头实体(S)的首尾指针的阈值选择为0.6和0.5,尾实体(O)的首尾指针的阈值选择为0.5和0.4。

模型训练时的训练集测试集准确率、召回率和F1值随epoch变化如图3所示。模型训练了45个epoch后达到稳定,实验结果表示测试集精确率(Precision)为0.8804,召回率(Recall)为0.7988,F1值为0.8376。结果表明精确率比召回率高0.0816。

图3 训练时测试集评价指标的变化

通过打印测试集预测数据分析,模型对一句话中只含一条SPO的预测几乎全部正确,在1个S对应多个PO也能正确预测,但是在一句话中出现多个不同的S时会出现预测遗漏或者错误。模型的特点是先预测S再预测PO,这种策略使得S的正确预测至关重要。

3 输电规程知识图谱查询测试

3.1 基于查询匹配系数法的查询系统

为了更加有效地利用知识图谱,需要一种快速准确的查询方式。知识查询的核心不仅在于能够支持表现形式丰富的信息需求,以不精确的方式匹配需求和数据,并对结果进行排序,同时也需要一种简单高效的搜索方式,以便用户以直观的、易用的方式对数据进行查询和浏览。本文在图数据库查询语言Cypher的基础上,设计能够支持自然语言的知识查询系统。

知识图谱的查询大致分为:①初步筛选获得候选三元组集;②对候选三元组集进行严格的筛选,获得最优的三元组集。

常规的知识图谱查询是节点查询,首先初步筛选获得候选实体集,然后通过相邻节点特征和关系特征筛选,获得最终实体集。由于用户输入的查询语句是相对简短的,如果按照常规的节点查询法来筛选会有问题,导致语句越短排序越靠前。为了降低语句长度对筛选算法排序结果的影响,本文结合余弦相似度的特点提出计算查询匹配系数的筛选排序方法。候选三元组集的筛选与排序是通过对所计算的查询匹配系数进行筛选与排序,从而使相关度高的三元组结果排在前面。当查询语句长度远短于目标三元组时,通过查询匹配系数比较查询语句与目标语句的关联程度,查询匹配系数越高则认为是越优的查询结果。

查询匹配系数计算方法:由查询语句Q得到列表A,目标语句T得到列表B,则查询语句匹配系数为

其中得到列表A和B有2种方法:①根据中文分词工具HanLP分词得到两个列表A1、B1从而得到匹配系数S1;②通过命名实体识别模型得到2个列表A2、B2从而得到系数S2。一条自然语言查询语句由输电领域的命名实体和其他自然语言文字组成,由于系数S1是由分词方法计算得来的,每个文字的权重是相同的,而系数S2对输电命名实体的文字权重更高。因此综合系数S1和S2并设置阈值α和β,用来对目标三元组语句筛选排序。

3.2 知识查询系统评价

知识图谱以三元组的形式存储在Neo4j数据库中,利用Python与Neo4j的交互访问图数据库,返回查询结果,查询结果以语句形式输出。

为了评估构建的输电规程语义搜索系统的查询效果,通过几个典型的查询语句进行分析比较节点查询和三元组查询各自的适用场景,并对比两者的查准率和召回率。节点查询方法是由命名实体匹配知识图谱中的图节点,然后利用编辑词距方法进行图节点筛选,最后由节点返回相应三元组语句。本文给出了6个代表性查询语句:核心骨干网架包括哪些?导线允许温度?风压不均匀系数的取值要求?基本风速该如何确定?绝缘配合该怎么设计?耐张段长度该如何确定?三元组查询和节点查询的查准率和召回率对比结果如图4、5所示。

图4 查准率结果图

对于三元组查询方式的实际查准查全率的效果来看,平均查准率和查全率达到了75%以上,优于知识图谱中常用的编辑词距法和N-Grams法。以上6条查询语句的查准率有2条查询语句达到了100%,其余4条查询语句在60%~80%之间,对比节点查询方式,三元组查询方式的查全率几乎都在80%以上。由于查准率反映检索准确性,查全率反映检索全面性,两者是成反比关系。三元组查询方法在保证更高的查全率前提下,牺牲了部分查准率。综合分析查准率和查全率,结果表明了三元组查询方法在保证更高的查全率前提下,查询效果比节点查询法更加精确,效果更佳。实验证明了实体关系联合抽取方法构建的输电规程知识图谱,采用了查询匹配系数算法的查询方法可以更好地实现知识查询功能,提高知识查询的查准率和查全率。

图5 召回率结果图

4 结语

本文提出的基于Seq2seq的半指针半标注实体关系联合抽取输电规程文本的方法,其采用指针网络解码提高实体抽取的准确性,共享编码层进行关系抽取降低了串联抽取方法误差积累问题。实验结果表明:人工标注的关系数据库中测试集F1值达到0.8376,在知识图谱查询测试实验中查准率和查全率平均达到了75%以上,验证了该方法在输电规程文本抽取的有效性。本文自底向上构建了输电规程知识图谱,在知识图谱构建过程中创新地采用实体关系联合抽取策略进行输电规程文本知识抽取,验证了实体关系联合抽取模型在电力领域关系抽取的可行性,为电网应用创新提供了新的思路。

猜你喜欢
三元组规程指针
TransP:一种基于WordNet中PartOf关系的知识图谱嵌入方法
中国新车评价规程
基于规程法的雷击跳闸率计算
基于卷积神经网络的知识图谱补全方法研究
中国新车评价规程
K-VQA:一种知识图谱辅助下的视觉问答方法
郊游
为什么表的指针都按照顺时针方向转动
浅析C语言指针