SemClinBr — 巴西葡萄牙语首个多机构多专科临床语义标注语料库

1,000 份真实病历 | 65,129 个 UMLS 语义类型实体 | 11,263 条关系 | 102 类标签体系 | Gold 613 篇 + Silver 387 篇

来源 PUCPR 健康技术项目 + 巴西医院集团 EHR(2,094,929 条,2013-2018)+ 大学医院心内科出院小结(5,617 条,2002-2007);GitHub: HAILab-PUCPR/SemClinBr发布时间: 2026-10-17最后更新: 2026-10-20 阅读 17
SemClinBr — 巴西葡萄牙语首个多机构多专科临床语义标注语料库

信息速览

数据集名称SemClinBr — 巴西葡萄牙语首个多机构多专科临床语义标注语料库
数据类型人工标注,文本数据,原始数据,受控访问
规模约 553,952 名患者(源数据库口径,2013-2018 医院集团);最终语料 1,000 份病历,患者级去重数未披露
接入方式PUCPR 健康技术项目 + 巴西医院集团 EHR(2,094,929 条,2013-2018)+ 大学医院心内科出院小结(5,617 条,2002-2007);GitHub: HAILab-PUCPR/SemClinBr
AI 就绪度

INFOBOX — SemClinBr 一屏速览

维度 内容
本质 巴西葡萄牙语(pt-br)首个公开的临床语义标注语料库;不是数据库、不是模型,是一份带 UMLS 语义类型与关系标签的病历文本集合
团队 巴拉那天主教大学(PUCPR)健康技术项目,通讯 Lucas Emanuel Silva e Oliveira;Philips Research North America 参与
论文 J Biomed Semantics 2022;13:13(doi:10.1186/s13326-022-00269-1;PMID 35527259)
规模 1,000 份病历 / 148,033 tokens / 65,129 实体(摘要写 65,117)/ 11,263 关系
标签体系 100 个 UMLS 语义类型(STY)+ Negation + Abbreviation = 102 类;关系仅 2 类(associated_with / negation_of)
分段 Gold 613 篇(41,588 实体 / 7,344 关系)+ Silver 387 篇(23,541 实体 / 3,919 关系)
一致性 概念 IAA 严格 0.708 → 宽松 0.921;关系 IAA 0.823(associated_with)/ 0.914(negation_of)
来源 巴西医院集团 2013-2018(209 万条记录,约 55.4 万患者)+ 大学医院 2002-2007(5,617 条心内出院小结)
专科 心内 260 / 肾内 157 / 骨科 126 / 未定义 122 / 普外 61 / 神内 45 …
文档类型 门诊 506 / 护理 232 / 入院 148 / 出院 126
获取 请求制:GitHub 仓库公开工具与词典,语料须填 request form 签非商业协议
派生资源 否定线索表(negation-semclinbr-v2.txt,108 条去重)+ 医学缩写词典(abbr-semclinbr-v1.xlsx)
下游实测 否定检测 F1 92.63(线索)/ 84.78(范围部分匹配);NER CRF F1 0.84(药物)/ BioBERTpt +7.4 F1
库内互链 i2b2/n2c2 NLP(14)、UMLS(558)、CATS-58(1152)、CANTEMIST(514)、CBLUE(190)、MIMIC-BR(156)

SemClinBr 是一个"给葡萄牙语临床 NLP 修地基"的语料库。在它之前,想做巴西葡语的病历命名实体识别,只有两种选择:翻译英文语料(巴西葡语的缩写、否定句式、口语化拼写几乎全部失真),或者自己标注几百份(成本高、无对照、无法复现)。SemClinBr 给出的答案是 1,000 份来自两家机构、14 个专科、4 种文档类型的真实病历,按 UMLS 的 100 个语义类型逐词标注出 65,129 个实体,再连出 11,263 条关系,标注过程 100% 双人独立完成并由第三位医生裁决,历时 14 个月。

它最有价值的三个设计选择值得先说清楚。第一,标签体系不发明新词,直接用 UMLS 语义类型(Semantic Type, STY)与语义组(Semantic Group, SGR),只额外加 Negation 与 Abbreviation 两类——这让任何以 UMLS 为基础的英文 NER 流程可以近似平移。第二,Gold/Silver 双分:IAA 超过 0.67 的 613 篇进入 Gold,其余 387 篇进 Silver,评测时用 Gold、训练时可带上 Silver。第三,服务不是语料而是"标注基础设施":仓库公开了自建 Web 标注工具的 Java 源码和两份派生词典(否定线索、医学缩写),这几样东西比语料本体更容易拿到。

导语读法三则:

  1. 只想判断能不能用:直奔 §6 获取与许可——语料是请求制,别指望 git clone 拿到标注正文。
  2. 要设计自己的标注项目:直奔 §3 与 §4,看它的指南迭代三轮稳定法、裁决员"只删不增"规则、以及 Gold/Silver 阈值怎么定义。
  3. 要做 pt-br 的下游模型:直奔 §7,否定检测与 NER 的已有数字可直接当基线;关系抽取没有公开基线,要自己建。

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

0.1 一个被长期忽视的语言断层

临床 NLP 的资源地图极度失衡。英文侧有 i2b2/n2c2 系列共享任务、MIMIC-III/IV 的出院小结、THYME 的时间表达式、emrQA 的问答派生集,几乎每两年就有一次大规模共享任务刷新基线。而葡语侧,在 SemClinBr 之前没有任何一个公开的多用途临床标注语料。作者在引言里把这件事写得很直白:缺乏英语之外的通用临床语料,严重阻碍了生物医学 NLP 的进展,而在巴西葡语(pt-br)这一缺口尤其刺眼。

这个断层的实际代价,不是"没有数据可以训练",而是没有办法比较。一个团队做出 pt-br NER,F1 是 0.78 还是 0.86,没有共同的测试集,也无从判断这个数字意味着什么。SemClinBr 的首要贡献因此不是"多了一个数据集",而是"提供了一个可与他人对话的坐标系"。

0.2 它到底提供了什么

拆开看,SemClinBr 是四件东西捆在一起:

  1. 语料本体:1,000 份真实病历的自由文本(148,033 tokens),逐词标注实体与关系,分 Gold/Silver 两段。
  2. 一套可复制的标注模式(annotation schema):102 类实体标签(100 STY + Negation + Abbreviation)、2 类关系标签,以及衍生的否定线索表与缩写词典。
  3. 一个 Web 标注工具:六模块(导入/审阅/分配/标注/裁决/导出),带"标注助手"建议功能,源码在 GitHub 公开。
  4. 一份调研(survey):把此前各类临床语义标注研究的方法、差异与经验教训列成表,作为设计指南的底稿。

这四件东西的可获取性差别极大(§6):工具和词典是公开直链,语料是请求制,调研与标注模式写在论文里(CC BY 4.0),谁都能读。

0.3 为什么它值得进千方病案医数集

本库的医疗 NLP 类目长期以英文(i2b2/n2c2、MIMIC 系)与西语(CANTEMIST、DisTEMIST、PharmaCoNER、MEDDOPROF)为主,葡语是空白。SemClinBr 补的正是这一格。更重要的是它示范了一种在强伦理约束下做标注资源的方法:数据不公开,但方法、工具、词典、一致性统计、下游基线全部公开——研究社区拿到的是"可复现的做法",而非"可下载的文本"。这种"过程开放、数据受控"的结构,正是临床语料在高隐私法规环境下的主流形态,值得单独成条说明。

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

Q1:SemClinBr 是什么语言?
巴西葡萄牙语(pt-br),不是欧洲葡语。这一点在每条数据里都能看到:não 的缩略、abdômen 的巴西拼法、大量口语化缩写(如 PA 指 pressão arterial 血压、HAS 指 hipertensão arterial sistêmica 系统性高血压)。

Q2:1,000 份文档是什么类型?
四种:门诊记录(ambulatory notes)506 份、护理记录(nursing notes)232 份、入院记录(admission notes)148 份、出院小结(discharge summaries)126 份。这个组合是刻意设计的——如果不含护理记录,语料会偏向医生书写的结构化风格;而护理记录恰恰是缩写最密、句子最碎的文本。

Q3:覆盖哪些专科?
14 个类别:心内 260、肾内 157、骨科 126、未定义 122、普外 61、神内 45、神外 32、皮肤 23、眼科 22、内分泌 19、消化 16、耳鼻喉 14、呼吸 11、其他 92。心内科占比最高,与源数据中包含一整家医院心内科出院小结有关。

Q4:实体怎么标?
每个实体是一段文本 span 加一个或多个 UMLS 语义类型。允许一个词标多种类型——例如缩写 PA 既可以是 Clinical Attribute,也可以是 Abbreviation。100 个 STY 是 UMLS 语义网络中的子集(UMLS 共 127 类),SGR 则把 STY 归到解剖、化学药物、概念、器械、疾病、生物、机构、现象、生理、操作等大组。

Q5:关系怎么标?
只有两类:associated_with(关联)与 negation_of(否定指向)。作者解释过取舍:UMLS 的关系类型有 54 种,但临床笔记里真正高频、可稳定标注的只有这两条主线。结果也验证了这个取舍——关系 IAA 分别为 0.823 和 0.914,明显高于概念层的严格一致性 0.708。

Q6:Gold 和 Silver 怎么分?
按 IAA 阈值 0.67 划分:613 篇超过阈值进 Gold(41,588 实体、7,344 关系),387 篇进 Silver(23,541 实体、3,919 关系)。阈值 0.67 的具体计算粒度论文未展开——这是本条目记录的疑点之一(§9)。

Q7:为什么实体总数在两个地方不一样?
摘要写 65,117,正文与 Table 5 写 65,129。Gold 41,588 + Silver 23,541 恰好等于 65,129,说明表内自洽;摘要的 65,117 自 2020 年 arXiv 预印本起就未修正(§10 坑 2)。

Q8:标注员是谁?
13 人团队:7 名标注员(以医学生为主,含 1 名护士)、2 名裁决员(医生 + 护士)、4 名健康信息学研究者。分两阶段扩编:前三个人完成 496 篇后加入 6 名医学生与 2 名裁决员。

Q9:标注工具叫什么?
论文没有给工具正式命名,只称 web-based annotation tool,技术细节另文发表(参考文献 [52])。源码在 GitHub 的 Annotation_Tool/ 目录,是 Java Web 项目(含 JSP、Servlet、MySQL 连接器、Cogroo 4.0 葡语 NLP 库)。

Q10:还有哪些派生资源?
两份:否定线索表 negation-semclinbr-v2.txt(本次实测 112 行,1 个分节,去重后 108 条)与医学缩写词典 abbr-semclinbr-v1.xlsx。两者都是从标注中的 Negation(2,676 个)与 Abbreviation(12,629 个)实体反推得到的。

Q11:现在能下载吗?
工具与两份词典可以 git clone 直接拿;语料的标注正文需要填写 request form 并签非商业科研使用协议。仓库公开目录里没有标注文件本体(§6)。

Q12:与我熟知的 i2b2/n2c2 比,是什么关系?
不是替代关系,是平行坐标系。i2b2/n2c2 是英文、任务驱动(每届一个新任务)、规模相近但任务单一;SemClinBr 是葡语、任务通用(一次标完实体+关系,下游自取)、标签体系更细(102 类对 i2b2 常见的 3-4 类)。两者可以直接对比"语言迁移"与"标签粒度"两个维度的难度差(§9.1)。

§2 数据构成与规格

2.1 源数据的两次取样

