上一篇在这里: 笔记软件最重要的功能是搜索——关于笔记工具的思考
上篇是这篇的理论基础,有点长篇大论。这篇则是以图为主,用真实而具体的例子,讲清楚「局部多标签」的笔记方法。
所举的例子,来自于我最近在 logseq 中所记的笔记,从中选取了一部分,以「日程笔记流水」的形式展示在这里,以产生一种笔记不断生长的效果。这里所说的生长,主要指附加在笔记上的「标签系统的生长」。
例子的主旨,是关于将心脏支架的价格从 1.3 万元降到 700 元的「心脏支架集中采购政策」。
后文有很多图,这里先放一张看下效果。
心脏支架->心脏支架降价事件;
降价->心脏支架降价事件;
带量采购->心脏支架降价事件;
医疗回扣->医疗回扣案例;
医疗回扣案例->"心脏支架医疗回扣案例,回扣比例 10%";
心脏支架->"心脏支架医疗回扣案例,回扣比例 10%";
行政干预药品价格->长支架消失;
药品短缺->长支架消失;
药品->心脏支架->长支架消失->长支架消失的原因;
药物球囊->对心脏支架的集采导致药物球囊使用增加;
心脏支架->对心脏支架的集采导致药物球囊使用增加;
集采->对心脏支架的集采导致药物球囊使用增加;
支架->心脏支架;
药品->支架;
药品->药品短缺;
支架->长支架->长支架消失;
集采->带量采购;
药品->药品价格->行政干预药品价格->集采;
行政干预->行政干预药品价格;
回扣->医疗回扣;
药品->球囊->药物球囊;
降价->药品降价;
药品价格->药品降价;
好了,标签关联起来了,标签结构已经有了,但有什么用呢?可以基于这种标签结构,优化搜索功能!搜索很重要, 这在上篇( /t/818822 )中已经提到。后面会看到,logseq 等软件提供很多重要功能,实质就是搜索。
给定某个搜索关键词,下面的例子展示了搜索的结果:标签与关键词的关联关系越近,标签颜色越暖;反之亦然。例 如红色标签与关键词关系最近,淡蓝色的最远。
对于搜索结果的这种展示方式,只是一个我想到的示例。应该有很多方法可以比它更加简洁。比如对于标签与被搜索标签的关系远近,可以使用多层同心圆的布局来表达,或者可以使用节点与字体的大小来表达等等。
但重要的是,这种展示方式,不仅可以「表达各标签与被搜索标签的关系远近」,而且可以「利用有层次的标签结构,并在不破坏这个结构的基础上,展示搜索结果」。那么这个「有层次的标签结构」到底代表什么?又为什么要充分利用呢?
观察上述的标签结构,它是有结构层次的。这种层次体现在,上层的标签要比下层的更精炼:要么上层标签是下层标签的抽象,要么上层标签是下层标签的子元素。比如,
所以从集合论角度看的话,上层标签代表的集合要比下层的大。这种上层涵盖下层的标签结构,可以在搜索时提供巨大的便利。
从「笔记生长的过程」一节可以知道,标签的结构是随着记笔记的过程不断生长的,不仅标签的规模越来越大,并且标签的结构也应该在不断完善。这里的「完善」,包含下面几点,
而如果标签结构本身具有结构的话,会反过来让标签结构的改进更容易。因为你可以利用这种结构,更快速找到诸如同义词、近义词、未关联的标签、未抽象的标签、未拆解的标签,等等。反之想象一下,如果所有的标签以平铺或列表的组织形式,你又怎么去改进这些标签呢?
具有结构的标签系统,为自我改进提供很大便利。那么改进所需的时间和精力成本,就可以分散在记笔记的过程中:当添加了新的标签,或建立了新的关联后,或搜索某个标签后,发现了标签结构中的某些地方需要改进,顺手就改掉了。不需要专门抽时间特意为之。而已经改善过的那些标签,大概率是可以稳定地沉淀下来,而只需对新进来的标签作调整。
上述的多层次的标签结构,以及建立在其上的搜索功能,在目前的双向链接笔记软件中,实现的程度最大,但也并不是完全实现了(毕竟只是我的一个构思)。这里以 logseq 软件为例,看看有哪些部分已经实现,还有哪些部分未支持。
每个块都可以打多个标签。这些标签可以关联起来。参考上面「笔记的生长过程」中,标签是可以打在块上的。
不过在 logseq 中,打在同一块上的多个标签,并不是通过块本身关联起来的,二是通过笔记的标题关联起来的。这样,就无法实现本文中所述的标签结构。
如下图,以列表形式显示匹配关键字的标签。优先显示匹配的标签结果,然后才是匹配的 block 和全文。
不过,这种搜索是以列表的形式,并且精确匹配关键字,也没有利用标签本身的结构。
(图略)。图谱中只显示包含该关键词的节点。
总的来说,logseq 没有体现出标签的结构。
比如上图,在「长支架消失」页面中,打上「心脏支架」的标签,可以把 2 者关联起来。
例如在「心脏支架」这个页面下,可以用来筛选的反向链接(标签)有:
可以筛选「与某个 tag 关联的其他 tag 」,在我看来,这相当于「多标签搜索」功能。
多级标签,就像地图的多级定位一样,可以很灵活地调整搜索范围,并且建立一个搜索-反馈-搜索的循环过程: 搜索标签->初步的标签结果->结合初步结果+标签结构->再次筛选增删标签->更近一步的搜索结果->再次筛选标签->...->最终的搜索结果。
这里的标签,并不是普通意义上的单个词或者词组,它甚至可以是一句话,例如本篇中的「对心脏支架的集采导致药物球囊使用增加」,它是对一段话的抽象概括。定位到这句话,就定位到了这段话。
形容多级标签结构,最合适的词是「提纲挈领」、「纲举目张」、「以点带线、以线带面」。
标签结构可以支持它自己的进化
观察上面「笔记生长过程」中所给出的例子,如下图,
可以看到,「心脏支架」、「降价」、「带量采购」这 3 个标签,应该可以通过「心脏支架降价事件」这个段落,关联在一起。
以 logseq 为例,笔记的「标题」被赋予了太高的重要性。在我看来笔记标题不应该特殊化。
比如 logseq 中,所有块中的标签,都会与笔记的标题建立关联。这明显是不合适的。某个块的标签不一定与笔记标题有关联,是否关联要看关系强弱,强行关联只会使原本很弱的联系变得很强,导致标签结构失真。
标题就一定得成为标签吗?如果是的话,它在标签结构中,处于哪一层呢?
以 logseq 为例,关系图谱(也即本篇所指的标签结构),没有被很好地发掘利用。
这篇文章,介绍了使用局部多标签形成分层的标签结构,怎样利用这种标签结构。但关于标签还有很多问题:
这些留到下篇再谈吧。我自己也还有很多疑问。
欢迎大家讨论质疑。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.