开发者,为什么需要构建知识图谱

作者简介:安晓辉,10多年开发经验,曾任软件开发工程师、项目经理、研发经理、技术总监等岗位,著有《Qt Quick核心编程》、《Qt on Android核心编程》、《你好哇,程序员》等书籍.

责编:CSDN知识图谱小助手

这个时代,信息极大丰富,人每时每刻都被各种各样的知识、信息轰炸着。如何有效的选择对自己有价值的知识,如何构建一个独属于自己的知识体系并让它为自己创造价值,变得越来越重要。只有知识经过了你的选择和应用,内化为自己的隐性经验,纳入到你的知识体系中,才能真正地为你创造财富。

怎样才能建立自己的知识体系呢?

  • 选择方向,设定目标

  • 学习、实践、输出、内化

  • 同主题扩散

  • 运用工具整理记录知识图谱

  • 迭代与更新知识图谱

有目标,才有知识体系

如果只能选择一个方向,你希望在什么方向上做到出类拔萃?
对这个问题的思考,会帮助你找到自己的方向,进而有效地去学习知识。

构建个人知识体系的第一步是定位

知识体系和我们的个人目标与关注点有关,你的取舍决定了你的关注点。每个人都需要根据自己的目标和关注点来建立自己的知识体系。

简单的说,比如你想成为像Linux内核创建者Linus Torvalds那样的人,在Linux操作系统方面做出卓越的贡献,那你就能迅速定位你的知识系统的大方向——Linux操作系统开发
比如你想成为像秋叶大叔(秋叶PPT)那样的人……
比如你想成为像马云那样的企业家……

这个探索过程可能很慢,需要几个月或者几年,也可能只要一个瞬间。无论长短,最重要的是,你必须有想象力,愿意成为自己这艘即将远航的旗舰的舵手。

推荐几本书有助于你的自我探索

发现你的天赋
持续的幸福
你的生命有什么可能
精进:如何成为一个很厉害的人

知识的内化

一个人的能力分三个层次:

  • 资源:比如知识、技能、经验、精力、人脉等。

  • 应用流程,即使用资源解决问题的能力:做事的方法、流程、策略等,整合应用资源创造价值的能力。

  • 价值取向,即你觉得什么事情重要,什么事情不重要。

知识是一种资源,是固化的,必须经过你的应用流程,才能内化为自己的经验,帮助你解决工作与生活中的问题,为你创造价值。

只有知识,没有内化,那结果不堪一击。

像神仙姐姐王语嫣,牢记每一种武林秘籍,但是一招也打不出来,与人对战只有被秒杀的份儿。
像《围城》里的方鸿渐,也学习了很多乱七八糟的知识,但赵辛楣评价他说:“你是个好人,但一无是处”,这也是因为他涉猎很多都不能落地应用创造价值。

我见过一些软件开发者,说起编程语言里的某个知识点,哪哪儿都清楚,但让他写程序,就是一团麻乱,根本想不起来要用什么,要到处问,List怎么用,StringBuilder怎么用,ListView该怎么用,问半天也还是不会用……

所以我们一定要把显性的知识内化为自己的隐性知识,变成自己的能力。

学习现状

很多知识都经由前人的总结显性化了,固化在书本、网络、视频等载体上,我们就从这些载体上开始学习。这是第一步,它让我们知道有这样一个知识、这个知识是什么、这个知识可以用来解决什么问题。

不要停,你到了这一步千万不要停,要接着去琢磨:

  • 这个知识对我有什么用?

  • 我过往的工作与生活中,哪些经历、经验可以和这个知识关联起来?

  • 在将来,这个知识能怎样帮助我改善自己的工作?

很多人看书、看视频、听演讲,根本不琢磨,只是被动接收,只是“浏览”到有这么个东西,“哦”一声就过去了。所以,他们很难有进一步的收获。

很多人过度依赖搜索引擎,比如ListView不会用,Google一下,拷贝粘贴一段代码来解决自己的问题。但是解决之后往往就放下了,不再琢磨这段代码为什么能解决问题、我为什么没想到、下次我怎样才能自己来解决问题,这样做的后果就是,遇到问题永远在问搜索引擎,永远也培养不出独立思考并解决问题的能力。

如何内化

如果你能够把自己应用知识解决问题的过程,收获的经验,再转化出来,分享给别人,帮助别人解决问题,那你对知识的掌握将更进一步。

这也是CSDN上很多博主的做法:用输出倒逼输入。也是我的做法,我的公众号“程序视界”(id:programmer_sight)每周发布三篇原创文章,就是一种倒逼机制,我要逼着自己通过输出的方式来内化知识。现在形成习惯,基本上没什么压力了。

