Science Slop Index:用AI灌水检测与LaTeX源码分析量化论文质量
1. 从“Science Slop Index”说起一个被AI灌水逼出来的评价维度第一次看到“Science Slop Index”这个说法我的反应是终于有人把大家私下吐槽的事情摆到台面上了。所谓 Science Slop直译过来就是“科研泔水”或者“学术灌水”而 Index 就是给它打分、量化。合在一起它想做的事情很明确——给一篇论文、一份预印本、甚至一个研究者的产出评估它到底有多少是真正有价值的科学贡献又有多少是AI批量生成、凑数、套模板的“工业废料”。这件事为什么会在最近被反复提起因为 arXiv 上每天新增的预印本数量已经让很多领域的研究者感到窒息。我身边做机器学习的朋友以前每天刷 arXiv 是享受现在刷 arXiv 是折磨——大量标题看起来很像、摘要读起来很顺、公式排得很漂亮但仔细一看核心贡献要么是“把A方法用在B数据集上”要么是“在C指标上提升了0.3%”要么干脆就是AI把已有工作重新包装了一遍。LaTeX 排版越来越规范图表越来越精致但思想的密度越来越稀薄。Science Slop Index 要解决的就是这种“形式繁荣、内容贫瘠”的问题。它不是一个官方标准更像是一个社区自发形成的评价框架。你可以把它理解成学术界的“垃圾食品指数”——不是说你不能吃而是让你知道自己吃进去的到底有多少营养。适合谁来关注三类人一是每天需要筛选大量文献的研究生和博士后二是负责审稿但已经被海量投稿淹没的审稿人三是自己写论文、担心无意中产出“slop”的科研工作者。哪怕你只是用 LaTeX 写课程作业、用 GitHub 管理代码这套思路也能帮你判断我产出的东西到底是真东西还是AI帮我堆出来的漂亮空壳。2. 拆解 Science Slop Index 的核心维度它到底在测什么2.1 为什么不能只看“AI检测率”很多人第一反应是这不就是查AI生成内容吗用个AI检测工具跑一遍不就行了我试过完全不行。原因很简单AI检测工具本身就不靠谱误报率极高而且学术写作有大量固定表达比如“In this paper, we propose...”“Experimental results demonstrate that...”这些在人类写的论文里也大量存在。你拿一个AI检测器去跑一篇十年前的正经论文它也可能给你标出30%的“AI概率”。Science Slop Index 的思路完全不同。它不纠结“是不是AI写的”而是看“这篇东西有没有真正的科学增量”。AI写的可以是slop人写的也可以是slop。一个研究生为了凑毕业要求把同一套实验换三个数据集跑三遍写成三篇论文这同样是slop而且比AI写的更浪费审稿人时间。所以这个Index的核心维度我总结下来大概是这么几个贡献新颖性这篇论文提出的方法、发现、理论在现有文献里能不能找到高度相似的替代品如果只是把Transformer换成MLP把ResNet换成EfficientNet那新颖性得分就很低。实验充分性实验设计是不是只挑了对自己有利的数据集有没有做消融有没有和足够强的基线对比还是说只跟一个五年前的弱基线比然后宣称SOTA写作信息密度摘要和引言里有多少是真正的信息有多少是“随着深度学习的发展”“近年来受到广泛关注”这类填充句LaTeX排版再漂亮也掩盖不了内容的空洞。可复现性代码有没有开源GitHub仓库是只有README还是真有能跑的东西超参数有没有说清楚还是说“Due to space limitation, we omit details”引用质量参考文献是不是只引自己组的、只引最近两年的、或者大量引用根本不相关的论文来凑数量这五个维度加权起来就能给出一个相对客观的Slop Score。分数越高说明这篇东西的“灌水成分”越大。2.2 一个可操作的评分框架我根据自己读论文和审稿的经验整理了一个简化版的评分表。你可以直接拿去用也可以根据自己的领域调整权重。维度权重低分表现Slop倾向高高分表现Slop倾向低贡献新颖性30%方法组合已知技术无新洞察提出新问题、新理论或新范式实验充分性25%仅1-2个数据集基线弱无消融多数据集强基线完整消融写作信息密度15%大量套话引言占一半篇幅每段都有实质信息逻辑紧凑可复现性20%无代码无细节无数据代码开源超参完整可复现引用质量10%自引过多引用不相关引用精准覆盖关键工作这个表不是让你去给别人的论文打分然后公开处刑而是帮你快速判断这篇东西值不值得我花两个小时精读如果Slop Score很高那读摘要和结论就够了没必要陷进去。注意这个评分框架是启发式的不是绝对标准。不同领域差异很大比如理论计算机科学的“实验充分性”权重就应该调低而“贡献新颖性”权重应该调高。你要根据自己的方向做调整。3. 实操如何用现有工具链落地一个Slop Index3.1 数据来源arXiv、GitHub和LaTeX源码要算Slop Index首先得有数据。最直接的来源就是arXiv。arXiv提供了完整的元数据和LaTeX源码下载很多论文都上传了源文件。你可以用arXiv API批量拉取某个领域最近半年的预印本然后解析LaTeX源码。为什么一定要LaTeX源码因为PDF是“成品”你很难从PDF里判断哪些是模板自带的、哪些是作者写的。但LaTeX源码不一样你能看到作者用了什么模板、引用了哪些包、有没有大量复制粘贴的痕迹。比如如果一篇论文的LaTeX源码里Introduction部分和另一篇论文的Introduction有大量相同的句子结构那Slop Score直接拉满。GitHub则是另一个关键数据源。论文里说“代码已开源”你去GitHub上找结果发现仓库里只有README和一张图没有实际代码或者代码根本跑不起来。这种“伪开源”是Slop的典型特征。你可以用GitHub API检查仓库的commit历史、issue数量、star数、fork数以及最近一次更新时间。一个健康的科研仓库通常有持续的commit、有人提issue、有实际的代码文件。3.2 用Python搭建一个最小可用的Slop评分流水线下面是我自己搭的一个简化版流水线你可以直接抄作业。核心思路是拉取arXiv论文元数据 → 下载LaTeX源码 → 解析文本 → 计算各维度得分 → 加权汇总。import arxiv import requests import re import os from github import Github # 1. 拉取arXiv论文 def fetch_arxiv_papers(query, max_results50): search arxiv.Search( queryquery, max_resultsmax_results, sort_byarxiv.SortCriterion.SubmittedDate ) papers [] for result in search.results(): papers.append({ title: result.title, abstract: result.summary, arxiv_id: result.entry_id.split(/)[-1], published: result.published, authors: [a.name for a in result.authors], categories: result.categories }) return papers # 2. 下载LaTeX源码 def download_latex_source(arxiv_id, save_dirlatex_sources): os.makedirs(save_dir, exist_okTrue) url fhttps://arxiv.org/e-print/{arxiv_id} try: r requests.get(url, timeout30) if r.status_code 200: filepath os.path.join(save_dir, f{arxiv_id}.tar.gz) with open(filepath, wb) as f: f.write(r.content) return filepath except Exception as e: print(fFailed to download {arxiv_id}: {e}) return None # 3. 计算写作信息密度简化版 def compute_info_density(text): # 常见套话列表 cliches [ rwith the development of, rin recent years, rhas attracted increasing attention, rhas been widely used, rplays an important role, rit is well known that, ras we all know ] total_sentences len(re.split(r[.!?], text)) cliche_count sum(len(re.findall(p, text, re.IGNORECASE)) for p in cliches) if total_sentences 0: return 0 density 1 - (cliche_count / total_sentences) return max(0, min(1, density)) # 4. 检查GitHub仓库健康度 def check_github_repo(repo_url): try: g Github() repo g.get_repo(repo_url.replace(https://github.com/, )) return { stars: repo.stargazers_count, forks: repo.forks_count, open_issues: repo.open_issues_count, last_commit: repo.pushed_at, has_code: any( f.name.endswith((.py, .cpp, .java, .js)) for f in repo.get_contents() ) } except Exception as e: return {error: str(e)}这段代码跑下来你就能拿到一批论文的基本数据。然后根据前面说的五个维度给每篇论文算一个综合分。当然这只是一个起点真正的Slop Index需要更精细的文本分析和社区反馈。3.3 LaTeX源码里的“灌水信号”解析LaTeX源码的时候有几个信号特别值得注意模板复用如果一篇论文的导言区preamble和另一篇论文几乎一模一样连自定义命令的名字都一样那大概率是同一个模板改的。这本身不一定是slop但如果内容也高度相似那就很可疑。图表数量与信息量比有些论文放了十几个图但每个图都是同一组数据的不同可视化方式或者图里的曲线几乎重合。这种“图海战术”是典型的凑篇幅。公式密度公式多不代表质量高。如果公式只是把简单的事情复杂化比如把线性回归写成矩阵形式再展开那就是在灌水。引用模式如果参考文献里大量出现同一作者的论文或者引用了一堆不相关的综述来凑数量Slop Score要加分。我试过用正则表达式提取LaTeX里的\cite{}命令然后统计自引率和引用年份分布。自引率超过30%的论文我一般会多留个心眼。4. 常见问题与排查技巧实录4.1 Slop Index会不会误伤正经论文会而且一定会。任何自动化评分系统都有误伤。我踩过的坑是有一次用自己写的脚本跑了一批理论物理的预印本结果很多正经论文的Slop Score很高原因是理论物理的论文本来就公式多、实验少、引用集中。后来我调整了权重把“实验充分性”的权重降到10%把“贡献新颖性”提到40%结果就合理多了。所以我的建议是Slop Index一定要分领域调参。你不能拿一个统一标准去衡量所有学科。计算机视觉、自然语言处理、理论物理、生物信息学它们的“正常写作模式”完全不同。你要先在自己的领域里找一批公认的好论文跑一遍看看它们的分数分布然后把这个分布作为基准线。4.2 GitHub仓库打不开怎么办这个问题太常见了。论文里给了GitHub链接但你点进去要么404要么加载半天出不来。我一般的排查顺序是先确认链接有没有拼错。有些论文里的链接是github.com/username/repo但实际仓库在github.com/username/repo-name少个后缀就差很远。如果链接没错但打不开试试用git clone命令直接克隆。有时候网页打不开但git协议是通的。如果还是不行去搜一下论文标题GitHub看看有没有人镜像或者转存。最后如果实在找不到代码那这篇论文的可复现性得分直接给0。不要觉得可惜一个连代码都找不到的论文本身就不值得你花时间复现。提示有些作者会把代码放在个人主页或者实验室服务器上而不是GitHub。这种情况下你可以去论文的致谢部分或者作者主页找找。但说实话如果作者连GitHub都不愿意用代码质量通常也好不到哪去。4.3 用AI辅助写论文怎么避免自己产出Slop这是我最想聊的一个问题。现在用AI辅助写作已经很普遍了你用AI帮你润色语言、整理参考文献、生成LaTeX表格这些都没问题。但如果你让AI帮你“写”论文那就很容易产出slop。我的经验是AI可以帮你表达但不能帮你思考。你可以让AI帮你把一段中文翻译成学术英语但核心论点、实验设计、结果分析必须你自己来。如果你发现自己在用AI生成整段整段的Introduction那就要警惕了——你正在生产slop。一个实用的自检方法是把你写的论文摘要拿给一个同领域的朋友看问他“这篇论文到底做了什么”。如果他看完之后说不出一个明确的贡献点那这篇论文的Slop Score就很高。AI生成的摘要往往很流畅但读完你不知道它到底解决了什么问题。4.4 常见问题速查表问题可能原因排查方法解决建议Slop Score异常高领域权重不匹配检查各维度权重按领域调整权重LaTeX源码下载失败arXiv未上传源码检查e-print链接改用PDF解析但精度下降GitHub仓库404链接错误或已删除搜索论文标题GitHub可复现性得分记0文本分析误报套话列表不完整人工抽查样本扩充套话列表加入领域特定表达评分结果不稳定样本量太小增加论文数量至少跑100篇以上再调参5. 从Slop Index延伸出去科研评价的另一种可能Science Slop Index 表面上是一个吐槽工具但它背后反映的是一个更深层的问题当AI让论文生产变得极其廉价时我们该怎么评价科研质量传统的引用数、影响因子、h-index在AI灌水的冲击下越来越不可靠。一篇论文可以被AI批量引用一个研究者可以靠AI批量生产论文这些指标都会失真。Slop Index 提供了一种自下而上的、社区驱动的评价思路。它不依赖官方机构不依赖期刊影响因子而是靠研究者自己来判断这篇东西到底有没有价值这种思路其实和GitHub上的star、fork、issue很像——不是官方认证但社区共识往往比官方指标更真实。我个人的体会是Slop Index 最大的价值不是那个分数本身而是它强迫你在读论文的时候多问几个问题这篇论文的新颖性到底在哪实验是不是只挑了对自己有利的代码能不能跑当你养成这种习惯之后你读论文的效率会大幅提升你自己写论文的时候也会更警惕不会轻易产出那种“看起来很美但没什么用”的东西。最后分享一个小技巧如果你在arXiv上看到一篇论文标题很吸引人摘要很流畅但你就是感觉哪里不对那就用Slop Index的思路快速过一遍——看实验部分有没有消融看GitHub有没有代码看引用是不是只引了最近两年的。如果这三条都不过关那这篇论文大概率就是slop直接跳过别浪费生命。