Bridge2AI-Voice

Bridge2AI-Voice — NIH语音生物标志物数据集 AI-Ready Wikipedia | 千方病案医数集

来源 NIH Bridge2AI-Voice Consortium url: https://physionet.org/content/b2ai-voice/发布时间: 2026-08-06最后更新: 2026-08-06 阅读 3

信息速览

数据集名称Bridge2AI-Voice
数据类型833 名参与者, 29278 条录音, 8 类衍生声学特征, 凭证访问, NIH 资助
规模833 人
接入方式NIH Bridge2AI-Voice Consortium url: https://physionet.org/content/b2ai-voice/
AI 就绪度

INFOBOX

数据集名称 Bridge2AI-Voice
英文全称 Bridge2AI-Voice: An ethically-sourced, diverse voice dataset linked to health information
别名 / 简称 B2AI-Voice、Bridge2AI Voice、NIH Voice Dataset
疾病分类 多疾病覆盖。核心映射:CA02.A 发声障碍 / 8A00.0 帕金森病 / 8B60 肌萎缩侧索硬化症 / 6A70 抑郁症 / 6B00 焦虑症 / CA22 慢性阻塞性肺疾病 / CA08 气道狭窄
SNOMED CT 60862001 Voice disorder / 49049000 Parkinson’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’'s disease / 86049005 Amyotrophic lateral sclerosis / 35489007 Depressive disorder / 19748000 Anxiety disorder / 13645005 Chronic obstructive lung disease
数据模态 音频(语音录音衍生特征:声谱图 / 梅尔声谱图 / MFCC / 基频 / EMA / 响度 / 周期性 / PPGs)+ 结构化(临床表型 / 问卷 / 诊断)
AI 任务类型 音频多标签分类、多疾病筛查、声学特征学习、跨疾病迁移学习、基础模型预训练
样本总数 29,278 条录音衍生特征(833 名参与者,5 个北美站点)
数据大小 ~15 GB(衍生特征 + 表型数据,Parquet/TSV 格式)
数据格式 Parquet(衍生特征)/ TSV(静态特征、表型数据)/ JSON(数据字典)
许可证 Bridge2AI Voice Registered Access License
访问级别 申请审核(PhysioNet 凭证访问 + DUA 签署;原始音频需额外 Synapse 受控访问)
DUO 标签 HMB, NPUNCU
语言 英语(参与者主要为英语母语者)
首发日期 2024-11-27(v1.0,306 名参与者)
最后更新 2026-05-01(v3.1.0,833 名参与者)
发布机构 NIH Bridge2AI-Voice Consortium(University of South Florida 主导,Weill Cornell Medicine / MIT / Vanderbilt University Medical Center / Mount Sinai Hospital Toronto 参与)
官方主页 https://b2ai-voice.org/
下载地址 https://physionet.org/content/b2ai-voice/3.1.0/
DOI 10.13026/8xbn-nq66(版本 DOI)/ 10.13026/37yb-1t42(最新版本 DOI)
引用次数 80+(Google Scholar + PhysioNet 下载统计,截至 2026-08)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 8 类丰富衍生特征 + 标准化问卷 + 多疾病标签 + 开源处理工具 b2aiprep;扣分项:无原始音频(公开版)、无官方 train/val/test 划分、部分疾病类别样本量极少
页面状态 published

§0 E-E-A-T 信任声明与免责声明

字段 内容
医学审核者 [千方病案医学编辑部] 交叉审核:§2 医学背景(ICD-11 映射、临床任务定义、多疾病队列设计)、§7 偏倚分析。
数据工程审核者 [千方病案医学编辑部] 交叉审核:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期 2026-08-04
审核方式 交叉审核
利益冲突声明 本页面与 Bridge2AI-Voice 数据集官方团队无利益关联。审核者独立于数据集创建方。

医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。

技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。Bridge2AI-Voice 要求 PhysioNet 凭证认证和 DUA 签署。原始音频数据需额外通过 Synapse 受控访问审批。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。

§1 数据集概览

§1.0 📌 30 秒速览

Bridge2AI-Voice 是美国国立卫生研究院(NIH)Common Fund Bridge2AI 计划资助的旗舰语音健康数据集,包含 833 名参与者在 5 个北美学术医学中心录制的近 3 万条语音任务录音的衍生声学特征,覆盖语音障碍、神经退行性疾病、情绪障碍和呼吸系统疾病 4 大类 18 种疾病队列。

它的独特价值在于将声音作为数字生物标志物的系统性设计——所有录音均经伦理合规采集,提取 8 类标准化声学特征(声谱图、MFCC、基频、EMA 发音造影等),配套 13 种临床验证问卷和完整诊断信息,且公开版仅含衍生特征不含原始音频,从源头解决语音数据的隐私再识别难题。基于该数据集训练的 VoiceFM 基础模型在 5 种疾病筛查任务上达到平均 AUROC 0.952,在阿尔茨海默病/认知障碍检测上达到 AUROC 0.99。

你可以用它来:训练一个多疾病语音筛查 AI 模型、研究如何用声学特征追踪帕金森病或抑郁症的进展、或者探索隐私保护下的语音基础模型预训练范式。

§1.1 摘要

Bridge2AI-Voice 由 NIH Bridge2AI-Voice Consortium(以 University of South Florida 为单 IRB 中心,联合 Weill Cornell Medicine、MIT、Vanderbilt University Medical Center 和加拿大 Mount Sinai Hospital Toronto)创建,旨在构建全球首个伦理合规采集、多中心、多疾病关联的语音 AI 基准数据集。数据采集采用标准化录音协议(持续元音发声、哈佛句子、Stroop 任务、Winograd 任务等 7 种语音任务),音频经 16kHz 重采样和 Butterworth 抗混叠滤波后,使用 openSMILE、Praat、Parselmouth、TorchAudio、SPARC 和 Whisper Large 提取 8 类衍生声学特征及静态特征。数据集还包含丰富的临床表型数据——13 种标准化问卷(PHQ-9、GAD-7、VHI-10、PANAS 等)和 18 种疾病的结构化诊断标签。数据以 Parquet/TSV 格式通过 PhysioNet 凭证访问发布,原始音频波形需通过 Synapse 受控访问额外申请。

§1.2 战略价值分析

技术创新维度:Bridge2AI-Voice 在三个层面实现了范式突破。第一,它是首个将多疾病语音队列统一在同一数据集中的公开资源——传统语音医学数据集通常只针对单一疾病(如只有帕金森或只有抑郁症),而 Bridge2AI-Voice 的 4 大类 18 种疾病设计使得跨疾病迁移学习和多病共病分析成为可能。第二,它开创了隐私优先的数据发布模式——公开版仅含衍生特征(声谱图、MFCC 等),不含可再识别的原始音频波形,这一设计直接回应了语音数据作为生物标志物的核心隐私挑战,同时仍保留了足够的声学信息用于 AI 训练。第三,8 类衍生特征的丰富度远超同类数据集——特别是 SPARC EMA 发音造影估计和 PPGs 音素后验概率图,为语音产生机制建模和音素级分析提供了独特维度。

应用影响维度:作为 NIH Common Fund 资助的旗舰项目,Bridge2AI-Voice 正在成为语音医学 AI 领域的事实标准基础设施。VoiceFM 基础模型(2026, medRxiv)在该数据集上预训练后,在 5 种疾病筛查任务上达到平均 AUROC 0.952,并成功零样本迁移到西班牙语帕金森病检测(NeuroVoz, AUROC 0.93)和智能手机帕金森病检测(mPower, AUROC 0.87),证明了该数据集支持训练可跨语言、跨设备、跨疾病泛化的基础模型。MARVEL 多任务框架(2025, arXiv)同时在 9 种疾病上实现筛查,整体 AUROC 0.78,阿尔茨海默病/认知障碍达 0.97。这些成果表明 Bridge2AI-Voice 正在推动语音 AI 从"单一疾病分类器"向"通用临床语音基础模型"的范式转变。

§1.3 与同类数据集对比

数据集 参与者数 疾病覆盖 原始音频 衍生特征 临床问卷 许可证 核心差异化
Bridge2AI-Voice v3.1 833 4 大类 18 种 ❌(受控访问) 8 类 + 静态 13 种标准化问卷 Registered Access 多疾病 + 隐私优先 + 多中心
mPower (PD) 9,424 仅帕金森 自行提取 CC-BY-NC-SA 超大规模智能手机采集
NeuroVoz (PD) 204 仅帕金森 自行提取 MDS-UPDRS CC-BY-NC 西班牙语帕金森
Saarbrücken Voice DB 2,000+ 喉部疾病 基础声学 学术免费 德国语音病理学
Voice Corpus (Toronto) 21 仅声带麻痹 基础声学 学术免费 配对手术前后

§1.4 版本演进时间轴

时间 事件
2024-11 v1.0 首次发布(306 名参与者,12,523 条录音,PhysioNet)
2025-01 v1.1 发布(新增 MFCC 特征)
2025-04 v2.0 发布(新增 136 名参与者至 442 人,19,271 条录音,修复声谱图,移除自由言语敏感特征)
2025-08 v2.0.1 发布(作者列表修正)
2025-12 v3.0.0 发布(新增 391 名参与者至 833 人,重组文件结构,新增 SPARC/PPGs 特征,儿科数据集独立发布)
2026-05 v3.1.0 发布(修复损坏 Parquet,补充部分参与者数据,新增音频质量指标和元数据)

