信息速览
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 源码和两份派生词典(否定线索、医学缩写),这几样东西比语料本体更容易拿到。
导语读法三则:
- 只想判断能不能用:直奔 §6 获取与许可——语料是请求制,别指望
git clone拿到标注正文。 - 要设计自己的标注项目:直奔 §3 与 §4,看它的指南迭代三轮稳定法、裁决员"只删不增"规则、以及 Gold/Silver 阈值怎么定义。
- 要做 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,000 份真实病历的自由文本(148,033 tokens),逐词标注实体与关系,分 Gold/Silver 两段。
- 一套可复制的标注模式(annotation schema):102 类实体标签(100 STY + Negation + Abbreviation)、2 类关系标签,以及衍生的否定线索表与缩写词典。
- 一个 Web 标注工具:六模块(导入/审阅/分配/标注/裁决/导出),带"标注助手"建议功能,源码在 GitHub 公开。
- 一份调研(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 临床文本的典型噪声:
- 复制粘贴污染(due to copy and paste):同一段既往史在不同文档里重复出现,导致实体高频重复。
- 缩写与行话密集:这是 Abbreviation 达 12,629 个的原因。
- 拼写错误:随意的简写与漏字母。
- 句子不完整:护理记录中大量电报体。
- 标点缺失或错位:句边界识别本身成为难题。
- 大小写混乱:专有名词与普通名词混用。
这六条合起来解释了一个现象: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 与此前若干临床标注语料放在一起比较,主要发现有三条:
- 严格一致性偏低:除 MiPACQ 外,其他语料的 Strict 都高于 SemClinBr 的 0.71。作者归因于"粒度更细 + 多机构 + 多专科 + 多文档类型"的四重复杂度叠加。
- 宽松一致性反而领先:在 Lenient 口径下,SemClinBr 优于除 IxaMed-GS 外的所有对照组。
- 跨度最大:从 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 的团队
- 先申请语料,拿到 JSON/XML 后按 Gold/Silver 分段。
- 训练集用 Gold + Silver,测试集只用 Gold——这是这份语料的默认用法,也是与已发表基线可比的前提。
- 注意实体密度:每篇约 65 个实体,远高于英文 MIMIC 出院小结的密度(通常 20-40),模型需要处理高密度标注。
- 边界问题优先:从 §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 即可。三条可直接照搬的做法:
- 指南迭代以"连续三轮 IAA 稳定"为开标信号。
- 裁决员只删不增。
- 助手建议必须人工核对,且不要用旧标注做建议源。
§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 三句话总结
- SemClinBr 是巴西葡语第一个公开的临床语义标注语料库:1,000 份来自两家机构的真实病历,65,129 个 UMLS 语义类型实体,11,263 条关系,Gold 613 / Silver 387 双分。
- 它的方法学比数据本身更有价值:指南"连续三轮 IAA 稳定"才开标、裁决员"只删不增"、标注助手建议需人工核对——三条规矩任何标注项目都能直接借用。
- 获取是请求制(仅限科研非商业),但工具、否定线索表与缩写词典公开——语料受控、过程完全透明,这正是强隐私约束下临床语料的标准形态。
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 条)
- 论文发表于 J Biomed Semantics 2022 年第 13 卷 13 号。
- DOI 为 10.1186/s13326-022-00269-1。
- PMID 为 35527259,PMCID 为 PMC9080187。
- 收稿日期 2020-03-18,接受日期 2022-04-12,发表日期 2022-05-08。
- arXiv 预印本编号 2001.10071(2020-01-28)。
- 通讯作者为 Lucas Emanuel Silva e Oliveira。
- 第一单位是巴拉那天主教大学(PUCPR)健康技术项目。
- 第二单位是 Philips Research North America AI Lab。
- 作者共 9 人。
- 标注团队共 13 人(7 标注 + 2 裁决 + 4 研究者)。
- 语料含 1,000 份临床文档。
- 语料共 148,033 tokens。
- 实体数正文与表为 65,129,摘要为 65,117。
- 关系数为 11,263。
- Gold 段 613 篇、41,588 实体、7,344 关系。
- Silver 段 387 篇、23,541 实体、3,919 关系。
- 实体标签采用 100 个 UMLS 语义类型。
- 额外标注 2 类:Negation 与 Abbreviation。
- 关系类型 2 类:associated_with、negation_of。
- associated_with 关系 9,693 条,IAA 0.823。
- negation_of 关系 1,570 条,IAA 0.914。
- 概念 IAA:Strict 0.708、Lenient 0.834、Flexible 0.774、Relaxed 0.921。
- Abbreviation 实体 12,629 个,Negation 实体 2,676 个。
- 文档类型:门诊 506、护理 232、入院 148、出院 126。
- 心内科 260 篇为最大专科。
- 源数据 1:2,094,929 条记录(2013-2018),约 553,952 名患者。
- 源数据 2:5,617 条记录(2002-2007),仅心内科出院小结。
- 标注历时 14 个月,100% 双标注 + 裁决。
- 伦理批件号 51376015.4.0000.0020(PUCPR 伦理委员会)。
- 资助方: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 是泛化关系,构造负样本时不能用"随机实体对"——随机对里有大量实际相关但未标注的组合。建议:
- 正样本:标注的 9,693 条 associated_with。
- 负样本:同文档内、距离超过 200 字符、且不在任何标注关系中的实体对。
- 难负样本:跨文档的同类实体对(如"心内科"与"冠心病"),这些在文档内可能相关、跨文档则不相关。
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 倍。建议:
- 不做专科分层评测——样本量不足,结论不可靠。
- 做专科过采样:训练时对少数专科按文档过采样 2-3 倍。
- 报告整体性能时说明分布:读者会自然把表现归因于心内。
- 心内专项研究: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.
逐句拆解:
- “available in the GitHub repository”——指仓库是一个入口,不等于公开直链。
- “complete a request form with a license agreement”——两个动作:填表 + 签协议。
- “only in scientific and non-commercial research”——使用范围限制,双重限定。
- “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:维护计划与触发点
本条目建议在以下情况触发更新:
- 仓库出现新提交(尤其是语料文件进入公开目录)。
- 论文出现勘误(实体数口径被官方修正)。
- 出现以 SemClinBr 为标准测试集的关系抽取基线(目前空白)。
- 出现 pt-br 侧的新公开临床标注语料(可能改变"首个"的表述意义)。
- 许可条款变化(例如转为 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 项)
- 是否声明了使用的分段(Gold / Silver / 全部)?
- 测试集是否只用了 Gold?
- 是否做了文档级去重以避免 copy-paste 泄漏?
- 标签映射时是否声明了 STY → 任务类别的规则?
- 是否报告了每种 STY 的 P/R/F1,而不只是宏平均?
- 是否说明分词口径(影响 span 对齐)?
- 若涉及多标签,是否说明了处理方法?
- 若报 IAA,是否注明用了哪种口径(Strict/Lenient/Flexible/Relaxed)?
- 是否声明了非商业使用?
- 是否引用了原文而非二手资料的数字?
附录 AB:与论文原文的差异声明
本条目所有数字均以 2022 年期刊版为准。与原文的差异仅有两处:
- 实体总数取 65,129(正文口径),摘要的 65,117 在坑 2 与附录 S 中存照。
- “首个葡萄牙语临床语料"表述为"首个公开的语义标注临床语料库”,加了限定语,理由见坑 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 |
尾注
本条目依据以下一手来源编写,全部可公开核验:
- 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.
- EuropePMC REST API 全文 XML(PMC9080187)与元数据(license 字段 = cc by)。
- arXiv:2001.10071 预印本摘要页。
- GitHub 仓库 HAILab-PUCPR/SemClinBr(2020-02-08 创建,2024-03-12 最后推送)。
- 仓库内
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 篇做人工检查:
- 随机抽 5 篇 Gold,逐实体核对 span 边界是否正确。
- 随机抽 5 篇 Silver,检查标注密度是否明显低于 Gold。
- 找含
não的句子,检查否定关系是否完整。 - 找含缩写的句子,检查 Abbreviation 标注是否覆盖全部缩写。
- 找多词疾病名,检查是否被标为单个 span。
- 搜索重复段落,评估 copy-paste 污染的严重程度。
- 检查 Gold 段内是否有 IAA 明显偏低的文档(阈值边界附近)。
- 检查第二阶段文档(约第 496 篇之后)的标注标准是否与前期不同。
附录 AI:论文方法学要点速记
- 调研先行:标注体系的每一处设计(关系数量、标注顺序、裁决规则)都有文献依据,不是随手定的。
- 小样本试标:每轮指南修订都用少量文档测试,成本可控。
- 三轮稳定开标:IAA 连续三轮无显著波动才进入正式标注。
- 100% 双标注:没有抽样复核,全量双人独立。
- 裁决只删不增:防止单人意见变成金标准。
- 先概念后关系:概念标注是关系标注的输入。
- 助手加速但需核对:作者明确承认助手带来负迁移。
- 不做回溯统一:接受时间漂移,换取不返工。
- 四档 IAA:同一份标注按不同口径评测,分离边界误差与类型误差。
- 双下游验证:否定检测与 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 | 患者与诊断的泛化关联 |
这一句里能看出三个设计后果:
- 缩写双标签:
HAS同时是 Abbreviation 与 Disease or Syndrome,BIO 序列里要处理成两套标签。 - 否定的关系化:
nega本身是实体(Negation 类型),被否定对象通过关系连接,而不是给dor torácica加一个「否定=真」的属性。这允许一否多、多否一。 - associated_with 的泛化:患者-疾病、疾病-药物都是 associated_with,没有 finer 的类型区分。这是关系过简的直接体现。
附录 AM:标注指南的核心规则摘录(转述)
论文没有公开完整指南,但正文透出的规则可归纳为六条:
- 类型优先级:优先标为 Disorder 或 Laboratory or Test Result,而非泛泛的 Finding。
- 正常与异常的区分:正常体征标 Finding(如
abdômen plano e flácido),异常表现标 Sign or Symptom。 - 一词多标:允许同一 span 赋予多个类型,缩写与概念叠加是常态。
- span 边界:包含限定词的多词表达整体标注(如
dor torácica整体标为 Sign or Symptom,不拆分)。 - 否定两步:先标线索词,再用关系连接。
- 关系仅限于两类:不做治疗、病因、检查结果等细粒度关系。
第 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 联合训练集":
- 统一样本格式:都转成 BIO,字段对齐到 doc_id / text / tokens / labels。
- 统一标签空间:以 UMLS SGR 为中介,把西语的肿瘤、疾病、药物、职业映射到对应 SGR。
- 加语言标识:每个 token 序列前缀
<pt>或<es>,供多语言模型区分。 - 分语言评测:联合训练、分语言测试,报告每语言的性能差。
预期收益:西语数据量约为葡语的 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 / 临床文本 / 命名实体识别
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

