Aioga
AI资讯 / 技巧观点
返回 AI资讯

利用经典机器学习检测LLM生成文本

Hacker News 热门(buzzing.cc 中文翻译)Aioga 编辑团队2026-07-16T20:40:36.733Z热度 56

一项研究探索使用经典机器学习方法(如逻辑回归、随机森林)检测大型语言模型生成的文本,在特定数据集上达到与深度学习模型相当的准确率。该方法计算成本更低,且对短文本和改写文本具有较...

技巧观点Hacker News 热门(buzzing.cc 中文翻译)

今日 AI 情报摘要

一项研究探索使用经典机器学习方法(如逻辑回归、随机森林)检测大型语言模型生成的文本,在特定数据集上达到与深度学习模型相当的准确率。

该方法计算成本更低,且对短文本和改写文本具有较强鲁棒性。 研究还发现,基于字符级n-gram特征的模型在跨领域泛化上表现优于基于词级特征的模型。

中文正文 · AI 翻译

本文当前为实验性机器翻译,可能包含错误。如有不清楚的地方,请参阅原始中文版本。我会持续改进翻译。

截至2026年初,主流的大语言模型(LLM)生成的文本表现出强烈的统计模式,使用传统机器学习模型可以有效地区分其与人类写作的内容。我怀疑许多所谓的“AI抄袭检测工具”实际上就是以这种方式在后台工作。

在线演示:https://lyc8503.github.io/AITextDetector/:https://lyc8503.github.io/AITextDetector/

本演示中使用的模型并未以通用数据进行训练,也未经过严格优化或迭代。它在测试集上的单句检测准确率约为85%。请在使用前阅读本文,以了解潜在的限制。

核心代码(草稿)和训练模型文件可在GitHub获取:lyc8503/AITextDetector:https://github.com/lyc8503/AITextDetector

半年前我还在学校写论文的时候,已经有关于论文AIGC(AI生成内容)检测的传闻流传开。我测试了几个平台——CNKI、万方,以及一些第三方AIGC检测服务——发现它们确实能以相当不错的准确率区分我手写的文本与LLM生成的文本。

这引发了我对AIGC检测实际工作原理(以及如何绕过它)的好奇。

但那时我同时忙于太多事情——沉迷于无线电:https://blog.lyc8503.net/categories/硬件の研究/无线射频/、Minecraft、东方Project——几次尝试失败后,我暂时搁置了这个想法。

最终,我还是糊弄完成了论文,生活继续前行。但最近,在浏览Lofter时,我偶然发现整个标签页充斥着低质量、极度脱离角色的AI生成同人小说。

我怎么一眼就能看出它们是AI生成的?嗯,有些人(或女生)甚至懒得在发布前清理Markdown格式或AI生成的章节标题——然后将文章的一半内容放在付费墙后

然而,大多数 AI 生成的文本更难被识别——它们隐藏在各种写作风格、多样的提示语中,并且不易被立即察觉。当你意识到某些地方感觉不对时,往往已经太晚了。有些文本几乎无法证明是 AI 生成的,这让我感到偏执。在吞下太多 AI 生成的糟糕内容之后,我终于受够了。Lofter 浏览到此为止——是时候打开 VS Code 了!

是的,这就是我最终重新开始周末项目的理由:构建一个 AI 生成文本检测器……

现在,在互联网上搜索 AIGC 检测几乎完全被广告污染。每一个结果只是另一个论文 AI 改写服务。那时候,我在噪音中挖掘,发现了一个叫文本困惑度的东西:https://zhuanlan.zhihu.com/p/114432097。

这个想法很简单:使用现有的大型语言模型(LLM)来估计每个单词在给定句子中出现的概率。如果几乎每个单词在 LLM 的预测中排名都很高(Top-N),那么这句话很可能是 AI 生成的。相反,如果许多单词出乎意料,更可能是人类写的。

听起来很有希望,对吧?我花了一些时间尝试这种方法,但结果令人失望——假阳性和假阴性很多,而且无法设定合理的阈值。此外,还有实际问题:高推理成本、跨模型泛化能力差、大模型难以本地部署以及封闭权重模型难以集成。总体来说,这种方法既不优雅也不可靠。

尝试失败——被一堆软广告“教程”欺骗了

既然在线资源无用,那就回归老派炼金术吧。

Scikit-learn,启动!按照它的路线图:https://scikit-learn.org/stable/machine_learning_map.html,我们可以直接选择线性 SVC 和朴素贝叶斯作为分类任务的良好起点。

(悄悄说:这也符合我的直觉——LLM 有可检测的用词模式;即使是朴素贝叶斯分类器也应该能识别它们。我只是没想到信号会这么强。)

