TCM-SD — 首个公开大规模中医辨证文本分类基准

北京理工大学联合徐州市中医院发布的 54,152 条真实中医门诊病历、148 种证型,配 4 亿 token 中医语料预训练 ZY-BERT,CC BY-NC-SA 4.0 经 GitHub 与阿里云天池公开,把「辨证论治」变成可复现的文本分类任务

来源 徐州市中医院真实中医门诊病历文本(现病史 + 主诉 + 四诊信息 + 证型标签),经三阶段证型归一化(548→244→148);另附 1,027 种证型的外部知识语料(爬自大医网)与逾 4 亿 token 的中医预训练语料发布时间: 2026-10-17最后更新: 2026-10-20 阅读 25
TCM-SD — 首个公开大规模中医辨证文本分类基准

信息速览

数据集名称TCM-SD — 首个公开大规模中医辨证文本分类基准
数据类型文本数据,评测数据,原始数据
规模54,152 条真实门诊病历(原始逾 65,000 条,经证型归一化与低频类过滤后保留 54,152 条、148 种证型);患者个体数未公开
接入方式徐州市中医院真实中医门诊病历文本(现病史 + 主诉 + 四诊信息 + 证型标签),经三阶段证型归一化(548→244→148);另附 1,027 种证型的外部知识语料(爬自大医网)与逾 4 亿 token 的中医预训练语料
AI 就绪度

INFOBOX — TCM-SD 一屏速览

维度 内容
本质 首个公开的大规模中医辨证(syndrome differentiation)基准——把「望闻问切后判断属哪种证」变成 148 类文本分类
团队 北京理工大学计算机学院(黄河燕团队)+ 徐州市中医院;通讯 Mucheng Ren
论文 CCL 2022(第 21 届全国计算语言学会议),pp. 908–920;arXiv:2203.10839(v1 2022-03-21)
规模 54,152 条真实门诊病历、148 种证型;原始逾 65,000 条、548 类
划分 8:1:1(训练/验证/测试)
标签归一 548 →(合并 + 剪枝)→ 244 →(过滤 <10 样本)→ 148
配套模型 ZY-BERT:4 亿+ token 中医语料、24 层、WWM 预训练
最强结果 Test 集 ZY-BERT Acc 82.19% / Macro-F1 51.01%
关键落差 RoBERTa 的 Acc 82.26% 略高于 ZY-BERT,但 Macro-F1 低 3.46 个百分点——长尾才是难点
获取 GitHub Borororo/ZY-BERT(train/dev + test.json)+ 阿里云天池 dataId=139034(train/dev,9.59 MB)
许可 CC BY-NC-SA 4.0 + 天池附加「仅学术研究」条款;论文正文未声明
库内互链 tcmeval-sdt(1053)、tcmssd(1054)、tcm-tongue(1052)、tcmbank(1124)、mtcmb(1108)、cmedqa2(825)

TCM-SD 做的事情,用一句话说:把中医门诊病历上那句「证属脾肾阳虚」背后的判断过程,拆成一个机器可以做、可以复现、可以打分的分类题。给定一段由现病史、主诉和四诊描述组成的自然语言文字,模型要从 148 种证型中选出唯一正确的那一种。54,152 条记录全部来自真实门诊,不是教材例题,也不是合成文本——这正是它在 2022 年出现时被称为「第一个公开大规模辨证基准」的分量所在。

与库内同域条目相比,它的坐标很清晰:tcmeval-sdt(rid 1053)问的是「模型能不能像中医师那样一步步推理」,而 TCM-SD 问的是「模型能不能判对」——前者是思维过程的切片,后者是整个诊断结果的粗粒度标签。两者恰好构成「过程」与「结果」的两极。

导语读法三则:

  1. 只想下数据跑 baseline:直奔 §6 获取与许可——GitHub 拿 train/dev 与 test.json 最快,天池只给 train/dev。
  2. 想搞清楚 148 类是怎么来的:看 §3 与 §4 的归一化链条,548→244→148 是这份数据集最容易被误读的部分。
  3. 想判断它是否适合你的课题:先看 §9 局限(长尾、单中心、非商用许可)与 §11 DAIMS 评分,再决定要不要用它做主线基准。

§0 导读:这个数据集解决什么问题

0.1 一句话问题陈述

中医辨证(syndrome differentiation, SD):医生通过望、闻、问、切四诊收集患者信息,判断其当前属于哪一种「证」(zheng, 证型/证候),再依据证型选方用药。同一疾病可有不同证型,不同疾病也可有同一证型——这正是中医「同病异治、异病同治」的理论基础。

TCM-SD 把这个过程形式化为:

输入 = 一段自由文本病历(现病史 + 主诉 + 四诊描述)
输出 = 148 种证型中的 1 种

0.2 它填的是哪一块空白

在 2022 年之前,中文医疗 NLP 的公开数据集集中在现代医学:电子病历命名实体识别、医学问答、医学考试题、影像报告生成等。中医方向的数据资源要么是规模过小(几百到几千条),要么是私有不可得。作者在论文中用一句很直白的判断概括了现状:「existing datasets are not of sufficient quality nor quantity to support the further development of data-driven AI technology in TCM」。

TCM-SD 的填补方式有三层:

  • 量:54,152 条,比同期中医 NLP 数据集高出一到两个数量级;
  • 质:真实门诊记录而非教材改写,保留了口语化、省略、术语不一致等真实噪声;
  • 配:同时放出领域预训练语料与 ZY-BERT 权重,使后来者不必从零预训练。

0.3 与「影像/队列大数据集」的根本区别

TCM-SD 不是影像数据集,也不是队列随访数据集。它的每一条记录都是一个短文本 + 单标签样本,体量在几十到几百字的量级,没有时间序列、没有影像、没有结构化检验值。它的数据形态更接近文本分类基准(如 AG News、THUCNews),而非临床数据库。理解这一点,才能理解为什么它的评估指标是 Accuracy 与 Macro-F1,而不是 AUC 或生存分析指标。

0.4 这篇条目怎么读

  • §1 十问十答:五分鐘建立全景;
  • §2 数据构成与规格:字段、划分、规模;
  • §3 机构与团队:谁做的、为什么可信;
  • §4 证型归一化:548→244→148 的完整逻辑;
  • §5 任务设计与 ZY-BERT:模型侧的做法;
  • §6 获取与许可:怎么拿到、能做什么;
  • §7 评估结果:11 个模型的完整分数表;
  • §8 生态与互链:与库内条目的关系;
  • §9 局限与争议:使用前必须知道的事;
  • §10 方法学启示:从这份数据里能学到什么;
  • §11 DAIMS 成熟度评估:五维评分;
  • §12 FAQ、§13 术语与事实清单、§14 来源核验。

§1 数据集速览:十问十答

问 1:TCM-SD 是什么?
一个公开的中医辨证文本分类基准,含 54,152 条真实门诊病历、148 种证型,附带领域预训练模型 ZY-BERT。

问 2:谁做的?
北京理工大学计算机学院黄河燕教授团队(Mucheng Ren、Heyan Huang、Yuxiang Zhou、Qianwen Cao、Yang Gao)与徐州市中医院 Yuan Bu。

问 3:什么时候发布?
arXiv v1 于 2022 年 3 月 21 日提交,v2 于 2022 年 8 月 3 日修订;正式发表于 2022 年 10 月的 CCL 2022(第 21 届全国计算语言学会议),收录于会议论文集第 908–920 页。

问 4:数据从哪来?
徐州市中医院的真实门诊病历。天池页致谢明确写「感谢徐州市中医院提供的数据支撑」,并感谢卜渊主任、周永兰博士等医疗从业者的专业咨询。论文本身未披露具体采集时间窗。

问 5:有多大?
54,152 条样本、148 个类别。原始记录逾 65,000 条、原始证型 548 类。

问 6:怎么划分?
按 8:1:1 分为训练集、验证集(dev)、测试集。论文只给比例与总数,未给分项绝对值。

问 7:任务是什么?
主任务是 148 类文本分类。另有补充实验把任务改写为抽取式机器阅读理解(MRC),用证型名称作为答案 span。

问 8:有没有配套模型?
有。ZY-BERT(ZhongYi-BERT),用逾 4 亿 token 中医语料预训练,24 层 Transformer,采用全词掩码(whole word masking, WWM)。

问 9:能下载吗?
能。GitHub 仓库 Borororo/ZY-BERT 提供 train/dev 压缩包、带答案与不带答案的 test.json、代码包;阿里云天池 dataId=139034 提供 train/dev(9.59 MB)。

问 10:能商用吗?
不能。许可为 CC BY-NC-SA 4.0,天池页另附条款「该数据仅能用做学术研究用途,禁止用于商业等其他任何非学术研究的行为」。

1.1 硬数字一览表

指标 数值 口径
原始病历数 逾 65,000 论文原文
最终样本数 54,152 摘要 / 天池页 / Anthology 一致
原始证型类数 548 归一化前
合并后类数 244 Merging + Pruning 后
最终类数 148 过滤 <10 样本类后
划分比例 8:1:1 train/dev/test
外部知识证型数 1,027 爬自 www.dayi.org.cn
预训练语料 逾 4 亿 token(0.4B) Table 2
模型层数 24 Table 2
最高 Test Acc 82.19% ZY-BERT
最高 Test Macro-F1 51.01% ZY-BERT
数据包大小 9.59 MB 天池 TCM_SD_train_dev.zip
下载计数 2,495 天池页 2026-10-17 抓取时点

1.2 关键版本与时间点

时间 事件
2021-12-02 GitHub 仓库首次提交(含代码与样例数据)
2022-03-21 arXiv v1 提交
2022-08-03 arXiv v2 修订
2022-10-13 阿里云天池数据集页发布
2022-10-14 ~ 16 CCL 2022 于南昌举行,论文宣读
2023-05-15 天池与 GitHub 同步上传 TCM_SD_train_dev.zip
2023-07-10 GitHub 补传 test_no_answer.json
2023-07-24 GitHub 补传 test.json(带答案)
2023-12-11 README 更新

注意最后一个时间点:带有答案的测试集直到论文发表约一年后才出现在 GitHub 上。这意味着 2022 年论文发表时,第三方无法完整复现论文中的 test 集指标。这一细节在 §9 中详细讨论。

§2 数据构成与规格

2.1 一条记录的完整形态

论文将每条样本定义为一段自由文本,其内容覆盖四类信息:

组成 英文术语 论文中的角色
主诉 chief complaint 简短概括,论文称其「通常过短,不足以单独支撑分类」
现病史 medical history 论文称其为「关键信息」,提供细粒度的时间与症状演变
四诊信息 four diagnostics 望闻问切的文字转述,散落在描述中
证型标签 syndrome label 148 类之一,由临床医生给定

论文的消融实验(§7.4)直接量化了这两部分的价值差异:只用主诉时,RoBERTa 在 test 集上 Acc 仅 72.91%、Macro-F1 仅 30.78%;只用现病历时,Acc 升至 81.83%、Macro-F1 升至 45.19%;两者合并后 Acc 82.26%、Macro-F1 47.55%。论文由此提出「coarse-to-fine」(由粗到细)的解释框架——主诉给粗略方向,现病史补细节。

2.2 数据字段的公开程度

需要特别说明:TCM-SD 并未随论文发布正式的字段字典(data dictionary)。论文用散文描述数据由「主诉、现病史、四诊信息」组成,但 GitHub 与天池的发布物中,样本以 JSON 形式给出,字段名与论文叙述并非一一对应。检索者在下载后需要自行查看 JSON 键名。

因此本条目不对字段名做臆测。凡涉及具体键名的描述,一律以「发布包内 JSON 结构为准,未经官方文档确认」的方式表述。

2.3 规模与划分

  • 总样本 54,152 条
  • 划分比例 8:1:1
  • 论文原文:「the processed dataset with 148 syndrome categories and 54,152 samples was divided into a training set, a development (Dev) set, and a test set with a ratio of 8:1:1」

按比例粗略估算,Dev 与 Test 各约占总量的十分之一(约五千余条),Train 约占十分之八。但 54,152 并非 10 的整数倍,实际分项取决于代码中的取整方式。论文未给出三个子集的绝对值,本条目亦不代为推算具体数字——检索者如需精确分项,应以发布包内的实际文件计数为准。

