1,知识图谱理想上双层结构,实际单层
知识图谱是个双层结构。模式层和实例层,模式层,又称为本体层,模式层分成两个部分,一个是概念的上下层级,另一个是概念之间的关系层或者概念的自身属性信息层。前者规定了概念类之间的类关系,赋予了概念之间可以继承的特性,后者定义了不同类自身的属性和关系变体。严格意义上来说,知识图谱中的模式层对数据项的取值是有严格定义的,例如数据库中的各种数据类型(字符串型、float型、list型),但这种做法在工业界往往用不到,因为充分适应这种数据类型的规定是非常需要费时费力的。在很多人的认知里,知识图谱就是知识三元组,仅保留实例层,这是现实中的大现实,因为这来的快,拿来就用。表面上看起来很舒服,搞上面这一层太费脑筋,而且有太多业务知识,很多人办不到,尤其是焦虑的工业界。
2,知识图谱是可解释性,也是个灾难。
知识图谱=可解释性,这种论断被炒的很火,不能说对,也不能说错,标杆在于对可解释的定义。大体认为知识图谱是可解释的是沿袭了“眼见为实”的思维,即,我看到的实实在在的东西,可以形式化的显示性地表达出来时,我才认为我可以把一个问题解释给对此毫无背景的人听。也就是看重的是一种过程性的符号佐证,一种缺乏思考能力和基础知识却想掌握某一现象的人来说的。而深度学习中学习到的系数或值缺少实际的物理意义,从而被认为是不了解释的,因为缺乏形式化。如果我们认可了这样一种标杆,那么也自然成立,但这种成立性带来了巨大的灾难,即可解释性的数据荒灾难,为了支持一个既定的事实,背后需要大量的知识作为支撑,但现在的规模是远远不够的,几千亿,几万亿估计都不够。退回来说,这个知识的来源,人工编辑收集的方式很局限,不可面面俱到。基于抽取的方法可以海量的挖掘,撇开技术性能不说,海量挖掘的目的在于知识的曝光度,曝光才是抽取的前提,但有太多长尾的知识是压根不被报道或写出来的,换句话说,目前可以拿到的数据资源可能只是所有重要知识的百分之几,甚至千分之几,万分之几。所以,认定了知识图谱是通向可解释智能的路,那么这条路注定是个big problem.
3,认知需要层级性的动作性和实体性知识基础
知识图谱是认知智能的语义基石,基于知识图谱中所存储的知识,机器可以像人一样去进行知识应用,知识推理笔记看过很多博文的人都会有这种的认同感,这没有什么问题。认知,是人类相较于其他动物最大的区别,在我看来,认知能力主要包括概括能力和类推能力两种,概括能力是能够基于大量既定事实总结经验规律模式,并形成具有一定层级的模式思维能力。类推能力,更像是概括能力的反向用力以及应用,即常说的思考或举一反三。因此,既然认定知识图谱是认知的基础,那势必需要满足这两种基础,即概括基础和类推基础。
概括基础形式化体现出来,是具有概括性的能力,以概括抽象性的能力以及抽象概念性知识库作为输出。说到这个,又要说到人的认知体系问题,人类的认知体系是以名词性实体为核心还是以动词性事件为核心的,不同的核心决定了不同的概括需求。事实上,作为一个由社会活动驱动的人类,是动词性事件为核心的,动词性事件支配名词性实体,因此概括性能力应该包括名词性能力和动词性能力。但即便是如此,人类在显式的表达自己的知识时,还是以选择名词性实体进行表达,是因为名词性实体比事件更为细粒度,也更为稳定,也是好习得,好操作,即先知道what is what再知道do what 。
名词性能力这方面代表性的工作有大词林、wordnet,这两个是我认为真正意义上做到这点的工作,一个是抽象,二是分层,没有进行分层的概念性是零散的(一堆高度稀疏的isa),这方面的工作包括cnprobase,以及conceptgraph。但是,对于这种概括性知识图谱而言,还是基本上集中在名词性实体上,究其原因,一是因为好建模(可以利用实体链接,背后有百科类实体作为支撑,好操作),二是因为数据的可获得性,有大量认为预定好的层级(目录树,网页导航,黄页)等。当然,在这个方面,各大电商,医疗,工业,领域等积累了大量的材料,如阿里商品等,基于商品的挖掘,可以快速搭建一个面向商品消费的层级性实体概括性知识库。
动作性的概括性图谱目前还相对空白。与名词概括性图谱不一样,名词性的概括性可以用is-a表达,而动词性概括图谱更多的是一种part-of关系,事件具有组成性的特征。相关的工作更多的是集中在事件的逻辑性的挖掘上(因果逻辑,条件逻辑,上下位逻辑)。有必要说明的是,其中的上下位(包括基于名词性实体的上下位以及基于动词性实体的上下位)是这种概括性图谱中的一部分。比如结婚这个动作,包括领证、办喜酒、发请帖等几个组成性事件。前者所描述的是一种诸如货币贬值下的美元贬值、人民币贬值、日元贬值。一种在形式上有交集,可以找到规则,另一种没有形式规则可言。所以,前者的挖掘难度要比后者简单地多,而意义上后者则要强得多。
4,事件类图谱的殊途同归:向上概括与向下泛化
漫步的抽象事理图谱。同一个事件知识,如果只关注单个事件集合之间的关系(上下位,组成、因果、时序),那么就会走向具有三层结构的事件类知识库(抽象事理图谱),这类图谱的特点是只考虑事件名以及事件名个体经过加工、抽象、模式规约后形成的体系关系,而不考虑具体的事件富信息。其中的三层结构,第一层是事件顶层,也可称为事件类型,用最顶层的事件类型名称对下沿事件进行统筹。第二层,是事件抽象模式层,也叫事件类簇代表,统筹基于该事件模式下存在不同表述的事件个体。第三层,是事件事例层,属于具体的事件名称(如巴西发生大火)。
周全的领域事件图谱。与漫步的抽象事理图谱不同,它考虑的更为周全,且体现在领域性上。周全,即在满足事件名的基础上,能够以事件槽的方式挖掘事件的不同侧面信息,例如杀人事件中的时间、被害人、犯罪嫌疑人、地点等。领域性,即该事件领域的刻画,领域的事件具有领域的属性特征,具有领域的槽位侧面,用于描述领域性的事件信息。当然,这种领域性包括通用领域和垂直领域(金融、社会治理等),领域的槽位数量和角度都各不相同。领域事件图谱借助这种信息的复杂性,能够支持更多方位的信息检索、分析和追踪服务。但往往会因为包袱过重,无法大规模施展开来。这种包袱体现在槽位的定义,事件的定义上,通用的槽位数量太少(如SEM设计的事件本体)不足以体现领域特性和功效,领域的槽位(如ACE实在有限,framenet略多实则有限)需要精心设计,不具有扩展性,工程周期长。
漫步与包袱互助,事件快跑。抽象事理图谱甩掉了包袱,在抽象概括性知识上深耕,事件类图谱在实例事件上小步慢行。两者分别从向上和向向下两个角度在做(脑补亚里斯多德与阿基米德的画面)。两者融合是一个大方向(或许早已有之,但没有大规模工程化,技术手段需要深思考)能够树立起整个事件知识基石。抽象事理图谱的技术难点和核心在于“抽象”二字,把握抽象粒度,动态变通事件体系,在此基础上再进行平级逻辑挖掘,终极目标在于抽象能力的自主习得和体系的自我构建、更新与完善。领域事件类图谱核心和难点在于“领域”两个字,自动梳理和划分领域事件类别,自我习得既定类别的具体槽位,突破人工手动,解放业务专家。两类图谱,以事件名或者事件实例作为中间键进行连接。
5,实体性知识图谱与事件类图谱的融合
事件类图谱以事件为核心,事件中包括各类实体,在类型划分上,实体可以是领域性实体,也可以是开放域实体,一般来说,实体类型和实体信息越丰富,事件类图谱与实体类知识图谱的联通度和稠密度就越高。以金融领域来说,可以链接公司、商品、货币、医药、水果、人物、高管等实体,开放域的话,可以通过概念性实体的类型进行识别。识别的过程,包括实体识别和实体链接两个部分(对于具有歧义的实体尤其有必要,在实际操作中根据实际情况进行考虑)。