非结构化地质数据内容存储方法研究

2021-11-04 03:23魏东琦江宝得张静雅
西北地质 2021年4期
关键词:数据模型实体建模

魏东琦,江宝得,张静雅

(1.中国地质大学(武汉)国家地理信息系统工程技术研究中心,湖北 武汉 430074;2.中国地质调查局西安地质调查中心,陕西 西安 710054;3.地理信息工程国家重点实验室,陕西 西安 710054)

地质工作已迈入大数据时代,这为挖掘数据内在信息,充分发挥数据自身的价值带来了良好契机(赵鹏大,2018)。大数据是一种高级信息生产力,它促进着信息生产方式的改变,并推动数据应用模式的发展。正如麦肯锡所说的:“数据已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长浪潮的到来。”大数据技术虽然起源于互联网行业,但随着它的成功应用和展示出的强大活力,也对诸多传统行业的信息产业发展带来了启示和不容错过的机遇。

在大数据时代到来之前的很长一段时间,地质领域一直采用一些传统的数据(这里指数字化的数据)生产方式,这种记录和存储数据的方式不够先进,但因为简单被大多数工作者所使用。这些传统的生产方式积累了十分丰富的成果数据,其中蕴藏的巨大的价值有待发现(李超岭,2015; 陈建平, 2017)。在数据的形成过程中,人们往往习惯将数据按照一定的方式组织归类。众所周知,在地学领域一般面对的问题比较复杂,成果结论需要多种方式结合才能很好的表现。这样形式多样的数据被人为的组织到一起,构成一个数据集,用于说明某个问题,表述某种结论等等。这个数据集中数据内容之间、数据之间具有某种人为形成的构成关系。这种数据集合的数量十分巨大,数据集中的数据以非结构化数据为主。每个数据集合中,数据内容组织灵活,信息表现形式多样,数据有其内在的规律但无法进行严格的模式约束。数据中多种价值信息交织在一起,信息总量大但信息点分散,难于梳理提炼和归纳。

笔者研究对象就是具有此类特征的数据集,简称为非结构化地质数据集。它们是行业中的成果数据,而不是原始采集的数据。生产者已对数据进行了一定程度的加工,并且按照一种合理的方式对信息进行了组织和梳理,但由于使用的工具和认识水平的限制,使得数据的存在形式较为单一,信息之间复杂的关联关系不能有效表达,不能方便的发掘数据内在的价值。从另一角度上讲,人们希望借助一定的技术方法,挖掘数据内在的信息,发现和理解信息内容之间的关系,体现数据具有的价值(Ashley, et al., 2014)。从现阶段的技术发展水平来看,大数据技术应该能够较好的满足这方面的需求。

从上面的分析可以看出,这类数据的存在形式与所需的技术产生了代差,为解决这个问题会涉及到数据管理的很多方面,但建立数据合理有效的组织和存储形式是重要环节,也是后续很多工作的基础。

1 相关工作

在对非结构化数据的管理和处理方面,主要运用数据仓库、内容管理系统等手段,传统意义上,这些系统对数据的持久化组织存储主要依托关系数据库这大类技术体系。王珊等(2011)较为全面的分析了使用关系型数据库的优劣,并指出在大数据的时代背景下,随着新技术新方法的产生,带来了非结构化数据管理与处理方面自上而下的变革(覃雄派等,2013)。许多研究表明,NoSQL技术正逐渐成为非结构化数据管理的优势性技术,相对于传统的数据操作方式(王梅等,2013),大数据技术体系下“靠近数据计算”的设计理念也更适用于大规模非结构化数据的深度分析和知识发现(Cuzzocrea, et al.,2011; 吴冲龙等,2016)。

一般情况下一个完整的体系,在数据组织管理和处理每个层面都有各自的策略和技术手段,在笔者关注的数据的组织层面,这类策略主要是针对数据的建模。在这个问题上,前人已经在理论研究和技术实现上做了很多工作,提出了解决方案,具有代表性的有数据空间(dataspaces)(Franklin et al.,2005)以及NoSQL相关的一大类技术(谢华成等,2012; 杨鹏等,2018)。笔者将从一个新的角度看待一个地质行业使用传统方式生产并积累下来的大量成果数据,研究大型内容复杂数据集的内容分解提取和组织存储的技术方法,建立起数据与大数据技术之间的桥梁。借助大数据技术的优势,提高数据的信息定位,相关关系建立等方面的效率,让数据的深度分析,知识发现变得更加顺畅,赋予此种地质数据“大数据computing的能力”。

2 数据模型

内容复杂、信息存储形式多样的大型非结构化数据集,当中的数据很少能用预先定义的模式进行组织,更为合理的组织方式往往是在收集和处理数据的过程中产生的。再者,由于蕴含在内容复杂数据集中的信息并非以传统的关系数据库方式严格表示,而是大多包含在非结构化的数据中。因此,建立基于内容和特征的数据模型是进行有效描述数据的关键,同时也是进一步知识发现的实现基础。

