其他
分析非虚构电子书并建立可追溯引文的知识库:按概念/实体提取并…
当你需要从非虚构电子书中提取带精确引文可追溯的知识、按概念或实体分类并跨书综合时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 38/100 ×0.15
适用场景
分析非虚构电子书并建立可追溯引文的知识库特定
解决思路
- 选择提取模式:需要理解一本书的论证结构或生成可执行要点时用概念提取;需要建立跨书参考库或追踪研究者跨来源说法时用实体提取;两者都要时按顺序运行两种模式。
- 概念提取模式用于提取可迁移思想、构建概念分类体系、理解抽象原则与具体战术的关系,输出 analysis.json、concepts.json。
- 实体提取模式用于提取可跨书交叉引用的命名事物,进行实体解析,把不同书中同一 study/researcher/framework 识别为同一实体,输出知识库结构中的 Markdown 文件。
- 始终保证每次提取都能追溯到精确来源;宁可少提取但有完整出处,也不多提取但无出处。
- 概念提取时按类型区分思想:Principle 是基础真理/公理;Mechanism 是某事如何运作;Pattern 是反复出现的结构/方法;Strategy 是实现目标的高层方法;Tactic 是具体可执行技术。
- 概念提取时按抽象层分类:Layer 0 为普适原则;Layer 1 为领域特定理论;Layer 2 为战略/框架;Layer 3 为具体方法;Layer 4 为具体实现。
- 概念提取时使用关系类型连接概念:INFLUENCES 表示 A 影响 B;SUPPORTS 表示 A 为 B 提供证据;CONTRADICTS 表示 A 与 B 冲突;COMPOSED_OF 表示 A 包含 B;DERIVES_FROM 表示 A 由 B 推导。
- 概念提取工作流第 1 步:运行 ea-parse.ts 对书进行分块并跟踪位置。
- 概念提取工作流第 2 步:把分块提交给 LLM 识别概念,并要求带精确引文。
- 概念提取工作流第 3 步:为概念分配类型(principle→tactic)和层级(0-4)。
- 概念提取工作流第 4 步:添加主题和功能分析。
- 概念提取工作流第 5 步:连接相关概念。
- 概念提取工作流第 6 步:导出 analysis.json、concepts.json、report.md。
- 跟踪概念提取状态:EA0 无输入文件时引导准备文件;EA1 原始文件未解析时运行 ea-parse.ts;EA2 已解析未提取时用 LLM 提取概念;EA3 已提取未分类时分配类型和层级;EA4 已分类未标注时添加主题和关系;EA5 单本书完成时导出或进入综合;EA6 多本书就绪时做跨书综合;EA7 分析完成时生成报告。
- 实体提取时把命名事物分为五类:study 捕获研究发现、实验、数据;researcher 捕获人物及其贡献;framework 捕获心智模型、分类法、系统;anecdote 捕获用于说明观点的故事;concept 捕获不是框架的思想。
- 对不 fits 五类的实体按扩展规则处理:模拟/游戏归为 anecdote;机构归为 researcher;历史事件归为 anecdote;假设场景归为 anecdote;系统性思想实验归为 framework,否则归为 concept。
- 当类型不确定时,叙事/事件默认 anecdote,想法默认 concept,系统方法默认 framework。
- 处理作者兼实体模式:当作者有显著先前工作或机构隶属、出现在 Wikipedia 或其他参考来源、背景/资历与理解本书相关、或你的收藏中其他书可能引用他们时,创建 researcher 实体。
- 当作者仅因本书知名或没有外部来源可验证/丰富实体时,跳过创建作者实体。
- 作者兼实体在实体文件中加入模板段落:## Note,说明该 researcher 是收藏中 [Book] 的作者,其框架和概念另处记录。
- 创建实体文件时使用模板字段:标题、Type、Status(stub/partial/solid/authoritative)、Last Updated、Aliases。
- 实体文件包含 Summary,写 2-3 句综合理解。
- 实体文件包含 Key Findings / What It Illustrates,逐条写主张或发现并附来源:— Source: [Book], Ch.[X]。
- 实体文件包含 Key Quotes,摘录作者原文可引用语句。
- 实体文件包含 Sources in Collection 表格:Book、Author、How It's Used、Citation。
- 实体文件包含 Sources NOT in Collection,列出能丰富该实体的未收藏书籍。
- 实体文件包含 Related Entities,链接其他实体并描述关系。
- 实体文件包含 Open Questions,记录尚不知道的内容。
- 建立知识库目录结构:/knowledge/ 下放 _index.md 主注册表和 _entities.json 可搜索索引(生成)。
- 按领域建立子目录:nonfiction 下按 studies、researchers、frameworks、anecdotes、concepts 分类;cooking 下 techniques、ingredients、equipment;technical 下 patterns、technologies。
- 为每本书创建引文文件:_[book-slug]-quotes.md,结构包含书名、作者、Last Updated、按主题分组的引用。
- 判断好引文的标准:措辞难忘且抓住关键洞见、可独立理解、有意外或反直觉表述、可用于演示/写作/参考。
- 实体提取工作流第 1 步:扫描书,识别命名的 studies、researchers、frameworks、说明性故事。
- 实体提取工作流第 2 步:用 kb-resolve-entity.ts 检查实体是否已存在。
- 实体提取工作流第 3 步:新实体创建文件;已有实体添加为来源。
- 实体提取工作流第 4 步:提取难忘引文到 quotes 文件。
- 实体提取工作流第 5 步:添加 Related Entities 交叉链接。
- 实体提取工作流第 6 步:运行 kb-generate-index.ts 重新生成索引。
- 跟踪实体提取状态:KB0 无知识库时创建目录结构;KB1 结构存在但无实体时开始提取;KB2 正在从书提取时创建实体文件;KB3 实体已创建未链接时添加 Related Entities;KB4 已链接但无索引时运行 kb-generate-index.ts;KB5 本书完成时进入下一本。
- 当 2+ 本书已提取到知识库时触发跨书综合。
- 跨书综合目标:找出现在多本书中的实体;识别书之间概念连接;浮现矛盾或互补视角;用多来源综合更新实体文件。
- 跨书综合第 1 步:实体重叠检测,运行 grep -l "Sources in Collection" knowledge/nonfiction/**/*.md | xargs grep -l "| .* | .* |" | head -20,或手动审查以新来源更新的实体。
- 跨书综合第 2 步:概念连接映射,比较跨书框架(如 Range 的 wicked environments 与 Imaginable 的 futures thinking),识别共享研究者(如 Tetlock 同时出现在 Range 和 Imaginable),寻找互补主题(预测失败→在不确定中做准备)。
- 跨书综合第 3 步:为出现在 2+ 本书的实体更新 Summary 部分,综合两个来源的理解并注明一致与差异。
- 跨书综合第 4 步:在 context/insights/cross-book-{theme}.md 记录跨书洞见,包含 Books Contributing(书名、作者、视角)和 Synthesis(书籍如何互补或矛盾)。
- 使用 ea-parse.ts 解析电子书:deno run --allow-read scripts/ea-parse.ts path/to/book.txt;或 deno run --allow-read scripts/ea-parse.ts path/to/book.epub --format epub;或 deno run --allow-read scripts/ea-parse.ts book.txt --chunk-size 1500 --overlap 150。
- ea-parse.ts 输出 JSON,包含 metadata、chapters(如检测到)和带位置的 chunks。
- 使用 kb-generate-index.ts 扫描知识库并生成可搜索实体索引:deno run --allow-read --allow-write scripts/kb-generate-index.ts /path/to/knowledge;输出 _entities.json,含所有实体、别名和元数据。
- 使用 kb-resolve-entity.ts 创建前去重搜索:deno run --allow-read scripts/kb-resolve-entity.ts "Flynn Effect";deno run --allow-read scripts/kb-resolve-entity.ts "Hogarth" --threshold 0.5;deno run --allow-read scripts/kb-resolve-entity.ts "kind learning" --json。
- kb-resolve-entity.ts 选项:--threshold <0-1> 最小匹配分数,默认 0.3;--limit <n> 最大结果数,默认 5;--json 输出为 JSON。
- 使用 ea-validate.ts 校验分析输出引用准确性和 schema 完整性:deno run --allow-read scripts/ea-validate.ts analysis.json --report。
- 避免提取洪泛:提取前问“我会引用这个吗?”,质量优先于数量。
- 避免引用黑洞:始终捕获精确引文、章节参考、上下文。
- 避免重复实体:创建新实体前总是运行 kb-resolve-entity.ts。
- 避免孤儿实体:每个实体至少连接 2 个其他实体。
- 避免无引文实体:包含 Key Quotes 部分,记录作者原话。
- 避免单书孤岛:2+ 本书后运行综合寻找连接。
- 完整实体提取示例工作流:逐章扫描书;识别所有命名 studies、researchers、frameworks、anecdotes;创建 inventory 文档列出所有潜在实体;对每个实体运行 kb-resolve-entity.ts "[entity name]" 检查存在性;在对应类型目录创建 Markdown 文件;用发现和引用填充模板;添加 Key Quotes 部分;创建 _range-quotes.md 记录所有难忘引文;更新 _index.md 加入新实体;运行 kb-generate-index.ts 重建 _entities.json。
- 快速概念扫描示例工作流:运行 ea-parse.ts book.txt --chunk-size 2000;对每个 chunk 提取 top 3-5 concepts;按类型和层级分类;生成 concepts.json 和 report.md。
- 持久化实体提取输出:实体文件放 knowledge/{domain}/{type}/{entity-slug}.md;quotes 文件放 knowledge/{domain}/_[book]-quotes.md;实体索引放 knowledge/_entities.json;领域索引放 knowledge/{domain}/_index.md。
- 持久化概念提取输出:完整分析放 ebook-analysis/{author}-{title}/analysis.json;仅概念放 ebook-analysis/{author}-{title}/concepts.json;引用放 ebook-analysis/{author}-{title}/citations.json;报告放 ebook-analysis/{author}-{title}/report.md。
- 可自动验证:引用位置存在(引用文本出现在声称位置);schema 完整性;交叉引用完整性;重复检测(通过 kb-resolve-entity.ts)。
- 需人工判断:重要性(是否值得提取);分类(是 framework 还是 concept);关系有效性(A 是否真的影响 B);引文质量(是否真的难忘)。
- 集成入站:research 后准备多书综合;reverse-outliner 后为概念提取提供结构数据。
- 集成出站:实体提取完成后交给 dna-extraction 做深度功能分析;概念提取完成后交给 media-meta-analysis 做跨来源综合。
- 互补技能:dna-extraction 做 6 轴功能分析用于标注;reverse-outliner 做小说结构方法;voice-analysis 做作者风格指纹;context-network 做知识库维护。
- 按书密度校准:密集非虚构(Range、Thinking Fast & Slow)预期 60-100 个实体,4-6 小时;中等非虚构(多数商业书)30-50,2-3 小时;轻非虚构(大众科学)15-30,1-2 小时;技术书 20-40,2-3 小时。
- 按书子类型校准实体概况:Research synthesis(如 Range)多 studies/researchers/frameworks,60-100;Methodological/How-to(如 Imaginable)多 frameworks、少 studies,30-50;Memoir/Narrative(如 Educated)少 frameworks、多 anecdotes,20-40;Reference(技术手册)多 concepts、少 anecdotes,数量可变。
- 元数据可靠性警告:Calibre 标签、图书馆分类常错误、笼统、不一致;提取前总是验证分类是否合理;例如方法论书 Imaginable 被标为 fiction 是元数据错误。
- 标准推理用于单 chunk 概念提取、类型/层级分类、简单关系识别、单个实体创建。
- 扩展推理(ultrathink)用于多书综合(同时保持多个网络)、矛盾检测(跨来源语义比较)、主题涌现(大数据集找模式)、知识缺口识别(推理缺少什么);触发短语包括 “synthesize across books”、“find contradictions”、“identify gaps”、“comprehensive analysis”。
- 不要在没有引用可追溯性的情况下提取。
- 不要在未检查重复的情况下创建实体。
- 不要跳过链接阶段;孤儿实体没用。
- 不要让实体没有引文。
- 不要将虚构作品当作非虚构处理。
- 不要用 regex 做语义分析;只用 LLM 判断。
适用边界 · 注意事项
- 不适用于虚构作品按非虚构知识提取;如果分析小说结构,应改用 reverse-outliner 等结构方法。
- 不适用于无法保留精确引文与位置、或来源不可引用的场景;引文可追溯性不可妥协。
- 不适用于只有单本书却要做跨书综合;跨书综合需至少 2 本书已提取到知识库。