3.2.1 知识图谱的基本概念
知识图谱(Knowledge Graph)在维基百科的词条中有两种含义:一是指科学知识图谱,多见于图书情报领域,是用于展示学科知识的发展进程与结构关系的可视化图谱;二是指Google知识图谱,多见于计算机科学领域,是Google提出的语义化知识库表现形式。维基百科之所以将Google知识图谱单独拿出来释义,是因为知识图谱是由Google公司在2012年提出的一个新概念,是Google为了优化搜索引擎返回的结果,增强用户搜索质量及体验而提出的。图3-17所示为Google搜索中的知识图谱,在Google搜索引擎中输入“伊丽莎白二世的年龄”,可以看到在搜索的第一位序就是想要的查询结果“94years”,同时在页面的右侧还有悬浮的知识卡片来显示与“伊丽莎白二世”相关的其他信息。这就是Google知识图谱在发挥作用,通过Google建立的知识图谱,可以直接返回用户想要的结果,并推荐出其他相关联的信息。这很大程度上提高了人们获取信息的效率,消除了以往需要依次单击网页浏览内容获取结果的烦琐。
实际上,知识图谱并不是一个全新的概念,知识图谱的早期理念来自语义网(Semantic Web),其最初理念是把基于文本链接的万维网转化为基于实体链接的语义网。知识图谱技术的出现正是在前人研究的基础上对语义网标准和技术的一次扬弃与升华。随着智能化服务应用的不断发展,知识图谱在智能问答、自然语言理解、个性化推荐、物联网设备互联、可解释人工智能等多个领域展现出巨大的应用价值。现在的知识图谱是一种用图模型来描述知识和建模知识单元之间关联关系的技术方法,侧重于以可视化的方式来表示知识单元的联系。
图3-17 Google搜索中的知识图谱
知识图谱较为常见的表示是基于图的表示方式,图模型作为知识图谱的逻辑表达模型,也是人们最容易理解的一种表示形式。在图模型中,知识图谱的基本组成单位是“实体—关系—实体”三元组,以及实体及其相关属性的键值对。实体间通过关系相互联结,构成网状的知识结构,通过建立实体之间相互关联的语义网络,对现实世界的事物及其关系进行形式化的描述。
知识图谱的三要素包括实体(Entities)、关系(Relations)和事实(Facts)。其中实体与关系构成知识图谱中重要的组成部分,实体与关系共同构成一个事实。例如在图3-18的网络安全相关的知识图谱中,实体类型有4种:网络攻击类型、网络漏洞、攻击工具、使用参数;关系有3种:攻击、使用和参数。其中“SQL注入”属于网络攻击类型,容易被注入感染的SQL代码属于网络漏洞,网络攻击类型和网络漏洞之间是“攻击”关系。在该图谱中,“SQL注入”需要使用“SQLMAP”等工具进行漏洞扫描,不同的工具又具有不同的使用参数。
图3-18 网络安全相关的知识图谱