老派炼金术的传统分类器需要标注数据——所以我们需要人类写的文本和确认过的 LLM 生成文本来训练。

我的方法:我提取了2023年我从某个类似Ford和River的平台抓取的数据,筛选了2010–2022年(ChatGPT出现前)发布的文章。我只剔除了极低互动或篇幅非常短的内容,然后随机抽取了近10,000篇多千字的人类撰写文本作为样本。

然后,我使用了一个大型语言模型(LLM)生成这些文本的章节摘要,把摘要再输入LLM,让它重新生成完整文章。这给了我大致相等数量的LLM生成样本,在体裁上多样化,并且与原有人类内容高度匹配。

理论上至少是这样。但是LLM的API很贵,我可不想在一个周末项目上花费数千美元。所以我变得有创意——并绕过规则,利用了多个低成本或免费的API渠道:

免责声明:这不是推荐。这些行为违反平台服务条款,可能会导致你被封号。但这些平台忙于营销宣传,无暇顾及,我也不打算全价支付。

许多面向编程的LLM API奇怪地按调用收费,但我们可以通过将任务批量化处理来优化利用,每次调用迫使LLM生成更多内容。于是……

你说我用了价值2000美元的3亿多Gemini代币是什么意思?!

最终,我使用gemini-3-flash生成摘要,并用七个不同的模型(gemini-3-pro、qwen-coder-plus、glm-5、glm-4.7、kimi-k2.5、doubao-seed-code、deepseek-v3.2)生成了七组LLM生成样本。

在数据生成进行到一半时,我等不及就开始训练。

我让Claude写分类器代码,但它愚蠢地把整个原始文本直接输入模型——达到了可疑的99.45%准确率……等等,真的吗?

Claude没用。我自己来。训练时,我用中文标点将所有文本拆分为句子,清理非中英文字符,然后应用scikit-learn的TF-IDF → LinearSVC。清理了一些噪声后,句子级分类仍能达到约85%的准确率!

即便这个有bug的第一个版本也达到了88%的准确率(后优化为85%)

单个句子信息有限,但每句85%的准确率意味着对于较长的文章,我们可以非常有信心判断是否由AI生成。这次表现远超我的预期。老式机器学习依然很有吸引力——远比那些只问LLM“嘿,这文本是AI生成的?”的愚蠢在线工具好多了。

完成所有数据后,我尝试训练一个8类模型(人类7个AI),但这些大型语言模型看起来太相似——很可能是彼此提炼出来的——所以分类很混乱,准确率只有~50%。

多职业结果——显然不可分割。也许我的模型不好,但无所谓,不重要

最终,我训练了七个独立的二元分类器,并采用了多数投票:如果≥2个模型检测到一句话,就会被标记为AI。

所有模型的准确率都超过85%,F1比例超过80%——相当扎实!我还注意到,AI生成的文本经常被多个模型标记,所以投票非常合理。

我试过MultinomialNB和SGDClassifier,但准确度略有下降。BERT提供了小幅提升,但对GPU使用时间过多——最终被淘汰。甚至测试了AutoGluon,结果竟然只有53%的二进制准确率。我不会深入讲那些。

到这个地步,我本可以直接发布仓库,然后就此打住。但每次都启动Python实在太不方便了。我本可以托管一个Python API,但那意味着服务器维护——这违背了我严格的无服务器理念。

我最初的计划是:导出模型到 ONNX,然后通过 WASM 的 ONNX Web Runtime 进行推理。但当我请我的硅片仆人Claude帮忙时,我没有明确说明——结果它偏离了剧本,裁剪并导出模型成了JSON......然后完全用JavaScript实现了TF-IDF SVM,用于浏览器推理。

嗯......其实这是个不错的主意。我在一封一百万字符的文本上测试过——在我的机器上大约花了10秒,可以接受。对于典型的几千字符输入,是即时的。

好吧,既然这只是演示,JavaScript的方法更透明,我就保留这个有点傻的实现。(怪克洛德,不是我。)

关于准确性:我测试了不同的特征限制。最终优先考虑性能,保留了50万特征。存储为JSON,占用107MB(虽然服务器端gzip压缩后约为38MB)。较小版本(5万–8万特征)仅损失3–4%的准确率,但最终AI检测率差异显著——尤其是在人类文本上,相对差异 ±50%,导致误报。因此我坚持使用50万特征。

最终准确率下降:约1%,如下所示:

以下所有测试均使用精简的网页版本,其性能应与完整的joblib模型相似。

