关于利用思源实现渐进阅读的设想

本贴最后更新于 797 天前,其中的信息可能已经天翻地覆

思源 2.7.6 预览版已经可以做到按文档树对卡片分类了,在此基础上进一步改进的话,完全可以做到渐进阅读(增量阅读),从而取代 supermemo(以下简称 SM)。在阅读后面的内容之前,还请读者先看一下 SM 实现渐进阅读的演示视频:

https://www.bilibili.com/video/BV1L741197iu/?p=6

https://www.zhihu.com/zvideo/1345302166383382528

我先根据视频简单总结一下 SM 渐进阅读的流程。

  1. 导入文章(这个没什么好说的)
  2. 对文章进行格式调整、改写、精简、加粗、高亮等
  3. 选中文章中你认为有价值的部分,通过快捷键(Alt+X)将选中的部分用特定颜色高亮,并生成一张摘抄卡片,将这张卡片作为当前文档的子文档(注意,不一定挖空的才叫卡片)
  4. 对上一步做好的卡片进行加工,包括批注、改写、精简、加粗、高亮等
  5. 第二天对前一天做好的卡片通过间隔重复算法进行回顾
  6. 进一步对卡片进行加工
  7. 重复上述第 3 步的操作,生成更细的摘抄卡片,作为父卡片的子文档
  8. 几天后,可对摘抄卡片进行挖空了(挖空快捷键 Alt+Z),生成的挖空卡片将作为父卡片的子文档
  9. 继续通过排期算法复习,直到完全掌握这篇文章

那思源应怎样改进才能实现渐进阅读呢?
我认为就仿照上述流程来进行就行了,需要做到以下改进:

  1. 当文档标题缺省时,在文档树中,将文档的标题显示为文档最前面的文字内容,而不是 Untitled
  2. 可以将文档的顶级标题(即整篇文档)制作为卡片,目前只能将一级、二级标题制作为卡片
  3. 选中文档中的部分内容块后,可通过快捷键或右键菜单将选中部分用特定颜色高亮,并提取出来作为当前文档的子文档,并将这篇子文档的顶级标题制作为卡片。(在生成子文档的时候需注意,新生成的子文档应位于文档树末尾而不是最前面)