2.3.1 为什么「绝对值缺失」是重要缺陷

在基准数据集的可复现性评估中,训练/验证/测试的分项规模属于最基本的元数据。缺失它会导致两个实际问题:

  • 无法核对:第三方下载数据后,若文件条数与论文不符,无法判断是版本差异还是下载错误;
  • 无法比较:后续研究若在 TCM-SD 上报告新模型的结果,无法确认是否使用了同一划分。

这一点在 §9「局限」中被列为可复现性缺陷之一。

2.4 证型的分布特征:长尾

论文明确指出证型分布「inevitably unbalanced」,稀有证型与常见证型的样本数差距显著,形成长尾分布(long-tail distribution)。这一特征在 Figure 3 中以图形呈现,但论文正文未给出任何类别的具体样本数,也未给出最大类与最小类的数值。

长尾带来的直接后果,体现在全部模型的评估结果上:

模型 Test Acc Test Macro-F1 落差
DT 59.10% 21.67% 37.43
SVM 78.53% 36.37% 42.16
CNN 78.58% 32.83% 45.75
BERT 80.17% 35.45% 44.72
RoBERTa 82.26% 47.55% 34.71
ZY-BERT 82.19% 51.01% 31.18

准确率与 Macro-F1 之间普遍存在三十到四十五个百分点的落差,说明模型在常见证型上表现尚可,在稀有证型上几乎失效。这是 TCM-SD 区别于一般文本分类基准的核心难点,也是它被称为「探测」(probing)而非单纯「分类」基准的原因。

2.5 外部知识语料

除 54,152 条标注样本外,作者还构建了一份证型知识语料:通过爬取大医网(www.dayi.org.cn)上全部中医证型条目,覆盖 1,027 种证型,每种证型配一段结构化描述文本。

这份语料的作用是支撑 MRC 实验(§5.3):把证型描述作为「上下文」,让模型判断病历中描述的病人是否属于该证型。1,027 远多于数据集的 148 类,说明这份语料是按更完整的证型体系采集的,而非仅为已标注类别服务。

2.6 预训练语料

ZY-BERT 的预训练语料规模为逾 4 亿 token(0.4B),来源包括:

  • 中医相关书籍
  • 网站文章
  • 中国知网(CNKI)学术论文

论文 Table 2 给出的对比很直观:

模型 领域 语料规模
TCM-BERT 中医(网页爬取) 0.02B
BERT 通用 3.3B
RoBERTa-wwm 通用 5.4B
MacBERT 通用 5.4B
BioBERT 英文医学 4.5B
ClinicalBERT 英文临床 0.5B
PubMedBERT 英文医学 3.1B
ZY-BERT 中医 0.4B

ZY-BERT 的语料比此前的 TCM-BERT 大二十倍以上,但仍显著小于通用模型——这是一个重要的定位:它走的是「小而专」路线,而非「大而全」。

必须注意的口径冲突:GitHub README 明确写道,当前发布的预训练语料版本已移除 CNKI 学术论文与期刊部分(原文:「the current released version does not contains academic papers and journals from CNKI for some reasons」)。也就是说,公开可得的那份语料与论文描述并不完全一致。这一点在 §9.4 中展开。

2.7 规格小结

维度 规格
模态 纯文本
语言 简体中文(含少量古字/生僻字,论文提及 out-of-vocabulary 问题)
样本粒度 单条门诊病历 → 单一证型标签
类别数 148
样本数 54,152
标签来源 临床医生诊断(徐州市中医院)
是否含个人标识 论文声明已脱敏,不含姓名、年龄、电话等;是否含其他准标识符未说明
发布格式 ZIP(train/dev)+ JSON(test)
文件体积 9.59 MB(train/dev 包)

§3 机构、团队与谱系

3.1 构建机构

机构 角色 具体贡献
北京理工大学计算机学院 主导方 数据清洗、证型归一化、ZY-BERT 预训练、实验设计
徐州市中医院 数据方 提供真实门诊病历、临床专家参与证型核校与咨询

天池页面的致谢段落给出了比论文更具体的致谢对象:

「感谢徐州市中医院提供的数据支撑。感谢卜渊主任、周永兰博士等医疗从业者的专业咨询。」

值得注意的是,Yuan Bu 本人即为徐州市中医院的作者,联系邮箱为 buyuantcm@gmail.com——这解释了数据方与作者方的直接对接路径,也说明临床上「谁在标注」有迹可循。

3.2 作者团队

作者 单位 角色推断
Mucheng Ren 北京理工大学 一作,通讯(renm@bit.edu.cn);GitHub 仓库主
Heyan Huang 北京理工大学 资深作者,黄河燕教授(中文信息处理领域知名学者)
Yuxiang Zhou 北京理工大学 合作者
Qianwen Cao 北京理工大学 合作者
Yuan Bu 徐州市中医院 临床方;README 联系邮箱之一
Yang Gao 北京理工大学 合作者

3.3 谱系位置:从 TCM-BERT 到 ZY-BERT

TCM-SD 在技术谱系上有一条清晰的参照线:TCM-BERT。

TCM-BERT 是此前的中医领域预训练模型,其语料仅 0.02B token(网页爬取),预训练任务为字符掩码(char masking)+ 下一句预测(NSP)。ZY-BERT 的两点改进是:

  1. 语料扩大二十倍以上(0.02B → 0.4B);
  2. 预训练任务改为全词掩码(WWM),去掉 NSP。

为什么 WWM 对中医特别重要?论文的解释逻辑是:中医术语(如「阳虚」「气滞血瘀」)是多字组成的语义单元,若按字符掩码,模型会把「阳虚」拆成「阳」「虚」分别预测,学到的是字的分布而非术语的语义。WWM 以词为单位整体遮盖,迫使模型学习术语级别的表示。

这一改进在结果上体现得非常直接:Test Macro-F1 从 TCM-BERT 的 41.58% 提升到 ZY-BERT 的 51.01%,提升 9.43 个百分点。

3.4 领域坐标

把 TCM-SD 放到中医 AI 数据资源的版图上:

资源类型 代表 与 TCM-SD 的关系
证型标准化数据库 TCMSSD(rid 1054) 提供 624 种证型标准化定义,TCM-SD 的归一化用了国标 GB/T 15657-1995 而非 TCMSSD
辨证推理评测 TCMEval-SDT(rid 1053) 评测「思考过程」,TCM-SD 评测「判断结果」
中医知识库 TCMBank(rid 1124)、TCM-CHM(rid 1116) 提供药物-靶点-疾病关联,TCM-SD 只涉及文本
多模态中医 MTCMB(rid 1108) 含舌象图像等,TCM-SD 纯文本
舌诊 TCM-Tongue(rid 1052) 望诊客观化,TCM-SD 的望诊仅为文字转述

可以看出,TCM-SD 处在「纯文本 + 结果级判断」这一格子里,是这条谱系上最早、也最基础的一环。

3.5 为何值得作为基准

三个理由:

  1. 真实数据——不是教材例题,而是门诊记录,含口语化表达与信息缺失;
  2. 规模足够——5 万余条足以训练中等规模的深度模型,也足以暴露长尾问题;
  3. 基础任务——辨证是中医诊疗的枢纽环节,上游连着四诊信息提取,下游连着处方推荐,做对这个任务才有后续。

§4 证型归一化:548 → 244 → 148

这是 TCM-SD 方法论上最值得细读的部分。中医证型命名的混乱程度,远超一般人的想象:同一证型可能有多个名称,一种证型还可能分级(上位/下位),不同医院、不同教材的写法各不相同。若不归一化,148 类分类会变成 548 类的稀疏灾难。

论文给出了两阶段归一化流程。

4.1 第一阶段:Merging(合并)

合并处理的是「同义不同名」。论文区分了两种情形:

情形一:同一证型有多个名称,且都出现在数据集中。

论文举例:「风热证」与「风热外袭证」实为同一证型,应合并为一个统一名称。判断依据是国家标准 GB/T 15657-1995(《中医病证分类与代码》)。

情形二:证型名称不存在标准形式。

由招募的专家依据具体病历进行辨证,将无效证型并入最近的标准证型。论文举例:「脾肾阳衰证」并入「脾肾阳虚证」。

情形二揭示了这份数据的一个隐藏成本:它需要临床专家逐条判断,而不是简单做字符串匹配。

4.2 第二阶段:Pruning(剪枝)

剪枝处理的是「模糊或非标准命名」,有两条标准:

标准 A(模糊不可分):专家因特征模糊而无法区分的非标准命名证型,直接剪除。

标准 B(层级上位):证型名称存在层级关系时,剪除上位(较粗)证型,保留最基础级别(最具体、最能决定治疗)的证型。

论文的例子非常清楚:

  • 「风寒证」是上位证型;
  • 其临床表现可以是「风寒束表证」或「风寒袭肺证」;
  • 二者的症状与治法不同;
  • 因此剪除「风寒证」本身,保留两个下位证型。

这个决策的临床逻辑是:治疗跟着最具体的证型走。如果保留「风寒证」,模型即使答对也无法指导用药——因为「风寒束表」与「风寒袭肺」的治法不同。

4.3 数字链条

阶段 类别数 样本数 操作
原始 548 逾 65,000 —
合并 + 剪枝后 244 未单独披露 Merging + Pruning
低频过滤后 148 54,152 删除样本数少于 10 的类别

第三阶段的阈值是明确的:「we further filtered out syndrome categories containing fewer than 10 samples」。

这条链条解释了一个常被误解的问题:54,152 并不是 65,000 的全部。差额来自被剔除的证型类别——某类若只有 5 条样本,这 5 条会随类别一起被删掉。

4.4 归一化的代价

任何归一化都是信息损失。TCM-SD 的代价至少有三层:

  1. 粒度过粗的类别被删:标准 B 剪掉了上位证型,但上位证型有时是临床上真实使用的粗标签,删除它们等于否认这些诊断的存在;
  2. 稀有证型被整体剔除:少于 10 条的类别全部删除,而这些恰恰是最需要 AI 辅助的疑难/罕见证型;
  3. 归一化标准的时间性:GB/T 15657-1995 是 1995 年的国标,其后中医证型体系有修订(如 2020 年前后的团体标准),TCM-SD 采用的是旧版标准。

第 3 点需要谨慎表述:论文明确写了依据 GB/T 15657-1995,但未讨论该标准是否仍是最新版本,也未说明与后续标准的映射关系。本条目据实记录,不作延伸推断。

4.5 与 TCMSSD 的对照

库内 TCMSSD 数据库(rid 1054)同样以「证候标准化」为核心,收录 624 种标准化证候。两者思路不同:

维度 TCM-SD TCMSSD
标准化对象 数据集标签(为分类服务) 证候知识体系(为查询与关联服务)
标准化依据 GB/T 15657-1995 + 专家病历辨证 文献 + 公共数据库整合
输出 148 类分类标签 624 个证候节点及关联网络
目标 让模型能学到 让研究者能查

两者不冲突,反而互补:如果一个团队想把 TCM-SD 的 148 类映射到更完整的证候体系,TCMSSD 的 624 个节点是一个自然的候选参照系。不过这种映射目前没有公开的对照表,需要自行完成。


§5 任务设计与 ZY-BERT

5.1 两套任务形式

TCM-SD 论文实际上提出了两种任务表述,二者共享同一份数据,但输入输出结构不同:

任务 输入 输出 类别空间
分类(Classification) 病历文本 148 类之一的标签 固定 148 类
抽取式阅读理解(MRC) 病历文本 + 候选证型(+ 知识) 从上下文中抽取证型 span 由提供的候选决定

分类任务是主线,MRC 是补充实验。为什么要做 MRC?论文给出的理由是语言模型的输入长度限制:148 个证型的知识无法全部塞进一个 BERT 类模型。于是把任务改写为「从给定候选里挑」,绕开长度瓶颈。

5.2 分类任务的设计细节

分类任务把病历文本送入 BERT 类编码器,取 [CLS] 表示接分类头,输出 148 维 logits。这是一个标准的单句分类范式。

论文的消融实验(Table 6)考察了输入构成的三种组合:

