链载Ai

标题: Translation Agent 引领智能翻译新方向 [打印本页]

作者: 链载Ai    时间: 昨天 15:11
标题: Translation Agent 引领智能翻译新方向

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 18.24px;font-weight: bold;display: table;margin: 2em auto 1em;padding-right: 1em;padding-left: 1em;border-bottom: 2px solid rgb(15, 76, 129);color: rgb(63, 63, 63);">智能翻译新突破:吴恩达开源 Translation Agent,反思工作流打造更精准译文

ingFang SC";text-wrap: wrap;line-height: 1.75;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">今年 4 月,我们曾报道了吴恩达 (Andrew Ng) 提出的 Agentic Design Patterns:AI Agent新风潮:让模型自我反思,突破性能瓶颈,其中“反思 (Reflection)”模式备受瞩目。该模式通过让 AI 模型自动评估自身输出并进行改进,从而显著提升模型性能。如今,吴恩达团队将这一理念付诸实践,并将其应用于智能翻译领域,推出了基于反思工作流的开源翻译系统——Translation Agent。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">机器翻译,这项曾经看似遥不可及的技术,如今已经深入到我们生活的方方面面。从网页浏览到跨语言交流,机器翻译正在悄然改变着我们的世界。然而,传统的机器翻译技术,往往难以处理需要高度定制化和细粒度控制的翻译任务,例如调整输出风格、处理专业术语以及适应不同地区的语言变体等。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">近年来,随着人工智能技术的飞速发展,智能翻译应运而生。与传统的基于规则或统计的机器翻译方法不同,智能翻译借助深度学习和大数据的力量,赋予了机器更强大的语言理解和生成能力。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17.6px;font-weight: bold;display: table;margin: 4em auto 2em;padding-right: 0.2em;padding-left: 0.2em;background: rgb(15, 76, 129);color: rgb(255, 255, 255);">Translation Agent:基于反思工作流的智能翻译新纪元

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">2023 年 11 月,人工智能领域泰斗级人物吴恩达(Andrew Ng)宣布开源其团队研发的智能翻译系统——Translation Agent,再次将智能翻译技术推向了新的高度。Translation Agent 不仅仅是翻译,更像是一个专业的翻译助手,它能够理解你的翻译需求,并不断优化翻译结果,直到你满意为止。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-weight: bold;margin-top: 2em;margin-right: 8px;margin-bottom: 0.75em;padding-left: 8px;border-left: 3px solid rgb(15, 76, 129);color: rgb(63, 63, 63);">吴恩达开源 Translation Agent 项目

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">Translation Agent是一个基于 Python 的开源项目,它采用了一种新颖的“反思工作流”,旨在解决传统机器翻译系统在定制化和细粒度控制方面的不足。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-weight: bold;margin-top: 2em;margin-right: 8px;margin-bottom: 0.75em;padding-left: 8px;border-left: 3px solid rgb(15, 76, 129);color: rgb(63, 63, 63);">Translation Agent 的工作原理:反思工作流

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">Translation Agent 的核心在于其独特的“反思工作流”,该工作流模拟了人类翻译专家的思考过程,将翻译任务分解为三个主要步骤:

  1. 1.初始翻译:Translation Agent 首先利用 LLM 对输入文本进行初步翻译,得到一个初步的译文。

  2. 2.反思与改进:与传统机器翻译系统直接输出译文不同,Translation Agent 会引导 LLM 对自身的翻译结果进行反思,并提出改进建议。例如,LLM 可能会指出译文中存在的不准确、不流畅或不符合目标语言习惯表达的地方,就像一个经验丰富的校对员一样,帮助 LLM 找出翻译中的不足之处。

  3. 3.优化输出:最后,Translation Agent 根据 LLM 提出的改进建议,对初始译文进行优化,最终生成一个更加精准、流畅且符合目标语言习惯的译文。

Translation Agent 的优势:高度可定制化

Translation Agent 的一大优势在于其高度可定制化的翻译引擎。通过在翻译过程中对 LLM 进行引导,用户可以轻松地控制翻译的各个方面,例如:

Translation Agent 代码实现详解

utils.py 文件概述

Translation Agent 的核心代码位于src/translation_agent/utils.py文件中。该文件包含了 Translation Agent 的主要功能函数,例如调用 OpenAI API、文本分块、翻译、反思、改进等。

核心函数解析

Translation Agent 提示词解读

提示词在 Translation Agent 中扮演着至关重要的角色,它决定了 LLM 如何理解和执行翻译任务。Translation Agent 使用了精心设计的提示词来引导 LLM 完成各个阶段的任务。

提示词的作用和重要性