建立基于内容和特征的数据模型目的在于消除由于内容表现形式多样造成的异构和多源化问题,在不丢失信息量的原则上尽量自然的组织和描述数据的真实内容,使得计算分析能更容易的贴近数据描述的本质,更容易发现数据蕴含的知识。笔者利用模型力求对数据的内在作语义清晰、组织高效的描述性和结构性建模,以便进行有效的知识集成、共享和复用。

2.1 基本定义

定义 2 。主题特征量F={fi|∀fi=Id(Di),0≤i≤n},其中fi表示一个维度的主题特征分量,它的取值为某一特征域的标识Id(Di)。F是一个n维特征量,但对于任意的fi其仅可映射到唯一的Di,不存在不同fi,fj取值于同一个特征域Di。

由定义1和2可知,子域的个数等于内容实体中特征量的维数。不同特征量Fm,Fn中的值可以映射到于同一个域Dx,即Fm(i)=Fn(j)=Id(Dx),称其为享元(flyweight)(这是内容实体聚合、分类的一种方式)。

定义3。取D中的有限子集{D1,D2,…,Dn},D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={|fi∈Di,i=1,2,…,n}。其中,每一个(f1,f2,…,fn)叫做一个n维特征量,每一个值fi叫做一个分量。这些域中可以存在相同的域。

定义 4。内容实体(content entity)C=(K,V,Rc,F,Dc)是一个五元组,其中:键K是全局唯一C的标识,V是C表示对象化的原始内容(可以是文本对象、空间对象、图像等),K,V构成一一映射关系;Rc为C与其他项(可以是多个)C’的联系(relationship),是面向对象的,包括泛化(Generalization)、关联(Association)、聚合(Aggregation)、组合(Composition)、依赖(Dependency) 5种基本关系,联系可以是一对一的和一对多的,但不能自引用;F为C的主题特征量,对不同的内容实体Ci和Cj,特征量的维数可以不同,并且属于D的笛卡尔积构成的集合;Dc是F中特征分量(特征值)取值的域,Dc是D的一个子域Dc⊆D。

具有相同取值域Dc的内容实体的特征量可以组成一个包。集合的元素是无序的, 并且元素是不同重复的。包中的元素是无序的,但允许一个元素出现多次。内容实体的组成及构成关系如图1所示。

2.2 支持演化的非结构化数据的内容组织

建立数据模型目的是让模型对数据的结构组织和特征描述更加贴近于数据的本质,建模是一个过程,所以数据模型需要通过演化一步步清晰数据之间的关系,更贴切的描述主体的特征。数据模型可分为初始态和演化过程2个部分:初始态是模型对数据最初的理解和描述,建立数据内容的基本的定位方式和相关关系,是模型进化的基石; 演化是数据模型的一个重要特性,指的是模型可以随着对所表示的主体内容的理解,随着时间和应用的变化不断完善自身。

图1 内容实体的组成要素及它们之间的关系Fig.1 Components of the content entity and their relationship

笔者使用树形结构表示模型初始态的骨架,这样可以较好的描述复杂内容数据集中数据诸多要素之间的关系,建立其最基本的坐标定位。为此,使用内容实体C来表示内容树的节点,同时将C退化出一种特殊的C’=(k,Rc,F)用来表示一种纯结构性的节点(后面提到的数据集和可再分解的数据实体都属于此种节点)。于此同时,使用项间关系Rc表示树枝,则Rc被具体化为2种关系{R-parent,[R-children]},即一个节点的父亲节点和多个孩子节点。在此需要引入另一个概念。定义5。路径Ph={ci,ci+1,…,ci+k}是一个非空的有序集合,ci是树T的任意一个节点。对任意ci,cj存在且仅存在一条关联路径Ph。特别的,定义从根结点到任意内容节点的路径称为ci的根路径,记为:Phroot(ci)。

路径是一种可行的内容树节点间原始的关联关系表示和位置坐标的定义,其将原本独立存在的信息联系起来,形成了一个可供操作的整体。

由此,内容组织模型是具有层次和特征继承关系的树T(图2)。T存在root-set、data-set,data-entity和content-entity三个层次的划分,节点的深度越深描述粒度越细。

root-set是逻辑上的根节点,他的孩子由大量的类型多样、内容结构复杂的data-set组成,记为如下。

Rs={Ds0,Ds1,…Dsn}。

由于root-set具有超大数量的子节点,因此在实现上需要分布式的非关系型的数据库技术作为支持(Chang, et al.,2006)。

图2 内容树模型Fig.2 Content tree model

数据集Ds由有限类型的数据实体De组成,记为如下。

