基于知识图谱,实现数据的自服务能力
先简单介绍一下背景:大家经常会听到有人问我们有哪些数据,这些数据在哪里,如何获取数据的问题,能否建立一个平台,让我们象百度搜索一样,根据我们的知识(业务术语)找到相关的数据,提交申请,得到数据,这就是一个获取数据的自助服务。
以往数据在哪里往往通过人工梳理完成,我们希望能够自动化一些,为专家提供一个智能的助手,这里的工作分为三部分:
(1)建立知识图谱。人进行数据搜索是通过业务术语(知识)来搜索的,而知识之间是有相互联系的,例如水果和苹果是上下位关系(后者是前者的具体体现),搜索是除了要列出直接结果,还需要显示一些关联的知识,这就要建立知识图谱。简单说知识图谱就是概念、属性以及概念之间的关联关系, 这个关系可以手工建立,我们通过对政策、法规、需求、数据库comments、界面等多种来源,采用自然语言处理等方法,可以建立起部分的知识图谱,辅助专家的工作;
(2)梳理技术元数据。整理各个系统内部数据,以及数据之间的关系,形成数据地图。这里的难度是数据之间的关系,例如数据的血缘关系、影响度关系、关联关系、主数据关系等,这里我们采用字段特征的相关性、数据处理逻辑的词法/语法分析等手段,配合强化学习来完成,前面列举的查找外键示例,就是一部分;
(3)建立知识图谱与技术元数据之间的关系,这里就要通过分析界面/服务与代码之间的关联,建立起映射关系。最终效果就是,使用数据搜索,录入希望查找的业务术语,得到相关结果,查看样例数据,如果是需要的数据,提交使用申请,如果不是,继续根据相关知识进行数据探索。提供数据自服务能力,就是在应用的设计师、数据科学家或者业务分析师与数据之间建立起连接,我们的团队就是从连接的思路出发,找到了人工智能的切入点。实际上,数据自服务包含有找、获、用等众多环节,我这里说的是找的环节如何实现,这种找的方法,也不可能100%准确,还需要专家进行调整,以及通过强化学习等手段不断修正,可以看出,应用人工智能也是一个渐进完善的过程。