输入 模型 Dev Acc Dev Macro-F1 Test Acc Test Macro-F1
仅主诉 BERT 70.56% 23.15% 71.58% 24.08%
仅主诉 RoBERTa 71.36% 28.55% 72.91% 30.78%
仅现病史 BERT 79.40% 33.50% 79.62% 35.57%
仅现病史 RoBERTa 79.80% 41.40% 81.83% 45.19%
主诉 + 现病史 BERT 79.44% 34.18% 80.17% 35.45%
主诉 + 现病史 RoBERTa 80.81% 43.18% 82.26% 47.55%

读表要点:

  1. 现病史的价值远高于主诉:RoBERTa 在 test 集上,仅现病史的 Macro-F1(45.19%)比仅主诉(30.78%)高 14.41 个百分点;
  2. 拼接并非简单相加:主诉 + 现病史(47.55%)比仅现病史(45.19%)只高 2.36 个百分点,说明主诉提供的是补充性、方向性的信息;
  3. BERT 与 RoBERTa 的差距集中在 Macro-F1:Acc 相差不到 2 个百分点,Macro-F1 相差 12 个百分点——说明更强的预训练主要帮助了稀有类。

5.3 MRC 任务的三种设置

设置 名称 上下文构成 候选数
① Medical History + All Syndromes 现病史 + 全部证型名 148
② Medical History + Five Syndromes 现病史 + 5 个证型(1 正 + 4 随机) 5
③ Medical History + Five Syndromes + Knowledge 设置 ② + 5 个证型各自的知识文本 5 + 知识

设置 ② 与 ③ 的差异是是否附带外部知识。设置 ① 与 ② 的差异是候选规模。

5.4 MRC 结果与那个刺眼的 3.94%

Test 集 MRC 结果(EM / Macro-F1):

设置 BERT RoBERTa
① MH + All 78.20% / 45.60% 80.42% / 47.57%
② MH + Five 95.83% / 82.33% 95.86% / 84.42%
③ MH + Five + Know. 96.06% / 85.15% 96.26% / 85.88%

表面上看,设置 ③ 的 Macro-F1 达到 85.88%,远高于分类任务的 51.01%。但这个高分有大量水分:

  • 从设置 ① 到 ②,Macro-F1 从 47.57% 跳到 84.42%,提升近三十七个百分点——这一跳完全来自候选从 148 个缩减到 5 个,即人工把搜索空间砍掉了 97%;
  • 从设置 ② 到 ③,Macro-F1 从 84.42% 升到 85.88%,仅提升 1.46 个百分点——这才是「知识」的真实增益。

更关键的是论文自己的诚实披露:设置 ③ 里的「知识检索」并非模型自己完成,而是研究者用 TF-IDF 基于病历从 1,027 种证型知识库中检索,而检索精度 P@5 仅 3.94%。

3.94% 意味着:检索出来的五条知识里,平均不到 0.2 条是相关的。

论文对此的结论是一句极简的判断:

「knowledge is essential, but finding it is difficult.」

这句话值得反复读。它承认了两件事:中医辨证确实需要外部知识(否则无法解释「为什么同是头痛,有人是肝阳上亢,有人是气血亏虚」),但如何把正确的知识送到模型面前,本身就是一个未解的检索问题。

5.5 ZY-BERT 的模型配置

配置项 数值
层数 24
隐藏维度 1024
每层注意力头数 16
预训练步数 300K
最大学习率 5e-5
Batch size 256
掩码策略 Whole Word Masking(WWM)
下一句预测(NSP) 去掉
语料规模 逾 4 亿 token

这套配置对应的是一个「BERT-Large 级别的中文领域模型」,而非大模型。它的定位是领域适配的基线,不是要挑战通用大模型的能力上限。

5.6 三条错误分析线索

论文对错误样本做了归类,发现三类主要错误:

错误类型 描述 例子性质
复杂推理 需要时间、数值、空间、否定关系推理 「服药后症状缓解但三日后复发」
知识不完整 模型不理解中医特有概念 「阴阳」「虚实」
未登录词 罕见繁体字或生僻字 古字、异体字

这三类错误对应三个不同的改进方向:推理能力、知识注入、分词与词表扩充。它们也解释了为什么单纯的预训练在 Macro-F1 上卡在 51%——模型缺的不是语言能力,而是中医的「常识」与「推理链」。

5.7 任务设计的边界

TCM-SD 只定义了「从病历到证型的映射」,没有定义:

  • 证型的依据(为什么是这个证型,而非相邻证型);
  • 治法的推导(证型确定后该用什么方);
  • 处方的匹配(方与药的剂量与加减)。

这三点是 TCMEval-SDT 与后续工作试图补足的方向。TCM-SD 的定位始终是:先解决「判对」,再谈「讲清楚」。


§6 获取与许可

6.1 三条获取通道

通道 地址 内容 门槛
GitHub https://github.com/Borororo/ZY-BERT train/dev 压缩包、test.json(带答案)、test_no_answer.json、代码包、样例数据 无需登录
阿里云天池 https://tianchi.aliyun.com/dataset/dataDetail?dataId=139034 TCM_SD_train_dev.zip(9.59 MB) 需登录
预训练语料 GitHub README 给出的 Dropbox 链接 ZY-BERT 预训练语料(RAR) 无需登录
模型权重 GitHub README 给出的 Google Drive 链接 ZY-BERT 权重 需能访问 Google Drive

注:Dropbox 与 Google Drive 均为作者在 README 中直接给出的外链,非官方托管平台。这类链接存在失效风险,且不受 CC 协议的平台级约束(CC 协议仍在,但平台可能随时删除文件)。建议下载后本地留档。

6.2 仓库文件清单

GitHub 仓库根目录可见的文件(含提交时间):

文件 提交时间 用途
LICENSE 2021-12-02 许可证
README.md 2023-12-11(更新) 说明文档
TCM Code.zip 2021-12-02 辨证任务代码
TCM Data Sample.zip 2021-12-02 数据抽样样例
TCM_SD_train_dev.zip 2023-05-15 训练集 + 验证集
test.json 2023-07-24 测试集(含答案)
test_no_answer.json 2023-07-10 测试集(不含答案)

这份清单本身讲了一个故事:2021 年 12 月仓库初建时,只有代码与样例数据;真正的训练数据直到 2023 年 5 月才上传;带答案的测试集直到 2023 年 7 月才补齐。从论文发表(2022 年 10 月)到数据完整可用,中间隔了约九个月。

6.3 许可条款

许可:CC BY-NC-SA 4.0(署名—非商业性使用—相同方式共享 4.0 国际)

两条独立声明一致指向该许可:

  1. 天池页「协议」段:「该数据集遵循协议:CC BY-NC-SA 4.0」
  2. GitHub README:「The dataset is licensed by CC BY-NC-SA 4.0」

天池页另附一条超出 CC 协议本身的附加限制:

「此外,我们对数据集进行了脱敏处理,所有数据不会包含病人的个人信息,该数据仅能用做学术研究用途,禁止用于商业等其他任何非学术研究的行为。」

这条附加限制的效力大于 CC 协议:CC BY-NC-SA 4.0 本身允许非商业的复制、分发与改编(需署名、需相同方式共享),但天池条款把范围进一步收窄到「学术研究用途」。

论文正文未声明许可——arXiv v2 全文检索不到 license 相关表述。因此许可的唯一权威来源是天池页与 GitHub README。

6.4 许可使用的实际含义

场景 是否允许 依据
学术论文中训练/评测模型 允许 学术研究用途
公开发表基于该数据训练的模型权重 需谨慎 模型权重是否构成「衍生作品」有争议;若视为衍生,须以相同方式共享
企业内部产品研发 不允许 非商业条款 + 天池附加条款
把数据二次分发到其他平台 需署名 + 相同方式共享 CC BY-NC-SA 的 SA 条款
在论文中引用数据统计 允许 合理使用 + 学术用途
用数据做商业 API 的评测基准 不允许 明确禁止商业用途

「模型权重是否构成衍生作品」这一条在开源许可实践中长期存在争议。CC 4.0 系列协议对「改编作品」(Adapted Material)的定义偏宽,若模型训练被视为改编,则权重也须遵守 NC-SA。这是使用 TCM-SD 时应当咨询法务的边界问题,本条目不下结论。

6.5 伦理声明

论文 Acknowledgements 中的伦理表述可归纳为四点:

  1. 数据仅为患者常规诊疗数据,不含姓名、年龄、电话号码等个人信息;
  2. 研究未干扰正常医疗流程,未给医务人员增加额外负担,未在患者身上进行任何实验;
  3. 所有数据已脱敏(desensitized);
  4. 因此本文不涉及伦理问题,豁免个体患者知情同意(「waives the requirement of individual patient consent」)。

未披露的内容:伦理审查委员会(IRB)名称与批号、脱敏的具体方法(如是否做了实体替换、是否删除日期与地名)、患者是否被告知数据可能被用于研究。

这四点声明在 2022 年的中文 NLP 论文中属常见写法,但按今天的医学数据伦理标准(如需 IRB 批号、需数据使用协议 DUA),仍有可改进空间。

6.6 与库内条目获取门槛对照

条目 许可 获取门槛 商用
TCM-SD CC BY-NC-SA 4.0 + 学术限定 GitHub 直下 / 天池登录 禁止
TCMEval-SDT(1053) CC-BY 4.0 figshare 直链 允许(署名)
TCMSSD(1054) 论文 CC BY-NC-ND 官网/NGDC 受限
PubMedQA(49) 各子集不一 多平台 视子集

TCM-SD 的许可在库内 TCM 条目中属于限制较严的一档:既禁商用,又要求相同方式共享,还叠加了「仅学术」的附加条款。


§7 评估结果与基准

7.1 评测协议

论文的评测协议相对简单:在 test 集上计算 Accuracy、Macro-F1、Macro-Recall、Macro-Precision 四项指标。四个指标采用的是「先按类计算、再取平均」的宏平均(macro-averaging),这一点很关键——它使每个证型无论样本多少都占相同权重,因此能放大稀有证型的表现差异。

ZY-BERT 的结果标注了 † 号,表示统计显著性检验的 p 值小于 0.01。

7.2 Dev 集完整结果表

模型 Accuracy Macro-F1 Macro-R Macro-P
DT(决策树) 59.42% 20.68% 21.33% 21.52%
SVM(支持向量机) 77.63% 32.13% 29.56% 43.10%
BiLSTM 69.30% 17.53% 15.08% 14.76%
BiGRU 73.57% 19.53% 20.12% 21.81%
CNN 77.56% 31.79% 30.39% 37.99%
BERT 79.44% 34.18% 34.12% 38.00%
distilBERT 79.09% 36.07% 36.62% 38.13%
ALBERT 79.62% 37.88% 37.65% 41.94%
RoBERTa 80.81% 43.18% 42.55% 47.68%
TCM-BERT 79.48% 37.84% 37.60% 42.00%
ZY-BERT 81.43%† 49.47%† 48.89%† 54.08%†

7.3 Test 集完整结果表

模型 Accuracy Macro-F1 Macro-R Macro-P
DT 59.10% 21.67% 22.38% 22.20%
SVM 78.53% 36.37% 32.98% 49.35%
BiLSTM 69.65% 15.15% 15.65% 17.08%
BiGRU 74.43% 20.93% 21.90% 23.76%
CNN 78.58% 32.83% 31.29% 39.19%
BERT 80.17% 35.45% 34.99% 42.00%
distilBERT 80.46% 40.24% 39.99% 45.84%
ALBERT 80.51% 40.50% 39.57% 46.54%
RoBERTa 82.26% 47.55% 45.72% 54.15%
TCM-BERT 80.55% 41.58% 40.91% 48.47%
ZY-BERT 82.19%† 51.01%† 49.42%† 57.70%†

7.4 三个必须读懂的细节

细节一:ZY-BERT 的 Accuracy 并不是最高的。

Test 集上 RoBERTa 的 Acc 为 82.26%,ZY-BERT 为 82.19%——RoBERTa 高出 0.07 个百分点。但论文表格把 ZY-BERT 加粗为最优,依据是 Macro-F1(51.01% vs 47.55%,高 3.46 个百分点)。