De用于表示某特定数据集中包含数据实体的种类(上标)和数量(下标),例如,a数据集包含1篇正文报告、4张附图、1篇审批报告、3张简单的统计表等等。每个种类的数据会有专门的策略去解析数据中包含的内容。

数据实体是内容实体组合成的复合体。具体来讲,De是可用面向对象思想建模的由内容实体构成的复杂对象。

内容实体好比是原子,内容实体好比是分子,数据集合就好比是由他们构成的物质。数据实体之间、数据内部的内容之间存在某些联系,两两之间的原有结构性关系可以使用路径描述。

上述提到,数据模型基本的结构性特征使用树状骨架建模,并使用路径的概念定义了节点在整体中的位置坐标,组织起内容节点之间的关联关系。然而仅是数据建模的开端,更深层次的特征刻画需要使用特征量和特征域完成,特征量的概念见定义2,其取值于相应的特征域,特征域在此分为原生域和演化域2种。在此规定,原生特征项取值于原生域,其存储的是域值的原值;演化特征项取值于演化域,其存储的是域值的引用(reference)。

原生域:原生域是一种schema-first的逻辑结构,其有预先定义的数据模式,并且这种模式在模型的生命周期中保持不变。域值的产生严格依赖数据模式,构建方式遵循pay-before-you-go(Franklin, et al.,2005)的原则。原生域的元素数据类型简单,取值严格准确,域值之间无关联性。

演化域:其随着对内容的理解逐步加入模型,具有先有数据后有模式的pay-as-you-go(Franklin, et al.,2005)的演化特性。域中元素是基于对象的,元素之间可以构建复杂的关系结构。演化域也是对结构性特征和原生描述性特征表现力有限的一种补充。也就是说,对于任意一个演化域,其中的元素可以是结构性或者是描述性的。

取自原生域的特征值在内容树结构的构建过程中被初始化。演化是内容树模型的重要特点,取自演化域的特征值不做任何的假设和限定,其数据模式可以是松散的滞后的,数据模式是在数据的基础上根据内容主体的需求逐渐演化而来的。演化域元素是基于对象的,因此元素之间的关联关系可以是复杂的,并且也是根据主体需要动态建立的,在其上定义的数据操作也是best-effort的,即允许次优的结果产生(李玉坤等,2008)。

2.3 内容存储的持久化方式

采用多尺度、细粒度的内容拆分有利于数据的深度分析和信息的精确定位,但也因此带来了内容片段数量的几何级数式增长,数据的存储和管理面临新的挑战,NoSQL技术的兴起为解决此类问题提供了良好的方法。更重要的是,数据模型的特征量和特征域的模式滞后的特性导致其更倾向使用NoSQL技术来实现。因此,使用面向列簇的存储技术——HBase是一个较为理想的方案(王梅等,2013;Chang, et al.,2006;谢华成等,2012)。HBase表设计中,行键的设计至关重要,由定义3可知,每一个内容节点都有一个唯一根路径可作为行键(rowkey),行键的构成采用如下策略。

(1)递归的将同一父节点下的子孙节点按深度为权值升序存放在连续的行中,这一点利用Phroot(ci)的排序很容易做到。

(2)如果数据项存在或继承有原生域的值,则将其编码并附加到行健最后,否则占位补齐。

(3)保证每个rowkey的长度是相等的,并且需要进行散列处理。由于面对的问题是大型的数据集,所以选用低碰撞概率的散列算法(Biham, et al.,2006)。

(4)为读操作优化行键,以便他们可以被快速的读取。表结构如图3所示,行键是根路径哈希和原生特征编码的组合,表中包含2个列簇,proto用于存储内容实体的value、关系和来自原生域特征值;Evolvement存储取值自演化域的特征项的值的引用。时间戳简单起到版本号的作用。演化域内元素之间关系是域内部表示范畴,属于另外的研究领域。

图3 内容树模型在Hbase中的存储结构Fig.3 Storage structure of content tree model in HBase

2.4 数据建模与模型演化的主要思想

数据建模是将原始状态的数据集中的内容解析重构成内容树模型的过程,建模分为2个独立的步骤。步骤一,建立模型的初始态,包括内容树的骨架结构和原生特征项的赋值,由于内容树的继承特性,下一级别的节点可以选择性的继承其祖先节点的特征;步骤二,为模型的演化过程,这是通过对节点内值的分析修正原生特征值和增加演化特征值,从而丰富节点的描述性特征和附加结构性特征。

演化操作是由已知信息得到潜在信息的过程,对于内容实体个体,这个操作的结果将以特性值的形式存在;而对于总体的内容实体集合,一种演化操作的所有特征值构成一个演化域。前述提到演化域随着对内容的理解逐步加入模型,即演化操作事先知道演化域的取值范围(包括域值间的关系),演化操作则按照一定的模式进行内容实体与域值之间的匹配。

