如何实现外部大脑:关于笔记与标签的关系,以及超链接含义的思考和建议

:heart:如果你有时间,看之前请参考一下我去年写的这篇帖子,当时想法不够成熟,帖子中感性的思考成分要多过理性的定义和解释的成分,那篇帖子能够帮助你粗略了解我对于标签和笔记之间关系的思路和想法,这样一来本篇帖子里过多的定义词语可能就不至于让你感到过于困惑。

这篇帖子的正文内容集中于我对知识和信息的理解,对于各路笔记管理软件中笔记和标签的理解,以及我希望在MarginNote3中可以实现的功能,效果类似一个已有笔记能自动形成超链接的智能的知识库,具体参考下面两个gif:

  • 效果1:用户的某些笔记,在其他笔记的评论中会被自动识别为超链接。
  • 【某些笔记】:在功能上属于用户的知识,而不是碎片信息的笔记,这些笔记应当可以被转化为标签,从而使其他笔记可以挂在这个标签上,使得用户的知识树不断丰富。此外,当代表知识的笔记被转化为标签后,该标签应当仍然可以作为笔记进行编辑补充信息。

  • 效果2:点击该超链接,会展示对对应的笔记。
  • 例子来自某个外国的医学知识库网站制作的anki插件,他的点击实现的是连接到该网站的网页。这方面MarginNote应当实现的是连接到用户自己的所有笔记库。

接下来我再具体讲一讲我对于标签和笔记理解,但在继续往下看之前,请思考一下几个问题,这也许可以帮助你更好地理解后面的定义:

  • 当我们谈到笔记软件中的标签分类和传统的文件夹式分类时,我们在谈什么?
  • 当我们谈到笔记软件中的超链接时,我们在谈什么?
  • 当我们谈到知识管理时,我们希望达成的目标是什么?

针对最后一问,我假设我们想要的不仅仅是信息,而是如何得到知识和智慧,当面对海量的信息和材料,我们也许需要不时问自己几个问题:

  • 这条信息和我已经知道的信息有什么关系?
  • 这条信息在说什么?为什么这样说?
  • 我在其他地方要如何运用这条信息?

这是检验一条信息能否成为我们的知识的三道关卡,每一道门槛的阻碍都会成为我们在潜意识中给遇到的每条信息进行匹配优先级的依据,优先度低的被遗忘或者被积压直到彻底变成垃圾信息的速度也是最快的,其中:

  • 第一个问题如果无法回答,那么这条信息将成为我们无数条笔记中的一个碎片,而不是知识
  • 第二个问题如果无法回答,那么我们甚至不能在语言上理解这条信息涉及的相关对象(比如需要谷歌维基查名词),这条信息将成为一个悬置的疑问一个todo事项,而不是知识
  • 第三个问题如果无法回答,那么这条信息就会像我们曾经学会了,但是之后的生活中很少再次用到的技能,我们也许会继续关注这方面的主题,但是不会再进行深入的素材搜集与积极学习了,这条信息将聚合相关主题的其它信息,形成一本笔记本或者导图,但是我们不会为它创建一个标签以便后续为这个主题添加更多相关素材,这条信息是一个更大的碎片,而不是知识

MarginNote3缺陷1:目前MarginNote的导图对我来说,没有跨过第三个问题的门槛,我可以把几本书,一个主题导图的内容组织得非常详实,从论点论据到案例事实,笔记数量成千上万,但这本导图就整个MarginNote的笔记库而言其实也只是一个更大的碎片,因为在MarginNote中尚未解决已有的笔记如何后续利用的问题,它们躺在一本本孤立的笔记本中,在导图的不同角落中,有人说何妨合并更多的参考素材进来呢?或者直接合并主题?但事实是即使通过这一系列的方案,这一种使用情景上的割裂也并不能真正地得到解决,即MarginNote中的知识运用缺憾