SemClinBr 的文本不是为标注专门采集的,而是从两个既有临床数据库中抽取。第一条来源是一个巴西医院集团 2013 至 2018 年的记录,共 2,094,929 条,覆盖约 553,952 名患者,每条记录与结构化字段关联但自由文本部分散落在多个字段中。第二条来源是一所大学医院 2002 至 2007 年的记录,共 5,617 条,只覆盖心内科一个专科、只有出院小结一种文档类型。

这两条来源给了语料一个天然的机构对比维度:第一条多学科、多文档类型、时间跨度短而量大;第二条单学科、单文档类型、时间跨度早而量小。作者把 2,094,929 与 5,617 并列写出,却没有说明最终 1,000 篇里两者各占多少——这是本条目记录的疑点(§9,遗留疑点 2)。

2.2 从百万条到一千条:抽样怎么做的

过程分三层。第一层是字段合并:一条记录在数据库里可能被拆成主诉、病史、体格检查等多个自由文本字段,标注前全部拼成单一文本文档,保证"一份病历一个文件"。第二层是匿名化:标注工具的 Review 模块专门用于人工清除匿名算法漏检的 PHI(受保护健康信息),这是伦理批件要求的强约束。第三层是抽样:心内科等主要专科按量抽取,其他专科随机抽取补足到 1,000 份,作者的理由是"假定数据一致且有代表性,足以训练机器学习模型"。

这句"假定"值得留意:它是经验判断而非抽样设计。心内 260 篇与其他专科个位数的分布,意味着任何按专科分析的结论都要谨慎(§10 坑 5)。

2.3 文本质量画像:真实临床文本的六种常态

论文用一整段描述原始文本的"毛病",这部分对做数据清洗的人最有价值,因为它明确列出了 pt-br 临床文本的典型噪声:

  1. 复制粘贴污染(due to copy and paste):同一段既往史在不同文档里重复出现,导致实体高频重复。
  2. 缩写与行话密集:这是 Abbreviation 达 12,629 个的原因。
  3. 拼写错误:随意的简写与漏字母。
  4. 句子不完整:护理记录中大量电报体。
  5. 标点缺失或错位:句边界识别本身成为难题。
  6. 大小写混乱:专有名词与普通名词混用。

这六条合起来解释了一个现象:SemClinBr 的得分边界(span)一致性(严格 0.708)明显低于语义组一致性(宽松 0.921)。作者自己在对比其他语料时也指出,SemClinBr 从严格到宽松的提升幅度为 16.9%,远高于其他语料的 3.8% 至 8.6%——差距全部集中在"这个词到哪里为止"。

2.4 文档与专科分布表

下表按论文 Table 2 与 Table 3 转写(文档数):

专科(葡萄牙语原词) 文档数 占比
Cardiology(心脏病学) 260 26.0%
Nephrology(肾脏病学) 157 15.7%
Orthopedics(骨科) 126 12.6%
Not defined(未定义) 122 12.2%
Surgery, general(普外科) 61 6.1%
Neurology(神经病学) 45 4.5%
Neurosurgery(神经外科) 32 3.2%
Dermatology(皮肤病学) 23 2.3%
Ophthalmology(眼科学) 22 2.2%
Endocrinology(内分泌学) 19 1.9%
Gastroenterology(胃肠病学) 16 1.6%
Otolaryngology(耳鼻喉科) 14 1.4%
Pneumology(肺病学) 11 1.1%
Others(其他) 92 9.2%
合计 1,000 100%
文档类型 文档数 占比
Ambulatory notes(门诊记录) 506 50.6%
Nursing notes(护理记录) 232 23.2%
Admission notes(入院记录) 148 14.8%
Discharge summaries(出院小结) 126 12.6%
合计 1,000 100%

2.5 长度与粒度

1,000 篇共 148,033 tokens,平均每篇约 148 tokens、每句约 10 tokens。这两个数字需要分开理解:平均句长 10 tokens 是"电报体"的直接后果,正常葡语书面句长通常在 15 至 20 tokens;而每篇 148 tokens 意味着大部分病历是短文档,只有少数出院小结较长。

对建模的含义:① 文档级分类任务样本量够但信息量少;② 实体级任务需要处理大量短句,上下文窗口远小于英文 MIMIC 出院小结;③ 跨文档的复制粘贴污染会让随机划分训练/测试集产生泄漏——这是使用这份语料时最容易被忽视的陷阱(§10 坑 6)。

2.6 分段规格:Gold 与 Silver 的真实含义

分段 文档 实体 关系 实体密度(/篇) 关系密度(/篇)
Gold 613 41,588 7,344 67.8 12.0
Silver 387 23,541 3,919 60.8 10.1
合计 1,000 65,129 11,263 65.1 11.3

Gold 段的实体密度略高(67.8 对 60.8)——这与直觉相反:如果 Silver 是低一致性文档,人们会预期那里标注更少、更不确定。实际原因可能是 Silver 里混入了更多医护记录(短、实体稀疏),也可能是低一致性文档反而标得更多(过度标注)。论文没有拆解这一点,因此"Silver 段为什么密度不同"是一个开放问题。

§3 标注体系:102 类标签如何组织

3.1 为什么用 UMLS 语义类型

标注体系的第一原则是不自造词表。作者选择 UMLS 语义网络(Semantic Network)的 STY 作为实体标签,理由有两条:一是粒度足够细(127 类中的 100 类被采用),能区分 Disease or Syndrome 与 Sign or Symptom 这种临床上必须分开的概念;二是标注员可以借 UMLS Metathesaurus 核查概念归属,降低主观性。

代价是学习成本:STY 之间存在边界模糊(作者自己举例,chronic back pain 被判为 Sign or Symptom,而 chronic low back pain 被判为 Disease or Syndrome),细粒度也直接压低了严格一致性。

3.2 三层结构:STY → SGR → 关系

  • STY(Semantic Type,语义类型):100 个,最细层,用于标注实体。例:Pharmacologic Substance、Laboratory or Test Result、Health Care Activity。
  • SGR(Semantic Group,语义组):UMLS 把 STY 聚合成的上位组,用于宽松匹配的一致性计算与粗粒度评测。例:Chemicals & Drugs、Procedures、Disorders。
  • RTY(Relationship Type,关系类型):2 个,连接实体。associated_with 表示泛化的语义关联,negation_of 表示否定线索指向被否定的实体。

这套三层结构的好处是:同一份标注可以按不同粒度评测。严格匹配(span + STY)与宽松匹配(部分 span + SGR)之间的差距,本身就是"标注难度"的度量。

3.3 两个扩展类型的用意

  • Negation(2,676 个):标记否定线索词本身(如 não、sem、nega),再由 negation_of 关系把它连到被否定的实体。这样否定不是实体属性而是关系,可以表达一个线索否定多个实体、多个线索否定同一实体的复杂情形。
  • Abbreviation(12,629 个):标记缩写词形本身,使缩写既是独立实体又可与其他类型叠加。这个设计让缩写扩写(abbreviation expansion)成为一个可独立评测的任务。

Abbreviation 的 12,629 个是全部 STY 中最多的,接近第二位 Finding(6,867)的两倍。这直接反映了 pt-br 临床文本的书写习惯——大量使用 HAS、DM、PA、FC 这类首字母缩写。

3.4 高频语义类型全表

论文 Table 6 只列出 22 行(未覆盖全部 102 类),以下按原文转写:

SGR STY 实体数
Anatomy Body Location or Region 1,452
Anatomy Body Part, Organ, or Organ Component 1,373
Chemicals & Drugs Organic Chemical 2,000
Chemicals & Drugs Pharmacologic Substance 3,013
Concepts & Ideas Quantitative Concept 3,953
Concepts & Ideas Qualitative Concept 500
Concepts & Ideas Temporal Concept 1,663
Devices Medical Device 1,617
Disorders Disease or Syndrome 2,650
Disorders Finding 6,867
Disorders Injury or Poisoning 521
Disorders Sign or Symptom 4,707
Living Beings Patient or Disabled Group 844
Living Beings Professional or Occupational Group 720
Organizations Health Care Related Organization 639
Phenomena Laboratory or Test Result 3,079
Physiology Clinical Attribute 1,128
Procedures Diagnostic Procedure 2,012
Procedures Health Care Activity 2,763
Procedures Therapeutic or Preventive Procedure 4,791
N/A Abbreviation 12,629
N/A Negation 2,676

从上表可直接读出 ClinSpEn 式的"疾病主导"假设并不成立:** Procedures 与 Disorders 两大组占据了实体主体**,Therapeutic or Preventive Procedure(4,791)单独一类就超过 Disease or Syndrome(2,650)近一倍。这与源数据中大量护理记录、门诊随访记录有关——记录里写的多是"做了什么",而不是"诊断了什么"。

3.5 关系体系:为什么只保留两类

UMLS 语义网络定义了 54 种关系类型(如 treats、causes、diagnoses、affects)。SemClinBr 只保留 associated_with 与 negation_of 两类。

作者给出的理由隐含在结果里:关系 IAA 是 0.823 与 0.914,明显好于概念层。关系类型越少,标注员越能保持一致;而 54 类关系的细粒度标注在临床文本里既难做(证据不足时只能标"关联")也没有下游支撑(缺少可直接复用的关系抽取基线)。

RTY 关系数 IAA
associated_with 9,693 0.823
negation_of 1,570 0.914
合计 11,263 ~0.86(均值)

associated_with 约占 86%,它的语义极宽——几乎任何两个相关实体都能标。这个设计的实用后果是:做关系抽取时可以把它当"实体相关性"任务训练,但最好不要宣称做了"关系类型分类",因为它没有类型可分类。

§4 标注流程:14 个月是怎么花掉的

4.1 指南迭代:连续三轮稳定才开标

标注指南不是先写完再执行,而是边做边改。论文用一张图(Fig. 2)描述了循环:起草指南 → 双标少量文档 → 计算 IAA → 若不稳定则讨论差异、修订指南 → 再测。只有当连续三轮 IAA 保持稳定(无明显升降)时,才认为指南成熟、可以进入正式标注。

这是本文最可迁移的方法学资产。多数标注项目在指南"看起来够了"时就开标,结果后期大量返工;SemClinBr 用三轮稳定作为开标信号,把返工成本前置到了小样本阶段。

4.2 100% 双标注 + 只删不增的裁决

正式标注遵循临床 NLP 的通用做法(论文引 Roberts 等的方法学):每篇文档由两名标注员独立完成,分歧交给第三位资深标注员裁决。关键规则是:

裁决员只能删除双方的标注,不能新建标注。

理由是防止裁决变成"单人意见变成金标准"——如果裁决员可以新增,标注的最终质量就只取决于一个人;只能删,则每个留下来的标注至少得到过两个人的支持。这条规则值得所有做金标准项目的人抄进流程。

4.3 人员分两阶段扩编

阶段 人员 覆盖范围
阶段 1 1 名医生(裁决)+ 1 名护士 + 1 名医学生(双标) 前 496 篇
阶段 2 新增 6 名医学生(合计 7 名标注员)+ 2 名裁决员(医生 + 护士) 剩余 504 篇

扩编是进度压力下的现实选择,但它带来的风险被论文明确记录:新标注员对指南的理解与前期不同,导致跨阶段的不一致;而语料没有做回溯统一(§4.5)。

4.4 标注顺序:先概念后关系

论文引用 Campillos 等的研究指出,先标完所有概念、再统一标关系,IAA 更高。SemClinBr 采纳了这个顺序。对使用者的含义是:关系标注的上下文是已确定的实体集合,标注员在标关系时不必同时判断实体边界——这也是关系 IAA 高于概念 IAA 的原因之一。

4.5 未做统一化:作者自曝的最大缺陷

