---
name: skill-02
description: 古籍文本结构化分析总览,从定本到标注文本的转换流程。当需要对古籍进行章节切分、段落编号、注释标注、结构语义分析时使用。涵盖Purple Numbers编号、三家注处理、词法分析等子工序。
---
# SKILL 02: 结构分析 — 从定本到结构化文本
> 将校勘后的定本拆分为段落编号的结构化文本,处理特殊区块(太史公曰/赞/韵文)和三家注释层。
---
## 核心设计决策:为什么用〖〗Token而不用XML/HTML标签
本项目的语义标注采用轻量CJK符号(`〖@人名〗`、`〖=地名〗`等),而非XML(`人名`)或HTML(`人名`)。这是在**可读性**与**语义精确性**之间的刻意权衡。
### 方案对比
```
原文:黄帝者,少典之子,姓公孙,名曰轩辕。
XML标注:
黄帝者,少典之子,
姓公孙,名曰轩辕。
HTML标注:
黄帝者,少典之子,
姓公孙,名曰轩辕。
Token标注:
〖@黄帝〗者,〖@少典〗之子,姓〖&公孙〗,名曰〖@轩辕〗。
```
### 为什么不用XML/HTML
| 维度 | XML/HTML | 〖〗Token |
| -------------- | ------------------------------------- | ----------------------------------------------- |
| **人眼可读性** | 标签淹没原文,标注后几乎无法直接阅读 | 标记轻量,标注后仍可流畅阅读原文 |
| **标注效率** | 打开/关闭标签冗长,LLM输出Token消耗大 | 单字符类型标记,LLM输出紧凑 |
| **git diff** | 标签噪音严重,差异难以review | diff清晰,改动一目了然 |
| **嵌套处理** | 允许任意嵌套,但解析复杂 | 拍平策略:`〖;安国君〗`(外层保留) |
| **语义精确性** | 可附加任意属性(id/type/ref等) | 仅类型标记,属性通过外挂JSON补全 |
| **编辑门槛** | 需要了解XML语法,标签易写错 | 选中文本加前后缀即可,直觉操作 |
| **格式冲突** | 与Markdown语法无冲突 | v1.0的`$官职$`与Markdown math冲突(v2.0已解决) |
| **渲染无关性** | HTML标注与渲染耦合 | 同一份标注可渲染为HTML/PDF/LaTeX/JSON |
### 关键洞察
1. **古文标注的首要矛盾是可读性**。130篇×57万字的标注文件,研究者需要频繁阅读和修改。XML标注后原文几乎不可读(标签字符数常超过原文字符数),这在实际工作中不可接受。
2. **语义精确性通过分层补全**。Token标记只承载"类型"这一维信息,更丰富的语义(消歧、别名、公元纪年)通过外挂JSON元数据层在渲染时注入,而非塞进标记本身:
```
源文件:〖@武王〗 ← 只标类型
消歧层:{"004": {"武王": "周武王"}} ← JSON补全语义
别名层:{"周武王": ["武王", "发"]} ← JSON补全别名
渲染时:武王
```
3. **v1→v2的教训验证了这一选择**。项目初期曾用HTML `` 标注,标注后原文完全不可读,被迫用 `convert_spans_to_simple.py` 批量回退为Token标记。
### 与TEI/XML标准的关系
学术数字人文项目(如TEI P5)通常采用XML标注。本项目的选择并非否定TEI,而是针对**AI Agent驱动的大规模标注**场景做的工程权衡:
- TEI适合:小规模、高精度、学术发表、需要复杂属性和关系
- Token适合:大规模(57万字)、AI批量标注、频繁迭代、需要人眼审核
- 两者可桥接:Token标注 + JSON元数据 → 可导出为TEI XML(`export_tei.py`,待开发)
---
## 子工序
| 编号 | 文件 | 内容 |
| ------ | --------------------------- | ----------------------------------------------------- |
| 02a | SKILL_02a_章节切分与编号.md | 段落编号(Purple Numbers)+ 小节划分 + 对话拆分 |
| 02b | SKILL_02b_区块与韵文处理.md | 太史公曰/赞/策论围栏 + 韵文检测 |
| 02c | SKILL_02c_三家注标注.md | 裴骃集解/司马贞索隐/张守节正义 注释层 |
| 02d | SKILL_02d_结构语义分析.md | 句间/段间/区块间/章间语义关系挖掘、注释对齐与排版映射 |
| 02e | SKILL_02e_词法分析.md | 字级词性标注(虚词/动词/候选实体)、遗漏实体发现 |
| 02f | SKILL_02f_文本统计.md | 字数/句长/词频/实体密度/五体对比等定量分析 |
| 02g | SKILL_02g_表格结构语义分析.md | 史记十表维度定义、关系挖掘、HTML→JSON/CSV 数据转换 |
| 02h | SKILL_02h_词表构建.md | 19类专项词表(人名/地名/官职等)识别与结构化 |