§1.5 典型 AI 应用场景

  1. 多疾病语音筛查:训练单一模型同时检测 9 种以上神经系统、呼吸系统和语音障碍(MARVEL 框架范式)
  2. 临床语音基础模型预训练:使用对比学习对齐音频嵌入与临床元数据,学习跨疾病通用语音表征(VoiceFM 范式)
  3. 跨语言迁移学习:在英语 Bridge2AI-Voice 上预训练,零样本迁移到西班牙语或其他语言的帕金森病检测
  4. 隐私保护声学 AI:仅使用衍生特征(不含原始音频)进行疾病分类,满足数据不出域的合规需求
  5. 声学生物标志物发现:分析模型学习到的嵌入与经典声学特征(HNR、共振峰等)的相关性,发现新的疾病相关声学标志物

§2 医学背景

§2.1 ICD-11 编码映射

Bridge2AI-Voice 覆盖 4 大疾病类别,18 种具体诊断。以下为核心映射:

疾病类别 具体诊断 ICD-11 编码 ICD-11 术语
语音障碍 单侧声带麻痹 CA02.A.0 Unilateral vocal fold paralysis
语音障碍 喉癌 2C22.0 Malignant neoplasm of larynx
语音障碍 喉肌张力障碍 8A02.1 Laryngeal dystonia
语音障碍 肌紧张性发声障碍 CA02.A.1 Muscle tension dysphonia
语音障碍 声门闭合不全 CA02.A.2 Glottic insufficiency
语音障碍 喉炎 CA02.0 Laryngitis
语音障碍 良性病变 CA02.A.3 Benign vocal fold lesions
语音障碍 癌前病变 CA02.A.4 Precancerous vocal fold lesions
神经退行性 帕金森病 8A00.0 Parkinson’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’'s disease
神经退行性 肌萎缩侧索硬化症 8B60 Amyotrophic lateral sclerosis
神经退行性 认知障碍 6D71 Mild cognitive impairment
神经退行性 脑卒中(构音障碍/失语症) 8B25 Post-stroke aphasia
情绪障碍 抑郁症 6A70 Depressive disorders
情绪障碍 焦虑症 6B00 Anxiety disorders
情绪障碍 双相情感障碍 6A60 Bipolar disorder
情绪障碍 PTSD 6B20 Post-traumatic stress disorder
情绪障碍 ADHD 6A05 Attention deficit hyperactivity disorder
呼吸系统 COPD/哮喘 CA22 / CA23 COPD / Asthma
呼吸系统 不明原因慢性咳嗽 CA05 Unexplained chronic cough
呼吸系统 气道狭窄 CA08 Airway stenosis

§2.1b SNOMED CT 映射

数据集标签 ICD-11 SNOMED CT SNOMED CT 术语
Vocal Fold Paralysis CA02.A.0 60862001 Vocal cord paralysis (disorder)
Laryngeal Cancer 2C22.0 187705003 Malignant tumor of larynx (disorder)
Parkinson’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’'s Disease 8A00.0 49049000 Parkinson’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’'s disease (disorder)
ALS 8B60 86049005 Motor neuron disease (disorder)
Cognitive Impairment 6D71 713094003 Mild cognitive impairment (disorder)
Depression 6A70 35489007 Depressive disorder (disorder)
Anxiety 6B00 19748000 Anxiety disorder (disorder)
COPD CA22 13645005 Chronic obstructive pulmonary disease (disorder)
Airway Stenosis CA08 73572005 Stenosis of trachea (disorder)

§2.2 疾病简介与流行病学

人声产生涉及呼吸、发声、共鸣和构音四大系统的复杂协同。呼吸系统提供气流和压力驱动声带振动,声带产生声源经声道(口腔、鼻腔和构音器官)调制后形成可辨识语音。任何一个环节的病理改变都会在声学信号中留下可检测的痕迹——帕金森病导致运动控制退化表现为语速减缓、音调单调(hypophonia);声带麻痹直接改变声源特性导致气息声和发声疲劳;抑郁症影响韵律和语速;COPD 呼吸支持不足导致最长发声时间缩短和呼吸暂停频率增加。

全球约 7.5% 的人口在一生中会经历某种形式的语音障碍;帕金森病影响约 1% 的 60 岁以上人口;抑郁症是全球致残首因;COPD 影响约 3.9 亿人。这些疾病的共同特点是早期症状微妙、传统筛查手段成本高、可及性差——而语音采集只需一部智能手机,成本几乎为零。

§2.3 临床任务定义

Bridge2AI-Voice 的核心临床任务是筛查(screening),而非确诊诊断。具体包括:

  • 多疾病语音筛查:给定一段语音录音,预测该说话者是否可能患有特定类别疾病(二元分类)
  • 多标签共病分析:同一参与者可能同时患有多种疾病(如帕金森 + 抑郁症),模型需同时输出多个疾病标签
  • 疾病严重度关联:将声学特征与标准化问卷评分(如 PHQ-9 抑郁严重度、MDS-UPDRS 帕金森运动评分)进行回归关联

任务边界:Bridge2AI-Voice 的标签来自临床诊断(非 AI 标注),但数据集设计目标为筛查辅助,不替代临床诊断。所有模型在部署前需经独立临床验证和监管审批。

§2.4 患者人群特征

维度 特征
数据来源 5 个北美学术医学中心:USF(美国佛罗里达)/ WCM(美国纽约)/ MIT(美国马萨诸塞)/ VUMC(美国田纳西)/ MSH(加拿大多伦多)
采集时间 2023 年至 2025 年(具体起止时间未公开)
年龄分布 成人队列(18 岁以上),具体均值/中位数未公开;儿科队列独立发布(2-18 岁,300 名参与者)
性别比例 具体比例未公开,跨疾病类别分布不均
种族分布 多种族采集,具体分布未在公开摘要中释放
就医类型 专科门诊(语音障碍/神经科/精神科/呼吸科)+ 健康对照组
语言 主要为英语母语者

§2.5 临床意义

语音作为数字生物标志物具有独特优势:采集无创、成本极低、可远程进行、患者无负担。一个训练良好的语音筛查模型可以将帕金森病的早期筛查从专科门诊延伸到家庭智能手机,将抑郁症的监测从定期问卷升级为被动语音分析。Bridge2AI-Voice 的多疾病设计直接解决了传统语音 AI 研究的碎片化问题——不再需要为每种疾病单独收集数据集,一个统一的基础模型即可覆盖多种疾病的初步筛查。

§2.6 金标准 / 参考标准

数据划分 标注方式 标注者 金标准性质
全部(无官方划分) 临床诊断 各站点专科医师(语音障碍→喉科医师;神经退行性→神经科医师;情绪→精神科医师;呼吸→呼吸科医师) 参考标准(专科医师临床诊断,非病理金标准)
问卷评分 标准化自评问卷 参与者本人填写(PHQ-9、GAD-7、VHI-10 等) 辅助标准(自评量表,非医师评定)
声学特征 自动提取 openSMILE / Praat / TorchAudio / SPARC / Whisper Large 机器标注(b2aiprep v3.0.0 管道)

注意:Bridge2AI-Voice 未提供官方 train/val/test 划分。VoiceFM 论文采用时间分离划分(前 846 人训练,后 138 人验证),MARVEL 采用交叉验证。使用者需自行定义划分策略并在论文中明确说明。

§3 数据集规格

§3.0 版本抉择矩阵

你的需求 推荐版本 大小 理由
复现最新论文 / 最大样本量 v3.1.0 ~15 GB 833 名参与者,8 类衍生特征,最新 SOTA 基准均基于此版本
复现早期 v1/v2 论文 v2.0.0 ~10 GB 442 名参与者,部分 2025 年论文基于 v2.0
需要原始音频波形 Synapse 受控访问 另行申请 需机构签批 + DACO 审批,含 16kHz WAV 原始录音
儿科语音研究 b2ai-voice-pediatric v1.0 另行下载 300 名 2-18 岁儿童,22,620 条录音,独立发布于 PhysioNet

§3.1 模态详细说明

Bridge2AI-Voice 的数据模态为语音音频衍生特征 + 结构化临床表型的双模态组合:

音频衍生特征(8 类动态 + 2 类静态):

  • 声谱图(Spectrogram):201 × T 矩阵,25ms 窗口 / 10ms 跳步 / 400 点 FFT,时域 2 倍下采样
  • 梅尔声谱图(Mel Spectrogram):60 × T 矩阵,60 个梅尔滤波器组
  • MFCC(梅尔频率倒谱系数):60 × T 矩阵
  • 基频 / F0(Pitch):T 维向量,检测范围 80-500 Hz(TorchAudio 版)
  • SPARC EMA 发音造影估计:T × 12 矩阵(6 个发音器官的 X/Y 位置:舌背/舌体/舌尖/下切牙/上唇/下唇)
  • SPARC 响度(Loudness):T 维向量,20ms 窗口平均绝对幅度
  • SPARC 周期性(Periodicity):T 维向量,20ms 窗口基频置信度
  • SPARC 基频(Pitch):T 维向量,检测范围 50-550 Hz(与 TorchAudio 版算法不同)
  • PPGs(音素后验概率图):40 × T 矩阵,100 Hz 帧率,40 个音素类别
  • 静态特征(openSMILE + Praat + Parselmouth + TorchAudio):每条录音一条记录
  • 音频质量指标:每条录音一条质量控制特征记录

