信息速览
INFOBOX — PsyTAR 一屏速览
维度 内容 本质 患者自报精神科药物评论标注语料(句子分类 + 实体识别 + 术语归一化三合一) 全称 Psychiatric Treatment Adverse Reactions(精神科治疗不良反应) 团队 University of Wisconsin-Milwaukee + US NLM / Lister Hill 国家生物医学通信中心 论文 Data in Brief 2019;24:103838(数据集);J Biomed Inform 2019;90:103091(方法论)——均 CC BY 数据源 askapatient.com(非 Reddit)——四种药 Zoloft / Lexapro / Cymbalta / Effexor XR 规模 891 篇帖 / 6009 句 / 7414 实体 mention(ADR 4813) 句子标签 ADR 2168 / WD 438 / SSI 789 / DI 517 / EF 1087 / INF 337 / Others 2107 归一化 UMLS Metathesaurus 918 概念 + SNOMED CT 755 概念 一致性 句子分类 κ=0.78;实体识别 pairwise agreement 86% 评测 SVM 最优 F-score 0.90;cTAKES 加 PsyTAR 词典 F 0.24→0.49(+25 个百分点) 获取 JBI Online Supplement #1 + 团队 Google Sites 项目页;CC BY 4.0 直接可用、无请求制 库内互链 CADEC(同源 askapatient 对照)、Drug Reviews UCI(同域无标注)、MedDRA / UMLS / SNOMED CT(术语层)、JADER(监管侧 ADR)
PsyTAR 是一份"把患者在论坛上抱怨药怎么难受,翻译成标准医学术语"的语料库:它从医疗评价网站 askapatient.com 抓取 891 篇关于四种抗抑郁药的患者评论,切成 6009 句话,逐句判断"这句在说副作用,还是在说药有效/无效,还是在说适应症";再把提到的不良反应实体抽出来,标注它们的严重程度和持续时间;最后把这些五花八门的口语表达——从"brain shivers(脑电击感)“到"整个人像被抽走了情绪”——映射到 UMLS 和 SNOMED CT 的标准概念 ID 上。它属于药物警戒(pharmacovigilance)这条赛道的关键早期资产:监管系统只会收到临床试验与医生上报的正式不良反应报告,而患者在论坛里抱怨的那些"说不清但真难受"的体验,长期是数据盲区。
导语读法三则:
- 只想下数据:直奔 §6 获取与许可——PsyTAR 是 CC BY 4.0,比同源 CADEC 的"研究限用"许可宽松得多,可直接下载使用。
- 关心标注设计:直奔 §3 三层标注体系与 §4 数据构成,重点看 κ 值分项表与实体性质分布。
- 做 ADR 抽取模型:直奔 §5 评测与基准与 §7 生态,注意 SVM F 0.90 与 cTAKES +25 个百分点这两个可对标数字。
§0 导读:这个数据集解决什么问题
药物不良反应(adverse drug reaction, ADR)的发现长期依赖两条正式渠道:上市前临床试验和上市后监管机构的个例上报系统。两者都系统性地漏掉了同一类信息——患者自己在日常语境里对药物体验的描述。临床试验样本量有限、随访时间短,罕见或迟发的不良反应难以上报;监管上报则受制于医生识别与报告意愿,且患者停药后的戒断症状常常不被当作"不良反应"记录。精神病药物尤其典型:SSRI/SNRI 的撤药反应(withdrawal symptoms)与情绪、认知层面的改变,恰恰是患者最常抱怨、又最难进入正式报告体系的部分。
PsyTAR 的回答分三个组件。第一是句子分类:把整篇评论拆成句子后,逐句判断它是否承载药物不良反应(ADR)、戒断症状(WD)、体征/症状/疾病(SSI)、药物适应症(DI)、疗效(EF)或无效(INF)——这一步把"整篇帖子"的粗粒度判断细化为可监督的学习样本。第二是实体识别:在承载 ADR/WD/SSI/DI 的句子里逐一定位实体边界,并追加严重程度与持续时间限定词。第三是实体归一化:把患者的口语表达映射到 UMLS Metathesaurus 与 SNOMED CT 的标准概念,使非结构化的论坛抱怨可以与电子健康记录、药房系统对接。
这三层设计的意义在于,它同时产出了三个可以直接对比的基准任务:句子级多标签分类、句子内实体边界抽取、跨术语体系的语义归一化。它的论文还顺带提供了两个可对标的工程结果——用 PsyTAR 训练的 SVM 句子分类器 F-score 达 0.90,而给临床文本抽取系统 cTAKES 加挂 PsyTAR 词典后,其识别 ADR/WD 的 F-score 从 0.24 跃升到 0.49(提升 25 个百分点)。后者是这份语料"最实用的卖点":它不只被当作研究数据,还被当作词典资源直接增强既有临床 NLP 系统。
§0 读法三则:
- 这个条目是"数据集论文 + 方法论论文"双论文结构:Data in Brief(2019;24:103838)描述数据集构成与规模,J Biomed Inform(2019;90:103091)描述构建方法论与 IAA 提升。两篇数字有少量出入(§9 存照),引用时须注明出处。
- 检索时若把 PsyTAR 说成"Reddit 语料"会找错源头——它的数据来自 askapatient.com(坑 1)。
- 语料规模不大(891 帖 / 6009 句),它的价值不在"大",而在"标注层次深 + 术语映射全 + 许可开放"三点叠加(§1 战略价值)。
§1 数据集速览:十问十答
Q1:PsyTAR 这个名字是什么意思?
Psychiatric Treatment Adverse Reactions 的缩写,即"精神科治疗不良反应"。它是一份标注语料(annotated corpus),不是原始论坛快照、不是模型、也不是监管数据库。
Q2:数据从哪来?是 Reddit 吗?
不是 Reddit。数据从医疗评价网站 askapatient.com 采集,研究者自行开发了 API 抓取。askapatient.com 是患者对处方药公开发表评价的老牌论坛,语料覆盖 2000 年代至 2010 年代的用户评论。
Q3:为什么选这四种药?
四种药分属两大类抗抑郁药:Zoloft(舍曲林)与 Lexapro(艾司西酞普兰)属 SSRI(选择性 5-羟色胺再摄取抑制剂);Cymbalta(度洛西汀)与 Effexor XR(文拉法辛缓释)属 SNRI(5-羟色胺-去甲肾上腺素再摄取抑制剂)。选择两大类对照,是为了比较不同作用机制药物的不良反应谱。
Q4:891 篇是多少?
Data in Brief 口径是随机抽取 891 篇药物评论帖;JBI 论文口径为 887 篇含文本的帖子(428 篇 SSRI + 459 篇 SNRI)。两篇论文的差异在 §9 存照,本条目正文以 891 为主口径并注明。
Q5:句子总数到底是多少?
Data in Brief 写 6009 句;JBI 论文与 PMC 记录写 6004 句(另计 98186 个词元)。差 5 句,属两篇论文统计口径差异(见坑 2)。
Q6:句子被分成哪几类?
七类:ADR(不良反应)、WD(戒断症状)、SSI(体征/症状/疾病)、DI(药物适应症)、EF(疗效)、INF(无效)、Others(不适用于以上任何一类)。各类句子数见 §4.2 分布表。
Q7:实体 mention 有几种、多少个?
四种:ADR(4813 个 mention)、WD(590)、SSI(1219)、DI(792),合计 7414 个 mention。扣除重复后,唯一实体 ADR 3180 / WD 468 / SSI 462 / DI 309。
Q8:归一化映射到哪些术语体系?
UMLS Metathesaurus(918 个唯一概念)与 SNOMED CT(755 个唯一概念)。值得注意的是它没有映射 MedDRA——而 MedDRA 是监管药物警戒的通用术语,这意味着 PsyTAR 与药物监管体系对接时需要做二次映射。
Q9:这里的标注可靠吗?
4 名标注者(2 名药学学生 + 2 名健康科学背景者)双人标注,分歧由 PI 裁定。句子分类的整体 Cohen’s κ = 0.78(实质性一致),实体识别的 pairwise agreement = 0.86。分项看,SSI 一致性最高(κ=0.91),INF 最低(κ=0.65)——"无效"这种主观判断本来就难标。
Q10:为什么这么大的库要收一份 891 帖的小语料?
因为它在三件事上不可替代:标注层次最深(句子分类 + 实体识别 + 术语归一化三合一)、许可最开放(CC BY 4.0,无请求制、无研究限用)、工程可复用(cTAKES 挂词典即见 25 个百分点提升)。规模小反而使它成为教学与基准的干净样本。
§2 背景:患者自报不良反应与术语归一化
2.1 药物警戒的两条腿:监管报告 vs 患者叙述
药物警戒(pharmacovigilance)的传统主干是自发报告系统(spontaneous reporting system, SRS):医生、药师或企业向监管机构提交个例安全性报告,各国对应机构如美国 FDA 的 FAERS、日本 PMDA 的 JADER(本库 rid 1088 已有条目)。这套系统的优势是有法律强制力、术语受 MedDRA 规约、可支撑真实世界统计;劣势同样明显——报告率极低(文献估计仅覆盖实际不良事件的很小一部分)、报告者是专业方而非体验者(患者对情绪、认知、性功能等主观不良反应往往不愿或无从向医生完整描述)、迟到(从患者体验到进入报告库常需数年)。
患者自报(patient-generated)文本是第二条腿,但这条腿的支持数据长期稀缺。论坛评论的优势是贴近真实体验、覆盖主观症状、时效快;劣势是噪声大(口语、错别字、情绪化表达)、无统一术语(同一症状千人千面)、存在自选择偏差(愿意发帖者本身不代表整体人群)。PsyTAR 的设计目标,正是把这条"脏腿"整理成可被机器读的标准化资产。
表 2.1-1:患者论坛文本与传统监测渠道的属性对比(PsyTAR 语境)
| 维度 | 监管自发报告(SRS) | 患者论坛评论(本语料来源) |
|---|---|---|
| 报告主体 | 医生 / 药师 / 企业 | 患者本人 |
| 术语体系 | MedDRA(强制) | 口语自由表达 |
| 覆盖率 | 低(报告率受限) | 受论坛活跃度与自选择影响 |
| 主观症状捕获 | 弱(情绪/认知/功能问题) | 强(患者直接描述) |
| 时效 | 滞后 | 快(用药后自发吐槽) |
| 结构 | 结构化字段 | 非结构化自由文本 |
| PsyTAR 的价值 | —— | 把自由文本归一化到标准概念,向结构化靠拢 |
2.2 ADR、ADE、WD、SSI、DI:术语先厘清
PsyTAR 的标签体系里,几个缩写极易混淆,须先对齐:
- ADR(Adverse Drug Reaction,药物不良反应):患者明确将某个体征/症状归因于药物使用的表述。PsyTAR 的判定标准是"存在任何患者明确与服药相关联的体征/症状的显式报告"。
- ADE(Adverse Drug Event,药物不良事件):范围更宽,只要用药期间发生的不良医学事件即可,不要求因果归因。PsyTAR 论文标题用 ADE,但句子级标签用 ADR——前者是领域概念的统称,后者是标注规范的操作化定义。
- WD(Withdrawal Symptoms,戒断症状):停药或减量后出现的症状。这是患者论坛的高频话题,也是监管系统最容易漏记的一类。PsyTAR 中 WD 与 ADR 分列,避免把撤药反应误算作常规不良反应。
- SSI(Sign/Symptom/Illness,体征/症状/疾病):患者提及的医学问题,但未与药物建立显式关联。这是与 ADR 的关键分野——同样是"头痛",若患者说"吃了这药就头痛"则标 ADR,若只说"我一直有头痛"则标 SSI。
- DI(Drug Indication,药物适应症):患者提到的用药原因(如"我是因为抑郁才吃的")。
2.3 三层标注任务定义
PsyTAR 的三层结构对应三个可独立评测的 NLP 任务:
- 句子分类(sentence classification):输入一个句子,输出它是否承载 ADR/WD/SSI/DI/EF/INF 之一(多标签设定,Others 为兜底)。等价于多标签文本分类。
- 实体识别(entity identification):在承载上述标签的句子内,定位实体 mention 的边界(span),并附加限定词。等价于命名实体识别(NER)+ 属性抽取。
- 实体归一化(entity normalization):把每个 mention 映射到 UMLS 与 SNOMED CT 概念 ID。等价于实体链接(entity linking)/ 概念归一化。
这三个任务的难度递增:分类靠上下文关键词,NER 靠边界判断(口语表达边界模糊),归一化最难——因为患者表达与标准概念之间存在严重的语义变异(semantic variability)。论文的关键发现之一正是:心理性 ADE、认知性 ADE 与功能性问题(functional problems)的语义变异程度显著高于生理性 ADE 与药物适应症。
2.4 语义变异:为什么"brain shivers"映射不到任何概念
PsyTAR 最生动的一个统计:3180 个唯一 ADR 表达被映射到 673 个 UMLS 概念——平均每个标准概念对应约 4.7 种患者说法。而更有意思的是失败样本:128 个表达(在 7414 个 mention 中)无法映射到任何 UMLS 概念,其中"brain shivers(脑电击感)"被患者提及 88 次,却在整个 UMLS 词表中找不到对应概念。
这个案例是患者自报数据的教科书证据:标准医学术语体系本身存在盲区。抗抑郁药撤药时那种"像有电流穿过大脑"的体感,是患者群体高度共识的真实体验(88 次提及),却因为不够"临床"而未被正规术语收录。PsyTAR 把这个表达完整保留在语料里,使后续研究者可以显式处理"术语体系之外的症状"这一类问题,而不是被静默丢弃。
2.5 语料的价值定位
PsyTAR 的价值可以归到三条:
- 作为基准:为基于词典与机器学习的不良事件识别系统提供可比较的评测集,尤其是句子级分类与实体抽取两个任务。
- 作为词典资源:它的实体表可直接增强既有临床 NLP 系统——论文实测把 PsyTAR 词典挂到 cTAKES 上,F-score 从 0.24 提升到 0.49。
- 作为术语桥梁:它把患者口语表达与 UMLS/SNOMED CT 显式对齐,为个人健康记录(PHR)与电子健康记录(EHR)之间的信息交换提供映射样本。
§3 数据构成与规格
3.1 采集流程:四阶段流水线
PsyTAR 的构建被论文明确划分为四个阶段,每个阶段产出一个可独立检视的产物:
- 数据采集:研究者开发 Application Programming Interface(API)从 askapatient.com 抓取药物评论。样本量用定性研究的样本量公式计算确定——最终每种药的帖数分别为 Zoloft 213、Lexapro 219、Cymbalta 231、Effexor XR 228(合计 891)。
- 数据预处理:用正则表达式去除个人信息(邮箱、电话、网址)与其他噪声,并修正语法错误;再用开源工具 NLTK 把帖子切分为句子,将分析单位定为句子级。
- 标注(含三个组件):句子分类 → 实体识别 → 实体归一化。
- 语料评估:以"PsyTAR in use"的方式检验语料可用性(训练 ML 分类器、增强 cTAKES)。
表 3.1-1:四阶段流水线的输入输出与产物
| 阶段 | 输入 | 操作 | 输出产物 |
|---|---|---|---|
| 采集 | askapatient.com 页面 | API 抓取 + 样本量控制 | 891 篇原始评论帖 |
| 预处理 | 原始帖 | 去个人信息 + 语法修正 + NLTK 分句 | 6009 句(含帖级 ID 锚定) |
| 标注组件 1 | 句子 | 双人分类(7 标签) | 逐句类别标签 |
| 标注组件 2 | 承载标签的句子 | 双人标注实体边界 + 限定词 | 7414 个实体 mention |
| 标注组件 3 | 实体 mention | 映射到 UMLS / SNOMED CT | 918 + 755 个概念映射 |
| 评估 | 全语料 | 训练 ML 分类器 + 增强 cTAKES | SVM F 0.90;cTAKES F +25 个百分点 |
3.2 药物与样本构成
四种药覆盖两类抗抑郁药机制:
表 3.2-1:四种药物的类别、帖数与临床用途
| 药物(品牌名) | 通用名 | 类别 | 帖数 | 主要适应症 |
|---|---|---|---|---|
| Zoloft | 舍曲林 sertraline | SSRI | 213 | 抑郁、焦虑、强迫症、PTSD |
| Lexapro | 艾司西酞普兰 escitalopram | SSRI | 219 | 抑郁、广泛性焦虑 |
| Cymbalta | 度洛西汀 duloxetine | SNRI | 231 | 抑郁、神经病理性疼痛、纤维肌痛 |
| Effexor XR | 文拉法辛缓释 venlafaxine | SNRI | 228 | 抑郁、焦虑 |
SSRI 组(Zoloft + Lexapro)与 SNRI 组(Cymbalta + Effexor XR)在语料中呈现明显差异:SNRI 组报告了更多戒断症状(WD),这与文拉法辛类药物的短半衰期与撤药反应更显著的临床认知一致。JBI 口径下 SSRI 组 428 帖、2749 句、44237 词元,平均 6.42 句/帖;SNRI 组 459 帖、3255 句、53949 词元,平均 7.1 句/帖。
3.3 患者人群画像
- 平均年龄:37 岁(全样本)
- 平均用药时长:18 个月
- 性别分布:论文以 Fig. 2 呈现性别构成(女性占多数,与精神科用药评论者的常见构成一致)
- 满意度:每篇评论附患者对药物的满意度信息,可用于关联"不良反应类型 × 患者态度"分析
- 每帖附带信息:人口学信息、用药时长、药物满意度三项结构化字段
这三项字段使 PsyTAR 不只是"文本 + 标签",还带有一层轻量的患者背景元数据——研究者可以据此做分层分析,例如"报告了戒断症状的患者满意度是否更低"。
3.4 数据格式与文件组织
- 数据格式:Comma Separated Values(CSV)——论文规格表明确标注
- 分布形式:作为 JBI 论文的 Online Supplement #1 提供(Elsevier 论文附件),更新版在团队 Google Sites 项目页发布
- 帖级锚定:所有句子与实体 mention 通过 ID 回链到原帖,ID 形如
Zoloft.1、Effexor.29、Cymbalta.31——即"品牌名.序号"结构 - 无官方 Zenodo / PhysioNet / HuggingFace 镜像:与许多同代语料不同,PsyTAR 的分发入口是论文附件 + 项目页,而非通用数据仓库
3.5 标注者资质与一致性
- 标注者数量:4 名
- 背景:2 名为药学专业学生(pharmacy students),2 名具有健康科学背景(health sciences background)
- 标注方式:每份文档由两名标注者双人标注(double coded);句子分类与实体边界均双标
- 分歧裁定:标注者间的分歧由主要研究者(PI)之一解决
- 一致性的任务依赖:实体识别采用 pairwise agreement(成对一致性)而非 Cohen’s κ,原因是实体层面的机会一致性实际为零——这一点在解读其 86% 时应留意,它与 κ 不可直接跨类比较
表 3.5-1:标注一致性的双口径(不同组件、不同指标)
| 组件 | 指标 | 数值 | 备注 |
|---|---|---|---|
| 句子分类(整体) | Cohen’s κ | 0.78 | 实质性一致 |
| 实体识别(整体) | pairwise agreement | 0.86 | 严格匹配 |
| 实体识别:ADR | pairwise agreement | 0.86 | |
| 实体识别:WD | pairwise agreement | 0.81 | 最低 |
| 实体识别:SSI 与 DI | pairwise agreement | 0.91 | 最高 |
注意:二手文献常把这两个数字混用(有时写"整体 IAA 0.86"、有时写"κ 0.78"),引用时必须区分是哪个组件的哪个指标(见坑 4)。
3.6 深度溯源链
PsyTAR 的溯源链清晰且短:askapatient.com 原始评论 → API 抓取(891 帖)→ 去个人信息 + 语法修正 → NLTK 分句(6009 句)→ 双人标注七类句子标签 → 双人标注四类实体 span → 映射 UMLS / SNOMED CT。每一环都有论文记录,且句子与实体均保留帖级 ID,可回查原始帖。这一"短且可回链"的结构,是它比许多社交媒体语料更适合做可复现研究的原因。
§4 数据结构与标签分布
4.1 DAIMS 字段字典
DAIMS(Data Asset Information Model Standard)字段字典用于结构化描述数据资产的可用性与质量。PsyTAR 的核心字段可归纳如下:
表 4.1-1:PsyTAR 主要字段与取值说明
| 字段 | 取值/类型 | 说明 |
|---|---|---|
| post_id | 字符串(如 Zoloft.1) | 帖级唯一标识,品牌名 + 序号 |
| sentence_id | 字符串 | 句子级标识,回链 post_id |
| sentence_text | 文本 | 分句后的句子内容(已修正语法) |
| label_ADR | 二值 | 该句是否承载不良反应 |
| label_WD | 二值 | 该句是否承载戒断症状 |
| label_SSI | 二值 | 该句是否承载体征/症状/疾病 |
| label_DI | 二值 | 该句是否承载药物适应症 |
| label_EF | 二值 | 该句是否承载疗效 |
| label_INF | 二值 | 该句是否承载无效 |
| label_Others | 二值 | 以上皆不适用 |
| entity_text | 文本 | 实体 mention 原文(保留拼写与语法错误) |
| entity_type | 枚举 | ADR / WD / SSI / DI |
| qualifier_severity | 枚举 | mild / moderate / severe |
| qualifier_persistency | 枚举 | persistent / not-persistent |
| umls_cui | 字符串 | UMLS 概念唯一标识(CUI) |
| snomed_code | 字符串 | SNOMED CT 概念代码 |
| patient_age | 数值 | 患者年龄(帖级) |
| patient_gender | 枚举 | 患者性别 |
| treatment_duration | 数值 | 用药时长(月) |
| satisfaction | 枚举 | 患者对药物的满意度 |
4.2 标签分布(句子级)
表 4.2-1:全语料句子分类频次(Data in Brief 口径)
| 标签 | 全语料库 | SSRI 组 | SNRI 组 | 占比 |
|---|---|---|---|---|
| ADR(不良反应) | 2168 | 1059 | 1109 | ≈36% |
| Others(不适用) | 2107 | 912 | 1195 | ≈35% |
| EF(疗效) | 1087 | 579 | 508 | ≈18% |
| SSI(体征/症状/疾病) | 789 | 419 | 370 | ≈13% |
| DI(药物适应症) | 517 | 271 | 246 | ≈9% |
| WD(戒断症状) | 438 | 92 | 346 | ≈7% |
| INF(无效) | 337 | 157 | 180 | ≈6% |
(注:句子为多标签设定,各标签数之和大于句子总数 6009。)
分布里有两个值得注意的结构性事实:
- ADR 与 Others 各占约三分之一:说明论坛评论里大量内容与药物安全性无关(闲聊、提问、致谢),句子级过滤是必需的预处理步骤。
- WD 的组间极不对称:SNRI 组 346 句 vs SSRI 组 92 句,比值超过 3.7:1。这与临床认知相符(文拉法辛的撤药反应更被强调),也提示研究者在做"戒断症状"相关建模时必须做药物分层,否则会被 SNRI 组主导。
4.3 实体层面分布
表 4.3-1:四类实体的 mention 与唯一实体统计
| 实体类型 | mention 总数 | 唯一实体数 | 唯一占比 | SSRI | SNRI |
|---|---|---|---|---|---|
| ADR | 4813 | 3180 | 67% | 2247 | 2566 |
| SSI | 1219 | 462 | 38% | 642 | 577 |
| DI | 792 | 309 | 40% | 419 | 373 |
| WD | 590 | 468 | 79% | 102 | 458 |
| 合计 | 7414 | —— | —— | —— | —— |
重复率最高的是 SSI(62% 重复) 与 DI(60% 重复)——因为患者反复提及同一个疾病名称;重复率最低的是 WD(21% 重复)——戒断症状的表达高度个性化,几乎每人说法不同。这一"重复率差异"直接对应到归一化难度:WD 虽然 mention 最少,却是语义最分散的一类。
4.4 实体性质分布
PsyTAR 把实体进一步按性质分为四类:生理性、心理性、认知性、功能性。
表 4.4-1:各实体类型按性质分布(全语料)
| 类型 | 生理性 | 心理性 | 认知性 | 功能性 |
|---|---|---|---|---|
| ADR | 3975 | 2959 | 328 | 152 |
| WD | 361 | 171 | 26 | 32 |
| SSI | 133 | 1036 | 27 | 23 |
| DI | 79 | 680 | 20 | 13 |
全语料层面:生理性 53%、心理性 40%、认知性 5%、功能性 2%。这个分布解释了为什么 PsyTAR 在精神科药物场景不可替代——40% 的不良反应实体是心理性的(情绪、焦虑、情绪麻木等),这类症状在传统临床文本中几乎不会被结构化记录,却占据患者抱怨的极大比重。
4.5 限定词与归一化产物
- 严重程度限定词:severe(700)、moderate(68)、mild(128)
- 持续性限定词:persistent(267)、not-persistent(376)
- UMLS 映射:918 个唯一概念(摘要另写 916,见坑 3)
- SNOMED CT 映射:755 个唯一概念
- 映射失败:128 个表达无法映射(如 “brain shivers” 88 次提及无对应概念)
- 语义变异量化:3180 个唯一 ADR → 673 个 UMLS 概念,平均 4.7 种表达/概念
4.6 关键统计一页表
表 4.6-1:PsyTAR 硬数字速查
| 项目 | 数值 |
|---|---|
| 帖子数 | 891(JBI 口径 887 含文本) |
| 句子数 | 6009(JBI 口径 6004) |
| 词元数 | 98186 |
| 药物数 | 4(2 SSRI + 2 SNRI) |
| 句子标签类别数 | 7 |
| 实体 mention 总数 | 7414 |
| 唯一实体数 | ADR 3180 / WD 468 / SSI 462 / DI 309 |
| UMLS 唯一概念 | 918(摘要 916) |
| SNOMED CT 唯一概念 | 755 |
| 无法映射表达 | 128 |
| 平均年龄 | 37 岁 |
| 平均用药时长 | 18 个月 |
| 句子分类 κ | 0.78 |
| 实体识别 pairwise agreement | 0.86 |
| SVM 最优 F-score | 0.90 |
| cTAKES 增强增益 | +25 个百分点(0.24→0.49) |
§5 评测与基准
5.1 句子分类:四种监督分类器对比
论文用 PsyTAR 的句子分类组件训练了一组监督机器学习分类器,用于识别承载 ADR/WD/DI/SSI/EF/INF 的文本片段。
表 5.1-1:分类器平均 F-score 对比
| 分类器 | 平均 F-score |
|---|---|
| SVM(支持向量机) | 0.90(0.906) |
| Naïve Bayes | 0.88 |
| Random Forest | 0.87 |
| Logistic Regression | 0.86 |
SVM 表现最优,其整体指标为 precision 0.91、recall 0.912、F-score 0.906。按标签拆解:
表 5.1-2:SVM 分项 F1
| 标签 | SVM F1 |
|---|---|
| DI(药物适应症) | 0.964 |
| WD(戒断症状) | 0.936 |
| INF(无效) | 0.929 |
| EF(疗效) | 0.922 |
| ADR(不良反应) | 0.858 |
| SSI(体征/症状/疾病) | 0.830 |
有意思的对比是:DI 最容易识别(0.964),ADR 反而偏低(0.858)。原因不难理解——药物适应症有较固定的词汇模式(“我因为抑郁/焦虑开始吃这个”),而"不良反应"的边界恰恰最模糊:一句"我吃药后感觉很糟"算不算具名 ADR,需要判断是否存在具体体征/症状。SSI 最低(0.830)也印证了这一点:SSI 与 ADR 的分野(是否显式归因于药物)本身就是标注难点。
5.2 cTAKES 增强实验:本语料最有影响力的结果
Clinical Text Analysis and Knowledge Extraction System(cTAKES)是 Mayo Clinic 开源的临床文本处理系统,内置临床概念词典。论文测试了在不加入与加入 PsyTAR 词典两种配置下,cTAKES 识别患者 ADR/WD 表达的能力:
表 5.2-1:cTAKES 词典增强前后对比
| 配置 | Precision | Recall | F-score |
|---|---|---|---|
| cTAKES 原始(未增强) | 0.19 | 0.32 | 0.24 |
| cTAKES + PsyTAR 词典 | 0.48 | 0.50 | 0.49 |
| 增益 | +0.29 | +0.18 | +0.25(提升 25 个百分点) |
这是 PsyTAR 论文的核心实用论断:“Augmenting cTAKES dictionary with PsyTAR improved the F-score cTAKES by 25%”。原始 cTAKES 在患者论坛文本上表现糟糕(F 0.24),因为它面向的是临床文书语言,而非患者口语;把 PsyTAR 学到的患者表达词典挂上去后,F-score 翻倍不止。值得注意的是,即便约 73% 的 ADR/WD 表达在语料中是唯一的(只出现过一次),词典增强依然显著有效——说明增益并非来自高频词的机械匹配,而是来自覆盖了患者表达的整体分布。
训练/测试划分为 80% / 20%。
5.3 下游复用:ADE 分类鲁棒性评测
PsyTAR 发布后被多个后续研究复用。其中一个代表性例子是 arXiv:2407.2432 的"用模板评估不良事件分类模型鲁棒性"工作:研究者以 PsyTAR 作为自定义训练集,从四种药名及其拼写变体(含小写形式)出发抽取 ADE 实体,过滤短名词短语后得到 1227 个唯一 ADE(占 PsyTAR 唯一 ADE 实体的 36.50%)。
该研究用两类模型(BioRedditBERT 与 XLM-RoBERTa)做基线:正类(ADE)F1 分别为 0.698 与 0.700,no-ADE 类约 0.972——两者基线差异极小,说明任务本身在标准测试集上已趋饱和。真正的差异出现在模板化压力测试中:BioRedditBERT 在带 ADE 标签的否定(negation)用例上比 XLM-RoBERTa 多解决约 20%。这个下游复用案例说明 PsyTAR 的用途已从"训练分类器"扩展到"评测分类器鲁棒性"。
5.4 与 CADEC 的评测对照
CADEC(本库 rid 464)是 PsyTAR 最直接的对标语料,两者同样基于 askapatient.com,但任务设计与一致性水平差异明显:
表 5.4-1:PsyTAR vs CADEC 关键对照
| 维度 | PsyTAR | CADEC |
|---|---|---|
| 药物 | 4 种精神科药(SSRI/SNRI) | 12 种品牌药(Diclofenac / Lipitor 两组) |
| 帖子数 | 891 | 1,250 |
| 句子级标注 | 有(7 类) | 无(直接实体标注) |
| 实体类别 | ADR / WD / SSI / DI(4 类) | ADR / Drug / Disease / Symptom / Finding(5 类) |
| 疗效/无效标注 | 有(EF/INF) | 无 |
| 限定词(严重/持续) | 有 | 无 |
| 术语映射 | UMLS + SNOMED CT | SNOMED CT + AMT + MedDRA |
| 实体识别 IAA | 86%(严格匹配) | 60.2% |
| 数据许可 | CC BY 4.0 | CSIRO Data Licence(研究限用) |
PsyTAR 在实体一致性上明显领先(86% vs 60.2%),论文将其归因于"系统化方法显著提升了标注者间一致性"。而 CADEC 的优势在于药物覆盖更广、且有 MedDRA 映射(对监管对接更友好)。两者是"深度标注 + 开放许可"与"广度覆盖 + 监管术语"的互补组合。
§6 获取与许可:开放度是本条目的最大卖点
6.1 许可:CC BY 4.0(无请求制、无研究限用)
PsyTAR 的数据许可在论文中写得非常明确。Data in Brief 版本的致谢段落原话:
“The PsyTAR dataset is under the CC BY 4.0 Data license. This license allows user to use the data with appropriate attribution to its origin.”
两篇论文本身也都是开放获取、CC BY 授权(Data in Brief 页脚标明"This is an open access article under the CC BY license")。因此 PsyTAR 在许可上属最宽松的一档:
表 6.1-1:PsyTAR 相关资产的许可层级
| 资产 | 许可 | 可用性 |
|---|---|---|
| PsyTAR 数据集本体 | CC BY 4.0 | 直接可用,仅需署名 |
| Data in Brief 数据论文 | CC BY(开放获取) | 可直接下载 PDF |
| JBI 方法论论文 | CC BY(开放获取) | 可直接下载 PDF |
对比直接竞品:CADEC(rid 464)使用 CSIRO Data Licence,仅限研究用途;许多临床语料采用 DUA(数据使用协议)请求制。PsyTAR 的 CC BY 4.0 意味着它可以被商业项目、教学材料、数据集再分发直接使用——这是它在"小规模"劣势之外最重要的差异化优势(坑 5)。
署名要求:使用时须归属来源,标准引用应指向 Data in Brief 数据论文(doi:10.1016/j.dib.2019.103838)或 JBI 方法论论文(doi:10.1016/j.jbi.2018.12.005),并保留 CC BY 4.0 声明。
6.2 两个获取入口
入口 1:JBI 论文 Online Supplement #1。Data in Brief 明确写道"The PsyTAR dataset can be accessed via Online Supplement #1",即作为 Zolnoori 等 2019 JBI 论文的补充材料提供。这是首发版本,需经 Elsevier / ScienceDirect 的论文附件下载机制获取。
入口 2:团队 Google Sites 项目页。论文写明"The updated versions of the dataset would also be accessible in https://sites.google.com/view/pharmacovigilanceinpsychiatry/home"——即一个有持续更新承诺的项目页。这是获取最新版本的推荐入口。
表 6.2-1:两个获取入口对照
| 入口 | 内容 | 版本属性 | 访问方式 |
|---|---|---|---|
| JBI Online Supplement #1 | 首发数据集 | 2019 固定版 | ScienceDirect 论文附件 |
| Google Sites 项目页 | 更新版数据集 | 持续更新 | 直接访问项目页 |
6.3 为什么没有 Zenodo / HuggingFace 镜像
核验过程中未发现 PsyTAR 在 Zenodo、PhysioNet、HuggingFace、Kaggle 等通用数据仓库的官方镜像。这符合 2019 年前后医学 NLP 语料的分发惯例——彼时论文附件(supplementary material)仍是主流渠道,且团队用自建项目页承担版本更新职责。对使用者的现实影响是:自动化下载(如 load_dataset、wget 直链)不可行,需要手动从论文附件或项目页获取 CSV。
坑点在于:部分二手资料会声称 PsyTAR “可在 GitHub / HuggingFace 获取”,这些多为第三方搬运(未经官方维护),版本一致性与许可完整性无保障。应以论文指明的两个官方入口为准(坑 6)。
6.4 使用前须核对的三件事
- 版本:确认拿到的是首发版还是项目页更新版(更新版可能有追加标注或修正)。
- 口径:若做跨论文数字比对,先确认引用的是 Data in Brief(6009 句 / 891 帖 / 916 UMLS)还是 JBI(6004 句 / 887 帖 / 918 UMLS)口径。
- 许可声明:再分发或商业使用时,须附 CC BY 4.0 声明与来源署名。
§7 生态与影响
7.1 在患者自报药物警戒语料谱系中的位置
社交媒体药物警戒(social media pharmacovigilance)在 2014 年后逐渐形成语料谱系,PsyTAR 处于其中"高标注深度、明确术语映射"的一端:
表 7.1-1:患者自报药物相关语料谱系对照
| 语料 | 年份 | 来源 | 规模 | 标注重点 | 术语映射 |
|---|---|---|---|---|---|
| CADEC | 2015 | askapatient | 1,250 帖 | 5 类实体内联标注 | SNOMED CT / AMT / MedDRA |
| TwiMed | 2017 | Twitter + PubMed | 1000 推 + 1000 句 | 实体 + 5003 属性 | 无 |
| PsyTAR | 2019 | askapatient | 891 帖 / 6009 句 | 句子分类 + 实体 + 限定词 | UMLS + SNOMED CT |
| RuDReC | 2021 | 俄语用户评论 | 用户评论文本 | 不良反应与疗效检测 | 部分 |
PsyTAR 的独特性在于三层标注叠加:它不像 CADEC 只做实体标注,而是先做句子级筛选、再做实体抽取、最后做术语归一化。这一设计使同一份语料能支撑三个独立任务的评测,也让它在 RuDReC 等后续工作里被作为"对比基线"反复引用(RuDReC 论文明确写道 PsyTAR 的 pairwise agreement 0.86,WD 类最低 0.81、DI 最高 0.91)。
7.2 与 CADEC 的生态互补
CADEC 与 PsyTAR 的关系是"同源不同支":两者都从 askapatient.com 取数,但 CADEC 是 CSIRO 团队 2015 年发布、覆盖 Diclofenac/Lipitor 12 种品牌药、以 brat 工具做 5 类实体标注并映射 SNOMED CT/AMT/MedDRA;PsyTAR 是 2019 年发布、覆盖 4 种精神科药物、做三层标注并映射 UMLS/SNOMED CT。两者的差异构成了一个天然的方法学对照实验:同为患者论坛文本,不同的标注协议与术语体系如何影响一致性水平与可复用性。
下游研究者常同时使用两者做跨语料泛化测试——这正是 PsyTAR 被 arXiv:2407.2432 这类鲁棒性工作和 RuDReC 这类新语料构建工作引用的原因。
7.3 对临床 NLP 工程的实际影响
PsyTAR 最被低估的贡献是它的词典可用性。cTAKES 增强实验证明:从 891 篇帖子学到的患者表达词典,能让一个成熟的临床文本系统在患者论坛文本上的 F-score 提升 25 个百分点。这对工程实践的直接启示是——患者自报语料的价值不限于训练端到端模型,它还能作为词典资源注入既有规则系统。对于希望快速提升论坛文本处理能力的团队,PsyTAR 提供了一条"低成本高回报"的路径。
7.4 局限与后续演进
PsyTAR 的局限同样清晰:规模小(891 帖)、药物窄(4 种)、语言单一(英文)、论坛单一(askapatient)、无 MedDRA 映射。这些局限在 2020 年后的语料工作里被逐步补足:RuDReC 把语言扩展到俄语,后续工作把来源扩展到 Reddit 与 Twitter,部分工作补上了 MedDRA 映射。但在"高标注深度 + CC BY 开放许可 + 明确 UMLS/SNOMED CT 映射"这一组合上,PsyTAR 至今仍是一个干净的参照点。
§8 方法学启示:四条可迁移的经验
8.1 系统化标注协议能显著提升 IAA
PsyTAR 论文的核心方法学论断之一是"following a systematic approach can significantly improve inter-annotator agreement"。它的做法是把标注拆成有明确规则的阶段:先定义句子分类指南(含每类的定义与示例,如 Table 1),再定义实体识别规则(如 Table 2 关于 SSI 与 DI 的区分规则),再定义术语映射要求(如 Table 4 关于如何选择"正确/首选"UMLS 与 SNOMED CT 概念)。每阶段都有书面规则 + 示例 + 分歧记录(Table 3 收录了标注者分歧的实例)。
可迁移的经验:标注指南不应只写"类是什么",还要写"类之间的边界怎么判",并把实际分歧案例沉淀回指南。PsyTAR 实体识别达到 86%、句子分类 κ 达 0.78,在患者口语这类高噪声文本上属于相当高的水平。
8.2 任务粒度决定标注可行性
PsyTAR 把分析单位定在句子级而非帖子级,这一步设计影响深远:
- 帖子级标注无法区分"整篇在夸药"与"整篇在骂副作用",噪声极大;
- 句子级标注把判断对象缩小到可承载单一语义单元的范围,大幅降低标注复杂度;
- 句子级还使语料可以直接用于训练句子分类器(这也是 SVM 能达 F 0.90 的前提)。
对照 TwiMed 的经验(推文标注一致性低于 PubMed 句子,因推文噪声更大),PsyTAR 的选择是把"文本形态的噪声"通过分句切分与语法修正先行缓解,再在相对干净的单位上标注。
8.3 归一化失败样本是宝贵资产
128 个无法映射到 UMLS 的表达、以及"brain shivers 被 88 次提及却无概念对应"这一事实,看似是语料的"缺陷",实则是它最有价值的部分之一。它明确地向术语标准制定者与下游系统开发者暴露了标准术语体系的覆盖盲区。可迁移的经验是:不要静默丢弃无法归一化的样本,而应显式记录并统计它们——因为这些样本往往指向真实的、未被现有体系承认的患者体验。
8.4 词典增强优于全量替换
cTAKES 实验给出的工程启示是渐进的:不必推倒既有临床 NLP 系统重训端到端模型,只要把领域语料的词典注入,就能在目标域获得显著增益(0.24→0.49)。这一"小语料 → 词典 → 增强既有系统"的路径,在数据标注成本高昂的医疗场景里,性价比往往高于"大语料 → 端到端重训"。PsyTAR 用一份 891 帖的小语料证明了这一点。
§9 与库内条目的关系与建议互链点
9.1 家族图谱
- CADEC(rid 464):最直接对照条目。两者同源 askapatient.com,同处患者自报药物不良事件抽取赛道。关键差异需在检索时辨明——CADEC 覆盖 Diclofenac/Lipitor 12 种品牌药、CSIRO 数据许可(研究限用)、brat 五类实体标注、映射 SNOMED CT/AMT/MedDRA;PsyTAR 覆盖 4 种精神科药物、CC BY 4.0 开放许可、三层标注、映射 UMLS/SNOMED CT。实体 IAA 上 PsyTAR(86%)显著高于 CADEC(60.2%)。两篇同读可拼出"askapatient 语料"的完整图景。
- Drug Reviews (UCI)(rid 485):同为患者药品评论文本,规模达 21.5 万条,但无标注。PsyTAR 与其构成"小样本高标注密度"vs"大样本无标注"的互补关系,可作为弱监督/远程监督实验的两端。
- MedDRA(rid 579):监管活动医学词典,是药物警戒术语的事实标准。PsyTAR 未映射 MedDRA(仅 UMLS + SNOMED CT),因此两篇对照可凸显"患者侧语料与监管术语体系之间的鸿沟"。
- UMLS(rid 558)/ SNOMED CT(rid 557):PsyTAR 归一化标注的目标术语库本体条目。PsyTAR 的 918 + 755 个概念映射,是这两个术语库在真实患者语料上覆盖能力的实证样本。
- DrugProt(rid 827):生物医学化学品-蛋白相互作用抽取黄金语料,与 PsyTAR 同属生物医学信息抽取基准,但任务对象(文献 vs 患者评论)与关系类型完全不同,可作"抽取任务纵览"的对照。
- JADER(rid 1088):日本 PMDA 自发药物警戒报告数据库,代表监管侧的不良事件报告;PsyTAR 代表患者侧的自报文本。两者并读可完整呈现药物警戒"官方报告 + 患者叙述"双通道。
- ChemDner(rid 450)/ PharmaCoNER(rid 504):生物医学命名实体识别基准,与 PsyTAR 的实体识别组件同属 NER 任务,可用于跨域泛化讨论。
- DrugBank(rid 89/571)/ DrugCentral(rid 344):药物知识库,为 PsyTAR 中四种药物的结构化药理信息提供补充来源。
表 9.1-1:建议互链点汇总
| 库内条目 | rid | 关系类型 | 互链理由 |
|---|---|---|---|
| CADEC | 464 | 同源对照 | 同 askapatient 源,ADE 抽取赛道直接对标 |
| Drug Reviews (UCI) | 485 | 互补规模 | 同域文本,无标注大样本 |
| MedDRA | 579 | 术语对照 | 监管术语 vs 患者语料,凸显映射鸿沟 |
| UMLS | 558 | 归一化目标 | PsyTAR 映射目标术语库本体 |
| SNOMED CT | 557 | 归一化目标 | PsyTAR 映射目标术语库本体 |
| DrugProt | 827 | 任务同类 | 生物医学信息抽取黄金语料 |
| JADER | 1088 | 渠道互补 | 监管侧 ADR 报告 vs 患者侧自报 |
| ChemDner | 450 | NER 同类 | 生物医学 NER 基准 |
| PharmaCoNER | 504 | NER 同类 | 药物/化学实体 NER 基准 |
| DrugBank | 89/571 | 药物知识 | 四种药物药理信息补充 |
9.2 检索路径建议
- 检索词组合:
"PsyTAR"+"adverse drug"或"psychiatric"+"corpus";精确短语加引号,避免与 PyTAR/PyTAR 等其他缩写混淆。 - 若寻找同源对照:直接检索
CADEC(rid 464),注意区分两者药物覆盖与许可差异。 - 若需要监管术语对接:PsyTAR + MedDRA(rid 579)并查,但须注意 PsyTAR 本身无 MedDRA 映射,需自行二次映射。
- 若目标是"患者自报 + 开放许可"的可商用数据:PsyTAR 的 CC BY 4.0 优于 CADEC 的研究限用许可。
9.3 消歧说明(正文收录,不写入 frontmatter relatedLink)
本库 FGADR(rid 221) 名称与"药物相关"字段易被误认为与药物安全相关,但其实际内容是"细粒度糖网分割与分级基准"(糖尿病视网膜病变影像),与 PsyTAR 的药物警戒主题无关,不应互链。真正的药物安全关联条目应为 CADEC(464)、MedDRA(579)、JADER(1088)、DrugCentral(344)。此处显式声明以避免自动化互链算法按字段名误配对。
§10 避坑清单:八个已踩过的坑
坑 1:数据源不是 Reddit。多个二手网页与综述把 PsyTAR 描述为"Reddit 语料"或"社交媒体帖子集合",但其实际数据源是 askapatient.com——一个专门的处方药评价论坛。多篇一手/近一手来源(Data in Brief、JBI 论文、RuDReC 论文、arXiv:2407.2432)一致确认 askapatient 来源。检索"PsyTAR Reddit"会引入错误的前置认知,且可能导致误与其他 Reddit 药物语料(如后续的 Reddit ADE 数据集)混淆。
坑 2:句子总数双口径(6009 vs 6004)。Data in Brief(数据论文)摘要与正文都写 6009 句;JBI(方法论论文)与 PMC 记录写 6004 句,同时给出 98186 个词元。差 5 句,来自两篇论文的统计口径差异。本条目正文以 6009 为主口径,但引用时须注明出处论文,避免同一篇稿子里两个数字打架。
坑 3:UMLS 概念数文内不一致(916 vs 918)。Data in Brief 摘要写 “UMLS Metathesaurus concepts (916)”,但同一篇论文的正文写 “918 unique UMLS concepts”;JBI 摘要也写 918。同一篇文章内就不一致。本条目按 918 采用并注明摘要口径 916——这是 PsyTAR 最容易被抓到的数字瑕疵。
坑 4:IAA 的两个数字属于不同组件、不同指标。句子分类用 Cohen’s κ = 0.78(整体),实体识别用 pairwise agreement = 0.86(严格匹配)。两者不是同一件事,但二手资料常把它们混写成"整体 IAA 0.86"或"κ 0.86"。另需注意:PsyTAR 实体层面之所以不用 κ,是因为实体级机会一致性实际为零,pairwise agreement 与 κ 不可直接跨类比较。
坑 5:许可虽宽松但仍有署名义务。CC BY 4.0 允许商业使用与再分发,但这不是 CC0/公有领域——必须署名来源(建议同时引用 Data in Brief 论文与 JBI 论文),且不得暗示原作者为你的衍生作品背书。很多团队看到"open"就完全不写署名,这在 CC BY 下属违规。
坑 6:无官方仓库直链,警惕第三方搬运。PsyTAR 官方只有两个入口(JBI Online Supplement #1 与 Google Sites 项目页),没有官方 Zenodo/PhysioNet/HuggingFace/Kaggle 镜像。任何声称从 GitHub/HuggingFace 下载的 PsyTAR 多为第三方搬运,版本一致性与许可完整性无保障。
坑 7:不能当不良反应发生率使用。PsyTAR 是语料(corpus),不是流行病学样本。患者自选择发帖、只覆盖四种药、论坛用户不代表整体人群——把它当作"SSRI 不良反应发生率 36%"之类的统计来源是范畴错误(36% 是句子占比,不是患者发生率,更不是人群发生率)。
坑 8:Data in Brief 规格表原文笔误。Data in Brief 的"Experimental factors"字段把四种药写成 “Zoloft, Cymbalta, Effexor XR, and Cymbalta”——Cymbalta 重复、Lexapro 漏写。这是原文笔误,同一篇论文的摘要与正文均正确列出 Zoloft、Lexapro、Cymbalta、Effexor XR 四药。转引时按四药事实写,不要复制规格表的错误清单。
§11 总结与速查
11.1 三句话总结
- PsyTAR 是 891 篇 askapatient 患者评论 / 6009 句 / 7414 个实体 mention 的精神科药物不良反应标注语料,三层标注(句子分类 + 实体识别 + UMLS/SNOMED CT 归一化),CC BY 4.0 开放。
- 它对社区最有影响力的结果是:把 PsyTAR 词典挂到 cTAKES 上,识别 ADR/WD 的 F-score 从 0.24 提升到 0.49(+25 个百分点);以及 SVM 句子分类达 F 0.90。
- 它的小规模(891 帖)是短板,但"高标注深度 + 开放许可 + 明确术语映射"的组合使其在患者自报药物警戒语料谱系中不可替代。
11.2 适合谁
- 药物警戒 / 药物安全数据科学团队:需要一份可商用、可再分发的患者自报 ADR 标注语料(CC BY 4.0)。
- 临床 NLP 与 NER 研究者:需要句子级 + 实体级 + 归一化三任务叠加的评测集。
- 术语标准化研究者:需要"患者口语 → UMLS/SNOMED CT"映射的失败样本(128 个无法映射表达)来研究术语盲区。
- 做论坛文本处理的工程团队:需要一份现成的患者表达词典来增强既有规则系统(cTAKES 实验路径)。
- 数据集方法学研究者:需要"系统化标注协议如何提升 IAA"的实证案例。
11.3 不适合谁
- 需要大规模训练数据的端到端模型团队:891 帖 / 6009 句的规模不足以从头训练大模型。
- 需要跨药物或跨语言泛化的团队:仅覆盖 4 种英文精神科药物。
- 需要监管术语直接对接的团队:语料未映射 MedDRA,需自行二次映射。
- 需要流行病学统计的人群研究:自选择偏差 + 单论坛,不能作发生率推断。
11.4 30 秒决策卡
| 你的情况 | 行动 |
|---|---|
| 要一份可商用 ADR 标注语料 | 走 Google Sites 项目页取 CSV(CC BY 4.0),记得署名 |
| 要训练 ADR 分类器 | 用句子分类组件(7 标签);对标 SVM F 0.90 |
| 要增强既有临床 NLP 系统 | 抽取实体表做词典,注入系统(cTAKES +25 个百分点路径) |
| 要做 NER + 归一化 | 用实体识别 + UMLS/SNOMED CT 映射层,注意 128 个映射失败样本 |
| 要对照 CADEC 做泛化测试 | 并读 rid 464,注意两语料药物覆盖与许可差异 |
| 要引用本数据集 | 引 Data in Brief 2019;24:103838(+JBI 2019;90:103091);数字注明口径 |
11.5 一页速查卡
身份:Psychiatric Treatment Adverse Reactions 语料;UWM + US NLM/Lister Hill;通讯 Maryam Zolnoori。
规模:891 帖(JBI 口径 887)/ 6009 句(JBI 6004)/ 7414 mention / 98186 词元。
四药:Zoloft、Lexapro(SSRI);Cymbalta、Effexor XR(SNRI)。
七标签:ADR 2168 / WD 438 / SSI 789 / DI 517 / EF 1087 / INF 337 / Others 2107。
四实体:ADR 4813 / WD 590 / SSI 1219 / DI 792。
归一化:UMLS 918 概念(摘要 916)+ SNOMED CT 755 概念;128 个无法映射。
一致性:句子分类 κ 0.78;实体识别 pairwise 0.86(WD 0.81 / DI·SSI 0.91)。
评测:SVM F 0.90;cTAKES 0.24→0.49(+25 个百分点)。
许可/获取:CC BY 4.0;JBI Online Supplement #1 + Google Sites 项目页。
核心坑:非 Reddit(askapatient);双口径 6009/6004;UMLS 916/918;IAA 两指标勿混。
§12 附录:下游实操清单与常见误解澄清
12.1 按角色阅读路径
- 数据科学家(想快速上手):§1 Q6-Q10 → §6 获取 → §12.3 处理清单 → 附录骨架。
- NLP 研究者(想做基准):§3 标注体系 → §4 标签分布 → §5 评测 → §9 互链(对照 CADEC)。
- 药物警戒从业者:§2 背景 → §4.4 实体性质分布 → §7 生态 → 注意未映射 MedDRA(坑)。
- 术语工程师:§2.4 语义变异 → §4.5 归一化产物 → §11.5 速查卡。
12.2 常见误解澄清
- 误解 1:“PsyTAR 是 Reddit 数据。” → 实为 askapatient.com(坑 1)。
- 误解 2:“PsyTAR 能告诉我 SSRI 的不良反应发生率。” → 不能,它是语料不是流行病学样本(坑 7)。
- 误解 3:“PsyTAR 和 CADEC 是同一份数据的两个版本。” → 不是,两者独立团队、独立标注、仅共享 askapatient 数据源。
- 误解 4:“PsyTAR 映射了 MedDRA。” → 没有,仅 UMLS + SNOMED CT。
- 误解 5:“PsyTAR 的 IAA 是 0.86。” → 0.86 是实体识别的 pairwise agreement;句子分类 κ 是 0.78(坑 4)。
- 误解 6:“PsyTAR 是 918 或 916 个概念。” → 正文 918、摘要 916,同一篇论文内不一致(坑 3)。
12.3 下游实操清单
- 取数:从 Google Sites 项目页或 JBI Online Supplement #1 获取 CSV;记录版本。
- 验数:核对帖子数(891/887)、句子数(6009/6004)、实体 mention 数(7414)三个锚点,确认拿到的是完整版。
- 定口径:在稿子里明确声明采用哪篇论文的数字口径。
- 划分:沿用论文的 80/20 划分,或按药物/帖级做避免同帖泄漏的划分(句子同帖高度相关,随机句子划分会造成信息泄漏)。
- 建模:句子分类可先复现 SVM 基线(F 0.90),再上预训练模型对比。
- 归一化:把 918 UMLS + 755 SNOMED CT 映射作为实体链接监督信号;把 128 个失败表达单独建"OOV 症状"桶。
- 词典路径:抽取实体表构建患者表达词典,注入既有系统做增强。
- 署名:任何产出附 CC BY 4.0 声明与来源引用。
12.4 划分注意事项(避免同帖泄漏)
PsyTAR 的句子来自同一批帖子,同一帖子内的句子在语义与用词上高度相关。若按句子随机划分训练/测试集,同一帖子的句子会同时出现在两侧,造成信息泄漏,虚高评测分数。正确做法是按帖级划分(同一帖的所有句子只进一侧),论文的 80/20 划分即按此原则。这是使用任何"帖拆句"语料时的通用陷阱,必须显式处理。
12.5 与 PANDA-PLUS 式"请求制 vs 开放"的对照
本库另一份高质量语料 PANDA-PLUS 采用"本体请求制 + 衍生基准开放"的双轨结构;PsyTAR 则走"数据本体直接 CC BY 4.0 开放"的单轨路径。两种策略各有代价:
- 开放单轨(PsyTAR):流通性强、可商用、易被引用,但团队失去对使用场景的可见性,也无法用访问门槛换取合作。
- 请求制双轨(PANDA-PLUS):可筛选使用动机、便于合作与追踪,但流通性受限、AI-Ready 分被拉低。
- 折中路线:本体开放 + 更新版项目页维护(PsyTAR 实际做法),兼顾开放与版本可控。
对于数据资产建设者,PsyTAR 的启示是:在 2019 年选择论文附件 + 项目页分发并直接给 CC BY 4.0,是一个超前于时代的选择——它使这份小语料在七年后仍能被无障碍复用。
§13 语料构建的社会与伦理维度
13.1 患者隐私处理
PsyTAR 采集自公开论坛,但研究团队仍做了去个人信息处理:用正则表达式剔除邮箱、电话、网址等可识别信息,并对评论做语法修正。这符合"公开可得文本 ≠ 无需脱敏"的伦理共识——论坛帖子虽公开,但患者并未在知情同意下同意其健康信息被用于研究。PsyTAR 的处置是移除直接标识符,同时保留临床相关内容。
表 13.1-1:PsyTAR 隐私与伦理处置
| 维度 | 处置方式 | 说明 |
|---|---|---|
| 直接标识符 | 正则移除 | 邮箱、电话、网址 |
| 文本语法 | 修正错误 | 提升可读性与标注一致性 |
| 知情同意 | 无个体同意(公开论坛) | 依赖去标识化 + 论坛公开属性 |
| 分发许可 | CC BY 4.0 | 公开可再分发 |
| 用途限制 | 无硬性技术限制 | 依赖使用者自律与伦理审查 |
13.2 使用伦理提醒
即便语料是 CC BY 4.0 开放,涉及患者健康叙述的研究仍应遵守学科伦理规范:
- 不做个体再识别尝试:不应结合外部数据尝试定位具体发帖患者。
- 不做个体化医疗建议:语料中的患者体验不能用于指导个体治疗决策。
- 报告时避免污名化:精神科药物使用者的叙述应被作为数据对待,避免强化对精神疾病患者的刻板印象。
- 区分"患者报告"与"医学事实":患者的主观体验是真实的数据点,但不等于经证实的因果不良反应。
13.3 语料的社会价值
PsyTAR 的存在本身具有患者倡导意义:它把患者抱怨的"说不清的症状"——包括那些连 UMLS 都未收录的体验(brain shivers)——正式纳入可被机器处理的知识体系。这在药物警戒长期以专业报告者为中心的格局下,是一次把患者声音结构化的尝试。
§14 深度案例解剖:一次完整的 ADR 抽取工作流
14.1 案例背景
假设一位研究者的目标是:从一批新的抗抑郁药论坛评论中自动识别患者报告的不良反应。以下示范如何用 PsyTAR 作为训练与词典资源。
14.2 分步工作流
- 准备训练集:加载 PsyTAR 的句子分类与实体标注数据。合并句子级标签与实体 span,构造 (句子文本, 标签) 与 (句子文本, 实体列表) 两类训练样本。
- 按帖级划分:确保同一帖的句子只进训练集或只进测试集,避免同帖泄漏(§12.4)。
- 训练句子分类器:复现 SVM 基线(F 0.90),或换用预训练语言模型(如 BioRedditBERT)做对比——注意 arXiv:2407.2432 报告的正类 F1 约 0.70,说明换域或换标签设定会显著改变分数,不能直接跨论文比较 0.90 与 0.70。
- 训练实体抽取器:用 7414 个 mention 训练序列标注模型;对 ADR(4813 个)样本最充足,对 WD(590 个)样本最稀缺,须注意类别不平衡。
- 构建归一化映射:用 918 UMLS + 755 SNOMED CT 映射做实体链接的监督信号;对被映射到同一概念的多达 4.7 种表达,做同义归并训练。
- 处理 OOV 症状:把 128 个无法映射的表达单独建桶,设计"识别但不链接"的降级策略,而不是丢弃。
- 词典增强:把学到的实体表注入既有规则系统或术语匹配模块,参照 cTAKES 的增强路径,验证增益。
- 报告口径:在论文里明确声明使用的 PsyTAR 版本、帖子/句子口径(891/887、6009/6004)、UMLS 概念口径(916/918)。
14.3 常见失败模式
表 14.3-1:ADR 抽取工作流的失败模式与对策
| 失败模式 | 症状 | 对策 |
|---|---|---|
| 同帖泄漏 | 测试 F 虚高 | 按帖级划分(非句子级) |
| 药物混淆 | 戒断症状被误当作一般 ADR | 按 SSRI/SNRI 分层建模 |
| 类别不平衡 | WD 类召回极低 | 重采样或类别加权 |
| OOV 丢弃 | 罕见症状识别不到 | 建 OOV 桶 + 降级策略 |
| 口径混用 | 数字对不上论文 | 显式声明数字出处 |
| 过度泛化 | 论坛结论当发生率 | 坚守"语料 ≠ 流行病学样本"边界 |
§15 与后续技术与标准演进的衔接
15.1 从 SVM 到预训练模型
PsyTAR 发表于 2019 年,其时主流是 SVM/NB/RF/LR 这类特征工程模型,故论文报告的 F 0.90 是 SVM 结果。2020 年后,BioBERT、BioRedditBERT、XLM-RoBERTa 等预训练模型成为患者文本处理的主流。这意味着:
- 复现基线容易:SVM 路径清晰可复现。
- 跨论文比较困难:0.90(SVM,句子分类)与 0.70(预训练模型,ADE 二分类,换域训练)不可直接并列,须严格核对任务定义、标签空间、划分方式。
15.2 与 Croissant / AI-Ready 元数据的对接
PsyTAR 作为 2019 年的语料,最初没有机器可读的数据集元数据描述。将其纳入 AI-Ready 体系(如 MLCommons Croissant 规范)时,需要人工补齐字段:数据源、标签空间、划分、许可、术语映射表等。本条目 §4.1 的 DAIMS 字段字典即是这一补齐工作的结果——它把散落在论文与附件中的字段信息结构化,便于下游工具自动读取。
15.3 术语映射的持续挑战
PsyTAR 映射的 UMLS 与 SNOMED CT 都在持续更新版本,概念 ID 可能随版本变化。使用 PsyTAR 时须注意:
- 记录映射所依据的术语库版本(论文未明确版本号,属遗留疑点)。
- 跨版本使用前,先核对 CUI / SNOMED code 是否仍有效。
- 对 128 个无法映射的表达,若新版本术语库已收录,则应更新映射状态。
15.4 患者自报语料的未来方向
从 PsyTAR 往后看,患者自报药物警戒语料的发展趋势包括:多语言扩展(如 RuDReC 的俄语)、多平台扩展(Reddit、Twitter、垂直健康社区)、大规模化(弱监督 + 远程监督)、以及与监管术语(MedDRA)的显式对接。PsyTAR 在这些方向上都留了空间,也正因如此,它作为"小而深"的参照点仍有长期价值。
§16 FAQ(高频问答 32 问)
A. 基础认知
Q1:PsyTAR 是什么类型的资产?
是一份标注语料(annotated corpus)——即"文本 + 人工标注标签"的数据集,不是原始论坛快照、不是模型权重、也不是监管数据库。它的三层标注(句子分类 / 实体识别 / 术语归一化)使它同时可作为三个 NLP 任务的基准。
Q2:PsyTAR 这个名字怎么读、怎么解?
PsyTAR = Psychiatric Treatment Adverse Reactions,即"精神科治疗不良反应"。读作"赛-tar"或逐字母 P-S-Y-T-A-R 均可。
Q3:它和 Reddit 有关系吗?
没有。数据源是 askapatient.com——一个专门的处方药患者评价论坛。这是本条目最重要的纠错点(坑 1),多个二手来源误写为 Reddit。
Q4:谁做的?
University of Wisconsin-Milwaukee(威斯康星大学密尔沃基分校)联合 US National Library of Medicine(美国国家医学图书馆)下属 Lister Hill 国家生物医学通信中心。通讯作者 Maryam Zolnoori。
Q5:哪年发布的?
2019 年。两篇论文:Data in Brief 2019;24:103838(数据集描述)与 J Biomed Inform 2019;90:103091(方法论)。DOI 后缀分别带 2019 与 2018,前者按卷期年份写法为准。
Q6:为什么会有两篇论文?
Data in Brief 是"数据论文",专讲数据集的构成、规模、格式与可用性,篇幅短、重描述;J Biomed Inform 是"方法论论文",专讲标注方法论、IAA 提升、机器学习评测与 cTAKES 增强实验。两篇互相引用,构成"数据 + 方法"的标准双论文结构。
B. 数据构成
Q7:一共多少帖子?
Data in Brief 口径 891 篇;JBI 口径 887 篇含文本(428 篇 SSRI + 459 篇 SNRI)。本条目以 891 为主口径。
Q8:一共多少句子?
Data in Brief 写 6009 句;JBI 写 6004 句,另计 98186 个词元。差 5 句(坑 2)。
Q9:有哪几种药?
四种:Zoloft(舍曲林,SSRI,213 帖)、Lexapro(艾司西酞普兰,SSRI,219 帖)、Cymbalta(度洛西汀,SNRI,231 帖)、Effexor XR(文拉法辛缓释,SNRI,228 帖)。
Q10:为什么是这四种药?
因为它们覆盖抗抑郁药的两大机制(SSRI 与 SNRI),便于对照不同机制药物的不良反应谱;同时这四种在 askapatient.com 上的评论量足够支撑样本量要求。
Q11:患者平均年龄和用药时长?
平均年龄 37 岁,平均用药时长 18 个月。
Q12:语料里包含哪些患者背景信息?
每篇帖子附带人口学信息、用药时长、药物满意度三项结构化字段,可支撑分层分析。
Q13:数据是什么格式?
CSV(Comma Separated Values),论文规格表明确标注。
C. 标注体系
Q14:句子被分成哪几类?
七类:ADR(不良反应)、WD(戒断症状)、SSI(体征/症状/疾病)、DI(药物适应症)、EF(疗效)、INF(无效)、Others(不适用)。
Q15:各类句子分别多少?
ADR 2168 / Others 2107 / EF 1087 / SSI 789 / DI 517 / WD 438 / INF 337。注意这是多标签设定,各数之和大于句子总数。
Q16:实体有几种?分别多少个 mention?
四种:ADR 4813、SSI 1219、DI 792、WD 590,合计 7414 个 mention。
Q17:什么是 SSI,它和 ADR 有什么区别?
SSI(体征/症状/疾病)指患者提到的医学问题,但未与药物建立显式关联;ADR 则要求患者明确把症状归因于药物。一句话:"吃药后头痛"是 ADR,"我一直头痛"是 SSI。
Q18:什么是 WD,为什么单列?
WD(戒断症状)指停药或减量后出现的症状。单列是因为它是患者论坛高频话题、也是监管系统最易漏记的一类,与常规不良反应性质不同。
Q19:实体上还标注了什么?
严重程度限定词(mild / moderate / severe)与持续性限定词(persistent / not-persistent)。分布:severe 700、persistent 267、not-persistent 376、mild 128、moderate 68。
Q20:实体还被分成哪几类?
按性质分四类:生理性、心理性、认知性、功能性。全语料占比:生理性 53%、心理性 40%、认知性 5%、功能性 2%。
D. 归一化
Q21:归一化映射到什么术语体系?
UMLS Metathesaurus(918 个唯一概念,摘要写 916)与 SNOMED CT(755 个唯一概念)。
Q22:为什么没有 MedDRA?
论文选择 UMLS 与 SNOMED CT 作为映射目标(两者覆盖面广且可获得),未包含 MedDRA。这使 PsyTAR 与监管药物警戒术语体系对接时需做二次映射——这是本语料的一个明确短板。
Q23:映射成功率如何?
3180 个唯一 ADR 被映射到 673 个 UMLS 概念,即平均每个标准概念对应约 4.7 种患者表达。有 128 个表达无法映射到任何 UMLS 概念。
Q24:那个"brain shivers"是怎么回事?
"brain shivers(脑电击感)"是抗抑郁药撤药时的高频体感描述,在语料中被提及 88 次,却在 UMLS 中无对应概念。这个案例被论文用作"标准术语体系存在盲区"的核心证据。
E. 一致性与质量
Q25:标注者是什么人?
4 名标注者:2 名药学专业学生 + 2 名健康科学背景者。每份文档由两人双标,分歧由 PI 裁定。注意——没有临床精神科医师参与标注,这是解读其标签时须留意的边界。
Q26:一致性有多高?
分两个组件看:句子分类整体 Cohen’s κ = 0.78;实体识别 pairwise agreement = 0.86。
Q27:为什么实体识别用的是 pairwise agreement 而不是 κ?
因为在实体层面计算机会一致性时,随机匹配的概率实际为零,κ 的分母失去意义。因此论文选用 pairwise agreement(成对一致性/严格匹配)。这与句子分类的 κ 不可直接跨类比较(坑 4)。
Q28:哪一类最难标?
句子分类里 INF(无效)最难(κ = 0.65),SSI 最容易(κ = 0.91)。实体识别里 WD 的一致性最低(0.81),SSI 与 DI 最高(0.91)。规律是:越主观、越依赖归因判断的类别,一致性越低。
F. 获取与许可
Q29:怎么下载 PsyTAR?
两个官方入口:① JBI 论文的 Online Supplement #1(经 ScienceDirect 论文附件);② 团队 Google Sites 项目页(https://sites.google.com/view/pharmacovigilanceinpsychiatry/home,提供更新版)。
Q30:许可是什么?能商用吗?
CC BY 4.0。可以商用、可以再分发,但必须署名来源。这比同源 CADEC 的"研究限用"许可宽松得多。
Q31:有 HuggingFace / Zenodo 版本吗?
没有官方版本。任何声称从这些平台下载的 PsyTAR 多为第三方搬运,版本与许可无保障(坑 6)。
Q32:引用时该引哪篇?
建议两篇都引:数据集本体引 Data in Brief 2019;24:103838,方法论与评测引 J Biomed Inform 2019;90:103091。同时附 CC BY 4.0 声明。
G. 使用注意
Q33:能用它算不良反应发生率吗?
不能。PsyTAR 是语料不是流行病学样本;患者自选择发帖、仅覆盖四种药、单论坛用户不代表人群。把"ADR 句子占 36%"等同于"36% 患者有不良反应"是范畴错误(坑 7)。
Q34:训练时划分要注意什么?
按帖级划分,不能按句子随机划分。同一帖的句子高度相关,句子级随机划分会造成同帖泄漏,虚高分数(§12.4)。
Q35:它和 CADEC 能一起用吗?
可以,且常被同时使用做跨语料泛化测试。但须注意两者药物不同(精神科 vs Diclofenac/Lipitor)、实体类别不同(4 类 vs 5 类)、术语映射不同(UMLS/SNOMED vs SNOMED/AMT/MedDRA)、许可不同(CC BY vs 研究限用)。
Q36:规模是不是太小了?
按"训练大模型"标准是小(891 帖 / 6009 句)。但它的价值在"标注深度 + 开放许可 + 术语映射"的组合,适合做基准、词典资源与教学样本,而非端到端大模型的唯一数据源。
§17 附录 A:论文元数据与引用信息
表 17-1:PsyTAR 两篇核心论文元数据
| 项目 | Data in Brief(数据集论文) | J Biomed Inform(方法论论文) |
|---|---|---|
| 标题 | The PsyTAR dataset: From patients generated narratives to a corpus of adverse drug events and effectiveness of psychiatric medications | A systematic approach for developing a corpus of patient reported adverse drug events: A case study for SSRI and SNRI medications |
| 期刊卷期 | Data Brief 2019;24:103838 | J Biomed Inform 2019;90:103091 |
| DOI | 10.1016/j.dib.2019.103838 | 10.1016/j.jbi.2018.12.005 |
| PMID | 31065579 | 30611893 |
| PMCID | PMC6495095 | PMC12139017 |
| 许可 | CC BY(开放获取) | CC BY(开放获取) |
| 第一作者 | Maryam Zolnoori | Maryam Zolnoori |
| 作者数 | 15 | 14 |
Data in Brief 版本作者:Maryam Zolnoori, Kin Wah Fung, Timothy B. Patrick, Paul Fontelo, Hadi Kharrazi, Anthony Faiola, Nilay D. Shah, Yi Shuan Shirley Wu, Christina E. Eldredge, Jake Luo, Mike Conway, Jiaxi Zhu, Soo Kyung Park, Kelly Xu, Hamideh Moayyed。
JBI 版本作者:Maryam Zolnoori, Kin Wah Fung, Timothy B. Patrick, Paul Fontelo, Hadi Kharrazi, Anthony Faiola, Yi Shuan Shirley Wu, Christina E. Eldredge, Jake Luo, Mike Conway, Jiaxi Zhu, Soo Kyung Park, Kelly Xu, Hamideh Moayyed, Somaieh Goudarzvand(与 Data in Brief 版本差异在于 Nilay D. Shah 与 Somaieh Goudarzvand 的增减)。
17.1 BibTeX 骨架
@article{zolnoori2019psytar,
title = {The PsyTAR dataset: From patients generated narratives to a corpus of
adverse drug events and effectiveness of psychiatric medications},
author = {Zolnoori, Maryam and Fung, Kin Wah and Patrick, Timothy B. and others},
journal = {Data in Brief},
volume = {24},
pages = {103838},
year = {2019},
doi = {10.1016/j.dib.2019.103838}
}
@article{zolnoori2019systematic,
title = {A systematic approach for developing a corpus of patient reported
adverse drug events: A case study for SSRI and SNRI medications},
author = {Zolnoori, Maryam and Fung, Kin Wah and Patrick, Timothy B. and others},
journal = {Journal of Biomedical Informatics},
volume = {90},
pages = {103091},
year = {2019},
doi = {10.1016/j.jbi.2018.12.005}
}
§18 附录 B:来源清单
表 18-1:本条目引用的一手与近一手来源
| 编号 | 来源 | URL / 标识 | 用途 |
|---|---|---|---|
| S1 | Data in Brief 数据集论文(PMC) | PMC6495095 / doi:10.1016/j.dib.2019.103838 | 规模、四阶段、许可、获取入口 |
| S2 | J Biomed Inform 方法论论文(PMC) | PMC12139017 / PMID 30611893 | 标注体系、IAA 分项、SVM、cTAKES |
| S3 | ScienceDirect Data in Brief 页面 | S2352340919301891 | 规格表、字段、Acknowledgements、许可原文 |
| S4 | RuDReC 论文(Bioinformatics 2021) | academic.oup.com/bioinformatics/article/37/2/243 | 第三方对 PsyTAR 规模/IAA/来源的转述对照 |
| S5 | RuDReC 预印本(arXiv 2004.03659) | arxiv.org/pdf/2004.03659v1 | askapatient 数据源确认、887 帖口径 |
| S6 | ADE 鲁棒性评测(arXiv 2407.2432) | arxiv.org/html/2407.2432v1 | 下游复用、1227 唯一 ADE、891 帖 |
| S7 | CORE 开放获取 PDF | core.ac.uk/download/pdf/289196431.pdf | Data in Brief 全文核对 |
| S8 | University of Kentucky Scholars | scholars.uky.edu | 致谢与资助信息核对 |
| S9 | 团队 Google Sites 项目页 | sites.google.com/view/pharmacovigilanceinpsychiatry/home | 更新版数据集入口 |
核验方法:三源互证(S1/S2 官方 PMC + S3 ScienceDirect + S4/S5 第三方转述),核心数字(891 帖 / 6009 句 / 7414 mention / 0.78 κ / 0.86 PA / F 0.90 / cTAKES +25 个百分点 / CC BY 4.0)在三源间一致;冲突处(6009 vs 6004、916 vs 918、891 vs 887)已在 §9 存照。
§19 附录 C:数字口径对照表(引用前必查)
表 19-1:PsyTAR 数字的论文归属与差异
| 项目 | Data in Brief 口径 | JBI 口径 | 差异说明 |
|---|---|---|---|
| 帖子数 | 891 | 887(含文本) | 4 篇差异,可能因"含文本"过滤 |
| 句子数 | 6009 | 6004 | 差 5 句 |
| 词元数 | 未列 | 98186 | 仅 JBI 提供 |
| UMLS 概念 | 摘要 916 / 正文 918 | 918 | 同篇内不一致 |
| SNOMED CT 概念 | 755 | 755 | 一致 |
| 实体 mention 总数 | 7414 | 7414 | 一致 |
| ADR mention | 4813 | 4813 | 一致 |
| SSRI 帖数 | —— | 428 | 仅 JBI 提供 |
| SNRI 帖数 | —— | 459 | 仅 JBI 提供 |
| 句子分类 κ | 0.78 | 0.78 | 一致 |
| 实体识别 PA | 0.86 | 0.86 | 一致 |
| SVM F-score | 未评测 | 0.90 | 仅 JBI 提供 |
| cTAKES 增强 | 未评测 | 0.24→0.49 | 仅 JBI 提供 |
引用规则:规模类数字优先引 Data in Brief(数据集论文本责),评测与 IAA 类数字引 JBI(方法论论文本责);两者冲突时在脚注注明。
§20 附录 D:一句话索引与检索词
20.1 核心检索词
PsyTAR、Psychiatric Treatment Adverse Reactions、adverse drug reaction corpus、pharmacovigilance corpus、askapatient corpus、patient-generated ADR、SSRI SNRI corpus、UMLS SNOMED normalization corpus、cTAKES PsyTAR dictionary。
20.2 易错检索词(避免)
PsyTAR Reddit:源头错误(应为 askapatient)。PsyTAR HuggingFace/PsyTAR Zenodo:无官方镜像。PsyTAR MedDRA:语料未映射 MedDRA。- 与
PyTAR、PsyTAR-Bench等形近名混淆:这些并非本语料。
20.3 一句话索引
PsyTAR 是一份 891 篇 askapatient 患者评论、6009 句、7414 个实体 mention 的精神科药物不良反应标注语料,三层标注并归一化到 UMLS 918 与 SNOMED CT 755 概念,CC BY 4.0 开放,SVM 句子分类 F 0.90,cTAKES 词典增强 +25 个百分点。
20.4 关键数字速记
891 帖 · 6009 句 · 4 药 · 7 标签 · 7414 mention · 918 UMLS · 755 SNOMED · κ 0.78 · PA 0.86 · F 0.90 · +25 个百分点 · CC BY 4.0。
§21 数据集规格总表(规格卡)
本节把散落在全文的规格信息汇成一张可直接检索的规格卡,便于下游自动化读取与人工速查。
表 21-1:PsyTAR 数据集规格卡
| 规格维度 | 内容 |
|---|---|
| 官方全称 | Psychiatric Treatment Adverse Reactions (PsyTAR) corpus |
| 中文名 | 精神科治疗不良反应语料 |
| 类型 | 患者自报文本 + 人工标注(句子分类 / 实体识别 / 术语归一化) |
| 数据源 | askapatient.com(美国处方药患者评价论坛) |
| 采集方式 | 自研 Application Programming Interface(API)抓取 |
| 采集时间 | 2010 年代(论文 2019 发表;原始评论跨多年) |
| 语言 | 英文 |
| 药物 | Zoloft、Lexapro、Cymbalta、Effexor XR(2 SSRI + 2 SNRI) |
| 帖子数 | 891(JBI 口径 887 含文本) |
| 句子数 | 6009(JBI 口径 6004) |
| 词元数 | 98186(JBI 口径) |
| 句子标签 | ADR / WD / SSI / DI / EF / INF / Others(7 类,多标签) |
| 实体类别 | ADR / WD / SSI / DI(4 类) |
| 实体 mention 总数 | 7414 |
| 实体限定词 | 严重程度(mild/moderate/severe)、持续性(persistent/not-persistent) |
| 术语映射 | UMLS Metathesaurus 918 概念 + SNOMED CT 755 概念 |
| 映射失败表达 | 128 个 |
| 人口学字段 | 年龄(均值 37)、性别、用药时长(均值 18 月)、满意度 |
| 标注者 | 4 人(2 药学学生 + 2 健康科学背景) |
| 标注方式 | 双人标注(double coded),PI 裁定分歧 |
| 句子分类一致性 | Cohen’s κ 0.78 |
| 实体识别一致性 | pairwise agreement 0.86 |
| 文件格式 | CSV |
| 规模(磁盘) | 未在论文中明确标注 |
| 许可 | CC BY 4.0 |
| 获取入口 | JBI Online Supplement #1;团队 Google Sites 项目页 |
| 是否 gated | 否(直接开放) |
| 是否请求制 | 否 |
| 官方镜像仓库 | 无(无 Zenodo/PhysioNet/HuggingFace 官方版) |
| 资助 | NIH NLM Intramural + Lister Hill + FDA CERSI(U01FD005938) |
| 利益冲突 | 无 |
21.1 规格卡的三种读法
- 采购视角:看"许可 / 是否 gated / 格式"三行——CC BY 4.0、非 gated、CSV,意味着零门槛取用。
- 建模视角:看"句子标签 / 实体类别 / mention 总数 / 一致性"四行——决定任务定义与预期性能上限。
- 合规视角:看"数据源 / 标注者 / 资助"三行——决定伦理审查与署名要求。
§22 典型使用场景详解
22.1 场景一:句子级不良反应分类器
目标:给定一条新的患者评论句子,判断它是否承载药物不良反应。
数据用法:用 label_ADR 作为二分类目标,或用七标签做多标签分类。训练集有 6009 句(其中 ADR 2168 句)。
方法:从论文的 SVM 基线(F 0.90)起步,再换用预训练语言模型对比。注意标签不平衡(ADR 占约 36%,少数类如 INF 仅 337 句)。
评测:按帖级划分(§12.4),报告 macro-F1 与 per-class F1。论文的 per-class F1 为 ADR 0.858 / WD 0.936 / SSI 0.830 / DI 0.964 / EF 0.922 / INF 0.929。
注意:ADR 的 per-class F1 低于 DI/WD/EF,说明"是否构成具名不良反应"的边界判断是任务难点,不要期待 0.99 级的分数。
22.2 场景二:实体边界抽取(NER)
目标:在承载不良反应的句子中定位实体的起止位置。
数据用法:7414 个带 span 的实体,四类(ADR 4813 / SSI 1219 / DI 792 / WD 590)。
方法:序列标注(BIO / BIOES),或基于 span 的抽取。ADR 样本充足,WD 样本稀缺(590 个),须做类别加权或数据增强。
注意:患者表达保留原始拼写与语法错误(PsyTAR 明确"did not correct grammar and spelling errors in the extracted ADEs"),因此 NER 模型须对非标准拼写鲁棒。
22.3 场景三:实体归一化 / 概念链接
目标:把患者表达映射到标准术语概念。
数据用法:918 UMLS + 755 SNOMED CT 映射作为监督信号。同一概念对应多达 4.7 种表达,是天然的同义归并训练集。
方法:候选生成(词典 + 模糊匹配)+ 候选排序(语义相似度);对 128 个无法映射的表达建 OOV 桶,采用"识别但不链接"的降级策略。
注意:UMLS 与 SNOMED CT 版本更新会影响概念 ID 有效性,用前须核对版本。
22.4 场景四:词典增强既有系统
目标:用 PsyTAR 学到的患者表达词典增强既有临床 NLP 系统。
数据用法:抽取全部实体 mention 文本,去重后构成患者表达词典。
方法:参照论文的 cTAKES 增强路径——把词典注入既有系统的概念匹配模块,而非重训整个系统。
预期:论文实测 F-score 从 0.24 提升到 0.49(+25 个百分点)。这是本语料性价比最高的用法。
22.5 场景五:跨语料泛化评测
目标:评测模型在不同患者文本语料间的泛化能力。
数据用法:与 CADEC(rid 464)配对使用。在 PsyTAR 上训练、在 CADEC 上测试(或反之),观察性能衰减。
注意:两语料药物不同(精神科 vs 镇痛/降脂)、实体类别不同(4 类 vs 5 类)、术语映射不同(UMLS/SNOMED vs SNOMED/AMT/MedDRA),跨语料评测须先做标签空间对齐。
22.6 场景六:术语盲区研究
目标:研究标准医学术语体系对患者体验的覆盖盲区。
数据用法:128 个无法映射到 UMLS 的表达,尤以"brain shivers"(88 次提及)为代表。
价值:为术语标准制定者提供实证依据;为下游系统设计"OOV 症状"处理策略提供样本。
§23 语料标签体系的操作化定义
本节把 PsyTAR 七类句子标签与四类实体标签的判定规则整理为可操作的定义,便于复现标注。
表 23-1:句子级七标签的操作化定义
| 标签 | 全称 | 判定规则 | 语料频次 |
|---|---|---|---|
| ADR | Adverse Drug Reaction | 患者明确将具名体征/症状与服药相关联 | 2168 |
| WD | Withdrawal Symptoms | 描述停药/减量后出现的症状 | 438 |
| SSI | Sign / Symptom / Illness | 提及医学问题但未与药物显式关联 | 789 |
| DI | Drug Indication | 提及用药原因/适应症 | 517 |
| EF | Drug Effectiveness | 描述药物有效/症状改善 | 1087 |
| INF | Drug Ineffectiveness | 描述药物无效/症状未改善 | 337 |
| Others | —— | 以上皆不适用(闲聊、提问、致谢等) | 2107 |
表 23-2:实体级四标签的操作化定义
| 标签 | 判定规则 | mention 数 | 唯一实体数 |
|---|---|---|---|
| ADR | 从 ADR 句中抽取的具体不良反应用语(span) | 4813 | 3180 |
| WD | 从 WD 句中抽取的戒断症状用语 | 590 | 468 |
| SSI | 从 SSI 句中抽取的体征/症状/疾病用语 | 1219 | 462 |
| DI | 从 DI 句中抽取的适应症用语 | 792 | 309 |
23.1 ADR 与 SSI 的边界判定(最容易出错处)
判定核心是归因:句子中是否存在"患者把该症状与药物使用建立显式因果或时序关联"的语言标记。
- “I started having headaches after I began taking Zoloft.” → ADR(有服药关联)
- “I have had headaches for years.” → SSI(无药物关联)
- “The headaches went away when I stopped.” → ADR(停药关联反向印证)
这一规则在论文 Table 2 中有专门的定义与示例(“Definitions and rules for identifying SSIs and DIs from patients’ comments”)。复现标注时须把这类语言标记显式枚举成规则清单。
23.2 WD 与 ADR 的边界判定
WD 的关键是时间锚点:“症状出现在停药或减量之后”。若症状出现在服药期间,则归 ADR;若明确出现在停药之后,归 WD。
23.3 多标签共存
PsyTAR 的句子分类是多标签设定——一句话可以同时承载 EF 与 ADR(例如"药管用,但让我整夜睡不着")。因此各标签频次之和(6443)大于句子总数(6009)。使用数据时不要假设单标签互斥。
§24 与库内条目的并读建议与决策路径
24.1 并读矩阵
表 24-1:PsyTAR 与相邻条目的并读场景
| 你的研究问题 | 主读条目 | 并读条目 | 并读收获 |
|---|---|---|---|
| 患者自报 ADR 抽取 | PsyTAR(本条目) | CADEC(464) | 同源不同协议,可做跨语料泛化 |
| 监管 vs 患者双通道 | PsyTAR | JADER(1088) | 官方报告 vs 患者叙述互补 |
| 术语归一化 | PsyTAR | UMLS(558)/ SNOMED CT(557)/ MedDRA(579) | 映射目标与未映射标准对照 |
| 生物医学 NER | PsyTAR | DrugProt(827)/ ChemDner(450)/ PharmaCoNER(504) | 跨域 NER 泛化 |
| 大样本弱监督 | PsyTAR(小样本监督) | Drug Reviews UCI(485,大样本无标注) | 监督 + 弱监督组合 |
| 药物知识补全 | PsyTAR | DrugBank(89/571)/ DrugCentral(344) | 药物药理结构化信息 |
24.2 决策路径
- 明确目标:是"抽取不良反应"、“做术语归一化”、“增强既有系统”,还是"研究术语盲区"?
- 确认许可:若需商用/再分发 → PsyTAR(CC BY 4.0)可行,CADEC(研究限用)不可。
- 确认标签空间:需要句子级筛选 → PsyTAR 有,CADEC 无。
- 确认术语体系:需 MedDRA → 两者都不直接满足(PsyTAR 无、CADEC 有 SNOMED/AMT/MedDRA);需 UMLS → 选 PsyTAR。
- 确认规模:需要上万条监督样本 → PsyTAR 不足,须考虑拼接其他语料或半监督。
24.3 组合使用建议
患者自报药物警戒的完整研究管线,建议按以下方式组合库内资产:
- 监督信号:PsyTAR(高标注深度,CC BY 4.0)。
- 规模化文本:Drug Reviews UCI(485,无标注,可用于半监督 / 预训练)。
- 术语体系:UMLS(558)+ SNOMED CT(557)+ MedDRA(579)。
- 监管对照:JADER(1088)。
- 同域对照:CADEC(464)。
这一组合能够覆盖"数据 → 标注 → 术语 → 监管"的完整链条,而 PsyTAR 是其中唯一同时具备"句子级 + 实体级 + 归一化级"三层监督的组件。
24.4 迁移到中文场景的三点提醒
若计划把 PsyTAR 的方法论迁移到中文患者评论(如中文健康社区、电商药品评价),须注意:
- 分句工具不得直接复用:NLTK 面向英文,中文需换用适配中文的分句与分词工具,且中文标点(全角逗号、叹号、省略号)的句子边界判定规则不同。
- 术语映射目标需替换:UMLS 与 SNOMED CT 均为英文主导,中文场景可能需要映射到中文医学主题词表或中文 SNOMED 译本,映射难度更高。
- 口语表达变异更强:中文患者表达中的网络用语、方言、谐音更丰富,语义变异的倍数可能高于 PsyTAR 观测到的 4.7 倍,OOV 比例预计更高。
PsyTAR 的贡献在于它证明了"系统化标注协议 + 多阶段术语映射"这条路走得通;迁移时复用其方法论骨架(分句 → 分类 → 实体 → 归一化 → 评测),而非其具体工具与术语库。
24.5 一句话行动建议
如果你手上有一批患者药品评论文本,只想用最小的成本获得最大收益——先借 PsyTAR 的实体表当词典注入你的匹配模块(学 cTAKES 的做法,代价最低、收益明确),再考虑用它的标注数据训练专用抽取器。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- drug-reviews-uci — 共享标签:医疗NLP / 临床文本 / 药物安全
- carmen — 共享标签:医疗NLP / 临床文本 / 命名实体识别
- emergency-complaint-gout — 共享标签:医疗NLP / 临床文本 / 公共卫生与流行病学
- vaers — 共享标签:医疗NLP / 公共卫生与流行病学
- pharmaconer — 共享标签:医疗NLP / 临床文本 / 命名实体识别
- distemist — 共享标签:医疗NLP / 临床文本 / 命名实体识别
- meddoprof — 共享标签:医疗NLP / 临床文本 / 命名实体识别
- cantemist — 共享标签:医疗NLP / 临床文本 / 命名实体识别
- umls — 共享标签:医疗NLP / 临床文本 / 命名实体识别
- radgraph — 共享标签:医疗NLP / 临床文本 / 命名实体识别
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

