用 ChatGPT 纠错怎么防止改错事实?逐项核对数字和专有名词

ChatGPT 能辅助找错别字和病句,但纠错结果不能自动覆盖原稿中的金额、日期和名称。把原文、纠错指令和候选改稿分开保留:先让模型尽量只改语言,再用本地脚本逐项找出数字和专有名词的变化,最后人工看上下文。

ChatGPT 能辅助找错别字和病句,但纠错结果不能自动覆盖原稿中的金额、日期和名称。把原文、纠错指令和候选改稿分开保留:先让模型尽量只改语言,再用本地脚本逐项找出数字和专有名词的变化,最后人工看上下文。

准备与运行

本文只使用人工构造的教学材料,没有把示例结果当作真实项目效果。以下代码在 Windows 的 Python 3.11 独立环境执行通过。先在空目录运行安装命令,再将完整代码保存为 demo.py,执行 python demo.py。

用 ChatGPT 纠错怎么防止改错事实?逐项核对数字和专有名词

python --version  # 只用 Python 标准库

可复制的提问模板

可在自己的 ChatGPT 对话中输入下面的模板,替换为自己有权处理的文本。本文没有调用在线模型;后面的候选输出仅是人工构造的校验示例。

请只修正下面文本的错别字与语病,保持金额、日期、机构名称和事实关系不变。输出修改后文本,并逐项列出你改了什么;无法确认的专有名词保持原样并标记。
原文:<粘贴你有权处理的文本>

把“语言修改”和“事实修改”分开

教学原句写成“星河科技在10月5日公布12万元预算,团队以经完成测试。”,其中“以经”是故意放入的错字。人工构造的候选稿一边改成“已经”,一边错误地把“12万元”改成“15万元”。脚本需要把数字变化明确报出,证明仅有流畅文字不足以通过审稿。

给 ChatGPT 的文本应由你有权处理;包含客户信息或商业秘密时,先按组织的使用政策和产品数据设置判断能否上传。模型输出的“修改说明”也不能代替原文对照。

用差异表回到原文定位

difflib 的字符差异只告诉我们哪里发生增删改;代码另外提取数字加单位、日期与固定专名清单。专名清单由编辑针对当前稿件设定,真实稿件不能靠一个泛用正则猜全部机构名称。若数字或专名变化,先暂停发布,逐项询问原作者或核对原始资料。

本例没有向 ChatGPT 发送请求。你可以先用上面的指令取得候选,再用下面代码替换 original、candidate 和 protected_names;只有机器报告没有异常且人工核对语义,才接收改稿。

完整代码

import difflib, re

original = "星河科技在10月5日公布12万元预算,团队以经完成测试。"
candidate = "星河科技在10月5日公布15万元预算,团队已经完成测试。"  # 人工构造的错误候选
protected_names = ["星河科技"]
pattern = r"\d+月\d+日|\d+万元"
before_facts = re.findall(pattern, original)
after_facts = re.findall(pattern, candidate)
name_changes = [name for name in protected_names if (name in original) != (name in candidate)]
changes = [(tag, original[a:b], candidate[c:d])
           for tag,a,b,c,d in difflib.SequenceMatcher(None, original, candidate).get_opcodes()
           if tag != "equal"]
print("character_changes", changes)
print("source_facts", before_facts)
print("candidate_facts", after_facts)
print("fact_changes_detected", before_facts != after_facts or bool(name_changes))
print("needs_human_review", True)
assert before_facts != after_facts and not name_changes

运行结果与核对

下面是上述脚本在本地执行得到的输出;正式数据请按相同检查点复核。

character_changes [('replace', '2', '5'), ('replace', '以', '已')]
source_facts ['10月5日', '12万元']
candidate_facts ['10月5日', '15万元']
fact_changes_detected True
needs_human_review True

运行结果应显示“以”到“已”的语言修改,也要显示预算从 12 万元变成 15 万元,fact_changes_detected 为 True。编辑回到原始资料核对预算后,只接收正确的语言修改,不能因为模型写得顺畅就一键替换。

适用边界

候选稿是人为构造,不是 ChatGPT 实测输出。正则只覆盖演示中的日期和“万元”格式,无法自动辨别“十二万元”、隐含数量、主体互换或因果颠倒;最终仍需逐句人工审校。

常见问题

脚本显示数字相同就能自动通过吗?

不能。模型可能改变否定词、责任主体或条件,却保持所有数字。差异表只是定位工具,仍需根据原文和来源复核含义。

参考资料

以下官方资料已于 2026 年 10 月 1 日核对,分别用于确认文中接口或方法定义。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31733.html

赞 (0)
AI小管家的头像AI小管家
实体标注的 BIO 标签怎么生成?用字符偏移检查跨词与冲突
上一篇 2小时前
智能体误解否定句怎么办?建立禁止动作与转折测试用例
下一篇 2小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部