G1.10.6vocabulary versioning设计研究

词表随领域演进需要版本管理与变更记录

别名: 词表版本 · thesaurus change log · 概念迁移

概念解释

领域会改名、合并、拆分、废弃。词表若只有「当前这一份」,昨天按旧首选词标引的对象会在今天变成无词或错词,检索与导航无法解释它们为什么换了地方。版本管理与变更记录要求每一次首选词改名、合并、拆分都留下:何时、何人、从哪些 ID 到哪些 ID、旧词如何重定向。版本是给机器和后人看的迁移图,不是给发布说明写的一句话「优化了分类」。

没有变更记录的「更新词表」,等于匿名改了所有历史对象的坐标。

机制

词表是被对象引用的外键。改首选词而不改引用,界面上一片旧词;改引用而不留映射,旧查询和旧书签失效。合并两个概念是多对一的数据迁移,拆分是一对多且往往需要人工再标。废弃不是删除节点,是把节点标成历史并指定后继,否则链入该词的对象会掉进空类目。版本号让索引、导航和帮助能声明自己编译自哪一版词表,避免三通道各吃各的快照。

变更还有社会记忆:用户学会的旧词要在一段时间内仍能映射到新节点,这段窗口本身也是版本信息。

怎么研究

用受控的改名/合并/拆分事件,测对象、查询、书签是否还能到达。

  • 范式:在实验词表上执行改名、合并、拆分、废弃,分别在有无迁移图的条件下跑已知项检索与导航树测试;审计真实词表的提交日志是否足以重建对象坐标史。
  • 自变量:是否保留旧 ID、旧词作为非首选的时限、拆分时是否强制再标。
  • 因变量:变更后旧查询的存活率、对象落入空类目的数量、三通道词表版本是否一致、回溯「这个对象去年贴的是哪个词」能否回答。
  • 方法论注意点:只看发布后的当前树,会把迁移失败当成「用户学不会新分类」。要把变更当作实验事件。生产上缺少日志时,先补日志再谈治理成熟度。

边界

从未被对象引用的候选词可以硬删,不必进版本史。一天内的拼写修正若没有被引用,不必发大版本,但要写进提交说明以免重复发生。外部法定词表(行业分类代码)有自己的版本周期,本地词表应记录所对齐的外部版本,而不是另起一套互不相认的编号。个人民间标签没有全局版本,不要用词表版本去管用户私有词。

怎么落地

  • 词表每次发布打版本号;改名/合并/拆分/废弃写成机器可读的映射,对象引用跟着迁,旧词在检索映射里保留一个声明过的窗口。
  • 导航、帮助、搜索索引标注所依赖的词表版本,发布检查三通道是否同一号。
  • 拆分必须带再标任务,禁止只改树而留下全部对象堆在其中一个孩子上。
  • 验证:选一次真实的改名和一次合并,用变更前的查询词和书签再走一遍。到达新节点且能说出「以前叫什么」,版本层才算接上。若只有新树、旧词零结果,词表更新只发生在文档里。

延伸

  • 同组G1.10.1 受控词表为每个概念规定唯一首选词,非首选词导向该首选词 · G1.10.2 叙词表用广义词、狭义词与相关词描述概念间的层级与关联 · G1.10.3 权威文件维护实体的规范名称,解决同名异指与异名同指 · G1.10.4 受控词表由专人维护,与用户自发生成的标签体系性质不同 · G1.10.5 检索时非首选词自动映射到首选词,结果与提交首选词一致
  • 相邻G1.11 架构的可扩展性与演进 · G1.08 术语一致性 · T3.03 内容的时效与维护
  • 站内检索vocabulary versioning · concept migration · thesaurus change management

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/G1.10.6