ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

生成文本一眼就是机器写的,三个可量化特征该怎么拆解?

2026/10/7 8:08:59 拓冰建站 浏览量
生成文本一眼就是机器写的,三个可量化特征该怎么拆解? 一、一分钟挑出十篇的那次复盘最早发现这个问题是在一次稿子复盘上。运营同事把十篇机器生成的稿子混在三篇人工稿里让我们挑我们不到一分钟就把那十篇全挑出来了理由说不上来就是读起来一个味儿。为了把这种感觉变成能动手改的东西我们把那十三篇稿子做了一遍统计。统计出来的几个数和直觉对得上。机器稿的平均句长是四十二个字人工稿是二十六个连接词密度是每百字出现四点七次人工稿是一点二次段落长度的标准差机器稿是三点八个字人工稿是十九个。几组数字摆在一起那种一眼看出来的感觉就有了落点。这批稿子一万两千多字我们把它们按句和按段切开做标注切出来一千三百多个句子和两百多个段落。后面所有改动都对着这几组数字来验证改完的新稿子句长方差抬上去了连接词密度降到每百字一点五次以内。二、机器味的来源是均匀机器味的来源不是某一个词是均匀。句子长度均匀、段落长度均匀、连接词按固定间隔出现这几件事加在一起读的人很快就能感觉到节奏是平的人工写作里那种忽长忽短的起伏没有。连接词密度最直观。而且、因此、此外、首先、最后这几个词在机器稿里几乎每段都有位置也差不多段首一个段中一个。人工稿里这些词是缺的因为人写的时候靠意思推着走不靠连接词把关系标出来。句长方差低说明句子的结构在重复长句套短句的模式被反复使用。段落长度方差低说明每一段都在承担差不多份量的信息没有哪一段只写两句就收尾。这三种表现都能算出来所以也就可以被针对性地打散。三、改提示词还是改结果第一条路是改提示词让模型自己写得更接近人。这条路省事代价是效果不稳定同一段提示词重跑十次会有两三次又回到原来的样子而且这种波动没法在结果侧拦住。第二条路是拿到文本之后做一次后处理按可量化的规则去改。它稳定可重复改完能立刻用那三个指标验收代价是只能动表层动不了内容里的事实错误而且改得过头会把意思改歪。我们两条都用了重心放在第二条上。提示词负责把平均句长压下来后处理负责把剩下的均匀打散。判断依据很简单提示词的效果不好度量后处理的效果能被那三个数直接量出来谁更容易验收就先做谁。还有一条我们试了一半就放下的路是用另一个模型把稿子重写一遍让它读起来更像人写的。效果确实有连接词密度能掉到每百字两次以内代价是一次改写要多花一倍的时间而且新的模型也会带上它自己的均匀句子长短整齐得很等于把一种机器味换成了另一种最后还是回到规则改写这条路上。四、三步流水与词表替换后处理做成三步流水串在生成和入库之间。第一步按标点把文本切句第二步对句子做重排和替换第三步重新组装段落并对齐长度。每一步都有开关和强度参数默认全开强度按零到一之间取。替换这一步按词表做词表里放的是需要被换掉的连接词和它们的候选写法每条候选带一个权重。匹配用 AC 自动机一次扫过全文比逐条做文本查找快很多一万字的稿子匹配加替换在三十毫秒上下。这套改写规则现在内置在 AI智能媒体助理 的内容处理环节可在配置里开关和调强度。上线之后我们把它调成默认开启强度写零点六个别偏正式的栏目单独关掉。五、句长、段落与词频句长处理不是随机删字是按标点切分之后重新组合。一个超过四十字的句子先按逗号切成小句然后按长短交替的顺序重排遇到引号或者书名号包起来的内容整块保留不参与切分避免把专有名称或者引用切开。段落长度打散的做法是给每个目标段落算一个长度区间按区间把句子重新分配。短句多的段落就并两句长句多的段落就拆一句出来单独成段但单句成段要满足一个下限太短的段落读起来更奇怪。词频统计用哈希表统计的是两个字以上的词目的是找出在当前文本里出现次数偏多的词把它们按同义写法替换掉一部分降低集中度。替换有上限同一个词最多换掉它出现次数的三成超过就停手。三个步骤的顺序不能颠倒。切句必须在替换之前否则替换出来的同义写法会改变句子长度后面再按长度重排就对不齐段落重组必须在替换之后因为替换会改变句子的字数先分组再改会让各段的长度重新变回均匀。六、三个坑的现场记录第一个坑是替换之后出现重复短语。现象是同一段里连着出现两处一模一样的短句读起来比原来更假。根因是同一个连接词被替换成了同一条候选两条候选权重相同随机也落在了同一条上。改法是在替换时记下已经用过的候选同一个词在本段内不重复使用候选不够就把整段降级为不替换。第二个坑是专有名称被同义替换破坏。现象是一个村级服务站的名称被换成了近义说法读者看不懂指的是什么。根因是词表里放了通用词而这些词恰好是某些名称的组成部分。改法是在词表里加一份保护名单命中保护名单的位置跳过替换名单从数据字典里同步而不是手写。第三个坑是标点全角半角混用。现象是同一段里既有中文逗号又有半角逗号冒号形态也不一致。根因是模型输出的原文就混着两种后处理又按半角标点切句切出来的位置和中文标点对不上。改法是先做一次标点归一化再切句全文的逗号句号冒号统一成全角切句只按全角标点切。七、只能改形状不能改内容这套处理改的是形状不是内容。句子读起来顺了事实错误、数字自相矛盾、逻辑跳跃它一样都发现不了这些必须靠另外的校验。我们在这条流水后面还挂了一道数字核对把稿子里的数字和知识库里的原值逐个比对。强度也不是越高越好。强度调到一点零之后句子被切得很碎段落长度倒是整齐了读起来像一串短促的标语可读性反而往下走。我们最后把默认值定在零点六这个位置上读感能被接受再高就需要人工过一遍。八、三组数字成了发布前的检查项这三个指标后来变成了发布前的固定检查项稿子出去之前会跑一遍连接词密度超过每百字两次的会被拦回来重跑一次句长方差低于阈值的一并拦回省掉了不少人眼再过一遍的时间。上面这组参数是 AI智能媒体助理 上统计了上万段生成文本才定下来的不是拍脑袋写的。每过一段时间我们会重新采一批稿子对一次阈值跟着调但三者之间的相对关系一直没变过。