MarginNote3缺陷2:此外,MarginNote在第一个问题上也是不完善的,当我们的已有笔记数目不多时,在新的材料面前,我们可以很容易地回想当前笔记和已有笔记之间的联系,接着手动设置一个链接方便我们参照不同的节点。但随着我们的笔记库不断增长,这一流程的记忆负担和工作量就不再是可以轻易忽视的了,这是MarginNote中的知识连接缺憾

Summary:在我的设想里,强化标签功能足够解决MarginNote中的知识运用缺憾,标签名称能在笔记内容中自动匹配、识别为超链接足够解决MarginNote中的知识连接缺憾。

建议一、标签层级 + 笔记转换为标签:知识的层级 + 信息转换为知识

  1. 理由

    • 笔记的层级 = 碎片的层级
  2. 具体实现方式

    • 标签支持层级管理,每个标签可以同笔记一样进行编辑。
    • 支持笔记转换为标签的功能,如果转换过程中检测到该笔记名称与某个标签名称相同,则进行提示,并呈现同名标签下的所有笔记。(eg.MarginNote:主人您好,在笔记库中检测到我们已经有相关知识了哦,建议您对比一下当前笔记和我弹出窗口中的同名标签的相关笔记,如果他们是相同意群的话可以考虑将笔记作为碎片并入当前标签下,如果是不同的意群那么建议您将笔记名称更改后再升级成标签呢~)
  3. 定义

    • 标签:用线索连接笔记,而不是用子限制笔记的一种管理方式

    • 知识:拥有作为某个类别的盒子,可以放入其他信息的能力;对于某人来说是一种从未见过的链接方式。知识是我们成熟了的想法,我们以知识为指导进一步收集信息。

    • 信息:又称为碎片,具有能够同时属于多个类别的性质,不能作为盒子放入其他信息,但是可以作为一个节点,临时往下发展分支。信息是我们不成熟的或者暂时没有很大的兴趣的碎片。

    • 节点:我们认为具有成为知识的潜力的信息,而它是否属于知识的判断标准则依据个人经验而不同(请见上方知识的定义),但是节点具有向他人进行演示和传递信息的价值,如果你看到了这里,那么这篇帖子的节点层级关系如下:

【显然他们对于我来说属于在当下随时可以调用的知识,如果你曾经也思考过这方面,觉得我写得有一定的道理,但是自己当时没有用语言组织表达出来,那么这个层级对于你来说就属于隐性知识,这个概念来自迈克尔·波拉尼的研究】,具体理解可以参考下图:


【之所以提到知识的显隐性关系这一理念,是因为这一系列建议的设计都是希望MarginNote能帮助用户更好地在学习过程中,完成显性知识→显性知识甚至隐性知识→显性知识的转换这一个工作。】

  • 发展分支:根据语言的从属关系,按照思维导图或者大纲的方式组织信息,比如在这篇帖子中,“发展分支”就隶属于“定义”,而“定义”隶属于我对于“标签层级功能诉求”下的解释的部分。显然,这些词语我们可以认为他们都是节点,但是对于具体的某个人来说,他们不一定是知识,因为他们可能见过这种链接方式了(见前文知识的定义)。
  1. 总结:

    • 标签 = 知识 = 盒子本身
    • 笔记 = 信息/碎片 盒子本身
    • 用思维导图整理笔记 = 用语言表达的从属关系整理信息
    • 用标签管理笔记 = 用知识管理信息
    • 笔记转换为标签 = 信息/碎片转换为知识

