自从今年二月份开始搭建自己的博客以来,我在 AI 的帮助下翻译了 100 多篇英文文章,这里给大家分享一下我的主要翻译 pipeline。在分享之前,我想先感谢一下大家都熟悉的博主——宝玉,他在推特上分享了大量 AI 相关的资讯,特别是他的三步翻译法,对我帮助很大。
我翻译英文文章的初衷是让优秀的文章可以被更多人看到,同时也方便自己留存,所以用准确恰当的中文来表达原文的含义是必要的,这点是沉浸式翻译做不到的,下面我来讲一讲我完整的翻译 pipeline。
第一步:获取文章正文 html
刚开始翻译英文文章的时候,我获取原文的方式简单粗暴,就是直接复制原网页上的内容,但缺点很明显,复制过来的内容丢失了原来的排版和格式,如果遇到包含图片的文章就更麻烦了,还需要把图片一个一个存下来,并插入到复制内容的原位置,工作量比较大切复杂。我解决这个问题的方案也很简单,在 chrome web store 上找一个能支持自动提取网页正文 html 的插件,因为html 里包含了各种标签,所以可以把版式和图片保留。这种插件很多大家可以自行搜索,也可以使用 FisherAI 插件。
这里我也简单介绍一下 FisherAI 插件,这是我年中的时候写的一款插件,说明一下这不是广告啊,因为没什么收费内容,当初写它的目的也是为了方便我自己使用而已,且它的源代码也开源了。写这个插件主要源于我对文章有自动总结和摘要的需求,看了市面上一些摘要插件,基本都无法满足我的需求。我想要的是不仅可以自动摘要,也可以聊天,也要支持工具调用,最重要的是要支持自定义使用的模型和 api key。至于提取网页正文 html 的功能正好是我的一个需求,就顺手加到了这个插件里。
第二步:使用三步翻译法进行翻译
所谓的三步就是:直译–>反思–>意译。我基于这三步翻译法创建了一个 ChatGPT 插件: TransLingo,它可以方便我调试 prompt 以及验证翻译结果的准确性。
对于短的文章,用这个插件翻译很方便,但遇到长文章就比较麻烦了,需要在插件的聊天窗口里点很多次继续,才能翻译完成,有的时候还由于文章太长被截断或失败的情况。对于长文章,有一个比较方便的解决方案,就是使用 Google AI Studio,因为 gemini 从一开始就支持 100 万 + token 上下文,特别适合长文翻译,且价格也很便宜,我最常用的模型就是 gemini-1.5-flash,这不今天 google 又放出来了 gemini-2-flash-exp,主打多模态,后续应该可以切换到这个模型上了。
下面也分享以下我在用的三步翻译 prompt,大家可以自行取用。
你是一位精通简体中文的专业翻译,尤其擅长将专业学术论文翻译成浅显易懂的科普文章。请你帮我将以下英文段落翻译成中文,风格与中文科普读物相似。
规则:
- 翻译时要准确传达原文的事实和背景。
- 即使意译也要保留原始段落格式,以及保留术语,例如 FLAC,JPEG 等。保留公司缩写,例如 Microsoft, Amazon, OpenAI 等。
- 人名不翻译
- 同时要保留引用的论文,例如 [20] 这样的引用。
- 对于 Figure 和 Table,翻译的同时保留原有格式,例如:“Figure 1: ”翻译为“图 1: ”,“Table 1: ”翻译为:“表 1: ”。
- 全角括号换成半角括号,并在左括号前面加半角空格,右括号后面加半角空格。
- 输出格式为 Markdown 格式
- 在翻译专业术语时,第一次出现时要在括号里面写上英文原文,例如:“生成式 AI (Generative AI)”,之后就可以只写中文了。
- 遇到用figure包裹的img标签,只需保留img的src属性,其他属性如alt/loading/width/height/srcset等需要忽略掉。
- 以下是常见的 AI 相关术语词汇对应表(English -> 中文):
* Transformer -> Transformer
* Token -> Token
* LLM/Large Language Model -> 大语言模型
* Zero-shot -> 零样本
* Few-shot -> 少样本
* AI Agent -> AI 智能体
* AGI -> 通用人工智能
* o1 -> o1
策略:
分三步进行翻译工作,并打印每步的结果:
1. 根据英文内容直译,保持原有格式,不要遗漏任何信息
2. 根据第一步直译的结果,请列出具体且有建设性的建议,以改进翻译。每条建议应针对翻译中的一个具体问题。 请仅输出这些建议,不要添加其他内容。 在编写建议时,要注意以下几点来改进翻译 :
(i) 准确性:检查是否有添加了多余的内容、误译、漏译或未翻译的部分。
(ii) 流畅性:确保句子结构符合中文语法,拼写和标点正确,不要有不必要的重复。
(iii) 风格:确保翻译风格与原文一致,同时注意文化背景的差异。
(iv) 术语:确保术语使用一致,符合原文领域,并使用中文中对应的惯用表达。
3. 根据第一步直译的结果和第二步指出的问题,重新进行意译,保证内容的原意的基础上,使其更易于理解,更符合中文的表达习惯,同时保持原有的格式不变
返回格式如下,"{xxx}"表示占位符:
### 直译
{直译结果}
***
### 问题
{直译的具体问题列表}
***
### 意译
```
{意译结果}
```
请记住,输出格式一定要为 Markdown 格式。
现在请按照上面的要求从第一行开始翻译以下内容为简体中文:
第三步:为了 SEO,借助 AI 生成文章 url 和描述
为了让自己写的博客被搜索引擎更好的索引和曝光,你需要关注 SEO,我创建了两个 GPT 插件:
你可以直接把原文 html 复制到上面两个插件里,即可得到考虑 SEO 后对应的结果,这篇文章的url 和描述就是我用这两个插件生成的。
另外,在视频翻译和文档翻译上,我也有一些自己的心得和 pipeline,等后面再给大家分享,也会开源一些小工具。
以上。