[分享发现] 笔记软件最重要的功能是搜索——关于笔记工具的思考(上篇)

帖子稍微有点长,但都是自己的系统思考和整理,可以看大纲了解结构,重点已用黑体标出。

这篇以笔记的搜索功能作为切入点,思考笔记软件应该怎么做,怎么用。希望对那些困惑于笔记方法,或者想用好「双向链接」软件的人有帮助。

为什么重要的是搜索,而不是整理

我觉得大家不得不承认,记笔记最困难的地方,在于将散乱无序的一“堆”笔记,整理为结构化且有序的笔记。

有序化不难理解,就是把多个笔记的片段,打乱后再重组和加工的过程。比如多个关于内存管理的笔记片段,抽取其中所需部分,然后排序、抽象、按照逻辑组织起来。写文章的过程最能体现这点。

而上述漫漫长路中的第一步,是要把「所需的相关材料罗列在一块儿」,这就必须要用到快速而准确的搜索功能

同样,作为一个知识库,要能在其中随时搜索,找到所需的某个或某类素材,快速而准确的搜索功能同样是必须的。寻找某类素材,可能是为了上面所说的「有序化」,也可能是为了思考,将知识抽象升华为类似智慧的东西。这应该算是除了「随取随用」之外,笔记软件的「高阶功能」了。如果连素材都没有,其他就更别提了,而且不仅要能搜索到,还需要搜索得快速、准确。

总结下来,我认为笔记软件的功能大概可以描述为:

  1. 快速搜索到所需信息,充当知识库;
  2. 缓存一些未经整理的事实和观点,为后续的思考和整理,提供必要的素材,并保存整理好的知识结构;

这些都需要快速而准确的搜索功能

搜索为什么很难

一个例子

“今天见了好友老张,在大排档吃了顿烤串,很高兴”

搜索功能看起来不难实现,毕竟计算机运算速度如此之高。但我觉得做好它很难。 以上面的记日记的例子来说明(这个例子很典型,后面也会经常用它)。

仅在这一句话中,就包含了至少 3 类信息:

  • 「社交活动」——与老张聚会
  • 「饮食」——吃烤串
  • 「心情」——高兴

想象一下,当你想要搜索出自己的社交活动时,这句话会提供给你「见了好友老张」这个信息,当你希望知道自己的饮食活动时,则是「吃烤串」,等等。

这个例子并不是强调精确地「数字化自己的生活」,我想通过它强调的,主要是下面 2 点:

  1. 单条语句中,包含了多个视角(维度)的信息。
  2. 单条语句中,包含了多个视角(维度)的信息。

「单条语句」困境

第一要点,是单条语句

它隐隐指向的是,想通过「标题」、「标签」等方式来涵盖一篇笔记内容的努力,是徒劳的。因为仅仅一句话就包含了这么多信息,何况整篇笔记。

虽然一篇笔记的内容,一般能用笔记的标题概括——我们也总是通过新闻标题来决定是不是点进去。但是,「整体不等于部分之和」,整体的概念与各个部分的概念是不同的。

比如「人体的构成」这一抽象概念,并不包含「头」、「躯干」、「四肢」这些抽象概念。再比如这篇帖子,用「笔记软件的搜索功能最重要」来概括其内容很合适,但这篇帖子里面的内容,包括(consist of)了「笔记软件作为知识库」、「对知识进行整理、抽象、思考」这些其他的概念,是标题完全无法覆盖的。如果你感兴趣,甚至可以发现里面有「日记」、「数字化自己的生活」、「计算机运算速度」这样的东西。

局部也有信息,而且与整体的信息往往并不相同。信息可以是多层次的。这点恰好与 RoamResearch 等笔记软件中「块」的概念不谋而合。既然局部包含了与整体很不相同的信息,那么让笔记的「标题」、「标签」来“代言”整篇笔记的所有信息,显然是不够的。

「多个视角」困境

再说第二个要点,也就是多个视角

上面的日记例子中,一句话就能提供多个观察的视角,并不是一个偶然。因为一句话总是由多个词组成的,那么一个「知识点」也肯定是包含多个「知识要素」。

比如一篇笔记,标题为「 javascript 语言的内存管理机制」,姑且不谈笔记的内容,单单这个标题,就至少包含了「 javascript 语言」和「内存管理」这 2 个要素。只谈「 javascript 语言」或只谈「内存管理」都是不完整的。

