本文首发于 Nebula Graph Community 公众号
“为了支持城市复杂场景下各类需求,中科大脑知识图谱团队设计开发了一套包含本体可视化设计、数据映射、数据抽取、数据写入、图数据探索的一体化平台,而本文则详细介绍了他们的业务背景、技术选型、平台建设等内容。”
中科大脑作为一家城市级的数字资产运营商,一方面要对各种类型的数据进行高效存储,另一方面面临如何将各类数据充分利用的问题,传统 NoSQL、SQL 不能完全满足数据的存储和利用,以图数据库为基础的知识图谱一定程度上可以解决这些问题,知识图谱组件(KBU)是脑库城市大脑产品的核心部件。
中科大脑内部对知识图谱的需求,总体来说有以下 3 方面:
在数据高度结构化、一致性强场景下,一般选择使用传统的关系型数据库;在数据具有庞大潜在关联场景下,图数据存储及基于此的知识图谱技术将会是合理的选择。
调研中发现,与关系数据库或其他 NoSQL 数据库相比,图数据库的数据模型也更加简单,更具表现力。图数据库在社交网络、金融风控、个性化推荐、网络安全等领域应用广泛。
我们在图数据库选型方面主要考虑点:
1)功能齐全、性能强大;2)项目开源,支持灵活的二次开发;3)安全可靠,国产优先;
中科大脑早起进行了一些性能和功能对比,也参考美团、腾讯相关测评,从测试结果看 Nebula Graph 在数据导入、实时写入及多跳查询方面性能均优于竞品。此外,Nebula Graph 社区活跃,对相关 issue 的响应速度快,所以团队最终选择了基于 Nebula Graph 作为图数据库平台基础。
知识图谱构建包括业务规则制定、本体构建、知识抽取、知识融合、数据存储等流程,往往需要业务专家、工程、算法、项目管理等人员参与配合。有机整合以上环节和分工,将大大减少知识图谱落地速度,目前尚未有开源产品满足此需求。为了支持城市复杂场景下各类需求,我们设计开发了一套包含本体可视化设计、数据映射、数据抽取(结构化、非结构化)、数据写入、图数据探索的一体化平台,平台结构如图。
知识图谱平台将不同领域知识图谱作为项目单元,每个项目独立进行知识全流程构建与管理。项目中包括本体设计、数据映射、数据抽取,按照流程一步步进行(step-by-step),不同的阶段做到“术”、“业”专攻。平台实现了企业内部知识图谱构建的标准化和部门协作,减少了不同阶段人员间的沟通成本、数据安全性问题,大大提高了效率。
知识图谱的建设不完全是技术工作,在本体设计阶段,业务工作可能占据一半以上工作。业务专家往往又不了解知识 schema 设计,通常的流程是业务专家以非标准方式标记知识,带来了较多的返工,不同专家之间和专家与技术之间存在协作问题。针对这些痛点,构建平台借鉴开源项目实现本体的在线设计,支持多种格式(OWL、RDF、RDFS)的文件导入、导出,兼容性较好,经测试OpenKG中90%以上资源可直接接入。可视化的构建方式真正实现了以图构图。
本体构建完成,对结构化数据,支持对 EXCEL、CSV 等关系型数据与本体建立映射,完成图数据的写入。对非结构化数据的图谱抽取,平台内置了模型服务进行三元组抽取。内置模型分为两种,第一种是基于开源数据集,如百度 DuIE 2.0,满足通用数据抽取,另一种从自身业务出发,设计模型。我们设计了针对市民热线的事件及关键信息抽取模型,从图谱角度挖掘市民热线不同信件间的关联关系,对事件抽取设计了联合抽取模型,联合抽取模型较管线式模型(pipeline)在时效和准确率上有较大提升。
结构化数据导入和非结构数据化抽取结果将被写入到 Nebula Graph 数据库,图探索可以方便地实现对写入知识的查询显示,同时可以通过知识搜索框直接对点和边信息进行搜索。构建者更加简单地实现了知识检索、探索和聚合。产品功能要点:
MATCH (n) RETURN n LIMIT 25)
,主要是通过简单算法发现图谱中心点,再由度数来控制从中心点出发的子图大小,同时防止了展示爆炸。为了满足自身产品应用,我们基于 Nebula Graph、Elasticsearch、NetworkX 等底层接口,开发了一系列 API 应用接口,未来我们 API 接口实现也将积极参与到开源中。
围绕公安户政知识建立了领域知识图谱,设计知识图谱问答(KBQA)系统 ,支持多实体多跳(Multi-hop)匹配和推理。基于脑库知识图谱组件和脑库时空构建组件将空间和非空间数据结合,实现空间推理,市民可能会咨询,“可以办理出国签证的机构都在哪儿?”通过知识图谱语义问答和 GIS 的结合,将位置和相应的属性精准返回,实现知识和地图的可访问及互操作,为城市服务提供便捷。
城市知识图谱覆盖设备(Device)、承载物(Thing)、管理(Manage)、事件(Event)、领域(Field)和规则(Rule)等概念,基本构成了城市各领域知识底座,用于处理城市服务和城市治理问题。例如当发生占用消防车道事件,消防通道传感器(Device)的功能(Function)记录相关信息,服务(Service)将记录占用者信息并给予报警,将占用车车牌等信息反馈给案件管理者,管理者再根据地址区域(Area)、规章(Rule)等信息对违章停车事件快速干预处理。相关构建和应用研究方法被CCKS2021收录。
在城市大脑个性化推荐中,以‘我’为中心整合服务资源并进行个性化定制,通过知识图谱分析用户行为习惯和环境信息,使用图嵌入、图路径分析、社区发现算法等方法,智能推送用户关注度高、关联性强的信息,主动提供服务。
对于市民,在案件办理时,自动收到个性化推荐,如相似案例办理经验、可选路径、办件足迹及相关资讯等;对于城市治理者,在案件派发和相似案件推荐中,采用常识图谱和专业领域知识图谱相结合对历史信息和案件行为分析。利用知识融合、子图空间、知识推理等方法,对于案件的派发和推荐提供更精确的分析和分类,并推理出相应的派发法方案和相似关系,提高了城市大脑的智慧服务水平和效率。
目前公司脑库与图数据库 Nebula Graph 完成了互操作性测试认证,技术人员积极参与开源社区项目,通过了知识图谱专家级认证(NGCP)。未来我们持续支持国产数据库,为社区积极贡献代码。
平台方面在构建阶段,将内置图嵌入、图学习、GNN 等图算法、优化大规模图算法性能,实现构建与应用一体化平台,为数字资产的深层次挖掘和智能化应用赋能。
以上为中科大脑知识图谱开发小组带来的知识图谱平台建设和业务实践方面的分享。
交流图数据库技术?加入 Nebula 交流群请先填写下你的 Nebula 名片,Nebula 小助手会拉你进群~~