马超,温秀秀,田承东
(中国电子科技集团公司信息科学研究院物联网技术研究所,北京100086)
建设智慧城市对实现城市可持续发展、引领信息技术应用、提升城市综合竞争力具有重要意义。随着人工智能技术的不断发展,智慧城市正逐步向人工智能城市转变,智慧应用不再局限于各行业内部,而是向着多领域融合转变。知识图谱是实现城市多领域资源建模和描述的一种方法,是人工智能与智慧城市结合的重要一环,因此研究面向城市服务资源的知识图谱系统架构具有重要意义。
早在上个世纪70年代,专家系统(Expert Systems)作为人工智能的重要分支,是指利用知识和推理过程来解决那些借助人类专家知识才能得已解决的问题的计算机程序。专家系统一般由两部分组成:知识库与推理引擎,人类专家提供知识,再将这种显式的知识映射并存储到知识库中用来推理。
2012年,由谷歌最早提出知识图谱的概念,将互联网上的海量信息经过知识抽取最终以知识三元组的形式表示,以图的结构进行存储,实现了在大数据中智能化提取特征知识的功能。知识图谱本质上是一种语义网络,用节点代表实体或者概念,用节点之间的边代表实体或概念之间的各种语义关系。在知识图谱的基础上可以对数据进行分析、挖掘,还可以进行深度推理、智能决策等,知识图谱是实现知识共享、互联互通、系统智能的基础。
本文以“知识中心”等理论为发展背景,以提升网络信息体系的智能能力产生为目的,研究面向城市服务资源领域的本体和知识图谱的框架及构建方法、知识图谱管理系统的设计方案,为搭建城市服务资源知识图谱原型系统提供技术基础。
知识图谱是知识工程的一个分支,是知识表示的一种形式,其以语义网络作为理论基础,并结合了机器学习、自然语言处理和知识推理等技术,在大数据和人工智能的推动下受到了国内外学者和企业界的广泛关注。
理解自然语言的关键是词汇,虽然有电子词典的存在,但机器仍无法很好地从中获取词汇含义。1985年,普林斯顿大学认识科学实验室开始建立和维护名为WordNet的英语字典[1],为词典信息和现代计算提供更加有效的结合。在WordNet中,名词、动词、形容词以及副词被按照认知上的同义词分组,称为synsets,每一个synset表征一个确定的概念。synset之间通过概念语义以及词汇关系链接。在汉语中,类似的典型代表有《同义词词林》[2]及其扩展版、知网(HowNet)等,都是从语言学的角度,以概念为最基本的语义单元构建起来的可以被计算机处理的汉语词典。
万维网的出现,为知识的获取提供了更大的方便。1998年,万维网之父蒂姆·伯纳斯·李再次提出语义网(Semantic Web)的概念,以便让计算机更好地获取并使用知识[3-4]。不同于人工智能中训练机器使之拥有和人类一样的认知能力,语义网直接向机器提供可直接用于程序处理的知识表示。语义网本身作为一个自上而下的设计体系,表示方法极为宏观,导致发展不佳,学者们逐渐转向数据本身。2006年,伯纳斯·李提出链接数据(Linked Data)的概念,鼓励大家将数据公开并遵循一定的原则将其发布在互联网中,链接数据的最初设想是数据不仅仅在语义网中发布,同时需要建立起数据之间的链接从而形成一张巨大的链接数据网。其中,2007年开始的DBpedia项目,是目前已知的第一个大规模开放域链接数据网。
为了提高搜索引擎的效率,知识图谱于2012年5月17日由Google正式提出[5]。本质上,知识图谱旨在描述真实世界中存在的各种实体或概念及其关系,其构成一张巨大的语义网络图,节点表示实体或概念,边则由属性或关系构成。随着人工智能的技术发展和应用,知识图谱作为关键技术之一,已被广泛应用于智能搜索、智能问答、个性化推荐、内容分发等多个领域。
根据覆盖范围,知识图谱可分为开放域通用知识图谱和垂直行业知识图谱。开放域通用知识图谱注重广度,强调融合更多的实体,较垂直行业知识图谱而言,其准确度不够高。垂直行业知识图谱通常需要依靠特定行业的数据来构建,具有特定的行业意义。垂直行业知识图谱中,实体的属性与数据模式往往比较丰富,准确度也较高。从知识工程提出以来就有许多大规模、高质量的知识库和知识图谱相继创建,且其中多数免费向公众开放,但以英文知识库为主,包括WordNet、DBpedia、Yago、Wikidata[6]、XLore。相比国外,我国对于知识图谱的研究起步较晚,但也取得了许多有价值的研究成果,并建立了一系列中文知识库和知识图谱,如CN-DB-pedia[13]、知网(英文名称HowNet)。
城市服务资源知识图谱是有关城市服务资源的一个结构化的语义知识库,旨在描述城市服务资源领域的各种概念及其关系,以及现实世界中存在的各种城市服务资源实体及其属性和关系。城市服务资源知识图谱是实现城市服务信息体系知识互联的关键技术和重要途径,是面向城市服务资源领域的一项有益尝试以及实现城市服务资源深度网络化、高度智能化的有效支撑。
本节将提出城市服务资源知识图谱架构,以及基于构架的城市服务资源知识图谱管理系统设计。
知识图谱的架构包括知识图谱自身的逻辑架构及构建知识图谱的技术架构。在逻辑架构上,城市服务资源知识图谱采用典型的数据层和模式层的双层架构。在知识图谱数据层,知识以事实为单位,以“实体-关系-实体”或者“实体-属性-属性值”的三元组作为事实的基本表达方式,存储在数据库中的所有数据构成一个实体关系网络,形成知识的“图谱”。模式层在数据层之上,是知识图谱的核心。在模式层存储的是经过提炼的知识,通常采用本体库来管理知识图谱的模式层,借助本体库对公理、规则和约束条件的支持能力来规范实体、关系以及实体的类型和属性等对象之间的联系。本体库在知识图谱中的作用相当于知识库的模具。
城市服务资源知识图谱的构建技术架构和流程如图1所示,其中虚线框内部分为知识图谱的构建过程,同时也是更新过程。知识图谱的构建从原始数据出发,包括结构化数据、半结构化数据和非结构化数据,采用一系列自动或半自动的技术手段,从原始数据中提取知识要素(即事实),并将其存入知识图谱的数据层和模式层。知识图谱的构建是一个迭代更新的过程,根据知识获取的逻辑,每一轮迭代包含三个阶段:信息抽取、知识融合和知识加工。
图1 城市服务资源知识图谱构建技术架构
城市服务资源知识图谱的构建采用自顶向下和自底向上相结合的方法,以自顶向下为主,自底向上为辅。所谓自顶向下是指首先定义城市服务资源模式层,即城市服务资源本体,在定义本体的过程中,从最顶层的概念开始,逐步细化,形成结构良好和具有层次关系的城市服务资源分类体系。在定义好数据模式之后,再添加城市服务资源实体,将本体实例化。自底向上的方法首先从城市服务资源的实体开始,在抽取实体的基础上进行归纳组织,形成城市服务资源的底层概念,然后逐步向上抽象,形成上层概念。鉴于已经建立了一个较完备的城市服务资源初级本体,因此以抽取实体三元组和采用自顶向下的构建方法为主。本体的构建也是一个逐步完善的过程,在实体的基础上抽象出新的概念、属性和关系,则可将其加入城市服务资源本体库,对知识图谱的模式层进行更新,实现自下向上的图谱构建。两种方式获得的知识数据都需要经过共指消解、实体消歧、知识融合、评估和人工审核之后才可以加入城市服务资源知识图谱。城市服务资源构建的流程涉及的关键技术主要有信息抽取、知识融合、本体构建、知识推理和知识评估。
信息抽取:城市服务资源信息抽取是一种自动化地从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息的技术,分为实体抽取、关系抽取和属性抽取。
知识融合:碎片化知识缺乏层次性和逻辑性,采用自动化方法抽取到的知识包含大量的冗余和错误信息,而城市服务资源知识图谱的构建需要将从不同数据源得到的知识融合在一起。知识融合包含两部分内容:实体链接和知识合并。
本体构建:城市服务资源知识图谱将采用人工与自动相结合的方法进行本体构建。人工构建方式准确率高,但是需要消耗较大的人力物力,而且周期较长。为弥补人工构建的不足,同时采用计算机辅助,以数据驱动的方式自动构建,然后采用算法评估和人工审核相结合的方式加以修正和确认。
知识推理:城市服务资源知识推理是指从知识库中已有的实体关系数据出发,经过计算机推理,建立实体间的新关联,从而扩展和丰富知识网络。知识推理是知识图谱构建的重要手段和关键环节,通过知识推理,能够从现有知识中发现新的知识。
知识评估:城市服务资源知识评估也就是质量评估,是城市服务资源知识图谱构建技术的重要组成部分。受现有技术水平的限制,采用开放域信息抽取技术得到的知识元素有可能存在错误,如实体识别错误、关系抽取错误等,经过知识推理得到的知识的质量同样也没有保障,因此在将其加入知识图谱之前一定要有质量评估的过程。另一方面,第三方知识库的质量也存在差异,数据间的冲突日益增多,对其进行质量评估,对于全局知识图谱的构建具有重要作用。引入质量评估的意义在于:可以对知识的可信度进行量化,通过舍弃置信度较低的知识或者对置信度较低的知识进行修正从而保障知识图谱的质量。
图2 城市服务资源知识图谱系统功能构架图
城市服务资源知识图谱系统是一个方便用户对知识图谱数据进行编辑、查看、管理和控制的工具。该工具提供友好的界面支持知识图谱后台数据与用户的交互,支持知识图谱内部数据的存储、备份、更新与其他变更操作,支持知识图谱的版本管理、用户权限管理、并发操作等,如图2所示。
城市服务资源知识图谱管理系统的主要功能有:
(1)后台管理
后台管理主要有知识存储、数据备份、版本控制、导入导出、用户与权限管理等功能。为支持城市服务资源知识图谱高并发、高速度的查询及编辑操作,必须选用合理的数据库对城市服务资源知识图谱进行存储。由于知识图谱中概念、实例等关联关系复杂,从数据结构的角度观察,知识图谱中的大量节点组成一个网络,因此选择图数据库作为知识图谱的存储工具。城市服务资源知识图谱管理系统支持后台的数据库操作,支持知识图谱数据的自动存储,用户通过前端页面即可对数据库进行操作。数据备份是保障城市服务资源知识图谱安全性的重要措施,主要操作包括自动地定期对城市服务资源知识图谱的数据进行备份和在发生系统故障或误操作时对数据进行恢复等。系统支持以文件格式对城市服务资源知识图谱数据进行批量导入,同时也支持对知识图谱数据以某些特定文件格式进行导出。
(2)知识校验
知识校验主要有一致性检测、发送校验信息、数据更新等功能。为保障城市服务资源知识图谱的可靠性,任何对知识图谱数据进行的编辑、改动都需要经过校验员的人工审核和批准之后才可以完成对后台数据库的变更。城市服务资源知识图谱管理系统将用户的编辑操作自动缓存并上传消息给校验员,校验员对操作进行审核后作出批准或驳回的反馈,如批准则系统自动将编辑操作作用于后台数据库,完成对知识图谱数据的更改。
(3)知识编辑
知识编辑主要有概念编辑、实体编辑、关系编辑和属性编辑四类编辑功能。知识编辑指用户可通过系统平台界面对后台数据库进行的操作,主要是对城市服务资源知识图谱数据进行的基本编辑操作,包括概念、实体、属性和关系的录入、删除、修改和保存等。
(4)服务
知识图谱的服务可以分为图谱的可视化、数据统计和数据查找三种。城市服务资源知识图谱可视化主要提供数据展示功能,同时也是数据分析和编辑的辅助工具。后台数据并不直观,可视化模块将提供图形化界面直观展示知识图谱中的概念、实体及其关联关系和属性,用户可通过鼠标拖拽等操作对图形进行移动、放大、缩小和网络层级展开等操作,同时可视化界面还提供数据统计功能,会在页面适当位置标明知识图谱中包含的概念数量、实体数量和关系数量等统计信息。城市服务资源知识图谱中包含了大量的数据,通过查找功能可快速定位到用户的兴趣点。城市服务资源知识图谱管理系统通过前端界面连接后台数据库的查找功能,用户在搜索框内输入查找关键字,系统会自动调用数据库的查询语句搜索与关键字相关的信息,并将返回结果展示在前端页面。
通过对城市服务资源知识图谱相关技术进行研究,本课题提出了城市服务资源本体框架、城市服务资源知识图谱架构及其构建方法、城市服务资源知识图谱的更新策略及城市服务资源知识图谱管理系统的需求分析。
城市服务资源知识图谱包含模式层和数据层两层结构,其构建可采用自底向上和自顶向下相结合的方法,一方面以本体为基础,对其进行实例化,完成从模式层到数据层的构建;另一方面从数据源中抽取实体信息,对其进行归纳抽象,完成从数据层到模式层的构建;城市服务资源知识图谱系统应以方便用户对知识图谱的编辑、查看、管理和控制为出发点,实现后台管理、知识校验、知识编辑和服务功能。本系统可以为智慧城市管理系统的建设提供借鉴。