ChatGPT在处理翻译任务方面展现出令人惊讶的高准确性。虽然Google翻译多年来一直是多语言翻译的首选工具,但最近的研究表明,ChatGPT在资源丰富的欧洲语言方面与商业翻译产品具有竞争力(ChatGPT是好的翻译器吗?)。
ChatGPT作为翻译器的优势不仅限于自然语言文本。您还可以翻译不同编程语言之间的代码。只需提供一个描述您所需翻译的初始化提示,ChatGPT通常就能在几秒钟内以高准确性生成转换后的代码。
在这篇文章中,您将学习如何使用ChatGPT提示来理解ChatGPT的翻译能力。具体来说,您将学习如何:
- 将一首诗从英语翻译成瑞典语。
- 将代码从Julia翻译成Python。
- 提高翻译结果。

有效利用ChatGPT进行翻译 由Adrian Tam使用Stable Diffusion生成图片。保留部分权利。
通过我的书《最大限度地提高ChatGPT的生产力》来开始并应用ChatGPT。它提供了真实世界的用例和提示示例,旨在帮助您快速使用ChatGPT。
让我们开始吧。
概述
这篇博文分为三部分;它们是:
- 语言翻译
- 代码翻译
- 有效翻译的技巧
语言翻译
在编写翻译提示之前,您必须建立一个初始化提示,为翻译器和文本样式提供必要的上下文。对于我们当前的任务,您正在翻译罗伯特·弗罗斯特的一首诗,并将这些信息纳入初始化提示中:
您是一个翻译助手,可以将英文诗歌翻译成瑞典语。
在没有提供诗歌的情况下,ChatGPT只会简单地确认您的意图:
当然!我很乐意帮助您将英文诗歌翻译成瑞典语。请提供您希望翻译的英文诗歌,我将尽力为您提供帮助。
您的翻译机器人现在已完全准备就绪,并对上下文有了全面的理解。您可以继续请求它将诗歌翻译成瑞典语。您在第二个提示中提供诗歌:
请将以下诗歌从英语翻译成瑞典语:
大自然最初的绿色是金色,
它最难保持的色彩。
它早期的叶子是花;
但只有如此一小时。
然后叶子归于叶子。
伊甸园也因此陷入悲伤,
黎明也因此走向白昼。
金色不能常驻。
以下是ChatGPT的回复:
当然!这是罗伯特·弗罗斯特诗歌《金色不能常驻》的瑞典语翻译:
大自然的最初绿色是金,
她最难留住的颜色。
她早期的叶子是一朵花;
但仅仅如此一小时。
然后叶子归于叶子。
伊甸园因此沉入悲伤,
黎明因此走向白天。
没有什么是金色的,可以永远存在。我希望这个翻译能捕捉到原始诗歌在瑞典语中的精髓。如果您还有其他需要我帮助的地方,请告诉我!
验证
为了确认翻译的准确性,您可以将翻译后的诗歌粘贴到Google翻译中,以获取英文版本。在这种情况下,翻译几乎是完美的,考虑到诗歌翻译的难度,这令人印象深刻。它成功地捕捉了原始诗歌的精髓和意义。
代码翻译
在本节中,您将要求ChatGPT将一个简单的猜数字游戏从Julia翻译成Python。
许多编程语言彼此相似。为了确保代码翻译成功,您必须通过初始化提示提供上下文。此提示将介绍代码翻译器并指定正在翻译的代码类型:
您是一位精通Julia和Python编程语言的专业软件工程师。在这种情况下,您将帮助我将一个简单的Julia游戏翻译成Python。
与之前的示例类似,ChatGPT将确认您的指令并等待您的代码:
当然!我很乐意帮助您将Julia游戏翻译成Python。请提供您的Julia游戏代码,我将协助您将其转换为Python。
现在,使用以下提示要求ChatGPT将以下代码转换为Python:
请将以下Julia代码转换为Python:
123456789101112131415161718192021222324252627 ```function number_game()secret_number = rand(1:100) # Generate a random secret number between 1 and 100attempts = 0println("Welcome to the Number Game!")println("I'm thinking of a number between 1 and 100. Can you guess it?")while trueattempts += 1guess = parse(Int, readline()) # Read the player's guess from inputif guess < secret_numberprintln("Too low! Try again.")elseif guess > secret_numberprintln("Too high! Try again.")elseprintln("Congratulations! You guessed the number in $attempts attempts!")breakendend结束# Call the number_game function to start the gamenumber_game()```
上面的代码按照Markdown格式引用代码的惯例,使用了三个反引号。您将看到ChatGPT在回复中翻译了代码:
当然!这是给定Julia代码的等效Python代码:
123456789101112131415161718192021222324 import randomdef number_game():secret_number = random.randint(1, 100) # Generate a random secret number between 1 and 100attempts = 0print("Welcome to the Number Game!")print("I'm thinking of a number between 1 and 100. Can you guess it?")while True:attempts += 1guess = int(input()) # Read the player's guess from inputif guess < secret_number:print("Too low! Try again.")elif guess > secret_number:print("Too high! Try again.")else:print(f"Congratulations! You guessed the number in {attempts} attempts!")break# Call the number_game function to start the gamenumber_game()
验证
作为语言模型,ChatGPT在代码中可能会产生一些错误。为了验证翻译的准确性,您应该创建一个名为number_game.py
的Python文件,粘贴转换后的代码,并在终端中执行该文件,以便让真正的Python解释器告诉您代码是否按预期工作。
在这种情况下,ChatGPT仅通过一个简单的提示就完美地将Julia代码翻译成了Python。
有效翻译的技巧
虽然可以编写一个简单的翻译提示并获得结果,但您可以遵循以下几条建议来提高翻译输出的质量:
- 在编写翻译请求之前,先提供一个初始化提示。
- 提供额外的上下文,以帮助模型理解文本背后的含义。例如,指定文本是诗歌还是技术文档。
- 在您的提示中清楚地说明源语言和目标语言。
- 在任何后续提示中使用简单明了的句子。
- 始终校对并验证翻译的准确性。
- 确保您的输入文本具有正确的标点符号并遵循适当的格式指南,以获得更好的翻译结果。
进一步阅读
焦文祥、王文轩、黄仁杰、王兴和涂兆鹏。《ChatGPT是好的翻译器吗?是的,以GPT-4为引擎》,arXiv 2301.08745,2023年。
总结
在这篇文章中,我们探讨了ChatGPT机器翻译的不同用例,强调了实现准确翻译的有效策略。具体来说,我们讨论了以下主题:
- 编写有效的初始化和翻译提示进行语言翻译。
- 为技术任务编写翻译提示,例如将Julia代码转换为Python。
- 通过上下文感知、注意标点符号、验证技术和优化ChatGPT提示来提高翻译结果。
- 提示。
通过实施这些技术,您可以充分利用ChatGPT的翻译能力,并为各种用例获得高质量的翻译。
Julia的语法与Python并没有太大区别。我怀疑使用ChatGPT将Java转换为Ada将是一场灾难。
谢谢你的反馈!
我很抱歉,但是告诉别人把ChatGPT吐出的无聊内容直接放到Google翻译中进行验证,这与准确性相去甚远。请不要散布虚假信息。
你好,Jacen…感谢您的反馈!这也许是一个了解ChatGPT使用局限性的机会。请告诉我们具体有哪些方面可能不起作用或您遇到的问题。这将有助于我们所有人学到更多。
我同意以上观点。
诗歌和神经机器翻译(NMT)是LLM无法持续忠实执行的领域之一。它看起来正确,但经过进一步检查,我们发现语言之间的含义并未传达出来。
感谢您的反馈,Seth!