什么是知识图谱?有哪些模型?指标?规则?

什么是知识图谱?有哪些模型?指标?规则?,第1张

图谱”的时代

知识图谱自从2012年开始发酵,愈演愈烈,行业顶端的佼佼者纷纷发布企业知识图谱应用,知识图谱能为企业实现数据价值。只能说,图技术快速发展,业务需求不论变化与否,知识图谱是不可阻挡的趋势。2020年4月20日,国家发改委明确人工智能 “新基建” 的内涵,体现“重创新、补短板”的特征:助力传统基础设施智能化改造,提高传统基础设计的运行效率。

图1 中国知识图谱效益增长规模——艾瑞咨询

当前的人工智能其实可以简单划分为感知智能(主要集中在对于图片、视频以及语音的能力的探究)和认知智能( 涉及知识推理、因果分析等)。

人工智能是新基建的重点领域,而知识图谱是认知智能的底层支撑。 知识图谱具有解释数据、推理和规划一系列人类的思考认知能力,基于大规模,关联度高的背景知识。

                                                                              ————《面向人工智能“新基建”的知识图谱行业白皮书》 

我们每天都在用知识图谱

知识图谱应用于各个领域,例如:电商(产品推荐)、医疗(智能诊断)、金融(风控)、证券(投研)。知名企业包括:Google Knowledge Graph、美团大脑、阿里巴巴·藏经阁计划、腾讯云·知识图谱 TKG等。

知识图谱在人工智能多个领域发挥重要作用:语义搜索、智能问答、辅助语言理解、辅助大数据分析、增强机器学习的可解释性、结合图卷积辅助图像分类等。同时,这也意味着技术难度大幅度增加。

知识图谱的价值

您可能会以为知识图就是捕获和管理知识的最终目的。其实,知识图擅长以自上而下的 关系连接方式显式捕获知识 。通过关系节点联系上下游关系,清楚的梳理关系网络。如下图:

图2 普适智能知识中台

高效直观地刻画目标主体(如企业、事件等)之间地关联网络,从而全维度地对企业进行画像,立体复现主体的真实情况和错综复杂的关系。其强大的互联组织能力和可视化决策推理支持,为企业资产提供底层基础。普适智能一站式“图智能”应用, 拥有打开“百窍”的能力, 具体有以下几方面的思考:

深度链接分析 有机可寻

拿我们最熟悉的金融领域举例,知识图谱常见的实体包括公司、产品、人员、相关事件等,常见的关系包括股权关系、任职关系、供应商关系、上下游关系、竞争关系等等。

这样做的好处就是,通过知识图谱的整合,让原本复杂的数据形成直观易懂的可视化图谱, 在全球经济一体化的趋势下,分析师以及投资机构很可能先人一步观察到竞争格局的改变,为寻找 新客户、新投资机会提供线索。

图3 企业上下游关系网络

多维度属性  顺藤摸瓜

知识图谱的另一个价值是“可以简单地处理多维度数据”。 目前在普适智能帮客户分析超百亿的实体(或节点)和关系(或边缘)。

图4 某股份制商业银行基金产品关系网络截图

“对于实益拥有权,我们经常会看到拥有六,七层或更多层的拥有权阶层,尤其是在像中国这样拥有大型企业的地方。” “人们必须意识到一个拥有可以处理并查询至少六到七层(如果没有更多层)的拿手工具是解决问题的真正核心。”

每个公司、个人、新闻事件都可以是一个“点”,人工智能引擎可将这些点进行聚集,对其中的相关性、相似度以及聚集程度进行多维度分析, 还原真实场景 ,才能 “顺藤摸瓜”。

图5 反欺诈图应用

例如知识图谱在传统的风险管理流程中,多通过对目标主体简单维度的特征进行严格审核,无法判断真实的关联风险。

挑战与机会

普适智能深耕于金融领域,其细分业务场景包含但不限于:反欺诈、反洗钱、盗刷排查、失联催收、外汇异常监控、信用审核等,举个具体项目中的例子:因图构建本身流程较长,再加上每个场景的图构建相对的独立,给数据反复开发,数据不连通创造了必要条件, 绕不过去的是大量企业资产成本浪费问题。

图6 传统关系网络应用的构建模式

在工程落地方面,还存在图谱建设周期长,应用构建专业程度高,跨行业迁移成本高等难题。由此带来的挑战会体现在—— 产品是否可以开箱即用 。

普适智能中台化思路

