467 Stars 🍴 55 Forks 👀 8 Watchers HTML
GitHub 链接https://github.com/baojie/shiji-kb
创建时间2025-03-12
更新时间2026-03-24
📖 README English
# 史记知识库 - 让两千年的文字活过来 > 现在没有人再会读没有标点符号的文章,未来也不会有人愿意读没有语法高亮的文章。 ## 📖 [在线语法加亮阅读访问 →](https://baojie.github.io/shiji-kb) **许可证**: [CC BY-NC-SA 4.0](LICENSE) - 署名-非商业性使用-相同方式共享 --- ## 🎨 玩转史记:无穷的二次创造 **史记是个巨大的宝库,知识图谱是产生创见的浓缩咖啡。** 它能让我们更快、更自动化地创作出更多更好的播客、短视频、小说、电影、游戏。当然,也能帮我们发现历史真相,进行学术研究。 最新好玩的实验,都是刚刚开始的,在进行中的半成品: - **[太史公曰](labs/sima-qian-style/)** - AI学太史公写作:三层SKILL架构,把乔布斯、葛底斯堡演说改写成《史记》文风 - **[太史公怎么知道](labs/source-inference/)** - 史料溯源推理:鸿门宴、荆轲刺秦的故事是怎么传到司马迁耳朵里的? - **[矛盾分析](labs/contradiction-analysis/)** - 130篇里谁说了假话:AI跨篇章矛盾检测 - **[语义排版](labs/prototypes/)** - 文本也能像代码一样高亮:句间关系可视化 → 更多实验见 [`labs/`](labs/) 目录 近期规划:3月完成史记,4月处理汉书和左传,5月完成通鉴。 --- ## 💡 核心突破 语法高亮是认知辅助的第一步。更深层的突破是:**当实体、事件、关系被结构化后,机器能发现人力不可能完成的模式——跨130篇的矛盾检测、跨越2600年的规律归纳、从57万字中自动推断治乱兴衰的深层逻辑。** 一个人,6周,120小时人工+30亿tokens。从零开始,将《史记》转化为: - **15,190个实体**,102,851次标注(18类) - **3,197个历史事件**,98.7%标注公元纪年 - **7,637条事件关系**(9种类型) - **130条交互式时间线**("史记地铁图") - **2本PDF方法论书籍**(425页元技能+438页管线技能) --- ## 三大突破 ### 🎯 Agentic Ontology:AI时代的知识工程新范式 | | 传统本体构建(2001) | Agentic Ontology(2026) | |--|---------------------|---------------------------| | 起点 | 专家在Protégé中从空白开始 | AI从原始文本中提取 | | 方向 | 自上而下设计 | 自下而上涌现 | | 规模 | 数十个类、数百个实例 | 数千个类、数万个实例 | | 迭代速度 | 数周一轮 | 数小时一轮 | | 核心瓶颈 | **2001: 设计** | **2026: 反思/进化** | **核心转变**:2001年的难点是"设计本体",2026年的难点是"反思/进化AI提取的本体"。本体不再是专家预先设计的蓝图,而是从数据中生长出来、由人类修剪和校准的有机结构。 > 详见方法论对标文档:[Agentic Ontology 101](resources/publications/draft/agentic_ontology_101.md)(英文,对标Noy & McGuinness 2001经典) ### 📚 可复用方法论:从一部书到整个文库 **14个元技能(Meta-Skills)** - 通用知识工程方法论 - OTF+JIT+Bootstrap、反思循环、冷启动、柳叶刀方法、质量控制…… - → **[下载PDF合集(425页,2.35MB)](resources/publications/meta-skill-book/大规模知识库构造元技能方法论.pdf)** **40个管线技能(Pipeline Skills)** - 古籍处理完整技术栈 - 校勘→结构分析→实体构建→事件构建→关系构建→本体构建→逻辑推理→SKU→应用 - → **[下载PDF合集(438页,3.01MB)](resources/publications/pipeline-skills-book/史记知识库构造管线技能手册.pdf)** **技术文章** - 方法论实战解读 - 《从历史书中探索知识图谱》(2026-03-19):项目缘起、核心成果、技术架构、元技能体系的完整呈现 - → **[下载PDF(14页,1.5MB)](resources/publications/draft/从历史书中探索知识图谱.pdf)** **为什么是SKILL而非代码?** 这套管线的执行,没有人从头写过一行传统程序。每一步对应一份SKILL文档——用结构化自然语言写清楚:输入是什么、处理逻辑是什么、输出是什么、怎么验证。AI读SKILL,执行SKILL,产出结果。 **更有意思的是**:提炼SKILL本身也是一个SKILL。系统可以从任何一本书里学会新的研究方法,把这个方法编码成SKILL,然后用这个SKILL处理下一批材料——**知识工程的自举**。 ### 🔍 从数据中涌现的洞见 知识图谱在构建过程中发现了20+个跨章洞见(详见 [eureka.md](ontology/eureka.md)): - **征服-治理倒转**:打天下的手段恰恰是治天下的障碍 - **边缘优势**:成功王朝一致从边缘地区起源 - **宽恕悖论**:对下属的宽恕创造忠诚,对敌国的宽恕制造灾难 - **秦始皇无皇后之谜**:《史记》完全没有记载秦始皇的皇后是谁——当知识库建立了"君主→应有→皇后"的本体规则,把所有帝王过一遍:黄帝有嫘祖,禹有涂山氏,刘邦有吕后……秦始皇那一格是空的。异常自动浮现。 - **项羽之死数字矛盾**:《项羽本纪》记载东城之战斩杀"数十百人",《高祖本纪》记载同一战役斩首"八万",数字相差100倍 这证明:**当知识被充分结构化后,机器辅助的推理能发现人类难以通过线性阅读察觉的深层模式**。 --- ## 在线体验 ### 阅读器五个层次 从原始文本到全功能知识库,演进路径: **原文 → 专名标注 → 语法高亮 → 语义排版 → 关系连线** [查看完整演进过程](resources/publications/notes/史记语法高亮创造过程.md) | [语义排版技术细节](resources/publications/draft/史记阅读器重构与语义排版.md) ### 在线Demo **首页**: [https://baojie.github.io/shiji-kb](https://baojie.github.io/shiji-kb) **精选章节**: - [五帝本纪](https://baojie.github.io/shiji-kb/chapters/001_五帝本纪.html) - 上古神话与帝王传说 - [项羽本纪](https://baojie.github.io/shiji-kb/chapters/007_项羽本纪.html) - 西楚霸王的兴衰 - [秦楚之际月表](https://baojie.github.io/shiji-kb/chapters/016_秦楚之际月表.html) - 交互式历史年表 - [孔子世家](https://baojie.github.io/shiji-kb/chapters/047_孔子世家.html) - 儒家圣人的一生 - [刺客列传](https://baojie.github.io/shiji-kb/chapters/086_刺客列传.html) - 专诸、聂政、荆轲传奇 ### 核心功能 - **18类实体语法高亮**:人名/地名/官职/时间/朝代/制度/族群/器物/天文/神话/生物/数量/典籍/思想/身份/邦国/氏族/事件 - **三家注悬停弹窗**:裴骃《集解》、司马贞《索隐》、张守节《正义》,一千多年前的注释自动浮现 - **Purple Numbers段落编号**:致敬Doug Engelbart,每个段落可精确引用和分享 - **知识索引可点击跳转**:11,680个实体词条 + 96个语义关系,别名合并595条,语义消歧644处 - **史记地铁图**:130条线路×3,197站点,支持缩放/拖拽/搜索/时间线 ([app/metro](app/metro)) --- ## 核心数据 | 类别 | 规模 | 亮点 | |------|------|------| | **文本标注** | 130篇,57.7万字 | 18类实体,100%覆盖 | | **实体** | 15,190词条,102,851次标注 | 5轮反思审查,累计修正12,200+处 | | **知识索引** | 18类实体 + 3类语义关系,共11,992条目 | 别名合并595条,语义消歧644处,动词7,151次 | | **事件** | 3,197个,11类事件类型 | 98.7%已标注公元纪年 | | **事件关系** | 7,637条,9种类型 | 4种自动计算+5种LLM推断,1,876个跨章换乘 | | **知识单元** | 434事实+241技能 | 7,497个实体关联 | | **方法论** | 14元技能+40管线技能 | 2本PDF合集(共863页) | | **技术文章** | 1篇,14页PDF | 《从历史书中探索知识图谱》(2026-03-19) | ### 标注质量里程碑 - ✅ **2026-03-17**:第一轮实体反思,全书130章系统审查,修正1,913处标注错误,原文完整性100%验证通过 - ✅ **2026-03-19**:CSS渲染升级v5.4,身份标注符号语义修复(8,774处) - 📊 详见 [第一轮实体反思报告](doc/entities/第一轮实体反思报告.md) | [CSS版本历史](doc/spec/CSS版本历史_v5.4.md) --- ## 方法论架构 ### 四层语义递进模型 ``` 结构语义 → 图谱语义 → 知识语义 → 应用语义 ``` 每一层回答不同的问题,严格递进: 1. **结构语义**(第1层):文本怎么组织的?句子间什么关系? - 校勘、切分、编号、句间关系识别、三家注对齐 2. **图谱语义**(第2层):谁做了什么?在哪里?什么时候? - 实体标注、事件提取、关系发现、年代推断 3. **知识语义**(第3层):怎么分类?遵循什么规律? - 本体构建、逻辑推理、知识单元化、模式识别 4. **应用语义**(第4层):历史真相是什么?有哪些矛盾?能发现什么规律? - 矛盾检测、规律归纳、交互式探索、洞见挖掘 详见:[研究方法总则](doc/methodology/研究方法总则.md) | [项目初衷、愿景与未来方向](resources/publications/notes/项目初衷、愿景与未来方向.md) ### 九步管线(Agent驱动,可并行) ``` 01 校勘 → 02 结构分析 → 03 实体构建 → [04 事件 / 05 关系 / 06 本体 并行] → 07 逻辑推理 → 08 SKU构造 → 09 应用构造 ``` - **校勘**:多版本比对,生成定本 ([SKILL 01](skills/SKILL_01_古籍校勘.md)) - **结构分析**:章节切分、Purple Numbers编号、句间语义关系、三家注对齐 ([SKILL 02](skills/SKILL_02_结构分析.md)) - **实体构建**:18类NER标注、别名消歧、多轮反思审查 ([SKILL 03](skills/SKILL_03_实体构建.md)) - **事件构建**:结构化事件提取、公元纪年推断、十轮反思校正 ([SKILL 04](skills/SKILL_04_事件构建.md)) - **关系构建**:9种关系类型、SPO三元组、事件链路 ([SKILL 05](skills/SKILL_05_关系构建.md)) - **本体构建**:实体词表→分类树→OWL/RDF ([SKILL 06](skills/SKILL_06_本体构建.md)) - **逻辑推理**:矛盾检测、生卒年推断、姓氏推理 ([SKILL 07](skills/SKILL_07_逻辑推理.md)) - **SKU构造**:知识单元化(Factual/Procedural/Relational) ([SKILL 08](skills/SKILL_08_SKU构造.md)) - **应用构造**:阅读器、地铁图、游戏化、问答 ([SKILL 09](skills/SKILL_09_应用构造.md)) 详见:[管线总览](skills/SKILL_00_管线总览.md) | [完整技能索引](skills/) --- ## 从一部书到一个文库 ### 近期:深化《史记》(2026 Q2-Q3) - **十表交互式查看器**:将年表从静态HTML转为可筛选、可排序的动态表格 - **社会网络分析**:基于3,797个人名和已有关系数据,构建跨朝代人物网络 - **时空分析**:对接CHGIS(中国历史地理信息系统),构建可按朝代切换底图的交互式历史地图 - **系统化矛盾检测**:跨章交叉验证(如007项羽本纪 vs 008高祖本纪的死伤数矛盾) - **Neo4j图数据库**:导入知识图谱,支持Cypher查询和图算法分析 ### 中期:扩展到26史+资治通鉴(2026-2027) 项目的方法论(管线架构、SKILL文档、Agent工作流)设计之初就考虑了可移植性: | 目标 | 规模 | 成本估算 | 适配要点 | |------|------|---------|---------| | 二十六史 | ~4,000万字 | 优化后~5-10万元 | 实体类型扩展、朝代特有制度 | | 资治通鉴系列 | ~600-700万字 | 优化后~1-2万元 | 编年体结构、与纪传体互参 | | 先秦诸子 | ~100万字 | 优化后~2千元 | 思想概念为核心实体、论证结构分析 | **关键**:不是重复劳动,而是**复用已验证的SKILL,让每一部新古籍的处理成本递减**。 史记一共60万字,处理成本约千元级别(含试错和方法论探索)。优化后,每10万字成本可降至百元级别。 ### 远期:30亿字级古籍数字化基础设施(2028+) - **四库全书、佛道经典**:总规模约30亿字 - **Agent驱动、Skills可复用**:方法论本身成为可分发的知识资产 - **从文献到知识到发现**:机器不只是帮助阅读,而是帮助**发现**——跨文献的交叉验证、矛盾识别、规律归纳 - **开放协作**:代码和方法论开源,数据以CC BY-NC-SA 4.0发布 最终愿景:**建立一个由AI Agent维护和持续进化的中国古典文献知识网络,让任何人都能以问答、可视化、推理的方式探索数千年的历史智慧。** ### 应用场景 详见:[史记阅读器重构与语义排版](resources/publications/draft/史记阅读器重构与语义排版.md) - **文艺二次创造**:历史小说/电影/短剧素材引擎(马伯庸式写作模式工业化) - **游戏化**:SKU→技能卡,事件→剧情,实体→角色。一个知识库支撑一百款不同游戏 - **历史探案**:李开元式侦探逻辑系统化(年龄/婚姻/家庭一致性自动检验) - **跨语言历史**:波斯文/蒙古文/阿拉伯文史料融合中文知识图谱,边疆史多视角呈现 - **考古应用**:16万份甲骨拓片系统性分析,单字研究逻辑并行化 --- ## 快速开始 ```bash # 1. 克隆项目 git clone https://github.com/baojie/shiji-kb.git cd shiji-kb # 2. 安装依赖 pip install -r requirements.txt # 3. 生成HTML(单章或全部) python render_shiji_html.py chapter_md/001_五帝本纪.tagged.md python generate_all_chapters.py # 4. 查看结果 # 在线:https://baojie.github.io/shiji-kb # 本地:打开 docs/chapters/ 下的HTML文件 ``` --- ## 目录结构 完整目录树和详细说明见:[PROJECT_STRUCTURE.md](resources/help/PROJECT_STRUCTURE.md) --- ## 作者与贡献 ### 创建者 **鲍捷** ([baojie](https://github.com/baojie)) - Email: baojie@gmail.com - 微信: baojiexigua - GitHub: @baojie ### AI协作者 **Claude Code** (Anthropic) - 主力模型:Claude Sonnet 4.5 / Opus 4.6 - 累计消耗:~30亿tokens,约120小时人机协作 - 分工:AI负责大规模标注、代码开发、文档生成;人负责愿景、审美、质量把控、任务调度 ### 贡献方式 欢迎各种形式的贡献: - 知识图谱完善(实体标注修正、事件关系补充) - 代码改进(渲染器优化、新功能开发) - 学术讨论(方法论反馈、应用场景探索) - 可视化设计(阅读器UI改进、数据可视化) - Bug报告和功能建议 **参与指南**: [resources/help/CONTRIBUTING.md](resources/help/CONTRIBUTING.md) - 详细的贡献流程和规范 **GitHub Issues**: <https://github.com/baojie/shiji-kb/issues> ### 许可证 - **标注数据**:[CC BY-NC-SA 4.0](LICENSE) - 署名-非商业性使用-相同方式共享 - **分析脚本**:MIT License - 自由使用、修改、分发 - **《史记》原文**:公有领域作品 ### 致谢 - **原始文本**:[维基文库《史记》](https://zh.wikisource.org/wiki/史記) - **底层AI基础设施**:Claude Code、Claude Sonnet 4.5、Claude Opus 4.6 (Anthropic) - **灵感来源**:Doug Engelbart(Purple Numbers)、Noy & McGuinness(Ontology Development 101) --- ## 错误与修正:AI辅助项目的必然挑战 ### 为什么会有错误? 这是一个人+AI协作的大规模知识工程项目。**57.7万字、15,190个实体、3,197个事件**,全部由AI Agent在有限提示词指导下自动提取。错误不仅不可避免,而且**预期之内**。 #### 错误的三个主要来源 **1. AI理解偏差** - **古文歧义性**:同一个字在不同语境下可能是人名、地名或普通词汇(如"齐"可以是齐国、齐桓公,也可以表示"相同") - **多义实体**:历史上有多个同名人物(如张良、李斯跨朝代同名) - **隐性指代**:史记中大量使用"公""侯""王"等称谓,需要结合上下文推断具体是谁 **2. 标注规范的动态演进** - 项目初期规范不完善,随着数据积累逐步细化 - 例如:身份标注符号语义在v5.4版本才系统修复(8,774处调整) - 跨章一致性问题:不同章节标注时段不同,规范认知有差异 **3. 复杂推理的边界** - **年代推断**:史记使用在位纪年,转换到公元年需要多步推理(君主在位年表→在位年数→公元映射) - **事件关系**:因果关系、时序关系等语义判断,AI准确率约85-92% - **消歧决策**:判断两个"韩信"是否是同一人,需要综合地理、时间、职位等多维信息 ### 我们怎么修正? #### 结构化反思循环(Agent-driven Quality Loop) ``` [AI初始标注] → [规则校验] → [Agent反思] → [批量修正] → [人工抽检] → [规范迭代] ↑ ↓ └─────────────────────── 下一轮反思 ←──────────────────────────┘ ``` #### 实证:事件年代审查的质量收敛 | 轮次 | 修正数 | 涉及章节 | 错误率下降 | |------|--------|---------|-----------| | 第1轮 | 1,010 | 118/130 | 初始基线 | | 第2轮 | 431 | 105/130 | ↓ 57% | | 第3轮 | 465 | 70/130 | ↓ 8% (新类型错误) | | 第4轮 | 167 | 68/130 | ↓ 64% | | 第5轮 | 46 | 28/130 | ↓ 72% | **关键洞察**:90%准确率的AI标注 + 5轮反思,总耗时5天,成本约200元。人工从零标注57万字,估计需要6-12个月。**速度提升100倍的代价是接受初始错误并系统性迭代修正**。 #### 多层质量保障机制 **1. 自动校验工具链** - **原文完整性检验**:100%验证标注后字符数与原文匹配 - **符号对称性检验**:`〖@人名〗` 开合标签必须配对 - **实体类型约束**:18类实体的合法性检查 - **跨文件引用检查**:事件中引用的人名/地名必须存在于知识索引 **2. Agent反思审查** - **第一轮实体反思**(2026-03-17):130章系统审查,修正1,913处标注错误 - **事件年代审查**:5轮迭代,修正2,119处年代推断错误 - **别名消歧**:595条别名合并,644处同名消歧 **3. 人工抽查与规范修订** - 每完成一批反思,人工抽检5-10%结果 - 根据发现的系统性问题修订SKILL文档 - 重新运行受影响章节的标注 ### 已知问题清单 详见 [Issues](https://github.com/baojie/shiji-kb/issues),当前主要问题类型: - **实体边界模糊**:复合词如"汉中王"应该标注为"汉中(地名)+王(身份)"还是整体标注为"职位"? - **事件粒度不一致**:部分章节事件切分过细(一句话多个事件),部分过粗(一段只有一个事件) - **关系推断过度**:某些因果关系是AI过度推理,史记原文未明确表达 - **年代推断空缺**:约1.3%的事件无法推断具体公元年(如神话时期、记载过于模糊的事件) ### 如何报告错误? 我们**非常欢迎**社区帮助发现和修正错误! #### 报告途径 **GitHub Issues**: <https://github.com/baojie/shiji-kb/issues> **报告方式**:最简单的方式是**直接截图上传**,配一句话说明问题即可。我们会从截图中定位章节和具体位置。 #### 我们会怎么处理? 1. **48小时内响应**:标记issue类型、优先级 2. **批量修正**:累积同类错误,用Agent批量修正而非逐个手工改 3. **规范更新**:如果是系统性问题,更新SKILL文档并重新运行相关章节 4. **贡献者致谢**:在commit message和更新日志中致谢报告者 ### 长期愿景:众包质量迭代 未来计划: - **公开质量看板**:实时展示各章节各类标注的置信度分数 - **众包审校系统**:社区成员可以在线提交修正建议,自动生成PR - **置信度标注**:给每个实体/事件/关系标注AI的置信度,低置信度项优先人工复核 - **对抗性验证**:用不同模型独立标注同一文本,差异处自动标记为待审查 **核心理念**:**不追求一次性完美,追求可观测、可迭代的渐进完善**。开放数据+开放流程+社区协作,让知识库像开源软件一样持续演化。 --- **免责声明**:本项目由AI辅助生成,标注和知识提取中不可避免地存在错误和疏漏。我们正在与AI一起持续修正和完善。本知识库严格局限于《史记》本身的文本内容,不涉及史实考证。 --- **项目维护者**:[baojie](https://github.com/baojie) · **最后更新**:2026-03-21 ## 赞助一杯咖啡 如果你觉得这个项目有意义,欢迎支持我继续做下去。数额随意,不用超过一杯咖啡钱。 <img width="201" height="277" alt="赞助一杯咖啡" src="https://github.com/user-attachments/assets/b546252c-b04b-4bce-97cd-e18afd48ad85" />
🛠 部署服务

如果你在部署 baojie/shiji-kb 项目时碰到困难,请联系我们。

我们有技术团队提供专业化的项目安装、运维服务。

联系我们 →
微信客服

添加注明:会员账号

微信客服二维码