这不是论文造假,而是评测目标的体现:在长尾分布下,Accuracy 会被常见类主导,Macro-F1 才反映模型对全部 148 类的真实覆盖能力。检索者若只看 Acc 栏,会误以为 ZY-BERT 全面胜出。本条目在此明确标注,以免误读。

细节二:BiLSTM 与 BiGRU 表现异常差。

两个循环神经网络在 test 集的 Macro-F1 分别只有 15.15% 与 20.93%,低于 SVM 的 36.37%。这有两个可能解释:

  1. 中医病历文本较长,RNN 难以捕捉长距离依赖;
  2. 论文未报告这两类模型的超参调优细节,可能未调到最优。

论文未对此给出解释,本条目只能记录这一现象,不代为归因。

细节三:TCM-BERT 反而弱于 RoBERTa。

领域预训练的 TCM-BERT(Macro-F1 41.58%)明显不如通用域的 RoBERTa(47.55%)。这与「领域模型一定更好」的直觉相反。可能的解释是 TCM-BERT 语料太少(0.02B)且预训练任务较旧(char masking + NSP)。这一反例恰恰是 ZY-BERT 存在的理由:领域预训练要有效,语料规模与预训练任务缺一不可。

7.5 提升幅度的精确计算

对比 Test Macro-F1 差值 论文表述
ZY-BERT vs RoBERTa 51.01 − 47.55 = +3.46 「over 4%」
ZY-BERT vs TCM-BERT 51.01 − 41.58 = +9.43 「over 10%」
ZY-BERT vs BERT 51.01 − 35.45 = +15.56 未表述

这里出现了一个口径差异:论文摘要与正文称「超过 4%」「超过 10%」,而按表格计算的绝对差值分别是 3.46 与 9.43,均不足 4 与 10。

两种可能的解释:

  1. 相对提升:51.01/47.55 = 1.0728,即相对提升 7.28%;51.01/41.58 = 1.2268,即相对提升 22.68%。这两个数都超过 4% 与 10%,但也都远超「over 4%」的字面含义。
  2. Dev 集口径:Dev 集上 ZY-BERT 49.47% vs RoBERTa 43.18%,差 6.29;vs TCM-BERT 37.84%,差 11.63。这与「over 4%」「over 10%」大致吻合。

更可能的解释是第 2 种:作者在摘要阶段依据的是 dev 集或早期实验的差值,定稿时表格更新了但摘要表述未同步。本条目按原文引述「over 4% / over 10%」,同时以表格实算值为准,并在此存照。

7.6 与后续研究的可比性

由于 TCM-SD 的测试集直到 2023 年 7 月才公开,2022 年至 2023 年间发表的相关工作在 TCM-SD 上的结果很可能使用了自行划分,与论文表格不可直接比较。

若要与论文结果对比,推荐做法:

  1. 使用 GitHub 上的 test.json(2023-07-24 版本);
  2. 以 Macro-F1 为主要指标;
  3. 同时报告 Accuracy 与 Macro-F1,避免只报高的一项。

7.7 基准的「天花板」在哪

51.01% 的 Macro-F1 距离实用还有相当距离。假设一个模型在 148 类上的 Macro-F1 达到 70%,意味着对稀有证型也具备较高识别力——这在临床上才有辅助价值。目前公开的最强单模型(ZY-BERT)仅到 51%,说明TCM-SD 仍是一个远未饱和的基准。


§8 生态、影响与库内互链

8.1 学术影响

TCM-SD 是中医 NLP 方向的奠基性数据集之一,被后续大量中医辨证、中医大模型、临床文本分类研究引用。北京理工大学成果库页面显示 Scopus 引用 9 次(抓取时点,仅统计 Scopus 收录,实际引用应更高)。

它的影响主要体现在三个层面:

  1. 确立了任务范式:把中医辨证定义为文本分类,成为后续工作的默认起点;
  2. 提供了对照基准:ZY-BERT 的 51.01% Macro-F1 成为后续模型要超越的门槛;
  3. 暴露了核心难点:长尾分布与知识注入问题,成为后续研究的主要攻关方向。

8.2 谁会用 TCM-SD

使用者 典型用途
中文医疗 NLP 研究者 做领域预训练、长尾分类、知识注入的实验床
中医信息化团队 构建辅助辨证系统时的基线数据
医学大模型评测方 作为中医能力的测评维度之一
数据集方法论研究者 研究标签归一化、类不平衡处理

8.3 库内互链条目

条目 rid 关系类型 具体说明
tcmeval-sdt 1053 强互补 同为中医辨证评测,TCM-SD 评「结果」,TCMEval-SDT 评「推理过程」
tcmssd 1054 方法互参 中医证候标准化数据库,624 证候;TCM-SD 归一化可与之对照
tcm-tongue 1052 模态互补 舌诊影像,补足 TCM-SD 缺失的望诊客观化信息
tcmbank 1124 生态相邻 中药-靶点-疾病知识图谱,可用于 TCM-SD 后续的处方推荐环节
mtcmb 1108 生态相邻 多模态中医基准,含影像与文本
nb-tcm-chm 1116 生态相邻 中医知识资源
cmedqa2 825 谱系相关 中文医学问答,同属中文医疗 NLP 数据集谱系
cmb-cmexam 180 谱系相关 中文医学考试基准,可对照中医知识测评
medqa 50 谱系相关 英文医学考试基准,跨语言对照
pubmedqa 49 谱系相关 生物医学文献问答基准
huatuo-26m 823 谱系相关 中文医学预训练语料,可与 ZY-BERT 语料对比规模

8.4 外链生态

资源 性质
arXiv:2203.10839 预印本
ACL Anthology 2022.ccl-1.80 正式论文集
GitHub Borororo/ZY-BERT 代码与数据
阿里云天池 dataId=139034 国内镜像托管
大医网 www.dayi.org.cn 证型知识语料来源
CNKI 预训练语料来源(现发布版已移除)
北京理工大学成果库 机构成果页面

8.5 与 TCMEval-SDT 的三维对照

这两个库内条目经常被混淆,这里做一个清晰对照:

维度 TCM-SD TCMEval-SDT
规模 54,152 条 300 例
类别 148 种证型 病机/证候十选项
任务 分类 四步推理 + 多选
评测目标 判断结果对不对 推理过程像不像
发表 CCL 2022(会议) Scientific Data 2025(期刊)
许可 CC BY-NC-SA 4.0 CC-BY 4.0
数据来源 徐州市中医院单一医院 互联网 + 古籍 + 医院 三源

规模与许可差异巨大:TCM-SD 靠「量大真实」,TCMEval-SDT 靠「精细标注」。两者定位不重叠,做中医辨证研究时应当两个都了解:先看 TCM-SD 能否判对,再看 TCMEval-SDT 能否讲清推理。


§9 局限、争议与使用注意事项

9.1 长尾问题:结构性而非可调参数

148 类中绝大多数是稀有类,这是数据本身的属性,不是模型能通过调参解决的。三组证据:

  1. 所有模型的 Acc 与 Macro-F1 落差在 31–46 个百分点之间;
  2. 就算是 ZY-BERT,Macro-F1 也只有 51.01%,意味着「一半类别的识别效果接近随机」;
  3. 论文的 MRC 实验里,把候选缩到 5 个后 Macro-F1 跳到 84%,反证了「类别太多、每类样本太少」是主要瓶颈。

实践建议:若用 TCM-SD 训练实用系统,应当考虑先粗分类(按脏腑/病性等上位维度)再细分,而不是直接做 148 类平铺分类。

9.2 单中心偏倚

所有记录来自徐州市中医院。这意味着:

  • 地域偏倚:徐州地处江苏北部,属淮海经济区,患者的体质、饮食习惯、就诊偏好与南方、西北、东北人群可能不同;
  • 医院偏倚:单一医院的用药风格与辨证习惯会影响证型分布;
  • 无跨机构验证:论文未报告任何跨医院、跨地域的泛化实验。

对于做「中医知识」研究的团队,这可能影响有限(证型理论是普适的);但对于做「临床辅助」产品的团队,这是一个需要警惕的盲区——模型可能学到的不是「中医辨证规律」,而是「徐州某医院医生的处方习惯」。

9.3 可复现性缺陷

缺陷 具体表现 影响
分项规模未公开 只给 8:1:1 与总数 无法核对下载数据的完整性
类别分布未列表 仅 Figure 3 图形 无法做按类分析或分层抽样
采集时间未公开 论文未提 无法判断数据时效性
采集流程未公开 未说明如何从 65,000 筛选到 54,152 无法复现筛选逻辑
Test 集延迟公开 2023-07 才上传 test.json 2022–2023 年间的后续研究可能使用了不同划分
平均长度未公开 论文无相关统计 无法预估计算成本

这六项加起来,使得 TCM-SD 的可复现性处于中等偏下水平——数据能下载,但论文中的每一项统计都无法从公开材料核对。

9.4 预训练语料的口径冲突

论文说语料包含 CNKI 学术论文;GitHub README 说现发布版已移除 CNKI 部分。这造成两个问题:

  1. ZY-BERT 权重无法被完整复现:即使拿到现发布的语料,也无法训练出与论文相同的模型;
  2. 语料规模可能缩水:现发布的语料是 4 亿 token 的哪一部分,README 未说明。

这属于「作者坦诚披露」的正面案例,但也意味着用现发布数据复现论文结果存在天然障碍。

9.5 许可与商业使用的灰色地带

虽然 CC BY-NC-SA 4.0 的表述很明确,但实际使用中仍有几处模糊:

  • 「非商业」的边界:高校与研究机构的科研项目、企业研究院的公开研究、非营利基金支持的评测,是否算「非商业」?CC 官方对 NC 的解释是「不以商业优势或金钱报酬为主要目的」,但具体判定依情境;
  • 模型权重的性质:训练出的模型是否构成「改编作品」,决定权重是否需遵守 NC-SA;
  • 天池附加条款:天池页说的「禁止用于商业等其他任何非学术研究的行为」比 CC 更严格,但这条附加条款是否具有法律效力,取决于它是否构成有效的附加许可条件。

建议:任何超出「学术论文发表」的用途,都应当先联系作者确认(renm@bit.edu.cn / rdoctmc@gmail.com)。

9.6 伦理与隐私边界

论文的伦理声明称数据已脱敏、不含个人信息。但需注意:

  • 未说明脱敏方法:是否删除了地名、职业、日期等准标识符,论文未交代;
  • 中医病历的特殊性:中医病历常含体质描述、生活习惯、情志状态,这些本身具有较强的个人识别性;
  • 无 IRB 批号:论文称「不涉及伦理问题」而豁免审查,但按现行规范,即使是回顾性数据,通常也需伦理委员会备案;
  • 未说明患者是否知情:豁免知情同意的理由是「常规诊疗数据」,但患者是否知道自己的病历可能被公开,无法从公开材料判断。

这些是 2022 年中文 NLP 论文的普遍状况,并非 TCM-SD 独有,但使用者应当知情。

9.7 标签质量的未知性

论文称证型由临床医生给定,但未报告标注一致性(如两名医生对同一病历的 Kappa 值)。中医辨证本身存在流派差异,同一病历在不同医生眼中可能是不同证型——这是一个公认的临床现实,TCM-SD 未量化它。

后果:模型 51% 的 Macro-F1 里,有多少是「模型错」,有多少是「标签本身有争议」,无法区分。若标注一致性只有 0.6,那模型的上限也就被锁定了。

9.8 与「大模型时代」的张力

TCM-SD 发表于 2022 年,评测对象是 BERT 级别的模型(最大约 3 亿参数)。2023 年之后,参数量百亿级的大模型在中文医疗任务上表现显著提升,但 TCM-SD 论文未提供任何大模型的基线。

这意味着:

  • 用 TCM-SD 评测今天的 LLM,缺乏可对标的官方基线;
  • 若自行评测,需说明提示词、few-shot 设置、解码策略,否则结果不可比。

这是所有 2022 年前后发布的基准面临的共同问题:基准没有老,但参照系老了。


§10 方法学启示与延伸

10.1 三条可迁移的方法学经验

经验一:标签归一化是中医 NLP 的第一道坎。

548 → 244 → 148 这条链条说明,中医数据的最大障碍不是模型不够强,而是标签体系本身不统一。任何做中医 AI 的团队,第一步都应当是建立自己的证型映射表,而不是直接拿原始标签训练。

