# 生物医学数据集标注的受控词表设计

工程笔记 · Mdexa Engineering · 2026-11-13

数据版本：tag vocabulary 1.2; first backfill on the frozen first-release catalogue of 43 cards (public fingerprint ea894e8472bc, releases/first-release/ in the public repository; identical to the internal archive 9ff1d63a933d except change-log wording)

https://mdexa.com/zh/research/N3-controlled-vocabulary-tags/

**Mdexa Engineering** · 工程笔记，未经同行评审 · 2026-11-13 · 数据版本：标签词表 1.2；首次回填针对冻结的首发目录的 43 张卡片（统计日期 2026-11-13；公开指纹 `ea894e8472bc`，见公开仓库 `releases/first-release/`，附校验脚本。公开版与内部存档逐字段相同，仅修改记录改为对外表述；内部存档指纹为 9ff1d63a933d。）

## 摘要

按内容而不是按名称查找数据集，需要分面标签；标签只有在少、受控、并如实说明证据时才有用。我们拟定了一份含 12 个分面、99 个取值的词表，每个取值都有定义，每个存储的标签都带来源等级（作者声明并附经快照核对的逐字摘录、据内容推断、人工确认、派生）。回填到 43 张卡片后得到 182 个标签，其中作者声明 99 个、据内容推断 83 个。在 12 个真实检索问题上，只用卡片已有字段筛选命中 61 个相关数据集中的 38 个，加上标签后命中 57 个（后续调整后为 58 个）；包含专科的 17 个问题上为 76 个中的 43 对 72。提升来自四个已有字段表达不了的分面，另有几个分面毫无提升，因而被降级或删除。标准答案与标签出自同一套借助模型的流程，数字只有方向性意义，需要第二人复核。

**关键词：**受控词表；分面标注；数据集检索；标注来源；ICD-11；医学专科

## 1. 问题

数据集信息卡数据库可以按名称、关键词和少数结构化字段（如内容类型、规模）检索。从业者问的问题这些字段表达不了："带解析的选择题""有官方训练/测试划分""儿科数据""可直接加载的 JSON"。对描述做自由文本关键词匹配能找到一部分、漏掉一部分，而不加纪律地加标签只会变成噪声。我们想要一份小而受控、能切实改进检索、读者也能审计的词表。词表公开在公开数据库仓库的 `schema/tags.json`。

## 2. 设计

**只为找数据服务。**一个分面只有在用户或智能体（Agent）凭它能更快、更准地找到数据集时才存在。通不过这一检验的分面，删掉或降级。

**受控词表。**每个分面回答一个用户问题（每条数据长什么样；打算用来做什么；内容从哪来；除答案外还标注了什么；怎样审核；有无官方划分；有无排行榜或人类基线），每个取值都有稳定标识、中英文名称、一句话定义，以及适用与不适用的例子。词表起初是 12 个分面、99 个取值。

**每个标签都带证据等级。***作者声明*：保存的页面快照里这样写，标签存储逐字摘录和快照编号，由校验脚本到快照文件里核对。*据内容推断*：由卡片其他字段或快照结构推出，写明依据，低置信的加说明。*人工确认*：具名人员与日期。*派生*：由同一张卡上另一个标签算出（见下）。没有证据，就不打标签。风险类来源（考试题、网站抓取、真实患者文本、模型生成、派生数据）不作为标签存储，由卡片的风险标记算出；规模档位在发布时由规模字段算出。

**只打限定，不打"包含"。**病种或人群标签只有在数据集明确限定于该范围时才打；只是含一个儿科子集的数据集不打儿科；子集用 `scope` 说明。

**专科与疾病分类并行。**专科回答"归哪个科管"，疾病分类（ICD-11 章）回答"是什么病"。两者是多对多关系，不能互相推出，所以都是分面，各按自己的证据打标。只有在本分面没有依据时才可由另一分面派生，这时等级记为*派生*，写明由哪个标签派生，在页面上标明为派生，并提供筛选开关。有两张卡片是这样派生的。专科词表有 39 项（现代医学 30、传统医学 8、综合多专科 1），每项对应国内诊疗科目名录、国际专科委员会名单和 ICD-11 章，供数据集层面与内容层面的标签按引用而不是复制地共用。

