返回首页

研究背景

传统古籍研究中,学者判断一段文字的来源、引用关系和文本传播路径,主要依赖个人阅读积累和少量工具书。面对数以万计的典籍,穷举式人工比对不现实。数字人文领域虽有 BuddhaNexus、Kanripo citfind 等工具,但或限于单一语料库(仅佛典),或缺乏精细的结果分层与评分。

溯源系统整合 CBETA 佛典(1080 万句)与殆知阁古籍(6323 万句)共 7400 万句语料,采用「高速字面召回 + 多维精排 + 语义补充」的两阶段检索架构,一次操作即可发现佛典与外典之间的互文关系,自动区分引文、化用、共词三个层次。

核心功能

  • 引文溯源:粘贴任意古文,系统自动切句后在 7400 万句中检索平行段落,按相似度排序,支持字符级 LCS 高亮
  • 双语料库并行检索:同时搜索 CBETA 佛典与殆知阁古籍(史、子、集、道、儒、医、艺、诗等),一次发现跨部类互文
  • 三级结果分层:引文(≥0.65,红色)、化用(0.45–0.64,黄色)、共词(0.30–0.44,灰色),直观展示关系类型
  • 粒度控制与预评分:支持 1/2/3 句及全文四种检索粒度,批量预评着色标示哪些句子最可能有平行文本
  • 语义检索补充:整合 MITRA/BuddhaNexus 预计算向量索引(149 万条),字面检索不足时自动触发语义补召回
  • 文本亲缘分析:预计算 60 万+ 文献对之间的互引关系,支持网络可视化与深度逐句比对

技术方法

系统采用两层检索架构,兼顾速度与精度:

  • Layer 1 — FTS5 Trigram 召回:从查询提取所有三字组合,在 SQLite FTS5 全文索引中 OR 检索,2 秒内从 7400 万句中筛选 300 候选;支持简繁双向 Trigram 和佛教同义词扩展(11,877 术语)
  • Layer 2 — 混合评分精排:F1 覆盖率(LCS)+ 连续性(最长公共子串)+ 稀有字加权,预过滤跳过 60% 候选;区分「般若菩薩」等关键术语与「之者也不」等高频虚词的信息量
  • 语义通道:FAISS 压缩索引(PQ,120MB)+ seed FTS5 桥接,将 chunk 级语义结果映射回句级,与字面结果统一展示
  • 异体字处理:查询端 21,290 条异体字→正字映射,简繁双向 Trigram 生成,解决「念」vs「唸」等歧义
Python Flask SQLite FTS5 FAISS OpenCC pylcs

使用材料

  • CBETA 电子佛典集成:17 系列、4363 部佛典,1080 万句(CC BY-NC-SA 4.0)
  • 殆知阁数字图书馆:10 大类、8229 部古籍,6323 万句(排除佛藏以避免重复)
  • MITRA/BuddhaNexus:Sebastian Nehrdich 项目,CBETA 段落级语义向量
  • 异体字数据:教育部异体字字典及相关学术整理(21,290 条映射)
  • 朝代元数据:京都大学人文科学研究所典籍目录

数字文献学启发

溯源系统展示了「大规模文本复用检测」在古籍研究中的巨大潜力。传统学者穷其一生积累的阅读量,也难以覆盖 7400 万句的交叉比对。系统在开发测试中已发现多项有价值的跨典籍引用线索:《太平御覽》系统性征引佛典与六朝史书,《全上古三代秦漢三國六朝文》大量收录与《高僧传》相关的原始文献,《三國遺事》与 CBETA 佛典存在显著文本复用。这些发现印证了数字方法在发现「人眼难以察觉的跨部类互文关系」上的独特优势。

立即体验 查看其他项目 了解更多关于数字文献学