「一句话是由多个词组成的,一个知识点是由多个知识要素组成的」,这么直白的道理,会把我们引导到什么思考的方向呢?我想有 2 个:一个是树状结构的笔记。一个是标签。

我看到过一些认真讨论笔记分类的文章,甚至借助于「中国图书馆分类法」,来试图将笔记分门别类。但根据上面的逻辑,会发现它面临的问题是多方面的,比如,

  • 「整体不等于部分之和」意味着,虽然整篇笔记可以归到某个类别,但并不意味着每个组成部分都可以归到该类别,只归类笔记的整体,就意味着内容部分的归类失败。
  • 「一个知识点是由多个知识要素组成的」意味着,仅仅根据标题,一篇笔记就足够归类到多个不同的类别了,更别提笔记中的内容了。树状的归类是先天不足的。

于是又有了在树状结构分类的基础上,给笔记添加标签的尝试。这很好的回应了信息具有「多个视角」这点——多个标签就是多个视角。但这些标签毕竟是添加在整篇笔记上的,不能完整反映笔记内部内容的信息——「整体不等于部分之和」。

「关键词搜索」的困境

说完上述的「单条语句」和「多个视角」困境,再来讨论一下「关键词搜索」。

「关键词搜索」,既可以精确定位到「单条语句」,同时配合多个关键词,还可以从「多个视角」筛选信息。看起来是完美的,但用过 Evernote 搜索功能的人,恐怕都不能满意吧。

还是看上面的例子,「今天见了好友老张,在大排档吃了顿烤串,很高兴」,这句话体现出的 3 个视角,「社交活动」+「饮食」+「心情」,有哪个能通过关键字快速匹配到呢?这些词一个都没有出现在句子里。

关键词搜索的弊端,是显而易见的,

  1. 匹配得太少,虽然句子中包含关键词都意思,但并没有出现关键词(如上例)。
  2. 匹配得太多,句子中出现了某个词,但这个词与句子的主要意思关系不大,这个词只是偶然出现。
  3. 以单个笔记为搜索单位,导致同一篇笔记的同一个关键词出现多次。
  4. 以单个笔记为搜索单位,导致使用多个关键词搜索时,匹配到的关键词可能在笔记中相距很远,没有明显的关联。比如搜索「 javascript 」+「内存管理」,可能一篇笔记中 2 个地方分别提到了这 2 个词,但没有关联。
  5. 速度很慢。考虑到计算机运算速度和笔记的规模,这点倒不一定有大的影响。

上述的弊端,导致使用关键词搜索时,总免不了最后走到“人眼过滤”这一步,低效,让人望而却步。

其实不只是关键词搜索,基于树状分类、标签的过滤搜索,大概也免不了大量的“人眼过滤”,因为它们都不够精确。

对搜索难的应对

我不知道大家都是怎样应对“搜索难”的困境的,根据我的经验+猜测,大概就是:

  1. 逃避不用,或者偶尔搜索+“人眼过滤”。笔记基本不整理。
  2. 使用自己感觉好用的笔记分类,特别是只分大类不分小类。可能也会配合使用标签。

但这些并没有解决前面提到的问题。尤其是对于想要构建自己知识库,并使用「高阶功能」的人来说。当然,有意无意忽视或绕过上述的问题,也是一种办法。比如,

  1. 降低对笔记软件的依赖,软件不是万能的,要时刻有个「好脑子」。
  2. 忽略知识间的关联,那些关联对我来说不重要,不去考虑那么复杂,无所谓。

不过如果找到了问题,并能用工具解决,为啥不偷点懒呢?其实经过上面的思考,解决方案可以说已经呼之欲出:使用局部的多标签

后面我会再发帖,讨论一下**使用局部的多标签**能不能解决问题,能解决到什么程度。还有它怎样在 RoamResearch 、Logseq 这些笔记软件中实现,我觉得这种局部标签才是「双向链接」的正确用法。还有就是,一般人理解的「双向链接」所形成的「关系图谱」可能有很大的问题,比如 Obsidian 和 Logseq 形成的关系图谱,(RoamResearch 的还没有用过)。我觉得**局部多标签**形成的网状结构才是真正的「关系图谱」。

发表评论

您的电子邮箱地址不会被公开。