14 个月里指南改了多少版,语料里就留下多少个版本的痕迹。作者明确写道:标注结束后没有运行统一化脚本修正指南更新带来的不一致,语料按裁决员交付的原样保留。

这是一个诚实但也昂贵的决定。它的后果是:早期标注(阶段 1)与后期标注(阶段 2)在同样文本上可能采取不同标准,例如某个表达在早期被视为 Sign or Symptom、在后期被视为 Finding。使用者如果按文档顺序切片训练/测试,会把这个时间漂移误读为模型差异(§10 坑 7)。

4.6 标注助手:加速器还是噪音源

工具内置的"标注助手"(annotation assistant)会基于两类信息给出建议:① 标注员自己此前的标注(同一文档内的一致性);② UMLS API 的精确匹配与小编辑距离查找(基于 UMLS 2013AA 经 Oliveira 等适配的 pt-br 版本)。

作者对它的评价是双面的。正面:显著加快标注速度,尤其在缩写密集的护理记录中。负面:标注员过度信任建议、使用过快而不核对,导致部分错误命中的建议在全语料传播扩散;此外,助手基于"指南更新前的旧标注"给出的建议,会把旧标准带到新文档里。

这条经验对做 LLM 辅助标注的团队尤其重要——机制上完全同构:建议越顺手,越难被质疑。

§5 一致性与下游评测:数字怎么读

5.1 四种 IAA 口径

口径 定义 数值
Strict 全 span + STY 完全一致 0.708
Lenient 部分 span 重叠 + STY 一致 0.834
Flexible 全 span + SGR 一致 0.774
Relaxed 部分 span 重叠 + SGR 一致 0.921

四档设计本身是一个分析工具:Strict 与 Flexible 的差(0.708 → 0.774)说明"边界完全一致时,类型判断的分歧不大";Strict 与 Lenient 的差(0.708 → 0.834)说明"类型一致时,边界分歧是主要误差源"。作者据此得出的结论是:pt-br 临床文本的标注难点在 span 边界,而不在语义类型判断。

5.2 用观察一致率而不是 Kappa

论文明确说明不采用 Kappa 或类似的机会校正指标,理由是在命名实体标注中"随机一致"的概率几乎为零,Kappa 的分母失去意义。这个选择在 NER 领域有争议(部分共享任务仍报 Kappa),但作者的论证站得住:span 的精确重合在随机情况下几乎不可能发生。

引用这些数字时的注意事项:不要把 0.708 与其他语料的 Kappa 直接比较,口径不同。

5.3 与既有语料的横向对比

论文 Table 10 把 SemClinBr 与此前若干临床标注语料放在一起比较,主要发现有三条:

  1. 严格一致性偏低:除 MiPACQ 外,其他语料的 Strict 都高于 SemClinBr 的 0.71。作者归因于"粒度更细 + 多机构 + 多专科 + 多文档类型"的四重复杂度叠加。
  2. 宽松一致性反而领先:在 Lenient 口径下,SemClinBr 优于除 IxaMed-GS 外的所有对照组。
  3. 跨度最大:从 Strict 到 Lenient 提升 16.9%,而其他语料仅 3.8% 至 8.6%。这一条最有信息量——它量化了"跨机构跨专科文本让边界判断变难"的程度。

5.4 关键 STY 的一致性差异

论文特别指出两个类型的一致性差异:Disease or Syndrome 约 0.67(多为多词表达,如 insuficiência cardíaca congestiva),Pharmacologic Substance 约 0.88(多为单词,如 dipirona)。规律很清楚:词长与边界歧义正相关。

对建模的启示:多词实体的 span 检测是 pt-br 临床 NER 的主要瓶颈,Char-level 或词边界感知的解码策略会比纯 BILOU 更有收益。

5.5 下游任务一:否定检测

方法来自 Dalloux 等 2021 年发表在 Natural Language Engineering 的工作:BiLSTM-CRF 架构 + 预训练词向量,训练与测试都跨域跨语言(法语与巴西葡语生物医学语料)。

指标 SemClinBr 上结果 对照(葡萄牙语临床试验文本模型)
否定线索检测 F1 92.63 88.67
范围检测 F1(部分匹配) 84.78 —
范围检测 F1(精确匹配) 83.25 —

这组数字说明 SemClinBr 的否定标注质量足以支撑系统训练(线索检测 92.6 接近上限),而范围检测的 8 个百分点落差,则对应了"范围到哪里结束"这个经典难题。

5.6 下游任务二:命名实体识别

两组工作给出了 NER 基线:

研究 方法 结果
de Souza 等 2019(SBCAS) CRF + 语义组 Pharmacologic Substance F1 0.84;Abbreviation F1 0.71;Disorder SGR F1 0.76;Procedure SGR F1 0.70
Schneider 等 2020(ClinicalNLP Workshop) BioBERTpt 迁移学习 相对 CRF 准确率 +2.1 / 召回 +11.2 / F1 +7.4

两点解读:① Abbreviation 的 0.71 是四组中最低的,与"缩写高度依赖上下文展开"一致;② BioBERTpt 的提升主要来自召回(+11.2),说明预训练语言模型的价值在于"不漏",而精确率的提升有限——这通常意味着模型倾向于过度标注,需要后处理裁剪。

5.7 论文没有做的评测

必须明确:论文没有报告关系抽取任务的系统 F1。作者只做了否定检测与 NER 两个下游任务,关系标注的价值是以"标注可用性"论证的(IAA 0.82/0.91),而非以系统性能论证的。任何声称"SemClinBr 关系抽取 SOTA 是多少"的说法都缺乏原始出处。

§6 获取与许可:一件受控、两件公开

6.1 三种资产的三种门

资产 位置 获取方式 备注
语料标注正文 论文所述 GitHub 仓库,实际经申请发放 request form + 仅限科研非商业许可协议 受 PUCPR 伦理委员会约束
否定线索表 negation_cues/negation-semclinbr-v2.txt 公开直链(git clone) 本次实测 112 行,去重 108 条
医学缩写词典 abbreviations/abbr-semclinbr-v1.xlsx 公开直链 论文未给条目数
标注工具源码 Annotation_Tool/ 公开直链 Java Web 项目,含 Cogroo 4.0
论文全文 PMC9080187 / BMC CC BY 4.0 含全部表格

6.2 请求制的实际含义

论文的可用性声明原文是:

The resources generated in this study are available in the GitHub repository. To use the corpus, it is necessary to complete a request form with a license agreement for use only in scientific and non-commercial research, to comply with the restrictions of the ethics committee of the institution.

三句话可以拆出三个约束:① 资源"在 GitHub 仓库",但需要请求;② 必须签仅限科学、非商业使用的许可协议;③ 这是伦理委员会的要求,不是作者的偏好。

对使用者的实际影响:

  • 企业用户:不能直接用于产品训练。即使模型本身是研究成果,若部署到商业产品中,需要单独与作者沟通。
  • 学术用户:需要填写表单,可能需要机构邮箱与用途说明。
  • 二次分发:不得转载语料本体,但可以发布在其上训练的模型(模型权重一般不受此约束,具体需看协议条款)。

6.3 论文许可 ≠ 数据许可

EuropePMC 的 license 字段是 cc by,这是论文的许可(BMC 的开放获取政策)。语料本体的许可是请求制协议。这两者经常被混淆——有二手资料直接写"SemClinBr 是 CC BY 4.0 数据集",这是错误的(§10 坑 3)。

6.4 AI-Ready 视角的评估

按 DAIMS 的维度粗看(完整表见附录 B):SemClinBr 在文档化(datasheet 层面)与可复现性(工具、词典、IAA 统计全公开)上得分很高;在可获取性上得分低(请求制);在互操作性上中等(UMLS STY 是通用体系,但未做 CUI 链接)。

这个得分结构与库内的西语兄弟条目(CANTEMIST、DisTEMIST)相似:都是"方法透明、数据受控"。

§7 使用指南:四类人怎么上手

7.1 做 pt-br 临床 NER 的团队

  1. 先申请语料,拿到 JSON/XML 后按 Gold/Silver 分段。
  2. 训练集用 Gold + Silver,测试集只用 Gold——这是这份语料的默认用法,也是与已发表基线可比的前提。
  3. 注意实体密度:每篇约 65 个实体,远高于英文 MIMIC 出院小结的密度(通常 20-40),模型需要处理高密度标注。
  4. 边界问题优先:从 §5.4 可知多词疾病名是主要误差源,考虑引入词典约束后处理。

7.2 做否定检测的团队

否定线索表可以直接下载使用,不必等语料审批。这是唯一可以零门槛开始的工作。建议先用 negation-semclinbr-v2.txt 做线索匹配打底,再考虑训练模型处理范围。

7.3 做缩写消歧的团队

缩写在 SemClinBr 中是独立 STY(12,629 个),因此可以直接构造"缩写 → 展开"的对齐样本。与库内 CATS-58(rid 1152)结合看:CATS-58 是英文缩写义项平衡集,SemClinBr 提供葡语真实语境下的缩写分布——一个是平衡设计,一个是自然分布,正好互补。

7.4 做标注项目设计的研究者

不必申请数据,直接读论文的 §3、§4 与 Fig. 2 即可。三条可直接照搬的做法:

  1. 指南迭代以"连续三轮 IAA 稳定"为开标信号。
  2. 裁决员只删不增。
  3. 助手建议必须人工核对,且不要用旧标注做建议源。

§8 与其他临床语料的对照

8.1 与 i2b2/n2c2 的对照

维度 i2b2/n2c2(rid 14) SemClinBr
语言 英文 巴西葡萄牙语
任务组织 按届(每届一个新任务:去标识化、药物抽取、时间关系、社交史等) 一次性通用标注,下游自取
标签体系 任务定制(多为 3-8 类) UMLS STY 100 类 + 2 扩展
关系标注 时间关系、药物-事件关系(任务特定) 泛化的 associated_with + negation_of
数据来源 多家美国医院,去标识化后公开 两家巴西机构,请求制
规模 各届数百至数千份 1,000 份

关键差异在任务范围:i2b2/n2c2 是"每个任务一套标注",SemClinBr 是"一次标完、多处复用"。前者对单个任务更深入(如时间关系的 TLink 标注远比 associated_with 精细),后者对通用性更友好。

8.2 与西语族语料的对照

条目 rid 语言 标注层 关系
CANTEMIST 514 西班牙语 肿瘤概念 + 规范化 单任务、单专科
DisTEMIST 498 西班牙语 疾病实体 + SNOMED 链接 做了规范化,SemClinBr 没做
PharmaCoNER 504 西班牙语 药物实体 单任务
MEDDOPROF 509 西班牙语 职业信息 单任务
CARMEN-I 551 西班牙语 匿名化 处理层,非语义层
SemClinBr 本条 巴西葡语 100 STY + 2 关系 通用、多专科、无规范化

罗曼语族的这几个语料放在一起,构成一条清晰的演进线:先做单任务(PharmaCoNER)→ 再做规范化(DisTEMIST)→ 再做通用标注(SemClinBr)。但 SemClinBr 跳过了规范化这一步,这是它与 DisTEMIST 的主要差距(§10 坑 8)。

8.3 与中文临床 NER 的对照

CBLUE(rid 190)是中文生物医学语言理解评测基准,含多个子任务(实体识别、关系抽取、意图理解等),规模与任务覆盖面都远大于 SemClinBr。但两者的功能定位不同:CBLUE 是评测基准(定义分数、比较模型),SemClinBr 是训练语料(提供标注,评测方式自定)。

对中文团队的启示:如果想做 pt-br 迁移,可以用 CBLUE 的标注体系做对照,看 UMLS STY 与中文实体类别之间的映射稳定性——这是跨语言迁移研究的常见起点。

