知识本体与大数据处理续

知识本体与大数据处理续

前一篇谈到了知识本体的哲学起源,以及 Palantir 使用知识本体解决数据集成问题。由于篇幅所限,很多问题没有谈透,还想再多说几句。

现代的知识本体和古典哲学的形而上学已经没有多少关系了。外化于人类知识体系之外的永恒理性世界并不存在,存在的只是人类在认知和探索世界过程中不断累积,不断融合,不断外化成文字、图形、过程方法的知识。

知识本体、框架表示法、面向对象程序设计,都是源于人类思维中的概念系统。我们今天使用的计算机是一个纯逻辑系统,基本原件的功能是做布尔代数,各种运算最终都会分解为布尔代数运算。这种架构决定了两件事:首先,计算机做逻辑运算是直接硬件处理,速度飞快,效率极高;其次,学过计算机原理的人,都会受到这种架构的影响,所谓手里拿着锤子,满眼都是钉子,遇到任何问题都要首先考虑通过逻辑的方法来处理。然而,可以纯粹用逻辑解决的问题其实很有限,并且往往都远离日常经验,这也体现在了软件开发的困难程度上,软件开发本质上就是要把一个实际的问题分解成可以形式化和不能形式化的部分,并把可以形式化的部分用程序实现出来。

数据处理是一类特殊的软件,因此显然也是形式化的。上一篇说到P家在大数据处理中引入了知识本体(一种形式化的表达概念结构的方法),但是只讲了作为标签体系,帮助用户达成对数据含义的共识这一种作用,其实知识本体还有另外一重作用,就是辅助用户进行可视分析。P家的可视分析比较简单,主要是做结合地理信息的时空数据展示,线索是人物和事件。这个思路体现在平台的整体设计上,在Dynamic Ontology 和 RevisioningDB 中集中体现出来。下图出自电影 Zero Dark Thirty:



Dynamic Ontology 有着固定的顶层本体,结构大致如下:


这个动态本体的基本类型为对象、属性、关系。搞过本体的都可以看出来,这是个比较轻量级的知识表示框架,也算中规中矩。再往下看一层,就是P家特色了。对象分为实体、文档、事件三大类。其中文档是作为数据源和参考资料存在的,一方面用于从中抽取实体和事件,另一方面提供给分析师做背景阅读。文档由分析师导入到系统中,系统随即会提取文档内容,自动建立索引,这样一来导入后的文档都可以通过关键词进行搜索。抽取操作由分析师使用系统提供的工具来完成,需要指定抽取出的目标数据所对应的类,当然这个类一定是实体或者事件的子类。


实体和事件可以从文档中抽取出来,也可以来自导入的结构化数据。不论是导入的、还是抽取出来的结构化数据,都一定会属于某个实体或者事件的子类。实体的一级子类主要是人和组织机构,广义上讲都是“人”(自然人和法人)。事件表示实体之间相互影响的关系,这种影响通过P家特有的RevisioningDB结构表达出来。RevisioningDB 记录了实体属性的每一次变化,除了变化后的属性值,还同时记录变化的时间戳,以及引发变化的事件ID。这样一来,这些数据就表达了实体在时空上不断运动变化,互相影响的一幅图景,借用狭义相对论中的词汇,就是给出了对象的世界线。分析师导入或者抽取数据的过程,就是建立这个时空模型的过程。


当然了,机器并不理解时空图景,机器只能做形式化运算,对于机器来说这些只是数据、指针、标签,但是借助外设显示出来,在人眼中就形成了图景。这个时空图景是给分析师看的。分析师通过观察,赋予图景中的对象以意义,在脑中形成意象,得到结论。


这样一来,我们可以把P家的路数归纳为:通过将数据结合到时空模型,在天(时)、地(理信息)、人的框架中形成洞察和预测。由此可知,此系统暗合三才,几近于道,显然是用来算命的啊。

文章被以下专栏收录