V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
探索世界的好奇心万岁
sillydaddy
V2EX  ›  分享发现

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

  •  
  •   sillydaddy · 58 天前 · 1349 次点击
    这是一个创建于 58 天前的主题,其中的信息可能已经有所发展或是发生改变。
    帖子稍微有点长,但都是自己的系统思考和整理,可以看大纲了解结构,重点已用黑体标出。
    

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

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

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

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

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

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

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

    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 的还没有用过)。我觉得**局部多标签**形成的网状结构才是真正的「关系图谱」。
    
    第 1 条附言  ·  27 天前
    11 条回复    2021-12-18 17:38:21 +08:00
    yuancoder
        1
    yuancoder  
       58 天前
    没啥用
    cairnechen
        2
    cairnechen  
       58 天前   ❤️ 2
    省流助手:搜索的本质是内容的组织,楼主下一篇会继续讲内容如何组织 [不建议阅读全文]
    ivyliner
        3
    ivyliner  
       57 天前
    个人很认同作者的观点, 记事本的核心功能是搜索, 不过信息其实不太需要整理, 就像你用 Google 搜索一样, 你不需要也无法整理 Web, 但是你还是能找到你想要的内容.

    我基本上通过 keyword + tag 就能满足我的需求, 效率的话其实就算出现作者说的人肉过滤其实也能接受啊, 找到之后加一下 tag 就好了, 一次性的成本.
    我目前用了 Evernote 写了有 3k+ 个笔记, 其它的再好用我也不可能折腾迁移一遍啊.

    想起一句笑话, 笔记工具太多, 不知道怎么记笔记了.
    估计我老了, 不在追求各种效率工具, 有时候感觉慢反而是一种快.
    sillydaddy
        4
    sillydaddy  
    OP
       57 天前
    @ivyliner > “。。记事本的核心功能是搜索, 不过信息其实不太需要整理。。”

    「整理」对于一些人是必须的:
    比如写博客(书)的人,成品需要大量的素材积累。
    还有知识的升级(如 DIKW 模型,数据->信息->知识->智慧),也是需要一个总结整理的过程。

    很多人对于知识的需求是「随用随查」,好用的搜索就够了。


    @cairnechen > “搜索的本质是内容的组织,楼主下一篇会继续讲内容如何组织[不建议阅读全文]”
    我觉得你这句话与其说是概括了这个主题,不如说更让人迷惑了,因为用了太多的抽象词。

    这篇帖子的大概逻辑是:为何搜索最重要 -> 为什么搜索很难 (当前的方案有哪些缺点) -> 解决之道

    我实在不知道你的[不建议阅读全文],是基于哪一点?说一些抽象的不知所云的话,总是很简单。
    ivyliner
        5
    ivyliner  
       56 天前
    @sillydaddy 嗯, 确实有些场景, 每个人的习惯不太一样.
    " 知识的升级(如 DIKW 模型,数据->信息->知识->智慧),也是需要一个总结整理的过程。 "
    这个模型我不是特别有感觉, 我一般都是先从知识开始, 然后在去找信息, 再去找数据来验证信息可靠性,
    所以可能更多是用的金字塔模型. 笔记也更多记得是知识和知识的推理过程. 其它的信息和数据基本上也是靠搜索出来, 所以对于我个人来说搜索是特别重要的, 整理反而很少.
    当然这个只是我个人的习惯.
    rpman
        6
    rpman  
       55 天前
    首先树状结构很蠢, 这个锤过很多次了
    rpman
        7
    rpman  
       55 天前
    然后无论是找链接还是找标签,本质都是搜索,只不过留下了一些路标罢了
    rpman
        8
    rpman  
       55 天前
    一直觉得知识的归纳属于额外心理负担。理想状态下应该由笔记软件自动挖掘和提示。
    sillydaddy
        9
    sillydaddy  
    OP
       55 天前
    @rpman
    > “。。无论链接还是标签。。本质都是搜索,只不过留下了一些路标罢了”
    > “。。理想状态下应该由笔记软件自动挖掘和提示”

    确实,如果能够靠人工智能自动挖掘最好了,但目前至少还没有实现。具体的困难在主题中的「搜索为什么很难」这节提到了。

    我的看法是,目前流行的「双向链接」,相当于是留一些「锚点」在关键的地方,而且使用时,反向链接会自动把这些「锚点」起出来。这样,挖掘和提示的工作都由软件做了。需要人工做的,就只剩下在记笔记时,随时埋一些「锚点」了。而这部分工作所造成的认知负担,我觉得算是很小了——仅仅是用几个抽象的关键词概括一段话的意思。「锚点」本身也需要整理,比如合并、关联等,这部分工作量也不会大,毕竟抽象的关键词就那么一些。
    liuzhaowei55
        10
    liuzhaowei55  
       41 天前
    很赞同题主的观点,目前个人做法是吧笔记软件逐渐转换为了 DokuWiki 这个自搭的网站,搜索就是我看中它最重要的原因,知识点经过整理后再用语雀这种适合大众阅读的网站输出。
    sillydaddy
        11
    sillydaddy  
    OP
       40 天前
    @liuzhaowei55
    看了下 DokuWiki 的搜索功能: https://www.dokuwiki.org/zh:search
    确实比较丰富。

    但是我感觉,还是会遇到全文搜索的种种问题:匹配不上、匹配过多,等等等等,具体可以看主题中的分析。
    后面的续篇,我会写一下我认为怎样做搜索比较好,并给出实际的例子,欢迎再讨论。应该就是这两天吧。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3517 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:47 · PVG 17:47 · LAX 01:47 · JFK 04:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.