具体来说,针对内容树模型,演化操作的对象是内容树的节点,已知信息是模型初始过程后形成的一些,可以表示成(Phroot(ci),V(ci), {Rparent(ci), [Rchild(ci)]},F’),其中F’是原生域,演化操作f的结果是一个新加入的演化域Dx和一个新维度的特征值ex,F’=F’+{ex}。根据前述数据结构,演化操作可以使用map-reduce计算框架实现(Dean, et al.,2004)。这种考虑主要是因为作为操作对象的内容节点的数量级十分巨大,而彼此之间的数据结构相对独立。

3 成果地质数据建模实例

对成果地质数据而言,内容模型是能够突破档案的界限约束,突破文件边界的限制,将原先孤立于每个档案中,每份数据中的信息统一整合在一个模型中,增强信息之间的联系,简化获取信息的步骤,丰富获取知识的途径。从图4可以看到,模型对数据的描述粒度逐渐细分,首先是档案级目录元数据,包括档案标题、档号、项目编号等元信息;再者是文件级描述,包括空间要素,文档目录,附图、附表、附图等索引表;最后是将数据实体分解后的章节段落,插图、表格、图件要素等内容实体。这种金字塔形状的内容粒度划分,前面几级是已经事实存在的数据和数据固有的组织形式,最后的内容级是此模型的主要内容,也是最小粒度级的操作对象。

参照前述数据模型的有关概念和具体化成果地质数据,表1将模型中的概念与现在需要建模的归档数据层级关系和数据构成做了对应。

图4 地质成果数据的分级组织Fig.4 Hierarchical organization of geological achievement data

表1 成果地质数据和数据模型概念间的对应表Tab.1 Correspondence table between achievement geological data and data model concepts

由于笔者目前只对成果地质数据的建模,所以根Root-Set中只包含一种类型的数据集,也就是成果地质数据集。每一个数据集Data-Set表示一档地质成果数据,例如,如果有5 000档地质成果归档数据,那么Root-Set就包含5 000个Data-Set,可表示成如下形式。

Rs={Ds0,Ds1,…Ds5000}。

如果按照树状结构表示Root-set和Data-set的关系,Root-set可能会有大量的子节点,这在实际的数据结构实现中会做优化处理的,不可能会让一个节点存在太多的子节点,但仅从逻辑视角观察,暂且可以认为所有的Data-set全部是Root-set的直接孩子节点。

段落、表格、图片、矢量图等每一个类内容实体都将被模型合理的表达,根据前述的定义,数据实体是内容实体组合成的复合体。根据成果地质资料的汇交规范,按数据类型的不同可分为正文、附图、附表、附件、审批、其他6类,这样成果地质数据的数据集将包含一个合并分卷后的正文数据实体(Z)、零到多个附图数据实体(T)、零到多个附表数据实体(B)、零到多个附件数据实体(J)、零到多个审批数据实体(S)、零到多个其他类数据实体(Q)。按照前述关于数据集的定义,可以将数据集形式化表示如下形式。

为更直观说明建模实例,笔者采用UML模型形式化地表示地质成果数据的建模结果(图5)。

图5 成果地质数据的建模图Fig.5 The modeling of the achievement geological data

在地学领域,由于问题的复杂性,人们关注“是什么”多过“为什么”。也就是说地学领域关心信息与信息之间的相关关系,而不是因果关系。例如,某种“区域范围”内会产生某些“矿产”,就是地质学家经常研究的问题。在历史积累下来的大量地质成果数据中记录有这2种内容的描述,将同一主题信息的内容从多样化的数据中分离并合理的汇聚是进行知识发现的基础。使用笔者数据模型和建模方法,可以将文档、图件等非结构化数据以内容实体为最小单元进行有效组织,再通过特征的演化方式逐步完善模型对数据的整体理解,以“大数据”的方式去分析计算、挖掘其内部的价值。

4 结束语

笔者通过研究非结构化地质数据集的内容组织和存储,详细论述了支持演化的数据模型的建立方法。这种方法的优势在于可以将格式不同的数据以一种自然合理的方式组织到一起,还可以通过特征的演化方式逐步完善模型对数据的整体理解。这种设计能够使非结构化地质数据以“大数据”的方式去分析计算,挖掘其内部的价值。这为以传统方式生产的数据的有效管理和知识发现提供了一个可行的方案。以此为基础,可建立基于大数据技术的地学信息深度分析与知识发现利用平台,构建地质成果数据的价值链;建设地学信息资源共享与增值示范服务,为全社会的信息整合、资源共享、知识创新创造有利的条件。

猜你喜欢
数据模型实体建模
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
前海自贸区:金融服务实体
面板数据模型截面相关检验方法综述
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
基于分位数回归的电力负荷特性预测面板数据模型
三元组辐射场的建模与仿真