能動学習とアノテーションをテーマにした翻訳書籍 「Human-in-the-Loop機械学習」を翻訳して、出版されます
では、翻訳した書籍が出版されることについて書いたが、この記事は翻訳体験をテーマに書いてみる。
原著は、Human-in-the-Loop Machine Learning - Active learning and annotation for human-centered AIで、2021年6月にMANNING社から出版されています。
自分自身、普段はソフトウェアエンジニアとして働いており、翻訳家ではないため、書籍を翻訳して商業出版されるという経験は初めてです。 色々なことを試行錯誤しつつ、翻訳プロジェクトを進めていきましたが翻訳体験を公開してくれた記事1に大いに助けられたり、やる気もいただけたので、自分も今回の経験を公開しておきたいと思います。
本書の概要
一言でまとめると、機械学習のためのデータを効率よく高品質に作成する方法を学ぶための書籍です。
書籍の内容の詳細は、前回の記事[^hitlbook-publish]に記載したので、そちらを見てください。
翻訳の動機
現在、自分は機械学習関連のタスクに直接的には関わることは多くはないが、この書籍の翻訳プロジェクトを立ち上げるまで自分は業務で機械学習のためのアノテーションプロジェクトを何回も経験した。 その度に、試行錯誤を繰り返しながら経験を積んだが、多分野のようにベストプラクティスをまとめてくれた書籍2があったら、こんな苦労なんかせずに済むんだが…と感じていた。
そのような経験もあり、「データの作成」ってめっちゃ重要だけど暗黙知が多くない?と思っており。 自分が運営する機械学習の勉強会でも Human-in-the-Loop を題材にした機械学習の勉強会を開催した りしていた。
その後、原著の存在を確か Twitter 経由で知り、早期アクセスで読んでみたところドンピシャの内容だったのでテンションがバク上がりし、勢いのまま @_stakaya さんに共立出版様の編集者の方に紹介していただき、ぜひ提案書を書いてくださいという状態まで進むことができた。そして、その日のうちに提案書を書き、無事に承認されたと連絡を受けた。3 そしてそこから翻訳プロジェクトが始まる。
タイムライン
Obsidianのログと Google Docs の議事録を眺めながら時系列で当時を振り返りながら書きなぐっていく。
2021-05-09
- 早期アクセス版の原著に出会い、これは翻訳したいと思い、出版社の編集者の方を紹介したいただく。
2021-05-10
- 企画書を書いた。確か3-4日後に会議に通していただき採択された。予想外に爆速すぎる…! そして念願の翻訳権はまだとられていなかったので、無事に翻訳権を取得できた。
- 初めての翻訳プロジェクトだったので、速度重視で出版を目指すのではなく、品質重視でちゃんとした内容を届けて意味のある書籍を世に出したいなと考えた。なので、まずは信頼できる共訳者を探すところからだ。
2021-05-19
- nasuka suminoさん、ito hiyoyoshiに声をかけ、二つ返事で快諾してくれた。僥倖
- nasuka sumino さん
- 自分が運営していた機械学習の勉強会で、発表者として登壇してくれたのをきっかけで知り合った。その後の勉強会でも毎回参加してくれ仲良くさせた頂いた。懇親会の片付け手伝いますよと自発的に声をかけてくれるほどの聖人。
- ito hiyoyoshi
- 大学編入同期。博士後期課程行こうぜ!となった仲だが、自分が博士後期課程に結局行かず(行けず)にその後連絡は取っていなかった。だがエンジニアとして就職後、学会に参加したら普通に再開。その後編入した大学で助教になっており、時間の経過を感じた。運命なのか所属研究室が Human in the Loopをテーマにした研究室だったのでこれ幸いにと声をかけた。
- nasuka sumino さん
2021-09-18 - 2022-04-25
- 1周目
- キックオフ。確か全員のタイムスケジュール的にこの時期からの開始が都合が良いとなった。
- 2022年の年末までには第三者レビューが可能な状態、つまり自分たちでレビューに出しても良いと思える状態までもっていくとざっくり決めていた。
- 大体ページ数が三等分かつキリが良いように章単位で担当を割り振ってスタート。
- 初期はDeepL を使って翻訳。その後それを人力修正。完全非同期で進行
- MarkDown x GitHubでデータを管理
- main branch で思うがままに各人がGitHub にpush
2022-04-25 - 2023-01-05
- 2周目
- 自分の担当ではない章に対して、Google Docsでひたすら添削。各人が鬼のようにコメントするので、尋常じゃない量が溜まり、Google Docs が壊れることが増えた。
- リアルタイムに同期的な編集をしたいので、Markdown からGoogle Docs へ移行した
- GitHub のPRベースの修正・提案は数百ページ単位での進行は無理があると早々に諦めた。Google Docsの提案モード、楽すぎませんか? このUXは神。 GitHub の suggestion 機能も近いものではあるが、Google Docs のほうがよっぽど楽だ。
- 章ごとにファイルが分かれていたのだが、grep したときにすべての章の横串検索をしたかったので、まとめて一つのGoogle Docs にまとめたらページ数が700pを超えて、Google Docs が限界を迎えクラッシュするようになったので、すぐさま統合はやめた
- 事前添削の結果に対して、担当者は相談無しで取り込める部分のコメントはすべて取り込んだ状態になった章から、ビデオチャットを使った3人での読み合わせを進めていく。
- 合議制で全員が納得するまで徹底的に修正する。ここで見違えるほどに読みやすくなりチームで翻訳してよかったなと痛感。
- ChatGPT
- 日本語添削のプロンプトを作成して活用。3人とも作文力は高いほうだが、なるほどこの言い回しがあったかという回答がバンバンえられ、AI SUGEEEEとなる。途中で nasuka suminoさんが ChatGPTの添削用にChrome 拡張を作って活用しており、流石としか言いようが無い。
- 翻訳としても優秀で、DeepLでうまく訳せなかった部分もそれとなく自然に訳してくれた。
2022-05-12 単語集の整備
- nasuka suminoさんが【Online】LINE Technical Writing Meetup vol. 13 - connpass に参加して、単語の整備が以下に重要かを学び、本腰を入れて整備する。今見返すと187単語ほど自分たちで単語の意味がブレないように管理している。
2022-05-29 楽観的見積もりとエタる危機とテコ入れ
- 最初の一ヶ月は週末に1時間x2日を費やし、月に8-10時間程度で読み合わせしていた
- これでいけるやろと思っていたが…
- 最初の一ヶ月を試運転として見積もってみた
- 約10分で1pを読みすすめることができた。
- 英日併記で全体で700pある。
- つまり、進行速度から逆算するとすべてのページを終えるのに600p x 10m = 7000m = 116時間
- 今の投資した時間だと11ヶ月ほど必要。
- 当初予定していた年内の締切を5ヶ月超過する… ヤバい
- テコ入れとして、週に10時間と4倍の時間を投入することで合意して年内に終わらせるように挑戦
- 実際5日ほど予定は超過したが無事に7ヶ月ほどで読み合わせを終えた。
- スプレッドシートで投資した時間と読み終えたページ数の計測したが振り返ると面白い
- すべてのページを終えるのはなんと奇跡のようにズレが無く115時間で終わっていた。10時間作業した後に見積った際は116時間なので、誤差は1時間。
2022-12-27 - 2023-01-31
第三者レビューの依頼開始。そして、束の間の休息。
2023-02-01 - 2023-05-15
- 3周目
- 各人が、3-4人ほど知人に依頼した形になった。合計12名にレビューしていただいた。
- 第三者レビュー時のレビュー体験も踏まえてGoogle Docs に踏み切ったが大正解だった。
- レビュアーの質が良いおかげで、意義のあるコメントが山のように来ており、2週目と同じ方式でひたすら消化していった。
- ここの積み重ねが書籍の最終品質が最後にぐんっと跳ね上がったと思う。
- 編集者の方にも、ここまで重厚なコメントを第三者レビューでいただけるのは珍しい方だとお聞きした。感謝。
- そこから出版社の校正待ちでしばしの休息
- 途中からnasuka suminoさんが世界各国の旅が始まった。本来なら海外旅行を満喫するのが至上命題だと思うのだが、時差の壁をすべて打ち破りつつ読み合わせ会に参加してくれるというコミットメントしていただき、非常に感謝。そのおかげで必達締切は守られました。なんか一週間ごとに滞在国が変化していたが、それでも翻訳読み合わせは続いていき、インターネットすげえ、旅する翻訳家。
2023-08-10 - 2023-09-01
- 4周目
- 出版社の校正者からのPDFが共有される。
- 3週目でこれは文句がない仕上がりだと思っていたが、怒涛の赤入れをいただき、プロの凄さを知る。
- 特にすごいので各章をまたいだ一貫性の維持、補正力には舌を巻く体験で感銘を受けた。
- LaTex 内に赤入れされており、手書きでもiPad などで返答するなど多様な手段で可能で、PDFに夏季れる前提のワークフローに戸惑った。がiPad のGoodNotes が高機能で慣れたら快適に返答できた。
- 豆知識としてはやはり400枚超のPDFを扱うような仕様ではないので、ページを移動する際のレンダリングが非常に遅くそこだけストレスフルだった。
- そういう意味だと Mac の Preview は同じPDFでもサクサクと動くのでやはりすごい
- ページジャンプができないのがめんどくさかった。やりかたあるかも?のと書き出す際に文字情報がなぜか消えてしまい検索できなくなるのは地味に不便。これも対処法あるのかな?
- 豆知識としてはやはり400枚超のPDFを扱うような仕様ではないので、ページを移動する際のレンダリングが非常に遅くそこだけストレスフルだった。
- 出版社の校正者からのPDFが共有される。
- 索引作成は、PDFに赤入れをする形で行っていった。これは想定よりは楽だった。GoodNotes でひたすらマーキングしていく形
2023-10-01 - 2023-10-06
校正一周目のフィードバックへの返答
2023-10-18 - 2023-10-31
- 5周目
- 最終ラウンド。これ以降の修正は基本的に不可能。
2023-12-25
出版予定!!
投資した時間
翻訳を行うときに Toggl を使って計測していたので、そこから集計。 後から振り返ってこれぐらい時間積み上げたのかとニヤニヤするのが好きなのである。
- 2021年: 55時間
- 2022年: 220時間
- 2023年: 50時間
累計: 325時間
多いか、少ないか正直分からない。なぜなら初の書籍翻訳で、比較できないからである…
翻訳体験のふりかえり
やってよかった
- 必達締め切りを作る
- 無限に時間を費やすことも可能なので、時間を決めたのは良かった。
- 共訳者を誘ってチームで翻訳する
- 自分一人でやったら速度感やブロッカーの数は減るという利点はあるが、翻訳の品質はここまで到達しなかったと思う
- 途中でモチベーションが下がるのもチームでやっていたことにより回避できた。良い意味での強制力。あと楽しい。
- 豊富かつ重厚な第三者レビュアー陣の確保
- 同上だが、3人で練り上げた翻訳文は自分たちが読み込みまくるということでバイアスがかかり、問題なく読めてしまう。そこでまっさらな状態の第三者レビュアーに依頼することで、品質を更にうえの段階へと押し上げることができた。
次はこうやるべき
- 徹底したMVP思考と自動化
- 読み合わせはすべての章の人力修正を待たずにMVPでいいので、一章分だけ最速で行うべきだった。
- 各訳者の癖や、統一しておきたい表記、ルールなど400p超えの翻訳結果で一貫性を保持するのがいちばん大変なのでその意識合わせを行うのが吉
- CI x CDは最初に組み上げて、textlintなど自動化できる修正機構を入れるべきだった。
- Google Docs の都合上人力Linter で頑張っていたが、Google Docs に変更する前のMarkdown に対してtext lint を入れたら良かった。
- 単語集をもっと早期から本腰で構築する。
- 読み合わせはすべての章の人力修正を待たずにMVPでいいので、一章分だけ最速で行うべきだった。
謝辞
書籍中の謝辞でも書いていますが、あらためて、本書は以下ののみなさまのご協力なしには出版はありえませんでした。
出版社を紹介していただいた、stakayaさんにまず感謝します。
共立出版の編集者、山内千尋様には書籍の提案を快諾していただいた点にまず感謝します。そこから出版までの年単位という時間がかかってしまいましたが、プロフェッショナルな姿勢に感銘を受け、翻訳作業の励みになりました。ありがとうございます。そして校正者の方には、作文能力の奥深さを改めて感じることができました。
そして以下の第三者レビュアー(順不同)の方々に感謝です。レビュアーの方の協力がなければ、決して今の品質まで到達することはなかったと思います。
- 平松淳氏
- 紫藤佑介氏
- 杉山阿聖氏
- 真鍋陽俊氏
- 横尾修平氏
- 橘祐一郎(@whitphx)氏
- 風間正弘氏
- 橘秀幸氏
- 松原正樹氏
- 若林啓氏
- 栗本真太郎氏
- 森嶋厚行氏
いただいたレビュー
誰か書いてくれ…! ここで紹介させてもらいます。
蛇足
『機械学習エンジニアのためのTransformers』が出ます - Ahogrammer で翻訳を実質一ヶ月で終えたと言及しており、そんなに早く終わることが可能なの?ととても本人に聞きたくなったくらいには早すぎる。合計投資時間が知りたい…
以下の記事は翻訳を通じて得た知識。エンジニアリングによる自動化は盆栽的な楽しさがやはりありますな。
- Python で DeepL API Free を利用してテキストファイルを翻訳する
- Pandoc で特定のディレクトリ直下にある複数のWordをMarkdown形式に一括変換する\
- Pandoc を使って抽出できなかったWord内部の画像をGoogle Driveを使って抽出する
- 技術書の翻訳作業の最終段階で、 Latex 形式に変換する際に英語だけコメントアウトして、日本語はそのまま残す Python スクリプト
Footnotes
-
技術書の翻訳体験記2021(『Kaggle Grandmasterに学ぶ 機械学習 実践アプローチ』) - u++の備忘録, 技術系専門書(機械学習)の翻訳体験から学んだこと - sotetsuk’s tech blog, 速習強化学習を刊行しました - sotetsuk’s tech blog ↩
-
鹿島先生らのヒューマンコンピュテーションとクラウドソーシング (機械学習プロフェッショナルシリーズ)はかなり近しい書籍だが、アノテーションの実践的な知見が得られるかというと方向性が若干異なると思っている。 ↩
-
尋常じゃない速度感で、承認を受け、翻訳権も獲得してくれたので、普通に驚きました。 ↩