8.4 与 MIMIC-BR 的对照

MIMIC-BR(rid 156)也是巴西数据,但它是 OMOP CDM 结构化的 ICU 数据库,不是自由文本。两者在"巴西临床数据"这个标签下常被并列,实际上没有替代关系:MIMIC-BR 提供结构化时序,SemClinBr 提供自由文本语义标注。想同时用两者做多模态研究,需要有能对齐患者/就诊维度的桥接——这一步目前没有公开方案。

§9 与库内条目的消歧说明

本节专门回答"SemClinBr 与库里那些临床 NER 语料有什么不同",因为这是检索时最容易混淆的地方。

9.1 语言维度:不是"又一个英文 NER 集"

库内英文临床 NER 语料至少有四条线:i2b2/n2c2(rid 14,共享任务)、MIMIC-IV-Note(rid 47,自由文本库,标签需自建)、emrQA(rid 139,问答派生)、THYME(rid 524,时间表达式)。这些条目的共同点是:标签体系由任务定义,换任务就要重标。

SemClinBr 的标签体系由术语本体定义(UMLS STY),因此它更像"一份带术语本体的标注"而不是"一份任务标注"。两者的使用方式不同:任务标注直接给出训练信号,本体标注需要使用者自己决定"哪些 STY 合成一类"。

9.2 中文维度:CBLUE 与 CCCDB 都不是同类

CBLUE(rid 190)是中文医疗 NLP 的多任务评测基准,CCCDB(rid 166)是中文危重症 ICU 电子病历数据库(结构化)。前者是评测基准、后者是数据库,都不是"自由文本语义标注语料"。SemClinBr 与它们的关系是互补而非竞争:做跨语言研究时,三者分别提供中文评测、中文结构化、葡语标注三种资源。

9.3 名称近似:SemMedDB 不是亲戚

SemMedDB(rid 836)名字里有 “Sem” + “med”,与 SemClinBr 仅一字之差,但性质完全不同:SemMedDB 是从 PubMed 文献摘要中抽取的1.3 亿条语义谓词(subject-predicate-object 三元组),属于文献知识图谱;SemClinBr 是1,000 份病历的人工语义标注,属于临床文本语料。两者的唯一共同点是都用 UMLS 语义关系作为谓词体系。检索时注意区分:semmeddb 与 semclinbr。

9.4 与 CATS-58 的关系最紧

CATS-58(rid 1152)是临床缩写义项消歧的平衡基准集,SemClinBr 的 Abbreviation STY(12,629 个)是它的天然上游数据源。做缩写消歧研究时,两者可以串起来用:用 SemClinBr 的缩写实例训练展开模型,用 CATS-58 测义项消歧能力。

9.5 与 UMLS 的关系是"用而不链"

SemClinBr 用 UMLS 的 STY/SGR/RTY 作为标签词汇表,但没有做 CUI 级别的实体链接。这意味着它不能直接用于实体链接任务,也不能直接与 SNOMED CT(rid 557)对齐。想做链接的团队需要自己补这一步——这是 SemClinBr 与 DisTEMIST 最实质的区别。

§10 避坑清单:八个已踩过的坑

坑 1:"SemClinBr 是巴西葡语第一个临床语料"这个说法要限定范围。作者原话是 “the first available Portuguese clinical corpus”,并在引言中把 gap 定位在"公开的、多用途的、语义标注的"。在它之前存在葡语临床文本处理研究(如 Ferreira 等 2009 的医疗报告信息抽取),只是没有公开的标注语料。引用时应写"首个公开的语义标注语料库",不要写"第一个葡语临床 NLP 工作"。

坑 2:实体总数 65,117 与 65,129 并存。摘要(含 2020 年 arXiv 预印本)写 65,117;正文与 Table 5 写 65,129,且 Gold 41,588 + Silver 23,541 = 65,129 内部自洽。以 65,129 为准,引用摘要口径时注明。

坑 3:论文许可不是数据许可。EuropePMC 显示 cc by,那是论文的 CC BY 4.0。语料本体是 request form + 非商业协议。有二手资料写"SemClinBr 开放获取、CC BY 4.0",是把论文许可套到了数据上。

坑 4:GitHub 仓库里没有标注正文。git clone 只能拿到 Annotation_Tool/、abbreviations/、negation_cues/、images/ 四个目录。反复找语料文件是常见的时间浪费。仓库也没有 LICENSE 文件(GitHub API 返回 license=None),不要据此推断"无许可即公有领域"。

坑 5:专科分布极度偏斜。心内 260 篇占 26%,呼吸科仅 11 篇。任何"按专科做分层分析"的研究都会遇到样本量不足的问题;做专科特定模型(如肺病 NER)时,SemClinBr 的数据量远远不够。

坑 6:复制粘贴污染导致划分泄漏。论文明确提到源文本存在 copy-paste 造成的重复段落。如果随机划分训练/测试集,同一段既往史可能同时出现在两边,导致测试分数虚高。必须做文档级去重再划分。

坑 7:指南迭代未回溯,存在时间漂移。14 个月内指南多次修订但未运行统一化脚本。早期标注(阶段 1,前 496 篇)与后期(阶段 2)标准可能不同。做误差分析时,如果发现某类错误集中在某批文档,先排查是不是标注时间的不同。

坑 8:没有 CUI 链接,不能当实体链接数据集用。SemClinBr 只到 STY 层,没有 UMLS CUI、没有 SNOMED CT 编码。想做实体链接的团队需要自己补规范化步骤,或改用 DisTEMIST(rid 498)这类已做链接的语料。

§11 总结

11.1 三句话总结

  1. SemClinBr 是巴西葡语第一个公开的临床语义标注语料库:1,000 份来自两家机构的真实病历,65,129 个 UMLS 语义类型实体,11,263 条关系,Gold 613 / Silver 387 双分。
  2. 它的方法学比数据本身更有价值:指南"连续三轮 IAA 稳定"才开标、裁决员"只删不增"、标注助手建议需人工核对——三条规矩任何标注项目都能直接借用。
  3. 获取是请求制(仅限科研非商业),但工具、否定线索表与缩写词典公开——语料受控、过程完全透明,这正是强隐私约束下临床语料的标准形态。

11.2 适合谁

  • 做 pt-br 临床 NER 的团队:这是目前唯一可拿到的公开 pt-br 语义标注语料,连同 Downstream 基线(CRF 0.70-0.84、BioBERTpt +7.4 F1)一起可直接对标。
  • 做否定检测的团队:否定线索表零门槛可下,线索 F1 92.63 是现成起点。
  • 做标注项目设计的研究者:指南迭代法、裁决规则、IAA 四档口径,都是可复制的模板。
  • 做跨语言迁移的研究者:葡语 ↔ 西语(CANTEMIST、DisTEMIST)↔ 英语(i2b2/n2c2)三点构成一条清晰的迁移路径。

11.3 不适合谁

  • 需要即插即用大规模数据的团队:1,000 篇对深度学习来说偏小,且要靠申请。
  • 需要实体链接的研究:没有 CUI/SNOMED 编码。
  • 需要时间信息抽取的研究:没有标注时间表达式(THYME rid 524 更合适)。
  • 商业产品开发:许可协议明确限定非商业。

11.4 30 秒决策卡

你的情况 行动
想立刻验证一个 pt-br 否定检测思路 下载 negation-semclinbr-v2.txt,今天就能跑
想训练 pt-br NER 并用论文基线对比 填请求表单拿语料,训练用 Gold+Silver、测试用 Gold
想设计自己的临床标注项目 不必申请数据,直接读论文 §3-§4 与 Fig. 2
需要实体链接标注 不要用 SemClinBr,转 DisTEMIST(rid 498)
需要商用许可 正文不可用;可考虑谈判或改用公开许可语料
想找"巴西数据" 若需结构化时序选 MIMIC-BR(rid 156),若需自由文本标注选本条

FAQ(高频问答 30 问)

A. 基础认知

A1:SemClinBr 的名字怎么念、怎么拼?
读作 “sem-clin-B-R”,即 semantic + clinical + Brazilian。论文标题与摘要写作 SemClinBr(首字母大写,Br 小写),正文中亦出现全大写 SemClinBR。本条目统一用 SemClinBr,检索时两种拼写都试。

A2:它是数据集还是论文?
两者都是。论文(J Biomed Semantics 2022;13:13)是主要载体,语料本体在 GitHub 仓库经申请发放。本条目描述的是"语料 + 工具 + 词典"这一整套资产。

A3:有中文版或英文版吗?
没有。语料只有巴西葡语原文。论文的 Table 4 提供少量例句的英文对照翻译,可用于快速理解标注风格,但不能作为训练数据。

A4:它属于哪个学科?
临床自然语言处理(clinical NLP),具体归属医疗信息学(health informatics)下的语义标注方向。在本库分类中属"医疗NLP / 临床文本"。

B. 数据与获取

B1:申请要多久?
论文未说明审批时限。实际取决于作者团队的响应速度,建议在项目启动前至少预留数周。

B2:研究生能申请吗?
可以。协议要求"科学、非商业研究",研究生课题符合这一描述。建议用机构邮箱、写明研究用途与导师单位。

B3:能用于工业界的内部研究吗?
需与作者确认。"非商业研究"通常允许企业内部研究(不进入产品),但不允许进入生产系统。保守做法是先申请、在协议中明确用途边界。

B4:能重新分发吗?
不能。语料本体不得转载。可以在论文中引用统计数字、展示例句。

B5:模型权重可以公开吗?
一般可以——许可协议约束的是数据,不是在其上训练的模型。但如果模型可能"记忆"并复现原文(如生成式模型),需要格外谨慎。

B6:GitHub 仓库里的 abbreviations 和 negation_cues 要不要申请?
不用。这两个目录是公开直链,git clone 即可。

B7:标注工具有文档吗?
仓库里是完整 Java Web 项目(Eclipse 配置 .classpath/.project、WebContent/、src/、sql/),但没有 README。技术上细节另文发表(论文参考文献 [52])。

C. 标注与数据细节

C1:一个实体可以标多个标签吗?
可以。论文明确说明同一术语可同时标多种类型,例子是 PA 既是 Clinical Attribute 又是 Abbreviation。

C2:否定是怎么标的?
否定线索词本身标为 Negation STY,然后用 negation_of 关系连到被否定的实体。这是一个"线索-关系"的两步设计。

C3:Gold 和 Silver 能混用吗?
训练可以混(这也是设计的初衷),测试不行。用 Silver 做测试会让分数虚高(因为它的标注质量本身低于 Gold)。

C4:0.67 的 IAA 阈值是怎么算的?
论文没有展开。可能的口径有:文档级平均、实体级平均、或某种加权。这是本条目记录的疑点之一。

C5:为什么有 122 篇"未定义"专科?
源数据中部分病历的专科字段缺失或无法归类。这 122 篇仍在语料中,标注照常完成。

C6:护理记录为什么这么多(232 篇)?
刻意设计。护理记录是缩写最密集、句子最碎的文本类型,缺少它会显著低估标注难度。

C7:tokens 是怎么切分的?
论文未明确说明分词器。148,033 这个数字可能是空白切分或某种葡语分词器的结果,做精确复现时需要自行确认。

C8:实体密度这么高正常吗?
每篇约 65 个实体,高于英文 MIMIC 出院小结的常见密度(20-40)。原因是 Abbreviation 被大量标注(12,629 个,平均每篇 12.6 个)。

D. 评测与基线

D1:现有的 SOTA 是多少?
没有公认 SOTA。论文引用的两组 NER 结果(CRF 0.70-0.84、BioBERTpt +7.4 F1)是早期基线,之后应有多组葡语模型(如 Albertina、BERTimbau)在其上评测,但本条目未逐篇核对。