为了解决以上问题,普适智能自主研发将知识图谱构建与应用平台升级为一站式的“图智能”中台。

图7 传统关系网络应用的构建模式

一套中台和工厂模式平台的孕育而生,确保各式的场景对图不同形态的需求和保证联合查询需求。“一窍通,百窍通”,一站式“图智能”中台就是“那一窍”,以下:

打通业务场景独立图谱构建 ,减少反复开发周期成本,为传统应用形态赋能,提升服务质量和效率,简单的图应用可以在 1~2天 内实现,复杂的图应用可以在传统做法上缩短到 三分之一 ,加速企业资产的累积;

配合着打通部门数据 ,解决跨部门合作沟通周期长、配合难的问题;

图谱交互友好程度高,可视化决策辅助业务场景,更易发现 隐藏的信息 ;

赋能专家行业专家,将领域专家的行业经验的程序化,留存在平台, 企业知识资产沉淀。

实时可扩充 ,d性十足

知识图谱中台的价值还在于灵活可扩充,建立实时敏捷、灵活可扩展、具有d性的数据基础。 金融知识图谱直接反馈金融行业的刚性需求,由于实际中,企业数据和业务变化灵活,数据源、数据结构、数据内容随时会发生变动,对业务的理解以及对数据的解读也随之发生变化。

图8 多维数据扩展查询

如何有效的使用这些数据,需要员工具备专业的金融知识,深刻理解某个数据变动可能引发的关联、传导,知识图谱将是最得心应手的工具。

图技术是 知识图谱应用的最强d药

企业需要能够快速支持业务中迭代式的新模式。普适智能的“图智能”中台具有计算引擎: 图计算模型、图匹配业务数据模型等, 助力企业完成这一目标。

图规则计算: (例如:与黑名单客户共用一个电话的客户是可疑欺诈客户)

图指标计算: (例如:客户两度关系内黑名单客户的比例)

图机器学习 (以图作为先验知识让特征工程更有效)

社群识别 :标签预测(黑名单预测/潜在VIP客户预测)

图9 社区分析

最短路径 :优化加工路径,节约数据加工成本。

图10 路径查询

“工欲善其事,必先利其器” 。普适智能一站式“图智能”应用,为描绘物理世界生产生活行为提供 有效的方法和工具 。Gartner:“图时代已经到来”,让我们一起“图”起来!

我们根据职场发展通路和能力水平,把程序员分成如下四个等级:

普通开发者

熟练开发者、高级开发工程师、技术组长

技术专家、架构师、一线经理

科学家、首席(资深)架构师、部门研发总监

今天这篇文章,我们来讨论普通开发者如何进阶为熟练开发者。

我们会先定义普通开发者应该达到的能力水平,然后再介绍他应该在哪方面提升才可能进到下一个阶段。

普通开发者的能力水平

先看我经常提到的一张图——技术成长阶段图:

普通开发者处在第一个成长阶段:专项能力提升。

专项能力提升阶段是初级阶段,你为了搞定事情,必须先具备某些基础能力,比如某种编程语言(Java / C++/ Python / JavaScript 等)、某个IDE (Visual Studio / Qt Creator / Android Studio / Eclipse / WebStorm 等)、某种技术框架(Netty / Qt / SSH / MyBatis / AngularJS 等)。

这个阶段最重要的就是提升专项能力,让自己能够迅速搞定一些别人安排给你的事情,体现出你的价值。

在这个阶段,最起码达到下列水准:

能理解并完成别人分解好的叶子任务

能自己完成一个功能模块的开发

以前端开发者为例,在这个阶段,你必须能将从 UI 过来的某个页面原型转换为可运行、可 *** 作的真实 Web 页面。比如登录页面、比如商品详情展示页面,要能做到实现可视化页面和业务逻辑跳转。

以 Android App 开发者为例,在这个阶段,你必须能搞定类似登录、支付等这类功能。以 App 的登录功能为例,你要能使用特定的布局和组件实现自适应的登录界面,还要能学习使用类似微信、微博等第三方账户的 SDK ,实现第三方账户登录。

你可能很难自己设计一套完整的登录功能(包含口令加密、单点登录、Cookie 使用、验证码、密码找回、第三方登录、多终端同步、角色鉴权、用户数据存储等),但是当熟练开发者或者高级开发者完成了设计,把某个小功能分配给你的时候,你要能够理解这个设计,并将这个设计实现出来,和整个登录系统整合在一起,能够正常运转。

