本节摘要:生成的文本"像不像人话",看三个质量维度:流畅性(通不通顺)、自然性(像不像人说的)、多样性(会不会重复)。本节讲清三个维度的含义、常见问题与优化手段。
阅读完本节,你应当能够:
"同一句话每次都一模一样,好假"——这是多样性问题。生成质量的三维:流畅(读得通)、自然(像人话)、多样(不重复)。三维都到位,回复才"像人"。
| 维度 | 含义 | 问题表现 |
|---|---|---|
| 流畅性 | 语法通顺 | 病句、断裂 |
| 自然性 | 像人说话 | 生硬、书面 |
| 多样性 | 表达多变 | 重复、单一 |
💡 关键直觉:多样性与稳定性是跷跷板——任务场景要稳定(每次信息一致),闲聊场景要多样(每次不一样)。按场景调平衡。
| 手段 | 做法 |
|---|---|
| 模板变体 | 同义多版本 |
| 采样温度 | 适度调高 |
| top-k/top-p | 扩大候选 |
| 同义替换 | 随机替换词 |
⚠️ 常见坑:多样性调到失控。温度过高,回复天马行空、信息出错——任务场景保持低温度,闲聊再放开。
训练数据用"真人对话"而非书面语 避免"AI 腔"(过度书面、客套堆砌) 用口语化表达与连接词
| 方法 | 说明 |
|---|---|
| 人工打分 | 流畅/自然/多样分维度评 |
| 重复率 | 连续回复的相似度 |
| 一致性 | 信息是否前后一致 |
文本说好了,最后一节出声——语音合成 TTS。
"温度、top-k、top-p"是控制生成多样性的三个旋钮,很多初学者只调温度。这里把三者讲透,并给出"重复文本"这个高频问题的排查思路。
三个旋钮的作用:
temperature:整条概率分布变软/变硬 低(0.3):接近贪心,稳定但呆板 高(1.5):发散冒险,可能跑题 top-k:只从概率最高的 k 个词里采样 k 小:候选少,稳 k 大:候选多,活 top-p:只从累计概率超过 p 的最小集合里采样 p 低:排除长尾低概率词,稳 p 高:长尾词也可能入选,活
实际调法建议:固定 top-p(常用 0.9),再微调温度。场景上,任务型回复保持低温度(0.3~0.6)保证信息准确;闲聊可适度放高。三者配合的目标是"排除明显不合理的词,保留有意义的多样性"。
重复问题的排查:生成重复有两种根源,治法不同:
根源一:解码贪心导致的局部重复("好的好的好的好的") 治:降温度或加惩罚项(repeat_penalty),禁止已生成的 n-gram 再出现 根源二:训练数据本身重复 治:清洗训练语料,去重模板化句子
"AI 腔"与自然性:书面语堆砌、每句都以"首先/其次/综上所述"开头、缺乏口语停顿,是生成文本不自然的常见来源。改善手段是训练/提示里用真实对话语料,并做"脱 AI 腔"检查——人工抽看时把"换成真人会怎么说"作为标尺。质量评估落到三个数上:人工自然度打分、连续回复重复率、信息一致性(前后数据是否矛盾)。三维平衡,没有一劳永逸的参数,只有按场景持续调优。
练一下"同义多版本"的手感:给"明天有 3 个航班"这一条信息,写出三档表达——模板档(最规范:明天有 3 个航班)、口语档(更像真人:明天有三班,都行)、礼貌档(客服口吻:为您查到明天共 3 班航班)。写完对比三档的适用场景:订单确认该用哪档?聊天开场该用哪档?然后反向练习"多样性到多少算失控":把口语档继续放开写十种,标注哪些会让人听出"信息有误"或"过度夸张"——超出信息边界的那几版就是失控样本。这个练习帮你建立对多样性的直觉:多样性是表达方式的多样,不是信息内容的漂移。守住信息一致性这条线,多样性才有价值。