tiny-corpus-workbench
边做边学:文档处理入门
一份原始文档,怎么变成可追溯的"已准备修订版"?先看原理,再到本地可视化工作台里亲手试一遍。
在语料库被拿去搜索、排序、生成之前,文档处理已经发生了。那些下游 任务当然有用,但不是本项目的主题。这门课追问的是一个更早的问题: 手里是什么文档?怎么准备出来的?哪些证据能说明这个过程?
课程到"已准备修订版"为止。不涉及分块、嵌入、索引、检索、生成, 也不涉及 RAG 评测。
先看一条完整的生命周期
text
原始来源
-> 捕获来源 + 提取视图
-> 规范的 DoclingDocument
-> 基于证据的诊断
-> 人的明确决策
-> 不可变的已准备修订版
-> 语料库检查命令行和工作台,是同一套本地生命周期的两种入口。命令行完整精确, 工作台是练习场——先帮你理解每个阶段在干什么,再去看详细记录。 两个入口共享同一份数据,不会搞出两套生命周期。
每个阶段只回答一个问题
| 阶段 | 问什么 | 产出什么 | 不管什么 |
|---|---|---|---|
| 观察 | 收到了什么、提取出了什么? | 捕获来源、提取视图,可能还有一份规范文档。 | 不诊断,不改文档。 |
| 诊断 | 哪些固定规则命中了? | 带有专属证据的发现项。 | 不说"可以改"。 |
| 修订 | 有什么受支持的改法,接不接受? | 先有提议,再有人的明确决定。 | 不偷偷编辑。 |
| 修订版 | 批准后产生了什么? | 一个不可变的后继版本,带历史记录。 | 不覆盖原始文档。 |
| 检查语料库 | 声明的这些成员之间有什么规律? | 聚合证据,不含原文。 | 不发现新文件,不改成员。 |
整个课程就靠两个概念撑起来:
- 证据 —— 程序观察或计算出来的东西。
- 决策权 —— 要不要改,是人说了算。
程序不改任何东西,也能产出有用的证据。人拒绝一个提议,证据还在。 正因为两者分得开,生命周期跑很多轮也不会乱。
学习路径
1. 为语料库准备文档搞清楚准备流程的边界在哪、要回答哪些问题。2. 捕获并提取来源固定下来,两个提取视图比一比——不分胜负。3. 检查并诊断用固定规则和证据描述问题,但不碰文档。4. 决策并修订把受支持的提议变成明确的批准或拒绝。5. 检查语料库看一个明确的来源和修订版集合的汇总证据。6. 演练完整生命周期在工作台里从头到尾走一遍,把前面的概念串起来。
开始之前
以下课程假设仓库已经装好,Python 虚拟环境处于激活状态。先确认 corpus --help 能跑通,再从第一课开始。前四个练习用的是项目自带的 Markdown 示例,不需要 PDF 模型。
练习时如果想从头来过,开一个临时工作区:
bash
LESSON_WORKSPACE="$(mktemp -d)"
corpus workbench --workspace "$LESSON_WORKSPACE" --no-open命令会打印一个本地地址,浏览器打开就行。练完了在终端按 Ctrl-C。 第一课不从操作开始,先把概念讲清楚。