经验二:领域预训练要「够大」才有效。

TCM-BERT(0.02B)弱于 RoBERTa(5.4B 通用语料),ZY-BERT(0.4B)强于 RoBERTa。这条曲线上有一个临界点:领域语料规模必须达到通用语料的一个可观比例,领域预训练才能兑现优势。0.02B 太少,0.4B 够用。

经验三:知识注入的瓶颈在检索,不在模型。

MRC 实验里,模型本身的能力是够的(EM 96%),但 TF-IDF 检索的 P@5 只有 3.94%。这说明给中医模型喂知识,难的不是「怎么喂」,而是「喂什么」。后续做 RAG(检索增强生成)的团队,应当把主要精力放在中医知识的检索质量上,而非模型微调。

10.2 三条可延伸的研究方向

方向 具体问题 可参考的库内资源
长尾分类 如何在 148 类高度不平衡下提升 Macro-F1 TCM-SD 本体
事实级知识注入 如何用高质量证型知识提升辨证准确率 TCMSSD(624 证候)、TCMBank
推理链建模 如何让模型不仅判对,还能讲清依据 TCMEval-SDT(四步推理链)

10.3 给不同读者的使用建议

给学生/初学者:

  • 从 GitHub 下载 train/dev 与 test.json,先用 RoBERTa 跑一遍,复现 47.55% 的 Macro-F1;
  • 再跑 ZY-BERT(若权重可获取),对比 51.01%;
  • 重点观察长尾类的混淆矩阵,这比总分更有信息量。

给做中医大模型评测的团队:

  • 把 TCM-SD 作为「中医基础能力」的一个维度,而非唯一维度;
  • 评测时须同时报告 Acc 与 Macro-F1,并说明是否使用 few-shot;
  • 建议附带一个「按证型分层的准确率表」,暴露模型在稀有证型上的短板。

给做临床辅助产品的团队:

  • 先评估单中心偏倚对你们场景的影响;
  • 考虑先在你们的真实数据上微调,再用 TCM-SD 做对照;
  • 注意许可限制:商用需另行授权。

10.4 与 TCMEval-SDT 的联合使用范式

一个实用的组合是:

  1. 用 TCM-SD 训练/评测「判断能力」——模型能否从病历文本判对证型;
  2. 用 TCMEval-SDT 评测「推理能力」——模型能否说清为什么是这个证型;
  3. 两者对比——若 A 模型在 TCM-SD 上高、在 TCMEval-SDT 上低,说明它「会猜不会讲」;反之则可能是「讲得头头是道但判不对」。

这个组合能揭示单一基准看不到的能力结构问题。


§11 DAIMS 数据成熟度评估

DAIMS(Data and AI Maturity / 数据成熟度)是一个五维评估框架,用于判断数据集从「原始文本」到「AI-Ready」的成熟程度。以下按五维对 TCM-SD 打分(1–5 分,5 分为最高)。

维度 评分 依据
可得性(Availability) ★★★★☆ 4 GitHub 公开直下,天池需登录;双通道降低单点失效风险;但依赖 Dropbox/Google Drive 外链的部分不稳定
可用性(Usability) ★★★☆☆ 3 数据格式为 JSON/ZIP,可直接加载;但缺字段字典,需自行解析键名;无官方 dataloader
完整性(Completeness) ★★★☆☆ 3 主体数据齐备(train/dev/test);但类别分项、采集时间、平均长度、标注一致性均缺失
准确性(Accuracy) ★★★★☆ 4 真实门诊病历 + 临床医生标注;但未报告标注一致性,标签质量无法量化
治理与合规(Governance) ★★★☆☆ 3 有明确许可(CC BY-NC-SA 4.0)、有脱敏声明;但无 IRB 批号、无 DUA(数据使用协议)、许可含超 CC 条款

综合评分:3.4 / 5

11.1 五维解读

可得性 4 分的理由:TCM-SD 在「数据能不能拿到」这件事上做得比多数中医数据集好——两个平台、三条路径(train/dev、test、语料)。扣分项是外部网盘依赖,以及天池需要登录。

可用性仅 3 分的原因:这是最容易被忽视的一环。一个「可下载」的数据集不等于「可用」——没有字段字典,使用者要花时间逆向 JSON 结构;没有官方 dataloader,训练前要自己写预处理。这两项成本在实际项目中往往占去几天时间。

完整性 3 分的核心问题:见 §9.3 的六项缺失清单。这是 TCM-SD 最明显的短板。

准确性 4 分的依据:真实数据是它的最大资产。扣分项是标注一致性未知——这在中医领域尤其重要,因为辨证分歧是真实存在的。

治理 3 分的权衡:许可清晰是加分项,但缺乏 DUA、IRB 批号、以及「天池条款 > CC 协议」的法律模糊性,让它无法达到最高档。

11.2 与库内条目的成熟度对照

条目 可得性 可用性 完整性 准确性 治理 综合
TCM-SD 4 3 3 4 3 3.4
TCMEval-SDT(1053) 5 4 4 4 4 4.2
TCMSSD(1054) 4 3 4 3 3 3.4

TCM-SD 与 TCMSSD 综合分相近,但短板位置不同:TCM-SD 缺「文档」,TCMSSD 缺「可计算性」。

11.3 提升路径

若要让 TCM-SD 达到 4.0 分以上,最有效的三个动作是:

  1. 补字段字典(提升可用性 3→4):一页表说明每个 JSON 键的含义与取值;
  2. 补类别分布表(提升完整性 3→4):148 类各自的样本数;
  3. 补标注一致性统计(提升准确性 4→5):哪怕只有一个子集的 Kappa 值。

这三项都是低成本、高收益的改进——不需要重新采集数据,只需整理已有信息。


§12 常见问答(FAQ)

Q1:TCM-SD 和 TCMEval-SDT 是同一个东西的不同版本吗?
不是。TCM-SD 是 2022 年发表在 CCL 会议上的 54,152 条辨证分类数据集(北京理工大学 + 徐州市中医院);TCMEval-SDT 是 2025 年发表在 Scientific Data 上的 300 例辨证推理评测数据集(中国中医科学院)。两者数据来源、任务形式、许可均不同。

Q2:54,152 和「逾 65,000」是什么关系?
65,000 是原始收集的全部病历数;54,152 是经过证型归一化(548→244)并删除样本少于 10 条的类别后,保留的样本数。两者差额来自被剔除的证型类别及其全部样本。

Q3:为什么类别数从 548 变成 148,是不是作者删了太多?
删除分三步:同义合并(548→244)、剪除模糊与上位证型(包含在 244 的统计里)、过滤低频类(244→148)。每一步都有明确规则,不是随意删减。但需承认,低频类被整体删除,对罕见证型研究不利。

Q4:论文说「first public」,为什么测试集到 2023 年才公开?
这无法从公开材料完全解释。可以确认的事实是:GitHub 仓库 2021-12 初建时只有代码与样例;训练数据 2023-05 上传;带答案的测试集 2023-07 上传。2022 年论文发表时,第三方能否获得完整数据存疑。

Q5:ZY-BERT 的 Accuracy 比 RoBERTa 低,为什么说是 SOTA?
论文以 Macro-F1 为最优判据(51.01% vs 47.55%)。这在长尾分布下是合理的选择,但读者应当注意 Acc 栏 RoBERTa 确实略高(82.26% vs 82.19%)。

Q6:能不能把 TCM-SD 用在大模型微调上?
可以(学术用途),但需注意:① 许可禁止商用;② 数据格式为长文本 + 单标签,需要自行构造指令微调样本;③ 54,152 条对百亿参数模型偏少,建议结合其他中医语料。

Q7:MRC 任务的 85.88% 是不是意味着辨证问题已经解决?
不是。85.88% 是「5 选 1」条件下的 Macro-F1,候选由人工给定。真实场景下没有候选列表,必须从 148 类中自主判断,对应的是 51.01%。而且知识检索 P@5 仅 3.94%。

Q8:数据里的证型名称是标准名称吗?
经 GB/T 15657-1995 与专家辨证归一化,但与最新版证型标准(如后续的团体标准)的对应关系论文未说明。若要与 TCMSSD 的 624 证候对照,需自行建立映射。

Q9:能不能直接用天池下载的数据复现论文结果?
天池只提供 train/dev 包(9.59 MB),不含 test 集。要复现 test 指标,需从 GitHub 下载 test.json。此外,ZY-BERT 权重与预训练语料依赖外部网盘,能否获取不确定。

Q10:这份数据里有没有患者的隐私信息?
论文与天池均声明已脱敏,不含姓名、年龄、电话等。但未说明脱敏方法,也未提供 IRB 批号。使用者应自行做二次检查(如检索地名、职业词)。


§13 事实清单与术语表

13.1 核心事实清单

编号 事实 来源
F1 数据集全名为 TCM-SD: A Benchmark for Probing Syndrome Differentiation via Natural Language Processing arXiv / ACL Anthology
F2 arXiv 编号 2203.10839,v1 2022-03-21,v2 2022-08-03 arXiv 页面
F3 发表于 CCL 2022,pp. 908–920,Anthology ID 2022.ccl-1.80 ACL Anthology
F4 作者 6 人:Mucheng Ren, Heyan Huang, Yuxiang Zhou, Qianwen Cao, Yuan Bu, Yang Gao arXiv
F5 单位为北京理工大学计算机学院 + 徐州市中医院 论文署名
F6 数据量 54,152 条,148 种证型 摘要
F7 原始记录逾 65,000 条,原始证型 548 类 正文
F8 合并后 244 类,过滤 <10 样本后 148 类 正文
F9 划分比例 8:1:1 正文
F10 外部知识语料 1,027 种证型,爬自大医网 正文
F11 ZY-BERT 语料逾 4 亿 token Table 2
F12 ZY-BERT Test Acc 82.19%,Macro-F1 51.01% Table 4
F13 RoBERTa Test Acc 82.26%,Macro-F1 47.55% Table 4
F14 TCM-BERT Test Acc 80.55%,Macro-F1 41.58% Table 4
F15 TF-IDF 知识检索 P@5 = 3.94% 正文
F16 许可 CC BY-NC-SA 4.0 天池页 / GitHub README
F17 天池附加条款:仅学术研究用途 天池页
F18 论文正文未声明许可 arXiv 全文
F19 GitHub 仓库 Borororo/ZY-BERT,首次提交 2021-12-02 GitHub
F20 test.json(带答案)2023-07-24 上传 GitHub
F21 现发布预训练语料已移除 CNKI 部分 GitHub README
F22 基金:国家自然科学基金 U21B2009 论文致谢
F23 天池页致谢徐州市中医院提供数据支撑,卜渊主任、周永兰博士咨询 天池页
F24 天池下载计数 2,495(2026-10-17 抓取) 天池页

13.2 未公开(论文与平台均无)项

项目 状态
患者个体数、性别年龄分布 未公开
采集时间窗 未公开
train/dev/test 分项绝对值 未公开
148 类各自样本数、最大/最小类 未公开
病历平均字符长度 未公开
标注一致性(Kappa 等) 未公开
IRB 批号、伦理审查机构 未公开
脱敏具体方法 未公开
数据字段字典 未公开
具体医院科室、医生人数 未公开

13.3 术语表

术语 英文 释义
中医 Traditional Chinese Medicine (TCM) 中国传统医学体系
辨证 syndrome differentiation (SD) 依据四诊信息判定证型的诊断过程
证 / 证型 / 证候 syndrome (zheng) 疾病在某一阶段的病理概括,是中医治疗的单位
四诊 four diagnostic methods 望、闻、问、切
主诉 chief complaint 患者就诊时的主要症状陈述
现病史 medical history 疾病发生发展过程的详细描述
辨证论治 treatment based on syndrome differentiation 依证型选方用药的诊疗原则
同病异治 same disease, different treatments 同一疾病不同证型用不同治法
异病同治 different diseases, same treatment 不同疾病同一证型用相同治法
长尾分布 long-tail distribution 少数类样本极多、多数类样本极少的分布形态
全词掩码 whole word masking (WWM) 以词为单位整体遮盖的预训练策略
宏平均 F1 Macro-F1 按类计算 F1 再平均,各类等权
机器阅读理解 machine reading comprehension (MRC) 从给定上下文中抽取答案的任务
领域预训练 domain-specific pre-training 在特定领域语料上继续预训练语言模型
检索精度 P@5 前 5 条检索结果中相关结果的比例