提示词是指导 LLM 行为的关键因素,它为 LLM 提供了上下文信息、任务目标和输出规范。优秀的提示词能够引导 LLM 生成更准确、更符合预期的结果,而糟糕的提示词则可能导致 LLM 生成不准确、不相关甚至有害的内容。

one_chunk_initial_translation函数:单段落文本的初始翻译 提示词

Thisisan{source_lang}to{target_lang}translation,pleaseprovidethe{target_lang}translationforthistext.\
Donotprovideanyexplanationsortextapartfromthetranslation.
{source_lang}:{source_text}

{target_lang}:

说明:

one_chunk_reflect_on_translation函数:对翻译结果进行反思 提示词

Yourtaskistocarefullyreadasourcetextandatranslationfrom{source_lang}to{target_lang},andthengiveconstructivecriticismandhelpfulsuggestionstoimprovethetranslation.\
{country_specific}
Thesourcetextandinitialtranslation,delimitedbyXMLtags<SOURCE_TEXT></SOURCE_TEXT>and<TRANSLATION></TRANSLATION>,areasfollows:

<SOURCE_TEXT>
{source_text}
</SOURCE_TEXT>

<TRANSLATION>
{translation_1}
</TRANSLATION>

Whenwritingsuggestions,payattentiontowhethertherearewaystoimprovethetranslation's\n\
(i)accuracy(bycorrectingerrorsofaddition,mistranslation,omission,oruntranslatedtext),\n\
(ii)fluency(byapplying{target_lang}grammar,spellingandpunctuationrules,andensuringtherearenounnecessaryrepetitions),\n\
(iii)style(byensuringthetranslationsreflectthestyleofthesourcetextandtakesintoaccountanyculturalcontext),\n\
(iv)terminology(byensuringterminologyuseisconsistentandreflectsthesourcetextdomain;andbyonlyensuringyouuseequivalentidioms{target_lang}).\n\

Writealistofspecific,helpfulandconstructivesuggestionsforimprovingthetranslation.
Eachsuggestionshouldaddressonespecificpartofthetranslation.
Outputonlythesuggestionsandnothingelse.

说明:

one_chunk_improve_translation函数:根据反思结果改进翻译 提示词

Yourtaskistocarefullyread,thenedit,atranslationfrom{source_lang}to{target_lang},takinginto
accountalistofexpertsuggestionsandconstructivecriticisms.

Thesourcetext,theinitialtranslation,andtheexpertlinguistsuggestionsaredelimitedbyXMLtags<SOURCE_TEXT></SOURCE_TEXT>,<TRANSLATION></TRANSLATION>and<EXPERT_SUGGESTIONS></EXPERT_SUGGESTIONS>\
asfollows:

<SOURCE_TEXT>
{source_text}
</SOURCE_TEXT>

<TRANSLATION>
{translation_1}
</TRANSLATION>

<EXPERT_SUGGESTIONS>
{reflection}
</EXPERT_SUGGESTIONS>

Pleasetakeintoaccounttheexpertsuggestionswheneditingthetranslation.Editthetranslationbyensuring:

(i)accuracy(bycorrectingerrorsofaddition,mistranslation,omission,oruntranslatedtext),
(ii)fluency(byapplying{target_lang}grammar,spellingandpunctuationrulesandensuringtherearenounnecessaryrepetitions),\
(iii)style(byensuringthetranslationsreflectthestyleofthesourcetext)
(iv)terminology(inappropriateforcontext,inconsistentuse),or
(v)othererrors.

Outputonlythenewtranslationandnothingelse.

说明:

multichunk_initial_translation函数:多段落文本的初始翻译 提示词

Yourtaskisprovideaprofessionaltranslationfrom{source_lang}to{target_lang}ofPARTofatext.

Thesourcetextisbelow,delimitedbyXMLtags<SOURCE_TEXT>and</SOURCE_TEXT>.Translateonlythepartwithinthesourcetext
delimitedby<TRANSLATE_THIS>and</TRANSLATE_THIS>.Youcanusetherestofthesourcetextascontext,butdonottranslateany
oftheothertext.Donotoutputanythingotherthanthetranslationoftheindicatedpartofthetext.

<SOURCE_TEXT>
{tagged_text}
</SOURCE_TEXT>

Toreiterate,youshouldtranslateonlythispartofthetext,shownhereagainbetween<TRANSLATE_THIS>and</TRANSLATE_THIS>:
<TRANSLATE_THIS>
{chunk_to_translate}
</TRANSLATE_THIS>

Outputonlythetranslationoftheportionyouareaskedtotranslate,andnothingelse.

multichunk_reflect_on_translation函数:对多段落翻译结果进行反思 提示词

Yourtaskistocarefullyreadasourcetextandpartofatranslationofthattextfrom{source_lang}to{target_lang},andthengiveconstructivecriticismandhelpfulsuggestionsforimprovingthetranslation.
{country_specific}