建议二、笔记内容自动超链接到标签:外部大脑

  1. 理由

    • 手动超链接 = 笔记软件
  2. 具体实现方式

    • 自动检索:笔记的文本内容自动检索用户所有标签
    • 自动匹配+替换:如果能匹配到“词句 = 标签”的情况,那么将这个词句自动转化为超链接
    • 点击效果:点击该超链接会呈现该标签的所有笔记
  3. 定义:

    • 超链接 = 线索 = 突破标签、笔记的盒子限制的一种管理方式
    • 盒子限制:是指笔记A放入了分类B下,就不能放入分类C下的限制。而按我的建议加强标签功能,虽然标签使得笔记的管理没有了盒子限制,但是标签作为知识载体本身还是无法摆脱盒子限制,这个限制是因为人的知识管理始终习惯以类似节点性的语言进行表达,而且当笔记数目突破了一定数量后,人力浏览+创建链接工作量指数级增加所导致的)
      • 文件夹分类:笔记A可以放在分类1的目录下,不能同时放在分类2的目录下
      • 标签分类:笔记A可以放在标签1下,也可以同时放在标签2下
      • 超链接:标签1.1可以放在标签1下,不能同时放在标签2下。但是可以凭借超链接与标签2的笔记内容或者标签2中的碎片/信息的笔记内容进行自动/主动链接,如果MarginNote3可以自动识别知识之间的关系,这一功能的实现在笔记的后期检索中可以为用户节省难以想象的庞大工作量!

Q1:为什么不是检索用户所有的笔记名称,然后匹配“词句 = 笔记名称”,这种情况下将笔记中的词句转化为超链接?

A1:笔记在转换为标签之前属于信息,而信息是我们尚且不成熟的想法的集合,在它转变为知识之前就追求过于复杂的超链接是弊大于利的。而对于想法已经成熟了的笔记,也就是知识,在这条知识的盒子中我们拥有足够多的论点、论据等其他素材,这时我们会更期待进一步挖掘这条知识和其他知识或者信息之间的联系,从而帮助我们发现和建立更多链接。此外,软件层面也会遇到如下一些问题:

  • ×【检索笔记的名称形成超链接】:这是某些wiki软件的逻辑,比如voodoopad,我在长期使用这类软件(devonthink、zimnote)的过程中发现了一个缺陷,那就是笔记的名称是可以重复,而笔记内容却不重复。这种情况下自动识别就会出现问题。
    • 理解:笔记(名称) = 不成熟的想法 = 可重复的节点

    • 例子1:Voodoopad中两个笔记名称都名为《尼采的权利意志》,而其中一个笔记内容来自作者A的文献,另一个笔记内容来自作者B的书籍,这两条笔记,它们的名称相同,而内容却不同。

    • 例子2:Anki的Cloze挖空笔记,如果对{{c1::一段}}文字{{c2::进行}}这样的挖空,那么anki内部会生成两条一样的笔记,分别对应c1的挖空和c2的挖空。

  • √【检索标签的名称形成超链接】:标签是用户自己设置或者由笔记转换而来,前者在设置时不会出现两个名称相同的标签,后者参考前文的转变功能,如果存在同名标签,会提示用户先修改笔记名称再进行转换。因此,用标签作为自动超链接的检索库可以保证没有重复和模糊的情况,因为知识的标签命名是唯一的。
    • 理解:标签(名称) = 有笔记素材支持的知识 = 连接多个笔记节点的不可重复的线索

MarginNote应当能提供可以反映用户自己的观察,思考,以及包含在用户阅读过程所记录的的不同事实之间的联系的笔记系统,帮助用户建立联系并进行批判性思考,并且能够激发创意、运用、实践,这就是我的预期。

请支持的朋友们给我留言!

5赞

你这几篇建议都非常好,我们现在整个团队都很忙,做完手头这一批事情,开发新功能的时候,会仔细研究跟你交流下细节

1赞

理解理解。现有的ocr、手写的优化应当优先,我的想法在思考过程中也能不断变得更清晰。

对我来说时间并不紧迫,我的学习工作流目前主要以devonthink为核心,也用了很长一段时间更顺手一点,而这个功能的设想相当于MarginNote将在我所使用的一众知识管理工具中充当知识库的最终存储的环节,这就会需要我重新调整整个工作流了(目前是devonthink做存储,但是devonthink的超链接自动识别不会忽略笔记名)。

如果我打算在想法还不成熟的时候调整工作流,可能会导致后续遇到很多问题……

3赞

很好的建议,666

推一個~~~~~~