完成上述改进后,就可以利用思源进行渐进阅读了。欢迎讨论。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    25641 引用 • 106048 回帖
3 操作
openAI 在 2023-03-18 11:55:20 更新了该帖
openAI 在 2023-03-12 17:36:44 更新了该帖
openAI 在 2023-03-12 11:21:41 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 已经制卡的块有没有标记啊,或者按有些朋友的建议,有没有新的挖空语法/提问语法,而不用每次都点击,加入卡组?

    1 回复
  • 思源估计难了,sm 的渐进阅读的优势在算法,好像他的算法可以将摘录但未制卡的卡片定期呈现给你,并且防止积压

    2 回复
  • D 大回复我的,只要内容块制作为了闪卡,在内容块的右边就会有一条竖线。

    我也赞同挖空自动生成卡片,前提是要将“挖空”和“高亮”这两个功能分开,可以看我前一个帖子的讨论:

    2.7.6 预览版闪卡功能改进建议 - openAI 的回帖

  • 思源的排期算法不是叶神写的嘛,叶神就是国内渐进阅读的推动者。

  • 正好分享下在思源里的制卡和对渐进阅读功能的补充。

    根据渐进阅读的最小定义 - 知乎 (zhihu.com),思源目前缺三个功能就达到定义中“基本选项”的要求了。

    在 SM 里进行 ALT+X 的摘录、改写操作不一定要在文档树上进行,我之前也纠结了很久,因为思源有一个“选中文字新建文档块内容为”的功能(默认快捷键 F4),它的生成位置默认是当前文档块的子级(没有被全局设置覆盖的话),也会以文字内容命名,和在 SM 里进行摘录的操作很像。但是在 SM 里进行摘录生成 topic 的作用是这样的:

    1. 聚焦摘抄材料

    2. 继承复习间隔,加入复习队列

    3. 继承引用来源

    4. 继承优先级属性

    5. 提供回到原文的入口,能从摘录的 topic 跳到原文

      • 通过返回父级回到原文
      • 通过引用来源返回原文
    6. 在改写后进行挖空生成 item

    继承复习间隔还好说,有些用户是不想要这个功能,是用手动安排摘录 topic 时间的,在思源里不能直接安排进复习队列和继承优先级属性也就是麻烦了点,但有个痛点是目前依靠文档树制卡做不了的:在复习界面里没法通过子文档块跳到原文

    这一点很重要,因为渐进阅读是从材料的语境中制卡,回到原文能保证改写的 topic 、生成的 item 不丢失其原意,sm 的引用来源、返回父级、**Ancestors **窗口就是为了防止卡片(元素)孤立,丢失其语义,如下图:

    • image
    • image
    • image

    大纲双链软件里的面包屑反链的核心是上下文跟这三个功能的作用同理,都是补足上下文语境,准确描述并帮助定位当前内容块(卡片、元素)的语义。

    所以其实可以不用局限于文档树制卡,目前是能通过其它方法补充上下文语境的(这也是思源“文档包围大纲”路线的魅力)。

    利用列表大纲提供的面包屑:

    1. 在思源阅读原文(并不一定要在复习界面阅读,可以把要阅读的内容块引用一下安排进复习队列等推送,当然能在复习界面阅读也是好的,不是刚需)

      • 比如像这样
        image
    2. 通过触发块引用浮窗进行阅读(浮窗可以使用新窗口打开,这样不会挡到制卡),再将原文转换为列表大纲的模式
      image

    3. 在列表大纲里制卡

      • image
      • image
    4. 在闪卡界面复习、改卡、补充材料、继续制卡

      • 复习image

      • image

      • 补充材料image

      • 对材料进行改写制卡image

      • 通过面包屑(可以触发浮窗进入上下文,也可以退出聚焦回到上下文里)提供的上下文语境确定语义,知道在问什么,比如这里是在问支配可满足什么样的需求image

      • 在对长文材料也可以列表大纲也可以做到像文档树一样,父级为原材料,子级不断改写的形式进行渐进处理

        • 思源文档树在部分系统上有个七层的限制

    利用块引用进行制卡:

    利用文档树、列表大纲制卡都是要和原文有内容上的物理逻辑关系的,要么是成为子文档块,要么是成为列表大纲里的子级,但是块引用很自由,可以跳出来任意组合上下文

    RR 的块引用一直有个功能,是能转换块引用锚文本为“文本 *”的格式,这样能保留原文,还能对原文本进行改写留下跳回原文的“*”链接,我们就可以利用这一点完成块引用制卡

    • image
    • image
    • image
    • image
    • image

    在这里块引用就可以用作返回上下文语境

    在处理长材料的时候,块引用制卡是这么做的:

    • 第一次块引用原文,转换为“文本 *”进行改写
    • 第二次引用第一次改写的内容,转换后继续改写
    • ...
    • 改写至满意后进行制卡

    这个过程很自由,不用拘泥于在什么位置记录、处理材料

    用块引用不断改写的效果跟在 SM 里渐进处理摘录 topic 是一样的,是两个人( woz 和 conor )用不同的方式实现了同一种效果

    所以目前在思源里,是能通过列表大纲和块引用实现渐进摘录的,而只利用文档树是不行的。

    1 回复
  • dammy 1 赞同

    根据渐进阅读的最小定义 - 知乎 (zhihu.com)来看,在思源里实现渐进阅读基本选项目前还缺三个功能:

    它们是一套功能,也是上面渐进阅读最小定义里提到的超负荷工具,目的是为了减压,优化“复习环节及其内容的情感联系****”,间隔重复里我遇到的超负荷工具还有手动安排复习间隔、手动安排卡片当天的队列位置,都是很棒的功能

    优先级是选择重要的知识,自动排序会让卡片按照优先级排序,自动延迟会将低优先级材料推迟复习,可以防止卡片的堆积

    目前对于怎么实现这三个特性我没有思路,优先级可以靠块属性解决,但是怎么做进制卡流程里、如何让文档块里所有块继承优先级、让交互变得丝滑都是问题

    还有个致命问题是,只有卡片堆积(某几天没复习,回来复习量巨大)、阅读量大的重度用户会很急需这些功能,轻度用户是用不到的

    在做间隔重复之前我有提过建议,关于将来优化制卡的需求会是刚需,只能慢慢来,思源不像 RN 从一开始就敲定了奔着往制卡方向走,连编辑器也适配了制卡,只能像其他双链软件一样以不大改的方式完成需求

    值得一提的是,和渐进阅读从原材料制卡不同,RN 推荐的制卡工作流依靠概念描述符框架,它是一种模板制卡,这种制卡方式可能更适合思源这类笔记软件

    在 RemNote 中构建知识 https://zhuanlan.zhihu.com/p/242322075
    在 RN 中使用概念描述符框架 https://help.remnote.com/en/articles/6751778-how-to-use-the-concept-descriptor-framework
    RN 的模板制卡真的挺棒的,挺适合在笔记软件用,目前的间隔重复制卡大致可分为三种:

    1. 专家制卡,像编写教材一样精心打造卡片,例如 Andy 的提出的助记符媒介,这是他的量子国度项目 https://quantum.country/
    2. 通过原文材料辅助制卡,像 SM 的渐进阅读就是
    3. 通过模板制卡,如 RN

    在笔记软件里阅读原文材料进行制卡会遇到性能以及搜索的问题,我之前有尝试过在思源里剪藏了大量文章,也把思源当成本地图床使思源作为本地图床导入材料至 SuperMemo,以网页为例 - 链滴 (ld246.com),但是块引搜索的时候会出来很多我不认识的内容干扰我,思源的性能也是个问题, 之后我就放弃进剪藏进思源。这促使了我只在思源里保留我要表达的内容,其它一切“夹生饭”都放到别的软件里。RN 模板制卡的好处就是不用依靠原文也能辅助制卡,在模板提问里表达自己已有的知识,然后组织发展它们,真的很不错

  • 利用文档树渐进摘录有个好处就是不会污染原文。

    如果采用列表大纲来渐进摘录的话,就会污染原文。比如说,原文第一段落和第二段落本身是连贯的,但渐进摘录后,第一段落和第二段落之间就会有很多摘录信息,并且这些摘录信息的内容是和第一段落重复的,影响对原文的阅读。

    感觉最好的方案还是文档树再结合你提到的块引用。

    1 回复
  • dammy 1 赞同

    文档树 + 块引用是个不错的方法,块引用可以替 SM 里 摘抄 ALT+X返回父级引用来源 功能,如果后面有更快捷的生成子文档块 + 块引用原文的功能就好了。

    还有一种思路是靠块引用的反链,选中文字按下 F3 会在生成子文档的同时生成块引用,这时候通过在子文档标题处的反链提醒浮窗、或者在反链面板里回到原文的语境,但目前的问题是:

    1. 只能生成所选内容的标题,不在子文档正文生成所选内容
    2. 在原文生成的块引用是动态锚文本,更改子文档标题原文也会跟着更改

    image.png

    image.png

    image.png

  • sm 只有问答卡(item)才会应用算法,“摘录卡”(topic)只是简单的递增

    1 回复
  • 这个也很好解决,在不改变算法的情况下,摘录卡只提供“good”或“easy”按钮,不提供“hard”和“again”按钮。

    1 回复
  • 再提一个点,在生成摘录卡的时候,会先选中文字。这时候如果能做到下面这种效果就最好不过了:

    1. 在段落块内选中部分文字,那生成的摘录卡就只含选中的部分。
    2. 如果是跨段落块选中文字,而最前面或最后面的段落块只选中了部分文字,那只截取选中的部分。

    可以先不急着实现这一效果,等渐进阅读的基本功能做好了,再慢慢改进。

  • 最好还是分开,对一小部分摘录卡有个操作是 手动设定下次出现的间隔(Ctrl+J),而且,只提供 good 和 easy 我觉得不能替代 Done(Ctrl+Shift+Enter DismissCtrl+D

  • 我补充一点,渐进阅读生成子文档的时候需注意,新生成的子文档应位于末尾而不是最前面。这一点和日记的逻辑恰恰相反,对于日记来说,用户自然是希望离今天越近的日记越靠前显示。而渐进阅读不同,用户是按照文章顺序来阅读的,自然子文档也应该按照文章顺序(而不是逆序)来排列。

    1 回复
  • Spade7 1 评论

    你指的是 文档树位置 还是 排期顺序位置?

    1 回复
    文档树位置
    openAI
  • 不过我想了下,不仅仅是文档树位置,排期顺序位置也应该和原文的顺序一致,并且父文档要排在子文档前面,因为渐进阅读的顺序就是由粗到细,由前向后。

    1 回复
  • Spade7 1 赞同

    渐进阅读只是总体上从前到后,实际上是根据个人情况乱序的,学习者经常学到后面的内容后再回到前面的段落进行摘录 或者 在后面粗摘录的同时对前面精摘录,如果一旦前面有摘录内容就优先显示,那绝大部分时间都会在处理前面的内容,严格按照文章顺序排期,其实隐含的是:必须将前面的内容理解完全才能对后面内容进行学习。这实际上有悖渐进学习的理念。

    1 回复
  • 有道理

  • zazuone

    obsidian 中的间隔重复是不是已经有这个功能了?

请输入回帖内容 ...

推荐标签 标签

  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    17 引用 • 53 回帖 • 143 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 8 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    78 引用 • 396 回帖
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖 • 1 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 761 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 554 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    214 引用 • 291 回帖 • 371 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖 • 1 关注
  • Visio
    1 引用 • 2 回帖
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    24 引用 • 242 回帖
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖 • 8 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    188 引用 • 319 回帖 • 250 关注
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖 • 1 关注
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 200 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    315 引用 • 547 回帖
  • 导航

    各种网址链接、内容导航。

    44 引用 • 177 回帖
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 159 关注
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 503 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • 浅吟主题

    Jeffrey Chen 制作的思源笔记主题,项目仓库:https://github.com/TCOTC/Whisper

    1 引用 • 28 回帖
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    227 引用 • 476 回帖 • 2 关注
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    97 引用 • 903 回帖 • 1 关注
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    93 引用 • 113 回帖
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 114 关注