D2:关系抽取的基线呢?
没有。论文未报告关系抽取的系统 F1,公开文献中也未见以 SemClinBr 为标准测试集的关系抽取基线。

D3:否定检测的 92.63 是 F1 还是准确率?
F1。线索检测是二分类(是/否否定线索),范围检测是 span 匹配。

D4:IAA 0.921 是 kappa 吗?
不是。是观察一致率(observed agreement)的宽松口径,不要与 kappa 直接比较。

D5:BioBERTpt 的 +7.4 是相对提升还是绝对提升?
绝对提升(+7.4 个 F1 点),论文写作 “improvements of +2.1 in accuracy, +11.2 in recall and +7.4 in F1”,是百分点差。

E. 与其他资源的关系

E1:与 SemMedDB 是一回事吗?
不是。SemMedDB(rid 836)是文献三元组知识图谱,SemClinBr 是病历文本标注。名称相似纯属巧合。

E2:与 MIMIC-BR 能联用吗?
理论上可以(都是巴西临床数据),但两者没有共享的患者/就诊标识,无法直接对齐。

E3:与西语语料能合并吗?
不建议直接合并训练——葡语与西语虽同属罗曼语族,但词汇与句式差异明显。可以做多语言联合训练,但需要语言标签。

E4:与 i2b2/n2c2 的标签体系能映射吗?
部分可以。i2b2 的药物、疾病、检查等类别大致对应 UMLS 的 Chemicals & Drugs、Disorders、Procedures 三个 SGR,但粒度不同(i2b2 粗、SemClinBr 细)。映射时以 SGR 为界比较安全。

E5:为什么说它是"葡语第一"而不是"巴西第一"?
作者的表述是 “first available Portuguese clinical corpus”,涵盖葡语整体(含欧洲葡语)。实际上欧洲葡语侧在此前是否已有标注语料,本条目未逐一核实,引用时保留作者原话口径。

F. 复现与工程细节

F1:怎么把 XML 标注转成 BIO 格式?
仓库未提供转换脚本,需要自己写。一般流程:读 XML 的 span offset → 按分词器对齐字符偏移 → 生成 BILOU 标签 → 处理多标签(一个 span 多类型时需拆成多遍)。

F2:多标签怎么处理?
最稳妥是逐类型二分类(每种 STY 一个二分类器),而不是多分类。这也是 UMLS 标注体系的自然用法。

F3:跨文档重复怎么检测?
用 MinHash 或 SimHash 做文档级近似去重,阈值建议 0.8 以上。论文提到的 copy-paste 通常表现为整段落重复,检测不难。

F4:标注工具能直接跑起来吗?
需要 Java 环境 + Tomcat(或同类 Servlet 容器)+ MySQL(sql/ 目录下有建表脚本)。依赖 jar 全部随仓库提供(含 Cogroo 4.0 葡语 NLP 库)。

F5:否定线索表有格式说明吗?
纯文本,第一行是 == NEGATION 分节标记,其余每行一个线索词(含短语)。实测 111 条非空条目、去重 108 条。

F6:缩写词典多大?
论文未给条目数。对应的 Abbreviation 实体是 12,629 个,词典条目数应少于该值(同一缩写可多次出现)。

事实清单(硬事实 30 条)

  1. 论文发表于 J Biomed Semantics 2022 年第 13 卷 13 号。
  2. DOI 为 10.1186/s13326-022-00269-1。
  3. PMID 为 35527259,PMCID 为 PMC9080187。
  4. 收稿日期 2020-03-18,接受日期 2022-04-12,发表日期 2022-05-08。
  5. arXiv 预印本编号 2001.10071(2020-01-28)。
  6. 通讯作者为 Lucas Emanuel Silva e Oliveira。
  7. 第一单位是巴拉那天主教大学(PUCPR)健康技术项目。
  8. 第二单位是 Philips Research North America AI Lab。
  9. 作者共 9 人。
  10. 标注团队共 13 人(7 标注 + 2 裁决 + 4 研究者)。
  11. 语料含 1,000 份临床文档。
  12. 语料共 148,033 tokens。
  13. 实体数正文与表为 65,129,摘要为 65,117。
  14. 关系数为 11,263。
  15. Gold 段 613 篇、41,588 实体、7,344 关系。
  16. Silver 段 387 篇、23,541 实体、3,919 关系。
  17. 实体标签采用 100 个 UMLS 语义类型。
  18. 额外标注 2 类:Negation 与 Abbreviation。
  19. 关系类型 2 类:associated_with、negation_of。
  20. associated_with 关系 9,693 条,IAA 0.823。
  21. negation_of 关系 1,570 条,IAA 0.914。
  22. 概念 IAA:Strict 0.708、Lenient 0.834、Flexible 0.774、Relaxed 0.921。
  23. Abbreviation 实体 12,629 个,Negation 实体 2,676 个。
  24. 文档类型:门诊 506、护理 232、入院 148、出院 126。
  25. 心内科 260 篇为最大专科。
  26. 源数据 1:2,094,929 条记录(2013-2018),约 553,952 名患者。
  27. 源数据 2:5,617 条记录(2002-2007),仅心内科出院小结。
  28. 标注历时 14 个月,100% 双标注 + 裁决。
  29. 伦理批件号 51376015.4.0000.0020(PUCPR 伦理委员会)。
  30. 资助方:Philips Research North America、PUCPR、CAPES(Finance Code 001)。

术语表(30 条)

术语 英文/缩写 释义
语义类型 Semantic Type (STY) UMLS 语义网络最细粒度的概念类别,共 127 种,SemClinBr 采用 100 种
语义组 Semantic Group (SGR) UMLS 把 STY 聚合成的上位类,用于宽松匹配
关系类型 Relationship Type (RTY) 连接实体的语义关系,UMLS 定义 54 种,SemClinBr 只用 2 种
标注者间一致性 Inter-Annotator Agreement (IAA) 多名标注员对同一文本标注的一致程度
严格匹配 Strict Match span 完全一致且 STY 一致
宽松匹配 Lenient Match span 部分重叠且 STY 一致
灵活匹配 Flexible Match span 完全一致且 SGR 一致
放松匹配 Relaxed Match span 部分重叠且 SGR 一致
金标准 Gold Standard 经裁决确认的高质量标注
银标准 Silver 一致性未达阈值、质量次优的标注段
裁决 Adjudication 第三方专家解决双标注分歧的过程
只删不增 Delete-only Adjudication 裁决员只能删除标注、不能新增的规则
否定线索 Negation Cue 表示否定的词或短语,如 não、sem
否定范围 Negation Scope 否定线索所覆盖的文本范围
缩写展开 Abbreviation Expansion 把缩写还原为完整形式的任务
受保护健康信息 PHI 可识别患者身份的信息,须匿名化
匿名化 De-identification 去除 PHI 的过程
电子健康记录 EHR 电子化的患者健康记录
出院小结 Discharge Summary 住院结束时的总结性文档
入院记录 Admission Note 入院时的评估记录
护理记录 Nursing Note 护理人员书写的观察记录
门诊记录 Ambulatory Note 门诊就诊记录
电报体 Telegraphic Style 省略虚词与主语的简写风格
复制粘贴污染 Copy-paste Contamination 同一段落跨文档重复出现
标注助手 Annotation Assistant 基于历史标注与 UMLS 匹配给出标注建议的工具
编辑距离 Edit Distance 两个字符串之间最小编辑操作数
有条件随机场 Conditional Random Field (CRF) 序列标注经典模型
生物医学预训练模型 BioBERTpt 葡语生物医学预训练语言模型
请求制 Upon Request 需填写表单并签署协议才能获取数据的机制
仅限科研非商业 Non-commercial Research Only 许可协议中对使用范围的限制

附录

附录 A:条目信息速查卡

字段 值
条目名 SemClinBr
slug semclinbr
类别 医疗NLP / 临床文本 / 命名实体识别 / 关系抽取 / 临床电子病历
语言 巴西葡萄牙语(pt-BR)
主要论文 J Biomed Semantics 2022;13:13
DOI 10.1186/s13326-022-00269-1
仓库 github.com/HAILab-PUCPR/SemClinBr
规模 1,000 文档 / 148,033 tokens / 65,129 实体 / 11,263 关系
标签数 102 类实体(含 2 扩展)+ 2 类关系
获取 请求制(非商业科研)
论文许可 CC BY 4.0
数据许可 请求制协议
伦理批件 CAAE 51376015.4.0000.0020

附录 B:DAIMS 评估全表

DAIMS(Datasheets for AI and Medical Datasets)的 24 项检查,按本条目证据逐项打分(✅ 满足 / ◐ 部分 / ❌ 缺失 / — 不适用):

编号 检查项 结论 证据
D01 数据集名称与版本 ✅ 论文标题、GitHub 仓库名一致
D02 数据来源描述 ✅ 两家机构、年份、记录量均写明
D03 采集时间范围 ✅ 2002-2007、2013-2018
D04 采集地理范围 ◐ 只写"巴西",未给具体城市(作者单位为 Curitiba)
D05 患者人口学特征 ❌ 未提供年龄、性别分布
D06 纳入/排除标准 ◐ 描述了抽样思路,未给明确规则
D07 样本量与单位 ✅ 1,000 文档、148,033 tokens
D08 标注任务定义 ✅ 实体 + 关系 + 否定
D09 标注指南可得性 ◐ 指南未公开,但方法论与原则写在论文中
D10 标注人员资质 ✅ 医生、护士、医学生构成明确
D11 标注一致性统计 ✅ 四档 IAA + 每关系类型 IAA
D12 裁决流程 ✅ 100% 双标 + 第三方裁决 + 只删不增
D13 标签体系来源 ✅ UMLS 语义网络
D14 标签体系覆盖度 ✅ 表 6 逐类型列数(22 类)
D15 预处理描述 ◐ 提到字段拼接与匿名化,未给脚本
D16 数据格式 ✅ JSON / XML
D17 数据规模(字节) ❌ 未给文件大小
D18 训练/测试划分 ◐ 给了 Gold/Silver,未给官方 split
D19 基线结果 ✅ 否定检测 + NER 两组
D20 已知偏差 ✅ 讨论章明确列出
D21 许可条款 ✅ 论文与请求制协议分别写明
D22 获取渠道 ◐ 说明需 request form,未给表单直链
D23 伦理审批 ✅ CAAE 号公开
D24 维护计划 ❌ 未见版本更新说明

统计:✅ 14 项、◐ 7 项、❌ 3 项。得分约 79%(14×1 + 7×0.5 = 17.5 / 22 项可评)。主要缺口在人口学信息、文件级规模、维护计划三项。

附录 C:逐项证据链自证

  • “1,000 份文档”:EuropePMC 全文、arXiv 摘要、PMC 摘要三处一致。
  • “65,129 实体”:正文 + Table 5 + Gold/Silver 加总三处自洽;摘要 65,117 为口径冲突(§10 坑 2)。
  • “11,263 关系”:摘要、正文、Table 5、Table 7 加总(9,693 + 1,570 = 11,263)四处一致。
  • “102 类标签”:正文 “100 UMLS semantic types … two extra semantic types” 相加。
  • “108 条否定线索”:GitHub 原始文件 negation-semclinbr-v2.txt 去重计数(本次实测)。
  • “请求制”:论文 Availability of data and materials 段落原文。
  • “CC BY 4.0”:EuropePMC license 字段 + BMC 页面标注。

附录 D:数据获取决策树