楼主的建议太好了。目前的感觉就是MN很适合阅读几本书,也很适合一本书读两、三遍左右。但是当书籍的数量过多,笔记之间的关联和几次积累下来的卡片删选就会变得很麻烦。标签的确可以减轻归纳的负担,但是我更希望能够独立建立脑图库,将每本书的所选脑图汇总,然后再在库里根据层级摆放。有的时候并不是所有的知识点都是有关联的,那些有新意但是暂时不知归纳在哪里的卡片就很需要这样一个整理过程。
另外,我希望MN可以单独出笔记功能,就是在脑图库的部分安排笔记文档,因为脑图只是一个大概,核心的知识是需要归纳成系统文字的。
而楼主所说的超链接功能,我觉得会分散阅读的精力,我更喜欢那种显示框架信息的链接。目前脑图里的链接功能,会把两个相关联的卡片信息放在一起,老实说有点冗杂,如果可以关键字显示就最好了。

1赞

对于在脑图中仅显示关键词的操作,可以在把关键词设为标题后,打开仅显示标题。


对于链接卡片,如果有标题的话,会默认显示标题的。

我设想的超链接功能是根据标签自动识别,不是目前这种手动的方式,MarginNote会根据用户的卡片内容自动转换的,这应该不会在视觉上呈现新的冗余的信息。

该功能考虑的具体困境:当我们的已有笔记数目不多时,在新的材料面前,我们可以很容易地回想当前笔记和已有笔记之间的联系,接着手动设置一个链接方便我们参照不同的节点。但随着我们的笔记库不断增长,这一流程的记忆负担和工作量就不再是可以轻易忽视的了,这是 MarginNote中的知识连接缺憾

有道理。另外,是否考虑自动添加卡片标题(例如文字的前两个字)

嗯嗯,之后的版本会考虑相关建议的。
Regards,
Relight
Support Team

关于自动化和插件扩展的开放接口内测征集参与者:
js定位为一种插件技术,而捷径和apple script定位为自动化技术。

3.6.5会开始支持apple script,已经在开发过程中,比较顺利(3.6.4如果没有意外会被跳版)。目前计划征集几位懂apple script的社区成员参与内测(可能未来一两周)。
另外已经比较确定MN会支持js作为内置扩展方式,类似字典扩展,制卡规则扩展都会采用js。开发者从ios的文档了解到apple已经把js bindings做的非常成熟,从而会有Jsbox这样的产品,js基本上就是apple官方指定的脚本引擎,无论从性能,稳定性,还是延展性角度,基本上可以做到通过js直接call内部methods。
js在iOS端可以和捷径结合(类似jsbox),在mac端和apple script 结合。通过目前构想的技术结构,可以很容易的把apple script实现的功能开放给js。
整个技术演进应该会跨越3.6, 3.7两个版本,分步骤来做。可能在设计实现新同步框架时借助这套扩展结构。

开放接口预计考虑对接的需求场景:

定制化搜索——统计一个词出现的频率,现有的搜索会有全部结果,但没有统计,理想的情况是给出一串关键词,统计每个词的返回结果数

笔记本数据【输出】——自动定期备份并存储至第三方云

制卡自动化——MN是自由字段,不像anki那样,所以卡片得手动选择问题部分,实际上,这个通过脚本,是可以实现自动化的,用户自己定义一些规则,然后自动化生成需要的卡片,是否填空等

笔记录入,过滤导出——文字加工【输入】——Vocabulary.com 抓取最新实时(纽约时报等各大杂志)例句注入笔记粒度卡片。——。笔记输入的入口可以提供。另外,还可以提供一些过滤笔记,执行操作的接口,比如选择过滤一些手写,自动生成笔记,选择过滤一些笔记,自动生成卡片,等等。

各位可以对上述需求场景进行补充

Regards,
MarginNote Team

2赞

突然激动!然后发现自己不会整代码……看了只能干等了

我是C#程序员,写过一点Javascript,可以申请内测吗?

当然可以,非常欢迎!:clap:

Regards
Lanco