临床表型数据

  • 人口统计信息(年龄段、性别、种族、语言等)
  • 18 种疾病诊断标签(每种疾病一个 TSV 文件)
  • 13 种标准化问卷(PHQ-9、GAD-7、VHI-10、PANAS、DSM-5、ADHD、PTSD、呼吸困难指数、莱斯特咳嗽问卷等)
  • 入组信息(资格评估、登记表)
  • 录音任务元数据(会话信息、录音记录)
  • 混杂因素信息

§3.2 样本总数

子集 参与者数 录音特征数 说明
声谱图 / 梅尔声谱图 / MFCC / PPGs 833 29,278-29,289 主要衍生特征
基频(TorchAudio 版) 833 32,522 含部分非语音段
SPARC EMA 833 28,640 部分录音 EMA 提取失败
SPARC 响度 833 31,855
SPARC 周期性 / 基频 833 31,872
静态特征 833 ~29,278 每条录音一条
音频质量指标 833 ~29,278 v3.1 新增
健康对照组 部分参与者 具体数量未公开
总计 833 ~29,278 5 个北美站点

§3.3 数据格式详情

文件类型 格式 维度 / 大小 说明
衍生特征(动态) Parquet 变长矩阵 8 类动态特征,每条录音一行,特征以数组存储
静态特征 TSV 每行一条录音 openSMILE / Praat / TorchAudio 提取的标量特征
音频质量指标 TSV 每行一条录音 v3.1 新增,质量控制特征
表型数据 TSV 按类别分文件 诊断 / 人口统计 / 问卷 / 入组 / 任务 / 混杂因素
数据字典 JSON 每个文件配套 字段定义、取值范围、单位说明

§3.4 存储大小

版本 压缩后 解压后 说明
v3.1.0 ~15 GB ~45 GB Parquet 格式衍生特征 + TSV 表型数据

§3.5 标注方式

Bridge2AI-Voice 的"标注"分为两个层面:

疾病诊断标签:由各站点专科医师根据临床标准做出诊断(非为数据集专门标注),通过 REDCap 系统录入。每种疾病有独立的诊断 TSV 文件,包含参与者的诊断状态和相关信息。这是临床自然标注——标签来自真实诊疗过程,而非研究专用的人工标注。

衍生特征提取:完全自动化,使用开源工具管道 b2aiprep v3.0.0:

  1. 音频转单声道 → 16kHz 重采样 → Butterworth 抗混叠滤波
  2. TorchAudio 提取声谱图 / 梅尔声谱图 / MFCC / 基频
  3. SPARC 提取 EMA / 响度 / 周期性 / 基频
  4. openSMILE + Praat + Parselmouth 提取静态特征
  5. Whisper Large 提取语音转录和 PPGs
  6. 音频质量指标计算

§3.6 标注者资质

标注类型 标注者 资质 一致性检验
疾病诊断 各站点专科医师 喉科医师 / 神经科医师 / 精神科医师 / 呼吸科医师 跨站点使用统一入排标准,未报告多标注者一致性
问卷评分 参与者本人 标准化自评问卷 问卷均为临床验证工具(PHQ-9、GAD-7 等)
特征提取 自动化管道 b2aiprep v3.0.0 + openSMILE/Praat/TorchAudio/SPARC/Whisper 确定性算法,无可比性偏差

§3.7 采集时间

2023 年至 2025 年(v3.0.0 包含截至 2025 年 12 月的参与者数据)。

§3.8 地域覆盖

5 个北美学术医学中心:

  • University of South Florida(美国佛罗里达州坦帕)— 单 IRB 中心
  • Weill Cornell Medicine(美国纽约州纽约市)
  • Massachusetts Institute of Technology(美国马萨诸塞州剑桥)
  • Vanderbilt University Medical Center(美国田纳西州纳什维尔)
  • Mount Sinai Hospital / University of Toronto(加拿大安大略省多伦多)

§3.9 采集设备规格

具体录音设备型号未在公开文档中详细列出。所有录音经标准化协议采集,包括安静的房间环境和指定麦克风距离。原始音频经 16kHz 重采样统一后发布衍生特征。

§3.10 深度溯源链

NIH Common Fund Bridge2AI 计划
  └── 精准公共卫生大挑战 (Precision Public Health Grand Challenge)
      └── Bridge2AI-Voice Consortium
          ├── 资助:NIH 项目编号 3OT2OD032720-01S1
          ├── 伦理审批:University of South Florida IRB (STUDY004890)
          ├── 5 个采集站点 → 标准化录音协议 (REDCap)
          │   ├── 参与者筛选 → 7 种语音任务录音
          │   ├── 临床诊断录入 → 18 种疾病标签
          │   └── 13 种标准化问卷自评
          ├── 音频预处理 (b2aiprep v3.0.0)
          │   ├── 转单声道 → 16kHz 重采样 → Butterworth 滤波
          │   ├── 8 类衍生特征提取 (openSMILE/Praat/TorchAudio/SPARC/Whisper)
          │   └── 去标识化 (HIPAA Safe Harbor + 自由言语特征移除)
          ├── 公开版发布 (PhysioNet 凭证访问)
          │   └── 衍生特征 Parquet + 表型 TSV (无原始音频)
          └── 受控版发布 (Synapse syn72370534)
              └── 原始音频 WAV (需 DACO 审批 + 机构签批)

§4 数据结构详解

§4.0 目录结构预览

b2ai-voice/
├── features/                              # 衍生音频特征
│   ├── torchaudio_spectrogram.parquet     # 声谱图 (201 × T)
│   ├── torchaudio_mel_spectrogram.parquet # 梅尔声谱图 (60 × T)
│   ├── torchaudio_mfcc.parquet            # MFCC (60 × T)
│   ├── torchaudio_pitch.parquet           # 基频 F0 (T)
│   ├── sparc_ema.parquet                  # EMA 发音造影 (T × 12)
│   ├── sparc_loudness.parquet             # 响度 (T)
│   ├── sparc_periodicity.parquet          # 周期性 (T)
│   ├── sparc_pitch.parquet                # SPARC 基频 (T)
│   ├── ppgs.parquet                       # 音素后验概率图 (40 × T)
│   ├── static_features.tsv                # 静态特征 (每录音一行)
│   ├── audio_quality_metrics.tsv          # 音频质量指标 (v3.1 新增)
│   └── *.json                             # 数据字典 (每个特征文件配套)
│
├── metadata/                              # 录音元数据
│   ├── *.parquet                          # 会话/录音记录
│   └── *.json                             # 元数据字典
│
└── phenotype/                             # 表型/临床数据
    ├── confounders/                       # 混杂因素
    │   └── *.tsv + *.json
    ├── demographics/                      # 人口统计
    │   └── *.tsv + *.json
    ├── diagnosis/                         # 疾病诊断 (18 种)
    │   ├── airway_stenosis.tsv
    │   ├── amyotrophic_lateral_sclerosis.tsv
    │   ├── anxiety.tsv
    │   ├── benign_lesions.tsv
    │   ├── bipolar_disorder.tsv
    │   ├── cognitive_impairment.tsv
    │   ├── control.tsv                    # 健康对照
    │   ├── copd_and_asthma.tsv
    │   ├── depression.tsv
    │   ├── glottic_insufficiency.tsv
    │   ├── laryngeal_cancer.tsv
    │   ├── laryngeal_dystonia.tsv
    │   ├── laryngitis.tsv
    │   ├── muscle_tension_dysphonia.tsv
    │   ├── parkinsons_disease.tsv
    │   ├── precancerous_lesions.tsv
    │   ├── unexplained_chronic_cough.tsv
    │   └── unilateral_vocal_fold_paralysis.tsv
    ├── enrollment/                        # 入组信息
    │   └── *.tsv + *.json
    ├── questionnaire/                     # 标准化问卷 (13 种)
    │   ├── adhd_adult.tsv                 # 成人 ADHD
    │   ├── custom_affect_scale.tsv        # 自定情绪量表
    │   ├── dsm5_adult.tsv                 # DSM-5 成人
    │   ├── dyspnea_index.tsv              # 呼吸困难指数
    │   ├── gad7_anxiety.tsv               # GAD-7 焦虑筛查
    │   ├── leicester_cough_questionnaire.tsv  # 莱斯特咳嗽问卷
    │   ├── panas.tsv                      # 正负情绪量表
    │   ├── phq9.tsv                       # PHQ-9 抑郁筛查
    │   ├── productive_vocabulary.tsv      # 产出性词汇
    │   ├── psychiatric_history.tsv        # 精神病史
    │   ├── ptsd_adult.tsv                 # 成人 PTSD
    │   ├── vhi10.tsv                      # Voice Handicap Index-10
    │   └── voice_perception.tsv           # 语音感知
    └── task/                              # 任务信息
        └── *.tsv + *.json

§4.1 DAIMS 标准化字段描述表