输出是内化知识的最有效的途径当你准备输出时,会考虑很多很多,比你自己使用知识时考虑的要多很多,比如怎样讲明白、比如怎样让结构清晰、比如怎样设计示例辅助说明、比如这个知识点与哪些关联、比如哪些关联的知识点必须讲清楚……所有这些,会让你进一步思考知识,会让你系统化你的知识,最终会加深你对知识的理解与应用。


同主题扩散

很少有知识是孤立的,也很少有哪个方向只需要一种知识就可以真正解决问题。

比如你做桌面客户端产品开发,选择C++语言作为主要开发语言,但C++语言本身绝对完成不了这个任务,你必须在同一个主题内寻找其他的支撑,比如Qt,比如MFC,比如wxWidgets。

这正是我们构建知识体系必须要经历的过程:在同一主题不断挖掘相关知识,完善你的知识图谱。

比如我曾画过一张学习C++的图谱

从图上就可以看出来,C++是知识的中心,围绕着它有很多相关联的知识。那么,怎么发现同一主题内还有哪些知识需要学习呢?比如学习C++,多问问下面的问题会有帮助:

  • 为了解决A问题,除了这个知识,还需要哪些知识、工具?

  • 这个知识是由什么知识发展来的,什么新的发展?

  • 关于这个知识,有哪些书和资料?

  • 在这个领域,有哪些大咖,他们在学什么?

  • 关于这个知识,还有哪些是我不知道的? 查看C++知识库

如果你能不断思考这些问题,就能不断找到需要进一步学习的知识,就能不断扩大自己的学习区,最终就能不断地丰富自己的知识体系。

好啦,到现在为止,我们介绍了构建个人知识体系的三个基本的步骤:确立方向,内化和同主题扩散。

接下来我们介绍让我们的知识库持续发展永葆青春的两个步骤:记录与迭代。


使用工具固化你的知识库

大脑容量有限,必须借助工具将我们的知识系统记录下来。有非常多的工具可以使用,比如:

在上面这些工具中,其实图书更多时候是你系统化自己知识的一种产出物,比如我在CSDN博客发布的文章多了,就结集出版了几本书:《Qt Quick核心编程》、《你好哇,程序员》。电子书也是类似的。

在选择工具系统时,遵循下面的原则:

  • 易用,多终端同步

  • 便于检索

  • 能呈现知识系统的结构

每个人都可能使用不同的工具来固化自己的知识库,不必追求与别人一致,我目前使用有道云笔记、CSDN博客CSDN知识库、脑图、图书等工具来记录知识。

脑图工具我用的是XMind的社区版,这是我学习Qt时绘制的:

脑图的好处是你可以很方便的记录、分支、补充,也能很好体现知识的关联。但它不方便的地方在于,你往往只能记录一些关键词,大量的知识或者系统化的文章不太方便体现。

那后者,可以使用CSDN博客与CSDN知识库的组合来完成。

我就在CSDN博客上发表文章,分享我对某方面知识的见解,然后使用CSDN知识库把这些文章链接起来,整合成一个系统。这种方式的好处显而易见:方便,多终端同步,系统化,利于更新迭代。

个人图谱样例



迭代与更新

当我们将自己某方面知识构建成库、系统化之后,记录在某个载体上,接下来面临的就是知识的更新。

每一种知识都可能会不断发展、更新,都可能随着时代的发展而变得过时,所以我们要不断更新自己的知识体系。

比如你原来在C++方便积累了一些知识,使用的是C++98的标准,但现在C++11在普及,C++17马上出来,你就需要更新。

如果我们不能定期更新自己的知识库,那我们就会慢慢落后于时代,越来越没有价值,也会失去很多机会。

举个简单的例子,学Java的朋友们,当2007年Google发布Android系统时,有多少人抓住机会,把Android开发框架纳入到了自己的知识体系中?如果你那时开始做Android,就赶上了移动开发的大潮,现在不是大神也是大咖。

查看Java知识体系>>> Java SE图谱Java EE图谱
查看Android知识体系>>>


四象共赢

前面我们讲了构建某个领域知识库的过程,那其实呢,一个人可能会在很多领域建立自己的知识体系,因为我们的生活本来就是多元中心的。

一个平衡的人生包含四个象限:事业、家庭、社区、身心与精神。

我们应当在每个象限中都确立一些关键目标,为这些关键目标配置资源(时间、精力、金钱、人脉等),在每个象限中建立自己的知识图谱。

比如你是软件开发工程师,在事业领域,你构建软件开发相关的知识图谱,你还有家庭,可能会围绕夫妻、两性、婚姻、育儿、情感管理、亲密关系等构建出面向家庭的知识体系。

再进一步,不同象限的知识,其实是可以交叉融合的。

我们以软件开发中的Scrum为例,来说明不同领域的知识体系如何相互融合。

