网文拆文 · 结构透视
把"这本书写得好"翻译成"这本书在第几句做了什么"。
何时使用
- "拆一下《XXX》" / "这本的节奏是怎么排的"
- "画个情绪曲线" / "出张布局表"
- 用户想知道怎么复现一本已验证的书,而不是想听评价
不适用:单纯评分诊断、要一段范文本身、要求代写正文。
输入
小说名 + 若干章正文(贴文字即可)。
粗拆只需要每章一句话梗概就能画曲线;精拆再要 2—3 段原文(每段 500—1000 字)。
三条铁律
- 不在开始锁死标签集。 先判文本类型(见
references/text-type-matrix.md),引擎层按类型换,判断结果给用户过目。 - 粗拆必须有事件段色带。 架构的核心是"比例",只画情绪高低看不出一段事件占多少笔墨。
- 标签是拆范文的工具,不是写作检查表。 不用它去"套"用户的稿子。
流程
步 0 · 文本类型判断
读前三章定性 → 输出一句判定 + 三条依据 + 拟用标签集 → 用户确认后再往下走。
判定看三件事:引擎层笑点/爽点靠什么生成;有没有"装逼役+吐槽役"这类双人配置;A 层节拍是否在多个事件里循环复现。
步 1 · 粗拆架构级
先定横轴粒度(这一步决定曲线有没有信息量):
| 样本 | 横轴 | 数据格式 |
|---|---|---|
| ≥ 3 章 | 每章取"章首""章末"两点 | {ch:N, r0, r1, p0, p1} |
| < 3 章 | 改用叙事节点,每章切 3—5 个点 | {label:'1·上门', r, p} |
两章只画两个点等于没画。样本短时用节点模式,把一章切成 3—5 个叙事节点(上门 / 数落 / 自述 / 反转……),横轴标签写"1·上门"这种短标记,并在页面上说明"样本仅 N 章,曲线只覆盖开篇段,不代表全书架构"。
- 主轴:读者情绪 −5 ~ +5(期待/爽为正,压抑/失落为负)。
- 副轴:主角处境,细虚线。两条线背离是正常且关键的(主角越惨读者可能越爽)。
- 事件段:把正文切成 4—8 段完整小事件,标出各段占比。
- 关键节点:金手指/天赋上线、首次打脸、第一个大高潮、章末钩子。
粗拆完成后,先看一件事:同一套节拍有没有在多个事件段里循环复现。如果有(例如"立规则→标准解→主角解→观察席"跑了两遍),那才是真正值得学的骨架;脑洞只是填在"主角解"槽里的皮肉。这条发现要写进结论。
步 2 · 选段
只拆曲线峰谷处,不拆平段。选 2—3 段,每段 500—1000 字:
- 开篇段(第一个上升段)
- 一个峰值段
- 一个反转段或谷底段
步 3 · 精拆布局表
- 纵轴=标签,按功能组聚类(推进 / 破局 / 引擎 / 信息 / 人物 / 语言),不按字母或原编号排序。
- 只显示该段实际用到的标签行。
- 横向=句序,隐形横轴:不做表头不画刻度,纯色带。顶部只留一条"文本推进 →"的渐变提示条。
- 色块深浅=强度 1/2/3。
- 一句挂多个标签=同一列多行都有色块,这是设计本意,不要压成单色。
- 保留空白列:连续空白=过渡或注水,是诊断信号。
标签定义、口诀、易混辨析见 references/tag-dictionary.md。
步 4 · 节拍序列卡
每句取强度最高的标签作为主导标签,合并相邻重复,得到一条 A → B → C 链。合上原文凭这张卡复写,这是拆解闭环的落点。
步 5 · 交叉校验
情绪峰谷 ←→ 结构标签密集区是否对齐:
| 校验点 | 预期 |
|---|---|
| 峰值处 | 有主角解 / 反转 / 引擎层强度 3 的色块 |
| 谷底处 | 有困境堆叠,且没有主角解 |
| 整体 | 每个峰都能落到具体标签簇上 |
对齐 → 爽点是设计出来的,架构可学。对不上 → 要么标注有误,要么原文本身结构松,需在结论里写明。
与之相对的是"读了很爽但说不出为什么爽"的那类书——那种只能赏析,不能模仿。
步 6 · 输出 HTML
复制 assets/template.html,替换数据段(CH / EVENTS / NODES / SEGS)与文字结论,写成 <书名>-拆文.html。
必须包含的八个模块:类型判断表 → 情绪曲线 → 事件段表 → 选段表 → 布局表 → 节拍卡 → 交叉校验表 → 拆完三问 + 复写提示。
落笔前跑一次 scripts/check_data.py(防静默丢行、防句数与元信息不符)。
拆完三问(每次必答)
- 骨架缺哪个? 列出该段缺失的 A 层标签,并判断这个"缺"是缺陷还是该段的本分(开篇段本就不该有主角解)。
- 爽点/笑点从哪来? 用了引擎层哪几个,各几次,位置对不对,与上一段是否重样。
- 我能复现吗? 合上原文,凭节拍卡能否写出同节拍、不同事件的段落。
复写提示的写法(重要)
给方向、给判断标准、给可自检的问题,不要给成品示例段落。
用户要的是能被启发出自己的写法,不是能直接抄的文本。
- ✓ "困境必须可量化——不是'他很艰难',是'鞋拔不出来'。"
- ✗ "你可以这样写:陆阳一脚踩进泥里……"
常见事故
| 事故 | 后果 | 预防 |
|---|---|---|
新标签没登记进 TAGMAP |
那一整行静默消失 | 跑 check_data.py |
| 用词典外的近义标签(如"铺垫") | 同上,且自己看不出来 | 只从 tag-dictionary.md 取词,缺词先登记再标 |
| 段首 meta 写的句数与实际不符 | 校验表引用的句号全错 | 跑 check_data.py |
| 用喜剧引擎层去拆正剧 | 满表误读/吐槽,结论失真 | 步 0 类型判断不可跳过 |
| 只画情绪不划事件段 | 学不到比例,架构白拆 | 铁律 2 |
| 把标签当写作检查表 | 用户照表填格子,写出填空题 | 写在红线里 |
参考文件
references/tag-dictionary.md— 六组 46 个标签:定义 / 口诀 / 要点 / 易混辨析references/text-type-matrix.md— 类型判断与引擎层替换表references/coarse-methodology.md— 选书、扫榜、五维度粗拆assets/template.html— 单文件零依赖交付模板(曲线 SVG + 布局表渲染器)scripts/check_data.py— 标注数据体检