冯秋睿,赵 汀,刘 超
(自然资源部成矿作用与资源评价重点实验室,中国地质科学院矿产资源研究所,北京 100037)
三稀矿产具有极为重要的用途,在新能源、通讯技术、电子计算机、航空航天、医学药物、化工等领域有着广泛的应用,是当前许多先进技术的物质载体[1]。三稀矿产的安全供应已经上升至国家发展战略高度,2017年美国签发了《确保关键矿产安全和可靠供应的联邦战略》的第13817号行政令,强调要查明关键矿产的新来源,减少因关键矿产供应链中断带来的国家安全与经济发展隐患,保障美国对关键矿产资源的稳定供给[2],同年发布的《美国的关键矿产资源—经济和环境地质及未来供应展望》报告,三稀矿产位列其中;欧盟也在2018年将三稀矿产列入《关键原材料和循环经济》报告;早在2010年,我国就启动了三稀矿产地质调查,取得了一系列的成果[3],并建成了三稀矿产数据库[4]。2023年7月3日,我国商务部、海关总署联合发布了对镓、锗相关物项实施出口管制的公告,在当前世界发展形势之下,三稀矿产在国家资源安全中的重要性愈发凸显。
长期以来,地质勘查人员运用专业知识结合调查数据,开展野外观测和物探、化探工作,发现了一大批三稀矿床和矿点,取得了显著的找矿成果[5]。大量、多源、多种类的勘查数据和勘查报告,以及基于这些数据产出的文献成为矿产信息表达与存储的重要载体,此类数据内容描述从简单到复杂,涉及各矿区的地层、构造、岩浆岩等地质信息,以及规模、形态、产状、分布等成矿地质特征知识[6],如何从这些数据中抽取知识、存储和管理知识,以及以直观的方式表示出实体及其属性、关系,是总结三稀矿产成矿规律和成矿预测的重要研究基础,而三稀矿产知识图谱作为地学知识图谱的领域化应用,因其丰富的形式化语义信息以及灵活的数据关联模型,可以有效解决信息检索与推荐、知识发现与推理等一系列三稀矿产研究的基础问题。
近年来,地学知识图谱的建设取得了长足的发展。美国全球变化研究计划(2013)集成开源和基于网络的资源,以协调和整合全球环境变化相关的数据资源,将其集合成GCIS Ontology。WANG等[7]利用分词规则对地质类文献进行解析,分析了词语之间的语义关系,并将词语及其相互关系可视化为节点和边,直观清晰地表达了地质类文献中的关键信息。刘俊楠等[8]提出了以地理空间数据提取地理实体为主,百度百科补充属性信息为辅的知识图谱构建方式。周永章等[9]选取华南钦杭成矿带的6个斑岩铜矿、斑岩矽卡岩型铜矿为研究对象,收集期刊与调查报告中相关的文本,并总结出斑岩铜矿本体,抽取数据构建斑岩铜矿知识图谱。杨玉莹等[10]围绕湿地类型、特征分布等要素分析湿地领域知识建模形成湿地图谱的概念框架,其次,融合百度百科进行湿地实体提取,实现湿地知识图谱构建。冉一早等[11]以关键金属为研究对象,开发建设了知识图谱的大数据共享平台。张春菊等[12]以总结出的金矿本体为基础,构建金矿知识图谱并开发了金矿知识图谱的若干功能,其完整的构建流程成为各矿种知识图谱构建的重要参考对象。
地学知识图谱在其他领域已有一定的研究,然而三稀矿产领域知识具有自身的特殊性,其丰富的语义关联难以通过现有其他地学知识图谱直接复现和表达,根据领域特征来表示丰富的三稀矿产知识还没有深入的研究。因此,本文以三稀矿产相关文献为数据源,结合本体构建方法构建三稀矿产本体,引入知识工程中的知识抽取、知识表示技术,构建三稀矿产知识图谱,实现勘查数据、矿床文献等向矿床基本属性、成矿规律、矿床分布等矿床本体数据的知识转换,为基于本体的矿床知识图谱构建提供参考,为后续三稀矿产知识管理、隐藏知识挖掘提供基础。
知识图谱的构建有3种方式:自底向上、自顶向下和二者混合的方法[13],构建流程如图1所示,主要包括模式层设计、数据层构建、知识存储和知识计算应用[14]。
图1 知识图谱构建流程Fig. 1 Construction process of knowledge graph
1)参照三稀矿产行业规范,三稀矿产调查和资源综述,与三稀矿产相关某矿区、矿床的调查报告或发表文献等专著或地质勘查报告,梳理三稀矿产知识体系,确定三稀矿产的概念、实体、属性与关系。运用本体构建方法,对三稀矿产知识体系建模,构建三稀矿产知识图谱的概念模型,形成三稀矿产知识图谱的模式层。
2)基于收集的地质文献,提取其中的非结构化数据作为数据源,选择其中的部分数据作为深度学习模型训练的训练语料和测试语料,用以验证选择的深度学习模型在知识图谱构建中的可行性,运用在三稀语料中训练的深度学习模型,进行三稀矿产知识抽取、三稀知识融合,抽取大量三稀矿产实例以扩充实例层,并通过扩充后的实例层所包含的大量三稀矿产实例自底向上完善三稀矿产知识图谱的模式层。最后,为了存储和直观体现出三稀矿产的知识体系和海量实例,使用Neo4j图数据库对三稀知识三元组进行存储,存储的三元组格式为<实体,关系,实体><实体,属性,属性值>。
三稀矿产知识图谱架构设计如图2所示。三稀矿产知识图谱的构建涉及到模式层和数据层两个关键的架构设计。模式层用于定义三稀矿产的概念集合、属性和关系,形成知识图谱的结构和模式;数据层则用于存储和管理实际的三稀矿产数据,为知识图谱提供实例和具体数据支持。
图2 三稀矿产知识图谱架构设计Fig. 2 Design of the knowledge graph architecture for the three types of rare mineral
1.2.1 模式层架构设计
在模式层的架构设计中,考虑4个关键要素:概念集合、属性和关系、本体规范、模式验证。
1)概念集合:定义三稀矿产领域的核心概念和实体。例如,识别和定义矿床、矿石、矿物、地质特征等概念,建立它们之间的层次关系和包含关系,以形成一个有机的概念集合。
2)属性和关系:确定三稀矿产概念集合中实体的属性和它们之间的关系。例如,确定矿床的地理位置、矿石的成分属性、矿物之间的关系等。同时,还可以定义关系的属性,如关系的强度、方向性等。
3)本体规范:建立三稀矿产知识的本体规范,用于定义概念集合、属性和关系的语义和逻辑约束。本体规范可以基于领域专家的知识和领域文献,结合本体建模技术,形成一套可扩展和一致的知识表达模式。
4)模式验证:对模式层进行验证和评估,确保模式层的可行性和合理性。这可以通过与领域专家的讨论和反馈,以及与已有矿产数据库的对比来实现。
1.2.2 数据层架构设计
在数据层的架构设计中,需要考虑5个关键要素:数据存储、数据模型、数据集成、数据索引和查询、数据质量管理。
1)数据存储:选择合适的数据存储技术和格式来存储实际的三稀矿产数据。可以使用关系型数据库、图数据库或知识图数据库等,根据数据的特点和需求选择最合适的存储方式。
2)数据模型:根据模式层定义的模式和本体规范,设计三稀矿产数据的结构模型。这包括实体的属性和关系的定义以及它们之间的联系和依赖关系。可以使用实体-属性-关系(Entity-Attribute-Relationship)模型或图(Graph)模型等来表示和组织实际的三稀矿产数据。
3)数据集成:整合来自不同数据源的三稀矿产数据,进行数据清洗、数据转换和数据整合。这可以基于数据抽取、转换和加载流程来实现,确保数据的质量和一致性。
4)数据索引和查询:建立数据的索引和优化机制,以提高数据的查询效率和响应速度。可以基于数据存储技术提供的索引功能,或者使用专门的搜索引擎技术来实现。
5)数据质量管理:设计和实施数据质量管理策略和控制措施,确保数据的准确性、完整性和一致性。这可以包括数据质量评估、数据验证、数据纠正和数据监控等方面的工作。
通过模式层和数据层的架构设计,能够建立起一个完整且系统化的三稀矿产知识图谱。模式层提供了对知识的形式化和规范化表达,定义了三稀矿产的概念、属性和关系,为知识的共享和理解提供了基础。数据层则存储和管理实际的三稀矿产数据,为三稀知识图谱的应用与分析提供了基础,构建后的三稀矿产数据层使三稀矿产模式层实例化,完成了从三稀矿产勘查数据向成矿规律等知识转换。通过这两个层次的合理设计和实现,能够更好地理解和利用三稀矿产的知识,为三稀矿产资源的管理和开发提供更加有效和可靠的支持,并基于图数据库的基础功能实现三稀矿产数据查询、数据管理、三稀矿产知识抽取、知识可视化表达等功能,为基于知识图谱的三稀矿产成矿预测、三稀矿产资源管理、三稀矿产知识挖掘提供基础。
在对三稀矿产的概念、实体、属性、关系进行定义的基础上,人工梳理三稀矿产的知识体系。从顶端知识出发,基于已有的三稀矿产地质调查报告和文献,总结三稀矿产成矿地质特征等重要规律,逐层构建知识体系,清晰表达出三稀矿产实体及其围绕的各种关系和属性关联,确保知识图谱构建的准确性、完整性和规范性。应用本体构建的七步法[15]进行本体建模,本体的主要组成见式(1)。
式中:Ontology为本体;Conception为概念或者类;Property为属性;Axiom为公理,即对本体构建领域等的约束;Value为属性值;Nominal为概念与实例的链接。
将本体构成要素引入三稀矿产本体构建中,式(2)为五元组。
式中:GOnto为构建的三稀矿产本体;GCon为三稀矿产的概念;GProp为三稀矿产的属性,包含了三稀矿产的成矿时间、大地构造位置、成矿地质构造、空间、规模等成矿地质特征;GRel为三稀矿产实体之间的相互关系,实体与实例之间的实例关系,以及实例与属性的关联关系;GRul为规则,即在三稀矿产本体构建时对概念和实例的类型、组合方式的约束;GIns为概念的实例化。
三稀矿产本体结构如图3所示。
图3 三稀矿产本体结构图Fig. 3 Ontology structure diagram of the three types of rare mineral
三稀矿产概念[16]划分见式(3)。
式中:C1为矿床;C2为矿段;C3为矿体;C4为矿区。
三稀矿产知识图谱中的属性特征以及关系都是围绕着三稀矿产实体展开的,而在对一个地质实体进行勘查时,为了查明和研究矿体的变化规律、预测矿体变化性及矿床储量、质量、形态等的地质依据,首先需要确定当前调查区域内的地层、构造、岩浆岩等地质情况,紧接着查明矿体形态、产状、分布、矿石品位、物质组分、结构构造等成矿地质特征。因此,本文结合已有的三稀矿产概念建模,结合如《固体矿产矿点(床)地质数据文件格式》(DZ/T 0127—1994)[17]等行业标准,建立三稀矿产实体、属性和实体与属性特征的关联,对三稀矿产实体和属性建模。
三稀矿产的语义关系包含了三稀矿产概念和实例之间的映射关系、三稀矿产实体之间的包含关系、三稀矿产实体和属性之间的关联关系。其中,三稀矿产概念和实例之间的映射关系可表示为式(4)。
式中:C为概念;e为概念对应的某个实例;r为概念和这个实例之间的实例关系。比如矿床概念的一个实例牦牛坪稀土矿床,三元组表示为(矿床,实例,牦牛坪稀土矿床)。
三稀矿产实体之间的包含关系主要是根据不同层级的概念之间的相互关系进行定义,按照概念层级可表示为式(5)。
式中:R(Ci,Cj)为包含关系,矿床C1包含矿段C2,矿段C2包含矿体C3,矿床C1包含矿体C3。语义关系在不同层级的概念对应的三稀矿产实体之间均适用。
实体-属性关联关系主要是围绕三稀矿产实体的属性特征,根据种类可以分为对象属性和数据属性。其中,对象属性是三稀矿产实体与属性对象在语义关系上的关联,如矿床实体与赋矿地层、成矿构造、大地构造等属性之间的关联。数据属性是三稀矿产实体与属性数值之间的关联关系,如矿体实体与倾向、倾角、长度、厚度等数值的关联。实体-属性关联关系可形式化表达为式(6)。
式中:e为三稀矿产实例;property为三稀矿产属性;value为三稀矿产实体对应的属性值。
3.1.1 语料库构建
非结构化数据作为矿产信息的重要载体,是地质学家在地质调查工作中对诸多地质问题所作的记录以及对地质现象、地质问题等研究结论的重要载体。非结构化数据通常形成集合并且与结构化数据如表格等结合成为矿产勘查报告、期刊文献,能够对某一个矿产实体及其关系、属性进行集中表达。其中,期刊杂志包含的知识相对前沿,且内容表达相对规范,是大量地质工作者经过精练与加工后的研究[18-19]。
本文建立以三稀矿产相关的文献为数据源的语料库,提取清洗其中的非结构化数据,并使用基于深度学习的知识抽取来从非结构化数据中自动获取三稀矿产知识。深度学习的训练集来源于三稀矿产相关的发表于《矿床地质》《中国矿业》等期刊上的67篇文献,经预处理获取4089条语句。
由于提取出的非结构化数据具有领域性,无法直接使用如BERT等基于自然语言语料训练的模型。因此,需要根据三稀矿产领域的特殊性构建训练集,完成训练。本文基于doccano标注平台,依据三稀矿产本体,进行三稀矿产实体、属性、三稀矿产语义关系标注,构建三稀矿产知识抽取的标注语料库[20-21]。语料标注示例见表1。
表1 语料标注示例Table 1 Example of corpus annotation
3.1.2 模型训练
利用tokenizer对文本进行分词,并将每个词转换为RoBERTa的token表示。同时,建立一个词典来对应每个token的ID。将文本序列分成固定长度的小块等待训练(例如,每个小块包含256个token)。对每个小块的文本序列进行padding,以保证所有小块的长度相同。
开始训练前需要构建模型架构。首先,将预训练的BERT模型加载并提取出文本序列的特征,得到上下文感知的词向量序列;其次,将BERT的输出输入到LSTM层中,用于提取序列的上下文信息;最后,将LSTM层的输出输入到CRF层,用于进行序列标注。为了在训练过程中对模型进行监督和优化,以达到更好的性能和准确度,需要定义损失函数和优化器,本文定义损失函数为CRF的负对数似然损失,以便训练时可以同时考虑标签之间的依赖关系。
在完成模型架构构建后,开始训练。首先,将训练数据集输入模型,得到预测的标签序列;其次,计算损失函数并进行反向传播,更新模型的参数;最后,重复以上步骤,进行多个批次的训练,直到模型收敛为止。使用验证集对训练完成的模型进行评估,并根据评估结果调整模型参数或进行更多的训练迭代。最后将完成训练的模型参数进行保存,等待后续操作。模型训练流程如图4所示。
图4 模型训练流程Fig. 4 Training process of model
非结构化文本包含复杂的语义关系,具有文本距离长、多指代、多领域词汇等特征,是知识抽取自动化的重要难题。知识抽取方法经历了“基于规则和词典”到“基于机器学习”再到“基于深度学习”的发展历程,传统的基于规则和词典的方法是领域专家和语言学者在分析各类地质实体和属性文本描述特征的基础上,手工制定有效规则与匹配模板,将文本与规则进行匹配识别,此方法虽然原理简单,但构建时间长,面对复杂多样的地质知识时,适用性差。基于机器学习的方法,首先,制定特征;然后,让机器学习特征与对应地质实体的关系;最后,抽取地质知识。这种方法对于特征的制定要求极高,对用于训练的语料库依赖大,难以适应目标需求。基于深度学习的方法与基于机器学习的方法不同之处在于,深度学习通过深层次神经网络提取特征,无需特征制定,降低了人工成本,并且经历了深层次神经网络学习,获得的特征符合应用领域需求。因此,基于深度学习的地质实体成为当前知识抽取的主流方法。
知识抽取有两种方式:流水线(Pipeline)和联合抽取(Joint),本文采用基于深度学习的方法,以“流水线”的方式提取三稀矿产知识,即分为两个子任务进行知识抽取。
3.2.1 实体抽取
本文以三稀矿产知识体系为基础,采用现有的语言预训练模型RoBERTa(Robustly Optimized BERT Pretraining Approach)[22-23]的中文版RoBERTa-zh-Large、双向长短期记忆神经网络(Bidirectional Long Short-Term Memory,BiLSTM)[24]和条件随机场模型(CRF)[25]整合,进行三稀矿产实体的抽取。
抽取流程如图5所示,即通过在输入端使用中文预训练模型RoBERTa-zh-large生成三稀矿产实体和属性词向量,结合BiLSTM网络,从中提取三稀矿产实体和属性的特征。随后,借助CRF模型对实体和属性进行标签预测,完成抽取三稀矿产的实体和属性。在所获取的非结构化数据当中,三稀矿产的实体表述规范,但对象属性与数值属性的描述比较复杂,因而就实际效果来看,三稀矿产实体的识别效果优于属性识别。同时,即便已经使用了RoBERTa+BiLSTM+CRF的整合模型,但也存在少量因边界模糊而导致的识别错误、识别不全,例如在处理“广西大厂矿区”时,误将“广西大厂”单独认定为地名属性而致使“广西大厂矿区”矿区的实体提取失败,对于在抽取过程中出现的错误识别问题,依据语料库进行修改,并且使用实体对齐、实体消歧等知识融合方法对识别不全的实体进行融合更新。
图5 知识抽取流程Fig. 5 Process of knowledge extraction
3.2.2 语义关系抽取
采用RoBERTa+BiLSTM+CRF的框架进行语义关系抽取,并根据实体、属性识别出的结果进行配对,传入模型中进行语义关系分类。由于每两个实体和属性都需要配对并且分类,拉低了模型分类的效率,增加了分类时的计算量和可能造成的误差,因此,本文根据建立的三稀矿产知识体系对实体和属性、实体和实体的关系进行了预定义,当需要将实体、属性两两配对时,不在预定义的关系中的实体对、实体属性对不可传入模型进行分类,增加模型分类效率的同时也避免了实体对、实体属性对的误匹配。经过模型分类后,输出三元组。模型超参数见表2。
表2 模型超参数Table 2 Hyperparameters of model
3.2.3 知识融合
知识图谱中的实体、关系和属性的抽取通常由于专业领域的特殊性而存在一些问题,如一词多义。因此,为了解决知识抽取完成后存在的若干问题,本文采用了实体的对齐和消歧等知识融合方法,判断具有不同描述的实体是否指向同一对象,并依据判断结果对认定为同一对象的知识进行融合。该方法结合了字符向量、词向量和上下文特征向量,使用数值计算的方式来实现实体的对齐和消歧。这种方法可以更准确地表示三稀矿产实体的语义相似度,并提高知识融合的质量和精度。
简要流程为:首先,对描述相同的稀土矿产实体和属性去重;其次,三稀矿产实体可能在不同的期刊文献中存在别称、缩写和解释等多种表述形式,导致知识抽取后获得重复实体。为了解决这一问题,采用数值向量来表示三稀矿产实体,并通过衡量两个实体向量的语义相似度来实现实体的对齐和消歧。
根据式(7)[26-27]计算三稀矿产实体的特征向量V。
式中:C为字符向量,包含实体的字符信息,对应字符向量权重参数α;W为词向量,由预训练模型如BERT微调模型得出,包含语料库中的实体,对应词向量权重参数β;∑f∈cWf为上下文语境c中的特征向量,包含当前实体所处的语境信息,对应权重参数γ;Wf为特征词f的特征向量;N(c)为词总数。
根据设定的阈值(本文设定为0.9,即当余弦相似度大于0.9时,认定两个实体为同一实体),通过计算两个实体特征向量的余弦相似度,来判断实体是否属于同一个实体并进行合并。在知识融合的过程中,采用人工辅助的方式来提升知识融合的精度。
目前,主流的图数据库包括Neo4j[28]、Graph Engine、AllegroGraph[29]、gstore[30]、Dgraph等,其中,Neo4j在图数据库领域长期占据主导地位。因此,本文使用Neo4j图数据库存储三稀矿产知识抽取后的三元组,并将Neo4j图数据库作为三稀矿产知识图谱可视化的基础平台。在图数据库中,将三稀矿产概念、实体、属性转化为节点,将不同三稀矿产实体与各属性之间的关联和三稀矿产实体之间的关联转化为边,以结构化三元组的形式存储海量矿产资源相关数据中的知识(图6(a))。
图6 三稀矿产知识图谱功能Fig. 6 Function of knowledge graph of the three types of rare mineral
可视化界面中的节点颜色代表了知识体系中不同层级的知识,利用图数据库的查询功能,查询“内蒙古自治区”节点的所有联系节点和关系,输入“match (n:所处省份)-[]- (m) where n.name='内蒙古自治区'return n,m”,可以直观看到本数据库里内蒙古自治区内所有矿床、矿区,以及与矿床、矿区相关联的三稀矿产实体如矿段、矿体,三稀矿产属性如矿床类型、所在地名、伴生矿产等节点和边(图6(b));利用Neo4j的查询功能,可以直观地看到当前数据库里所包含的所有三稀矿产实体如矿区、矿床及其分布省份(图6(c))。
在研究中,本文引入了知识工程中的知识获取和知识表示技术,以构建三稀矿产领域的知识图谱,并解决领域要素之间语义关联关系表达不充分的问题。首先,本文对三稀矿产的知识体系进行了梳理,并对概念、实体、关系和属性进行了建模,从而构建了三稀矿产知识体系。在此基础上,构建了三稀矿产模型层。其次,本文建立了三稀矿产语料库,并使用深度学习方法训练了对三稀矿产语料敏感的模型。通过该模型,本文从非结构化数据中提取了三稀矿产知识,构建了三稀矿产数据层。最后,本文将提取的三元组存储在图数据库中,并利用知识表示技术存储和管理三稀矿产知识,实现了三稀矿产知识图谱的查询和检索功能。结合知识抽取功能,为地质勘查工作中的矿产资源识别、管理和找矿精度提供了支持。
本文构建的三稀矿产知识图谱为该领域提供了一个应用范例,并为基于知识图谱的地学知识推理、矿产资源管理与评估、找矿预测与勘探规划、环境保护和可持续开发等后续应用提供了底层平台支持。
对三稀矿产知识图谱的研究还大有可为,就语料库方面来看,当前的知识图谱包含的三稀矿产知识还不是特别丰富,因此,后续需要扩充三稀矿产语料库的内容和数据种类,补全三稀矿产知识图谱,提升知识抽取模型对复杂词汇的边界敏感度,提高实体抽取和语义关系抽取的准确率;而在知识抽取方面需要结合自然语言处理学科在诸如命名实体识别、关系抽取等领域的前沿模型,根据地球科学大数据特征,构建高质量的知识转换体系,并将本文知识图谱构建流程应用于其他类型矿床,形成多模态、多种类的知识图谱集合,为找矿提供支持,为未来地球科学全领域知识图谱的构建提供基础。