CALF 先判断论文属于哪一类(实验 / 计算 / 综述 / 临床 / 机器学习 / 理论 / 质性 / 待归类), 再按该类模板抽出字段与数值指标——每个数值都带测试条件,每条数据都能点回原文那一句。
无需注册 · 文件不上传服务器 · 所有分析在你的浏览器里完成
8 类论文模板:通用字段 + 类型专属字段 + 指标长表,换学科只换模板。
每条数据都带页码与原句,点开即见;对不上原文就降级为待人工确认。
硬冲突 / 结论冲突 / 不可比 / 证据不足——条件不同不硬判,避免假警报。
在「开始」页点“用示例论文试试”,或拖入你自己的 PDF。
左侧字段卡片,右侧原文;点卡片即可定位高亮。
分析第二篇后,在「对比表」页一起看,冲突自动标黄。
选择示例论文,或上传你自己的 PDF。文件不会离开你的电脑。
把 PDF 拖到这里
或
仅支持文字版 PDF(扫描件暂不支持)
app.js,把顶部的 CONFIG.apiBase
填成你的后端地址(例如 https://api.example.com)即可切换为服务端分析。
留空则使用浏览器内的本地演示分析。
同一指标在多篇论文间不一致时,系统会标黄并列出双方出处。
CALF 目前是一个学生项目,还在迭代中。如果你愿意帮忙,下面每种方式都很有用。
CALF 是我们在 2026 武汉 1024 · AI 黑客松「科研创新」赛道提交的作品: 把论文变成可核查的数据,让做综述的人少抄一点、少错一点。
写一篇综述,最花时间的不是读,而是把几十篇论文的样本量、方法、结论、局限 手工抄进一张 Excel——抄完还找不到出处,更看不到哪两篇其实互相矛盾。 CALF 只做三件事:抽成字段、标出出处、暴露冲突。
分析引擎与评测:PDF 解析、字段抽取、自校验、指标
网站与交互:结果页、原文定位、导出与部署
数据与交付:标注集、示例文献、PPT 与演示视频
如有异议请联系 FengMingCaiZiQi@outlook.com,我们会及时处理。
从零把这个站点放到公网上,大约 20 分钟。完全不需要安装任何开发工具。
index.html、styles.css、app.js、data/sample.jscalf-site。sample.js 要放进里面的 data 子文件夹。
calf-site\
├─ index.html
├─ styles.css
├─ app.js
└─ data\
└─ sample.js
index.html 而不是 index.html.txt。index.html,浏览器会打开页面。file:///C:/Users/...。
这个地址只有你自己的电脑能打开,绝对不能作为提交链接发给评委。下一步必须部署。dash.cloudflare.com,用邮箱注册一个账号(免费)。calf。这个名字会出现在网址里。calf-site 文件夹拖进上传区域(拖文件夹,不用一个个选文件)。https://calf.pages.dev。点开它——这就是可以发给评委的公网链接。github.com,点右上角 + → New repository,名字填 calf,选 Public,创建。data 文件夹也一起拖),点 Commit changes。https://你的用户名.github.io/calf/。<title>)与描述写的是 CALF 而不是模板名多半是 data/sample.js 没有一起上传,或路径大小写不对(服务器区分大小写,本地不区分)。检查文件夹结构。
本模板只解析文字版 PDF。扫描件(整页是图片)读不出文字,会提示不支持——这是已知限制,不要当成 bug 现场演示。
本模板用的是内置演示规则,只认常见的材料与化学字段词。要真正可用,需要接你自己的分析接口:
打开 app.js,把 CONFIG.apiBase 改成你的后端地址。
不需要。免费的 xxx.pages.dev 足够提交比赛。买了域名也可以在 Pages 里绑定。
不会。本模板在浏览器本地解析,文件不出本机。若你之后接了服务端接口,请在「关于我们」里更新隐私说明。
index.html,直接改中文,保存后重新上传。styles.css,最上面 :root 里的 --brand 就是主色。schemas/paper_taxonomy.v1.json,然后执行
python tools/build_taxonomy_js.py 重新生成 data/taxonomy.js(前端不再手写字段表)。分类与字段不是写死在代码里的,而是由 schemas/paper_taxonomy.v1.json(v1.0.0)驱动。
前端 data/taxonomy.js 由它自动生成,data/taxonomy-core.js 只负责识别、抽取与冲突判定。
| 类型 | 优先级 | 分组键 | 典型字段 |
|---|---|---|---|
| 实验研究 experimental | P0 | material_system | 材料体系、合成方法、温度、时长、气氛、表征、测试环境、与基线对比 |
| 计算/模拟 computational | P0 | system | 体系、方法族(DFT/MD)、泛函/力场、软件、体系规模、系综、实验验证 |
| 综述/荟萃 review | P0 | scope | 综述类型、范围、检索库、纳入研究数、异质性 I²、发表偏倚、研究空白 |
| 临床/人群 clinical | P1 | population | 设计、人群、样本量、干预/暴露、对照、主要结局、随访、随机化、盲法 |
| 机器学习/CS ml | P1 | dataset_name | 任务、模型族、数据集、数据规模、划分、指标、基线、相对提升、代码可用性 |
| 理论/解析 theory | P2 | formalism | 形式体系、假设、核心结果、结果类型、验证方式 |
| 质性/混合 qualitative | P2 | setting | 质性方法、抽样、样本量、场景、分析方法、主题、可信度策略 |
| 待归类 other | 兜底 | study_object | 只抽通用字段,且必须进人工队列 |
ok 已校验 / needs_review 待人工确认 / missing 原文未报告 / not_applicable 本篇不适用。schemas/paper_taxonomy.v1.json:types 里加一条(含 label、signals、group_key、fields、suggested_metrics);python tools/build_taxonomy_js.py 重新生成前端定义;data/taxonomy-core.js 的 FIELD_RULES 里补一条正则;不补也不影响,页面会如实显示"原文未报告"。