第21章 機械翻訳

1. はじめに
2. Google Translate
3. OmegaT ユーザーと Google Translate
4. Belazar
5. Apertium
6. Microsoft Translator
7. Yandex Translate
8. 機械翻訳 - トラブルシューティング

1. はじめに

翻訳メモリを使ってユーザーが行う翻訳(OmegaT が、そうですが)に対して、機械翻訳(MT)はルールベースや統計ベースの自動翻訳ツールです。翻訳メモリは使いません。統計的学習手法は、原文とその対訳を大量に解析して、翻訳モデルを構築したものです。機械翻訳サービスは、研究評価段階では良好で堅実な結果を達成しています。

機械翻訳サービスを利用するには、メニューから[設定]→[機械翻訳]を選び、任意のサービスを有効にします。これらはすべて、ウェブサービスです。利用する際は、インターネットに接続していなければなりません。

2. Google Translate

Google Translate は、Google が提供する有料サービスです。テキストやウェブサイト、ドキュメントを翻訳でき、その対応言語は増加し続けています。執筆時点で、アルバニア語からイディッシュまで 50 以上の言語に対応しており、もちろん主要な言語をすべて含んでいます。現在のバージョンは、利用に応じて、100 万字ごとに 20 US ドル課金されます。

重要:Google Translate API v2 は、サービスの利用を開始する前に、Google API コンソールで課金情報を設定する必要があります(詳しくは Pricing を参照してください)。Google のサービスを利用するに当たっては、アカウント登録時に Google から送られてくるプライベート ユニークキーが必要になります。OmegaT 起動時にこのキーを設定する方法については、「OmegaT のインストールと実行」の「起動コマンドの引数」を参照してください。

Google Translate による翻訳の品質は、一方ではもちろん、訳文言語のテキストの蓄積量、また翻訳元となる言語がどれくらい適用できるかによります。しかし他方では、構築した翻訳モデルの品質にもよります。品質が十分でない場合もありますが、時が経てば必ず改善されるので、悪くはならないということが確実に言えます。

3. OmegaT ユーザーと Google Translate

機械翻訳の使用を OmegaT ユーザーに強要することは、ありません。使用する場合でも、その翻訳を受け入れるかの決定や、最終的な翻訳内容を Google に委ねるわけではありません。次のウィンドウには、a)英語の原文、b)スペイン語の訳文、c)スロヴェニア語の訳文、が表示されています。b と c は共に、Google Translate による翻訳です。

図21.1 Google Translate - 例

Google Translate - 例

スペイン語の翻訳は、スロヴェニア語の翻訳よりも高品質です。動詞「interest」と「sail」はそれぞれ、スペイン語「interesar」と「navegar」に正しく翻訳されています。一方、スロヴェニア語の方は、どちらの単語も名詞として翻訳されています。この場合、スペイン語の翻訳は少なくとも部分的に、実際の書物の翻訳に基づいている可能性が高いと言えます。

いったん機械翻訳を有効にした後は、原文分節を新しく移動するたびに、機械翻訳ウィンドウにその翻訳の候補が表示されます。その候補を適用したい場合は、Ctrl+M を押すと、編集中の訳文分節が置換されます。上の例で言えば、Ctrl+M を押すと、スペイン語の訳文がスロヴェニア語の候補に置換されます。

Google 翻訳機能は、原文分節を Google へ送信します。これを望まない場合は、[設定]→[機械翻訳]→[Google Translate v2]のチェックを外してください。

いずれにしても、原文分節以外の情報は機械翻訳サービスに送信されません。オンライン版の Google 翻訳には、他の候補を表示したり、フィードバックを送信する機能があります。今のところ、これらの機能は OmegaT では使えません。

4. Belazar

Belazar は、ロシア語 - ベラルーシ語用の機械翻訳ツールです。

5. Apertium

Apertium はフリー/オープンソースの機械翻訳プラットフォームです。カタルーニャ語、スペイン語、アイルランド語、ポルトガル語、オック語、フランス語など、もともとは言語的に近い関係の言語を対象としていましたが、近年はもっと離れた言語間(たとえば英語 - カタルーニャ語)も扱えるように拡張されています。翻訳可能な最新の言語ペアの一覧は、ウェブサイトで確認してください。

プラットフォームが提供するもの

  • 言語に依存しない機械翻訳エンジン

  • 機械翻訳システム(特定の言語ペア向け)を構築するために必要な言語データの管理ツール

  • 増え続ける言語ペア向けの言語データ

Apertium は浅い転移(shallow-transfer)の機械翻訳エンジンを使っています。これは入力テキストを、次のような工程の流れ作業に送り込みます。すなわち書式設定の解除、形態素解析、品詞の曖昧性除去、浅い構造化転移、語彙の転移、形態素生成、そして書式の再設定です。

Apertium を使うと、さまざまな言語ペア向けの機械翻訳システムを構築することができます。そのために必要な言語データは、単純な XML ベースの標準フォーマットで用意します(手入力でも、既存資産を変換したものでもよい)。このデータは提供されているツールによって、機械翻訳エンジンが高速に処理できる形式にコンパイルされます。

6. Microsoft Translator

MS Translator の認証情報は、以下の手順で取得します:

  1. Microsoft Translator 機械翻訳の使用に必要な設定:http://datamarket.azure.com/

    上記の技術情報を参照し、サブスクリプションを登録してください。

  2. 同様に技術情報に従い、アプリケーションの登録を完了してください。

  3. OmegaT で必要なのは、アプリケーションの登録で得られる次の情報です:

    • クライアント ID(microsoft.api.client_secret コマンドライン引数に対応)

    • 顧客の秘密(microsoft.api.client_id コマンドライン引数に対応)

OmegaT で MS Translator を有効するには、ランチャーを編集するか、<l1>OmegaT のインストールと実行</l1>を参照してコマンドライン指定で起動してください。

7. Yandex Translate

Yandex Translate を OmegaT で利用するには、Yandex から API キーを取得する必要があります。

取得した API キーは、OmegaT の起動時に yandex.api.key コマンドライン引数として指定してください。指定方法については、OmegaT ランチャーを編集するか、OmegaT のインストールと実行を参照してコマンドライン指定で起動してください。

8. 機械翻訳 - トラブルシューティング

機械翻訳ウィンドウに何も表示されない場合は、以下の確認をしてください:

  • ネットワークに接続していますか?機械翻訳を使用するためには、ネットワークに接続しておく必要があります。

  • どの言語ペアを使おうとしていますか?有効にしたサービスが、その言語ペアに対応しているかどうか確認してください。

  • Google Translate が動きません:Translate API サービスに登録しましたか?Google Translate API サービスは無料ではない点に注意してください。詳しくは「OmegaT のインストールと実行」(起動引数)を参照してください。

  • 「Google Translate returned HTTP response code: 403 ...」:pinfo.list ファイル(Mac の場合)に入力した 38 文字のキーが正しいか確認してください。また Translate API サービスが有効になっているか、確認してください。

  • 正しい Google API キーを入力したのに、Google Translate が動きません:[設定]→[機械翻訳]→[Google Translate v2]にチェックが入っているか確認してください。

  • Google Translate v2 が「Bad request」しか表示しません:プロジェクトの原文言語と訳文言語の設定を確認してください。言語が未設定の場合に、このような結果が返ってきます。