ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

技术翻译实战:数据科学博文本地化的流程与方法

技术翻译实战:数据科学博文本地化的流程与方法 这些年我一直有个习惯看到好的英文技术文章会顺手存下来攒多了就开始琢磨怎么让周围同事也能舒服地读。TowardsDataScience 上的文章我关注了很久内容覆盖面广、更新频率高很多数据科学实战经验写得比教科书生动得多。后来我参与了一个专门做中文翻译的开源项目负责翻译其中一批 2019 年的博客文章项目编号排到三百四十一。这篇博文就是想把当时做这个翻译项目的过程整理出来聊聊数据科学类博文翻译背后的门道、踩过的坑以及怎么把一篇英文技术文章变成读起来顺畅、专业术语准确、代码和公式都完整可用的中文版本。做这类翻译和平时随手翻译几段文字完全不是一回事。它更像一个带着约束条件的内容工程既要尊重原文的技术准确性又要符合中文读者的阅读习惯还要处理 Markdown 格式、代码注释、图表引用这些技术细节。无论你是想了解一个翻译项目怎么运转还是准备接手类似的文档汉化工作或者在找数据科学学习资料的阅读方法这篇文章都值得扫一遍。1. 翻译项目的前期准备与技术选型1.1 这个编号三百四十一到底意味着什么先说清楚标题里的“三百四十一”。它不代表一篇文章而是这个系列化翻译项目的一个累积序号。2019 年全年我参与的仓库会持续同步翻译 TowardsDataScience 上比较有代表性的文章每翻译完成一篇、合并一篇就产生一个新的编号。也就是说三百四十一这个数字背后反映的是项目从年初到年尾持续推进的节奏。我接手这批任务时仓库里已经有大量历史文章沉淀下来。当时我先做了一件事把所有待翻译的文章 URL 和标题拉出来按领域做了简单分类。分类结果大概是这样的分类典型文章主题占比机器学习算法梯度提升、随机森林、聚类方法约 35%深度学习实践神经网络、CNN/RNN、迁移学习约 25%数据处理与特征工程缺失值处理、特征选择、数据清洗约 15%工具与框架Pandas、Scikit-learn、TensorFlow约 15%职业与学习方法学习路径、面试准备、项目复盘约 10%这个分类对后续排期很重要。算法类的文章术语密度高翻译时要频繁查资料工具类文章虽然有代码和命令但句式相对固定处理起来反而快职业与学习类的文章表达自由度高需要更多意译空间。有一点我在项目开始前没意识到TowardsDataScience 上的文章并不是统一的文风。有些作者是研究员出身写文章偏论文风格句子长、从句多有些作者是工程一线的开发者写作口语化还经常夹带自己的吐槽和感悟。翻译规范不能写得太死否则遇到风格差异大的文章会很难处理。1.2 翻译风格与技术词汇的统一翻译项目最怕的不是翻译得不够好而是同一个术语在不同文章里翻成三个样子。模型叫 model有人翻成“模型”有人翻成“建模”feature 有时候是“特征”有时候被翻成“特性”。这会让读者在跨文章阅读时产生混淆。所以我们做的第一项准备工作就是建术语表。我把高频出现的技术词、算法名、框架名全部列出来逐条确定中文译法。这里有个处理原则值得分享已经有公认中文译法的用中文例如 machine learning 译为“机器学习”deep learning 译为“深度学习”中文译法过长且不常用的保留英文例如 Random Forest 通常在首次出现时写“随机森林Random Forest”后面可以直接用“随机森林”框架名和人名不翻译例如 Scikit-learn、TensorFlow、Kaiming He 均保留原词容易引发歧义的词标注英文例如 pipeline 有的语境下是“流水线”有的语境下是“管道”首次出现时附原词术语统一不只是为了读者也是为了降低翻译者自己的重复思考成本。拿到一篇文章时对照术语表处理专业词汇能减少大量犹豫时间翻译速度会快很多。在风格上我和协作的校对同学达成过一个共识翻译的第一目标是准确其次才是优美。数据科学家读者看中文版往往带着“快速掌握方法”的目的如果因为追求语句华丽而牺牲了技术含义的精确性反而是得不偿失。2. 数据科学博文的翻译难点拆解2.1 算法术语与表达习惯的本地化策略数据科学领域术语的翻译和普通技术文档不太一样。常见的技术词有固定译法但很多算法名、统计学概念在中文里并没有百分之百对应的词。举几个例子bias 在机器学习里有两个常见含义一个是“偏差”一个是“偏置”。用在模型误差讨论中应该翻成“偏差”用在神经网络结构里通常翻成“偏置”更符合中文语境。regularization 常译作“正则化”但如果你对读者说“防止过拟合的手段”对方立刻明白。翻译时不能只做词汇替换还要考虑读者已有的知识结构。recall 和 precision 在分类模型评估里是“召回率”和“精确率”这两个词容易混翻译时我会确保全文统一并且在首次出现的小节里不省略英文。我自己的习惯是遇到这类术语先看术语表怎么定术语表没有覆盖的就去原仓库已有的历史译文中搜索保持整个项目的延续性。实在找不到再根据语境新译同时把新译法回填到术语表里。这样越到后面翻译越省力。还有一个很实际的问题是英文表达习惯和中文的差异。英文写作喜欢用长定语从句和后置修饰中文如果照搬顺序会读起来很拗口。比如“a model trained on a dataset with missing values”直译是“一个在带有缺失值的数据集上训练的模型”读起来绕改成“使用含缺失值的数据集训练的模型”既简短又清楚。在处理这类句子时我的原则是重写中文语序让它符合中文阅读流而不是死抠原文的结构。2.2 代码块、公式与图表的处理规范TowardsDataScience 的文章通常在用 Markdown 写作里面大量嵌入代码块、数学公式和图片。翻译的时候纯文本好处理真正考验人的是这些非文本元素。先说代码块。很多作者会在代码里写注释这些注释是给读者辅助理解的翻译时应该翻成中文。但代码里的变量名、函数名、字符串内容一律不翻译。函数名的含义本来就靠命名表达翻译字符串会影响代码可执行性。我还见过有人把 print(Accuracy: {:.2f}%.format(acc)) 里的字符串也翻成中文这种操作在本地环境没问题但如果读者直接复制到英文数据集环境下运行可能出现编码问题。翻译注释保留代码是最安全的选择。数学公式的翻译基本没什么可做的因为公式是通用语言。但公式附近的解释文字要特别注意。很多作者会在公式下面写一段说明文字翻译时不能只看公式本身要结合上下文理解作者想表达什么。比如有个公式外面写着 “where x belongs to a high-dimensional space”你如果翻译成“这里 x 属于一个高维空间”意思没错但结合语境可能应该说“其中 x 位于高维空间中”更自然。术语翻译之外数学短语的语序也需要单独处理。图表方面TowardsDataScience 文章里的图片通常是文章作者上传到图床的链接本地翻译项目一般不改动图片。翻译时主要处理图片下方的题注caption。如果题注里有缩写或者专有名词翻成中文时可以保留英文缩写但第一次出现要给出全称。表格也是容易出问题的地方。原文章里的表头、行标签要翻译但表内数值、公式、代码片段不动。翻译表格时还要注意列宽和 Markdown 对齐符号乱了会让整个表格排版散架。3. 实操流程以一篇典型博文为例走完整流程3.1 从原项目仓库拿到文章与素材参与开源翻译项目第一件事是把仓库 clone 到本地找到自己负责文章的目录结构。大多数翻译项目会按年份建目录例如 2019 目录下每篇文章是一个 Markdown 文件文件名通常是英文标题转成的短横线格式偶尔带编号。我接到的第三百四十一号任务是一篇讲特征工程的文章。原仓库里的目录结构大概是这样的2019/ feature-engineering-guide.md gradient-boosting-in-practice.md ...每个翻译任务开始前我都会先读两遍原文。第一遍只看内容搞清楚文章在讲什么论点是什么用了什么数据集给出了什么结论。第二遍边读边标记遇到术语查一下术语表遇到长难句先写下可能的拆分方案遇到代码块观察注释内容和代码逻辑是否一致。这两遍阅读非常值得花时间。它决定了后续翻译是顺畅完成还是反反复复卡壳。我见过有译者直接打开编辑器从头翻到尾结果翻到一半发现理解错了原文主旨只能全部推翻重来。先建立整体理解再动笔翻译效率反而是最高的。3.2 初译、校对与格式洗稿的三个步骤翻译执行阶段我把过程拆成三步初译、校对、格式洗稿。初译阶段不追求完美目标是快速把全文从英文转成中文。遇到一时不知道怎么译的句子我会先按字面意思写一个版本再用特殊标记记下来比如在句子前加一个 TODO 标识。这样不会因为卡在一个句子中断掉整体节奏。初译时我对自己的要求是只要准确文法可以稍粗后面还有校对补。校对阶段是重头戏。我会把初译稿和英文原文放在左右两边逐段对照。这里有个很实用的技巧先不着急看译文只看原文在大脑里想这段“应该怎么说”然后再看译文和大脑里的版本差多远。这个方法能帮你避免被自己的初译带偏比较容易发现初译的生硬之处。校对完成后还有一次综合阅读。这次不看英文只读中文想象自己是一个正在学习数据科学的读者顺着文章一路读下来。读到哪里觉得不顺哪里觉得概念跳脱哪里术语不统一都是需要修改的地方。这一步能有效提升译文的阅读体验让文章真正“像中文”。格式洗稿放在最后。我会检查整个 Markdown 文件的格式是否整洁标题编号是否连贯代码块是否被正确包裹表格是否对齐图片链接是否完整加粗和斜体标记是否成对。这个环节虽然琐碎但直接影响读者的阅读体验。一个格式乱掉的译文内容再好也会让人失去耐心。3.3 术语一致性审查与读者视角检验术语一致性审查可以放在校对和格式洗稿之间。做法很简单把译文里所有涉及术语表的地方过一遍确保没有偏离。我常用的方式是用编辑器的全局搜索逐个术语搜索查看每个出现位置的上下文逐一确认。做这个审查时我额外会检查一类情况同一个英文词在原文不同段落中是否有不同含义。比如 “map” 在机器学习的语境下有时指“映射”有时指“特征图”如果原文确实在不同语境中使用译文也要相应调整不能一概而论。读者视角检验是我个人很看重的一步。数据科学文章的读者通常是想动手实践的工程师或学生他们阅读时会带着“我能照着做吗”的问题。翻译时如果忽略了数据集的表述、参数设置的描述、复现条件这些细节读者就可能在实操环节卡住。所以校对时我会特别关注原文里所有数值、参数范围、运行命令、依赖版本这些硬信息确保中文译文里的数据和原文完全一致小数点、百分号、正负号都不能出错。4. 常见问题与排查技巧实录4.1 翻译过程中踩过的典型坑参与这个项目以来我总结了不少实际操作中遇到的问题。有些是共性的有些虽然少见但一旦发生就很头疼。我把最典型的几个整理成速查表问题发生原因解决方法同一个术语前后译文不一致初译时没有始终对照术语表统一用全局搜索检查更新术语表并回填翻译后代码块出现多余空格或缩进错误编辑过程中误动了代码片段校对时逐个代码块与原文对比不偷懒公式附近的文字与公式含义对不上只翻译字面没理解公式前后逻辑暂停翻译先看懂数学内容再落笔作者口吻过于口语化直译后显得奇怪照搬英文表达习惯改为中文口语化表达必要时适度重写长句直译导致中文读不通英文从句结构保留过多拆成 2-3 个短句调整语序这里面我特别想展开说一下长句直译的问题。英文技术写作为了严谨经常用很长的句子把条件、例外、结果全串在一起。中文读者不习惯这种结构。碰到这种情况我的处理是先看句子的主干主语是谁做了什么结果是什么。然后从主干开始翻译把条件、例外拆成独立短句用“当……时”“需要注意的是……”“换句话说……”这样的连接词串起来。长句拆短并不会损失准确性反而让逻辑更加清晰。另一个容易踩的坑是文章里的 “we” 和 “you” 的处理。英文作者喜欢用 “we will explore”、“you can see”直译成“我们将探索”“你可以看到”在中文里读起来有点翻译腔但完全去掉人称又可能丢了一些引导语气。我的经验是在步骤说明、操作指引里保留人称翻成“我们”“你”在一般性描述、背景介绍里省略人称直接陈述客观内容。这样既保留了原文的互动感又不会满屏都是“我们”。4.2 工具选型与协作方式翻译项目虽然以人为主但合适的工具能有效提升效率。我用的工具组合很简单代码编辑器和全局搜索功能用于批量术语检查Markdown 预览工具在格式洗稿时直接查看渲染效果原有翻译项目仓库的 issue 区处理术语争议和问题讨论Markdown 预览是必做的一步。很多格式问题在纯文本状态下看不出来但一渲染就暴露了比如表格的竖线漏掉、代码块缺少收尾符号、标题标记个数不对。翻译完成前一定要预览一次。协作方面这个项目采用翻译校对双人确认机制。我作为翻译者提交译文后校对同学会从更挑剔的角度再审一次。校对意见有时候是术语用法有时候是语句通顺度也有时候是对某个技术概念的理解差异。这个过程虽然会增加时间成本但能明显提升最终质量。如果你也在做类似的开源翻译项目我强烈建议至少保留一个人做校对不要只靠自己看一遍就发布。4.3 时间分配与应对长文的策略一篇文章从拿到任务到最终合入我通常是这样分配时间的阅读原文和查资料占 20%初译占 30%校对和综合阅读占 30%格式检查与术语审查占 20%。如果文章特别长比如超过五千词的英文正文我会把阅读和初译的阶段拆到两天完成。强撑着一天翻完又长又难的文章后半部分的译文质量往往会明显下滑。针对长文还有一个不错的策略按小节分段推进。我通常每翻译完一个小节就单独校对一次这个小节。这样不会让错误在最终校对时集中爆发也让自己始终清楚当前进度。全部小节完成后再整体通读一遍保证小节之间的术语和风格一致。5. 关于“翻译质量”的几点心里话数据科学博文翻译的质量不能只看句子通不通顺更要看读者能不能真正理解和复现。我做过一个很有效的自检方法把自己想象成第一次接触这个主题的读者按译文里的步骤走一遍实验流程。哪里步骤不完整哪里参数描述模糊哪里代码和文字对不上这些只有在“动手做”的时候才容易发现。另外翻译数据科学文章时背景知识的储备很重要。如果你了解特征工程的基本套路读过常见的模型评估指标亲手跑过几段机器学习代码那么翻译起来会顺畅很多。这不只是语言能力的问题更是理解能力的问题。没有相关背景的译者容易把一些前后呼应的内容翻散让文章变得支离破碎。我个人的体会是翻译 TowardsDataScience 这类平台的文章最大的收获不是语言能力的提升而是被逼着去理解技术本身。每一篇文章都是一次深入学习的机会你得先弄懂作者在说什么才能让别人看懂。这份收获是双份的你帮读者打开了一扇门也顺便替自己复习了一遍知识。如果你正打算参与类似的开源翻译项目我的建议是先从自己熟悉的领域切入再用排期的方式慢慢拓宽这样既不会一开始就被术语劝退也能逐步建立信心和手感。
返回列表