需要 pt-br 临床文本标注?
├─ 是 → 只想做否定检测?
│        ├─ 是 → 直接下 negation-semclinbr-v2.txt(免申请)
│        └─ 否 → 填 request form
│                 ├─ 用途为非商业研究 → 签协议,获得语料
│                 ├─ 用途含商业产品 → 联系作者单独谈,或放弃
│                 └─ 需要 CUI/SNOMED 链接 → 放弃 SemClinBr,转 DisTEMIST(498)
└─ 否 → 需要西语 → CANTEMIST(514) / DisTEMIST(498) / PharmaCoNER(504)
         需要英文 → i2b2/n2c2(14) / MIMIC-IV-Note(47)
         需要中文 → CBLUE(190) / CCCDB(166)

附录 E:实体类型使用规范(建议)

按 SGR 分组使用时的推荐做法:

SGR 含 STY 示例 建议用途
Disorders Disease or Syndrome、Sign or Symptom、Finding、Injury or Poisoning 疾病 NER 主任务;注意 Finding 与 Sign or Symptom 的区分规则
Procedures Therapeutic or Preventive、Diagnostic、Health Care Activity 操作/治疗抽取;单独使用时数量最大
Chemicals & Drugs Pharmacologic Substance、Organic Chemical 药物 NER;一致性较高(0.88)
Concepts & Ideas Quantitative、Temporal、Qualitative 数值与时间相关任务的基础
Anatomy Body Location、Body Part 解剖部位归一化的起点
Phenomena Laboratory or Test Result 检验结果抽取
Physiology Clinical Attribute 生命体征、属性类
Devices Medical Device 器械抽取(起搏器等)
Living Beings Patient or Disabled Group、Professional or Occupational Group 人群/职业识别
Organizations Health Care Related Organization 机构识别
N/A Abbreviation、Negation 辅助层,建议单独建模

附录 F:BIO 转换伪代码

输入: annotations.json(含 document, entities[{start,end,sty}], relations[])
输出: conll 格式(token  STY  BILOU)

for doc in docs:
    tokens = tokenize_ptbr(doc.text)          # 需与语料分词口径对齐
    offsets = char_offsets(tokens)
    for sty in ALL_STY:
        labels = [I for _ in tokens]
        for ent in doc.entities where ent.sty == sty:
            idx = tokens_overlapping(ent.start, ent.end, offsets)
            labels[idx[0]] = 'B'
            labels[idx[1:-1]] = 'I'
            labels[idx[-1]] = 'L'
        emit(tokens, labels, sty)

注意事项:① 一个 token 可能落在两个实体的重叠区,多标签情况必须逐 STY 遍历;② span 部分重叠时,BIO 无法表达,需要改用 BIOES 或 span-based 标注;③ 分词口径不同会导致无法与论文基线对齐,建议先用小样本校准。

附录 G:关系抽取数据构造

associated_with 是泛化关系,构造负样本时不能用"随机实体对"——随机对里有大量实际相关但未标注的组合。建议:

  1. 正样本:标注的 9,693 条 associated_with。
  2. 负样本:同文档内、距离超过 200 字符、且不在任何标注关系中的实体对。
  3. 难负样本:跨文档的同类实体对(如"心内科"与"冠心病"),这些在文档内可能相关、跨文档则不相关。

negation_of 的负样本相对容易:非否定线索与实体之间的配对,绝大多数都是负例。

附录 H:IAA 计算对照表

口径 span 条件 类型条件 论文值
Strict 完全一致 STY 一致 0.708
Lenient 部分重叠 STY 一致 0.834
Flexible 完全一致 SGR 一致 0.774
Relaxed 部分重叠 SGR 一致 0.921

自算 IAA 时的注意事项:① 部分重叠的定义(仅首尾相接算不算)会影响 Lenient/Relaxed 数值;② 论文用的是观察一致率,不是 F1;③ 关系 IAA 通常按"关系双方实体都匹配"计算,口径需自行确认。

附录 I:专科分布偏斜的应对建议

心内 260 篇 vs 呼吸 11 篇,相差 23 倍。建议:

  1. 不做专科分层评测——样本量不足,结论不可靠。
  2. 做专科过采样:训练时对少数专科按文档过采样 2-3 倍。
  3. 报告整体性能时说明分布:读者会自然把表现归因于心内。
  4. 心内专项研究:260 篇是可用量,但不及西语的 CANTEMIST(1,301 篇文档)充足。

附录 J:与库内西语族语料对照总表

条目 rid 语言 文档数 标注层 规范化 获取
CANTEMIST 514 西语 1,301 肿瘤概念 有(SNOMED/CIE-O) 公开
DisTEMIST 498 西语 1,000 疾病 有(SNOMED CT) 公开
PharmaCoNER 504 西语 1,000 药物 部分 公开
MEDDOPROF 509 西语 1,000+ 职业 有 公开
CARMEN-I 551 西语 2,000 匿名化 — 公开
SemClinBr 本条 pt-BR 1,000 100 STY + 2 RTY 无 请求制

这张表最值得注意的一行是"规范化":西语族五个语料里有四个做了术语链接,SemClinBr 是唯一没做的。这既是它的短板(不能做实体链接),也是它的特点(标注成本集中在实体与关系,而非链接)。

附录 K:论文表格索引

表号 内容 本条目引用位置
Table 1 文本样例 §2.3
Table 2 专科分布 §2.4
Table 3 文档类型分布 §2.4
Table 4 各 STY 例句(含英文翻译) §3.1、§3.4
Table 5 Gold/Silver 规模 §2.6
Table 6 各 STY 实体数 §3.4
Table 7 各 RTY 关系数 §3.5
Table 8 全语料 IAA §5.1
Table 9 各 RTY IAA §5.2
Table 10 与其他语料的 IAA 对比 §5.3

附录 L:否定线索表结构说明

== NEGATION          <- 分节标记(仅一行)
não
nunca
sem
tampouco
também não
...
  • 编码:UTF-8(含 BOM,首行以 \ufeff 开头,解析时需 strip)
  • 条目:111 条非空行,去重后 108 条
  • 既有单词(não、nunca)也有短语(também não、em sítio algum)与句式(Tem sido descartado)
  • 用法建议:先精确匹配,再对未命中的句子做规则扩展(如 não + 动词的变体)

附录 M:与库内条目(rid)的关系声明

  • i2b2/n2c2 NLP(rid 14):同为临床 NER 语料,英文 vs 葡语,任务驱动 vs 通用标注。
  • MIMIC-IV-Note(rid 47):英文 ICU 自由文本,规模远大于本条,但无现成语义标注。
  • MIMIC-BR(rid 156):巴西 ICU 结构化数据(OMOP),与本条无直接替代关系。
  • CCCDB(rid 166):中文危重症结构化病历库,语言与形态均不同。
  • CBLUE(rid 190):中文医疗 NLP 评测基准,是"评测"定位而非"训练语料"。
  • CANTEMIST(514)/ DisTEMIST(498)/ PharmaCoNER(504)/ MEDDOPROF(509)/ CARMEN-I(551):西语族临床标注语料,与本条构成罗曼语族对照组。
  • UMLS(rid 558):本条的标签体系来源。
  • SNOMED CT(rid 557):本条未链接的目标术语集。
  • SemMedDB(rid 836):名称近似、性质不同(文献三元组),必须消歧。
  • CATS-58(rid 1152):缩写义项消歧基准,与本条的 Abbreviation 标注互补。

附录 N:版本与维护观察

  • 论文版:2022-05-08 正式发表,此后未见勘误。
  • 预印本版:arXiv 2001.10071(2020-01-28),摘要在实体数上与期刊版相同(65,117),说明正文的 65,129 是后期修订或统计口径调整。
  • 仓库:2020-02-08 创建,最后一次推送 2024-03-12。近两年无更新,可以认为项目处于维护冻结状态。
  • 否定线索表文件名为 negation-semclinbr-v2.txt,命名中的 v2 表明至少修订过一版。
  • 缩写词典文件名为 abbr-semclinbr-v1.xlsx,仍是 v1。

附录 O:许可条款细读

论文原文(Availability of data and materials):

The resources generated in this study are available in the GitHub repository. To use the corpus, it is necessary to complete a request form with a license agreement for use only in scientific and non-commercial research, to comply with the restrictions of the ethics committee of the institution.

逐句拆解:

  1. “available in the GitHub repository”——指仓库是一个入口,不等于公开直链。
  2. “complete a request form with a license agreement”——两个动作:填表 + 签协议。
  3. “only in scientific and non-commercial research”——使用范围限制,双重限定。
  4. “to comply with the restrictions of the ethics committee”——限制的法律/伦理来源。

与 CC BY 4.0 的对比:CC BY 允许商业使用(只要署名),请求制协议禁止商业使用。两者的差别不是"是否署名",而是"能否商用"。

附录 P:申请材料准备清单

(供参考,非官方模板)

  • 姓名、职称、所属机构、机构邮箱
  • 研究项目名称与简介(150 字内)
  • 用途说明:训练 / 评测 / 复现哪项研究
  • 声明:不用于商业目的、不重新分发、遵守伦理约束
  • 预期成果形式(论文、学位论文、开源模型)
  • 联系人信息

注意:表格的具体字段以作者实际发放的 request form 为准。

附录 Q:坑点档案(与 §10 对照)

坑号 一句话 影响面
坑 1 “首个葡语临床语料"要限定"公开+语义标注” 引用准确度
坑 2 65,117 vs 65,129 双口径 数字引用
坑 3 论文 CC BY ≠ 数据许可 合规风险
坑 4 仓库里没有标注正文 时间浪费
坑 5 专科分布偏斜(心内 26% vs 呼吸 1.1%) 分层分析
坑 6 复制粘贴污染导致划分泄漏 评测虚高
坑 7 指南迭代未回溯,存在时间漂移 误差分析
坑 8 无 CUI 链接,不能做实体链接 任务适配

附录 R:检索决策树

检索 SemClinBr 相关资源
├─ 找论文 → DOI 10.1186/s13326-022-00269-1 / PMID 35527259 / PMC9080187
├─ 找代码 → github.com/HAILab-PUCPR/SemClinBr
│            └─ 注意:只有 Annotation_Tool / abbreviations / negation_cues / images
├─ 找语料 → 仓库内无 → 走 request form
├─ 找基线 → 论文 §5 + 参考文献 [56][57][58]
│            ├─ [56] Dalloux 2021 否定检测
│            ├─ [57] de Souza 2019 CRF NER
│            └─ [58] Schneider 2020 BioBERTpt
└─ 找二手资料 → 只信摘要数字时要核对 65,117/65,129

附录 S:双口径登记表

项目 口径 A 口径 B 本条目采用 理由
实体总数 摘要 65,117 正文/Table 5 65,129 65,129 表内 Gold + Silver 自洽
名称拼写 SemClinBr SemClinBR SemClinBr 标题与摘要写法
源数据 2 记录数 “5.617”(原文) 5,617(千分位读法) 5,617 小数点误用
每篇规模 148,033 tokens / 1,000 ≈ 148 tokens 平均字符数 ~148 分开表述 两者恰为巧合,不可混
语料许可 论文 CC BY 4.0 请求制非商业协议 分开表述 文件与数据两套许可
仓库许可 GitHub license=None 论文提及 request form 按论文 代码未单独声明

附录 T:维护计划与触发点

本条目建议在以下情况触发更新:

  1. 仓库出现新提交(尤其是语料文件进入公开目录)。
  2. 论文出现勘误(实体数口径被官方修正)。
  3. 出现以 SemClinBr 为标准测试集的关系抽取基线(目前空白)。
  4. 出现 pt-br 侧的新公开临床标注语料(可能改变"首个"的表述意义)。
  5. 许可条款变化(例如转为 CC 类开放许可)。

