u++の備忘録

技術書の翻訳体験記2021(『Kaggle Grandmasterに学ぶ 機械学習 実践アプローチ』)

翻訳を担当した書籍『Kaggle Grandmasterに学ぶ 機械学習 実践アプローチ』(マイナビ出版*1が、明日8月24日に発売されます*2。 本書は世界各国で出版・公開された書籍 "Approaching (Almost) Any Machine Learning Problem" *3の翻訳書です。

私自身、翻訳を生業にしているわけではありません。 書籍を翻訳して商用出版するというのは、初めての経験でした。 翻訳依頼を引き受けるに当たり、先人が公開していた知見*4*5が参考になりました。 本書の刊行を機に、私も得られた知見を少しでも共有するべく、体験記をまとめて公開します。

本書の概要

本書の概要は、以前に公開した別記事にまとめています。 端的に言うと、機械学習にまつわる基礎的な内容について、豊富なコードともに学ぶ内容です。 著者は国際的なデータサイエンスコミュニティ「Kaggle」で史上初めて全カテゴリで最上位の称号(Grandmaster、GM)を獲得した方で、日本ではKaggleコミュニティを中心に「4GM本」とも呼ばれ話題を呼びました。

upura.hatenablog.com

翻訳の依頼と動機

原著は2020年6月に自費出版され、しばらくした後にPDFがGitHub上で無料公開されました。

私は6月の発売と同時に購入し、平易な英語で豊富なコードと共に機械学習の広範な話題をまとめた内容に感銘を受けました。 交差検証や特徴量エンジニアリングなどモデル作成以前の重要な要素にも紙面が割かれ、コードの再現性やモデルのデプロイといった話題にも踏み込んでいます。 モデル作成では、表形式のデータセットだけでなく、画像認識や自然言語処理に関する内容が具体的な実装と共に示されている点も貴重です。 本書の文言の節々からは、性能のみを追求するだけではなく、実運用にも重きを置いた著者の姿勢が垣間見えました。

そんな中で、私が翻訳の依頼を受けたのは2021年3月中旬でした。 日本語への翻訳によって、少しでも多くの方に原著の魅力に触れていただく機会になればと思い受諾を決めました。

訳者の紹介

訳者について簡単に紹介しておきます。 本書の話題である機械学習については、大学時代の研究や現職の業務を通じた経験があります*6。 Kaggleについても、CompetitionsとNotebooksでMasterの称号を持ち、チームでの優勝経験があります*7。 商用出版も、共著で『PythonではじめるKaggleスタートブック』(講談社*8を出版した経験がありました。 英語については、大学時代の研究から始まり、現在も打ち合わせ・情報収集・論文執筆など日常の業務で利用する機会があります。

作業時期・量

3月中旬に依頼を受けた後に諸条件の調整があり、作業に取り掛かったのは4月頭でした。 この時点で、原著者や出版社と刊行の目標時期について擦り合わせしておくと良いでしょう。 今回の場合は、約300ページの書籍として比較的短い期限だと思いますが、5月末を自ら目標に掲げました。 本書の題材である機械学習は研究の進展が早く、時間を掛けてしまうと、せっかくの良書の価値が薄れてしまう懸念があったためです。

実際に作業時間を計測すると、10ページの翻訳に5〜10時間程度かかりました。 定期的にこなしていけば5月末は現実味のある期限だと分かり、目標に邁進していくことになります。

結果的には、4月中に約半分の150ページ、そしてゴールデンウィークで残りの半分の初稿が完成しました。 5月の残りの期間は「意図的に期間を置いて自分で推敲する」を時間の許す限り繰り返しました。 恐らく3サイクルくらいは回しています。 並行して原稿のレビュー依頼も出し、最終的に5月末に期限通り納入しました。

その後は出版社側の作業と、作成されたPDFの確認作業を経て、8月の出版に至ります。

利用したツール

原稿はGitHubで管理し、エディタにはVSCodeを利用しました。 普段の業務や以前の商用出版でも利用経験があり*9、使い慣れていたのが理由です。 今回は一人での翻訳作業なので必ずしも必要なかった気がしますが、心の安寧を担保するために使っていました。

翻訳を開始する前に、原著のテキストデータ(WordやTeXファイル)をもらっておくのも大事な点です。 PDFなどの形式から抽出することも可能ですが、余計な負荷は避けるのが鉄則です。

f:id:upura:20210823213913p:plain

苦労した点と対応

まずは訳語の統一です。 機械学習の分野は国際的に発展しているため、手法などの英語名の訳し方には苦慮しました。 自分の知る限り日本で一般的に浸透している訳語を選択しましたが、どの訳語を採用したかは必要に応じてREADME.mdなどにメモしておきました。 推敲時には、VSCodeの検索機能を使い、表記ブレがないかを洗い出す作業も行いました。

英語の処理で難しかった思い出があるのは、意外と「or」かもしれません。 「A or B」のような表現があったとき、AとBが並列で記される単語なのか、もしくはBがAの言い換え表現なのかを判断するには、専門知識が必要でした。

英語の1文をそのまま日本語に訳すと過度に長くなる場合もありました。 こうした場合には、適切なタイミングで句読点や括弧などを入れて対応しました。

仕方のないことですが、原著の出版時からの時の流れに起因し、記載されている情報が現時点で異なっていることがあります。 また日本特有の事例として、補足が必要な場合もありました。 これらの要素については、出版社に確認の上で翻訳版独自の訳注を付けることに決めました。

合わせて、訳者によるまえがきも別途書き下ろしました。 こうした独自要素の追加が可能かについては、確認しておくと良いでしょう。

おわりに

本記事では、技術書の翻訳を通じて得られた知見を少しでも共有するべく、体験記をまとめました。 少しでも、後のどなたかの参考になれば幸いです。