## 3. 回填与检索测试

回填 43 张卡片得到 182 个标签：作者声明 99 个（摘录全部经校验脚本到快照中核对）、据内容推断 83 个、人工确认 0 个。有一张卡片没有标签，因为没有可用的快照。

随后我们测试有用性。对 12 个真实问题，各写两套筛选规则：只用卡片已有字段（内容类型、领域、规模数值、风险标记，以及对描述的关键词搜索），和加上标签；两套都按标准答案计分。

| 问题 | 应命中 | 已有字段：命中 / 剔除 / 漏 | 加标签：命中 / 剔除 / 漏 |
|---|---|---|---|
| 前 12 题 | 61 | 38 / 5 / 23 | 57 / 2 / 4（调整后 58 / 2 / 3） |
| 全部 17 题（增加专科与疾病分类） | 76 | 43 / 5 / 33 | 72 / 4 / 4 |

*表 1　数字来自首次回填及其检索测试（内部测试记录，未公开）。词表 1.2 版有 13 个分面，因为增加了专科分面；本文其他处的分面、取值和标签数，除另有说明外均为首次回填时的数字。*

提升来自哪里：前 12 题的提升主要来自四个分面（数据格式、官方划分、评测基准状态、标注深度）。例如"可直接加载的 JSON/JSONL"，已有字段只找到 11 个中的 1 个，加标签找到 10 个；"有官方划分"，已有字段找到 8 个中的 4 个，加标签找到 8 个。已有字段本来就能表达的问题（如选择题评测集、千条级小评测集）几乎没有提升。专科方面，几乎全部提升来自一道关于综合多专科评测集的题（命中 1 对 10）；关于单一专科或单一疾病类的问题，在 43 张卡片上用关键词搜索同样答得很好。

## 4. 砍掉了什么，为什么

依据这些证据，我们删除或降级了没有挣到位置的分面。规模档位改为由规模字段算出的派生值，不再存在卡片上。人群（只有 1 张卡有标签）与疾病分类（首次回填时有 5 张卡有标签，且有一道题关键词搜索做得更好）改为可选分面，默认筛选栏不显示，只在详情页显示。药物类别（ATC 一级）保留在词表里但不启用，因为没有哪张卡限定于某一类。评测基准状态里的"已饱和"取值因为没有卡片用到而删除。调整后，前 12 题重跑命中 58/61。维护规则规定：新增取值须先有至少一个真实问题用得上；一年内在测试问题里没有用上的分面或取值，降级或删除。

## 5. 这份证据的局限

- **自己评自己。**标准答案和标签出自同一套借助模型的流程，没有独立的人工标注。数字只有方向性；应由第二位人工标注者独立写出标准答案并重跑测试。
- **目录小。**专科与疾病分面无法在 43 张卡片上得到恰当检验，其中限定单一专科的数据集很少。它们的价值要随目录增长再测。
- **我们自己的译名。**ICD-11 章与 ATC 一级类别的中文名称是我们的译名，没有与官方中文版核对。ICD-11 章号与英文名称于 2026-11-13 对照 WHO 参考指南核过。
- **对应表未经医生审核。**专科与 ICD-11 章的对应由我们编写，没有经过医生审核；诊疗科目名录中二级科目的完整清单也没有对照原文核实。
- **低置信标签。**若干推断的标签依据搜索摘要或二手描述；它们有说明标注，不在列表卡片上显示。

## 6. 尚未解决

标签描述的是整个数据集。"这个数据集里有多少肿瘤题"这样的问题需要条目层面的标签，那要做内容分析与术语识别，目前没有做。数据集内部各专科占比的保留字段已经预留，现为空。独立的第二人复核、更大的目录，以及临床医生对词表的审核，都有待完成。

*工程笔记，未经同行评审。Mdexa Engineering，2026-11-13。依据公开的词表文件 `schema/tags.json` 与内部测试记录。*
