Files
HeurAMS/README.md
2025-10-02 00:59:02 +08:00

4.1 KiB
Raw Blame History

潜进 (HeurAMS) - 启发式辅助记忆程序

惟算法之可恃兮, 筹来者于未央
扶大厦之将倾兮, 挽狂澜于既倒

概述

"潜进" (HeurAMS: Heuristic Auxiliary Memorizing Scheduler, 启发式记忆辅助调度器) 是为习题册, 古诗词, 及其他问答/记忆/理解型知识设计的辅助记忆软件, 提供动态规划的优化记忆方案

关于此仓库

"潜进" 软件组项目包含多个子项目:

  • 此仓库包含了 "潜进" 项目的核心和基于 Textual 的基本用户界面的实现
  • 关于基于 Flutter 的现代用户界面, 请参阅 "潜进-F" (HeurAMS-F) 仓库
  • 关于数据同步实现, 请参阅 "潜进-S" (HeurSync) 仓库
  • 关于云端文档源实现, 请参阅 "潜进-R" (HeurRepo) 仓库

开发计划

0.1.x: 简易调度器实现与最小原型
0.2.x: 使用 Textual 构建 TUI, 项目可行性验证与采用 SM-2 原始算法用户自评估的原型
0.3.x (当前): 基本数据结构, 基于 SM-2 改进算法的自动复习测评评估与遵从 IoC 设计的功能实现, 重点设计古诗文记忆理解功能, 以及 TUI 界面实现, 简单的语言模型集成
0.4.x: 更新文件格式, 引入动态数据结构(自动内容生成), 深度语言模型集成
0.5.x: 引入云同步与文档源
0.6.x: 引入其他算法接口, 与跨语言库引入, 使用 Flutter 构建跨平台现代客户端

技术集成与特性

间隔迭代算法

许多出版物都广泛讨论了不同重复间隔对学习效果的影响。特别是,间隔效应被认为是一种普遍现象。间隔效应是指,如果重复的间隔是分散/稀疏的,而不是集中重复,那么学习任务的表现会更好。因此,有观点提出,学习中使用的最佳重复间隔是最长的、但不会导致遗忘的间隔

  • 采用经实证的 SM-2 间隔迭代算法, 此算法亦用作 Anki 闪卡记忆软件的默认闪卡调度器

计划: 将添加 FSRS 算法 (Anki 的新可选闪卡调度器) 与一种 SM-15 变体算法作为后续替代
参考 https://github.com/slaypni/SM-15
使用 SM-15 的变体:
SM-2 后续算法并非完全开放, 故使用一种基于 SM-15 描述实现的变体算法

  • 动态规划每个记忆单元的记忆间隔时间表
  • 动态跟踪记忆反馈数据,优化长期记忆保留率与稳定性

学习进程优化

  • 逐字解析:支持逐字详细释义解析
  • 语法分析:接入生成式人工智能, 支持古文结构交互式解析
  • 自然语音:集成微软神经网络文本转语音 (TTS) 技术

实用用户界面

  • 响应式 Textual 框架构建的跨平台 TUI 界面
  • 支持触屏/鼠标/键盘多操作模式
  • 简洁直观的复习流程设计

屏幕截图 (基本用户界面)

单击图片以放大

img1 img2 img3 img4

技术架构

有关技术与实现的细节, 请参阅 CONTRIBUTING.md
提交拉取请求以参与到此开放源代码项目

graph TD
    subgraph 后端
        A[SM-2 算法] --> B[间隔迭代算法]
        B --> C[迭代记忆参数]
    end

    subgraph 用户界面
        D[展示模块] --> E[用户界面]
        E --> F[进度追踪面板]
    end
    
    subgraph 外部服务
        G[LLM]
        H[TTS]
    end
    
    C --> D
    F -->|用户数据| C
    D --> G
    D --> H

系统与平台要求

  • 依赖组件: Python 3.7+ (与 PIP), Git (半自动更新 & 安装需要), requirements.txt 中依赖包
  • 可选依赖: curl (首次下载需要)
  • 平台支持Windows / macOS / Linux / Android (需要 Termux 或 Linux) (终端或浏览器)
  • 网络连接:可预缓存语音文件, 需联网使用大模型服务功能

运行此命令以在具备以上前置条件的计算机上快速安装/保留数据更新:

curl -O https://gitea.imwangzhiyu.xyz/ajax/HeurAMS/raw/branch/main/tweak.py

python3 tweak.py