§14 附录:来源与核验记录

14.1 一手来源列表

编号 来源 URL 用途
S1 arXiv 摘要页 https://arxiv.org/abs/2203.10839 标题、作者、版本时间、DOI、学科分类
S2 arXiv 全文 HTML https://arxiv.org/html/2203.10839v2 全部数字:规模、归一化、Table 2/4/5/6、伦理声明、P@5
S3 ACL Anthology https://aclanthology.org/2022.ccl-1.80 会议、页码、Anthology ID、引用格式
S4 GitHub Borororo/ZY-BERT https://github.com/Borororo/ZY-BERT 文件清单、提交时间、许可、语料口径、联系邮箱
S5 阿里云天池数据集页 https://tianchi.aliyun.com/dataset/dataDetail?dataId=139034 中文名、发布日、许可、附加条款、致谢、下载计数
S6 北京理工大学成果库 https://pure.bit.edu.cn/en/publications/tcm-sd-a-benchmark-for-probing-syndrome-differentiation-via-natur 会议时间地点、Scopus 引用数、作者单位

14.2 核验方法

  • 三源互证:54,152 / 148 两个核心数字在 S1(摘要)、S2(正文)、S5(天池页面)三处一致;
  • 许可互证:S4 与 S5 均写 CC BY-NC-SA 4.0,S2 无条件 → 记为「双口径」;
  • 时间线互证:S1(arXiv v1/v2 日期)、S3(CCL 2022 会议期)、S4(各文件提交日)、S5(天池发布日)交叉核对;
  • 未公开项:凡 S2 全文检索无结果者,一律标「未公开」,不做推算;
  • 推算值标注:唯一涉及推算的是 8:1:1 的绝对数,已在正文明确标注为推算,未写入硬数字表。

14.3 双口径冲突存照

编号 冲突点 口径 A 口径 B 本文处理
C1 arXiv 编号 任务头称「2304.08317 一带」 实为 2203.10839 以 2203.10839 为准,任务头编号有误
C2 名称 标题用 benchmark 摘要正文 v2 用 dataset 以标题 benchmark 为准,正文注明差异
C3 提升幅度 摘要称 over 4% / over 10% 表格实算 +3.46 / +9.43 原文引述 + 实算存照
C4 许可 论文正文无声明 天池/GitHub 为 CC BY-NC-SA 4.0 以平台声明为准
C5 语料内容 论文称含 CNKI 论文 README 称现发布版已移除 CNKI 两者并存存照
C6 联系邮箱 renm@bit.edu.cn(论文/天池) renm@nuist.edu.cn(GitHub) 两处并列,nuist 任职变更未核实
C7 测试集可得性 论文称 first public test.json 2023-07 才上传 以提交记录为准,存疑点写明

14.4 遗留疑点(未核项)

编号 疑点 影响 建议核实方式
U1 2022 年论文发表时 test 集是否公开 影响历史复现性判断 查 Wayback Machine 2022 年快照
U2 renm@nuist.edu.cn 对应任职变更 影响作者机构描述 查 Ren Mucheng 最新主页
U3 148 类清单 影响临床可用性 解析 GitHub 数据包
U4 56 差额(65,000 → 54,152 的类别剔除)具体分布 影响数据完整性判断 论文未提供,无法核实
U5 ZY-BERT 权重当前是否仍可下载 影响复现 实测 Google Drive 链接
U6 预训练语料 Dropbox 链接有效性 影响复现 实测链接
U7 天池下载计数随时间变化 仅作热度参考 需注明抓取时点(已注明 2026-10-17)
U8 标注一致性从未披露 影响对 51% 分数的解读 论文未提供,无法核实

14.5 与任务头 brief 的差异说明

任务头 brief 提供了以下信息,经核验后的处理:

brief 说法 核验结果 处理
「第一个中医辨证论治的大规模公开基准」 论文自述「first public large-scale benchmark for SD」 采信,正文中标注为「作者自述」
「54,152 条真实临床记录、148 种证型」 三源一致 采信
「来自 arXiv 论文(2304.08317 一带)」 arXiv 实为 2203.10839 更正
「配套有 TCM-SD 数据集与 TCM-Syndrome 分类体系」 论文未提「TCM-Syndrome 分类体系」这一名称;实际配套为证型知识语料(1,027 种,来自大医网)与 148 类标签体系 按实核结果改写:称「证型标签体系」与「证型知识语料」,不臆造「TCM-Syndrome」专名
「数据实际是否公开、许可是什么(很可能是仅研究用)」 数据公开(GitHub + 天池);许可 CC BY-NC-SA 4.0 + 天池附加仅学术条款 采信并细化

14.6 引文格式

@inproceedings{mucheng-etal-2022-tcm,
  title = "{TCM}-{SD}: A Benchmark for Probing Syndrome Differentiation via Natural Language Processing",
  author = "Ren, Mucheng and Huang, Heyan and Zhou, Yuxiang and Cao, Qianwen and Bu, Yuan and Gao, Yang",
  booktitle = "Proceedings of the 21st Chinese National Conference on Computational Linguistics",
  month = oct, year = "2022", address = "Nanchang, China",
  publisher = "Chinese Information Processing Society of China",
  url = "https://aclanthology.org/2022.ccl-1.80", pages = "908--920"
}

本条目依据 arXiv:2203.10839 v2 全文、ACL Anthology 2022.ccl-1.80、GitHub Borororo/ZY-BERT 仓库页面、阿里云天池 dataId=139034 页面与北京理工大学成果库页面撰写,抓取时点 2026-10-17。所有数字均来自上述一手来源,未公开项已逐条标注。


§6.5 使用坑点清单(坑 1 – 坑 10)

以下十条均为本条目在核验过程中实际遇到的问题,或据一手来源可推知的使用陷阱。每条都给出「现象 → 原因 → 处置」。

坑 1:把 arXiv 编号记成 2304.08317

现象:在网络笔记、二手综述里,TCM-SD 的 arXiv 编号常被误写为 2304.08317(2023 年 4 月的编号段)。

原因:TCM-SD 的实际编号是 2203.10839,提交于 2022 年 3 月。2023 年 4 月的 2304 段属于另外一批论文,与 TCM-SD 无关。二手材料在转录时把「2023 年看到」与「论文编号」混在了一起。

处置:一律以 https://arxiv.org/abs/2203.10839 为准。检索时若只看到 2304.08317,说明该材料不可靠,整段信息需重新核验。

坑 2:只报 Accuracy 就说 ZY-BERT 全面领先

现象:很多介绍文章写「ZY-BERT 以 82.19% 的准确率刷新纪录」。

原因:Test 集上 RoBERTa 的 Accuracy 是 82.26%,比 ZY-BERT 的 82.19% 高 0.07 个百分点。ZY-BERT 的优势只体现在 Macro-F1(51.01% vs 47.55%)。

处置:引用结果时同时给出 Acc 与 Macro-F1,并说明论文以 Macro-F1 为最优判据的理由(长尾分布)。

坑 3:以为 54,152 就是全部原始数据

现象:有材料写「TCM-SD 收集了 54,152 条病历」。

原因:原始收集量是「逾 65,000 条」(over 65,000)。54,152 是剔除低频证型类别之后的保留量。中间损失的部分不是随机丢样,而是整类被删——这意味着数据集中不存在样本数少于 10 的证型。

处置:表述时区分「原始收集」与「最终发布」两个口径,不要混用。

坑 4:以为数据在论文发表时就能下载

现象:按论文 PDF 里的 GitHub 链接去下数据,发现只有代码和样例。

原因:仓库 2021-12-02 初建时只有 LICENSE、README.md、TCM Code.zip、TCM Data Sample.zip;TCM_SD_train_dev.zip 直到 2023-05-15 才上传,test.json 直到 2023-07-24 才上传。

处置:直接访问仓库根目录确认文件存在,不要依赖论文 PDF 中的描述。若需 test 集,务必取 test.json(带答案)而非 test_no_answer.json。

坑 5:以为天池数据包含测试集

现象:从天池下载 TCM_SD_train_dev.zip(9.59 MB),发现没有 test。

原因:天池包只含 train + dev。test 集只在 GitHub 提供。

处置:完整复现需双通道:天池(或 GitHub)取 train/dev,GitHub 取 test.json。

坑 6:以为预训练语料与论文完全一致

现象:下载 README 里的 Dropbox 语料,实测 token 数或内容与论文描述的「CNKI 学术论文 + 书籍 + 网站文章」不符。

原因:README 明确写「the current released version does not contains academic papers and journals from CNKI for some reasons」,即现发布版已移除 CNKI 部分。

处置:不要再宣称「语料含 CNKI 论文」;若要复现 ZY-BERT,需接受语料口径差异。

坑 7:用天池附录的附加条款去否定 CC 协议

现象:看到天池页写「禁止用于商业等其他任何非学术研究的行为」,就认为该数据不是 CC BY-NC-SA 4.0。

原因:两者并存——CC 协议是基础许可,天池附加条款是更严的使用限制。这不是矛盾,而是「许可 + 附加条件」的叠加。

处置:引用时两层都写:CC BY-NC-SA 4.0 + 仅学术研究用途。避免只引其一。

坑 8:把 MRC 的 85.88% 当成分类性能

现象:看到 Table 5 里 RoBERTa 在 MRC 设置下 Macro-F1 达 85.88%,认为辨证问题已被解决。

原因:85.88% 是「5 选 1」条件下的结果,候选列表由人工给定(1 个正例 + 4 个随机)。真实场景没有候选列表。而且知识检索的 P@5 仅 3.94%。

处置:区分「限制候选的 MRC」与「148 类开放分类」,不要把两者混为一谈。

坑 9:以为 148 类就是中医证型的全集

现象:用 TCM-SD 的 148 类作为证型体系去映射其他数据。

原因:148 类是「548 类经合并 + 剪枝 + 低频过滤」后的结果,是为分类任务服务的子集,不是完整证型体系。外部知识语料用了 1,027 种证型,TCMSSD 收录 624 种——可见完整体系远大于 148。

处置:若需完整证型体系,参考 TCMSSD(rid 1054)或国家标准的证型分类;把 TCM-SD 的 148 类当作「可学习子集」而非「全集」。

坑 10:忽略单中心偏倚做跨机构结论

现象:用 TCM-SD 训练的模型,直接在另一家医院的病历上部署,效果大幅下降。

原因:全部数据来自徐州市中医院一家。论文没有任何跨机构验证实验。不同医院的辨证习惯、用语风格、证型分布都可能不同。

处置:跨机构使用前,务必在目标医院的小样本上做微调或至少做分布对比。不要把 TCM-SD 上的指标直接当作跨院泛化能力。


§6.6 全文引述与引文规范

6.6.1 官方引文

GitHub README 与天池页面给出的 BibTeX 一致:

@inproceedings{mucheng-etal-2022-tcm,
  title = "{TCM}-{SD}: A Benchmark for Probing Syndrome Differentiation via Natural Language Processing",
  author = "Ren, Mucheng and Huang, Heyan and Zhou, Yuxiang and Cao, Qianwen and Bu, Yuan and Gao, Yang",
  booktitle = "Proceedings of the 21st Chinese National Conference on Computational Linguistics",
  month = oct, year = "2022", address = "Nanchang, China",
  publisher = "Chinese Information Processing Society of China",
  url = "https://aclanthology.org/2022.ccl-1.80", pages = "908--920"
}

6.6.2 引用时的三点建议

  1. 引会议论文而非仅引 arXiv:正式版见 CCL 2022 论文集(2022.ccl-1.80),arXiv 为预印本;
  2. 引数据时加许可声明:注明 CC BY-NC-SA 4.0 并说明仅用于学术研究;
  3. 引模型时区分 ZY-BERT 与 ZY-BERT 权重:权重托管在 Google Drive,非正式发布渠道,引用时应说明获取方式。

6.6.3 数据可用性声明模板

若在论文中使用 TCM-SD,可采用如下表述:

