这是一个在生物医学自然语言处理(BioNLP)领域非常著名的生物医学问答(Question Answering)数据集。该数据集最初由匹兹堡大学的 Qiao Jin (金乔) 等人在 2019 年的 EMNLP 会议上发布。

以下是关于该数据集的详细介绍:

1. 数据集的核心任务

PubMedQA 的任务是根据给定的 PubMed 论文摘要(Context),回答一个科研问题(Question)。
回答的格式主要分为两部分:

  • 简短回答(分类任务):必须是 yes(是)、no(否)或 maybe(可能/不确定)中的一个。
  • 长回答(生成/抽取任务):摘要中的结论部分,作为对问题的详细解释。

2. 数据来源与构造方式

这个数据集的数据来源于 PubMed 数据库中的数百万篇生物医学文献。它的构造方式非常有创意:

  • 问题 (Question):通常是论文的标题(例如:“Do preoperative statins reduce atrial fibrillation…?”)。
  • 上下文 (Context):是论文的摘要正文(Structured Abstract),但不包含最后的“结论”部分。
  • 答案 (Answer)
    • 长答案:即被移除的摘要“结论”部分。
    • 标签:由标注者根据结论判断出的 yes/no/maybe

3. 数据集的三个子集

PubMedQA 为了适应不同的训练策略,被划分成了三个部分:

  1. PQA-L (Labeled) - 人工标注集
    • 包含 1,000 个由专家手动标注的数据对。
    • 这是质量最高的部分,通常用于测试(Test)或少样本学习(Few-shot)的验证。
  2. PQA-U (Unlabeled) -以此类推的未标注集
    • 包含约 61,200 个数据。
    • 这些数据虽然没有人工给出的 yes/no/maybe 标签,但依然保留了问题、摘要正文和结论。可以通过远程监督或半监督学习来利用。
  3. PQA-A (Artificial) - 自动生成的合成集
    • 包含约 211,300 个数据。
    • 这部分是通过简单的启发式规则自动生成的标签,噪音相对较大,通常用于模型的预训练(Pre-training)。

4. 为什么这个数据集很重要?

  • 推理能力 (Reasoning):与简单的提取式问答(如 SQuAD)不同,PubMedQA 往往需要模型对摘要中的定量结果(如 p值、置信区间、样本量对比)进行逻辑推理,才能断定结论是 Yes 还是 No。
  • 领域专业性:它是衡量大型语言模型(如 BioBERT, PubMedBERT, GPT-4 等)在医学领域理解能力的重要基准之一(它是 BLURB benchmark 的一部分)。

5. 快速使用代码(Hugging Face)

如果你想在 Python 中加载它,可以使用 Hugging Face 的 datasets 库:

from datasets import load_dataset

# 加载数据集
dataset = load_dataset("qiaojin/PubMedQA", "pqa_l") # 加载人工标注的子集 (Labeled)

# 查看一条数据
print(dataset['train'][0])

总结来说,这是一个主要用于训练和测试 AI 模型阅读医学文献并得出正确结论能力的数据集。如果你在做医疗大模型(Med-LLM)相关的工作,这几乎是一个必测的 Benchmark。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