【阅读笔记】Using Knowledge Graphs to Search an Enterprise Data Lake
摘要
- 论文归纳了为自动驾驶领域大型企业提供数据湖构建过程中的语义数据管理平台的研究与探索。
- 该研究旨在通过系统化的方法优化企业级大数据处理流程。
- 该系统在分析大数据集并驱动机器学习算法方面发挥着关键作用。
- 背景
- 博世底盘系统控制(Bosch Chassis Systems Control ,CC)旨在应对复杂交通环境下的车辆动态需求。
- 面对海量数据的处理挑战,默认采用大数据存储方案并依赖于预置的Hadoop集群以提升计算效率。
- 这种存储架构带来了系统复杂性和多样性特征:
- 包括多样的数据格式与内容
- 包括不同性质的项目模块
- 数据湖系统采用了基于自底向上的构建策略,并采用迭代优化的方法进行开发。
- 数据湖组件通过具体案例与项目实现开发:
- 团队将独立的集成组件整合为统一的整体架构
- 该方法不仅能够快速满足高需求项目的交付目标,
还能建立一个具有长期收益潜力的统一数据管理系统
- 统一语义模型框架在数据集成与无缝过渡中发挥关键作用:
- 支持跨案例信息的有效重用
- 实现互联多源数据环境下的语义化检索功能
- 本文总结了基于语义技术实现高效数据湖搜索算法的设计与实现方法
- 方法
- 总体架构设计遵循模块化原则(如图1所示)

图1展示了左侧部分与右侧部分两种不同的架构设计。左侧部分为带有数据访问层和语义知识层的整体CC数据湖架构;右侧部分则采用本体技术实现跨平台的数据关联与表示功能
- 主要目标
- 为将不同数据源的数据集成为知识提供一个集中的解决方案
本系统将提供一个统一的访问接口
在数据湖中新增两层结构
语义知识库 系统性地存储与数据相关的知识 并通过可操作的方式从数据中提取所需的知识 这一功能将有助于工程师实现跨资源的数据集检索
数据访问引擎 将通过直接连接至数据存储点 提供统一的数据获取入口
REST即基于状态的表示方式 是一种针对网络应用的设计与开发模式 可有效降低开发复杂度 并提升系统的扩展能力
数据访问引擎将利用领域目录知识图谱 对独立的数据资源实施访问权限控制
支持基于Kerberos的身份认证机制 可方便地与企业IT系统实现无缝对接
Kerberos作为一种用于网络资源认证与授权的协议系统 主要功能是实现对网络资源的身份验证
此架构支持基于语义的知识搜索 这一特点将显著提升数据分析效率
工程师可以通过该架构快速定位具有特定特征的数据集 或者训练指定场景下的机器学习模型 这种能力源于语义知识库对全部存储资源进行统一表达式检索的能力
- CC本体和知识图谱
- 使用迭代的方式构建本体模型,以一些核心使用案例开始
- 目的是开发一个用于为汽车领域的一般数据进行建模的基础本体,被叫做汽车传感本体(Automotive Sensing Ontology,ASO)
- 这个基础本体通过特定本体进行扩展已涵盖各个项目的需求
- 每个案例以competency questions的形式提供一系列的需求,这些需求与领域专家一起开发、讨论
- 基于这些需求,对特定于用例的本体进行建模,并开发流程来构建各自的知识图,每个知识图存储在Stardog[2]集群上的独立数据库中
- 每个知识图谱都依赖于基础汽车本体和使用案例的具体本体
- 当需要在多个知识图谱上查询时,
- 在数据访问层定义了SPAQRL查询
- 通过数据访问引擎(Data Access Engine,DAE)执行查询
- 汽车传感本体(ASO)
- 对CC数据湖中的传感器观测数据进行标注和链接
- 本体使非领域专家也能理解和搜索数据,以支持CC相关的广泛应用程序和用例
- ASO借用了一些标准本体和词汇中的概念(图1所示)
- 通过一组三个不同的模块为汽车传感领域建模
- 场景&动作(Scenes & Maneuvers)
- 定义这个概念来表示车辆可能参与的活动及其周围环境
- 动作( Maneuvers)包括刹车、在高速公路变道或根据交通灯停车等
- 传感器观测数据(Sensor observations)
- 定义这个概念来表示车辆及其周围环境的传感器和观测结果
- 重用来自W3C语义传感器网络本体( W3C Semantic Sensor Network Ontology)[1]的几个概念
- 数据来源(Data Provenance)
- 定义这个概念来对存储在数据湖中的数据进行描述、引用和跟踪
- 根据W3C的建议去重用PROV-O本体[3]的概念
- 表1列举了一些核心概念
表1. 列举了ASO中场景&动作(Scenes & Maneuvers)的classes and properties
| 概念 | 描述 | 引用 |
|---|---|---|
| Classes | ||
| Drive | drive使车辆在一些特定地理空间区域(位置/地点)和时间间隔内的使用。部署在车辆上的传感器可以观察使用过程中车辆和/或环境的属性 | aso:Drive |
| EgoVehicle | 交通工具是一种设计或用于在陆地、水、空气或太空中运送人或货物的设备 | aso:EgoVehicle |
| Maneuver | Maneuver是一种场景,车辆参与一些目的性的活动(刹车,加速) | aso:Maneuver |
| Scene | scene是drive中发生的一个活动,以及围绕该活动的上下文。scene的知识(或检测)通常是通过对drive过程中的观察结果进行分析得出的 | aso:Scene |
| Properties | ||
| agent | 动作的直接执行者或驱动者(有生命的或无生命的) drive/maneuver的agent是一个EgoVehicle | schema:agent |
| occursDuringDrive | Scene和发生在其中的Drive之间的关系(与hasScene相反) | aso:occursDuringDrive |
| occursDuringScene | 检测结果和发生在其中的Scene直接按的关系 | aso:occursDuringScene |
| participant | Scene与FeatureOfInterest的关系;将场景与间接参与场景的特征联系起来 | schema:participant |
-
为了通过语义搜索访问CC 数据湖中的数据集,我们利用知识图谱格式构建的数据目录结构从语义层面进行推理以确定各文件、表格或图表的实际来源[4]。
-
该机制
-
为每个文件、表格或图表生成一个全局标识符(GID),以便于与知识图谱中相关联的知识存储的数据建立关联。
-
应用案例
-
基于语境的行为搜索(Context-Based Behavioral Search,CBS)
- 通用数据存储方案
- 特定应用领域的知识库
-
收集所有行为的相关信息
-
使工程师能够探索并发现所有感兴趣的数据集以实现特定分析和执行高度情景化的机器学习训练
- 对于每一个行为(behavior)我们整合了其全部相关信息
- 元数据(如时间、地点、汽车平台和子系统)
- 行为类型(如刹车、转弯)
- 行为环境(如清晨、桥梁、傍晚、雨天)
- 来自传感器数据的特征(如汽车速度、加速度)
- 对于每一个行为(behavior)我们整合了其全部相关信息
-
结论
-
通过语义检索技术显著提升了对CC大数据湖中汽车数据的检索能力
-
文中架构将元数据管理的语义技术(基于Stardog)与Hadoop技术有机融合
-
开发了ASO系统用于汽车领域数据的描述与标注
-
下一步计划将该概念验证成功转化为高可用级别的产品系统
