SciR
收藏资源简介:
SciR是一个多文档科学推理基准,用于评估大型语言模型在演绎、归纳和因果溯因三种科学推理形式上的表现,通过参数化控制推理复杂性和前提混淆程度,生成具有可验证真实值的任务。
SciR is a multi-document scientific reasoning benchmark designed to evaluate the performance of large language models across three forms of scientific reasoning: deductive, inductive, and causal abductive reasoning. It parametrically controls the complexity of reasoning and the degree of premise confusion, generating tasks with verifiable ground truth.
数据集概述
数据集名称:SciR (A Controllable Benchmark for Scientific Reasoning in LLMs)
简介:SciR 是一个面向大语言模型 (LLM) 的可控科学推理基准测试,通过从结构化形式对象(演绎树、归纳规则假设或因果图)生成任务,并渲染为多文档科学论述,提供具有可验证真实值的推理任务。该基准支持对推理复杂度和前提混淆度进行参数化独立控制。
核心特性
- 可验证的真实值:任务从形式化结构生成,确保答案可验证。
- 多文档科学论述:任务渲染为多篇科学文本,模拟真实阅读场景。
- 可控双轴难度:可独立调节潜在推理的难度(推理复杂度)以及从异质科学文本中提取相关信息的难度(混淆度)。
- 三大推理任务:涵盖演绎(Deduction)、归纳(Induction)和因果溯因(Causal abduction)。
任务构成
SciR 包含三个独立的任务领域(Tracks):
| 领域 (Track) | 形式基础 | 领域知识来源 | 任务目标 |
|---|---|---|---|
| 演绎 (Deduction) | 由前提替换链构建的三段论树 | 发育生物学通路数据 | 标记结论为真(True)、假(False)或未知(Unknown) |
| 归纳 (Induction) | 药物相互作用模式(如“抑制相同酶”)的规则集 | 药物与蛋白质相互作用事实 | 从正例和反例中归纳出目标规则 |
| 因果 (Causal) | Sachs 蛋白信号传导网络子图,并添加虚构蛋白 XYZ | 蛋白浓度模拟数据(线性高斯SCM) | 恢复虚构蛋白 XYZ 的连接边 |
难度调节机制
推理复杂度和信息混淆度可通过以下两个轴独立调节:
- 推理难度:通过改变演绎树的深度、归纳规则的复杂性或因果图中节点的数量来实现。
- 信息混淆度:通过向任务中添加无关的干扰项(如干扰树、干扰规则、干扰边等)来增加信息提取难度。
数据集规模与存储
- 任务文件分为两个层级:主层级 (main)(n=200,包含自然语言和混淆两种模式)和难度扩展层级 (difficulty_scaling)(n=50,仅自然语言模式)。
- 任务文件通过
scripts/download_data.py从 Zenodo 下载(CC-BY-NC 4.0 许可)。 - 本仓库(GitHub)仅包含评估细胞级(per-cell)的基线结果文件(
data/<track>/results/)和生成种子(data/<track>/seeds/)。
使用与运行
环境搭建
bash git clone https://github.com/idiap/scir.git cd scir conda create -n scir python=3.12 -y conda activate scir pip install -e . cp config.example.yaml config.yaml # 填写 API 密钥 python scripts/download_data.py
运行评估(以因果领域为例)
bash python -m evaluation.causal.evaluate --dataset data/causal/tasks/main/tasks_5n1c_transformed_n200.json --llm-config gpt-4o --solver gies --modes nl_only 100_obfuscated --output data/causal/results/main/results_5n1c_4o_ns.json
- 支持的语言模型 (--llm-config):
4o-azure,o3mini-azure,deepseek-r1,llama-70b,qwen30b,olmo32b - 支持的求解器 (--solver):
prover9(演绎),popper(归纳),gies(因果),省略则为直接思维链 (CoT),或使用symbcot进行 SymbCoT* 基线。
依赖的外部工具
部分求解器需独立安装:
- Prover9(演绎):根据 NLTK 的 Prover9 安装指南安装。
- Z3(演绎,可选项):从 Z3 GitHub 仓库安装。
- Popper(归纳):从 Popper GitHub 仓库安装。
- GIES / pcalg(因果):需要 R 语言及
pcalg包,以及 Python 的gies和sempler包。
生成新任务
每个领域都提供生成脚本,例如:
bash python -m generation.deduction.generate --tier e4d1 --n 200 python -m generation.induction.generate --tier d2p2 --n 200 python -m generation.causal.generate --tier 5n1c --n 200
之后可将符号化任务转换为混淆形式的科学散文:
bash python -m generation.<domain>.transform --input <tasks.json> --output <out.json>
许可信息
- 源代码:GPL-3.0-only
- 数据集(通过 Zenodo 分发):CC-BY-NC-4.0
引用
bibtex @misc{beckmann2026scir, title = {SciR: A Controllable Benchmark for Scientific Reasoning in LLMs}, author = {Beckmann, Pierre and Valentino, Marco and Freitas, Andr{e}}, year = {2026}, eprint = {2606.13020}, archivePrefix = {arXiv}, primaryClass = {cs.CL}, }




