知识|产品视角下的知识图谱构建流程与技术理解( 三 )


同时,知识图谱构建的标准化,流程化工作也在进行,如中国电子技术标准化研究院2019年发布的《知识图谱标准化白皮书》。
综上,知识图谱具有广泛的应用,既是一个规模庞大,查询灵活的知识库,也可以通过数据挖掘,深度学习等产生一定程度的人工智能,在可以预见的未来,知识图谱作为一种重要的人工智能基础设施,将会持续发展,带来更多变化。
四、怎么样构建一个知识图谱知识图谱有广泛的应用和巨大的应用价值,越来越多的企业也在着手进行知识图谱的构建。
按流程来说,知识图谱具有知识表示与建模、知识抽取、知识融合、知识图谱推理、知识统计与图挖掘、知识检索与知识分析等主要的几步。
以下为知识图谱技术路线图。
知识|产品视角下的知识图谱构建流程与技术理解
文章插图
五、知识表示与建模要想实现人工智能,首先要做的就是让人和机器建立起对这个世界的统一认识,即如何把现实世界变成机器能理解,可解释的知识库,而答案也正藏在知识图谱这个名称中:将知识图谱化。
这一步也就是对知识的表示与建模。
数据本身是有价值的,但其价值是需要组织和挖掘而产生的,杂乱无章的数据是不能被识别的,也无法产生价值。
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,是计算机存储、组织数据的方式。对应到知识图谱中,主要是图结构和三元组。
图结构是很好理解的,图谱本身就是以图的结构来存储和展现的。
我们对现实世界的理解也是如此,先认识到某一个具体的事物或实例,即建立节点,再通过建立节点间的关系完成对事物的认识。
这里需要引入一些概念,首先是本体(Ontology)和实例,本体原本是一个哲学概念,知识图谱中本体实际上就是对特定领域之中某套概念及其相互之间关系的形式化表达,实例就是本体的具体例子,这就像JAVA中的类和对象,类是本体,new一个对象是实例。
不同对象之间可能存在关系,而这就是一条边。
实体是本体、实例及关系的整合,比如“手机”是本体框中的一个概念,概念中也规定了相关属性比如“处理器”,苹果手机是一个具体的手机,叫做实例,所以苹果手机也有处理器,苹果手机以及体现苹果手机的本体概念“手机”以及相关属性,叫做一个实体。
大量实体的集合形成了知识库,例如DBpedia。这些实体通过语义相互连接,就形成了语义网络,而这也即是知识图谱的前身。
大部分情况下,人们将实体和概念统称为实体,将关系和属性统称为关系,对知识图谱进行了简化,这样知识图谱就变成了描述实体以及实体之间的关系的图结构。
知识|产品视角下的知识图谱构建流程与技术理解
文章插图
如果按照简化过的知识图谱定义,图谱中的两个节点和一条边就构成了一个实体,比如“水泥是建材的一个子类”,就可以表示为“水泥”和“建材”两个节点,以及一条由水泥指向建材的,属性为子类的有向边。
在图结构中,这样的边是可以快速添加的,而节点也都是可以快速添加的,这比传统的关系型数据库具有更高的灵活性,也更容易建模,修改的时候也不会造成太大的工作量。
图结构有专门的图数据库,目前知识图谱中应用的比较成熟的图数据库有Neo4J。Neo4J是一个近年来发展起来的图形化数据库,相对于关系型数据库来说,图数据库善于处理大量复杂、互连接、低结构化的数据,图数据库中通过节点可直接查询,而关系型数据库中,需要通过多张表连接查询,产生性能上的问题。
Neo4J尤其对图算法进行了改进,查询和修改的速度较快,性能也可接受。
Neo4j还提供了大规模可扩展性,在一台机器上可以处理数十亿节点/关系/属性的图,可以扩展到多台机器并行运行。Neo4j中实现的图查询语言是Cypher Quary Language,简称CQL。
除了图结构,现在大部分知识图谱中采用的结构是三元组,是一种更容易存储、识别和利用的的数据结构。
简单来说,三元组就是知识图谱中的两个节点和一条边组成的关系对,或者说是一个实体。
要让计算机理解三元组,就必须对其进行规范化定义,这就引出了RDF(Resource Description Frame 资源描述框架)和Owl语言(Ontology Web Language 网络本体语言)等定义标准。
知识|产品视角下的知识图谱构建流程与技术理解
文章插图
图:三元组