☰
生成文本一眼就是机器写的,三个可量化特征该怎么拆解?
2026/10/7 8:08:49 网站建设 项目流程

一、一分钟挑出十篇的那次复盘

最早发现这个问题是在一次稿子复盘上。运营同事把十篇机器生成的稿子混在三篇人工稿里让我们挑,我们不到一分钟就把那十篇全挑出来了,理由说不上来,就是读起来一个味儿。为了把这种感觉变成能动手改的东西,我们把那十三篇稿子做了一遍统计。

统计出来的几个数和直觉对得上。机器稿的平均句长是四十二个字,人工稿是二十六个;连接词密度是每百字出现四点七次,人工稿是一点二次;段落长度的标准差,机器稿是三点八个字,人工稿是十九个。几组数字摆在一起,那种一眼看出来的感觉就有了落点。

这批稿子一万两千多字,我们把它们按句和按段切开做标注,切出来一千三百多个句子和两百多个段落。后面所有改动都对着这几组数字来验证,改完的新稿子句长方差抬上去了,连接词密度降到每百字一点五次以内。

二、机器味的来源是均匀

机器味的来源不是某一个词,是均匀。句子长度均匀、段落长度均匀、连接词按固定间隔出现,这几件事加在一起,读的人很快就能感觉到节奏是平的,人工写作里那种忽长忽短的起伏没有。

连接词密度最直观。而且、因此、此外、首先、最后这几个词在机器稿里几乎每段都有,位置也差不多,段首一个段中一个。人工稿里这些词是缺的,因为人写的时候靠意思推着走,不靠连接词把关系标出来。

句长方差低说明句子的结构在重复,长句套短句的模式被反复使用。段落长度方差低说明每一段都在承担差不多份量的信息,没有哪一段只写两句就收尾。这三种表现都能算出来,所以也就可以被针对性地打散。

三、改提示词还是改结果

第一条路是改提示词,让模型自己写得更接近人。这条路省事,代价是效果不稳定,同一段提示词重跑十次会有两三次又回到原来的样子,而且这种波动没法在结果侧拦住。

第二条路是拿到文本之后做一次后处理,按可量化的规则去改。它稳定,可重复,改完能立刻用那三个指标验收;代价是只能动表层,动不了内容里的事实错误,而且改得过头会把意思改歪。

我们两条都用了,重心放在第二条上。提示词负责把平均句长压下来,后处理负责把剩下的均匀打散。判断依据很简单,提示词的效果不好度量,后处理的效果能被那三个数直接量出来,谁更容易验收就先做谁。

还有一条我们试了一半就放下的路,是用另一个模型把稿子重写一遍,让它读起来更像人写的。效果确实有,连接词密度能掉到每百字两次以内,代价是一次改写要多花一倍的时间,而且新的模型也会带上它自己的均匀,句子长短整齐得很,等于把一种机器味换成了另一种,最后还是回到规则改写这条路上。

四、三步流水与词表替换

后处理做成三步流水,串在生成和入库之间。第一步按标点把文本切句,第二步对句子做重排和替换,第三步重新组装段落并对齐长度。每一步都有开关和强度参数,默认全开,强度按零到一之间取。

替换这一步按词表做,词表里放的是需要被换掉的连接词和它们的候选写法,每条候选带一个权重。匹配用 AC 自动机一次扫过全文,比逐条做文本查找快很多,一万字的稿子匹配加替换在三十毫秒上下。

这套改写规则现在内置在 AI智能媒体助理 的内容处理环节,可在配置里开关和调强度。上线之后我们把它调成默认开启,强度写零点六,个别偏正式的栏目单独关掉。

五、句长、段落与词频

句长处理不是随机删字,是按标点切分之后重新组合。一个超过四十字的句子先按逗号切成小句,然后按长短交替的顺序重排,遇到引号或者书名号包起来的内容整块保留,不参与切分,避免把专有名称或者引用切开。

段落长度打散的做法是给每个目标段落算一个长度区间,按区间把句子重新分配。短句多的段落就并两句,长句多的段落就拆一句出来单独成段,但单句成段要满足一个下限,太短的段落读起来更奇怪。

词频统计用哈希表,统计的是两个字以上的词,目的是找出在当前文本里出现次数偏多的词,把它们按同义写法替换掉一部分,降低集中度。替换有上限,同一个词最多换掉它出现次数的三成,超过就停手。

三个步骤的顺序不能颠倒。切句必须在替换之前,否则替换出来的同义写法会改变句子长度,后面再按长度重排就对不齐;段落重组必须在替换之后,因为替换会改变句子的字数,先分组再改会让各段的长度重新变回均匀。

六、三个坑的现场记录

第一个坑是替换之后出现重复短语。现象是同一段里连着出现两处一模一样的短句,读起来比原来更假。根因是同一个连接词被替换成了同一条候选,两条候选权重相同,随机也落在了同一条上。改法是在替换时记下已经用过的候选,同一个词在本段内不重复使用,候选不够就把整段降级为不替换。

第二个坑是专有名称被同义替换破坏。现象是一个村级服务站的名称被换成了近义说法,读者看不懂指的是什么。根因是词表里放了通用词,而这些词恰好是某些名称的组成部分。改法是在词表里加一份保护名单,命中保护名单的位置跳过替换,名单从数据字典里同步,而不是手写。

第三个坑是标点全角半角混用。现象是同一段里既有中文逗号又有半角逗号,冒号形态也不一致。根因是模型输出的原文就混着两种,后处理又按半角标点切句,切出来的位置和中文标点对不上。改法是先做一次标点归一化再切句,全文的逗号句号冒号统一成全角,切句只按全角标点切。

七、只能改形状不能改内容

这套处理改的是形状,不是内容。句子读起来顺了,事实错误、数字自相矛盾、逻辑跳跃它一样都发现不了,这些必须靠另外的校验。我们在这条流水后面还挂了一道数字核对,把稿子里的数字和知识库里的原值逐个比对。

强度也不是越高越好。强度调到一点零之后,句子被切得很碎,段落长度倒是整齐了,读起来像一串短促的标语,可读性反而往下走。我们最后把默认值定在零点六,这个位置上读感能被接受,再高就需要人工过一遍。

八、三组数字成了发布前的检查项

这三个指标后来变成了发布前的固定检查项,稿子出去之前会跑一遍,连接词密度超过每百字两次的会被拦回来重跑一次,句长方差低于阈值的一并拦回,省掉了不少人眼再过一遍的时间。

上面这组参数是 AI智能媒体助理 上统计了上万段生成文本才定下来的,不是拍脑袋写的。每过一段时间我们会重新采一批稿子对一次,阈值跟着调,但三者之间的相对关系一直没变过。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询