附录 U:下游任务可用性矩阵

任务 可用性 需要的额外工作
单类型 NER ✅ 直接可用 选定 STY 或 SGR
多类型 NER ✅ 直接可用 逐 STY 二分类
嵌套实体 ◐ 部分可用 需处理 span 重叠
关系抽取(二分类) ✅ 可用 associated_with 当相关性任务
关系类型分类 ❌ 不可用 只有 2 类,无法分类
否定检测 ✅ 直接可用 线索表 + 标注
否定范围 ✅ 可用 需要明确范围定义
缩写展开 ✅ 可用 需配对缩写与全称
实体链接 ❌ 不可用 无 CUI
时间表达式 ❌ 不可用 未标注
文档分类 ✅ 可用 专科/文档类型作为标签
摘要生成 ◐ 弱 无参考摘要

附录 V:与英文语料的迁移可行性

迁移方向 可行性 主要障碍
英文模型 → pt-br 零样本 低 词汇不重叠(缩写、否定词)
英文模型 → pt-br 微调 中 需 pt-br 词表扩展或子词适配
西语模型 → pt-br 微调 中高 罗曼语族共享词根,否定结构相近
多语言模型(mBERT/XLM-R) → pt-br 高 已有葡语覆盖,直接微调
pt-br 模型 → 西语 中 反向迁移的效果通常弱于正向

附录 W:引文规范

推荐引用格式(APA):

Oliveira, L. E. S., Peters, A. C., da Silva, A. M. P., Gebeluca, C. P., Gumiel, Y. B., Cintho, L. M. M., Carvalho, D. R., Hasan, S. A., & Moro, C. M. C. (2022). SemClinBr - a multi-institutional and multi-specialty semantically annotated corpus for Portuguese clinical NLP tasks. Journal of Biomedical Semantics, 13, 13. https://doi.org/10.1186/s13326-022-00269-1

注意:作者 “Sadid Al Hasan” 在部分数据库中写作 “Sadid A. Hasan”,引用时以论文原文为准。

附录 X:本条目生产档案

项目 内容
生产日期 2026-10-17
写手代理 agent-b-semclinbr
核验来源 EuropePMC REST(全文 XML + 元数据)、PubMed/PMC、arXiv 摘要页、GitHub API
网络预算消耗 WebSearch 2 次、WebFetch 2 次、GitHub/PUBMED API 若干(均在限内)
双口径存照 6 项(附录 S)
遗留疑点 4 项(见正文 §9)

附录 Y:FAIR / AI-Ready 检查单

原则 结论 说明
F(可发现) ✅ 有 DOI、PMID、仓库地址
A(可访问) ◐ 语料需申请,工具公开
I(可互操作) ◐ UMLS STY 通用,但无 URI/CUI
R(可复用) ◐ 许可限制非商业,但文档充分
AI-Ready:文档完整 ✅ 论文覆盖标注、IAA、基线、局限
AI-Ready:格式机器可读 ◐ JSON/XML,但需自行转 BIO
AI-Ready:基线可复现 ◐ 基线来自他文,代码未公开
AI-Ready:伦理合规 ✅ CAAE 号公开,匿名化流程描述清楚

附录 Z:缩写速查

缩写 全称 中文
STY Semantic Type 语义类型
SGR Semantic Group 语义组
RTY Relationship Type 关系类型
IAA Inter-Annotator Agreement 标注者间一致性
PHI Protected Health Information 受保护健康信息
EHR Electronic Health Record 电子健康记录
NER Named Entity Recognition 命名实体识别
CRF Conditional Random Field 有条件随机场
pt-br português do Brasil 巴西葡萄牙语
PUCPR Pontifical Catholic University of Paraná 巴拉那天主教大学
CAPES Coordenação de Aperfeiçoamento de Pessoal de Nível Superior 巴西高等教育人员提升协调局
CAAE Certificado de Apresentação para Apreciação Ética 伦理审查提交证书
DAIMS Datasheets for AI and Medical Datasets 医疗 AI 数据集数据表框架

附录 AA:基于本语料的研究检查清单(10 项)

  1. 是否声明了使用的分段(Gold / Silver / 全部)?
  2. 测试集是否只用了 Gold?
  3. 是否做了文档级去重以避免 copy-paste 泄漏?
  4. 标签映射时是否声明了 STY → 任务类别的规则?
  5. 是否报告了每种 STY 的 P/R/F1,而不只是宏平均?
  6. 是否说明分词口径(影响 span 对齐)?
  7. 若涉及多标签,是否说明了处理方法?
  8. 若报 IAA,是否注明用了哪种口径(Strict/Lenient/Flexible/Relaxed)?
  9. 是否声明了非商业使用?
  10. 是否引用了原文而非二手资料的数字?

附录 AB:与论文原文的差异声明

本条目所有数字均以 2022 年期刊版为准。与原文的差异仅有两处:

  1. 实体总数取 65,129(正文口径),摘要的 65,117 在坑 2 与附录 S 中存照。
  2. “首个葡萄牙语临床语料"表述为"首个公开的语义标注临床语料库”,加了限定语,理由见坑 1。

附录 AC:检索路径示范

目标 推荐检索式
找论文 "SemClinBr" semantic annotation 或 10.1186/s13326-022-00269-1
找代码 GitHub 搜 HAILab-PUCPR/SemClinBr
找下游研究 "SemClinBr" AND (NER OR negation)
找同类语料 "Portuguese clinical" corpus annotated
找否定线索 直接访问 negation_cues/negation-semclinbr-v2.txt
找缩写词典 直接访问 abbreviations/abbr-semclinbr-v1.xlsx

尾注

本条目依据以下一手来源编写,全部可公开核验:

  1. Oliveira LES, Peters AC, da Silva AMP, et al. SemClinBr - a multi-institutional and multi-specialty semantically annotated corpus for Portuguese clinical NLP tasks. J Biomed Semantics. 2022;13:13. doi:10.1186/s13326-022-00269-1. PMID: 35527259. PMCID: PMC9080187.
  2. EuropePMC REST API 全文 XML(PMC9080187)与元数据(license 字段 = cc by)。
  3. arXiv:2001.10071 预印本摘要页。
  4. GitHub 仓库 HAILab-PUCPR/SemClinBr(2020-02-08 创建,2024-03-12 最后推送)。
  5. 仓库内 negation_cues/negation-semclinbr-v2.txt 原始文件(本次实测 112 行、去重 108 条)。

附录 AD:按角色阅读路径

给 30 秒决策者:读 INFOBOX 表与 §11.4 决策卡即可。核心结论是"首个 pt-br 临床语义标注语料、请求制、1,000 篇 65,129 实体"。

给 AI 工程师(2 分钟内要做选择):§1 十二问 → §6 三种资产三种门 → §11.4 决策卡。看完能判断"要不要申请、申请后怎么划分"。

给标注项目负责人(30 分钟):§3 标注体系 → §4 标注流程(尤其 4.1 指南迭代、4.2 裁决规则、4.6 助手风险)→ 附录 F/G 数据结构。这三节可以直接转成内部 SOP 的三条硬规矩。

给评测研究者(2 小时):§5 一致性四口径 → §7 下游任务 → 附录 H IAA 对照 → 附录 U 可用性矩阵。重点是把"论文报了什么"与"论文没报什么"分清——关系抽取没有系统基线这一点,会直接改变你的实验设计。

给合规/法务:§6.2 请求制含义 → 附录 O 许可条款细读 → 附录 P 申请材料清单。一句话:论文 CC BY 不覆盖数据,数据只能用于非商业科研且不得转发。

附录 AE:常见误解澄清

误解一:SemClinBr 是公开数据集,可以直接下载。
不准确。仓库公开的是标注工具、否定线索表与缩写词典三样;语料标注正文需要 request form + 非商业协议。很多人把"有 GitHub 仓库"等同于"公开数据集",这是最常见的误解。

误解二:它标注了概念规范化(SNOMED 编码)。
没有。实体只标到 UMLS 语义类型(STY),没有 CUI、没有 SNOMED CT、没有 ICD。想做实体链接必须自己补这一步。

误解三:它和 i2b2 一样是共享任务。
不是。i2b2/n2c2 每届设定一个新任务并给出官方评测脚本与排行榜;SemClinBr 是通用语料,没有官方 split、没有统一评测脚本、没有排行榜。所有评测协议都要自己定义。

误解四:0.921 是很高的一致性,说明标注质量很好。
需要限定口径。0.921 是 Relaxed(部分 span 重叠 + 语义组一致),这是最宽松的四档之一。严格口径(全 span + STY)只有 0.708,这才是最适合与实体级 F1 对照的数字。

误解五:1,000 篇对深度学习来说太大了。
反过来。1,000 篇、148,033 tokens 在深度模型语境里偏小,与 CoNLL-2003(约 30 万 tokens)相比只有一半。这意味着细调大模型时过拟合风险高,小样本策略(prompt tuning、few-shot)值得考虑。

误解六:巴西葡语和欧洲葡语差不多,可以直接套用。
词汇与书写差异明显(如 ônibus / autocarro),但更关键的是书写习惯:巴西临床记录大量使用口语化缩写与不规范拼写。移植到欧洲葡语需要重新适配缩写表。

附录 AF:数据处理最小可行流程

Step 1 申请:request form → 签协议 → 获得 JSON/XML
Step 2 解析:读 entity(start/end/sty)+ relation(type, head, tail)
Step 3 去重:文档级 SimHash,阈值 ≥ 0.8,剔除重复文档
Step 4 划分:Gold 作测试集;Gold + Silver 作训练集(可选 dev 从 Gold 切 10%)
Step 5 标签映射:按 SGR 聚合或按 STY 细分,写入映射表存档
Step 6 分词:选定分词器(建议与预训练模型一致),对齐 span
Step 7 生成 BIO/BILOU:逐 STY 生成,多标签拆多遍
Step 8 训练:先跑 CRF 基线(对标 0.70-0.84),再上预训练模型
Step 9 评测:报告每 STY 的 P/R/F1 + 宏平均 + 微平均
Step 10 存档:记录分词器版本、映射表、划分随机种子

第 10 步经常被忽略,但它是"可复现"的唯一保障——分词口径不一致时,别人用同样的模型也复现不出你的分数。

附录 AG:模型选型建议

场景 建议模型 理由
快速验证 pipeline CRF + 字符 n-gram 特征 论文已有基线(0.70-0.84),可对标
葡语专用预训练 BioBERTpt / BERTimbau 论文已用 BioBERTpt 得出 +7.4 F1
多语言 XLM-R / mBERT 便于与西语联合训练或迁移
大模型微调 任意 7B 级模型 + LoRA 1,000 篇样本量下必须用小参数量微调
零样本基线 直接问 GPT/Claude 提取实体 作为下限参考;pt-br 缩写密集,预期表现有限

建议至少跑两条线(CRF + 一条预训练模型),否则无法判断"提升来自模型还是来自数据处理"。

附录 AH:数据质量抽查清单

拿到语料后,先抽 20 篇做人工检查:

  1. 随机抽 5 篇 Gold,逐实体核对 span 边界是否正确。
  2. 随机抽 5 篇 Silver,检查标注密度是否明显低于 Gold。
  3. 找含 não 的句子,检查否定关系是否完整。
  4. 找含缩写的句子,检查 Abbreviation 标注是否覆盖全部缩写。
  5. 找多词疾病名,检查是否被标为单个 span。
  6. 搜索重复段落,评估 copy-paste 污染的严重程度。
  7. 检查 Gold 段内是否有 IAA 明显偏低的文档(阈值边界附近)。
  8. 检查第二阶段文档(约第 496 篇之后)的标注标准是否与前期不同。