当前逻辑:将输入文本拆分为句子,清理后使用7个二元模型进行分类。如果≥2个模型标记某句子,则标记为疑似AI并高亮显示。最终AI得分为被标记字符的比例。分类:

首先,测试常见模型的检测率,如Doubao和Deepseek——两者都在训练数据中。提示:写一篇3000字的故事。很容易被捕捉:

现在测试未见过的模型——泛化能力如何?

我测试了几种未在训练中出现的其他模型(MiMo-V2、Doubao-Seed-2.0、GPT-4o)——检测率均约为70%,有些甚至超过90%。表现稳健。

还测试了更复杂的提示——例如输入20章人类写作的文本,让LLM模仿风格并续写。检测率略降至67.8%(但记住,我们也在复杂提示上进行了训练)。由于篇幅限制,结果未展示。

然后我从我的订阅列表中挑选了10部已完结的网页小说(2022年前)——类型、作者、年代多样,很可能未在训练数据中。

它们的AI检测率分别为:22.7%、24.2%、25.0%、24.5%、19.0%、13.7%、29.1%、4.9%、27.3%、19.2%——均低于30%。我还随机抽样了Lofter的同人文;由于性质更随意,检测率通常低于10%。但当我输入怀疑为AI生成的文本时,检测率飙升至83.4%,强烈表明未披露使用了LLM。

[2026年3月5日更新] 为了更严格的测试,我随机抽取了10,000篇高互动(浏览量>5000)、长篇(字数>2000)的Lofter同人文,均发表于2022年前。它们的AI检测率分布(使用7模型投票,≥2票):

以60%作为阈值 → 假阳性率:0.04% 以70% → 假阳性率:(几乎为零)上面四篇超过60%的文章都是合集索引,而非实际故事——因链接过多而被标记。

即使在50%的阈值下,假阳性率也仅为0.33%。

然后,我抓取了Lofter安卓端排名前20的热门标签(周榜)下的所有文章,按长度筛选后进行检测:

32.22%的文章得分 >50% AI——可能部分或完全由AI生成……难道已经没有人类了吗??更重要的是,没有一篇主动声明是AI生成的内容。

“法之衰落时代,,,”——群里的一个朋友

好了,我们已经建立了一个AIGC检测器。现在是时候建立一个反检测器了。

但让我们测试一些常见的反AIGC检测技巧:

谷歌翻译往返(CN→EN→CN):89.9% → 85.0% 有道翻译往返(CN→EN→CN):89.9% → 79.2% 搜狗翻译往返(CN→EN→CN):89.9% → 86.0%

情报判断

Aioga 编辑摘要

Aioga 编辑摘要:一项研究探索使用经典机器学习方法(如逻辑回归、随机森林)检测大型语言模型生成的文本,在特定数据集上达到与深度学习模型相当的准确率。 Aioga 将其归入「技巧观点」方向,重点关注它对真实使用和行业竞争的影响。

背景分析

背景分析:实践类内容的价值在于是否能被复现、是否有明确边界,以及它能否转化为稳定的开发或工作流方法。

Aioga 观点

Aioga 判断:这条动态更适合作为行业观察信号,当前信息足以建立线索,但不足以推导长期结论。

影响与后续

影响分析:对相关团队而言,短期应先核对来源、可用范围和实际成本,再判断是否值得接入或跟进。 后续观察:继续观察示例是否可复现、工具版本变化、社区反馈和实际成本。

来源与版权说明

本页正文由公开来源页面提取并按原有信息整理,同时保留来源、发布时间和原文入口。版权归原作者及来源网站所有,请通过原文链接核验和阅读来源版本。

抓取通道: 摘要聚合 · 原始域名: blog.lyc8503.net

来源: Hacker News 热门(buzzing.cc 中文翻译)

原文链接: 打开原始来源

Aioga 归档: 查看情报页

Content record: source-page · Updated: 2026-07-16T20:40:36.733Z

API 中转站
API RELAY · DEVELOPER INFRASTRUCTURE

API 中转站

统一接入主流 AI 模型 API,为开发、测试与生产环境提供稳定调用入口。

立即访问 api.w173.com
AIOGA SHARE POSTER

分享这篇 AI 情报

一项研究探索使用经典机器学习方法(如逻辑回归、随机森林)检测大型语言模型生成的文本,在特定数据集上达到与深度学习模型相当的准确率。该方法计算成本更低,且对短文本和改写文本具有较...

Hacker News 热门(buzzing.cc 中文翻译)2026-07-16T20:40:36.733Z
扫码打开文章详情扫码直达文章详情

Aioga 自动聚合全球 AI 动态,并保留来源信息用于核验与引用。