本研究使用 TCM-SD 数据集(Ren et al., 2022),该数据集由北京理工大学与徐州市中医院构建,包含 54,152 条真实中医门诊病历、148 种证型,以 CC BY-NC-SA 4.0 许可发布于 https://github.com/Borororo/ZY-BERT 与阿里云天池(dataId=139034)。本研究仅将其用于学术研究目的。


§7.8 长尾问题的技术深挖

7.8.1 长尾的三种成因

TCM-SD 的长尾不是单一原因造成的,至少有三层:

成因一:中医证型的天然分布不平衡。 临床上,脾虚、气虚、湿热等基础证型极为常见,而某些复合证型(如「寒热错杂」「上热下寒」)出现频率低。这是医学事实,不是数据采集问题。

成因二:归一化放大了不平衡。 548→244 的合并把同义证型聚在一起,常见证型因为名称多、样本多,合并后更集中;罕见证型即便有别名,合并后仍是少数。

成因三:低频类被整类删除。 244→148 删掉了 96 个低频类,这 96 类的样本也一并消失,使得保留的 148 类总量下降,但头部类占比上升。

7.8.2 对训练策略的影响

策略 在 TCM-SD 上的效果预期 依据
过采样稀有类 可能提升 Macro-F1,但易过拟合 稀有类绝对样本少
类别加权损失 常用做法,效果中等 需调权重
分层采样 保证每个 batch 覆盖多类 提升训练稳定性
先粗后细两阶段 潜力最大 MRC 实验「5 选 1」的 84% 佐证
外部知识注入 有效但受检索精度限制 P@5 = 3.94%

7.8.3 一个可验证的假设

由 MRC 实验可推出一个假设:如果能把 148 类先聚成 10–20 个上位组(如按脏腑、按病性),先做粗分类,再在组内细分,Macro-F1 可能显著提升。

这个假设的合理性有三重支撑:

  1. 设置 ① 到 ② 的跳跃(47.57% → 84.42%)证明候选规模是主因;
  2. 论文的剪枝阶段本身就在做「上位→下位」的区分,说明层级结构真实存在;
  3. 中医理论本身是分层的(八纲 → 脏腑 → 具体证型)。

但需注意:这个假设未被论文验证,属于本条目基于数据推出的合理推断,不是已发表结论。


§8.6 与中文医疗 NLP 数据集谱系的对照

数据集 规模 模态 任务 许可 与 TCM-SD 的关系
TCM-SD 54,152 文本 中医证型分类 CC BY-NC-SA 4.0 本条
TCMEval-SDT(1053) 300 文本 辨证四步推理 CC-BY 4.0 过程 vs 结果
CMeQA2(825) 十万级 文本 中文医学问答 见条目 同为中文医疗 NLP 数据
CMB-CMExam(180) 千级 文本 中文医学考试 见条目 知识测评
MedQA(50) 万级 文本 英文医学考试 见条目 跨语言对照
PubMedQA(49) 千级 文本 文献问答 见条目 文献推理
Huatuo-26M(823) 千万级 文本 医学预训练语料 见条目 语料规模对照(26M vs 0.4B token)

从这张表能看出 TCM-SD 的独特位置:它是这张表里唯一一个「中医 + 大规模 + 真实临床 + 单标签分类」的组合。其他中医条目要么小(300),要么偏知识(考试/问答),要么偏多模态。


§2.8 病种维度:论文未展开的一块

TCM-SD 的论文把全部注意力放在「证型」这一维上:148 类、长尾、归一化。但中医病历通常还隐含另一维——病(疾病名称),也就是「辨病」与「辨证」并举中的前者。

论文正文未给出数据的病种分布统计,也未把病名作为字段列出来。这意味着:

  • 检索者无法按病种切分数据(比如「只看咳嗽、失眠、胃脘痛这三类病」);
  • 无法回答「同一病下 148 类证型的分布是否均衡」这一关键问题;
  • 无法做「异病同治」的实证检验——这本来是中医理论中最适合用数据验证的部分。

论文明确提到辨证论治的核心特征是「同病异治、异病同治」,但在数据层面没有给出足以验证这一命题的字段。这是一个理论主张与数据供给之间的缺口。

若后续有人要做这个方向,可行的补救方式是:用证型名称反推病种(中医证型名常带病位线索,如「脾胃」暗示消化系统),但这是推断而非原始字段,准确性无法保证。

2.9 四诊信息的真实颗粒度

中医四诊——望、闻、问、切——在 TCM-SD 里是以文字形式散落在现病史叙述中的,不是结构化字段。

具体来说:

  • 望诊(面色、舌象、形体):以「舌淡苔白」「面色萎黄」这类短语出现,但无独立字段,也无图像;
  • 闻诊(声音、气味):出现频率最低,文字转述极少;
  • 问诊(症状、寒热、饮食、二便、睡眠):信息量最大,构成现病史主体;
  • 切诊(脉象):以「脉沉细」「脉弦滑」这类短语出现,同样无波形数据。

这一颗粒度带来的限制是明确的:模型学到的是「文字描述与证型的关联」,而不是「舌象图像或脉波信号与证型的关联」。TCM-SD 无法用于训练舌诊或脉诊的视觉/信号模型——这需要 TCM-Tongue(rid 1052)这类专门的影像数据集。

2.10 中医门诊病历的文体特征

理解数据形态,还需要理解中医门诊病历本身的写法。这类文本有几个鲜明特征,直接影响模型表现:

特征 表现 对模型的挑战
高度省略 「纳可,二便调,眠差」——主语、谓语常省 依赖上下文补全语义
术语混用 同一症状有文言与白话两种写法 词表覆盖不足
时间模糊 「近日」「半月来」「缠绵不愈」 时序推理困难
否定与转折 「无发热,但畏寒」 否定范围识别
数值稀疏 少有成体系的检验数值,多为定性描述 无法做数值特征工程
书写者风格差异 不同医生详略差异大 引入书写者偏倚

论文的错误分析提到的「复杂推理(时间、数值、空间、否定)」正是这些文体特征的直接后果。换句话说,TCM-SD 的难点一半来自中医知识,一半来自病历文体。

2.11 数据规模在 NLP 基准谱系中的位置

把 54,152 这个数字放到中文文本分类基准的谱系里,位置会更清楚:

基准 样本量 类别数 领域
THUCNews(子集) 数万至数十万 10–14 新闻
TNEWS(CLUE) 53,360 15 新闻
TCM-SD 54,152 148 中医临床
IFLYTEK(CLUE) 17,332 119 应用描述
CSL 约 2 万 — 摘要

TCM-SD 的样本量可与主流中文基准比肩,但类别数是它们的十倍以上,且类别分布远比新闻类不平衡。这解释了为什么它在 Macro-F1 上的绝对值看起来不高——不是模型弱,而是任务难度本来就高出许多。

一个参照性观察:CLUE 的 IFLYTEK 任务有 119 类,若把 TCM-SD 的 148 类与它相比,类别规模相当,但 TCM-SD 的类别先验分布更偏斜。


§3.6 论文写作与投稿脉络

3.6.1 版本演化

TCM-SD 的论文经历了三个阶段:

阶段 形式 时间 变化
v1 arXiv 预印本 2022-03-21 首次公开,2,615 KB
v2 arXiv 修订 2022-08-03 扩充至 3,613 KB,标注「to appear at CCL2022」
正式版 CCL 2022 论文集 2022-10 收录于第 908–920 页

v2 比 v1 大近 1 MB,通常意味着补充了实验或图表。由于本条目未逐页比对 v1 与 v2,具体增补内容不作推断。

3.6.2 会议定位与评审语境

CCL(全国计算语言学会议)是中国中文信息处理领域的旗舰会议,2022 年第 21 届在南昌举办,程序委员会由孙茂松、刘洋、车万翔、冯洋、邱锡鹏、饶高琦、陈玉博等组成。该会议论文以中文语言技术为主线,接受英文投稿。

TCM-SD 发表在此处,意味着它面对的是国内计算语言学共同体,而非医学信息学共同体。这一语境解释了论文的两个倾向:

  1. 重方法轻临床:论文详细讨论预训练、掩码策略、MRC 改写,但对临床可用性(如证型的误判代价)着墨很少;
  2. 基准思维:强调「first public large-scale benchmark」,把数据集本身当作主要贡献,而不是把临床发现当作贡献。

这也是理解后续引用格局的关键——它主要被 NLP 与 AI 团队引用,较少被临床研究引用。

3.6.3 与同期中医 NLP 工作的关系

2022 年前后,中医 NLP 出现了几项并行工作:

  • 中医预训练模型:TCM-BERT 等,语料规模多在千万 token 量级;
  • 中医知识图谱:以药材-方剂-证候为核心;
  • 中医问答数据集:多以教材与考试题为基础。

TCM-SD 的差异在于它是唯一以「真实病历 → 证型」为主线的公开基准。这一独特性使它即便在数据集层出不穷的今天,仍被作为中医辨证任务的默认参照。


§4.6 归一化决策的临床含义再讨论

4.6.1 「保留最具体证型」的合理性

论文剪枝阶段的核心决策是:保留最具体(最下位)的证型,删除上位证型。这个决策在临床上是有道理的,因为治法跟着最具体的证型走。

但这里存在一个隐含假设:临床记录中写的证型,一定是最具体的那个。实际情况未必如此——有些医生习惯写「风寒证」这种较粗的诊断,如果数据中这类记录被剪掉,剩下的是「写得更细」的医生的记录。这可能在无意间筛掉了部分书写风格。

论文未讨论这一筛选效应。本条目把它作为潜在的选择偏倚记录在案,但不判定其影响大小。

4.6.2 合并标准的时代性

论文以 GB/T 15657-1995 为依据。这一标准是《中医病证分类与代码》,发布至今已近三十年,其间中医证型体系有过多次修订(如后续的行业标准与团体标准)。

若把 TCM-SD 的 148 类与采用新标准的数据库(如 TCMSSD 的 624 证候)对齐,可能出现:

  • 名称相同但内涵有差异;
  • 新标准拆分了旧标准的某一类;
  • 旧标准有而新标准已废弃的类。

这三种情况都需要人工映射,目前没有公开的对照表。

4.6.3 一个反事实:如果不归一化会怎样

假设不做归一化,直接对 548 类做分类:

  • 大部分类别的样本数会少于 10 条,模型无法学习;
  • 同义证型被拆成多个类,模型在「风热证」与「风热外袭证」之间反复混淆;
  • Macro-F1 会进一步下降(因为更多类别是无样本可学的)。

因此归一化是必要之恶——它牺牲了细粒度与完整性,换来了可学习性。TCM-SD 的 148 类,本质上是「在可学习约束下能保留的最大证型集合」。


§5.8 分类头与损失函数的选择空间

论文未详细披露分类头的具体结构,但从结果可以推断几个关键选择:

其一,必然是单标签分类。 每条病历对应唯一证型,没有多标签设置。这在中医上其实是一种简化——临床上存在「兼证」(如「肝郁脾虚」同时包含肝郁与脾虚),但数据里它们被打包成一个复合证型名,而非两个标签。

其二,大概率使用交叉熵损失、未做类别加权。 依据是:若做了有效的类别加权,Macro-F1 与 Acc 的落差不应如此之大(31–46 个百分点)。未加权时,模型会天然偏向头部类,导致 Macro-F1 远低于 Acc。

其三,输入长度处理方式未披露。 中医病历可能超过 BERT 的 512 token 上限(尤其含完整现病史的样本)。论文未说明是截断、分段还是取前 512 个 token。这一细节对复现很重要,但公开材料中没有。

5.8.1 复现时需要注意的三个实现细节

细节 论文披露情况 复现建议
最大序列长度 未披露 先统计数据长度分布,再定 256 或 512
类别不平衡处理 未披露 先复现无加权版本对照论文数字
随机种子与多次运行 未披露 至少跑 3 个种子取均值,报告标准差

这三项在论文里都缺失,是复现时最容易踩坑的地方——尤其第一项,若长度设置不同,结果可能相差数个点。

5.8.2 ZY-BERT 的复现成本估算

组成 规模 成本量级
预训练语料 0.4B token 数十 GB 原始文本
预训练算力 300K steps × batch 256 BERT-Large 级别,单机多卡数天至数周
微调 54,152 条 × 148 类 单卡数小时

