6

如何交互可视化 Roam Research 局部笔记网络?

 3 years ago
source link: https://zhuanlan.zhihu.com/p/166177985
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

如何交互可视化 Roam Research 局部笔记网络?

南开大学 情报学博士


v2-deda27c9b36464e5e507f3b8ef75a51d_b.jpg

补齐 Roam Research 目前欠缺的「中观」笔记网络可视化功能,助你快速整合关联紧密资料。

前几天,我发了个朋友圈,展示了一下我的 Roam Research Graph 的样子。

看不清吧?给你放大一些。

没错,放大也看不清

朋友看完,摇头叹息,出主意说:

把库删了吧,重新建。

我听了差点儿晕过去。因为他可是笔记工具的专家啊。

朋友语重心长告诉我说, Roam Research 里面的 Page,不能轻易建立,必须是认真转写成了「长期笔记」(permanent note)再放进去,而且建立笔记之间的链接,也同样不可草率。这样,生成的图才不凌乱,能够看清楚思维节点之间的关联。一股脑把笔记内容灌进去,就只能追悔莫及了。

言毕,给我展示了他的 Roam Research Graph Overview图,确实脉络清晰,精益求精。

鉴于隐私保护因素,我这里就不展示他的图了。

这个事儿,引发了我的思考。

如果 Roam Research 是这样用的,那我还不如不用

我用 Roam Research ,是因为它可以帮助我降低成本。包括记录成本、联想成本、输出成本等。如果说以前我面临的问题,是「不知道该记什么」和「不知道该怎么记」;现在却变成了「想记又不敢记录」,每放入一条笔记,都要战战兢兢,那这个活儿我干不了。

可是想想,这种记笔记的「原则」真的对吗?

Roam Research 的显示面积再大,节点超过一定的数量,链接丰富的话,就必然会面临看不清的问题。尼古拉斯卢曼的长期笔记有好几万条,如果都放进去,恐怕也看不清了。

这种看不清,因为链接过多的关系,即便放大,也是很难有效果的。要么是可视区域里面显示不了有关联的节点;要么是连线显示全了,节点却小到看不清标题了。

所以,试图减少输入笔记的数量,长期来看是很难奏效的。

况且, Roam Research 真的只是用来记录「长期笔记」的吗?

当然不是。

否则,移动设备上 Roam Research 的 Capture (快速摘录)功能是干什么用的?难道不是为了不断采集和迭代吗?这也意味着, Roam Research 并不排斥初步笔记。

一旦这些初步笔记作为页面被放进了 Roam Research ,它们同样也会成为笔记网络可视化图中的一个个节点。

所以你看,加入笔记时候那么慎重,真的是使用 Roam Research 的正确方法吗?

在《Roam Research 到底好在哪儿?》一文中,我跟你提过。 Roam Research 的一大优点,就是可以不必设置「正确的笔记方法」。只有降低门槛,才会有更多用户可以快速上手,并且从 Roam Research 的应用中受益。

回到我遭遇到的这个问题,笔记图看不清是什么原因呢?

其实, Roam Research 除了可以给我们兢兢业业绘制出「宏观」的连接图,还可以轻松制作每一个节点的「微观」连接图(即展示与之直接相连的那些节点)。

但这些够了吗?

因为在「宏观」和「微观」中间,还有一个「中观」。而 Roam Research 目前欠缺的,就是这个「中观笔记网络链接图」的绘制功能。

这是个什么东西呢?

宏观的连接图展现的是全局,是你全部的思考,它们可能包括你生活的各种方面,工作的、娱乐的、学习的、人际交往的……有人坚持认为,应该为其中的每一个方面单独设置一个 Graph,这样才能井水不犯河水,并行不悖。

但是我不那么看。因为人为把它们割裂,就可能放弃很多宝贵的「信息偶遇」机会。要想构造出足够复杂的思维系统,游刃有余地应对生活中的各种挑战,你就需要数量充足的知识节点作为支撑,并且在其上建立有效链接。

但是,在一个网络里,必然有些内容,是更加紧密连接的。如果你做科研或者写文章,一定会有一些紧密关联的素材,是构成你最终成果的有效组成部分。这些素材,通过链接的方式联系在一起。但是如果这些链接混入了宏观连接图的汪洋大海中,你可能就找不到它们了。

而只体现直接链接关系的微观连接图,在这个事儿上没法给你提供有效的帮助。因为你可以采用游走的方式尝试遍历。可一旦随着链接走下去,就很可能就会走到岔路上,反而距离你要找寻的内容越来越远。

在生活中,你用过导航吧?你如果想到一个 10 公里左右的目的地,导航会给你展示什么样的信息呢?世界地图?还是周围 5 米的区域?

都不是,应该先是一个从当前位置到目的地的概况图,之后给你展示清楚道路、红绿灯之类的动态视域。这就是合适的中观图。

你卡片足够多时, Roam Research 却偏偏还只给你展示全局链接图,这便本文开头我遇到的困境。

其实这个功能,并不难实现。在网络科学里面,这只是一个常见的「社区发现」(Community Detection)问题。

解决的算法,可以有很多。

我今天尝试了一下,用了最为应用广泛的 Louvain 方式,就可以立即把某个笔记节点所在的「社区」单独拿出来进行绘制。

一开始,我使用 Python 自带的可视化工具绘制这个「中观」社区网络。但很快发现,效果并不好。因为你虽然可以看清节点名称,还能拖拽,但是点击是没有用的,它只是一张图而已。

v2-deda27c9b36464e5e507f3b8ef75a51d_b.jpg

旋即,我想起了,有现成的工具可用啊!我马上把这个社区网络对应节点的 Markdown 文件,全都弄进了 Obsidian ,问题立即迎刃而解。

Obsidian 可以把我们选择出来的社区网络,当成一个全局网络来进行绘制。

这个网络不但可以交互显示,还支持点击直达具体的节点。而且因为一来本地操作,二来节点数量少了许多,图形处理的速度非常快捷。

而且,我们有了一个非常棒的临时工作空间。你可以在这里整合相关的卡片,进行项目级输出。然后把输出的结果反灌回 Roam Research ,作为当前上下文情境下的长期笔记。

我把上述功能对应的代码,开源托管在了 Github 。你可以在我的公众号「玉树芝兰」后台输入"louvain"获得代码。如果需要运行的话,你需要修改一下其中的 Roam Research 导出的 JSON,Markdown备份路径,Obsidian文件夹地址,以及你的种子笔记页面名称(qery_term)。

如果你熟悉前端,并且对这个功能比较感兴趣,欢迎进一步做个二次开发,让更多用户可以拿来即用。之前有不少小伙伴儿这么做了。例如最近,吕立青就把我之前做的 Roam Research 图片增量备份工具,集成到了 Roam to git 脚本里面,使得你可以完全用 Github 自动备份文字和图片内容,大伙儿用起来更加方便了。

立青修改的 workflow 地址,可以在我公众号后台回复"roampicgit"获取。

喜欢别忘了点赞,并及时写下你的感受与评论

也欢迎你转发给亲朋好友,让他们也加入咱们的讨论中来。

别忘了关注我的专栏“玉树芝兰”,以免错过更多的更新推送。

延伸阅读

你可能也会对以下话题感兴趣。点击链接就可以查看。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK