随着战场信息的爆炸式增长,传统的搜索引擎和查询方式已经无法满足战场信息以及大量作战知识的捕获和理解,而知识图谱技术在解决知识查询的精度以及可扩展性方面展现出了巨大的优势,成为人们研究的热点问题。但是现有的知识图谱多为通用的知识图谱,针对性较强的领域知识尤其是军事作战领域的知识图谱并没有较好的构建以及表示方法,因此,建立作战数据知识图谱意义重大。
一、研究现状
知识图谱起始于荷兰Groningen大学与Twente大学在1982年的一个联合项目“知识图的构造和分析”,该项目的初始目的是使用图的理论建立知识的形式表示。而知识图谱广受瞩目则是由于2012年5月17日谷歌发布的知识图谱项目,谷歌宣布以知识图谱为基础构建下一代智能化搜索引擎[1],[2]。该项目始于2010年谷歌收购 Metaweb公司,并籍此获得了该公司的语义搜索核心技术。其中的关键技术包括从互联网的网页中抽取出实体及其属性信息,以及实体间的关系。这些技术特别适用于解决与实体相关的智能问答问题,由此创造出一种全新的信息检索模式。
虽然知识图谱的概念较新,但它并非是一个全新的研究领域。早在2006年Berners-Lee就提出了数据链接(Linked data)的思想,呼吁推广和完善相关的技术标准如URI(uniform resource identifier)、RDF(resource description framework)、OWL(Web ontology language),为迎接语义网络时代的到来做好准备,随后掀起了一场语义网络研究热潮。知识图谱技术正是建立在相关的研究成果之上的,是对现有语义网络技术的一次扬弃和升华。
我国对于中文知识图谱的研究已经起步,并取得了许多有价值的研究成果[3-5]。早期的中文知识库主要采用人工编辑的方式进行构建 例如中国科学院计算机语言信息中心董振东领导的知网HowNet项目,其知识库特点是规模相对较小、知识质量高、但领域限定性较强。由于中文知识图谱的构建对中文信息处理和检索具有重要的研究和应用价值,近年来吸引了大量的研究。例如在业界,出现了百度知心、搜狗知立方等商业应用。在学术界,清华大学建成了第1个大规模中英文跨语言知识图谱XLore、中国科学院计算技术研究所基于开放知识网络(OpenKN)建立了“人立方、事立方、知立方”原型系统。中国科学院数学与系统科学研究院陆汝钤院士提出知件Knowware的概念、上海交通大学构建并发布了中文知识图谱研究平台zhishi.me、复旦大学GDM实验室推出的中文知识图谱项目等,这些项目的特点是知识库规模较大,涵盖的知识领域较广泛,并且能为用户提供一定的智能搜索及问答服务。
二、研究内容
知识图谱技术作为一项当前的技术热点,内容非常庞杂,我们将主要聚焦以下几个方面的内容:1、海量作战数据的数据建模技术,实现作战数据基于知识图谱的信息组织。2、基于知识图谱的知识抽取。3、作战数据基于知识图谱的检索技术,支持在此基础上的知识加工、知识推理和知识融合。4、检索结果的数据可视化展示,以期更加全面、形象、准确、高效地满足用户的搜索预期。其目的是实现对海量、多源、多种格式作战数据的高效组织和快速检索,支持进一步的数据挖掘。
1. 海量作战数据的数据建模技术
当前,常用的作战数据类型包括:文本、视频、图像、语音、数据库、格式报、矢量等,其中,数据库、格式报为结构性数据,矢量为半结构数据,而文本、视频、图像、语音则属于非结构数据。为了实现基于知识图谱技术的快速检索,第一步就是建立适合知识图谱技术表达的数据模型,即通过RDF对各类作战数据进行再封装。对于视频、图像、语音等非结构数据采用人工方式提取信息中的实体、关系、属性等,构建实体-关系-实体三元组或实体-属性-属性值三元组。矢量在作战数据中的应用主要是矢量图,对于这类半结构数据,则需编制专门的转换程序,实现RDF格式的存储转换。当前的作战数据库均为关系数据库,可以采用商用的RDB2RDF软件,将关系数据库的数据换成RDF的三元组数据。对于格式报,可以采用类似的技术处理。其中,XSPARQL支持从XML格式转化为RDF。
2. 基于知识图谱的知识抽取技术
信息抽取,即从各种类型的数据源中提取出实体、概念、属性以及实体间的相互关系,在此基础上形成本体化的知识表达。其中的关键问题是如何从异构数据源中自动抽取信息得到候选知识单元。信息抽取是一种自动化地从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息的技术。涉及的关键技术包括:实体抽取、关系抽取和属性抽取。
3. 作战数据基于知识图谱的检索技术
随着大型结构化语义知识图谱的构建, 如Google的Knowledge Graph、 微软的Satori等,更多的商业搜索引擎开始将用户查询相关的知识体系和查询文档列表一并展示给用户,以满足用户的信息需求和搜索体验。如何利用知识图谱中丰富的实体信息提升查询文档列表的质量,也是信息检索领域一个重要的研究方向。
当前的知识图谱主要采用图数据库进行存储,在受益于图数据库带来的查询效率的同时,也失去了关系型数据库的优点,如SQL语言支持和集合查询效率等。在查询方面,如何处理自然语言查询,对其进行分析推理,翻译成知识图谱可理解的查询表达式以及等价表达式等也都是知识图谱应用需解决的关键问题.
目前,随着智能信息服务应用的不断发展,知识图谱已被广泛应用于智能搜索、智能问答、个性化推荐等领域。尤其是在智能搜索中,用户的搜索请求不再局限于简单的关键词匹配,搜索将根据用户查询的情境与意图进行推理,实现概念检索。与此同时,用户的搜索结果将具有层次化、结构化等重要特征。知识图谱能够使计算机理解人类的语言交流模式,从而更加智能地反馈用户需要的答案。与此同时,通过知识图谱能够将各类信息、数据以及链接关系聚集为知识,使信息资源更易于计算、理解以及评价,并且形成一套全面的语义知识库。智能搜索引擎主要以3种形式展现知识:1)集成的语义数据。2)直接给出用户查询问题的答案。3)根据用户的查询给出推荐列表。
4. 数据可视化展示技术
所谓数据可视化是对大型数据库或数据仓库中的数据的可视化,它是可视化技术在非空间数据领域的应用,使人们不再局限于通过关系数据表来观察和分析数据信息,还能以更直观的方式看到数据及其结构关系。数据可视化技术的基本思想是将数据库中每一个数据项作为单个图元元素表示,大量的数据集构成数据图像,同时将数据的各个属性值以多维数据的形式表示,可以从不同的维度观察数据,从而对数据进行更深入的观察和分析[6-8]。
数据可视化技术包含以下几个基本概念:
1)数据空间:是由n维属性和m个元素组成的数据集所构成的多维信息空间;
2)数据开发:是指利用一定的算法和工具对数据进行定量的推演和计算;
3)数据分析:指对多维数据进行切片、块、旋转等动作剖析数据,从而能多角度多侧面观察数据;
4)数据可视化:是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。数据可视化致力于在二维平面上显示数据的多维属性,分析并发现其中的关联和走势。
三、研究总体方案
研究总体方案主要包含以下5个方面。从整体上讲,本方案包括了作战数据的采集、建模、存储、管理、处理、检索以及数据的可视化展示等方面的内容。见图1。
图1 作战数据知识图谱解决方案
1. 多源作战数据统一建模技术
数据模型是对信息系统中客观事物及其联系的数据描述,它是复杂的数据关系之间的一个整体逻辑结构图。数据模型不但提供了整个系统藉以收集数据的基础,它还与系统中其他模型一起精确恰当地记录业务需求,并支持信息系统不断地发展和完善,以满足不断变化的业务需求。对于任何一个信息系统来说,数据模型都是它的核心和灵魂。
作战数据种类繁多、格式各异,如何用一种统一的形式来描述作战数据,是各类作战大数据应用系统首先要解决的问题。在本项目中将采用RDF技术解决多源作战数据的统一建模问题。
2. 海量作战数据的组织管理技术
i. 数据采集工具
数据采集工具通过设置探头进行网络数据监听、记录,收集编队作战指挥系统内各软件交互数据,形成数据记录文件。
ii. 数据导入工具
数据导入工具对外来的非网络采集的数据进行导入,实现原始数据的统一管理。包括岸基资源信息、舰艇作战系统网络数据、系统运行状态数据的导入。导入数据根据数据的格式,支持以格式化和非格式化两种方式进行存储。在导入过程中支持手动或自动生成导入数据的数据特征信息(数据记录开始/结束时间、数据类型、数据来源等内容),作为为大数据处理提供数据转换的目录。
iii. 原始数据管理工具
数据管理工具为对数据进行统一表征,为原始数据查询、管理提供统一的描述和界面;
为原始数据的导出提供统一的界面,为多源平台原始数据的汇集提供条件。
3. 海量作战数据的处理技术
i. 数据处理平台
采用现有成熟架构体系,同时针对海上计算存储资源受限特点进行针对性裁剪,为数据的抽取转换和分布式计算处理提供支撑。同时针对具体的应用,基于数据库和数据处理引擎,提供大数据分布式处理和通用处理算法支持。
ii. ETL引擎
ETL引擎主要是实现对原始数据库中的数据进行格式转换和导入,为大数据的处理提供基础。ETL引擎对原始数据进行数据的抽取、转换和装载,作为大数据平台数据的来源入口,需要适应不同的应用系统、不同的数据类型、不同的数据转换清洗的要求、不同的抽取速率和频度。具体实现以下功能:
1)数据抽取
数据抽取支持全量抽取和增量抽取两种模式。全量抽取即实现数据的迁移或复制,将原始数据库中指定的表或视图的数据原封不动的抽取出来,并转换为特定的格式。增量抽取实现按照预定的规则,定期抽取指定数据库中变化的部分。
2)数据筛选
在数据清洗之前,对数据的质量进行检查,查看数据特征,发现异常数据,并进行数据的筛选。支持按照时间范围、字段的取值范围或者嵌入指定的其他算法来进行数据的筛选。
3)数据清洗
数据清洗是对抽取的数据进行数据验证和剔除,支持对错误的数据、不完整的数据和重复的数据进行检查,根据检查结果执行相应的处理策略(完全不处理、标记但不处理、过滤)。
4)数据转换
数据转换主要实现数据格式的转换、数据粒度的转换和一些数据规则(如单位不一致等)的转换。支持支持字段值映射、字段间运算、排序、数据替换、数据计算、数据合并与拆分等内置数据转换组件。
5)数据装载
将转换和清洗后的数据装载到分布式数据中,作为大数据分析处理的数据基础。支持按照SQL语句进行装载和批量装载两种方式。
iii. 分布式数据库
分布式数据库基于分布式文件系统(HDFS),将数据的访问和存储分布在服务器集群之中,在可靠的多备份存储的同时还能将访问分布到集群中的多个服务器上,通过分布式存储实现数据的冗余备份,并提升大数据的访问存取性能,高效低成本的应对海量数据的存储和处理工作。同时针对各种不同的应用场景及数据格式的区别,分布式数据库在分布式文件系统之上有不同的数据库管理系统,包括MPP(Massively parallel processing,大规模并行处理)数据库、NoSql数据库和内存数据库。
1)MPP数据库
MPP数据库基于分布式文件系统,通过列存储、高效压缩、粗粒度只能索引等技术,结合MPP架构高效的分布式计算模式,完成对海量高密度结构化数据的分析类应用的支撑,并且具有高性能和高可扩展的特点,支持数据仓库的构建。
2)NoSql数据库
NoSql数据库是区别与传统的关系型数据库,采用面向列的、可伸缩的分布式数据库,主要用于处理半结构化和非结构化的数据的存储和检索,为大表(表的规模达到数十亿行及数百万列)数据及非结构化数据提供实时级别的读写访问。
3)分布式内存数据库
基于分布式文件系统,为避免数据密集的工作流带来的大连的大量IO开销,采用RDD(Resilient Distributed Dataset)的内存抽象结构进行数据的存储,将磁盘数据映射到分布式集群的内存中,为分布式计算提供数据的缓存,提升数据处理速度。
iv. 分布式处理引擎
1)数据仓库引擎
数据仓库引擎主要是基于MPP数据库,对数据的访问进行封装,符合标准SQL规范,向ETL引擎提供与传统数据仓库一致的访问接口,保证用户可以通过ODBC或JDBC连接数据仓库。同时对数据的访问进行优化和资源管理,内置数据分析的通用算法,为应用程序的开发提供高可用、可扩展的数据处理功能和性能。
2)批处理引擎
批处理引擎是针对非结构化数据进行内存计算的大数据批处理框架,适用于多次操作特定数据集。该引擎采用内存运算技术,支持分布式内存计算、迭代式计算和能力线性的扩展,具有计算过程容错性的能力。
3)流数据处理引擎
流数据是一组顺序、大量、快速到达的数据序列,通常是指传感器类的数据。流数据处理引擎支持流数据的采集、数据的预处理、入库以及流数据的实时或离线处理分析。
4)海量数据搜索引擎
针对海量数据进行快速搜索,支持全文检索、命中标示、动态聚类等功能,为数据的应用展现提供接口。
v. 大数据平台运维管理
大数据平台的运维管理主要是为分布式系统所设计的管理和监控系统,为平台的部署、管理及运行监控提供图形化的界面,保证大数据平台的好用、易用,具体包括如下功能:
1)分布式文件管理;
2)自动化的安装部署;
3)提供实时的机群概况,如节点、服务的运行状况;
4)为集群的配置修改提供图形化设置界面;
5) 故障诊断与报告,实时给出硬件与软件的运行状态。
4. 知识图谱关键技术
i. 知识抽取
知识抽取主要是面向开放的链接数据,通过自动化的技术抽取出可用的知识单元,知识单元主要包括实体(概念的外延)、关系以及属性3个知识要素,并以此为基础,形成一系列高质量的事实表达,为上层模式层的构建奠定基础。
ii. 知识推理
知识推理则是在已有的知识库基础上进一步挖掘隐含的知识,从而丰富、扩展知识库。在推理的过程中,往往需要关联规则的支持。由于实体、实体属性以及关系的多样性,人们很难穷举所有的推理规则,一些较为复杂的推理规则往往是手动总结的。对于推理规则的挖掘,主要还是依赖于实体以及关系间的丰富同现情况。知识推理的对象可以是实体、实体的属性、实体间的关系、本体库中概念的层次结构等。
知识推理方法主要可分为基于逻辑的推理与基于图的推理两种类别。
基于逻辑的推理方式主要包括一阶谓词逻辑(1st order logic)、描述逻辑(description logic)以及基于规则的推理。一阶谓词逻辑推理是以命题为基本进行推理,而命题又包含个体和谓词。逻辑中的个体对应知识库中的实体对象,具有客观独立性,可以是具体一个或泛指一类;谓词则描述了个体的性质或个体间的关系。
对于复杂的实体关系,可以采用描述逻辑进行推理。描述逻辑是一种基于对象的知识表示的形式化工具,是一阶谓词逻辑的子集,它是本体语言推理的重要设计基础。基于描述逻辑的知识库一般包含TBox与ABox。其中,TBox是用于描述概念之间和关系之间的关系的公理集合,ABox是描述具体事实的公理集合。借助这2个工具,可以将基于描述逻辑的推理最终归结为ABox的一致性检验问题,从而简化并最终实现关系推理。
基于规则的推理主要针对以Web本体语言OWL描述的概念。
基于图的推理方法主要基于神经网络模型或Path.Ranking算法.例如Socher等人将知识库中的实体表达为词向量的形式 进而采用神经张量网络模型(Neural tensor networks)进行关系推理。Path.Ranking算法的基本思想是将知识图谱视为图,以实体为节点,以关系或属性为边,从源节点开始,在图上执行随机游走,如果能够通过一个路径到达目标节点,则推测源和目的节点间可能存在关系。
iii. 知识融合
由于知识图谱中的知识来源广泛,存在知识质量良莠不齐、来自不同数据源的知识重复、知识间的关联不够明确等问题,所以有必要甄别知识的性质或个体间的关系。
在基于图的推理方法中,主要是利用了关系路径中的蕴涵信息,通过图中两个实体间的多步路径来预测它们之间的语义关系。即从源节点开始,在图上根据路径建模算法进行游走,如果能够到达目标节点,则推测源节点和目标节点间存在联系。
知识融合是高层次的知识组织,使来自不同知识源的知识在同一框架规范下进行异构数据整合、消歧、加工、推理验证、更新等步骤,达到数据、信息、方法、经验以及人的思想的融合,形成高质量的知识库。
iv. 作战数据检索结果的智能组织与可视化展示技术
数据可视化从信息服务角度来理解,它所提供的实质是一种界面,无论数据可视化内部是什么样的结构,对于使用者而言,或者对于信息提供者而言,需要的是以简洁易懂、省时高效的方式呈现数据检索结果,理解数据含义。数据可视化技术工具的具体目标是高效地提供数据可视化服务并开发相应的可视化工具或平台。
可视化技术(Visualization)是利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。它涉及到计算机图形学、图像处理、计算机视觉、计算机辅助设计等多个领域,成为研究数据表示、数据处理、决策分析等一系列问题的综合技术。
数据可视化技术通过直观、可交互的形式展现结构化的数据,梳理数据间的关系,易于人们接受和使用。将知识图谱与可视化技术结合,与传统文字、图片信息相比,具备准确分析数据、深度解读数据、清晰展现数据的优势,甚至将文本难以描述的东西,用直观自然的方式协助人们理解。
目前对数据可视化的理解可以描述为是指通过特定软件工具以图表 地图、标签云、动画或任何使内容更容易理解的图形方式来呈现数据。当然数据可视化不仅能够帮助数据的最终呈现,对发现数据中新的信息也起到非常关键的作用。数据可视化的实质是借助图形化手段,清晰有效地传达与沟通信息,使通过数据表达的内容更容易被理解。为了实现信息有效地传达,数据可视化需要追求兼顾美学形式与功能的需要,并通过直观地传达关键特征,实现对数据集的深入洞察。可视化效果的优质体现需要关注4个要素,即形式新颖、内容充实、直观高效和符合审美。
随着数据可视化新工具的出现,使可视化技术可以实现用户与可视化数据之间的交互。新的可视化技术应用的标准还应该向以下4个方面努力:a)直观化:直观、形象地呈现数据。b)关联化:挖掘、突出呈现数据之间的关联。c)艺术化:增强数据呈现的艺术效果,符合审美规则。d)交互性:实现用户与数据的交互,增强用户对数据的控制。其中,直观化和关联化强调数据可视化的功能性,艺术化和交互性则强调数据可视化的美学设计和智能化。实现了直观化和关联化,就能够直观、形象地呈现数据,找出数据之间关键、独特的关联性,而智能、交互性强的动态数据可视化过程可实现信息的传达和双向沟通。
v. 知识图谱构建技术
图2 知识谱图技术架构
知识图谱是结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系。其基本组成单位是实体-关系-实体三元组,以及实体-属性-属性值三元组,实体间通过关系相互联结,构成网状的知识结构。
在万维网上,通过知识图谱,可以实现Web从网页链接向概念链接转变,支持用户按主题而不是字符串检索,从而真正实现语义检索。基于知识图谱的搜索引擎能够以图形方式向用户反馈结构化的知识,用户不必浏览大量网页就可以准确定位和深度获取知识。
构建知识图谱的过程是一个迭代更新的过程 每一轮更新包括3个步骤:1、信息抽取。即从各种类型的数据源中提取出实体、概念、属性以及实体间的相互关系 在此基础上形成本体化的知识表达。2、知识融合。在获得新知识之后,需要对其进行整合,以消除矛盾和歧义。比如某些实体可能有多种表达,某个特定称谓也许对应于多个不同的实体等。3、知识加工。对于经过融合的新知识,需要经过质量评估之后(必要时需要人工参与甄别),才能将合格的部分加入到知识库中以确保知识库的质量。新增数据之后,可以进行知识推理,拓展现有知识,得到新知识。
5. 知识图谱数据管理方法
知识图谱数据管理的一个核心问题是如何有效地存储和查询RDF数据集。总的说来,有两套完全不同的思路。其一是我们可以利用已有的成熟的数据库管理系统(例如关系数据库系统)来存储图谱数据,将面向RDF知识图谱的SPARQL查询转化为面向此类成熟数据库管理系统的查询,例如面向关系数据库的SQL查询,利用已有的关系数据库产品或者技术来回答查询。这里最核心的研究问题是如何通过构建关系来存储RDF知识图谱数据,并且使得转换的SQL查询性能更高;其二是直接开发面向RDF知识图谱数据的、原发的知识图谱数据存储和查询系统(Native RDF图数据库系统),考虑到RDF知识图谱管理的特性,从数据库系统的底层进行优化。通过将RDF三元组看作带标签的边,RDF知识图谱数据很自然地符合图模型结构。因此可以从RDF图模型结构的角度来看待RDF数据,并通过RDF图结构的存储来解决RDF数据存储问题。图模型符合RDF模型的语义层次,可以最大限度地保持RDF数据的语义信息,也有利于对语义信息的查询。此外,以图的方式存储RDF数据,可以借鉴成熟的图算法、图数据库来设计RDF存储与查询算法。
五、总结
可以看出,知识图谱的重要性不仅在于它是一个全局知识库,是支撑智能搜索和深度问答等智能应用的基础,而且在于它是一把钥匙,能够帮助人们打开作战数据的知识宝库,为相关作战领域的研究开启新的发展机会。知识图谱不仅是一项技术,更是一项战略资产。在未来的很长一段时间,知识图谱仍将是作战大数据的前沿研究问题。期待更多的研究者能够加入进来,为我军的跨越式发展提供新的技术推动力。
声明:本文来自体系工程,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。