尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

用大语言模型替代人工评估:文本可理解性自动化评审的工程实践

用大语言模型替代人工评估:文本可理解性自动化评审的工程实践 标题里这种“用 Large Language Models 当人类评估代理”的做法过去一年几乎是 NLP 圈子里最热的研究方向之一。我自己在做人机协同写作工具时也反复跟“可理解性”这个词较劲——机器生成的文本是不是真的让目标读者看懂了、读顺了这件事如果全靠人工评审成本高到根本跑不动。所以当我看到有人把 LLM 直接推上评估席去替人类判断一段文字好不好懂第一反应是“这也行”第二反应是“得赶紧动手试试”。这篇文章就把我在这类项目里的完整思路、踩过的坑、以及最后沉淀下来的一套评估流程写出来。不堆论文术语只讲实际操作怎么落地适合正在做 LLM 评测、文本质量分析、内容产品风控或者单纯好奇“AI 怎么给 AI 打分”的朋友参考。1. 先把这个题目拆明白LLM 替人类做评估到底在评什么1.1 标题背后的真实场景如果只看标题前半段“Large Language Models as a Proxy for Human Evaluation”你可能觉得这又是一个老生常谈的“LLM 打分类任务”。但关键在于后半段的“Assessing the Comprehensibility of”——它评估的对象不是准确性不是事实一致性不是情感极性而是“可理解性”。这样说可能有点抽象。我举个例子你让大模型帮你写一段甲状腺结节的科普文案发给患者看。模型输出的内容从医学事实上挑不出毛病语法也通顺。但患者读完之后能不能准确理解“良性结节不需要立刻手术”这个核心信息这就属于可理解性的范畴。我们团队当时遇到的实际场景是评估智能客服机器人对复杂政策条文的重写结果。原始条文是法律文书风格受众是普通用户机器人把它改写成口语化表达之后我们需要回答一个问题改写后的文本用户是否真的更容易懂了这类评估有两个显著痛点。第一人工评估极度耗费时间找十个人读十段文本每个人还要按多个维度打分一天跑不了几个样本第二可理解性比“正误判断”主观得多不同人的打分方差很大一致性很难达标。所以把 LLM 用作代理评估员本质上是一种“用较低成本、较高一致性的方式去逼近人工评审结论”的工程手段。1.2 为什么偏偏是“可理解性”而不是“准确性”或“流畅度”这个区分特别重要。我做项目前也犯过迷糊以为所有文本质量评估都能用同一套 prompt 解决。实际跑下来发现不同维度对 LLM 的能力要求完全不一样。准确性评估考验的是模型的知识边界和事实判断能力它在面对超出自身知识范围的内容时很容易胡说八道。流畅度评估相对简单模型对语法通顺性的感知能力很强几乎不需要额外设计。而可理解性评估处在一个微妙的位置上它既要判断词句层面的表达是否清晰又要判断篇章层面的逻辑是否连贯还要考虑目标读者的背景知识。换句话说可理解性是“表达质量”和“读者认知”的交叉产物。你在测试集里给模型一段分子生物学论文摘要再给它一段产品使用说明书模型评估“哪个更好懂”时参照系会完全漂移。这也是为什么后来我把评估框架拆成了“文本自身特征”和“读者适配特征”两个维度来分开打分而不是让模型直接给一个笼统的分数。2. 为什么 LLM 能当“代理评审”方法论根基与适用边界2.1 从人工评估到自动化评估的演变在深度学习方法普及之前大家评估文本可理解性靠的还是各种传统可读性公式比如 Flesch Reading Ease、Dale-Chall 生词率、Gunning Fog 指数。这些公式基于平均句长、音节数、生词占比等浅层特征计算快但问题也很明显——它们完全不懂语义。举个典型例子“The cat sat on the mat. It was warm.” 和 “He was acquitted due to insufficient evidence.” 这两句的计算结果可能是前者更容易读后者更难。但如果读者是法律从业者后者反而毫不费力。传统公式无法感知读者身份这是一种本质缺陷。LLM 的出现改变了这个局面。它具备上下文理解能力可以根据你提供的“目标读者”信息动态调整评估标准。这种“有条件的判断能力”是它能够逼近人工评估的核心原因。我在实验中用过同一批文本分别让传统公式和 LLM 打分再跟人工评审结果做相关分析LLM 的 Spearman 相关系数普遍高出 0.2 到 0.35优势非常明显。2.2 LLM 评估可理解性的理论基础这里要理解一个关键概念LLM 在预训练阶段读过的文本里包含了大量“人类认为好懂的文本”和“人类认为难懂的文本”。当你在 prompt 里要求模型“判断这段文字是否容易理解”时模型本质上是在调用自己从海量语料中统计出来的“人类偏好先验”。这个先验能力怎么来的打个比方一个人读了十万本书你问他“这句话小学生能不能看懂”他大概也能给出一个靠谱的回答。LLM 的训练数据比一个人读过的书多好几个数量级而且它记住了人类在互联网上对文本的点赞、转发、改写、简化等行为模式。所以LLM 做可理解性评估这件事并不是“猜”而是“基于统计规律的推断”。它判断的不完全是“这句话的词法句法复不复杂”还包括“这句话的信息组织方式是否容易被认知加工”。后一点正是传统公式做不到的。2.3 哪些场景适合用 LLM 代理哪些不建议我用过的成本矩阵可以直白地总结成一张表场景特征适合 LLM 代理必须人工评审样本量大人工成本高是否评估标准有较高共识是否目标读者画像清晰并可描述是否涉及生死攸关的知识理解否是高度依赖语境和隐含情绪否是被评估文本专业性极强部分适合建议结合特别提醒如果文本涉及医疗、法律、金融等专业领域且误判会导致严重后果LLM 代理评估只能作为初筛绝对不能替代最终的专家评审。我自己见过一个实验LLM 给一份术前知情同意书的简化版本打了“易于理解”的高分但让真正患者去复述时依然有三分之一的人说不出手术风险。这就是统计先验和现实认知之间的鸿沟。3. 实操落地怎么用 LLM 搭建可理解性评估流程3.1 搭建一个三阶段评估框架我在项目中使用的评估框架分为三个阶段结构化打分、理由生成、交叉验证。三个阶段可以一次调用完成也可以拆成多轮对话取决于你对输出质量的敏感度。结构化打分阶段我会让模型按照预设维度分别评分而不是给出一个“总分”。维度包括词汇难度、句法复杂度、逻辑连贯性、读者背景匹配度、信息密度这五项。每个维度 1 到 5 分并允许输出小数方便后续算加权平均值。理由生成阶段模型需要对每个评分维度写一句简短的依据说明。这一步非常关键因为这个“理由”将来可以用来质检模型的打分是否合理。如果模型说“词汇难度 2 分”但理由写的是“出现了三个专业术语”这就是自相矛盾需要标记。交叉验证阶段我会用同一条 prompt 的不同表述对同一批文本再评一次或者用不同的模型各评一次看结果是否稳定。稳定性差的样本一律打入“人工复核队列”。这个流程跑通之后人工工作量可以降到原来的十分之一左右。3.2 Prompt 模板和参数选择的参考方案以下是我经过多轮迭代后沉淀下来的一套 prompt 模板你可以直接抄作业再根据你的文本领域调整你是一位经验丰富的文本编辑和认知心理学专家。你的任务是评估给定文本对于【目标读者群体】而言的可理解性。 目标读者群体{在这里填写读者画像例如初中文化水平的普通消费者} 文本内容 {在这里放入待评估文本} 请从以下五个维度分别打分1-5分可带一位小数 1. 词汇难度文本中的词汇是否超出目标读者的日常词汇量 2. 句法复杂度句子结构是否超出目标读者的认知加工能力 3. 逻辑连贯性信息之间的因果关系、顺序关系是否清晰 4. 读者背景匹配度文本预设的背景知识是否与目标读者匹配 5. 信息密度单位篇幅内承载的核心信息量是否适中 输出格式要求 - 每个维度输出一个分数 - 每个分数后附一句评分理由理由必须引用文本中的具体词句作为证据 - 最后输出一个总体可理解性分数计算公式为词汇难度*0.2 句法复杂度*0.25 逻辑连贯性*0.25 读者背景匹配度*0.2 信息密度*0.1关于模型参数我的实践结论是temperature 设 0top_p 设 1。可理解性评估不是创意生成任务我们需要的是稳定、可复现的判断。哪怕多调用几次模型也要保证同一段文本输入同样 prompt 时输出基本一致否则评估体系没法用。3.3 从打分到可执行报告的转化单纯拿到分数还不够产品团队需要的是一份“能告诉我怎么改”的报告。我会在评分之后追加一个感叹号式指令让模型输出“修改建议版本”和“修改原因对照表”。修改建议版本指的是模型在原文基础上改写出一版可理解性更高的文本。这一步考验模型的语言生成能力同时也给人工编辑提供了一个起点。修改原因对照表则要逐条列出“原文中哪句话有问题、问题是什么、改成什么更好”。这张表本质上是把模型的评分理由进行了工程化转换。举个例子。原文是“甲状腺结节在超声检查中呈现为低回声实性结节时恶性风险比例会相应上升”模型的修改建议可能是“如果 B 超发现甲状腺结节是实性低回声的那它有恶性可能性的概率会变大”。原因对照表会写明“低回声实性结节”超出了普通读者的医学词汇库建议替换为“看起来是实心的、回声低的硬结”之类更生活化的表述。这样的报告交付给业务方他们不需要再复读文本原文直接对照修改建议做最终裁定就行项目推进速度快很多。3.4 评估结果的可视化与监控跑完一批评估后别只看平均分。我会把每个维度的得分分布画出来观察是否存在系统性偏移。比如某次评估中“词汇难度”普遍低于 2 分同时“信息密度”普遍高于 4 分这可能说明模型在“生词多”和“信息量大”之间做了隐式补偿但这两件事在人脑里并不会自动抵消。我还会用浮动平均的方式监控模型打分在连续多批样本间的稳定性。如果同一批文本今天打分是 3.8三天后变成 2.9那不是文本变了是模型侧的行为漂移了。这种情况在当前 LLM 领域并不少见模型服务方更新底层版本后输出分布会在你毫无感知的情况下平移。我处理漂移的方式很朴素固定保留一份由 50 条文本组成的基准集每周跑一遍用量化对比的方式跟踪分数分布变化。一旦发现整体偏移超过 0.5 分立刻把评估任务的 prompt 版本冻结并排查上游模型版本。4. 关键验证LLM 打分与人类评分的一致性怎么保证4.1 一致性指标的选型和计算用 LLM 代替人工评估之前你必须回答一个问题LLM 的结论跟人类专家的结论到底一不一致这里涉及两个核心指标Pearson 相关系数用于衡量线性相关Spearman 秩相关系数用于衡量排名一致性。在可理解性评估里我更关注 Spearman 秩相关系数。因为业务方真正关心的是“哪段文本相对更难懂”而不是绝对分数本身。一段文本在人工评审那里得 3 分、在 LLM 那里得 3.8 分没有关系但如果人工评审认为是全场最难的LLM 却认为是全场最简单的这个项目就完蛋了。我团队的一个实际项目里评估了 200 条客服改写文本人工评审由 5 人完成两两之间的平均 Spearman 系数是 0.74 左右。同样这批文本GPT-4 级别模型的评分与人工平均评分之间的 Spearman 系数跑到了 0.81。这个数字已经超过了单个评审人与群体意见的一致性我们在报告中使用了“超过人类基线”这个表述。4.2 需要多少样本才能建立可信度很多刚接触这个方向的同学会问至少要评多少条才能相信 LLM 的评估结果我的经验是分两步走。第一步做小规模验证集规模在 30 到 50 条。这批样本必须覆盖好懂、中等、难懂三个层级每条至少获得三位人工评审的打分。然后拿 LLM 跑同样的 prompt计算 Spearman 系数。如果系数低于 0.7先别急着扩大样本回头调 prompt。我们早期版本的 prompt 只让模型“按 1 到 5 分评估可理解性”Spearman 只有 0.55后来改成细分维度、强制写理由才涨到 0.78。prompt 的影响远大于模型版本的影响。第二步在正式上线后持续收集反馈。实际业务里的人工反馈不会像实验评审那么规范可能只是用户点了一个“看不懂”按钮。但这类信号日积月累后可以做月份粒度的一致性复算。如果趋势向下就说明业务侧的文本形态变了当初标定的 prompt 也需要跟着升级。4.3 偏差来源分析LLM 在哪些文本上容易翻车跑多了之后你会发现 LLM 的可理解性评估存在系统性偏差。在我的实验里偏差主要出现在以下两类文本上。第一类是含有明显修辞手法的文本比如隐喻、反讽、双关。LLM 对“字面意思”和“实际意思”之间的差距感知能力有限它容易把修辞复杂的文本评为“词汇简单、理解容易”但它忘记了一个完全不懂背景的读者可能完全读不懂言外之意。第二类是文本极短的情况。当输入只有一两句话时LLM 可用的上下文线索太少它的评估更容易被局部句法迷惑。比如“购买前请阅读协议”这种祈使句语法很简单模型可能给高分但真实场景里用户根本不会读协议。可理解性评估需要结合“用户是否会投入注意力”这个现实因素但仅凭单句文本模型无法推断这一点。我在代码实现里做了一层保护低于 30 个字的文本直接进人工复核队列不走模型评估。这牺牲了一点自动化率但保住了整体评估的可靠性。5. 常见问题与排查技巧实录5.1 典型问题速查表问题现象可能原因排查方法LLM 打分普遍偏高prompt 中未强调“严格标准”模型倾向于讨好在 prompt 中增加“请持有批判性思维避免给出中庸或偏高分数”同一文本重复调用结果不一致temperature 参数过高把 temperature 调到 0若仍不稳定则检查是否有多轮对话历史污染评估结果与人工评审系统性冲突目标读者画像描述不清重写 prompt 中的读者画像加入年龄、学历、领域背景等具体信息模型给的理由与分数不符prompt 中理由生成指令被模型弱化将输出格式改为 JSON并把“理由必须引用文本原句”放在最前评估耗时过长模型输出过长限制 max_tokens并明确“每个维度理由不超过 20 个字”5.2 如何有效遏制 LLM 打分时的“幻觉理由”所谓“幻觉理由”指的是模型在给低分时理由里引用的词句在原文中根本不存在。比如原文是“用户可以通过手机完成实名认证”模型却给它打了 2 分理由是“文中未给出实名认证的具体流程”。这种评分本身也许有道理但它引用的理由站不住脚后续质检会非常麻烦。我的解决方案是在 prompt 中加入一条显式约束“评分理由中引用的文本内容必须出现在原文中逐字匹配不得概括或转述。”同时在代码里写了一个正则检查器把模型输出的理由部分与原文做字符串匹配匹配度低于阈值的自动标记为“理由存疑”重跑一次。这一套做下来幻觉理由的比例从 15% 压到了 2% 以内。5.3 跨语言与多语言场景的移植难点如果你的项目需要评估多语言文本的可理解性还有额外的坑要踩。同一个 prompt 翻译成不同语言后模型的表现会有明显差异。英文 prompt 下 LLM 对词汇难度的判断非常敏感但翻译成中文后由于中文没有天然的空格分词模型对“生词”的识别粒度会变得更加模糊。我在做中英双语评估时会针对每种语言单独维护一套 prompt而不是直接翻译。中文版里“词汇难度”的描述我会改成“词语是否属于常用口语词汇”并额外加入“四字成语密度”作为参考指标因为成语是中文可理解性的重要影响因子。多语言评估里最忌讳的就是“一套模板走天下”。6. 关于模型选型的一些个人建议6.1 模型规模到底重不重要这个问题几乎每次分享都会被问到。我的回答是在可理解性评估这个任务上模型规模确实重要但不如任务设计重要。我们用 70B 级别模型和 7B 级别模型在同等 prompt 下做了对比Spearman 系数差距大约在 0.1 左右。但把 7B 模型的 prompt 从“按维度评分”升级成“先复述文本核心信息再评分”之后差距缩小到了 0.03。这说明一个更本质的道理小模型的指令遵循能力弱但它本身的理解能力并没有差那么多。如果你只能调用小模型多花时间设计 prompt 的思维链结构收益会非常明显。我的一个常用技巧是让模型先用自己的话复述一遍文本内容再判断“复述过程中哪些地方无法顺利完成”这实际上是把理解过程显式化倒逼评估质量提升。6.2 开源模型和商用 API 的实际差异我两种路径都用过。商用 API 方便效果有保障但对于样本量很大的评估任务成本会成倍增长。评估 10 万条文本每条需要输出 200 个 token乘以单价就是一笔不小的开支。开源模型的好处是私有化部署后可以无限调用省去了成本顾虑。但它的评分稳定性对部署环境的依赖较大。特别是量化后的模型同一个 prompt 在 FP16 和 INT8 下的输出分布可能差出半个标准差。如果确定用开源模型做评估我建议完整精度推理不要把量化引入评估链路。6.3 评估链路的最终形态在用 LLM 做可理解性评估的项目里我最终构建的链路是“传统规则初筛 LLM 精细评估 人工抽检复核”三层结构。传统规则把那些明显超长、明显含大量生僻字的文本先过滤掉占用极低成本LLM 针对初筛后的中等模糊地带做精细化评估人工只复核 LLM 标记为“低一致性”的那部分样本。这套链路跑下来的成本结构大概是传统规则占 5%LLM 占 85%人工占 10%。相比全人工评估成本降了约 80%而结果与人工评审的相关性依然保持在 0.8 左右。对于想落地这个方向的团队我的建议非常简单不要试图让 LLM 包办一切给它一个清晰的职责边界把它放在评估流水线的中间层它才能发挥最大的杠杆效应。我自己的体会是用 LLM 替代人工评估的难点从来不在模型能力而在于工程化设计。你愿不愿意花时间去打磨 prompt、设计一致性校验、建立监控体系决定了这个方案最终是惊艳还是翻车。
返回列表