使用Scrum模型来辅助产品开发时,先会抽象出一个Product Backlog(PB,产品需求列表),然后会从PB中挑选一部分需求,纳入到一个Sprint(冲刺,一般是为期2~4周的迭代)中来实现,每个Sprint有启动会议(主要选择要实现的需求或Story)、每日站会、任务看板、燃尽图、演示会议、回顾会议等方法来保证Sprint的顺利进行。

这里面的流程简化下来就是:确定大的目标–>拆分出阶段性小目标–>可视化进度,用站会、燃尽图等反馈促进行动–>回顾总结。

某一个具体的方法,也可以运用到别的领域。以Scrum的站会为例,就可用于每一天的生活,无论是家庭还是工作。以我为例,每天早上我都会想今天要做什么事情,每天晚上会想今天完成了什么、什么没完成、遇见了什么问题、明天做什么,这种习惯就来自Scrum的站会,能极大提高你每一天的生活质量。

当我们经常思考一个领域的知识怎样才能应用到另一个领域时,我们就开始了融合、创新的过程,进入了更高境界。

如果你不断地找到了交叉地带,融合了各个领域的知识,那最终,你就可能将你所有的知识体系打通,统合出独属于你自己的和谐完整的知识图谱,帮助你实现平衡和谐。

从知识管理的角度看,单纯地讲学习已经不够。学习只是个人知识处理的一个环节,你还必须学会保存,共享和创新知识。构建知识体系并不断更新,这是保持核心竞争优势的良方——张斌教授,中国人民大学信息资源管理学院副院长

CSDN知识库提供了50+知识系统图谱和10000+资源内容
开发者可获得官网图谱,可自行生成图谱和知识库,提升技术知识管理的能力

(0)

相关推荐

  • 60套干货,Python常用技术学习知识图谱~

    数据分析技术是Python应用较多的一个领域,掌握好相关的Python常用数据分析技术,你将可以有机会收获Python相关语法知识数据分析.挖掘的相关知识以及数据处理能力和运用数据挖掘相关算法解决问题 ...

  • UC头条:解析 | 如何构建知识图谱

    编辑导语:知识图谱可以说是一个数据库,在如今大数据时代,知识图谱已经是企业中能够起到很大作用的一个环节,可以提高工作效率等:本文作者分享了关于构建知识图谱以及问题的解答,我们一起来看一下. 点击加载图 ...

  • 无需人工!无需训练!构建知识图谱 BERT一下就行了!

    文:Sherry 今天给大家带来的是一篇号称可以自动建立知识图谱的文章<Language Models are Open Knowledge Graphs>,文中提出了一个叫Match a ...

  • 需要知识的后深度学习时代,如何高效自动构建知识图谱?

    机器之心原创 作者:Synced Lab 知识图谱可以做什么?如何自动.高效地构建知识图谱?前沿的知识图谱自动构建技术有哪些?这篇文章将逐一解答这些问题. 日常生活中,我们经常遇到以下两种信息展现方式 ...

  • 构建体系化医学知识图谱 提高医学人文素养

    深圳图书馆健康分馆位于深圳市疾控中心,由预防医学历史展厅和标本展厅组成,将强烈艺术感染力和趣味互动性融为一体,拉近公众与医学之间的距离.与此同时,作为全国公共卫生领域首家叙事医学机构所在地,该场馆将定 ...

  • 北京大学在构建材料知识图谱研究领域取得重要进展

    随着数据挖掘技术的日益成熟,将其运用于材料科学研究已逐渐成为可能.这导致材料信息学这一新兴领域的出现.经过长时间的发展,大量的材料学术文献积累了丰富的科学成果,以文本形式散布在文献中的科学知识一般仍由 ...

  • 智慧城市知识图谱模型与本体构建方法

    智慧城市知识图谱模型与本体构建方法 臧根林1,2, 王亚强1,2, 吴庆蓉1,2, 占春丽1,2, 李熠3 1 拓尔思知识图谱研究院 2 广州拓尔思大数据有限公司 3 湘潭大学 摘要:针对目前智慧城市 ...

  • 美团商品知识图谱的构建及应用

    编辑整理:陈维美 出品平台:DataFunTalk 导读:在互联网新零售的大背景下,商品知识图谱作为新零售行业数字化的基石,提供了对于商品相关内容的立体化.智能化.常识化的理解,对上层业务的落地起到了 ...

  • 沃丰科技GaussMind知识图谱平台构建

    沃丰科技GaussMind知识图谱平台,通过ETL模块连接各个数据源,并进入统一的处理流程,如下图1所示: 多源数据连接:GaussMind知识图谱内置多种格式的数据接入能力.知识图谱数据的三要素,包 ...

  • 用知识图谱构建法律人的超级大脑

    为什么我要做法律行业的科技产品?因为我发现智能化的时代来了,法律行业面临着变革,而我不愿意被变革,我希望做一个变革者.在之前不太了解人工智能时,我只是听吴晓波频道.国外一些论文说人工智能首先就要颠覆律 ...