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

编辑导语:随着人工智能的发展,知识图谱也变得越来越重要。知识图谱是一种特殊类型的图,强调上下文的理解。本文在产品视角下,带大家一起看看知识图谱的构建流程与技术理解。感兴趣朋友快来看看吧。
知识|产品视角下的知识图谱构建流程与技术理解
文章插图
一、引言伴随着人工智能的逐渐落地,知识图谱也越来越进入大众的视野。
或许你并没有留意,但不论是谷歌搜索人物得到的关联图谱,购物网站越来越精确的商品推荐,还是常见的siri,小爱同学等语音助手,或者是金融放贷时的风险控制,智慧医疗的治疗方案推荐;所有这些智能应用,背后都少不了知识图谱的支撑。
如果打个比方的话,知识图谱就是人工智能的记忆系统,让机器感知世界,认识世界,并且通过规模庞大的知识图谱的融合、推理、深度学习等,将这些记忆链接、应用、产生智慧。
可以说,知识图谱已经成了人工智能时代的基础设施。
以下是我在查阅资料时看到的一句话,觉得很贴切,在此应用:
知识对于人工智能的价值就在于,让机器具备认知能力和理解能力。
构建知识图谱这个过程的本质,就是让机器形成认知能力,理解这个世界。
本文主要想以产品的视角,展示知识图谱的What,Why和How,即知识图谱是什么(定义和构成,组成元素和组织规则),知识图谱的价值(有什么应用场景,应用的效果如何) 以及如何构建一个知识图谱(技术流程和各个流程的关键技术)。
二、知识图谱是什么目前学术界对于知识图谱还没有较为统一的定义,赵军老师的《知识图谱》中做出了如下定义:
知识图谱是一种比较通用的语义知识的形式化描述框架,用节点表示语义符号,用边表示符号之间的语义关系。
或者再通俗一点,知识图谱是一种用图模型来描述知识和建模世界万物之间的关联关系的技术方法,我个人对知识图谱的理解如下:
知识图谱基本的组成元素,是图节点和边。从生活中的经验来看,图节点可以是实例和某个实体,比如建材、水泥等等。
而节点与节点之间的边,则表示了两种节点之间的关系,比如建材水泥之间画出一条边,标注水泥是建材的子类。
当然,这样说是不严谨的。
为了让计算机能够理解和使用,需要一套计算机科学的规范定义,节点对应的是本体(Ontology)和实例,节点和节点间相互的关系可以用图结构或者相对简化的三元组来表示。
通过这样的数据结构,可以完备的表示信息。
有了信息还需要使用,比如查询、推理等。
要使计算机理解数据,就要按照一定的规则存储和组织语言,通过各种关键字标明每一处信息的含义是什么。
在知识图谱中,有RDF(Resource Description Frame 资源描述框架)和Owl语言(Ontology Web Language 网络本体语言)来对本体进行描述,让计算机理解图谱中的信息。
会有专门的结构化查询语言对图谱进行查询,比如针对RDF的查询语言SPARQL或者针对图结构的查询语言Cypher(开源图数据库Neo4j中实现的图查询语言)。
具体怎样定义与描述,会在知识图谱构建部分有限的展开。
知识图谱是一种图结构,因此可以摆脱传统关系型数据库的严格限制,在字段和实例的增加、修改等方面都更加随意和自由,可以加入新的实例,新的节点,新的关系。
还可以把不同的实体建立联系,把多个图谱的同一实体建立联系(实体对齐),这和人类认知世界的方式是类似的。
这也是知识图谱的优势,容易建模,有很大的灵活性;结构化的数据和图结构的组织,使得机器可读的同时人类也易于理解,这和人脑的神经元及记忆系统很像,也更容易产生人工智能。