字段名 数据类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
participant_id string 参与者唯一标识 “B2AI_001” 分组键 匿名化 ID
session_id string 录音会话 ID “S001” 会话级分组
task_name string 录音任务类型 “sustained_phonation” 任务条件控制 7 种任务类型
spectrogram array(float) 声谱图矩阵 [[0.12, …], …] 时频特征输入 FFT 量化误差 201 × T
mel_spectrogram array(float) 梅尔声谱图 [[0.34, …], …] 听觉感知特征 梅尔滤波近似 60 × T
mfcc array(float) MFCC 系数 [[12.3, …], …] 声学特征分类 倒谱截断误差 60 × T
pitch array(float) 基频轨迹 [120.5, 121.3, …] 韵律特征 80-500Hz 范围外无效 NaN 80-500 Hz
sparc_ema array(float) EMA 发音造影 [[0.1, 0.2, …], …] 构音运动特征 估计精度未报告 T × 12
sparc_loudness array(float) 响度轨迹 [0.45, 0.43, …] 强度特征 20ms 窗口量化 ≥ 0
sparc_periodicity array(float) 周期性/基频置信度 [0.95, 0.92, …] 语音/非语音检测 0-1
ppgs array(float) 音素后验概率 [[0.8, 0.1, …], …] 音素级分析 ASR 模型依赖 40 × T
diagnosis string 疾病诊断标签 “parkinsons_disease” 分类目标 临床诊断准确率 “control” 18 种 + control
age_range string 年龄段 “50-59” 协变量 自报告 离散区间
sex string 性别 “Female” 公平性分析 自报告 Male/Female/Other
phq9_score integer PHQ-9 抑郁评分 12 严重度回归 自评偏差 -1 0-27

§4.2 标签分布统计

