英語が苦手で、日頃Google翻訳やDeeplを駆使して論文を読んでいるのですが、
GCPでドキュメントを丸ごと翻訳する機能がプレビュー版で公開されたので試してみました。
Translation API Advanced can translate business documents across 100+ languages
なお、実施手順は公式ページの通りです。
Translate documents
手順
1. サービスアカウントの作成
https://cloud.google.com/docs/authentication/production?hl=JA#manually
もし今のプロジェクトにサービスアカウントが設定されていなければ、上記リンクの手順で作成できます。ロールは編集者でOKです。
キーは忘れずにダウンロードしましょう。
2. Google Cloud SDKのインストール
https://cloud.google.com/sdk/docs/install?hl=JA
コマンドを実行するPCにSDKが導入されていなければ、上記リンクから導入します。
Cloud Shellで実行するのであれば不要です。
3. Cloud Storageの設定
翻訳したいドキュメントと、翻訳後のドキュメントを格納するバケットを作成します。リージョンはどこでもOKです。
今回は最近話題の論文を翻訳します。
4. Cloud Translation APIの有効化
翻訳に必要なCloud Translation APIを有効にします。
翻訳するページ数あたりで料金がかかるため注意。
(1ページ10円は高い…)
5. 実行
翻訳したい内容に合わせて、request.jsonを作成します。
{
"source_language_code": "SOURCE_LANGUAGE",
"target_language_code": "TARGET_LANGUAGE",
"document_input_config": {
"gcsSource": {
"inputUri": "gs://INPUT_FILE_PATH"
}
},
"document_output_config": {
"gcsDestination": {
"outputUriPrefix": "gs://OUTPUT_FILE_PREFIX"
}
}
}
具体的には以下の通りです。
{
"source_language_code": "en",
"target_language_code": "ja",
"document_input_config": {
"gcsSource": {
"inputUri": "gs://translate-target/2105.08050.pdf"
}
},
"document_output_config": {
"gcsDestination": {
"outputUriPrefix": "gs://translate-target/"
}
}
}
その後、Terminalから以下のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://translation.googleapis.com/v3beta1/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateDocument
具体例は以下の通りです。
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://translation.googleapis.com/v3beta1/projects/trasnlation-documents-test/locations/us-central1:translateDocument
Cloud Storageに翻訳後のファイルが生成されています。
翻訳結果
全般
翻訳したファイルのヘッダーに、Googleで機械翻訳した旨が記載されます。内容は普通のGoogle翻訳でしょうか。
数式
一部フォーマットが崩れる箇所がありました。ここは原文を読むしかないですね。
表
フォーマット崩れなく翻訳できてます。
グラフ
図の中まで翻訳されています。素晴らしい…
まとめ
今回はプレビュー版のDocument Translation機能を試しましたが、想定より綺麗に翻訳ができて感動しました。ただ、現状だと論文1本あたり100円程度費用がかかるため、破産しないように注意が必要ですね。