一句简单的提示词就可以让 LLM 在翻译的时候更好的“意译”
以前为了让 LLM 达到更好的翻译效果,我尝试了很多方式,比如最初的先直译再意译,后来的直译、反思和意译。虽然效果好了,但是却复杂了。
现在随着模型能力增强,不再追求复杂的提示词技巧,而是尝试返璞归真,找到更好更简单的提示词方法。
我发现对于翻译的任务,有时候翻译的效果过于生硬,恰恰在于给模型的任务是“翻译”,因为是翻译,所以模型会尝试按照字面意思去翻译,尽量还原原始的格式,但也造成一些翻译过于直白和生硬。
这就像我们在学英语的时候,老师让我们去把英文翻译成中文,通常就会按照英文的单词和句式去翻译,但是如果老师让我们用中文“重写”而不是翻译,那么就可以自由的多,只需要去理解原来英文的意思,用中文的方式去重新表达,反而效果好很多。
所以我最近尝试了在做翻译任务的时候,让大语言模型去用“目标语言重写”而不是“翻译”,效果果然大不一样,结果不再拘泥于原有语言的格式语法,而是用更自然的方式表达出来。
比如说昨天 OpenAI 星际之门的公告,最后一句话:
“We want to connect with firms across the built data center infrastructure landscape, from power and land to construction to equipment, and everything in between.”
如果“翻译”,就是按照字面意思:
我们希望与整个数据中心基础设施领域的企业建立联系,从电力和土地到建设再到设备,以及这其中的所有环节。
如果“用中文重写”,就自然的多:
我们希望与整个数据中心基础设施领域的企业建立联系,包括电力和土地、建筑施工、设备等各个方面的合作伙伴。
至于提示词,则很简单:
请尊重原意,保持原有格式不变,用简体中文重写下面的内容:
or
Please respect the original meaning, maintain the original format, and rewrite the following content in Simplified Chinese:
翻译其他语言也类似,只要把提示词中目标语言部分换掉即可。
这种提示词方法适合任何大语言模型,需要注意的是,这只是一个基础的提示词,如果你要更好的翻译效果,根据不同场景还可以进行扩展,核心要点是:
提供给AI充足的上下文,让 AI 能更好的理解要翻译的内容,比如一些缩写的定义,一些 AI 没有训练过的内容的补充;
一些特定的翻译规则,比如提供翻译词汇对照表,比如某些词汇不翻译。
比如这是一个稍微复杂一点场景的提示词参考:
这是一篇人工智能技术相关文章,主要研究了如何量化模型的蒸馏程度,其中 LLM 表示“大语言模型”,Model Distillation表示模型蒸馏,英文人名保持不变,现在请尊重原意的前提下,保持原有格式不变,用中文重写下面的内容:
核心要点还是要让 AI 能更好的理解上下文,以及你“用目标语言重写”的规则。之所以让它“用目标语言重写”而不是“翻译”,而是让模型能在理解上下文的基础上去“意译”,而不是简单的按照字面规则去“直译”,从而得到更好的翻译效果。
附录:
@同声翻译樱桃羊:
1这个“重写/改写”的思路和口译教学的“deverbalisation脱壳”不谋而合,鼓励学生“得意而忘形”;
2还可以套用源语paraphrase的思路,即不着急让学生“从源语到译语”,而是鼓励学生试着用尽可能多的方式“以源语重写源语”,让AI试着重写原句,看其理解是否真正到位,或有没有什么表达方式可能激发我们对原文新的理解;
3.如果客户能像对AI一样,多给予我们人类译员一些理解与支持,那该多好!
(至于怎么支持,原博已经总结得很好了:
1.告知你的需求究竟是“翻译”还是“改写”,
2.尽可能提供一些背景知识