name: ml-paper-writing description: 撰写可用于发表的ML/AI论文,针对NeurIPS、ICML、ICLR、ACL、AAAI、COLM等顶级会议。用于从研究仓库起草论文、构建论点、验证引用或准备最终提交。包括LaTeX模板、审稿人指南和引用验证工作流。 version: 1.0.0 author: Orchestra Research license: MIT tags: [学术写作, NeurIPS, ICML, ICLR, ACL, AAAI, COLM, LaTeX, 论文写作, 引用, 研究] dependencies: [semanticscholar, arxiv, habanero, requests]
为顶级AI会议撰写ML论文
针对NeurIPS、ICML、ICLR、ACL、AAAI和COLM等会议,提供撰写可用于发表论文的专家级指导。本技能结合了顶尖研究人员(如Nanda、Farquhar、Karpathy、Lipton、Steinhardt)的写作哲学和实用工具:LaTeX模板、引用验证API和会议清单。
核心理念:协作写作
论文写作是协作的,但Claude应主动提供草稿。
典型工作流始于包含代码、结果和实验工件的研究仓库。Claude的角色是:
- 理解项目:通过探索仓库、结果和现有文档
- 提供完整初稿:当对贡献有信心时
- 搜索文献:使用网络搜索和API查找相关引用
- 通过反馈循环精炼:当科学家提供输入时
- 请求澄清:仅在对关键决策真正不确定时
关键原则:主动。如果仓库和结果清晰,提供完整草稿。不要等待每个部分的反馈——科学家很忙。生成具体内容供他们反应,然后根据响应迭代。
⚠️ 关键:绝不伪造引用
这是AI辅助学术写作中最重要的规则。
问题
AI生成的引用有约40%的错误率。伪造引用——不存在的论文、错误作者、错误年份、虚构DOI——是严重的学术不端行为,可能导致直接拒稿或撤稿。
规则
绝不从内存生成BibTeX条目。始终通过程序获取。
| 行动 | ✅ 正确 | ❌ 错误 |
|---|---|---|
| 添加引用 | 搜索API → 验证 → 获取BibTeX | 从内存编写BibTeX |
| 不确定某论文 | 标记为[CITATION NEEDED] |
猜测引用 |
| 找不到确切论文 | 备注:“占位符 - 验证” | 发明听起来相似的论文 |
当无法验证引用时
如果无法通过程序验证引用,必须:
% 显式占位符 - 需要人工验证
\cite{PLACEHOLDER_author2024_verify_this} % TODO: 验证此引用存在
始终告知科学家:“我已将[X]个引用标记为需要验证的占位符。我无法确认这些论文存在。”
推荐:安装Exa MCP用于论文搜索
为了最佳论文搜索体验,安装Exa MCP以提供实时学术搜索:
Claude Code:
claude mcp add exa -- npx -y mcp-remote "https://mcp.exa.ai/mcp"
Cursor / VS Code(添加到MCP设置):
{
"mcpServers": {
"exa": {
"type": "http",
"url": "https://mcp.exa.ai/mcp"
}
}
}
Exa MCP支持搜索如:
- “查找2023年后发表的关于语言模型RLHF的论文”
- “搜索Vaswani的transformer架构论文”
- “获取关于可解释性稀疏自编码器的最新工作”
然后通过Semantic Scholar API验证结果,并通过DOI获取BibTeX。
工作流0:从研究仓库开始
开始论文写作时,首先理解项目:
项目理解:
- [ ] 步骤1:探索仓库结构
- [ ] 步骤2:阅读README、现有文档和关键结果
- [ ] 步骤3:与科学家确认主要贡献
- [ ] 步骤4:查找代码库中已引用的论文
- [ ] 步骤5:搜索其他相关文献
- [ ] 步骤6:共同概述论文结构
- [ ] 步骤7:通过反馈迭代起草各部分
步骤1:探索仓库
# 理解项目结构
ls -la
find . -name "*.py" | head -20
find . -name "*.md" -o -name "*.txt" | xargs grep -l -i "result\|conclusion\|finding"
查找:
README.md- 项目概览和声明results/、outputs/、experiments/- 关键发现configs/- 实验设置- 现有
.bib文件或引用参考 - 任何草稿文档或笔记
步骤2:识别现有引用
检查代码库中已引用的论文:
# 查找现有引用
grep -r "arxiv\|doi\|cite" --include="*.md" --include="*.bib" --include="*.py"
find . -name "*.bib"
这些是“相关工作”的高信号起点——科学家已认为它们相关。
步骤3:澄清贡献
在写作前,明确与科学家确认:
“基于我对仓库的理解,主要贡献似乎是[X]。 关键结果显示[Y]。这是您希望的论文框架吗? 或者我们应该强调不同方面?”
绝不假设叙述——始终与人类验证。
步骤4:搜索其他文献
使用网络搜索查找相关论文:
尝试搜索查询:
- "[主要技术] + [应用领域]"
- "[基准方法] 比较"
- "[问题名称] 最新技术"
- 现有引用中的作者姓名
然后使用以下引用工作流验证并检索BibTeX。
步骤5:提供初稿
主动——提供完整草稿,而不是请求每个部分的许可。
如果仓库提供清晰结果且贡献明显:
- 从头到尾撰写完整初稿
- 呈现完整草稿供反馈
- 根据科学家响应迭代
如果对框架或主要声明真正不确定:
- 起草您可以自信的部分
- 标记特定不确定性:“我将X框架为主要贡献——如果您希望强调Y,请告知”
- 继续起草,而不是阻塞
与草稿一起包含的问题(不是之前):
- “我强调X为主要贡献——根据需要调整”
- “我突出结果A、B、C——如果其他更重要,请告知”
- “相关工作部分包括[论文]——添加我遗漏的任何”
何时使用此技能
在以下情况使用此技能:
- 从研究仓库开始撰写论文
- 起草或修订特定部分
- 查找和验证相关工作的引用
- 格式化会议提交
- 重新提交到不同会议(格式转换)
- 迭代草稿与科学家反馈
始终记住:初稿是讨论的起点,不是最终输出。
平衡主动性与协作
默认:主动。提供草稿,然后迭代。
| 置信度 | 行动 |
|---|---|
| 高(清晰仓库,明显贡献) | 撰写完整草稿,提供,基于反馈迭代 |
| 中(有些模糊) | 起草草稿并标记不确定性,继续 |
| 低(主要未知) | 提出1-2个针对性问题,然后起草 |
先起草,与草稿一起提问(不是之前):
| 部分 | 自主起草 | 与草稿一起标记 |
|---|---|---|
| 摘要 | 是 | “框架贡献为X——根据需要调整” |
| 引言 | 是 | “强调问题Y——如果错误请更正” |
| 方法 | 是 | “包括细节A、B、C——添加缺失部分” |
| 实验 | 是 | “突出结果1、2、3——如果需要重新排序” |
| 相关工作 | 是 | “引用论文X、Y、Z——添加我遗漏的任何” |
仅在以下情况阻塞输入:
- 目标会议不清晰(影响页面限制、框架)
- 多个矛盾框架似乎同样有效
- 结果似乎不完整或不一致
- 明确要求在继续前审查
不要阻塞:
- 词汇选择决策
- 部分排序
- 显示哪些具体结果(做出选择,标记它)
- 引用完整性(用您找到的内容起草,注意差距)
叙述原则
最关键洞察:您的论文不是实验集合——它是一个具有一个清晰贡献并由证据支持的故事。
每个成功的ML论文都围绕Neel Nanda称为“叙述”的核心:一个简短、严谨、基于证据的技术故事,带有读者关心的要点。
三大支柱(必须在引言结束时清晰):
| 支柱 | 描述 | 示例 |
|---|---|---|
| 是什么 | 1-3个具体新颖声明,在连贯主题内 | “我们证明X在条件Z下实现Y” |
| 为什么 | 支持声明的严谨实证证据 | 强基准,区分假设的实验 |
| 所以呢 | 为什么读者应该关心 | 与公认社区问题的联系 |
如果您无法用一句话陈述您的贡献,您还没有论文。
论文结构工作流
工作流1:撰写完整论文(迭代)
复制此清单并跟踪进度。每个步骤涉及起草 → 反馈 → 修订:
论文写作进度:
- [ ] 步骤1:定义一句话贡献(与科学家)
- [ ] 步骤2:起草图1 → 获取反馈 → 修订
- [ ] 步骤3:起草摘要 → 获取反馈 → 修订
- [ ] 步骤4:起草引言 → 获取反馈 → 修订
- [ ] 步骤5:起草方法 → 获取反馈 → 修订
- [ ] 步骤6:起草实验 → 获取反馈 → 修订
- [ ] 步骤7:起草相关工作 → 获取反馈 → 修订
- [ ] 步骤8:起草局限性 → 获取反馈 → 修订
- [ ] 步骤9:完成论文清单(必需)
- [ ] 步骤10:最终审查周期和提交
步骤1:定义一句话贡献
此步骤需要科学家明确确认。
在写作任何内容前,阐明并验证:
- 您的论文贡献了什么?
- 在您工作之前什么不明显或不存在?
“我建议将贡献框架为:‘[一句话]’。这捕获了 您认为的主要要点吗?我们应该调整重点吗?”
步骤2:起草图1
图1值得特别关注——许多读者直接跳到它。
- 传达核心想法、方法或最引人注目的结果
- 使用矢量图形(用于绘图的PDF/EPS)
- 编写无需主文即可独立的标题
- 确保黑白可读性(8%的男性有色觉缺陷)
步骤3:撰写摘要(5句公式)
来自Sebastian Farquhar(DeepMind):
1. 您实现了什么:“我们介绍...”,“我们证明...”,“我们演示...”
2. 为什么这很难且重要
3. 您如何做(使用专业关键词以提高可发现性)
4. 您有什么证据
5. 您最显著的数字/结果
删除通用开头如“大型语言模型取得了显著成功…”
步骤4:撰写引言(最多1-1.5页)
必须包括:
- 2-4个贡献要点列表(在双栏格式中最多每点1-2行)
- 清晰问题陈述
- 简要方法概览
- 方法应在第2-3页开始
步骤5:方法部分
支持重新实现:
- 概念概述或伪代码
- 列出所有超参数
- 架构细节足以复制
- 呈现最终设计决策;消融实验放在实验中
步骤6:实验部分
对于每个实验,明确说明:
- 它支持什么声明
- 如何连接到主要贡献
- 实验设置(详细信息在附录)
- 观察什么:“蓝线显示X,这证明Y”
要求:
- 误差条与方法论(标准差与标准误差)
- 超参数搜索范围
- 计算基础设施(GPU类型,总小时数)
- 种子设置方法
步骤7:相关工作
按方法论组织,而不是逐篇论文:
好:“一条工作线使用Floogledoodle的假设[引用],而我们使用Doobersnoddle的假设,因为…”
差:“Snap等人介绍了X,而Crackle等人介绍了Y。”
慷慨引用——审稿人可能撰写了相关论文。
步骤8:局限性部分(必需)
所有主要会议都要求此部分。反直觉地,诚实有帮助:
- 审稿人被指示不因诚实承认局限性而惩罚
- 通过首先识别弱点来先发制人批评
- 解释为什么局限性不削弱核心声明
步骤9:论文清单
NeurIPS、ICML和ICLR都要求论文清单。见references/checklists.md。
顶级ML会议的写作哲学
本节提炼了领先ML研究人员最重要的写作原则。 这些不是可选的风格建议——它们是区分接受论文和拒稿论文的关键。
“论文是一个简短、严谨、基于证据的技术故事,带有读者关心的要点。” — Neel Nanda
此指导背后的来源
本技能综合了在顶级会议广泛发表的研究人员的写作哲学:
| 来源 | 关键贡献 | 链接 |
|---|---|---|
| Neel Nanda(Google DeepMind) | 叙述原则,什么/为什么/所以呢框架 | 如何撰写ML论文 |
| Sebastian Farquhar(DeepMind) | 5句摘要公式 | 如何撰写ML论文 |
| Gopen & Swan | 读者期望的7原则 | 科学写作的科学 |
| Zachary Lipton | 词汇选择,消除模糊 | 科学写作启发式 |
| Jacob Steinhardt(UC Berkeley) | 精确性,一致术语 | 写作技巧 |
| Ethan Perez(Anthropic) | 微观清晰度技巧 | 简单论文写作技巧 |
| Andrej Karpathy | 单一贡献焦点 | 各种讲座 |
要深入了解任何这些,见:
- references/writing-guide.md - 带示例的完整解释
- references/sources.md - 完整参考文献
时间分配(来自Neel Nanda)
在以下各项上花费大致相等的时间:
- 摘要
- 引言
- 图表
- 其他所有内容总和
为什么? 大多数审稿人在到达您的方法之前就形成判断。读者遇到您的论文的顺序为:标题 → 摘要 → 引言 → 图表 → 可能其余部分。
写作风格指南
句子级清晰度(Gopen & Swan的7原则)
这些原则基于读者实际处理散文的方式。违反它们迫使读者在结构而不是内容上花费认知努力。
| 原则 | 规则 | 示例 |
|---|---|---|
| 主语-动词接近 | 保持主语和动词接近 | ❌ “The model, which was trained on…, achieves” → ✅ “The model achieves… after training on…” |
| 强调位置 | 将重点放在句子末尾 | ❌ “Accuracy improves by 15% when using attention” → ✅ “When using attention, accuracy improves by 15%” |
| 主题位置 | 首先放置上下文,新信息之后 | ✅ “Given these constraints, we propose…” |
| 旧信息在新信息前 | 熟悉信息 → 不熟悉信息 | 链接向后,然后引入新 |
| 一个单位,一个功能 | 每个段落提出一个点 | 分割多点段落 |
| 动作在动词中 | 使用动词,而不是名词化 | ❌ “We performed an analysis” → ✅ “We analyzed” |
| 上下文在新信息前 | 在呈现前设置舞台 | 在显示方程前解释 |
带详细示例的完整7原则: 见references/writing-guide.md
微观技巧(Ethan Perez)
这些小改变累积成显著更清晰的散文:
- 最小化代词: ❌ “This shows…” → ✅ “This result shows…”
- 动词早: 将动词置于句子开头附近
- 展开撇号: ❌ “X’s Y” → ✅ “The Y of X”(当尴尬时)
- 删除填充词: “actually,” “a bit,” “very,” “really,” “basically,” “quite,” “essentially”
带示例的完整微观技巧: 见references/writing-guide.md
词汇选择(Zachary Lipton)
- 具体: ❌ “performance” → ✅ “accuracy” 或 “latency”(说您意思的)
- 消除模糊: 除非真正不确定,否则删除“may”和“can”
- 避免增量词汇: ❌ “combine,” “modify,” “expand” → ✅ “develop,” “propose,” “introduce”
- 删除强化词: ❌ “provides very tight approximation” → ✅ “provides tight approximation”
精确性优先于简洁性(Jacob Steinhardt)
- 一致术语: 相同概念的不同术语造成混淆。选择一个并坚持使用。
- 正式陈述假设: 在定理之前,明确列出所有假设
- 直觉 + 严谨: 提供直观解释以及形式证明
审稿人实际阅读什么
理解审稿人行为有助于优先努力:
| 论文部分 | 阅读的审稿人 % | 含义 |
|---|---|---|
| 摘要 | 100% | 必须完美 |
| 引言 | 90%+(略读) | 前置贡献 |
| 图表 | 在方法前检查 | 图1关键 |
| 方法 | 仅当感兴趣时 | 不要埋没要点 |
| 附录 | 很少 | 仅放置补充细节 |
底线:如果您的摘要和引言没有吸引审稿人,他们可能永远不会阅读您精彩的方法部分。
会议要求快速参考
| 会议 | 页面限制 | 最终提交额外 | 关键要求 |
|---|---|---|---|
| NeurIPS 2025 | 9页 | +0 | 必需清单,接受后需通俗摘要 |
| ICML 2026 | 8页 | +1 | 需更广泛影响声明 |
| ICLR 2026 | 9页 | +1 | 需LLM披露,互审协议 |
| ACL 2025 | 8页(长) | 可变 | 必需局限性部分 |
| AAAI 2026 | 7页 | +1 | 严格样式文件遵守 |
| COLM 2025 | 9页 | +1 | 关注语言模型 |
通用要求:
- 双盲评审(匿名化提交)
- 参考文献不计入页面限制
- 附录无限制,但审稿人无需阅读
- 所有会议需LaTeX
LaTeX模板: 见templates/目录获取所有会议模板。
正确使用LaTeX模板
工作流4:从模板开始新论文
始终首先复制整个模板目录,然后在其内写作。
模板设置清单:
- [ ] 步骤1:复制整个模板目录到新项目
- [ ] 步骤2:验证模板原样编译(在任何更改前)
- [ ] 步骤3:阅读模板的示例内容以理解结构
- [ ] 步骤4:逐部分替换示例内容
- [ ] 步骤5:保持模板注释/示例作为参考直到完成
- [ ] 步骤6:仅在结束时清理模板工件
步骤1:复制完整模板
# 用完整模板创建论文目录
cp -r templates/neurips2025/ ~/papers/my-new-paper/
cd ~/papers/my-new-paper/
# 验证结构完整
ls -la
# 应看到:main.tex, neurips.sty, Makefile等
⚠️ 重要:复制整个目录,不仅仅是main.tex。模板包括:
- 样式文件(
.sty) - 编译必需 - 参考文献样式(
.bst) - 引用必需 - 示例内容 - 作为参考有用
- Makefiles - 便于编译
步骤2:首先验证模板编译
在进行任何更改前,原样编译模板:
# 使用latexmk(推荐)
latexmk -pdf main.tex
# 或手动编译
pdflatex main.tex
bibtex main
pdflatex main.tex
pdflatex main.tex
如果未修改的模板不编译,首先修复。常见问题:
- 缺少TeX包 → 通过
tlmgr install <package>安装 - 错误TeX发行版 → 使用TeX Live(推荐)
步骤3:保持模板内容作为参考
不要立即删除所有示例内容。而是:
% 在写作时保持模板示例注释掉
% 这显示您期望的格式
% 模板示例(保留为参考):
% \begin{figure}[t]
% \centering
% \includegraphics[width=0.8\linewidth]{example-image}
% \caption{模板显示标题样式}
% \end{figure}
% 您的实际图:
\begin{figure}[t]
\centering
\includegraphics[width=0.8\linewidth]{your-figure.pdf}
\caption{您的标题遵循相同样式。}
\end{figure}
步骤4:逐部分替换内容
系统性地处理论文:
替换顺序:
1. 标题和作者(提交时匿名化)
2. 摘要
3. 引言
4. 方法
5. 实验
6. 相关工作
7. 结论
8. 参考文献(您的.bib文件)
9. 附录
对于每个部分:
- 阅读模板的示例内容
- 注意任何特殊格式或宏使用
- 使用相同模式替换为您的内容
- 频繁编译以早期捕获错误
步骤5:使用模板宏
模板通常定义有用宏。检查前导部分:
% 常见模板宏使用:
ewcommand{\method}{YourMethodName} % 一致方法命名
ewcommand{\eg}{e.g.,\xspace} % 适当缩写
ewcommand{\ie}{i.e.,\xspace}
ewcommand{\etal}{\textit{et al.}\xspace}
步骤6:仅在结束时清理
仅在论文接近完成时删除模板工件:
% 提交前 - 移除这些:
% - 注释掉的模板示例
% - 未使用的包
% - 模板的示例图表
% - Lorem ipsum或占位符文本
% 保留这些:
% - 所有样式文件(.sty)
% - 参考文献样式(.bst)
% - 模板中的必需包
% - 您正在使用的任何自定义宏
避免的模板陷阱
| 陷阱 | 问题 | 解决方案 |
|---|---|---|
仅复制main.tex |
缺少.sty,不会编译 |
复制整个目录 |
修改.sty文件 |
破坏会议格式 | 绝不编辑样式文件 |
| 添加随机包 | 冲突,破坏模板 | 仅当必要时添加 |
| 过早删除模板内容 | 丢失格式参考 | 保持为注释直到完成 |
| 不频繁编译 | 错误累积 | 每部分后编译 |
快速模板参考
| 会议 | 主文件 | 关键样式文件 | 备注 |
|---|---|---|---|
| NeurIPS 2025 | main.tex |
neurips.sty |
有Makefile |
| ICML 2026 | example_paper.tex |
icml2026.sty |
包括算法包 |
| ICLR 2026 | iclr2026_conference.tex |
iclr2026_conference.sty |
有math_commands.tex |
| ACL | acl_latex.tex |
acl.sty |
严格格式 |
| AAAI 2026 | aaai2026-unified-template.tex |
aaai2026.sty |
非常严格合规 |
| COLM 2025 | colm2025_conference.tex |
colm2025_conference.sty |
类似ICLR |
会议重新提交和格式转换
当论文从一个会议被拒或撤回并重新提交到另一个会议时,需要格式转换。这是ML研究中的常见工作流。
工作流3:在会议格式间转换
格式转换清单:
- [ ] 步骤1:识别源和目标模板差异
- [ ] 步骤2:用目标模板创建新项目
- [ ] 步骤3:复制内容部分(不是前导)
- [ ] 步骤4:调整页面限制和内容
- [ ] 步骤5:更新会议特定要求
- [ ] 步骤6:验证编译和格式
步骤1:关键模板差异
| 从 → 到 | 页面变化 | 关键调整 |
|---|---|---|
| NeurIPS → ICML | 9 → 8页 | 削减1页,如果缺少则添加更广泛影响 |
| ICML → ICLR | 8 → 9页 | 可以扩展实验,添加LLM披露 |
| NeurIPS → ACL | 9 → 8页 | 为NLP惯例重组,添加局限性 |
| ICLR → AAAI | 9 → 7页 | 需要显著削减,严格样式遵守 |
| 任何 → COLM | 可变 → 9 | 重构以关注语言模型 |
步骤2:内容迁移(不是模板合并)
绝不复制LaTeX前导部分到模板之间。 而是:
# 1. 用目标模板新开始
cp -r templates/icml2026/ new_submission/
# 2. 仅从旧论文复制内容部分
# - 摘要文本
# - 部分内容(在\section{}命令之间)
# - 图表
# - 参考文献条目
# 3. 粘贴到目标模板结构中
步骤3:调整页面限制
当削减页面时(例如,NeurIPS 9 → AAAI 7):
- 将详细证明移到附录
- 压缩相关工作(引用调查而不是个别论文)
- 将类似实验组合成统一表格
- 使用较小图尺寸和子图
- 收紧写作:消除冗余,使用主动语态
当扩展时(例如,ICML 8 → ICLR 9):
- 添加审稿人请求的消融研究
- 扩展局限性讨论
- 包括额外基准
- 添加定性示例
步骤4:会议特定调整
| 目标会议 | 必需添加 |
|---|---|
| ICML | 更广泛影响声明(结论后) |
| ICLR | LLM使用披露,互审协议 |
| ACL/EMNLP | 局限性部分(强制),伦理声明 |
| AAAI | 严格遵守样式文件(无修改) |
| NeurIPS | 论文清单(附录),接受后通俗摘要 |
步骤5:更新参考文献
% 移除揭示身份的自我引用(用于盲审)
% 更新任何“正在审阅”引用到已发表版本
% 添加自上次提交以来发表的新相关工作
步骤6:解决先前审稿意见
被拒后重新提交时:
- 做 在新闻本中解决审稿人关注
- 做 添加审稿人请求的实验/澄清
- 不做 包括“从前次提交更改”部分(盲审)
- 不做 引用先前提交或审稿意见
常见转换陷阱:
- ❌ 复制
\usepackage命令(导致冲突) - ❌ 保持旧会议头/尾命令
- ❌ 忘记更新
\bibliography{}路径 - ❌ 缺少会议特定必需部分
- ❌ 格式更改后超出页面限制
引用工作流(预防伪造)
⚠️ 关键:AI生成的引用有约40%错误率。绝不从内存编写BibTeX。
黄金规则
如果您无法通过程序获取引用:
→ 标记为[CITATION NEEDED]或[PLACEHOLDER - VERIFY]
→ 明确告知科学家
→ 绝不发明听起来合理的引用
工作流2:添加引用
引用验证(每个引用强制):
- [ ] 步骤1:使用Exa MCP或Semantic Scholar API搜索
- [ ] 步骤2:验证论文在2+来源存在(Semantic Scholar + arXiv/CrossRef)
- [ ] 步骤3:通过DOI检索BibTeX(通过程序,不是从内存)
- [ ] 步骤4:验证您引用的声明实际出现在论文中
- [ ] 步骤5:添加已验证BibTeX到参考文献
- [ ] 步骤6:如果任何步骤失败 → 标记为占位符,通知科学家
步骤0:使用Exa MCP进行初始搜索(推荐)
如果安装了Exa MCP,使用它查找相关论文:
搜索:“RLHF language model alignment 2023”
搜索:“sparse autoencoders interpretability”
搜索:“attention mechanism transformers Vaswani”
然后通过Semantic Scholar验证每个结果,并通过DOI获取BibTeX。
步骤1:搜索Semantic Scholar
from semanticscholar import SemanticScholar
sch = SemanticScholar()
results = sch.search_paper("attention mechanism transformers", limit=5)
for paper in results:
print(f"{paper.title} - {paper.paperId}")
print(f" DOI: {paper.externalIds.get('DOI', 'N/A')}")
步骤2:验证存在性
确认论文出现在至少两个来源(Semantic Scholar + CrossRef/arXiv)。
步骤3:通过DOI检索BibTeX
import requests
def doi_to_bibtex(doi: str) -> str:
"""从DOI通过CrossRef获取已验证BibTeX。"""
response = requests.get(
f"https://doi.org/{doi}",
headers={"Accept": "application/x-bibtex"}
)
response.raise_for_status()
return response.text
# 示例
bibtex = doi_to_bibtex("10.48550/arXiv.1706.03762")
print(bibtex)
步骤4:验证声明
在为特定声明引用前,访问论文并确认归因声明实际出现。
步骤5:明确处理失败
如果您在ANY步骤无法验证引用:
% 选项1:显式占位符
\cite{PLACEHOLDER_smith2023_verify} % TODO: 无法验证 - 科学家必须确认
% 选项2:在文本中备注
... 如先前工作所示[CITATION NEEDED - 无法验证Smith等人2023]。
始终告知科学家:
“我无法验证以下引用,并已将它们标记为占位符:
- Smith等人2023关于奖励黑客 - 在Semantic Scholar中找不到
- Jones 2022关于缩放定律 - 找到类似论文但不同作者 提交前请验证这些。”
总结:引用规则
| 情况 | 行动 |
|---|---|
| 找到论文,获取DOI,获取BibTeX | ✅ 使用引用 |
| 找到论文,无DOI | ✅ 使用arXiv BibTeX或从论文手动条目 |
| 论文存在但无法获取BibTeX | ⚠️ 标记占位符,通知科学家 |
| 不确定论文是否存在 | ❌ 标记[CITATION NEEDED],通知科学家 |
| “我认为有关于X的论文” | ❌ 绝不引用 - 先搜索或标记占位符 |
🚨 绝不从内存生成BibTeX——始终通过程序获取。🚨
见references/citation-workflow.md获取完整API文档。
常见问题和解决方案
问题:摘要太通用
如果第一句可以附加到任何ML论文,删除它。以您的具体贡献开始。
问题:引言超过1.5页
将背景拆分为相关工作。前置贡献要点。方法应在第2-3页开始。
问题:实验缺少明确声明
在每个实验前添加句子:“此实验测试是否[具体声明]…”
问题:审稿人发现论文难懂
- 添加明确路标:“在本节中,我们显示X”
- 使用一致术语贯穿
- 包括独立的图标题
问题:缺少统计显著性
始终包括:
- 误差条(指定:标准差或标准误差)
- 运行次数
- 如果比较方法,统计测试
审稿人评估标准
审稿人在四个维度评估论文:
| 标准 | 审稿人寻找什么 |
|---|---|
| 质量 | 技术合理性,良好支持的声明 |
| 清晰度 | 清晰写作,专家可复制 |
| 重要性 | 社区影响,推进理解 |
| 原创性 | 新见解(不需要新方法) |
评分(NeurIPS 6点量表):
- 6: 强烈接受 - 开创性,无瑕疵
- 5: 接受 - 技术扎实,高影响
- 4: 边缘接受 - 扎实,有限评估
- 3: 边缘拒绝 - 扎实但弱点超过
- 2: 拒绝 - 技术缺陷
- 1: 强烈拒绝 - 已知结果或伦理问题
见references/reviewer-guidelines.md获取详细审稿人指令。
表格和图
表格
使用booktabs LaTeX包获取专业表格:
\usepackage{booktabs}
\begin{tabular}{lcc}
\toprule
方法 & 准确率 ↑ & 延迟 ↓ \\
\midrule
基准 & 85.2 & 45ms \\
\textbf{我们的} & \textbf{92.1} & 38ms \\
\bottomrule
\end{tabular}
规则:
- 每个指标最佳值加粗
- 包括方向符号(↑越高越好,↓越低越好)
- 数值列右对齐
- 一致小数精度
图
- 矢量图形(PDF, EPS)用于所有绘图和图表
- 栅格(PNG 600 DPI)仅用于照片
- 使用色盲安全调色板(Okabe-Ito或Paul Tol)
- 验证灰度可读性(8%的男性有色觉缺陷)
- 无图内标题——标题服务此功能
- 独立标题——读者应无需主文理解
参考文献和资源
参考文档(深入探讨)
| 文档 | 内容 |
|---|---|
| writing-guide.md | Gopen & Swan 7原则,Ethan Perez微观技巧,词汇选择 |
| citation-workflow.md | 引用API,Python代码,BibTeX管理 |
| checklists.md | NeurIPS 16项,ICML,ICLR,ACL要求 |
| reviewer-guidelines.md | 评估标准,评分,反驳 |
| sources.md | 所有来源的完整参考文献 |
LaTeX模板
templates/目录中的模板:ICML 2026,ICLR 2026,NeurIPS 2025,ACL/EMNLP,AAAI 2026,COLM 2025。
编译到PDF:
- VS Code/Cursor:安装LaTeX Workshop扩展 + TeX Live → 保存以自动编译
- 命令行:
latexmk -pdf main.tex或pdflatex+bibtex工作流 - 在线:上传到Overleaf
见templates/README.md获取详细设置指令。
关键外部来源
写作哲学:
- Neel Nanda: 如何撰写ML论文 - 叙述,“什么/为什么/所以呢”
- Farquhar: 如何撰写ML论文 - 5句摘要
- Gopen & Swan: 科学写作的科学 - 7个读者期望原则
- Lipton: 科学写作启发式 - 词汇选择
- Perez: 简单论文写作技巧 - 微观清晰度
API:Semantic Scholar | CrossRef | arXiv