Thesourcetextisbelow,delimitedbyXMLtags<SOURCE_TEXT>and</SOURCE_TEXT>,andthepartthathasbeentranslated
isdelimitedby<TRANSLATE_THIS>and</TRANSLATE_THIS>withinthesourcetext.Youcanusetherestofthesourcetext
ascontextforcritiquingthetranslatedpart.

<SOURCE_TEXT>
{tagged_text}
</SOURCE_TEXT>

Toreiterate,onlypartofthetextisbeingtranslated,shownhereagainbetween<TRANSLATE_THIS>and</TRANSLATE_THIS>:
<TRANSLATE_THIS>
{chunk_to_translate}
</TRANSLATE_THIS>

Thetranslationoftheindicatedpart,delimitedbelowby<TRANSLATION>and</TRANSLATION>,isasfollows:
<TRANSLATION>
{translation_1_chunk}
</TRANSLATION>

Whenwritingsuggestions,payattentiontowhethertherearewaystoimprovethetranslation's:\n\
(i)accuracy(bycorrectingerrorsofaddition,mistranslation,omission,oruntranslatedtext),\n\
(ii)fluency(byapplying{target_lang}grammar,spellingandpunctuationrules,andensuringtherearenounnecessaryrepetitions),\n\
(iii)style(byensuringthetranslationsreflectthestyleofthesourcetextandtakesintoaccountanyculturalcontext),\n\
(iv)terminology(byensuringterminologyuseisconsistentandreflectsthesourcetextdomain;andbyonlyensuringyouuseequivalentidioms{target_lang}).\n\

Writealistofspecific,helpfulandconstructivesuggestionsforimprovingthetranslation.
Eachsuggestionshouldaddressonespecificpartofthetranslation.
Outputonlythesuggestionsandnothingelse.

multichunk_improve_translation函数:根据反思结果改进多段落翻译 提示词

Yourtaskistocarefullyread,thenimprove,atranslationfrom{source_lang}to{target_lang},takinginto
accountasetofexpertsuggestionsandconstructivecritisms.Below,thesourcetext,initialtranslation,andexpertsuggestionsareprovided.

Thesourcetextisbelow,delimitedbyXMLtags<SOURCE_TEXT>and</SOURCE_TEXT>,andthepartthathasbeentranslated
isdelimitedby<TRANSLATE_THIS>and</TRANSLATE_THIS>withinthesourcetext.Youcanusetherestofthesourcetext
ascontext,butneedtoprovideatranslationonlyofthepartindicatedby<TRANSLATE_THIS>and</TRANSLATE_THIS>.

<SOURCE_TEXT>
{tagged_text}
</SOURCE_TEXT>

Toreiterate,onlypartofthetextisbeingtranslated,shownhereagainbetween<TRANSLATE_THIS>and</TRANSLATE_THIS>:
<TRANSLATE_THIS>
{chunk_to_translate}
</TRANSLATE_THIS>

Thetranslationoftheindicatedpart,delimitedbelowby<TRANSLATION>and</TRANSLATION>,isasfollows:
<TRANSLATION>
{translation_1_chunk}
</TRANSLATION>

Theexperttranslationsoftheindicatedpart,delimitedbelowby<EXPERT_SUGGESTIONS>and</EXPERT_SUGGESTIONS>,isasfollows:
<EXPERT_SUGGESTIONS>
{reflection_chunk}
</EXPERT_SUGGESTIONS>

Takingintoaccounttheexpertsuggestionsrewritethetranslationtoimproveit,payingattention
towhethertherearewaystoimprovethetranslation's

(i)accuracy(bycorrectingerrorsofaddition,mistranslation,omission,oruntranslatedtext),
(ii)fluency(byapplying{target_lang}grammar,spellingandpunctuationrulesandensuringtherearenounnecessaryrepetitions),\
(iii)style(byensuringthetranslationsreflectthestyleofthesourcetext)
(iv)terminology(inappropriateforcontext,inconsistentuse),or
(v)othererrors.

Outputonlythenewtranslationoftheindicatedpartandnothingelse.

提示词的设计理念与技巧

Translation Agent 的提示词设计遵循以下理念:

Translation Agent 的现状与未来

Translation Agent 的优势与不足

优势:

不足:

智能翻译的未来趋势

Translation Agent 引领智能翻译新方向

Translation Agent 的出现,为智能翻译领域带来了新的活力。其独特的反思工作流和高度可定制化的特点,使其在处理复杂翻译任务时更具优势。相信随着 LLM 技术的不断发展和开源社区的共同努力,Translation Agent 将会在未来取得更大的突破,引领智能翻译技术走向更加美好的未来。

相关链接:

https://github.com/andrewyng/translation-agent/






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5