Skip to content

跨端交接:pos_definitions 质量治理 → RB reseed migration

日期:2026-06-02 方向:RVH(治理 + 重导出)→ RB(reseed 重导入) 关联rvh/docs/plans/pos-definitions-quality-governance.md、CHANGELOG.md [Unreleased]、红线 #5e(lemmatizer/词库 byte-equal)


背景

vocabulary.pos_definitions 三端 byte-equal 共用。RB 端 2026-06-02 实测发现两维质量问题(例句 23.5% >200 字符的 Wiktionary 长引文/古拼写/书目/OCR 残留;平均 5.09 义项/词、11.6% archaic,粒度过细抬高 RB 的 LLM 消歧成本与误选率)。pos_definitions 由 RVH pipeline(kaikki → DB)生成,RB 不能改,故由 RVH 在源头治理后整包重导出,RB 据此 reseed。

RVH 已完成

  • tools/vocabulary_builder_v3/ 新增 lib/quality_governor.dart + bin/govern_quality.dart后处理 output/translated_vocabulary.jsonl(不重跑 LLM,保留全部翻译/CEFR/audit),重建 reading_vocab.db
  • 治理规则:
    • 例句:丢 <15 / >200 字符;丢含省略号 /... 的截断/拼接引文;优先单句(多句丢,缩写误报豁免);过滤全大写标题 / 古拼写(long-s ſ、thou/hath/-eth 等)/ 书目引文(ISBN/vol./doi/年份括注)/ OCR 转义残留(含裸数字字符引用 #NN;);每 sense 按「含目标词·短」排序取 ≤3;宁缺毋滥。
    • 释义:每 POS 封顶 5;丢 value_tier=='archaic' 义项 + 双重空保护(POS 全 archaic 留 1 条;词级 zh 锚点保护保证词数不掉);近义启发式去重;裁剪 gloss 开头冗长 register 括注。
  • RVH _preinstalledVocabVersion 13 → 14(既存安装下次启动 UPSERT 覆盖 pos_definitions)。schema 不变(仍 v52)。

治理效果(实测)

指标治理前治理后
vocab-grade 词数12,29112,291(不变)
义项总数73,12055,369(avg 4.50/词)
例句总数100,21145,313
例句 >200 字符23,5610
archaic 义项8,498988(仅空保护残留)

45% 义项治理后无例句(留待后续 LLM 生成补足,见 plan Backlog #1)。

交付给 RB 的产物

  • 新 DBassets/databases/reading_vocab.db
  • SHA2564625b706385a17de97f72b3a6d9c0e938f83b002336a156ce60bb0eda508e49e
  • VOCABULARY_SEED_VERSION(RVH 侧 _preinstalledVocabVersion:14

RB 需做(reseed migration,参考 RB 自己的 v10 reseed 编号)

  1. 从 RVH 同一份 byte-equal 内容(上述 sha256 的 reading_vocab.db)重导入 vocabulary 表(pos_definitions 整列覆盖)。
  2. RB 侧 bump 自己的 VOCABULARY_SEED_VERSION,触发既存安装重 seed。
  3. RB 用 INSERT ... ON CONFLICT(word) DO UPDATE(勿用 INSERT OR REPLACE,遵 RB 自身父表红线),SET 覆盖 pos_definitions
  4. 校验:reseed 后 vocabulary 词数应 = 12,291,无 example >200,archaic 义项 ≈ 0。
  5. RB 基于例句的算法可重新启用 / 调参(噪声例句已清除)。

注意

  • pos_definitions 内容由 RVH 权威生成;RB reseed 后双端该列应 byte-equal。
  • 后续 LLM 例句生成(plan Backlog #1)会再次改动 pos_definitions → 届时同样走「RVH 治理 → 重导出 → bump version → RB reseed」流程,双端原子更新。