石油勘探开发知识图谱技术实现思路探讨
一、石油勘探开发知识图谱概念
有关知识图谱的定义有很多,在维基百科的官方词条中:“知识图谱是Google用于增强其搜索引擎功能的知识库。本质上, 知识图谱旨在描述真实世界中存在的各种实体或概念及其关系,其构成一张巨大的语义网络图,节点表示实体或概念,边则由属性或关系构成。”
(一)本体与知识图谱
知识图谱本质上是利用语义网络图对数据的一种表达手段,在建立知识图谱之前首先需要建立本体,本体是语义数据模型,用于定义业务中事物的类型以及可用于描述它们的属性。本体是广义的数据模型,这意味着它们仅对具有某些属性的事物的一般类型进行建模,而并不包含有关我们业务中具体个体的信息。
本体是一个抽象概念,用计算机术语本体就是知识图谱的 schema。本体描述了最基本的业务概念模型,它是构建知识图谱最基础的工作。
使用本体作为一个框架,我们可以添加具体业务的真实数据来创建一个知识图谱。从这个意义上讲本体+数据资源=知识图谱。
(二)石油勘探开发本体构建
本体是对业务的高度抽象,石油勘探开发本体建设是要用一个高度抽象的模型去描述勘探开发所有的数据资源,由于勘探开发数据类型、存储方式差异巨大,如果希望从数据技术角度抽象一个通用模型来描述所有数据难度太大。根据石油数据的特点分析,我们知道所有的石油数据都是与某一个石油业务节点相对应的,也就是说一个业务节点对应着一个石油数据,我们可以转换一个思路,首先建立石油业务的本体,通过石油业务与数据之间的一一对应关系,将该本体转换为石油数据的通用描述模型(语义描述模型)。
因此石油本体建设实际上是对石油业务的抽象和描述。我们关注的是石油业务的本体建设,因此本体的类要围绕业务来设计,针对一个具体的业务,我们一般关心该业务的几个维度,如业务的对象目标是什么?业务处于勘探开发业务哪个阶段;业务属于哪个工作方面,是作业生产、研究还是管理;业务处于哪个工作流程阶段;该业务是属于哪个专业等。根据这个思路我们可以抽象出石油业务的本体如下:
1.类
任何一个业务工作节点都可以通过这六个类进行描述。实际工作中由于业务节点和业务数据是一一对应的关系,我们用业务数据代替业务节点。
2.关系
关系是连接两个类的属性,如井对象与钻井工作流程之间就有一组关系。
上述类关系中业务节点和每一个其它类都有一个对应关系,另外几个之间两两之间也有对应的关系,通过这些关系的建立就能够构建整个石油业务关系网络。
3. 属性
描述一个对象(和类)所可能具有的属性、特征、特性、特点和参数。如井的基础数据等。
站在石油勘探开发业务角度,石油勘探开发知识图谱是描述石油勘探开发业务的各种实体或者业务概念及其关系,包括地下、地上各种对象目标及在这些工作目标上开展的各种生产作业、专业研究、工作管理工作等实体以及这些实体之间的业务关系。这个概念包含几个方面的意思:
(1) 石油勘探开发业务实体: 指的是石油勘探开发业务中所有的业务工作节点,间接以该业务工作节点产生的数据为代表(由于石油业务特点,每一个业务节点一定对应一个业务数据。)。石油勘探开发业务实体是石油勘探开发知识图谱中的最基本元素,不同的石油勘探开发业务实体间存在不同的业务关系。
(2) 石油勘探开发业务语义类(概念):石油勘探开发中具有同种特性的实体构成的集合,如盆地、圈闭、井、钻井作业、油藏评价等。
(3) 石油勘探开发业务内容: 通常作为实体和语义类的名字、描述、解释等,可以由文本、图形、表格等专业方式来表达。
(4) 石油勘探开发实体属性(值): 石油勘探开发业务中一个实体一般有多个属性,每一个属性有其对应的属性值,如井有钻井信息、录井信息、测井信息等属性,又分别用钻井数据表、录井图、测井图等属性值表达。不同的属性类型对应于不同类型属性的边。
(5) 石油勘探开发实体关系: 石油勘探开发实体之间都有其特定的业务关系,如测井解释结果是由多个测井原始数据解释得到,圈闭的含油性是由圈闭所包含井的含油性决定的等等。关系是石油勘探开发图谱的灵魂。
Google知识图谱的宣传语“things not strings”给出了知识图谱的精髓,即,不要无意义的字符串,而是获取字符串背后隐含的对象或事物。从上述内容看,石油勘探开发知识图谱本质上是反映勘探开发业务内容,石油勘探开发知识图谱是用通用的语义网络图表达勘探开发业务之间的业务逻辑关系。
二、石油勘探开发知识图谱建立方法
知识图谱的建立有自顶向下(top-down)与自底向上(bottom-up)两种构建方式。自顶向下指的是先为知识图谱定义好本体与数据模式,再将实体加入到知识库。该构建方式需要利用首先有业务知识库作为其基础知识库。自底向上指的是从一些开放链接数据中提取出实体,选择其中置信度较高的加入到知识库,再构建顶层的本体模式。
目前,互联网企业大多数知识图谱都采用自底向上的方式进行构建,其中最典型就是Google的Knowledge Vault和微软的Satori知识库。
石油勘探开发业务是一个典型的先有知识体系,后有数据的特点,也就是所有的石油勘探开发信息都是主动设计出来的,并且所有的数据及知识的产生都是按照石油地质理论及石油工程理论设计的,因此石油勘探开发知识图谱建设只能用自顶向下(top-down)的建设方法。
(一)本体与知识图谱
在通用的知识图谱综合了众多方面的技术和方法,有知识表示(RDF、OWL...)、知识抽取(D2R、NER命名实体识别、关系抽取...)、知识融合(实体对齐Entity Alignment...)、知识存储(图数据库存储、RDF存储...)、知识推理(归纳推理、演绎推理、符号推理...)、图计算(子图匹配、最短路径...)、可视化、语义搜索、知识问答、知识众包等。这些技术是一个常规知识图谱建立的必要技术环节。我们的OiO数据中台几乎囊括了上述技术的解决办法,因此通过OiO数据中台可以很容易地实现石油知识图谱。
1.本体模型
按照上述基本模型确定本体模型6个大类,具体内容在下一步实现。
2.编辑本体,给出业务知识表示框架
(1)编辑类内容
根据上述概念类,我们将每一个类的具体内容进行梳理,如业务对象可以分为地质对象、工程对象等,地质对象又进一步分为盆地、区带、圈闭、油气藏、地层、砂层等等,其它类也是这样逐步按照一定的方法和原则进行分解。
该工作需要将勘探开发所有的工作域、业务域、业务流程及专业全部细节梳理清楚,是一个专业技术强,工作量极大的工作。目前我们的E&P模型梳理工作主体已经完成,需要在项目中逐步完善补充。
(2)编辑关系
根据业务规则定义类与类之间两两关系,关系又进一步分为若干类型。
编辑关系需要将上述类内容中每一个内容与另外类内容一一建立关系,同时需要定义关系类型。
(3)编辑属性
定义每一个具体类的属性维度及属性值。如果将业务节点作为一个类,与之对应的业务数据内容就是其主要的属性内容。
本体具体内容也可以作为一种特殊的知识图谱,也就是模型知识图谱。
(二)实际知识(数据)准备
实际数据准备就是如何将我们现实中的数据按照本体的思路进行标准化,在标准化基础上将数据实例一一与模型内容进行对应,建立真正的实例知识图谱。
1. 知识表示
知识表示是通过概念化的方式表达一个知识的内容。对于石油业务来讲(其它业务都一样),一个完整的知识片段实际上就是一个完整的业务数据也就是我们OiO平台中的定义的标准业务数据(成果类型)。
在一个知识表示中需要描述实体、实体属性、对象、关系、关系类型等多种内容,这些在现在的知识图谱技术中都有特定的定义和描述模型。
对应到OiO的数据坐标、业务数据(成果类型)定义等,数据坐标和业务数据(成果类型)基本将知识表示的内容全部涵盖,并且有具体的实现办法。也就是说如果在OiO基础上建立知识图谱,最基本的知识表示已经定义完成。
由于石油业务的复杂性,在具体技术实现上参考OWL技术规范。
2. 知识抽取
知识抽提就是在原始数据中抽取标准化的知识片段,这是知识图谱建立最难也是最关键的一项技术。在石油业务中由于数据的复杂性如何自动抽取标准化的知识体一直是难以解决的问题,我们的OiO数据中台最核心的贡献就是解决了这个难点。通过我们的数据坐标定义及自动识别和获取技术可以自动从原始数据中得到一个一个业务数据(成果类型),完成知识抽取的任务和目标。
数据中台中的业务数据(成果类型)定义及数据萃取就是解决这个问题。
在抽取知识实体时也可以通过数据坐标理论方法建立各个知识实体之间的关系抽取。
不同于互联网数据,石油勘探开发数据对知识抽提结果有严格的质量要求,也就是不能有任何的业务含义偏差。因此在具体技术实现上互联网数据抽提所采用的的实体识别、关系识别等通用技术不适用于石油勘探开发知识的提取,需要制定更加严格的,业务规则明确的知识抽提方法。在关系识别上也不能采用常规的关系识别方法,要充分利用本体构建中建立的业务关系模型,自动实现所有实例知识的关系识别。
3.知识融合(实体对齐Entity Alignment)
知识融合就是将所有的知识处理为统一、可识别的、统一的表达含义。包括以下几个部分内容:
(1)本体匹配(ontology matching)
侧重发现模式层等价或相似的类、属性或关系,也成为本体映射(mapping)、本体对齐(alignment)。
由于勘探开发数据源比较规范,可以通过映射的方式建立知识与本体的匹配。
(2)实体对齐(entity alignment)
侧重发现指称真实世界相同对象的不同实例,也称为实体消解(resolution)、实例匹配(instance matching)。
在业务数据定义中充分考虑石油数据特点,一方面通过别名管理统一不同名称的实体,同时通过版本标记及管理解决不同版本实体问题。
(3)知识融合(knowledge fusion)
一般通过冲突检测、真值发现等技术消解知识图谱融合过程中的冲突,再对知识进行关联与合并,最终形成一个一致的结果。
主要通过数据中台业务数据标准化定义解决知识一致性问题,同时通过数据接入解决不同数据源知识融合问题。数据中台就是解决这个关键问题的。
由于石油数据的相对规范性及业务的稳定性,知识融合工作可以找到规律并可以通过一系列的工具实现。
(三)知识图谱实现
1.知识存储(图数据库存储)
这是计算机技术层面的问题,目前已有成熟的技术解决。
石油勘探开发数据内容复杂,业务关系复杂,需要用到图数据库存储知识。
2.知识推理(归纳推理、演绎推理、符号推理...)
知识推理是知识图谱的应用,这个需要在本体中建立各种专业推理规则,目前我们还没有开展这方面的工作。
3. 图计算(子图匹配、最短路径...)
这是计算机层面的技术,目前已有成熟解决方案。
4.可视化
可视化包括两个方面的内容,一是图谱的可视化,这是有知识图谱软件解决的问题,目前已有成熟技术,二是知识实体的可视化,这个在OiO平台数据中台中解决了这个问题,可以实现各种数据的业务化展示。
5. 语义搜索
语义搜索时能够以业务的语言搜索数据,重点是要建立石油业务各种名词之间的复杂语义关系,这个问题我们通过Sooil已经解决。
6. 知识问答
知识问答是知识图谱的一个应用场景,是通过知识推理及知识关系等建立的应用,对于基于知识关系的知识问答可以通过语义分析及智能搜索解决,这部分规则我们已经解决。对于基于知识推理的知识问答需要建立知识推理规则,这方面规则还在研究。
7.知识众包
知识众包是通过大众的力量完成知识图谱的建设工作。在石油知识图谱建设工作中有两种知识图谱,一是业务概念知识图谱,二是实例知识图谱,两种图谱众包方式不一样。
(1)业务概念知识图谱众包实现
业务概念知识图谱(具体本体内容)是描述石油业务含义及相互关系的图谱,由于对一个业务的理解差异以及不同地方业务特点的不同,业务概念知识图谱可能会有扩展以及有不同的业务知识体系及表达方式。这个知识图谱可以采用众包的方式开放给大众进行补充、完善及个性化。
在众包之前一定要制定一套能够被大众理解的概念模型及建设规则。
(2)实例知识图谱众包实现
石油行业知识实例数据分为内部数据和外部数据,对于内部数据有着严格的质量管理及控制体系,其众包实现实际上是建立一个数据自动生成、上传给数据中台的机制,通过数据中台加工后实现图谱内容的扩充。因此对于内部数据众包实际上内部员工的参与。
还有一部分数据是外部公共数据,如互联网数据、机构数据等,这些数据比较合适众包理念及方式。但是这些数据有一个很大的问题就是缺少标准,需要解决的最大的问题就是前面说的识别、抽取等工作。
对于我们数据中台实现该技术的最大突破点就是成果类型的自动识别技术,如果能够解决网上数据的成果类型自动识别问题,互联网数据的众包问题就解决了。这方面我们已有一些初步方案,后期将安排技术力量实施。
三、核心技术
石油勘探开发知识图谱建设是一件技术复杂,工作量极大的工作,在具体工作中一方面要充分利用成熟的知识图谱概念及技术,另外一方面要对石油勘探开发知识体系及数据体系有着极深的理解。在勘探开发图谱建设中有几个关键技术非常重要:
(一)石油勘探开发本体技术
本体是知识的核心模型,石油勘探开发本体建设有别于互联网本体构建,需要充分了解石油业务,能够用一个抽象的模型描述所有的石油数据。目前业界还没有公认的成熟可用的模型可用,侏罗纪公司设计的业务数据描述模型是在这方面的创新和实践。经过多年的工作,目前该模型已在多个重点项目中得到了实际应用,充分证明了该模型的合理性和可用性,后续侏罗纪公司将把该模型详细成果公布,希望逐步成为一个通用的石油勘探开发业务描述模型。
(二)知识自动生成技术
知识自动生成是知识图谱建设的基础,没有这个基础,只能建立概念化的知识图谱,不能建设工业化应用的系统。知识自动生成包括知识识别、知识抽提、知识标准化、知识关系建立等一系列的工作,如何用通用的技术实现这些工作的自动化、标准化是最大的技术难点。侏罗纪公司经过近10年的研究,开发的石油勘探开发数据中台可以很好地解决这些问题,目前该技术平台已在多个项目中得到成功应用。
(三)智能搜索技术
智能搜索是知识图谱一个主要应用,也是一个石油勘探开发业务中普遍使用的技术。该技术要充分利用语义模型及知识关系,能够按照业务需要提供所有数据的智能搜索。目前侏罗纪公司的Sooil3.0版本产品是一个按照知识图谱技术建立的通用搜索产品,可以满足日常数据搜索需要。
(四)石油勘探开发知识推理技术
知识图谱一个主要应用就是知识推理,这需要在本体模型中建立各种业务规则,目前该项工作还是一个空白,还需要在后续工作中展开研究。
四、结语
在石油勘探开发领域知识图谱建立及使用是一个新兴发展的领域,很多专家在不同专业领域开展了工作,如何将互联网先进技术应用到石油勘探开发领域一方面需要我们对新技术有深入的了解,同时也需要我们对石油勘探开发业务有深刻的理解,在深刻理解石油业务的前提下找到适合勘探开发业务的落地解决方案是我们石油信息化工作者的责任和义务。近几年我们在大数据、知识图谱等新技术方面做了一些工作,取得了一些初步的成果,但是还有很多关键的技术没有突破,需要我们大家在今后的工作中共同努力。本文档是我们工作中的一些粗浅认识,有很多不成熟的地方希望同仁指正。