当你能够搞定这些事情的时候,你的专项技术水平起码是这样的:

能熟练搭建需要的开发和测试环境

熟悉所用编程语言的基础语法,有这门语言的知识地图,熟悉该语言本身的各种基础功能,了解这门语言的高级功能

能调用已有技术框架的 API 来实现特定功能

能在实现同一功能的多组 API 之间选择合适的那一组

能熟练使用开发环境和各种辅助工具进行调试

可以解决易复现的、逻辑简单的软件 Bug

能自主学习某个新框架的基础 API ,参考 DEMO 完成某个功能的基本实现

我的总结可能不完善或存在 Bug ,请大家在留言区指正、补充。

我想到一个身边的例子,刚好和我们讨论的这个话题契合。

有一次和朋友 G 聊天,他说他部门有位做前端开发的程序员 X ,一直在用 jQuery 实现各种页面,代码冗余,结构凌乱。Vue.js 出来后,G 想在新版本中使用,就安排 X 学习 Vue.js ,让他参考公司产品某两个页面的功能和布局,简化设计,做两个带异步数据请求功能的页面出来看看效果,结果一个星期过后,X 告诉 G ,Vue.js 太复杂,开发文档看不明白,代码也搞不懂,进行不下去……

如果你像 X 这样的状态,就说明你还停留在普通开发者阶段,只能在他人指导和安排下编码实现特定的细分功能。

要想进阶,就要先在专项技术能力上达到我们前面所列清单描述的水平(那是基础要求),然后再对照熟练开发者的能力要求,有针对性的去学习提高,稳步进入下个阶段。

普通和熟练的关键区别

对照前面的技术成长阶段图,熟练开发者处在中间阶段,拥有自己的技能体系。

为了搞明白拥有自己的技能体系是什么概念,我们先来看两组概念:

知识、知识体系

技能、技能体系

简单说,知识是能引发改变的信息,技能是运用知识解决问题的一系列思维和动作的组合。但这样讲不大容易明白,我们举个软件开发领域的例子。 C++中的虚函数是一个知识点,用虚函数这个特性定义模块接口,实现模块的动态加载,就是技能。

接下来为了行文方便,我不再区分知识和技能,直接把知识等同于技能,甚至用知识一词代替技能。请在阅读时根据上下文加以区分。

知识和知识体系的关系,技能和技能体系的关系,就像树木和森林的关系,就像瑞士军刀上小刀、小剪子、小螺丝刀和瑞士军刀的关系。

这样打个比方,应该可以体会到“体系”是什么了。

所谓知识体系,就是若干相互联系的、可以用来解决特定场景问题的知识的组合。

Ok,现在回头来看普通开发者和熟练开发者的区别,就简单多了。

普通开发者因为不断完成任务,不断做项目,接触、使用了各种各样的“知识点”,于是拥有了各种离散的知识,但这个知识和那个知识很少关联,他拥有的知识,是散兵游勇,如下图所示:

当你的知识点各不关联时,你在遇到问题时,就很难进行系统思考,就很难获得解决办法。

而熟练开发者,则(被动或主动)经历了知识点的梳理、整合过程,把零散的知识点围绕着某个应用场景联系起来,形成了知识体系。就像下图:

当你有了知识体系之后,遇到和你知识体系对应的场景相关的问题,就可以快速找到相关的知识,系统的分析问题,最终解决问题。

你看,是否拥有知识体系,导致了熟练开发者和普通开发者的一个非常重要的区别:熟练开发者能够独立负责一个模块或子系统的设计和开发工作,拥有分析问题、解决问题的能力和任务分解的能力,可以分配任务给普通开发者。

进阶修炼方向

好啦,从技术水平的角度讲,普通开发者和熟练开发者的区别就在于:普通开发者的知识不成体系,而熟练开发者构建了与某个应用场景相关的知识体系。

这样看来,普通开发者要想进阶,方向就非常明确了:构建自己的知识体系。

那么,怎么构建知识体系呢?先参考我的另一篇文章:构建知识图谱,让自己更值钱。如果后续有机会,我会重构一篇新的文章,再聊聊构建知识体系这个话题。

你把自己定位为菜鸟,那么就会告诉自己,我是一个菜鸟,我要多学些东西。但是你不要忘了,你的职业不是学生,而是程序员,你要做的是工作不是学习,学习一个技能和为工作而学习技能的心态和所学的东西是不一样的,结果自然也不一样。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7852829.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存