注意:以下为基于公开信息的估算分布。具体每种类别的参与者数量需下载数据后从 phenotype/diagnosis/*.tsv 统计。833 名参与者中部分可能同时属于多个疾病类别(共病)。

疾病类别 估计参与者数 占比 说明
语音障碍 ~250-300 ~30-36% 含 9 种具体诊断
神经退行性疾病 ~150-200 ~18-24% 含帕金森/ALS/认知障碍/脑卒中
情绪障碍 ~150-200 ~18-24% 含抑郁/焦虑/双相/PTSD/ADHD
呼吸系统疾病 ~100-150 ~12-18% 含 COPD/哮喘/慢性咳嗽/气道狭窄
健康对照 ~100-150 ~12-18% control 队列

类别不平衡警告:18 种具体诊断中,部分罕见疾病(如喉肌张力障碍、气道狭窄)的参与者数可能少于 30 人,在多标签分类中需特别处理。

§4.3 关键字段描述性统计

  • 声谱图维度:201 × T,T 因录音长度而异(持续元音 ~3 秒 → T ≈ 300;哈佛句子 ~5 秒 → T ≈ 500)
  • 基频范围:男声 80-200 Hz,女声 120-500 Hz(TorchAudio 版检测范围 80-500 Hz)
  • EMA 维度:12(6 个发音器官 × 2D 位置),每个器官的 X/Y 坐标以毫米为单位
  • PPGs 维度:40(40 个音素类别),帧率 100 Hz

§4.4 数据层级关系

参与者 (participant)
  └── 会话 (session) — 一次到访完成多个任务
      ├── 任务录音 (recording) — 单个语音任务的录音
      │   ├── 衍生特征 (spectrogram/mfcc/pitch/...)
      │   ├── 静态特征 (static_features.tsv)
      │   └── 音频质量指标 (audio_quality_metrics.tsv)
      └── 问卷 (questionnaire) — 会话期间填写的标准化问卷
  └── 诊断 (diagnosis) — 参与者级标签,跨会话一致
  └── 人口统计 (demographics) — 参与者级属性

§4.5 缺失值情况

特征类型 记录数 预期数 缺失原因
声谱图 29,278 ~29,278 自由言语段已移除(隐私保护)
SPARC EMA 28,640 ~29,278 部分录音 EMA 提取失败
SPARC 响度 31,855 ~29,278 含非语音段检测
基频(TorchAudio) 32,522 ~29,278 含非语音段检测
问卷评分 因问卷而异 833 部分参与者未完成所有问卷

信息性缺失编码:自由言语相关的声谱图和类似特征已被有意移除以防止再识别——这是隐私保护设计而非数据采集失败。

§5 数据划分与使用建议

§5.1 官方划分

Bridge2AI-Voice 未提供官方 train/val/test 划分

§5.2 推荐划分策略

策略 方法 优点 缺点 适用场景
时间分离划分 enrollment 日期排序,后 15-20% 参与者作为测试集 模拟真实部署场景(模型遇到新入组患者) 可能引入时间偏倚 基础模型评估
分层 K 折交叉验证 按参与者 ID 分组,按疾病类别分层 充分利用小样本 计算成本高 比较模型性能
站点留一法 每次留一个站点作为测试集 评估跨站点泛化性 某些站点样本量小 多中心泛化评估
按参与者分组 同一参与者的所有录音在同一划分 防止数据泄漏 任何划分都必须遵循

⚠️ 关键规则:同一参与者的多条录音必须在同一划分中。按录音而非参与者划分会导致严重的数据泄漏——模型学会识别说话者而非疾病特征。

§5.3 类别不平衡处理

方法 适用场景 推荐参数
Focal Loss 多标签分类 γ=2.0, α=0.25
平衡批次采样 多任务学习 每任务每批次 6 正 6 负
过采样(少数类) 罕见疾病(<30 人) SMOTE 或简单重复
欠采样(多数类) 对照组过大 保留所有疾病样本

§5.4 共病处理

Bridge2AI-Voice 允许同一参与者同时具有多个诊断标签(如帕金森 + 抑郁症)。在训练多标签分类器时:

  • 每种疾病作为独立的二元分类任务
  • 使用 sigmoid 输出(非 softmax),允许同时预测多种疾病
  • 损失函数:BCE-with-logits 或 Focal Loss

§5.5 问卷评分作为辅助目标

标准化问卷(PHQ-9、GAD-7 等)可作为回归辅助任务,与疾病分类任务联合训练。多任务学习可以利用问卷评分的连续信息提升分类性能。

§5.6 外部验证建议

在 Bridge2AI-Voice 上训练的模型应在外部数据集上验证泛化性:

  • mPower(智能手机帕金森,英语)

  • NeuroVoz(西班牙语帕金森)

  • Saarbrücken Voice Database(德语语音障碍)

  • 自行采集的本地队列

§6 AI 就绪指南

§6.1 快速上手

# ========================================
# Bridge2AI-Voice 快速上手 — PyTorch 版
# 环境要求: torch>=2.0, pandas, pyarrow, datasets, librosa, matplotlib
#
# ⚠️ 目录结构预期:
#   请将 PhysioNet 下载的数据解压至 ./data/b2ai-voice/ 目录:
#   ./data/b2ai-voice/
#   ├── features/
#   │   ├── torchaudio_spectrogram.parquet
#   │   ├── torchaudio_mfcc.parquet
#   │   ├── static_features.tsv
#   │   └── ...
#   ├── metadata/
#   └── phenotype/
#       ├── diagnosis/
#       │   ├── parkinsons_disease.tsv
#       │   ├── depression.tsv
#       │   └── ...
#       └── questionnaire/
#           ├── phq9.tsv
#           └── ...
#
#   访问前提:需在 PhysioNet 注册并通过凭证认证 + 签署 DUA
# ========================================

import pandas as pd
import pyarrow.parquet as pq
import numpy as np

# - 1. 加载诊断标签 -
diagnosis_dir = "./data/b2ai-voice/phenotype/diagnosis/"
parkinsonevent-blocked= pd.read_csv(f"{diagnosis_dir}/parkinsons_disease.tsv", sep="\t")
depression = pd.read_csv(f"{diagnosis_dir}/depression.tsv", sep="\t")
conevent-blocked= pd.read_csv(f"{diagnosis_dir}/control.tsv", sep="\t")

print(f"帕金森病参与者: {len(parkinsons)}")
print(f"抑郁症参与者: {len(depression)}")
print(f"健康对照参与者: {len(control)}")

# - 2. 加载静态特征 -
static_features = pd.read_csv(
    "./data/b2ai-voice/features/static_features.tsv", sep="\t"
)
print(f"静态特征: {static_features.shape}")
print(f"特征列: {static_features.columns.tolist()[:10]}...")

# - 3. 加载声谱图 Parquet -
spectrogram_table = pq.read_table(
    "./data/b2ai-voice/features/torchaudio_spectrogram.parquet"
)
spectrogram_df = spectrogram_table.to_pandas()
print(f"声谱图记录数: {len(spectrogram_df)}")

# 查看第一条声谱图
first_spec = np.asarray(spectrogram_df.iloc[0]["spectrogram"])
print(f"声谱图维度: {first_spec.shape}")  # (201, T)

# - 4. 加载 PHQ-9 问卷 -
phq9 = pd.read_csv(
    "./data/b2ai-voice/phenotype/questionnaire/phq9.tsv", sep="\t"
)
print(f"PHQ-9 评分记录: {len(phq9)}")

§6.2 数据获取方式

步骤 操作 说明
1 注册 PhysioNet 账号 https://physionet.org/register/
2 完成 CITI 培训 完成 “Data or Specimens Only Research” 课程
3 申请凭证认证 提交培训证书,等待审核(通常 1-2 周)
4 下载 b2ai-voice v3.1.0 https://physionet.org/content/b2ai-voice/3.1.0/
5 签署 DUA Bridge2AI Voice Registered Access Agreement
6 (可选)申请原始音频 联系 DACO@b2ai-voice.org,需机构签批,通过 Synapse 获取
# 下载(需 PhysioNet 凭证认证)
wget -r -N -c -np user <username> password <password> \
  https://physionet.org/files/b2ai-voice/3.1.0/

# 或使用 PSAPI 工具
pip install wfdb
python -c "import wfdb; wfdb.io.dl_database(''''''''''''''''''''''''''''''''b2ai-voice/3.1.0'''''''''''''''''''''''''''''''', dl_dir=''''''''''''''''''''''''''''''''./data/b2ai-voice/'''''''''''''''''''''''''''''''')"

§6.3 预处理全流程

# ========================================
# Bridge2AI-Voice 预处理 Pipeline
# 从原始 Parquet 特征 → PyTorch Dataset
# ========================================

import torch
from torch.utils.data import Dataset, DataLoader
import pandas as pd
import pyarrow.parquet as pq
import numpy as np
from pathlib import Path

class Bridge2AIVoiceDataset(Dataset):
    """
    Bridge2AI-Voice PyTorch Dataset
    
    支持加载声谱图/MFCC/梅尔声谱图作为输入,
    疾病诊断标签作为输出。
    """
    
    def __init__(
        self,
        data_root: str = "./data/b2ai-voice",
        feature_type: str = "torchaudio_spectrogram",
        diagnoses: list = None,
        max_length: int = 500,  # 最大时间步数(padding/truncation)
        task_filter: str = None,  # 筛选特定任务,如 "sustained_phonation"
    ):
        self.data_root = Path(data_root)
        self.max_length = max_length
        
        # 默认加载的疾病标签
        if diagnoses is None:
            diagnoses = [
                "parkinsons_disease", "depression", "anxiety",
                "copd_and_asthma", "unilateral_vocal_fold_paralysis",
                "airway_stenosis", "cognitive_impairment",
                "amyotrophic_lateral sclerosis"
            ]
        
        # - 加载诊断标签 -
        self.diagnosis_map = {}  # participant_id -> {diagnosis: 0/1}
        diag_dir = self.data_root / "phenotype" / "diagnosis"
        for diag in diagnoses:
            diag_file = diag_dir / f"{diag}.tsv"
            if diag_file.exists():
                df = pd.read_csv(diag_file, sep="\t")
                for _, row in df.iterrows():
                    pid = row.get("participant_id", row.iloc[0])
                    if pid not in self.diagnosis_map:
                        self.diagnosis_map[pid] = {}
                    self.diagnosis_map[pid][diag] = 1
        
        # 标记对照组
        conevent-blocked= diag_dir / "control.tsv"
        if control_file.exists():
            ctrl_df = pd.read_csv(control_file, sep="\t")
            for _, row in ctrl_df.iterrows():
                pid = row.get("participant_id", row.iloc[0])
                if pid not in self.diagnosis_map:
                    self.diagnosis_map[pid] = {}
                for d in diagnoses:
                    self.diagnosis_map[pid].setdefault(d, 0)
        
        # - 加载特征 -
        feature_file = self.data_root / "features" / f"{feature_type}.parquet"
        table = pq.read_table(feature_file)
        self.features_df = table.to_pandas()
        
        # 筛选任务类型
        if task_filter and "task_name" in self.features_df.columns:
            self.features_df = self.features_df[
                self.features_df["task_name"] == task_filter
            ].reset_index(drop=True)
        
        self.diagnoses = diagnoses
        self.feature_type = feature_type
    
    def __len__(self):
        return len(self.features_df)
    
    def __getitem__(self, idx):
        row = self.features_df.iloc[idx]
        
        # 获取特征矩阵
        feature = np.asarray(row[self.feature_type.split("_", 1)[-1]] 
                            if "_" in row.index[-1] else row.iloc[-1])
        
        # Padding / Truncation 到固定长度
        if feature.ndim == 1:
            feature = feature.reshape(1, -1)
        
        T = feature.shape[-1]
        if T < self.max_length:
            pad_width = self.max_length - T
            feature = np.pad(feature, ((0, 0), (0, pad_width)), mode="constant")
        else:
            feature = feature[:, :self.max_length]
        
        # 获取标签
        pid = row.get("participant_id", row.iloc[0])
        labels = self.diagnosis_map.get(pid, {})
        label_vec = np.array(
            [labels.get(d, 0) for d in self.diagnoses], dtype=np.float32
        )
        
        return {
            "features": torch.FloatTensor(feature),
            "labels": torch.FloatTensor(label_vec),
            "participant_id": pid,
        }


# - 使用示例 -
dataset = Bridge2AIVoiceDataset(
    data_root="./data/b2ai-voice",
    feature_type="torchaudio_spectrogram",
    diagnoses=["parkinsons_disease", "depression"],
    max_length=500,
    task_filter="sustained_phonation",
)

dataloader = DataLoader(
    dataset, batch_size=32, shuffle=True,
    collate_fn=None, num_workers=4
)

for batch in dataloader:
    print(f"特征: {batch[''''''''''''''''''''''''''''''''features''''''''''''''''''''''''''''''''].shape}")  # (32, 201, 500)
    print(f"标签: {batch[''''''''''''''''''''''''''''''''labels''''''''''''''''''''''''''''''''].shape}")    # (32, 2)
    break

§6.4 框架加载

<details>
<summary>TensorFlow / Keras 版 DataLoader</summary>

import tensorflow as tf
import pandas as pd
import pyarrow.parquet as pq
import numpy as np

def load_b2ai_tf_dataset(data_root, feature_type="torchaudio_mfcc",
                          max_length=500, batch_size=32):
    # 加载 Parquet
    table = pq.read_table(f"{data_root}/features/{feature_type}.parquet")
    df = table.to_pandas()
    
    # 提取特征矩阵并 padding
    features = []
    for _, row in df.iterrows():
        feat = np.asarray(row.iloc[-1])
        if feat.ndim == 1:
            feat = feat.reshape(1, -1)
        T = feat.shape[-1]
        if T < max_length:
            feat = np.pad(feat, ((0, 0), (0, max_length - T)), mode="constant")
        else:
            feat = feat[:, :max_length]
        features.append(feat)
    
    features = np.stack(features)  # (N, F, T)
    features = np.transpose(features, (0, 2, 1))  # (N, T, F) for TF
    
    # 构建 tf.data.Dataset
    dataset = tf.data.Dataset.from_tensor_slices(features.astype(np.float32))
    dataset = dataset.batch(batch_size).prefetch(tf.data.AUTOTUNE)
    
    return dataset

</details>

§6.5 常见坑点

⚠️ 坑点 1:按录音而非参与者划分导致数据泄漏(分类:数据泄漏)

问题:同一参与者的多条录音如果分散到 train 和 test 中,模型会学会识别说话者声纹而非疾病特征,导致测试性能虚高。

症状:测试集 AUROC 异常高(>0.99),但模型在外部数据集上性能骤降。

解决:使用 GroupKFoldGroupShuffleSplit,以 participant_id 为分组键。VoiceFM 论文采用参与者级时间分离划分(前 846 人训练,后 138 人验证)。

参考:VoiceFM (2026, medRxiv) — 时间分离验证队列设计。

⚠️ 坑点 2:类别极度不平衡被忽视(分类:偏倚陷阱)

问题:18 种疾病中,罕见疾病(如喉肌张力障碍、气道狭窄)的参与者可能少于 30 人,而健康对照和常见疾病(如帕金森)可能有上百人。直接使用 BCE Loss 会导致模型倾向于预测全阴性。

症状:整体 Loss 下降但罕见疾病 AUROC 接近 0.5(随机水平)。

解决

  1. 使用 Focal Loss(γ=2.0, α=0.25)替代 BCE
  2. 平衡批次采样:每任务每批次 6 正 6 负(MARVEL 方案)
  3. 罕见类别合并:将参与者数 <30 的疾病合并到上级类别(如所有语音障碍合为一类)

参考:MARVEL (Piao et al., 2025, arXiv:2508.20717) — 9 任务平衡批次设计。

⚠️ 坑点 3:公开版无原始音频限制了端到端模型训练(分类:工程陷阱)

问题:PhysioNet 公开版仅含衍生特征(声谱图、MFCC 等),不含原始音频波形。如果你的模型架构需要原始波形输入(如 raw waveform CNN),则无法直接使用公开数据。

症状:模型输入维度与数据集不匹配,无法训练。

解决

  1. 推荐方案:使用衍生特征作为输入(MFCC / 梅尔声谱图 → CNN 或 Transformer),这是大多数 SOTA 模型(MARVEL、VoiceFM)的做法
  2. 替代方案:申请 Synapse 受控访问获取原始音频(需机构签批 + DACO 审批,周期数周至数月)
  3. 折中方案:使用声谱图逆变换近似重建波形(但会丢失相位信息,不推荐用于正式研究)

参考:PhysioNet b2ai-voice 页面 — “Original audio recordings are not included in this version.”

⚠️ 坑点 4:多频率特征的时间轴对齐问题(分类:预处理陷阱)

问题:不同衍生特征使用不同的帧率/窗口——TorchAudio 声谱图使用 10ms 跳步(100 Hz),SPARC 使用 20ms 窗口(50 Hz),PPGs 使用 100 Hz 帧率。如果同时使用多种特征作为多通道输入,时间轴不对齐会导致特征错位。

症状:多特征融合模型性能不如单特征,且训练出现 NaN。

解决

  1. 将所有特征重采样到统一帧率(推荐 100 Hz)
  2. 或使用各自独立的编码器分支,在更高层级融合(MARVEL 双分支架构)

参考:MARVEL — ResNet18 分支处理 MFCC + EfficientNet-B0 分支处理梅尔声谱图,特征级融合。

⚠️ 坑点 5:自由言语特征已被移除但容易被忽视(分类:标签理解)

问题:v2.0 起移除了自由言语(free speech)任务相关的声谱图和类似特征,以防止通过声谱图逆推语音内容进行再识别。如果不了解这一变更,可能误以为数据缺失是采集失败。

症状:部分参与者的部分任务缺少声谱图记录,但其他特征(如基频、响度)仍存在。

解决:在数据加载时区分"信息性缺失"(自由言语移除)和"技术性缺失"(提取失败)。对于自由言语任务,仅使用不编码内容的特征(如基频、响度、周期性)。

参考:Bridge2AI-Voice v2.0 变更日志 — “Removed free speech spectrograms and similar features for privacy.”

⚠️ 坑点 6:跨站点录音环境差异未被控制(分类:偏倚陷阱)

问题:5 个站点的录音环境(房间声学、麦克风型号、背景噪声)存在差异。如果不控制站点变量,模型可能学到站点特征而非疾病特征——某些疾病可能在特定站点过度代表。

症状:模型在留一站点验证中性能下降显著(>10% AUROC),且混淆矩阵显示站点与疾病高度混淆。

解决

  1. 加入站点作为协变量(在模型输入中增加 site one-hot 编码,训练后移除)
  2. 使用域自适应(Domain Adversarial Neural Network, DANN)
  3. 使用站点留一法评估跨站点泛化性
  4. 录音环境归一化(如 channel normalization、reverberation compensation)

参考:Caufield et al. (2025) — “few consistent standards for collecting voice data… recording device effects, environment and channel effects.”

§6.6 数据增强策略

方法 安全性 说明 推荐参数
SpecAugment(时间掩码) ✅ 安全 在声谱图上随机掩码连续时间步 掩码宽度 ≤30 帧
SpecAugment(频率掩码) ✅ 安全 在声谱图上随机掩码连续频率带 掩码宽度 ≤20 bins
时间拉伸/压缩 ✅ 安全 使用相位声码器调整语速 比例 0.8-1.2
音调平移 ✅ 安全 整体偏移基频 ±2 半音
添加背景噪声 ⚠️ 谨慎 模拟真实环境噪声 SNR ≥ 15 dB,注意不引入与疾病相关的噪声模式
Mixup ✅ 安全 混合两条样本的特征和标签 α=0.2
Cutout ✅ 安全 随机置零声谱图矩形区域 大小 ≤50×50
语速 + 音调组合 ⚠️ 谨慎 同时调整语速和音调可能改变疾病特征 仅在小范围内组合
原始波形 SpecAugment ❌ 不适用 公开版无原始波形
说话人变声 ❌ 危险 改变声纹可能消除疾病相关特征

§6.7 推荐模型配置

模型架构 输入特征 预训练 推荐场景 预期性能 参考
VoiceFM(Whisper + 对比学习) 梅尔声谱图 + 临床元数据 Whisper large-v2 基础模型 / 跨疾病迁移 AUROC 0.952 (5 任务) Bensoussan et al., 2026, medRxiv
MARVEL(ResNet18 + EfficientNet-B0) MFCC + 梅尔声谱图 ImageNet 多任务多疾病筛查 AUROC 0.78 (9 任务) Piao et al., 2025, arXiv
Two-stage FFNN + Attention 手工特征 + ResNet-18 深度特征 ImageNet 可解释性优先 Macro AUC 0.810 IEEE BIBM 2025
AST(Audio Spectrogram Transformer) 声谱图 ImageNet-21k 单疾病精细分类 原始 AST 论文
HuBERT / Wav2Vec2 微调 需原始音频 预训练 有原始音频时 AUROC 0.885 (Frozen) VoiceFM 基线

§6.8 硬件配置

配置级别 GPU 显存 磁盘 训练时间(估算) 适用场景
最低 RTX 3060 12 GB 50 GB 4-8 小时 单疾病分类 / 小模型
推荐 RTX 4090 / A100 24-40 GB 100 GB 2-4 小时 多任务 / MARVEL 级
基础模型 A100 × 2-4 80 GB × N 200 GB 12-24 小时 VoiceFM 级 / 对比学习
云端 Colab Pro (A100) 40 GB 100 GB 4-8 小时 快速实验

§6.9 评估指标

# ========================================
# Bridge2AI-Voice 评估指标计算
# 多标签分类标准评估流程
# ========================================

import numpy as np
from sklearn.metrics import (
    roc_auc_score, f1_score, precision_recall_curve,
    average_precision_score, confusion_matrix
)

def evaluate_multilabel(y_true, y_pred, y_prob, disease_names):
    """
    多标签疾病分类评估
    
    Parameters:
        y_true: (N, D) 真实标签矩阵
        y_pred: (N, D) 预测标签矩阵(阈值化后)
        y_prob: (N, D) 预测概率矩阵
        disease_names: list 疾病名称
    """
    results = {}
    
    for i, name in enumerate(disease_names):
        # AUROC
        try:
            auc = roc_auc_score(y_true[:, i], y_prob[:, i])
        except ValueError:
            auc = float(''''''''''''''''''''''''''''''''nan'''''''''''''''''''''''''''''''')  # 该类别只有一个值
        
        # F1 (binary)
        f1 = f1_score(y_true[:, i], y_pred[:, i], zero_division=0)
        
        # Average Precision (PR-AUC)
        ap = average_precision_score(y_true[:, i], y_prob[:, i])
        
        # Sensitivity / Specificity
        tn, fp, fn, tp = confusion_matrix(
            y_true[:, i], y_pred[:, i], labels=[0, 1]
        ).ravel()
        sensitivity = tp / (tp + fn) if (tp + fn) > 0 else 0
        specificity = tn / (tn + fp) if (tn + fp) > 0 else 0
        
        results[name] = {
            "AUROC": auc,
            "F1": f1,
            "AP": ap,
            "Sensitivity": sensitivity,
            "Specificity": specificity,
        }
        
        print(f"{name:40s} | AUROC={auc:.3f} | F1={f1:.3f} | "
              f"AP={ap:.3f} | Sens={sensitivity:.3f} | Spec={specificity:.3f}")
    
    # 宏平均
    macro_auc = np.nanmean([r["AUROC"] for r in results.values()])
    macro_f1 = np.nanmean([r["F1"] for r in results.values()])
    print(f"\n{''''''''''''''''''''''''''''''''Macro Average'''''''''''''''''''''''''''''''':40s} | AUROC={macro_auc:.3f} | F1={macro_f1:.3f}")
    
    return results

# - 不确定性量化 (MC Dropout) -
def mc_dropout_uncertainty(model, x, n_samples=50):
    """
    Monte Carlo Dropout 不确定性量化
    用于评估预测可靠性
    """
    model.train()  # 启用 dropout
    predictionevent-blocked= []
    with torch.no_grad():
        for _ in range(n_samples):
            pred = torch.sigmoid(model(x))
            predictions.append(pred.cpu().numpy())
    
    predictionevent-blocked= np.stack(predictions)  # (n_samples, N, D)
    mean_pred = predictions.mean(axis=0)
    pred_std = predictions.std(axis=0)
    pred_entropy = -np.sum(
        mean_pred * np.log(mean_pred + 1e-8) + 
        (1 - mean_pred) * np.log(1 - mean_pred + 1e-8),
        axis=-1
    )
    
    return mean_pred, pred_std, pred_entropy

§6.10 MLOps 笔记

  • 数据版本管理:使用 DVC 或 git-LFS 管理 Parquet/TSV 文件,版本号与 PhysioNet 版本对齐

  • 特征缓存:声谱图加载较慢,建议预加载到内存或 SSD 缓存

  • b2aiprep 管道:如需从原始音频重新提取特征,使用官方 b2aiprep v3.0.0 库(https://github.com/sensein/b2aiprep)

  • REDCap 集成:Bridge2AI Voice REDCap v3.23.0(Zenodo: 10.5281/zenodo.14989503)提供了数据采集表单的标准实现

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
选择偏倚 参与者来自学术医学中心专科门诊,病情较重,不代表社区早期患者 使用外部数据集(mPower 等)验证社区泛化性
语言偏倚 主要为英语母语者,声学特征可能无法迁移到其他语言 VoiceFM 已证明可零样本迁移到西班牙语(AUROC 0.93),但仍需更多语言验证
站点偏倚 5 个站点的录音环境差异可能被模型当作疾病特征学习 站点留一法评估 + 域自适应
类别不平衡 18 种疾病样本量差异大,罕见疾病代表不足 Focal Loss + 平衡批次 + 罕见类合并
自选择偏倚 自愿参与研究的患者可能具有特殊性 无法从数据集层面缓解
设备偏倚 录音设备未完全统一(具体型号未公开) 使用衍生特征而非原始波形可部分缓解

§7.2 标注质量评估

标注类型 准确性 一致性 局限性
临床诊断 高(专科医师诊断) 未报告跨站点一致性 诊断标准可能因站点而异
问卷自评 中(自填问卷存在主观偏差) 问卷本身经过临床验证 自评偏差(如抑郁症患者可能低估症状)
衍生特征 高(确定性算法) 完全一致(确定性提取) 算法版本差异(TorchAudio vs SPARC 基频)

§7.3 泛化性讨论

场景 失效风险 证据
跨语言部署 高 — 英语训练模型在其他语言上可能失效 VoiceFM 在西班牙语上仍有效(AUROC 0.93),但未测试亚洲语言
跨设备部署 中 — 智能手机录音与临床录音存在域差距 VoiceFM 在 mPower 智能手机数据上 AUROC 0.87(vs 内部 0.95+)
社区筛查 高 — 专科门诊人群不代表社区人群 数据集来自学术医学中心,社区早期患者声学特征可能不同
儿科应用 高 — 成人与儿童声学特征差异大 需使用独立的 b2ai-voice-pediatric 数据集
实时诊断 高 — 筛查模型不等于诊断工具 所有模型均为筛查级别,不替代临床诊断

§7.4 伦理考量

  1. 语音再识别风险:语音包含丰富的个人身份信息(声纹、口音、说话习惯)。Bridge2AI-Voice 通过仅释放衍生特征(不含原始音频)来降低再识别风险,但声谱图仍可能包含部分声纹信息。
  2. 自由言语移除:v2.0 起移除了自由言语相关的衍生特征,因为自由言语可能包含可识别的个人故事或敏感内容。
  3. 原始音频受控访问:原始音频通过 Synapse 受控访问发布,需机构签批和 DACO 审批,确保仅限合规研究使用。
  4. 公平性考量:数据集主要来自英语母语的北美人群,模型在其他种族/语言/文化群体上的公平性尚未系统评估。
  5. 知情同意:所有参与者均经 IRB 批准的知情同意流程(University of South Florida IRB, STUDY004890)。

§7.5 公平性评估

# ========================================
# 跨群体公平性评估
# ========================================

def fairness_audit(y_true, y_prob, group_labels, group_names):
    """
    评估模型在不同人口统计群体上的性能差异
    
    Parameters:
        y_true: (N,) 真实标签
        y_prob: (N,) 预测概率
        group_labels: (N,) 群体编码
        group_names: list 群体名称
    """
    from sklearn.metrics import roc_auc_score
    
    print(f"{''''''''''''''''''''''''''''''''Group'''''''''''''''''''''''''''''''':15s} | {''''''''''''''''''''''''''''''''N'''''''''''''''''''''''''''''''':>5s} | {''''''''''''''''''''''''''''''''AUROC'''''''''''''''''''''''''''''''':>7s} | {''''''''''''''''''''''''''''''''Pos%'''''''''''''''''''''''''''''''':>6s}")
    print("-" * 45)
    
    aucs = []
    for g, name in enumerate(group_names):
        mask = group_labels == g
        if mask.sum() < 10:
            print(f"{name:15s} | {mask.sum():5d} |   N/A  |   N/A")
            continue
        try:
            auc = roc_auc_score(y_true[mask], y_prob[mask])
        except ValueError:
            auc = float(''''''''''''''''''''''''''''''''nan'''''''''''''''''''''''''''''''')
        pos_rate = y_true[mask].mean()
        aucs.append(auc)
        print(f"{name:15s} | {mask.sum():5d} | {auc:.3f}  | {pos_rate:.3f}")
    
    if len(aucs) > 1:
        gap = max(aucs) - min(aucs)
        print(f"\nAUROC Gap (max-min): {gap:.3f}")
        if gap > 0.1:
            print("⚠️ 公平性警告: 群体间 AUROC 差距 > 0.1,需进一步调查")

§7.6 数据漂移提示

  • 版本漂移:v1.0(306 人)→ v3.1.0(833 人)的参与者规模翻了近 3 倍,不同版本训练的模型性能不可直接比较
  • 特征漂移:v2.0 移除了自由言语特征,v3.0 新增了 SPARC/PPGs 特征——跨版本特征集不兼容
  • 设备漂移:新增站点的录音设备可能与原站点不同

§7.7 DAIMS 24 项数据就绪度评估

# 评估项 状态 说明
1 数据集基础元数据 名称、版本、DOI、创建者、许可证完整
2 数据格式与结构文档 每个文件配套 JSON 数据字典
3 数据采集协议文档 标准化录音协议 + REDCap
4 采集设备规格 ⚠️ 录音设备型号未详细公开
5 参与者入排标准 每种疾病有明确入排标准
6 知情同意与伦理审批 USF IRB STUDY004890 + NIH 资助
7 数据去标识化方法 HIPAA Safe Harbor + 自由言语移除
8 数据质量指标 v3.1 新增 audio_quality_metrics.tsv
9 标签定义与来源 专科医师临床诊断 + 标准化问卷
10 标注者资质 各站点专科医师
11 标注一致性 ⚠️ 跨站点诊断一致性未报告
12 类别分布统计 ⚠️ 未在公开文档中给出精确分布
13 缺失值处理 信息性缺失(自由言语移除)已文档化
14 数据划分建议 无官方 train/val/test 划分
15 预处理管道文档 b2aiprep v3.0.0 开源
16 衍生特征提取方法 8 类特征各有明确参数
17 已知偏倚文档化 选择偏倚、语言偏倚等已识别
18 外部验证建议 mPower / NeuroVoz 等外部数据集推荐
19 数据使用许可 Bridge2AI Voice Registered Access License + DUA
20 DUO 机器可读标签 HMB + NPUNCU
21 版本变更日志 6 个版本完整变更记录
22 引用格式 PhysioNet 标准引用 + BibTeX
23 相关工具与代码 b2aiprep GitHub + REDCap Zenodo
24 社区使用案例 VoiceFM / MARVEL / Two-stage 等多篇论文

DAIMS 评分:18 / 24(⭐⭐⭐⭐ 4/5)

评分解读良好 — 接近优秀,需少量预处理。

对你意味着什么:该数据集的规范性总体很好,作为 NIH 资助的旗舰项目,在伦理合规、特征提取标准化和文档化方面表现出色。主要扣分项集中在:无官方数据划分(需自行设计并报告)、采集设备规格未详细公开、跨站点诊断一致性未报告、精确类别分布未在公开文档中给出。建议在训练前执行以下操作:(1) 按 participant_id 分组划分数据,采用时间分离或分层 K 折策略;(2) 控制站点变量(加入 site 协变量或使用域自适应);(3) 下载后统计 18 种疾病的精确分布,对样本量 <30 的类别进行合并或使用 Focal Loss;(4) 参考 VoiceFM 的划分方案(前 846 人训练 / 后 138 人验证)以保证可比性。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 样本量 评估任务 性能指标 相对内部测试集变化 关键发现
NeuroVoz(西班牙语 PD) University of Málaga 107 人 帕金森病检测(零样本) AUROC 0.93 ± 0.02 -2.2% VoiceFM 零样本迁移有效,信号以构音特征为主
mPower(智能手机 PD) Sage Bionetworks 585 人(留出) 帕金森病检测(微调后) AUROC 0.87 -8.2% 智能手机录音域差距显著,持续元音 0.85 / 倒数 0.80
Saarbrücken Voice DB(德语) Saarland University 2,000+ 语音障碍检测 未报告 尚未有 Bridge2AI-Voice 模型在此数据集上验证
儿科队列(b2ai-voice-pediatric) Bridge2AI Consortium 300 人 自闭症 / 言语发育迟缓 未报告 独立数据集,成人与儿科声学特征差异大

约束:本矩阵仅记录有同行评审论文或预印本支撑的外部评估结果。

§8 基准性能与生态

§8.1 排行榜

排名 模型 性能指标 年份 关键技术 完整引用 代码
1 VoiceFM-Whisper AUROC 0.952(5 任务均值) 2026 Whisper large-v2 编码器 + 表格 Transformer 对比学习 Bensoussan, Y. et al. (2026). “Towards A Foundation Model for Clinical Voice Biomarkers.” medRxiv. doi:10.64898/2026.05.28.26354346
2 VoiceFM-HuBERT AUROC 0.938(5 任务均值) 2026 HuBERT 编码器 + 对比学习 同上
3 MARVEL AUROC 0.78(9 任务均值)/ AD-MCI 0.97 / PD 0.81 2025 ResNet18(MFCC)+ EfficientNet-B0(梅尔声谱图)双分支多任务 Piao et al. (2025). “Unified Multi-task Learning for Voice-Based Detection of Diverse Clinical Conditions.” arXiv:2508.20717.
4 Two-stage FFNN+Attention Macro AUC 0.810 / Macro F1 0.610 2025 手工特征 + ResNet-18 深度特征融合 + Focal Loss + MC Dropout UQ IEEE BIBM 2025. “From Voice to Diagnosis: A Hybrid Approach to Multi-Label Disease Classification.”
5 Frozen Whisper(基线) AUROC 0.926(5 任务均值) 2026 Whisper large-v2 冻结嵌入 + 线性探针 同 VoiceFM
6 Frozen HuBERT(基线) AUROC 0.885(5 任务均值) 2026 HuBERT 冻结嵌入 + 线性探针 同 VoiceFM

⚠️ 不可直接比较的原因

  • VoiceFM 评估 5 任务(对照组 vs 4 类疾病),MARVEL 评估 9 任务(9 种具体疾病)——任务粒度不同
  • VoiceFM 使用 v3.0 数据(984 人),MARVEL 使用 v2.0 数据(442 人)——版本不同
  • Two-stage 使用未指定版本,评估指标为 Macro AUC(非 AUROC 均值)
  • 各论文的阳性/阴性定义、划分策略、任务筛选标准可能不同

§8.2 SOTA 总结与选型建议

你的需求 推荐模型 理由
跨疾病通用筛查 / 基础模型 VoiceFM 当前最强基础模型,支持零样本迁移
多疾病同时检测 / 资源受限 MARVEL 双分支轻量架构,9 任务同时推理
可解释性优先 / 不确定性量化 Two-stage FFNN+UQ MC Dropout 提供预测可靠性评估
快速基线 Frozen Whisper + 线性探针 无需训练,直接提取嵌入
单疾病精细分类 AST(Audio Spectrogram Transformer) 声谱图 Transformer,适合单任务优化

§8.3 评估协议

Bridge2AI-Voice 无官方评估协议。以下为社区共识实践:

  1. 划分:按 participant_id 分组,时间分离或分层 K 折
  2. 指标:主指标 AUROC,辅助指标 F1 / AP / Sensitivity / Specificity
  3. 多标签:每种疾病独立计算 AUROC,报告宏平均
  4. 报告:必须报告划分策略、使用版本号、任务筛选条件
  5. 外部验证:至少在一个外部数据集上验证泛化性

§8.4 相关数据集

数据集 类型 规模 与 Bridge2AI-Voice 的关系
b2ai-voice-pediatric 同系列 300 人 / 22,620 录音 儿科版,独立发布于 PhysioNet
mPower 互补 9,424 人 智能手机帕金森,常用作外部验证
NeuroVoz 互补 204 人 西班牙语帕金森,跨语言验证
Saarbrücken Voice DB 互补 2,000+ 德语语音障碍,跨语言验证
MIT-BIH 不同领域 47 人 心电信号,非语音

§8.5 关键论文

  1. Bensoussan, Y. et al. (2026). “Towards A Foundation Model for Clinical Voice Biomarkers.” medRxiv. doi:10.64898/2026.05.28.26354346 — 提出 VoiceFM 对比学习基础模型,5 任务均值 AUROC 0.952,零样本迁移西班牙语 PD AUROC 0.93。

  2. Piao, M. et al. (2025). “Unified Multi-task Learning for Voice-Based Detection of Diverse Clinical Conditions (MARVEL).” arXiv:2508.20717. — 双分支多任务框架,9 种疾病同时检测,AD/MCI AUROC 0.97。

  3. IEEE BIBM 2025. “From Voice to Diagnosis: A Hybrid Approach to Multi-Label Disease Classification with Uncertainty Awareness.” — 手工特征 + 深度特征融合 + MC Dropout 不确定性量化,Macro AUC 0.810。

  4. Rameau, A. et al. (2024). “Developing Multi-Disorder Voice Protocols: A team science approach.” Proc. Interspeech 2024, 1445-1449. doi:10.21437/Interspeech.2024-1926 — Bridge2AI-Voice 数据采集协议设计。

  5. Bensoussan, Y. et al. (2024). “Bridge2AI Voice REDCap (v3.23.0).” Zenodo. doi:10.5281/zenodo.14989503 — REDCap 数据采集表单标准实现。

  6. Caufield, B. et al. (2025). Bridge2AI-Voice 元数据分析与标准化研究 — 识别语音数据采集标准化差距和隐私挑战。

  7. Cannon, C. et al. (2025). Bridge2AI AI-Ready 数据集标准 — FAIR 原则、溯源、质量控制、文件级清单和受控词汇表要求。

§8.6 社区活跃度

指标 数值 截至日期
PhysioNet 页面访问 活跃 2026-08
版本迭代频率 6 个版本 / 18 个月 2024-11 ~ 2026-05
配套论文 3 篇 SOTA(2025-2026) 2026-08
官方工具 b2aiprep GitHub 活跃
NIH 资助 3OT2OD032720-01S1 持续中

§8.7 生态快照

资源 类型 链接 Star/Fork(截至 2026-08) 为什么值得关注
b2aiprep 工具库 GitHub 活跃 官方特征提取管道,可从原始音频复现全部 8 类衍生特征
Bridge2AI Voice REDCap 工具库 Zenodo v3.23.0 REDCap 数据采集表单标准实现,可用于扩展采集
Bridge2AI-Voice 官网 文档 b2ai-voice.org 项目官网,含协议文档、团队信息和更新公告
Bridge2AI 官网 文档 bridge2ai.org NIH Bridge2AI 计划总站点,含其他 Grand Challenge 信息
Synapse 受控访问 数据 Synapse:syn72370534 原始音频波形受控访问申请入口

§9 相关资源与引用

§9.1 官方资源

资源 链接
PhysioNet 数据页 https://physionet.org/content/b2ai-voice/3.1.0/
项目官网 https://b2ai-voice.org/
文档站 https://docs.b2ai-voice.org/
b2aiprep GitHub https://github.com/sensein/b2aiprep
REDCap Zenodo https://zenodo.org/records/14989503
原始音频申请 DACO@b2ai-voice.org

§9.2 标准引用

Bensoussan, Y., Sigaras, A., Rameau, A., Elemento, O., Powell, M., Dorr, D., Payne, P., Ravitsky, V., Bélisle-Pipon, J., Bahr, R., Watts, S., Bolser, D., Siu, J., Lerner-Ellis, J., Rudzicz, F., Boyer, M., Abdel-Aty, Y., … Ghosh, S. (2026). Bridge2AI-Voice: An ethically-sourced, diverse voice dataset linked to health information (version 3.1.0). PhysioNet. RRID:SCR_007345. https://doi.org/10.13026/8xbn-nq66

§9.3 BibTeX

@article{PhysioNet-b2ai-voice-3.1.0,
  author = {Bensoussan, Yael and Sigaras, Alexandros and Rameau, Anais and Elemento, Olivier and Powell, Maria and Dorr, David and Payne, Philip and Ravitsky, Vardit and B{\''''''''''''''''''''''''''''''''e}lisle-Pipon, Jean-Christophe and Bahr, Ruth and Watts, Stephanie and Bolser, Donald and Siu, Jennifer and Lerner-Ellis, Jordan and Rudzicz, Frank and Boyer, Micah and Abdel-Aty, Yassmeen and others and Ghosh, Satrajit},
  title = {{Bridge2AI-Voice: An ethically-sourced, diverse voice dataset linked to health information}},
  journal = {{PhysioNet}},
  year = {2026},
  monevent-blocked= may,
  note = {Version 3.1.0},
  doi = {10.13026/8xbn-nq66},
  url = {https://doi.org/10.13026/8xbn-nq66}
}

§9.4 平台引用

Pollard, T., Moody, B. E., Lehman, L., Gow, B., Fernandes, C., Xie, C., Johnson, A., Mark, R. G., & Heldt, T. (2026). PhysioNet as a global platform for biomedical research. Nature Health. https://doi.org/10.1038/s44360-026-00096-z

§9.5 数据使用协议

使用 Bridge2AI-Voice 数据集需遵守以下协议:

  1. Bridge2AI Voice Registered Access License — 数据使用许可
  2. Bridge2AI Voice Registered Access Agreement — 数据使用协议
  3. PhysioNet 凭证认证 — 需完成 CITI 培训并通过凭证认证
  4. 原始音频额外审批 — 需机构签批 + DACO 审批(通过 Synapse)

§9.6 致谢

使用该数据集时请致谢:

This study used the Bridge2AI-Voice dataset, supported by the NIH Common Fund Bridge2AI program (grant 3OT2OD032720-01S1). Data were provided by the Bridge2AI-Voice Consortium.

§9.7 相关千方百科条目

  • MIMIC-IV-Waveform — 重症监护生理波形数据集(信号/波形类)

  • WESAD — 穿戴式压力与情感检测数据集(生理信号类)

  • HLS-CMDS — 高保真心音与肺音数据集(音频类)

  • MIT-BIH Arrhythmia — 心律失常标准心电数据库(信号类)

§10 AI 使用声明卡

字段 内容
AI 模型 Claude 3.5 Sonnet (2024) — 撰写百科条目结构和正文
AI 参与范围 研究资料整合 + 文档撰写 + 代码示例生成
输入文档 (1) Bridge2AI-Voice PhysioNet 官方页面 v3.1.0 (2) VoiceFM 预印本 (medRxiv 2026) (3) MARVEL 论文 (arXiv:2508.20717) (4) IEEE BIBM 2025 论文 (5) Bridge2AI 官方公告 (6) 《Global Medical AI Datasets》PDF
最后人工审核日期 2026-08-04

人工校验表

内容模块 审核者 审核方式 审核状态
§2 医学背景 千方病案医学编辑部 交叉审核 ✅ 已通过
§3 数据规格 千方病案医学编辑部 与 PhysioNet 官方文档交叉比对 ✅ 已验证
§4 DAIMS 数据字典 千方病案医学编辑部 与 JSON 数据字典交叉比对 ✅ 已验证
§6 代码示例 千方病案医学编辑部 逻辑审查 ✅ 已通过
§7 偏倚分析 千方病案医学编辑部 交叉审核 ✅ 已通过
§8 基准性能 千方病案医学编辑部 与原始论文交叉比对 ✅ 已验证

页面状态:published(全部内容已完成审核并发布)

返回 AI Ready 数据集