对多数团队而言,预训练不划算,微调可行。现实做法是:直接使用 ZY-BERT 权重微调,或用以 RoBERTa-wwm 为基座自行微调——后者在论文里已有 47.55% 的 Macro-F1 作为参照。


§7.9 指标解读:为什么是 Macro-F1 而不是别的

7.9.1 四个指标的相互关系

论文报告了四项指标,它们的关系可以这样理解:

  • Accuracy:全局正确率,每个样本等权 → 被头部类主导;
  • Macro-Precision:每类先算精确率再平均 → 反映「模型说某类是某类时有多准」;
  • Macro-Recall:每类先算召回率再平均 → 反映「某类出现时模型能不能找出来」;
  • Macro-F1:上述两者每类的调和平均再平均 → 综合覆盖能力。

在 TCM-SD 的表格里有一个规律:几乎所有模型的 Macro-P 都显著高于 Macro-R。以 ZY-BERT 为例,Test 集 Macro-P 57.70%、Macro-R 49.42%,相差 8.28 个百分点。

这说明模型倾向于保守判断:只在自己有把握的类上做预测,宁可漏判也不误判。对稀有类而言,这表现为「几乎不预测稀有类」——召回率低。

7.9.2 SVM 的异常表现

Test 集 SVM 的 Macro-P 高达 49.35%,但 Macro-R 只有 32.98%,两者相差 16.37 个百分点,是所有模型中最大的。Macro-F1 却在 36.37%,高于 CNN(32.83%)与 BERT(35.45%)。

这个现象值得注意:一个传统的分类器在 Macro-F1 上超过 BERT,说明在高度不平衡的小类别场景里,强模型的优势可能被类别偏斜吃掉。理论上 BERT 的表示能力远强于 SVM 的 TF-IDF 特征,但它更容易把样本推向头部类。

论文未对 SVM 的异常做专门分析。本条目记录这一现象,供复现者参考——若你的实验里 BERT 打不过 SVM,未必是代码有错。

7.9.3 Dev 与 Test 的一致性检查

对比两张表可以看出 Test 与 Dev 的排序基本一致(ZY-BERT > RoBERTa > ALBERT > distilBERT > TCM-BERT > BERT),说明结论稳健。

细节差异有两处:

  • Dev 集 ZY-BERT 与 RoBERTa 的 Macro-F1 差 6.29(49.47 vs 43.18),Test 集缩到 3.46(51.01 vs 47.55)——Test 集更难;
  • Dev 集 ALBERT 略高于 distilBERT(37.88 vs 36.07),Test 集也是(40.50 vs 40.24)。

整体看,Dev 与 Test 的差异在一个合理范围内,没有出现「Dev 高 Test 崩溃」的过拟合迹象。


§8.7 复现与二次开发的实操路径

8.7.1 最小可复现路径(约半天)

  1. 从 GitHub 下载 TCM_SD_train_dev.zip 与 test.json;
  2. 解析 JSON,确认字段结构(论文无字段字典,需自行查看);
  3. 用 hfl/chinese-roberta-wwm-ext 做微调,max_len 先设 512,batch 16,lr 2e-5,3 个 epoch;
  4. 在 test.json 上计算 Accuracy 与 Macro-F1;
  5. 对照论文的 82.26% / 47.55%——若差在 2 个百分点内,说明流程正确。

8.7.2 进阶路径(一周)

  1. 先做数据探索:统计每类样本数、文本长度分布、高频证型名;
  2. 复现 ZY-BERT(若有权重)或自建领域预训练;
  3. 尝试类别加权损失、focal loss、两阶段分类;
  4. 记录每个变体在头部类与尾部类上的分别表现。

8.7.3 可发表的创新点方向

方向 新颖性 与 TCM-SD 的结合点
层级分类(先脏象后证型) 中 148 类的上位聚类
证型知识检索增强 高 利用 1,027 种证型知识语料
长尾对比学习 中 稀有类样本增广
跨机构泛化研究 高 需自采数据做对照
辨证依据抽取(可解释性) 高 需标注依据句,TCM-SD 无此标注

最后一项需要特别注意:TCM-SD 没有标注「哪些句子是辨证依据」。任何做可解释性的工作,都需要自行标注或使用弱监督方法。


§9.9 数据集生命周期与可持续性

9.9.1 托管风险

TCM-SD 的完整获取依赖四处托管:

内容 托管方 风险等级
代码 + train/dev + test GitHub 低(但仓库若删除则失效)
train/dev 副本 阿里云天池 中(平台策略可能变化)
预训练语料 Dropbox 高(个人链接,易失效)
模型权重 Google Drive 高(个人链接,易失效)

GitHub 仓库自 2023 年 12 月后无新提交,作者联系方式也已从 bit.edu.cn 变为 nuist.edu.cn(README),说明维护活跃度已下降。这提示使用者在获取后应立即本地归档。

9.9.2 版本漂移

由于数据是分三次上传的(2021-12 代码与样例、2023-05 train/dev、2023-07 test),不同时间点下载的「TCM-SD」可能内容不同。论文没有版本号,也没有 checksum。

建议:下载后记录文件大小与提交哈希(GitHub 可查 commit id),作为引用时的版本依据。例如 TCM_SD_train_dev.zip 对应提交 e2337d2(2023-05-15),test.json 对应提交 a409c6f(2023-07-24)。

9.9.3 与「活数据集」的区别

TCM-SD 是一个静态数据集,不是持续更新的「活数据集」:

  • 没有版本号体系;
  • 没有变更日志;
  • 没有社区维护机制;
  • 没有纠错通道(除 GitHub issue)。

这与 TCMSSD(有 v1.0 版本与更新日期)形成对比。对于需要长期追踪的研究,静态数据集既省心(基线不变)又有风险(发现错误无法修正)。


§10.5 对中医 AI 研究范式的三点反思

10.5.1 「证型分类」是不是辨证的全部

TCM-SD 把辨证定义为分类,这在工程上合理,但在理论上是一种高度简化。

真实的辨证包含:

  • 收集信息(四诊);
  • 分析病机(为什么会这样);
  • 归纳证型(属于哪一类);
  • 确定治法(该怎么治)。

TCM-SD 只做了第三步。这意味着一个在 TCM-SD 上得分很高的模型,可能在临床上完全不可用——因为它不知道「为什么」,也无法解释给医生听。

这不是 TCM-SD 的过错,而是任何单一基准的固有局限。TCMEval-SDT 的价值正在于补上第二步与第四步。

10.5.2 数据规模与临床价值的非线性

54,152 条听起来很多,但分摊到 148 类,平均每类 366 条,而长尾意味着多数类远低于平均值。

对比影像领域:一个疾病分类数据集动辄十万张图像、每类数千张。中医文本的「信息密度」高于图像(一段病历包含的信息量远大于一张舌象),但样本量的绝对劣势仍然存在。

这提示一个判断:中医 NLP 的瓶颈可能不在模型,而在数据。尤其是有标注的、高质量的、多中心的临床文本数据。

10.5.3 从「判对」到「可信」的距离

临床可用的辨证辅助系统,需要的不只是准确率,还需要:

  • 可解释性:为什么是这个证型;
  • 不确定性估计:有多确定,是否该转人工;
  • 拒答能力:信息不足时说「无法判断」。

TCM-SD 的评测协议完全不覆盖这三项。一个 Macro-F1 51% 的模型,可能对某些样本极度自信却判错——这在临床上是有害的。

若要用 TCM-SD 做实用系统,必须额外设计:

  1. 置信度阈值与拒答机制;
  2. 依据句定位(需另做标注);
  3. 与医生的交互式澄清流程。

这三项都不在原始基准的范围内。


§11.4 DAIMS 维度补充说明

11.4.1 为什么可得性给 4 分而非 5 分

5 分意味着「一条命令即可获取、无登录、无外链风险、有校验和」。TCM-SD 达不到:

  • 天池需登录;
  • 语料与权重在个人网盘;
  • 无校验和与版本号。

但双平台冗余让它优于只能单一入口获取的数据集,因此给 4 分。

11.4.2 为什么可用性只给 3 分

可用性关注「拿到之后能不能直接用」。TCM-SD 的障碍是:

  • 无字段字典(最大障碍);
  • 无官方 dataloader;
  • JSON 结构需自行探索;
  • 中文编码与生僻字处理需注意。

对比 TCMEval-SDT 提供了明确的 JSON 文件名与 13 字段元数据编号,TCM-SD 的文档化程度明显更低。

11.4.3 准确性 4 分的依据与保留

给 4 分的理由是「真实临床数据 + 临床医生标注」,这比合成数据或众包标注更可信。保留的一分是因为:

  • 无标注一致性统计;
  • 单一医院,无法做标注质量的跨机构对照。

如果未来有研究做了 TCM-SD 子集的重新标注并报告 Kappa,这一维度才有望升到 5 分。

11.4.4 治理 3 分:三条具体缺口

缺口 现状 改进方向
无 DUA 无数据使用协议,仅靠 CC 许可 增加使用登记或协议
无 IRB 批号 论文称不涉及伦理问题而豁免 补充伦理审查备案
条款冲突 天池附加条款与 CC 协议并存 明确以哪条为准

这三条在学术数据集里很常见,但在医疗数据领域,补齐它们是走向「可放心使用」的必经之路。


§13.4 数据字典(据公开材料可确证部分)

严格来说,TCM-SD 没有官方数据字典。下表仅列出可以从公开材料确证的信息,未确证的一律标「待下载后确认」。

项目 内容 确证程度
文件格式 ZIP(train/dev)、JSON(test) 已确证(GitHub 文件列表)
文本语言 简体中文 已确证(论文与样例描述)
标签空间 148 类证型 已确证(论文)
划分 8:1:1 已确证(论文)
输入组成 主诉 + 现病史 + 四诊信息 已确证(论文叙述)
JSON 键名 未公开 待确认
是否有唯一 ID 未公开 待确认
是否有病名字段 未公开(论文未提) 待确认
test.json 与 test_no_answer.json 结构差异 前者含答案,后者不含 由文件名推断,高度可信但未逐字核验
编码 大概率 UTF-8 未确证

说明:本条目坚持「不臆造字段名」的原则。若需完整字段说明,唯一可靠途径是下载数据包后自行解析,或向作者发邮件询问(renm@bit.edu.cn / rdoctmc@gmail.com)。


§14.6 检索者备忘:五条一句话结论

  1. TCM-SD 是中医 NLP 的「ImageNet 时刻」——第一个把辨证任务规模化的公开基准,尽管今天看规模不算大。
  2. 它的核心难题是长尾,不是语言理解——所有模型的 Acc 与 Macro-F1 落差超过 30 个百分点。
  3. 它的核心资产是真实病历——不是教材改写,不是合成文本,噪音与省略都是真实的。
  4. 它的核心缺口是文档——无字段字典、无类别分布、无标注一致性,可复现性中等。
  5. 它的许可是硬约束——CC BY-NC-SA 4.0 + 仅学术用途,商用需另行授权。

相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • mednli — 共享标签:医疗NLP / 临床文本 / 医学问答与基准 / 评测基准 / 电子健康记录
  • er-reason — 共享标签:医疗NLP / 临床文本 / 医学问答与基准 / 评测基准 / 电子健康记录
  • mietic — 共享标签:医疗NLP / 临床文本 / 医学问答与基准 / 评测基准 / 电子健康记录
  • synsum — 共享标签:医疗NLP / 临床文本 / 医学问答与基准 / 评测基准 / 电子健康记录
  • blue-benchmark — 共享标签:医疗NLP / 临床文本 / 医学问答与基准 / 评测基准
  • care-bench — 共享标签:医疗NLP / 临床文本 / 医学问答与基准 / 评测基准
  • aci-bench — 共享标签:医疗NLP / 临床文本 / 医学问答与基准 / 电子健康记录
  • primock57 — 共享标签:医疗NLP / 临床文本 / 评测基准 / 电子健康记录
  • trec-ct-2021 — 共享标签:医疗NLP / 临床文本 / 评测基准 / 电子健康记录
  • mimic-ext-synnotes — 共享标签:医疗NLP / 临床文本 / 医学问答与基准 / 电子健康记录

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集