基于知识图谱技术的油水井生产信息图谱构建方法
2022-09-24李婧璇
李婧璇
(中国石油大港油田信息中心,天津 300280)
1 研究背景
油水井在长期生产过程中,通过巡检会积累大量生产记录,除了常见的产油量、产水量、油压等结构化的指标数据,还包含备注等文本格式信息。备注作为生产过程的补充说明,往往涵盖开关井、修井、取样等多阶段的详细描述。如果能够充分发挥文本信息中的价值,不仅可以更加准确地制订停井计划、油水井状态评估方案,还可以为未来的油气生产决策提供数据支撑。然而,由于记录人员的经验存在差别,记录存在缺失和矛盾在所难免,加上文本没有固定的格式与结构,记录人员难以通过人工分析和行业标准来分辨其中的错误。提高生产记录中文本信息的准确度和利用率既可以加深人们对油气生产的认识,又能够进一步提高生产数据质量,还可以盘活生产系统文本信息资源,可谓一举多得。自然语言处理技术的快速发展,使利用分词工具对文本信息进行自动处理成为可能。将文本分割为易于处理的词和词组之后,最常见的技术路线是,在已有的油水井生产文本记录中,利用机器学习方法制定规则,再用这些规则来识别新的文本记录中的错误,从而避免依赖冗余信息及人员经验来识别错误。然而,机器学习受数据驱动,可能会因为文本缺失部分内容而忽略关键信息,并且训练数据的特征也会影响训练效果。
另一种可行的方法是,基于知识图谱技术,围绕已有的油水井生产文本记录,构建一个油水井生产信息知识图谱,并借助知识图谱来识别新记录中的错误。
所谓知识图谱(Knowledge Graph),是一个用“关系”连接“实体”和“属性”的网状知识结构。其中,“实体”和“属性”用节点表示,“关系”则用连接两个节点的有向线段表示。知识图谱基本组成单位是“实体—关系/属性—实体”三元组。凭借一目了然的图形结构,知识图谱可以表示文本信息中的复杂关系,还能通过知识推理来识别出关键信息。
2 生产信息知识图谱的构建
2.1 构建知识图谱的常规方法
知识图谱的逻辑结构分为数据层、模式层两个层次。数据层位于底层,在图数据库中,以事实为单位存储的知识构成了庞大的实体关系网。模式层则是知识图谱的核心,存储经过提炼的知识。简单来说,构建知识图谱,就是采用自动或半自动的技术手段,从原始数据中提取出事实,并将其存入数据层和模式层的过程。这个过程是迭代更新的,每轮迭代包括3 个阶段:信息抽取、知识融合、知识加工。信息抽取是指从半结构化和非结构化数据中提取出实体、属性及实体间的关系,作为知识图谱的基本元素。知识融合是指对获得的新知识进行整合,以便消除矛盾和歧义。有些实体可能有多种表达,需要将这些表示相同实体的词合并为一个节点;也有些称谓可能对应多个实体,这时就需要对这些多种含义的实体名称进行区分。知识加工是指在应用过程中对知识图谱的性能进行评估,并根据学科技术发展情况更新知识图谱的动态操作。
2.2 油水井生产信息知识图谱构建过程
油水井生产数据中,除了以结构化形式存储的指标项,还有以文本格式存在的备注类信息。考虑到二者的特征和构建知识图谱的常规流程,笔者提出基于知识图谱技术的生产信息组织架构,具体如下。
2.2.1 实体链接
将抽取得到的实体链接到知识库中与之相应的实体对象。
2.2.2 关系抽取
从结构化数据和文本中抽取实体之间的关系。鉴于部分属性可能是其他属性的程度描述,还需要考虑属性之间的关系抽取。
2.2.3 关系筛选
抽取出关系之后,还需要进行关系筛选来剔除冗余和错误的概念,以免影响到知识图谱的应用效果。
2.2.4 数据集成
以三元组的形式,对生产信息中提取的实体、属性、关系进行重组,连同从规范文件中提取的三元组,形成一个油水井生产信息知识图谱。
2.2.5 图谱更新
构建知识图谱并非一成不变。随着专业领域认识不断深入,知识体系会得到补充和调整,相应的知识图谱也需要进行更新迭代,以便保证知识质量和应用效果。
2.3 实体/属性抽取
该环节借助自然语言处理技术,自动从记录中抽取实体/属性信息并标注词性。具体包括以下几个方面。
2.3.1 文本预处理
中文不同于英文,词与词之间没有空格作为分隔符,因此必须对中文文本进行分段、分句、分词的预处理。这里使用Python 的中文分词工具Jieba 将文本记录切分成词,然后用隐马尔可夫模型来识别词典中未涵盖的词。
2.3.2 词语提取
参照《石油天然气工业术语规范》(GB/T 8423.1-2018)(以下简称《规范》),在包括文本在内的生产记录中搜索关键词。每当匹配上一个规范中的术语时,就将这个词所代表的实体/属性作为节点加入知识图谱。
2.3.3 词性标注
将所有词划分成5 类并标注词性:①描述设备及其部件的名词标为En;②描述固有特性的名词标为Pv;③描述程度的副词标为Pad;④描述程度的量词标为Pq;⑤不在《规范》中,且无法用隐马尔可夫模型标记词性的实体或属性。完成词性标注(Part-Of-Speech,POS)的词类集合,可以用来训练实体/属性的词性标注模型,以便应用于非结构化数据的实体/属性抽取过程,减少人工词性标注的工作量。实体/属性抽取环节是知识图谱构建过程的基石,很大程度上影响了知识图谱的质量和效率。知识图谱在应用上取得的效果,与实体/属性抽取的准确性是密不可分的。
2.4 实体链接
实体链接的基本思路:通过实体抽取得到实体指标项后,从知识库中选出一组与实体指标项相近的候选实体,然后通过相似度计算,将该实体指标项链接到知识库中对应的实体对象。为了使实体链接尽可能准确,有时需要进行实体消歧和共指消解。
实体消歧用于解决同名实体产生歧义的问题。例如,“苹果”既可能指苹果公司,也可能指水果。本文的研究范围限定在油气生产领域,实体名称规范明确,因此该环节可以略过。共指消解用于解决不同实体表示相同含义的问题。例如,“减速器”和“减速箱”就表示同一个实体。除实体之外,属性也可能存在别称,所以共指消解应该同时被应用在实体和属性上,达到同义词合并的目的。该环节具体包括以下几步。①基于POS 的名词分类。考虑到同义词POS 必相同的特点,可以将实体/属性词根据POS 分为4 组,然后分别在每个组内识别同义词。②词的向量化表示。将文本信息转换为计算机可识别的形式,通常以词为单元组成词向量,本文使用开源工具Word2vec 将词转化为向量,通过计算向量之间的余弦相似度来判断词与词之间的语义是否相近。③筛选词对。同一句话的近邻词和相似语境下不同句子的构成词往往余弦相似度很高,要想减少近邻词的干扰,还需要筛除曾一起出现在同一条记录中的词对。④形成同义词列表。参考《规范》,对各组含义相同的实体或属性进行合并,从每组选出一个词作为该组所有词的标准名称,借助列表形式,将标准名和同义词罗列出来。
之所以将实体链接环节提前到关系抽取之前执行,是因为油气生产领域相对封闭,这样做有助于提高关系抽取环节的训练集质量。
2.5 关系抽取
实体/属性抽取环节得到的是离散的实体和属性,要想将其组织成网状的知识结构,还缺少将这些节点连接起来的关系。这就需要借助关系抽取的手段来识别文本记录中是否存在关系,以及两个实体或属性之间存在什么关系。在油水井生产信息所涉及的关系中,根据两个实体/属性组合的POS 不同,可以细分为5 种类型:①二者皆为En,则可能存在包含关系;②一个En,一个Pv,则Pv 是En 的特性;③一个Pv,一个Pad,则Pad 是Pv 的定性描述;④一个Pv,一个Pq,则Pq 是Pv 的定量描述;⑤二者的任意组合,可能出现无关系的情况。至此,关系抽取可以被抽象成一个分类问题:从实体/属性词的两两组合中,选出除类型⑤以外的其余4 种组合的词对,然后根据词对向量,应用弱监督协同训练法对它们之间的关系进行分类。
2.6 关系筛选
关系筛选可以排除从文本中提取的冗余和错误的关系。在实际工作中,巡检人员为了言简意赅地记录情况,有时会缩略地描述一些常见设备及其部件,而没有详细地逐级描述其归属关系。例如,“抽油泵游动凡尔被砂卡住”可能被记录成“游动凡尔被砂卡住”,导致油井本身虽然不直接包含“游动凡尔”,却可能被机器判定为直接包含关系。
这类错误可以通过知识推理来规避掉。所谓知识推理,就是从现有知识出发,发现新知识的过程。由于标注全部的间接包含关系会大幅增强知识图谱的复杂度和冗余度,这里只对直接包含关系进行标注,即如果连接两个实体节点的路径不止一条,且其中一条路径上存在与这两个节点有包含关系的新节点,那么这两个实体间的包含关系将被排除。例如,在“油井”和“游动凡尔”之间有一条“油井—抽油泵—游动凡尔”的路径,则直接连接“油井”和“游动凡尔”表示包含关系的路径将被排除。
2.7 数据集成
从生产信息中提取的实体、属性、关系信息,被重新组织为三元组表格的形式,连同从规范文件中提取的三元组一起,在Neo4j 图数据库中形成油水井生产信息知识图谱。在后续的应用中,生产数据将不断补充进来,这些归纳后的三元组可以用于关系抽取的训练过程,以便充分利用这些数据资产。
2.8 图谱更新
随着技术发展和业务理解的逐渐深入,新知识会持续不断地补充进来,这意味着知识图谱的构建不是一劳永逸的,而是一个不断更新迭代的过程。知识图谱的更新从本质上而言,是根据新的专家知识增加和调整相应的节点(表示实体及属性)和连线(表示关系)的过程,它分为全面更新和增量更新两种类型。如果出现实体/属性的大规模更新或有关新型设备记录的快速增长,对知识图谱推倒重建的全面更新模式会更加方便,但这种更新的缺点在于资源消耗大,而且后续的系统维护也会耗费大量人力。但是,实际应用场景下的知识更新大多是缓慢推进的,这时就可以采用人工干预下的增量更新模式,在原有知识图谱的基础上补充和调整实体、属性、关系即可,这个过程不会消耗太多资源,而且知识图谱的准确度不会波动过大。
3 结语
知识图谱以接近人类认知世界的方式来组织、管理、利用海量的信息,是一个新兴的研究领域。本文将知识图谱技术引入油水井生产信息的处理过程,提出了一种自底向上构建油水井生产信息知识图谱的方法,在提高文本数据利用率的同时,对中文信息处理及检索也有重要的研究意义。一个典型的应用场景是,在生产信息知识图谱中定位节点和遍历路径,在数据录入阶段及时提示错误信息,从而避免错误记录进入系统,从源头确保录入数据的质量。本文提出的图谱构建流程不仅是一次知识图谱技术在油气生产领域的探索,也为能源行业中文文本的数据挖掘研究提供了新思路。