基于Neo4j图数据库的警务安保知识图谱可视化分析
2019-01-22郝培豪高洁
郝培豪,高洁
(中国人民公安大学信息技术与网络安全学院,北京102623)
0 引言
随着社会不断发展,社会之中人与人之间的交往也变得更加频繁,与此同时,愈来愈多的社会活动也随之而不断开展,而保障这些活动的安全顺利的进行是各级政府极具重视的工作之一。再加之,社会中一些具有仇视心理的人为报复社会,总会在大规模人群中制造危险,并且国内外对于这种事件的发生也屡见不鲜,因此合理科学地增强安保工作便成为当务之急。我国安保领域的数据资源虽然丰富,数据量也呈爆炸式增长,其涉及的方面也十分广泛,但是其包含各种结构化、半结构化和非结构化数据,关联性和可操作性较差,难以为安保做出更大的贡献,如何解决安保活动中出现的各种诸如人、车以及物品等数据,并将其整合成为有关系的语义网络便成为当前安保领域的一个研究方向。传统的关系数据库可以处理一下具有简单的数据关系,但随着如今各种数据已爆炸的形势增长,以往的关系数据库已在适应数据的动态性、处理数据之间的关系等方面呈现出一定的疲态,而知识图谱便可处理安保活动中的难题。知识图谱是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系[1]。本文运用Neo4j图数据库[2]对安保警务知识图谱所产生的数据进行统计与整理,并进行数据的编译,使之形成一个完整的安保知识图谱,使安保人员能够直观地了解某些在安保过程中面对突发情况所应该采取的措施,一方面节省时间,另一方面也优化了信息获取的速度,缩短了时间,提升了工作效率。
1 概念与研究方法
1.1 概念概述
Neo4j图数据库作为一个高性能的图形数据库,它的优点是可以将结构化的数据保存在网络中,而不是传统关系数据库中的数据表中。它利用的是Java持久化引擎,并且该引擎是嵌入式的、基于磁盘、具备完全的事务特性[3]。它拥有目前成熟数据库的诸多特性,相比较于传统的关系数据库,它可以更加高效地解决大量低结构化、复杂的数据,其原因在于,传统的关系数据库在处理关系繁多的数据信息是,伴随其产生的就是大量的数据表连接,这些连接会使得用户在做数据查询处理时就会显得不够迅速与便捷。而Neo4j图数据库很出色地解决了这一问题,通过围绕图形进行数学建模,Neo4j在数据处理上会以相同速度遍历节点与边,并且其遍历的速度与图数据库中的数据量是没有直接关系,无论图数据库中存储的数据量有多少,都不会影响Neo4j的遍历速度,这种做法的好处是大大提升了数据库的工作效率。此外,Neo4j图数据库还在传统关系数据库的基础上,提供了快速的图算法、推荐系统和OLAP风格的分析方法,方便数据的综合分析[4]。
1.2 知识图谱的研究方法
本文是构建一个安保领域体系的知识图谱,将安保中出现的数据信息存储到数据库中,并利用可视化工具将其展现,并且能够进行特定查询的功能。具体研究步骤如下:
(1)采用亿图MindMaster软件做安保工作的思维导图,用于理清安保过程中各个流程之间的关系,以及梳理在安保过程中出现的人、车以及物品所可能出现的关系属性。
(2)运用 Protégé软件进行安保领域的本体构建[5],分析其中的知识结构,明确安保领域的本体概念,针对安保中的逻辑概念进行限定,最后利用定义规则的方式推理安保知识图谱的本体关系。
(3)基于Neo4j图数据库构建安保知识图谱,利用Cypher语言对安保中的实体、关系以及属性进行设计、编译,使安保知识图谱中可以呈现清晰的节点关系结构,并且利用该图数据库方便使用交互式查询。
2 安保知识图谱构建
2.1 安保信息数据的获取
在知识图谱的研究领域中,知识图谱对于数据来源的定义已划为基本的三类,分别为基于结构化数据构建、基于半结构化数据构建和基于非结构化数据构建。由于安保行动对于全世界而言都是属于秘密行动,为防止不法分子针对安保方案进行恐怖活动方案设计,所以本文的安保知识图谱数据主要是通过基层调研,向基层派出所的一线民警调研学习,获得关于安保活动的方案以及处置经验,故本文主要基于非结构化数据进行安保知识图谱的构建,并结合网络中相关的安保新闻以及文档信息,作为安保知识图谱的数据基础,进行分析。
本文运用亿图MindMaster软件,针对安保方案以及收集的数据进行梳理,将安保流程及规范整理为本体与事件两大类,其中安保中本体下可分为人、车和物,而安保中事件可分为应急、防爆和检查,运用这两大类,六个方面将安保工作进行整体概括,从而形成安保知识导图(如图1所示)。
图1 安保知识导图
2.2 安保信息数据的关系构建
在本文研究中,针对抽取而出的安保信息数据的本体,例如在安保行动过程中出现的人,其属性包括为姓名、身份证号、相貌特征、犯罪记录等,以及车辆、物品,诸如此类本体在一定的时空之中会发生诸多交集,并且由于安保现场人员众多,车辆与物品的出现也会充满了随机性与多样性,这样复杂的关系联系就需要人工定义推理的方法完成,本文运用Protégé软件进行本体与本体之间,以及属性的定义,分析出对于安保过程中最基本的本体要本,利用OntoGraf插件可构建完整的本体属性关联关系图(如图2所示),从而形成严密完整的知识语言逻辑体系,成为安保知识图谱的理论基础。
通过对本体与本体之间的关系进行定义,可以定义驾驶、拥有、偷窃、检查等多种关系,凭借着各种关系,多种本体之间的关系就会构成一套容纳整个安保中的本体、关系的知识库。
2.3 安保知识图谱的可视化
安保知识图谱的可视化是通过Neo4j图数据库所实现的[6]。在Neo4j图数据库中,数据展现是通过数据节点、属性已经关系展现的,各个节点之间可以拥有多个关系和属性,并且针对安保工作中的各种人物、车辆和物品的复杂关系,以及多源的数据类型,Neo4j图数据库可以很好地处理这些问题。并在这基础之上,针对传统数据库在表示数据表的连接时的局限性,Neo4j图数据库可概括为一个节点,从而大幅度提升数据检索时的效率。
图2 安保本体联系图
针对安保中数据信息的处理,通过代码编写和数据导入,获得安保信息,并在Neo4j图数据库中构建知识图谱体系。例如,在数据库中,对人物“杨问枫”进行检索,其对应的查询语句为:
match(p:人物{姓名:“杨问枫”}
return p;
查询结果如图3所示。通过对人物“杨问枫”的检索,可以获得关于其的人物关系、车辆关系以及物品所属关系,通过对这些关系的分析,从而可以便捷高效地掌握信息,也同时为安保工作提供便利。
图3 安保知识图谱
3 结语
本文通过针对警务安保领域的知识图谱构建进行了探究,通过对安保行业的知识信息数据进行归纳提取,基于其特殊的应用领域,从本体关系关联的角度,深入本体之间的关系架构,构建符合安保实际情况的知识图谱,也同时为安保知识图谱的研究提供一个实践基础和理论基础。随着社会快速发展,安保领域也面临着活动不断复杂的情况,并且关于本体的数据也在不断变化与更新,因此需要对本体和属性的知识库进行周期性更新,这样才能够保证安保知识图谱在安保领域中不会落后,不会影响安保工作的正常进行。在本文中也存在着一些不足,对于安保领域而言,本文的安保知识图谱仅是一次初步探索,其本体的定义还不仅完善,对属性以及关系的构建也不够详尽与,因此希望在以后的研究中将其完善,做深入研究。
安保行业领域一直以来都是受到广泛关注的特殊领域,为此,加强安保工作,针对安保知识图谱的搭建便具有十分重要的意义。在此基础上,安保知识图谱也能在可视化的检索服务中为安保人员的知识需求提供一种便捷的服务,从而帮助安保活动的正常顺利进行。