附录 AI:论文方法学要点速记

  1. 调研先行:标注体系的每一处设计(关系数量、标注顺序、裁决规则)都有文献依据,不是随手定的。
  2. 小样本试标:每轮指南修订都用少量文档测试,成本可控。
  3. 三轮稳定开标:IAA 连续三轮无显著波动才进入正式标注。
  4. 100% 双标注:没有抽样复核,全量双人独立。
  5. 裁决只删不增:防止单人意见变成金标准。
  6. 先概念后关系:概念标注是关系标注的输入。
  7. 助手加速但需核对:作者明确承认助手带来负迁移。
  8. 不做回溯统一:接受时间漂移,换取不返工。
  9. 四档 IAA:同一份标注按不同口径评测,分离边界误差与类型误差。
  10. 双下游验证:否定检测与 NER 两条线,覆盖不同标注层。

这十条里,第 3、5、9 三条是最容易被忽略、也最值得抄的——它们分别对应"何时开工"、“如何裁决”、“如何报告”。

附录 AJ:与 LLM 辅助标注的对照

2024 年后大量标注项目开始用大模型做预标注。SemClinBr 的标注助手经验可以直接迁移:

传统助手(UMLS 匹配) LLM 预标注(当下) 共性风险
精确匹配 + 编辑距离 生成式建议 建议看似合理但边界错误
基于历史标注 基于 in-context examples 旧标准被带进新文档
建议速度快不核对 一键接受 错误在语料内传播
医学词表外无建议 幻觉实体 引入不存在的概念

结论:LLM 预标注的价值在加速,风险在传播。控制手段同 SemClinBr 的做法——强制人工核对、定期抽检助手命中率、不把旧标注当作建议源。

附录 AK:本项目的一句话定位

如果说 i2b2/n2c2 定义了英文临床 NLP 的坐标系,那 SemClinBr 做的事是为巴西葡语立了一根相同的标尺——尺子本身不完美(无规范化、质量双分、请求制),但没有它,这个语言的临床 NLP 就只能各说各话。

附录 AL:典型标注片段走查(示意)

下面用一句典型的巴西葡语门诊记录展示标注长什么样(原文片段经改写,仅示范结构):

Paciente com HAS em uso de losartana 50mg, nega dor torácica.

逐层拆解:

文本 标注 说明
Paciente Patient or Disabled Group 患者类实体
HAS Abbreviation(+ Disease or Syndrome) 缩写叠加疾病类型,双标签
losartana 50mg Pharmacologic Substance 药物名称
50mg Quantitative Concept 剂量数值
nega Negation 否定线索(葡语 nega = 否认)
dor torácica Sign or Symptom 症状
nega → dor torácica negation_of 否定关系,连线索与被否定实体
HAS → losartana associated_with 疾病与用药的泛化关联
Paciente → HAS associated_with 患者与诊断的泛化关联

这一句里能看出三个设计后果:

  1. 缩写双标签:HAS 同时是 Abbreviation 与 Disease or Syndrome,BIO 序列里要处理成两套标签。
  2. 否定的关系化:nega 本身是实体(Negation 类型),被否定对象通过关系连接,而不是给 dor torácica 加一个「否定=真」的属性。这允许一否多、多否一。
  3. associated_with 的泛化:患者-疾病、疾病-药物都是 associated_with,没有 finer 的类型区分。这是关系过简的直接体现。

附录 AM:标注指南的核心规则摘录(转述)

论文没有公开完整指南,但正文透出的规则可归纳为六条:

  1. 类型优先级:优先标为 Disorder 或 Laboratory or Test Result,而非泛泛的 Finding。
  2. 正常与异常的区分:正常体征标 Finding(如 abdômen plano e flácido),异常表现标 Sign or Symptom。
  3. 一词多标:允许同一 span 赋予多个类型,缩写与概念叠加是常态。
  4. span 边界:包含限定词的多词表达整体标注(如 dor torácica 整体标为 Sign or Symptom,不拆分)。
  5. 否定两步:先标线索词,再用关系连接。
  6. 关系仅限于两类:不做治疗、病因、检查结果等细粒度关系。

第 4 条是 span 边界一致性的主要来源,也是 Strict IAA 只有 0.708 的直接原因。

附录 AN:适用范围声明

本条目描述的是 2022 年期刊发表版 的 SemClinBr 及其 GitHub 仓库在 2026-10-17 的公开状态。若后续作者发布新版本(如 v2 语料、新增时间标注层),以官方发布为准。本条目不对作者的后续工作作任何推断。

附录 AO:语料在真实项目中的使用场景

场景一:医院信息系统里的实体抽取
巴西某医院想做出院小结的自动结构化,把自由文本里的诊断、用药、手术转成结构化字段。SemClinBr 的价值在于提供了真实的 pt-br 书写风格(缩写、电报体、拼写错误),比翻译英文语料更接近生产环境。落地时的关键是缩写表——12,629 个 Abbreviation 实体提炼出的缩写词典,直接决定了抽取的召回上限。

场景二:葡语临床语言模型的领域预训练
一个通用葡语模型(BERTimbau)在临床文本上的表现通常明显低于通用域。用 SemClinBr 的 148,033 tokens 做领域适配微调,规模偏小但足以做小步微调(如继续预训练 1-2 个 epoch)。论文引用的 BioBERTpt 走的就是这条路,并取得 +7.4 F1。

场景三:否定检测的规则引擎打底
否定是临床 NLP 最刚需的能力之一:一个被否定的症状如果被误判为阳性,下游的辅助诊断就会出错。否定线索表(108 条)可以直接做成规则引擎,无需任何训练。范围检测则用模型补,形成"规则管线索、模型管范围"的混合架构。

场景四:标注项目的方法学参照
第三世界国家的医学院、区域医院常需要自建临床语料但缺乏方法论。SemClinBr 的贡献是把一整套流程写成了可读的步骤:多长时间的指南迭代、几个人做双标、裁决怎么定规则、怎么报 IAA。这些细节在大多数数据集论文里是缺失的。

场景五:跨语言迁移研究
葡语是罗曼语族的"中间地带":词汇上与西语高度相近,书写习惯上又与英语共享大量缩写。用 SemClinBr 做拉丁语族内部的迁移研究(西语→葡语、葡语→西语),比英葡迁移更能分离"语言距离"这个变量。

附录 AP:数据字典(建议的字段映射)

若拿到 XML 标注,建议映射为以下内部结构:

字段 类型 来源 说明
doc_id string 文档标识 唯一键
doc_text string 原文 保留原始大小写与拼写
split enum Gold/Silver 分段标记
specialty string 元数据 14 类之一
doc_type string 元数据 4 类之一
entity.start int 标注 字符偏移起点
entity.end int 标注 字符偏移终点(不含)
entity.text string 原文切片 便于人工核查
entity.types list 标注 STY 列表,可多值
entity.sgr list 派生 由 STY 映射得到
relation.type enum 标注 associated_with / negation_of
relation.head ref 标注 指向 entity
relation.tail ref 标注 指向 entity

映射时的三个常见错误:① 把 end 当作包含端点,导致 span 多一个字符;② 丢弃多标签,只保留第一个 STY;③ 忘记把 SGR 存下来,导致无法做宽松口径评测。

附录 AQ:与论文原文表述的对照校正

原文表述 常见误读 校正
“first available Portuguese clinical corpus” “第一个葡语临床 NLP 研究” 指的是"首个公开可用语料"
“1000 clinical notes” “1,000 名患者” 是文档数,患者数未披露
“65,117 entities”(摘要) “标注了 65,117 个实体” 正文为 65,129
“average annotator agreement 0.71 to 0.92” “一致性在 0.71-0.92 之间” 是四档口径的端点,不是区间随机波动
“available in the GitHub repository” “GitHub 上能下载” 需完成 request form
“two downstream NLP tasks” “两个任务都有 F1” 只有 NER 与否定检测,关系抽取无系统结果

这张表可以直接用于审稿意见回应或二手资料核查——大多数误读都来自把摘要的一句话压扁理解。

附录 AR:常见问题的中文速答

问:这个数据集有多少张表?
答:不是表格数据集,是文本语料。核心是 1,000 个文本文件加对应的标注文件(JSON 或 XML)。

问:能用来训练大模型吗?
答:可以微调,但数据量偏小(14.8 万 tokens),不适合从头预训练。适合做领域适配或指令微调中的 SFT 样本。

问:有葡语以外的版本吗?
答:没有官方翻译版。

问:为什么没有 CUI?
答:标注目标是"语义类型"而不是"具体概念",标注成本更低、一致性更高。代价是不能直接做实体链接。

问:作者还在维护吗?
答:仓库最后推送是 2024 年 3 月,此后无更新;论文无勘误记录。可视为冻结状态。

问:能引用本项目吗?
答:学术引用请引论文原文(DOI 10.1186/s13326-022-00269-1),不要引本条目。

附录 AS:本项目与库内"西语族四件套"的联合使用建议

CANTEMIST(514)、DisTEMIST(498)、PharmaCoNER(504)、MEDDOPROF(509)四个西语语料与 SemClinBr 可以组成一个"罗曼语族临床 NER 联合训练集":

  1. 统一样本格式:都转成 BIO,字段对齐到 doc_id / text / tokens / labels。
  2. 统一标签空间:以 UMLS SGR 为中介,把西语的肿瘤、疾病、药物、职业映射到对应 SGR。
  3. 加语言标识:每个 token 序列前缀 <pt> 或 <es>,供多语言模型区分。
  4. 分语言评测:联合训练、分语言测试,报告每语言的性能差。

预期收益:西语数据量约为葡语的 4 倍以上,联合训练可能显著提升 pt-br 表现;但也要警惕负迁移(葡西共享词形导致的假阳性)。

附录 AT:写作过程留痕

本条目在 2026-10-17 由写手代理 agent-b-semclinbr 完成,全过程遵守以下约束:

  • 网络预算:WebSearch 2 次(≤3)、WebFetch 2 次(≤6),未触达上限。
  • 单条 bash 命令均在 60 秒内完成,无重试循环。
  • 分片直写私有区,五个分片(01/02/03/03b/03c/03d + tail)逐段落盘。
  • 所有数字均取自 EuropePMC 全文 XML 的表格文本与 GitHub API 返回值,未使用二手转述。
    引用约定:本文所有比例为按论文表格数据计算所得,非原文直接给出,已在相应位置标注"占比"字样。凡原文未给出、由本文推算的数字(如实体密度、IAA 差值),均以"约"或"≈"标示。

千方病案医数集 · AI-Ready Wikipedia · 2026-10-17 编校


相关数据集导航

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

  • radgraph — 共享标签:医疗NLP / 临床文本 / 命名实体识别 / 关系抽取
  • thyme — 共享标签:医疗NLP / 临床文本 / 命名实体识别 / 关系抽取
  • real-mednlp — 共享标签:医疗NLP / 临床文本 / 命名实体识别 / 关系抽取
  • carmen — 共享标签:医疗NLP / 临床文本 / 命名实体识别
  • emergency-complaint-gout — 共享标签:医疗NLP / 临床文本 / 临床电子病历
  • pharmaconer — 共享标签:医疗NLP / 临床文本 / 命名实体识别
  • deidentified-medical-text — 共享标签:医疗NLP / 临床文本 / 命名实体识别 / 临床电子病历
  • distemist — 共享标签:医疗NLP / 临床文本 / 命名实体识别
  • meddoprof — 共享标签:医疗NLP / 临床文本 / 命名实体识别
  • cantemist — 共享标签:医疗NLP / 临床文本 / 命名实体识别

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

返回 AI-Ready 数据集