(57)【要約】  機械翻訳、音声認識及び他の用途における大規模言語モデルの使用を含む、自動機械処理において分散モデルにアクセスするためのシステム、方法及び装置。
2009527818.tif 000002
【特許請求の範囲】
【請求項１】
システムにおいて、
複数の機械翻訳資源サーバであって、各機械翻訳資源サーバは、起点言語から目標言語への翻訳のための機械翻訳資源データの集合体の区画を記憶しサービス提供するように動作可能であり、前記それぞれの区画は、機械翻訳資源データの前記集合体を共に構成し、各それぞれの区画は、機械翻訳資源データの前記集合体より小さい前記複数の機械翻訳資源サーバと、
前記目標言語に翻訳される前記起点言語の原文を受信するように動作可能な少なくとも１つの翻訳サーバであって、前記翻訳サーバは、更に、前記複数の機械翻訳資源サーバから機械翻訳資源データを取得するように、また、前記取得した機械翻訳資源データを用いて、前記原文を前記目標言語に翻訳するように動作可能である翻訳サーバと、
が含まれるシステム。
【請求項２】
請求項１に記載のシステムであって、前記複数の機械翻訳資源サーバには、
前記目標言語用の言語モデルの区画を記憶しサービス提供するように動作可能な複数の言語モデルサーバであって、前記それぞれの区画は、前記言語モデル全体を共に構成する前記複数の言語モデルサーバと、
前記翻訳サーバに対して、前記起点言語と前記目標言語との間の翻訳用の翻訳モデルを記憶しサービス提供するように動作可能な翻訳モデルサーバと、が含まれ、
前記翻訳サーバは、前記翻訳モデルサーバから翻訳モデルデータを取得するように、また、前記複数の言語モデルサーバから言語モデルデータを取得するように動作可能であり、更に、前記取得した翻訳モデルデータ及び言語モデルデータに基づき、前記原文を前記目標言語に翻訳するように動作可能であるシステム。
【請求項３】
請求項２に記載のシステムであって、更に、
前記翻訳モデルサーバ用の１つ又は複数のレプリカサーバが含まれるシステム。
【請求項４】
請求項２に記載のシステムであって、更に、
前記各言語モデルサーバ用の１つ又は複数のレプリカサーバが含まれるシステム。
【請求項５】
請求項４に記載のシステムであって、前記翻訳サーバには、
前記翻訳モデルサーバ、前記言語モデルサーバ、及びレプリカサーバと通信を行うように各々動作可能な複数のセグメント翻訳サーバであって、各セグメント翻訳サーバは、前記原文の１つのセグメントを前記目標言語に翻訳するように動作可能な前記複数のセグメント翻訳サーバと、
前記原文を受信し、前記原文を前記起点言語の複数のセグメントに分割する翻訳フロントエンドと、
前記翻訳フロントエンドと通信状態にあり、前記原文の前記セグメントを受信し、また、前記セグメント翻訳サーバにおける作業負荷に基づき、前記セグメントを前記セグメント翻訳サーバへの前記セグメントに分散して翻訳させるように動作可能な負荷分散モジュールであって、前記負荷分散モジュールは、更に、前記目標言語の翻訳されたセグメントを前記セグメント翻訳サーバから前記翻訳フロントエンドに導くように動作可能である前記負荷分散モジュールと、
が含まれるシステム。
【請求項６】
請求項２に記載のシステムであって、前記翻訳サーバには、
前記翻訳モデルサーバ及び前記言語モデルサーバと通信を行うように各々動作可能な複数のセグメント翻訳サーバであって、各セグメント翻訳サーバは、前記原文の１つのセグメントを前記目標言語に翻訳するように動作可能である前記複数のセグメント翻訳サーバと、
前記原文を受信し、前記原文を前記起点言語の複数のセグメントに分割する翻訳フロントエンドと、
前記翻訳フロントエンドと通信状態にあり、前記原文の前記セグメントを受信し、また、前記セグメント翻訳サーバにおける作業負荷に基づき、前記セグメントを前記セグメント翻訳サーバに分散して翻訳させるように動作可能である負荷分散モジュールであって、前記負荷分散モジュールは、更に、前記目標言語の翻訳されたセグメントを前記セグメント翻訳サーバから前記翻訳フロントエンドに導くように動作可能である前記負荷分散モジュールと、
が含まれるシステム。
【請求項７】
請求項２に記載のシステムであって、
前記翻訳モデルには、前記起点言語と前記目標言語との間のマッピング情報と、各マッピングに関連付けられた評点情報と、が含まれるシステム。
【請求項８】
請求項７に記載のシステムであって、
前記マッピング情報には、（１）前記起点言語の１つ又は複数の生起例と（２）前記目標言語の１つ又は複数の生起例との間の関係と、が含まれるシステム。
【請求項９】
請求項７に記載のシステムであって、
前記評点情報には、前記起点言語と前記目標言語との間の各マッピング用の統計データが含まれるシステム。
【請求項１０】
請求項９に記載のシステムであって、
前記統計データには、前記起点言語と前記目標言語との間の各マッピングの発生の確率が含まれるシステム。
【請求項１１】
請求項７に記載のシステムであって、
前記翻訳サーバは、前記評点情報を用いて、前記取得した翻訳モデルデータ及び言語モデルデータから構築された可能な翻訳から前記原文の所望の翻訳を選択するように動作可能であるシステム。
【請求項１２】
請求項２に記載のシステムであって、
前記言語モデルには、前記目標言語のｎグラム（ｇｒａｍ）及び前記ｎグラム用の統計データが含まれ、各ｎグラムは、一連の前記目標言語のｎ生起例であり、ここで、ｎは、正の整数であるシステム。
【請求項１３】
請求項１２に記載のシステムであって、
前記言語モデルには、ｎが３より大きい場合、ｎグラムが含まれるシステム。
【請求項１４】
請求項１２に記載のシステムであって、
前記複数の言語モデルサーバの各それぞれの区画には、区画基準を満足する前記言語モデルにおける全てのｎグラムが含まれるシステム。
【請求項１５】
請求項１４に記載のシステムであって、
前記複数の言語モデルサーバの各それぞれの区画には、各ｎグラムの所定位置に共通の生起例を有する前記言語モデルにおける全てのｎグラムが含まれるシステム。
【請求項１６】
請求項１５に記載のシステムであって、
前記複数の言語モデルサーバの各それぞれの区画には、複数の共通の生起例を有する前記言語モデルにおける全てのｎグラムが含まれるシステム。
【請求項１７】
請求項１６に記載のシステムであって、
前記複数の共通の生起例は、各ｎグラムの所定位置にあるシステム。
【請求項１８】
請求項１６に記載のシステムであって、
前記複数の共通の生起例は、一連のｎ生起例における最後の２つの生起例であるシステム。
【請求項１９】
請求項１２に記載のシステムであって、
前記統計データは、目標言語テキストのコーパスにおける前記それぞれのｎグラムの各々のそれぞれの発生頻度を示すシステム。
【請求項２０】
請求項１２に記載のシステムであって、
各ｎグラムは、識別番号における順位によって表され、各識別番号は、前記目標言語の特定の生起例を一意的に表すために割り当てられるシステム。
【請求項２１】
請求項１に記載のシステムであって、前記翻訳サーバには、
前記原文を前記起点言語の複数のセグメントに分割するように動作可能な少なくとも１つの翻訳フロントエンドと、
複数のセグメント翻訳サーバであって、各セグメント翻訳サーバは、前記取得した機械翻訳資源データの少なくとも一部分を取得し、前記起点言語のセグメントを前記目標言語に翻訳するように動作可能である前記複数のセグメント翻訳サーバと、
前記セグメント翻訳サーバにおける翻訳負荷に基づき、前記セグメント翻訳サーバの１つ又は複数に前記セグメントを割り当て翻訳させるように動作可能な負荷分散モジュールであって、翻訳されたセグメントを前記翻訳フロントエンドに送るように動作可能な前記負荷分散モジュールと、
が含まれるシステム。
【請求項２２】
請求項２１に記載のシステムであって、更に、
少なくとも、生起例及び各々生起例の組合せを含むセグメントの、前記起点言語から前記目標言語への翻訳を記憶する翻訳キャッシュが含まれ、
前記翻訳フロントエンド又は前記負荷分散モジュールのいずれかが、セグメントをセグメント翻訳サーバに送る前に、前記翻訳キャッシュを調べて前記セグメントの翻訳を得るように動作可能であり、また、前記負荷分散モジュールは、更に、前記翻訳キャッシュに対応する翻訳を有しない、前記セグメント翻訳サーバに送られ翻訳される各セグメントを選択するように動作可能であるシステム。
【請求項２３】
請求項２１に記載のシステムであって、
各セグメント翻訳サーバには、前記取得した機械翻訳資源データの少なくとも一部を記憶するように動作可能なセグメント翻訳サーバキャッシュが含まれるシステム。
【請求項２４】
請求項２３に記載のシステムであって、
前記セグメント翻訳サーバキャッシュは、割り当てられたセグメントが、各セグメント翻訳サーバによって翻訳されている期間中、前記取得した機械翻訳資源データの前記少なくとも一部を記憶するように動作可能であるシステム。
【請求項２５】
請求項２４に記載のシステムであって、
前記セグメント翻訳サーバキャッシュは、前記割り当てられたセグメントが翻訳された後、前記取得した機械翻訳資源データの前記少なくとも一部を削除するように動作可能であるシステム。
【請求項２６】
請求項２４に記載のシステムであって、
前記セグメント翻訳サーバキャッシュは、前記取得した機械翻訳資源データの前記少なくとも一部を定期的に削除するように動作可能であるシステム。
【請求項２７】
請求項２３に記載のシステムであって、
各セグメント翻訳サーバは、更に、前記複数の前記機械翻訳資源サーバから取得される機械翻訳資源データの一部の存在をチェックするように動作可能であり、また、前記複数の前記機械翻訳資源サーバから前記セグメント翻訳サーバキャッシュに記憶されていないデータを取得するように動作可能であるシステム。
【請求項２８】
請求項２３に記載のシステムであって、
前記セグメント翻訳サーバキャッシュは、更に、割り当てられたセグメントの翻訳の履歴情報を記憶するように動作可能であるシステム。
【請求項２９】
請求項２３に記載のシステムであって、
各セグメント翻訳サーバには、更に、前記複数の言語モデルサーバから言語モデルデータの異なる部分を取得する要求を記憶するように動作可能である要求待ち行列が含まれ、
各セグメント翻訳サーバは、前記複数の言語モデルサーバの１つ又は複数に前記要求待ち行列の前記要求を順次送るように動作可能であるシステム。
【請求項３０】
請求項２９に記載のシステムであって、
各セグメント翻訳サーバは、更に、前記要求待ち行列における全ての前記要求が、供給される前に、前記要求待ち行列における前記要求によって取得される前記言語モデルデータと異なる他の機械翻訳資源データを用いて、割り当てられたセグメントの翻訳を処理するように動作可能であり、
各セグメント翻訳サーバは、更に、前記要求から取得された前記言語モデルデータを用いて、前記他の機械翻訳資源データを用いることによって処理された前記割り当てられたセグメントの翻訳を終了させるように動作可能であるシステム。
【請求項３１】
請求項３０に記載のシステムであって、
前記複数の機械翻訳資源サーバには、更に、前記他の機械翻訳資源データを供給する少なくとも１つの機械翻訳資源サーバが含まれるシステム。
【請求項３２】
請求項３１に記載のシステムであって、
前記他の機械翻訳資源データを供給する前記機械翻訳資源サーバは、前記目標言語用の第２の異なる言語モデルを記憶するシステム。
【請求項３３】
請求項２３に記載のシステムであって、
各セグメント翻訳サーバには、更に、前記機械翻訳資源データの選択された部分を記憶する第２セグメント翻訳サーバキャッシュが含まれ、
各セグメント翻訳サーバは、前記第２セグメント翻訳サーバキャッシュにおける前記記憶され選択された部分の一部ではない前記複数の機械翻訳資源サーバからのデータを取得するように動作可能であるシステム。
【請求項３４】
請求項１に記載のシステムであって、更に、
翻訳キャッシュであって、前記起点言語から前記目標言語への生起例及び生起例の組合せの翻訳を記憶する前記翻訳キャッシュが含まれ、
前記翻訳には、機械翻訳及び人手による翻訳が含まれるシステム。
【請求項３５】
請求項３４に記載のシステムであって、
前記翻訳キャッシュには、翻訳品質情報が含まれるシステム。
【請求項３６】
請求項２に記載のシステムであって、
前記翻訳サーバには、統計的機械翻訳サーバが含まれるシステム。
【請求項３７】
請求項３６に記載のシステムであって、
前記翻訳サーバには、更に、統計的機械翻訳と異なる機械翻訳メカニズムを動作させる機械翻訳サーバが含まれるシステム。
【請求項３８】
請求項３７に記載のシステムであって、
前記機械翻訳サーバは、規則ベースの機械翻訳サーバであるシステム。
【請求項３９】
請求項１に記載のシステムであって、更に、
前記機械翻訳資源サーバ及び前記翻訳サーバが通信を行う通信ネットワークであって、前記通信ネットワークにおけるクライアントコンピュータから前記原文を前記翻訳サーバに送り翻訳させるように動作可能な前記通信ネットワークが含まれるシステム。
【請求項４０】
請求項３９に記載のシステムであって、
前記通信ネットワークは、前記目標言語の前記原文の翻訳を前記翻訳サーバから前記クライアントコンピュータに送るように動作可能であるシステム。
【請求項４１】
請求項１に記載のシステムであって、前記機械翻訳資源サーバには、
それぞれ、前記目標言語用の言語モデル異なる区画を記憶しサービス提供するように動作可能な複数の言語モデルサーバであって、前記それぞれの区画は、前記言語モデル全体を共に構成し、また、各それぞれの区画は、前記言語モデルの全体より小さい前記複数の言語モデルサーバと、
前記複数の言語モデルサーバ各々用の１つ又は複数のレプリカ言語モデルサーバと、
それぞれ、前記目標言語と人間の起点言語との間における翻訳のための翻訳モデルの異なる区画を記憶しサービス提供するように動作可能な複数の翻訳モデルサーバであって、前記それぞれの区画は、前記翻訳モデル全体を共に構成し、また、各それぞれの区画は、前記翻訳モデルの全体より小さい前記複数の翻訳モデルサーバと、
前記複数の翻訳モデルサーバ各々用の１つ又は複数のレプリカ翻訳モデルサーバと、が含まれ、
前記翻訳サーバには、
前記目標言語に翻訳される前記起点言語の原文を、前記起点言語の複数のセグメントに分割するように各々動作可能な複数の翻訳フロントエンドと、
機械翻訳を実施して、前記複数の翻訳モデルサーバ及び前記レプリカ翻訳モデルサーバから翻訳モデルデータを取得し、また、前記複数の言語モデルサーバ及び前記レプリカ言語モデルサーバから言語モデルデータを取得するように各々動作可能な複数のセグメント翻訳サーバと、
前記複数のセグメント翻訳サーバにおける翻訳負荷に基づき、前記複数のセグメント翻訳サーバの１つ又は複数に前記セグメントを割り当て翻訳させるように動作可能な負荷分散モジュールと、
が含まれるシステム。
【請求項４２】
請求項４１に記載のシステムであって、更に、
少なくとも生起例及び各々生起例の組合せを含むセグメントの前記起点言語から前記目標言語への翻訳を記憶する翻訳キャッシュが含まれるシステム。
【請求項４３】
請求項４２に記載のシステムであって、
各翻訳フロントエンドは、翻訳されるセグメント用の適切な翻訳がないか前記翻訳キャッシュを調べるように動作可能であり、そして、前記適切な翻訳が存在する場合、前記セグメントを前記負荷分散モジュールに送り、前記複数のセグメント翻訳サーバの内の１つによって翻訳させることなく、前記適切な翻訳を取り込むように動作可能であるシステム。
【請求項４４】
請求項４２に記載のシステムであって、
前記負荷分散モジュールは、翻訳フロントエンドから翻訳されるセグメント用の適切な翻訳がないか前記翻訳キャッシュを調べるように動作可能であり、そして、前記適切な翻訳が存在する場合、前記セグメントを前記複数のセグメント翻訳サーバの内の１つに翻訳のために送ることなく、前記翻訳キャッシュから前記適切な翻訳を取り込み、また、前記検索された翻訳を前記翻訳フロントエンドに送るように動作可能であるシステム。
【請求項４５】
請求項４１に記載のシステムであって、
各セグメント翻訳サーバには、セグメントを翻訳するための、前記複数の言語モデルサーバ及び前記レプリカ言語モデルサーバから取得された言語モデルデータを記憶するように動作可能なセグメント翻訳サーバキャッシュが含まれるシステム。
【請求項４６】
請求項４５に記載のシステムであって、
各セグメント翻訳サーバは、更に、前記複数の前記言語モデルサーバ及び前記レプリカ言語モデルサーバから取得される言語モデルデータの一部の存在をチェックするように動作可能であり、そして、前記言語モデルデータの一部が存在する場合、前記複数の前記言語モデルサーバ及び前記レプリカ言語モデルサーバから前記言語モデルデータの一部を取得することなく、前記言語モデルデータの一部を翻訳に用いるように動作可能であり、
各セグメント翻訳サーバは、更に、前記言語モデルデータの一部が、前記セグメント翻訳サーバキャッシュにない場合、前記複数の前記言語モデルサーバ及び前記レプリカ言語モデルサーバから前記言語モデルデータの一部を取得するように動作可能であるシステム。
【請求項４７】
請求項４５に記載のシステムであって、
各セグメント翻訳サーバには、更に、前記複数の言語モデルサーバから言語モデルデータを取得する要求を記憶するように動作可能である要求待ち行列が含まれ、
各セグメント翻訳サーバは、前記複数の言語モデルサーバ及び前記レプリカ言語モデルサーバの１つ又は複数に前記要求待ち行列における前記要求を順次送り、また、前記セグメント翻訳サーバキャッシュに前記要求によって取得された言語モデルデータを記憶するように動作可能であるシステム。
【請求項４８】
請求項４５に記載のシステムであって、
各セグメント翻訳サーバは、更に、前記要求待ち行列における全ての前記要求が対処される前に、セグメントの翻訳を処理するように動作可能であり、
各セグメント翻訳サーバは、更に、前記要求によって取得された前記言語モデルデータを用いて、前記セグメントの翻訳を終了させるように動作可能であるシステム。
【請求項４９】
請求項４８に記載のシステムであって、
各セグメント翻訳サーバは、更に、前記要求待ち行列における全ての前記要求が供給される前に、他の発信元からの言語モデルデータで前記セグメント翻訳サーバキャッシュを埋めるように動作可能であり、前記他の発信元からの前記言語モデルデータを用いて、前記翻訳を処理し、
前記要求待ち行列における全ての前記要求が供給された後、各セグメント翻訳サーバは、前記セグメント翻訳サーバキャッシュに前記要求によって取得された言語モデルデータを記憶し、更に、前記要求によって取得された前記言語モデルデータで前記翻訳を処理するように動作可能であるシステム。
【請求項５０】
請求項４１に記載のシステムであって、各セグメント翻訳サーバには、
前記複数の言語モデルサーバ及び前記レプリカ言語モデルサーバから取得された言語モデルデータをセグメント翻訳用に記憶するように動作可能な第１セグメント翻訳サーバキャッシュと、
前記複数の言語モデルサーバ及び前記レプリカ言語モデルサーバにおける前記言語モデルの選択された部分を記憶する第２セグメント翻訳サーバキャッシュと、
が含まれるシステム。
【請求項５１】
請求項５０に記載のシステムであって、
各セグメント翻訳サーバは、前記セグメントの翻訳を完了した後、前記第１セグメント翻訳サーバキャッシュのデータを削除し、前記第２セグメント翻訳サーバキャッシュにおける前記言語モデルの選択された部分を保持するように動作可能であるシステム。
【請求項５２】
請求項４１に記載のシステムであって、更に、
前記目標言語と第２の人間の起点言語との間の翻訳用の第２翻訳モデルの異なる区画をそれぞれ記憶しサービス提供するように動作可能である複数の第２翻訳モデルサーバであって、前記それぞれの区画は、前記第２翻訳モデル全体を共に構成し、各それぞれの区画は、前記第２翻訳モデルの全体より小さい前記複数の第２翻訳モデルサーバと、
前記複数の第２翻訳モデルサーバ各々用の１つ又は複数の第２レプリカ翻訳モデルサーバと、
前記目標言語に翻訳される前記第２言語の第２原文を前記第２起点言語の複数のセグメントに分割するように各々動作可能な複数の第２翻訳フロントエンドと、
機械翻訳を実施して、前記複数の第２翻訳モデルサーバ及び前記第２レプリカ翻訳モデルサーバから第２翻訳モデルデータを取得し、また、前記複数の言語モデルサーバ及び前記レプリカ言語モデルサーバから言語モデルデータを取得するように各々動作可能な複数の第２セグメント翻訳サーバと、
前記複数の第２セグメント翻訳サーバにおける翻訳負荷に基づき、前記複数の第２セグメント翻訳サーバの１つ又は複数に前記セグメントを割り当て翻訳させるように動作可能な第２負荷分散モジュールと、
が含まれるシステム。
【請求項５３】
請求項４１に記載のシステムであって、
各セグメント翻訳サーバは、それぞれの区画用のそれぞれの言語モデルサーバ及び対応する１つ又は複数のレプリカ言語モデルサーバにおける作業負荷を監視するように動作可能であり、
監視された作業負荷に応じて、各セグメント翻訳サーバは、更に、前記それぞれの言語モデルサーバ及び対応する１つ又は複数のレプリカ言語モデルサーバからサーバを選択して、前記言語モデルの前記それぞれの区画のデータを要求するように動作可能であるシステム。
【請求項５４】
システムにおいて、
機械翻訳を実施して、起点言語と目標言語との間の翻訳用の翻訳モデルから翻訳モデルデータを取得し、また、前記目標言語用の言語モデルから言語モデルデータを取得するように動作可能な翻訳サーバであって、更に、前記取得した翻訳モデルデータ及び言語モデルデータを用いて、前記起点言語の文章を前記目標言語に翻訳するように動作可能な前記翻訳サーバと、が含まれ、
前記翻訳サーバには、
前記起点言語のセグメントを翻訳するための言語モデルデータ取得要求を記憶するように動作可能な要求待ち行列と、
前記翻訳サーバによって前記要求により取得された言語モデルデータを記憶するように動作可能なセグメント翻訳サーバキャッシュと、
が含まれるシステム。
【請求項５５】
請求項５４に記載のシステムであって、
前記セグメント翻訳サーバキャッシュは、前記セグメントが翻訳された後、前記取得した言語モデルデータを削除するように動作可能であるシステム。
【請求項５６】
請求項５４に記載のシステムであって、
前記セグメント翻訳サーバキャッシュは、前記取得した言語モデルデータを定期的に削除するように動作可能であるシステム。
【請求項５７】
請求項５４に記載のシステムであって、
前記翻訳サーバは、前記要求待ち行列における全ての前記要求が供給される前に、前記セグメントの翻訳を処理するように動作可能であり、
前記翻訳サーバは、更に、前記要求によって取得された前記セグメント翻訳サーバキャッシュにおける前記言語モデルデータを用いて、前記セグメントの翻訳を終了させるように動作可能であるシステム。
【請求項５８】
請求項５４に記載のシステムであって、
前記要求待ち行列における前記言語モデルの前記言語データに対する前記要求が、供給されている間、且つ、前記要求によって取得された言語モデルデータが、前記セグメント翻訳サーバキャッシュに記憶されている間、前記翻訳サーバは、前記目標言語用の第２言語モデルからの言語モデルデータを用いて、前記セグメントの翻訳を処理するように動作可能であり、
前記要求待ち行列における全ての前記要求が対処された後、前記翻訳サーバは、更に、前記第２言語モデルからの前記言語モデルデータを用いることによって生成される前記翻訳を処理するように動作可能であり、前記言語モデルデータは、前記要求によって取得されるシステム。
【請求項５９】
請求項５４に記載のシステムであって、
前記翻訳サーバは、前記目標言語用の第２言語モデルからの言語モデルデータを用いて、前記セグメントの翻訳を処理して、前記要求待ち行列における前記言語モデルの前記言語データに対する前記要求が送出される前に、前記セグメントの第一次の翻訳を生成するように動作可能であり、
前記翻訳サーバは、前記第一次の翻訳に基づき、前記要求待ち行列における前記言語モデルの前記言語モデルデータに対する前記要求を更新するように動作可能であり、
前記翻訳サーバは、更に、前記要求待ち行列における前記更新された要求を送出して、前記第一次の翻訳を処理するための前記言語モデルから言語モデルデータを取得するように動作可能であり、
前記更新された要求が対処され、また、前記更新された要求に対する前記データが前記セグメント翻訳サーバ待ち行列に記憶された後、前記翻訳サーバは、更に、前記更新された要求に対する前記データで前記第一次の翻訳を処理して、最終の翻訳を生成するように動作可能であるシステム。
【請求項６０】
請求項５４に記載のシステムであって、
前記セグメント翻訳サーバキャッシュは、更に、割り当てられたセグメントの翻訳の履歴情報を記憶するように動作可能であるシステム。
【請求項６１】
請求項５４に記載のシステムであって、前記翻訳サーバには、更に、
前記言語モデルの選択された部分を記憶する第２セグメント翻訳サーバキャッシュ含まれ、
前記翻訳サーバは、前記セグメントの翻訳を完了した後、前記セグメント翻訳サーバキャッシュのデータを削除し、また、前記第２セグメント翻訳サーバキャッシュにおける前記言語モデルの前記選択された部分を保持するように動作可能であるシステム。
【請求項６２】
請求項５４に記載のシステムであって、前記翻訳サーバには、更に、
前記言語モデルの選択された部分を記憶する第２セグメント翻訳サーバキャッシュが含まれ、
前記翻訳サーバは、前記セグメント翻訳サーバキャッシュにおけるデータを定期的に削除するように動作可能であるシステム。
【請求項６３】
請求項６１に記載のシステムであって、
前記翻訳サーバは、前記言語モデルデータの一部に対する要求を生成する前に、前記セグメントを翻訳するために必要な言語モデルデータの一部がないか前記第２セグメント翻訳サーバキャッシュを調べるように動作可能であり、
前記言語モデルデータの一部が前記第２セグメント翻訳サーバキャッシュに存在する場合、前記翻訳サーバは、前記言語モデルデータの一部に対する前記要求を生成することなく、前記言語モデルデータの一部を翻訳に用いるように動作可能であるシステム。
【請求項６４】
請求項５４に記載のシステムであって、更に、
前記翻訳サーバが、通信ネットワークにおけるクライアントコンピュータから前記起点言語の前記文章を受信するために通信を行う前記通信ネットワークが含まれるシステム。
【請求項６５】
方法であって、
起点言語から目標言語への翻訳用の機械言語翻訳資源データの集合体を、各々、前記機械言語翻訳資源データの集合体より小さい複数の区画に分割する段階と、
異なるコンピュータサーバに前記複数の区画をそれぞれ記憶する段階と、
機械翻訳サーバを動作させ、前記異なるコンピュータサーバ上の前記機械言語翻訳資源データの集合体にアクセスし用いて、前記起点言語から前記目標言語への翻訳を実施する段階と、
が含まれる方法。
【請求項６６】
請求項６５に記載の方法であって、前記機械言語翻訳資源データの集合体には、前記目標言語用の言語モデルが含まれ、この言語モデルには、更に、ｎグラムが含まれ、ｎは、３より大きい方法。
【請求項６７】
請求項６５に記載の方法であって、前記機械言語翻訳資源データの集合体には、前記目標言語と前記起点言語との間の翻訳モデルが含まれる方法。
【請求項６８】
請求項６５に記載の方法であって、更に、
前記起点言語から前記目標言語に翻訳されるクライアントドキュメントの異なるセグメントをそれぞれ翻訳する異なる翻訳サーバを提供する段階と、
各翻訳サーバを動作させて、各それぞれのセグメントを翻訳するための前記機械言語翻訳資源データの集合体から選択されたデータを取得する段階と、
が含まれる方法。
【請求項６９】
請求項６８に記載の方法であって、更に、
異なる翻訳スピード及び異なる翻訳品質レベルで動作するように少なくとも２つの異なる翻訳サーバを構成する段階と、
セグメント用のスピード及び翻訳品質レベルに基づき、前記セグメントを翻訳するための翻訳サーバを選択する段階と、
が含まれる方法。
【請求項７０】
請求項６８に記載の方法であって、更に、
各翻訳サーバを動作させ、要求待ち行列における前記選択されたデータに対する要求を生成する段階と、
前記コンピュータサーバに前記要求を順次送り、前記選択されたデータを取得する段階と、
が含まれる方法。
【請求項７１】
請求項７０に記載の方法であって、更に、
各翻訳サーバを動作させ、それぞれのセグメントを翻訳する前に、前記要求待ち行列における全ての前記要求が対処されるのを待つ段階が含まれる方法。
【請求項７２】
請求項７０に記載の方法であって、更に、
各翻訳サーバを動作させ、前記要求待ち行列における前記要求が対処されている時、それぞれのセグメントの第一次の翻訳を実施する段階と、
前記要求待ち行列における全ての前記要求が対処された後、前記選択されたデータを用いて、前記第一次の翻訳を更新して、最終の翻訳を生成する段階と、
が含まれる方法。
【請求項７３】
請求項７２に記載の方法であって、更に、
機械言語翻訳資源データの他の異なる集合体を用いて、前記それぞれのセグメントの前記第一次の翻訳を実施する段階が含まれる方法。
【請求項７４】
請求項６８に記載の方法であって、更に、
各翻訳サーバを動作させ、要求待ち行列における前記選択されたデータに対する要求を生成する段階と、
前記コンピュータサーバ及びレプリカコンピュータサーバに前記要求を送ることなく、各翻訳サーバを動作させ、第２の異なる集合体の機械言語翻訳資源データを適用して、前記それぞれのセグメントの翻訳を処理する段階と、
前記第２の異なる集合体の機械言語翻訳資源データによる処理からの情報を用いて、前記要求待ち行列における前記選択されたデータに対する前記要求を更新する段階と、
前記コンピュータサーバ及びレプリカコンピュータサーバに前記更新された要求を送り、データを取得する段階と、
前記更新された要求によって要求されたデータを用いて、前記それぞれのセグメントの翻訳を完了する段階と、
が含まれる方法。
【請求項７５】
起点言語と目標言語との間の翻訳用の翻訳モデル及び前記目標言語用の言語モデルを用いて、前記起点言語から前記目標言語へ文章を機械翻訳するための方法であって、
複数の異なるデータ区画に前記翻訳モデルを区画する段階であって、各翻訳モデル区画は、前記翻訳モデルより小さい前記段階と、
複数の異なる翻訳モデルサーバに前記複数の翻訳モデル区画を記憶する段階と、
異なるデータの複数の言語モデル区画に前記言語モデルを区画する段階であって、各言語モデル区画は、前記言語モデルより小さい前記段階と、
複数の異なる言語モデルサーバに前記複数の言語モデル区画を記憶する段階と、
前記翻訳モデル及び前記言語モデルを用いて、前記起点言語の文章を前記目標言語に翻訳するように各々動作可能な複数の翻訳サーバの作業負荷を監視する段階と、
前記起点言語から前記目標言語に翻訳される文章のセグメントを、前記作業負荷に基づき、前記複数の翻訳サーバから１つ又は複数の選択された翻訳サーバに分散する段階と、
各選択された翻訳サーバを動作させ、前記翻訳モデルサーバ及び前記言語モデルサーバにアクセスして、翻訳される各それぞれのセグメント用の所望の翻訳モデルデータ及び言語モデルデータを取り出す段階と、
前記選択された翻訳サーバからの翻訳されたセグメントを編集して翻訳文を生成する段階と、
が含まれる方法。
【請求項７６】
請求項７５に記載の方法であって、更に、
前記各選択された翻訳サーバにおける演算処理量を制御して、前記文章の翻訳を完了するスピードを調整する段階が含まれる方法。
【請求項７７】
請求項７６に記載の方法であって、更に、
前記選択された翻訳サーバを制御して、低翻訳品質の前記文章の第一次の翻訳を生成する段階と、
前記第一次の翻訳の完了後、前記選択された翻訳サーバを制御し、前記翻訳の処理を継続して、高翻訳品質の前記文章の第２の翻訳を生成する段階と、
が含まれる方法。
【請求項７８】
請求項７７に記載の方法であって、更に、
前記文章の前記第一次の翻訳をクライアントに配信し、一回目の前記翻訳を要求する段階と、
前記文章の前記第２の翻訳を前記クライアントに配信し、二回目の前記第一次の翻訳を置き換える段階と、
が含まれる方法。
【請求項７９】
請求項７７に記載の方法であって、更に、
前記選択された翻訳サーバによって前記高翻訳品質で翻訳される前記文章の第１の部分を選択する段階と、
前記選択された翻訳サーバによって前記低翻訳品質で翻訳される前記文章の第２の部分を選択する段階と、
が含まれる方法。
【請求項８０】
コンピュータ実装された方法であって、
目標言語に翻訳される起点言語のクライアントドキュメントを受信する段階と、
前記クライアントドキュメントをセグメントに分割して、各セグメントを翻訳する段階と、
前記目標言語用の言語モデルを一括して記憶する複数の異なる言語モデルサーバの内の少なくとも１つにアクセスして、前記セグメントの内の１つの翻訳に関連する選択された言語モデルデータを検索する段階であって、各言語モデルサーバが、前記言語モデルの区画を記憶しサービス提供するように動作可能である前記段階と、
前記検索され選択された言語モデルデータを用いて、前記セグメントを前記目標言語に翻訳する段階と、
が含まれる方法。
【請求項８１】
請求項８０に記載の方法であって、更に、
翻訳対象の前記セグメントの翻訳に関連する前記選択された言語モデルデータの少なくとも一部用の第１言語モデルサーバにアクセスする間、前記第１言語モデルサーバ上のデータを複製する前記第１言語モデルサーバの第１レプリカサーバに同時にアクセスして、前記選択された言語モデルデータの前記少なくとも一部を検索する段階と、
前記セグメントを翻訳する際、前記第１言語モデルサーバ及び前記第１レプリカサーバの内の最初に到着したいずれか１つからのデータを用いる段階と、
が含まれる方法。
【請求項８２】
請求項８０に記載の方法であって、更に、
各言語モデルサーバにアクセスするためのタイムアウト期間を設定する段階と、
特定の言語モデルサーバから要求されたデータを受信する前に、前記特定の言語モデルサーバにアクセスするための前記タイムアウト期間が経過した後、前記特定の言語モデルから要求された前記データを異なるデータ送信端末から取得する段階と、
が含まれる方法。
【請求項８３】
請求項８２に記載の方法であって、
前記異なるデータ送信端末には、異なる言語モデルからの前記データが含まれる方法。
【請求項８４】
請求項８０に記載の方法であって、更に、
各言語モデルサーバにアクセスするためのタイムアウト期間を設定する段階と、
特定の言語モデルサーバから要求されたデータを受信する前に、前記特定の言語モデルサーバにアクセスするための前記タイムアウト期間が経過した後、前記特定の言語モデルサーバ上のデータを複製する前記特定の言語モデルサーバのレプリカサーバへのアクセスを開始して、前記特定の言語モデルから要求された前記データを取得する段階と、
が含まれる方法。
【請求項８５】
請求項８０に記載の方法であって、更に、
前記起点言語と前記目標言語との間の翻訳用の翻訳モデルを記憶する翻訳モデルサーバにアクセスして、前記セグメントの内の１つの翻訳に関連する選択された翻訳モデルデータを検索する段階と、
前記検索され選択された言語モデルデータ及び翻訳モデルデータを用いて、前記セグメントを前記目標言語に翻訳する段階と、
が含まれる方法。
【請求項８６】
請求項８０に記載の方法であって、更に、
前記言語モデルからのデータを用いて、各セグメントを翻訳する前に、異なる翻訳資源からのデータを用いて、前記セグメントの第一次の翻訳を実施する段階と、
前記言語モデルからのデータを用いて、前記第一次の翻訳を更新して、前記セグメントの最終の翻訳を生成する段階と、
が含まれる方法。
【請求項８７】
請求項８６に記載の方法であって、前記異なる翻訳資源は、前記言語モデルより小さい前記目標言語用の第２言語モデルである方法。
【請求項８８】
請求項８０に記載の方法であって、更に、
１つのセグメントを翻訳するためのデータを検索するための複数の異なる言語モデルサーバの内の少なくとも１つにアクセスする前に、所定のセグメントの翻訳を記憶するローカルキャッシュを検索して、既存の翻訳が前記セグメントに利用可能であるかどうか判断する段階と、
前記既存の翻訳が利用可能である場合、前記既存の翻訳を前記セグメントに用いる段階と、もしそうでなければ、複数の異なる言語モデルサーバの内の前記少なくとも１つにアクセスして、前記セグメントを翻訳するためのデータを検索する段階と、
が含まれる方法。
【請求項８９】
方法であって、
機械翻訳システムを用いて、クライアントから起点言語の文章を受信し、前記文章を目標言語に翻訳する段階が含まれ、
前記機械翻訳システムにおける前記翻訳する段階には、
前記文章の一部分を選択して、低翻訳品質で翻訳し、第一次の翻訳部分を生成し、その間、前記選択された部分を高翻訳品質で翻訳する段階と、
前記クライアントに前記第一次の翻訳部分を配信し、その間、前記選択された部分の前記高翻訳品質での翻訳を継続する段階と、
前記選択された部分が、前記高翻訳品質で第２の翻訳部分に翻訳された後、
前記高翻訳品質の前記第２の翻訳部分を前記クライアントに配信して、前記第一次の翻訳部分を自動的に置き換える段階と、
が含まれる方法。
【請求項９０】
請求項８９に記載の方法であって、
前記機械翻訳システムには、前記低翻訳品質で翻訳を生成する第１翻訳サーバと、前記高翻訳品質で翻訳を生成し、前記第１翻訳サーバより動作が遅い第２翻訳サーバと、が含まれ、
前記機械翻訳システムにおける前記翻訳する段階には、
前記第１翻訳サーバを用いて、前記第一次の翻訳部分を生成し、また、前記第２翻訳サーバを用いて、前記第２の翻訳部分を生成する段階が含まれる方法。
【請求項９１】
請求項８９に記載の方法であって、前記機械翻訳システムにおける前記翻訳する段階には、
前記第一次の翻訳部分として、前記機械翻訳システムのキャッシュに記憶された前記選択された部分に既存の翻訳を用いる段階と、
前記目標言語用の言語モデルを一括して記憶する複数の異なる言語モデルサーバの内の少なくとも１つにアクセスして、前記高翻訳品質で前記選択された部分を翻訳する段階に関連する選択された言語モデルデータを検索する段階であって、各言語モデルサーバは、前記言語モデルの区画を記憶しサービス提供するように動作可能である前記段階と、
前記選択された言語モデルデータを受信した後、前記選択された言語モデルデータを用いて、前記選択された部分を前記第２の翻訳部分に翻訳する段階と、
が含まれる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、以下の特許文献１及び２の恩典を主張するものであり、また、これらの全開示を引用し参照する。
【０００２】
本出願明細書は、コンピュータ等の機械を用いて、機械翻訳等のタスク処理を行う機械処理に関する。
【背景技術】
【０００３】
コンピュータ等の機械やコンピュータベースの機械が、様々な処理作業を自動化するために広く用いられている。機械がこれまで取り扱うのが困難だった幾つかの作業は、コンピュータ情報技術や通信技術の進歩により、次第に自動化されつつある。言語翻訳及び音声認識は、自動化されつつある機械処理作業の２つの例である。
【０００４】
一方の人間の言語、即ち、自然言語（起点自然言語）から他の自然言語（対象自然言語）への翻訳は、様々なやり方で行うことができる。人は、起点自然言語（例えば、中国語）の文章を、最初に、その中国語の文章を読んで理解し、そして、対応する文章を目標言語（例えば、英語）で書き下ろすことによって手作業で翻訳できる。そのような手作業での翻訳は、高い品質になる傾向があるが、高価で時間がかかることがある。機械翻訳は、コンピュータや他の機械を用いて、翻訳プロセスの一部又は全てを自動化し、翻訳コストを低減したり翻訳プロセスを迅速化したりする。規則ベースの機械翻訳及び統計的機械翻訳は、機械翻訳手法の２つの例である。機械翻訳システムは、簡単に使用できる。即ち、ユーザは、起点自然言語のデジタル文書を機械翻訳システムに送り、システムは、文書を処理して、対象自然言語の翻訳文書を生成する。機械翻訳は、次第に広範囲の用途に用いられている。例えば、資源は、機械翻訳を提供して異なる自然言語の情報に簡単にアクセスさせ得るインターネット等の多くのコンピュータネットワーク上で利用可能である。
【０００５】
機械翻訳システムの翻訳品質は、しかしながら、手作業での翻訳より低い場合があり、また、時として、機械翻訳された文章は、理解が困難であったり不可能であったりすることがある。統計的機械翻訳手法を含む様々な機械翻訳手法が、翻訳品質及び翻訳スピード等の機械翻訳の様々な側面を改善するために開発されてきている。
【特許文献１】第６０／７７４，７９０号、表題“分散モデルの符号化及び適応可能なスケーラブルアクセス処理”、２００６年２月１７日出願
【特許文献２】第６０／７７５，５７０号、表題“分散モデルの符号化及び適応可能なスケーラブルアクセス処理”、２００６年２月２１日出願
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本明細書では、資源区画、複製、及び負荷分散を用いて、大きなモデルへのアクセス及びスケーラブルで適応可能な処理の提供を実現し得る分散型機械処理システム、手法、方法及び装置について述べる。様々な分散型機械処理システムは、機械翻訳システム、音声認識システム、スパム検出システム、光学文字認識システム、スペル訂正システム、エンティティ検出システム、情報抽出システム等を含み、ここに記載した手法に基づき構成し得る。
【課題を解決するための手段】
【０００７】
一態様において、ここに述べるシステムには、各々、データの集合体の区画を記憶しサービス提供するように動作可能なコンピュータデータサーバが含まれる。それぞれの区画は、データの集合体を共に構成し、それぞれの各区画は、データの集合体より小さい。このシステムには、更に、データサーバからデータを取得し、また、取得したデータを用いて、入力を処理し、出力を生成するように動作可能な処理サーバが含まれる。本システムは、各データサーバ用の１つ又は複数のレプリカデータサーバを含むように実現し得る。一実施例において、データの集合体は、目標言語の言語モデル用のデータである。言語モデルには、目標言語のｎグラム（ｇｒａｍ）及びｎグラムの各々用の統計データが含まれる。ｎグラムには、Ｎが３より大きいＮグラムを含み得る。処理サーバは、言語モデルからの取得データを用いて、入力内の起点言語の文章を目標言語に翻訳するように動作可能な翻訳サーバである。処理サーバは、例えば、言語モデルからの取得データを用いて、入力内の目標言語の人間の音声を目標言語の文章に翻訳するように動作可能な音声認識サーバ、言語モデルからの取得データを用いて、入力内の目標言語の語のスペルを修正するように動作可能なスペル訂正サーバ、又は言語モデルからの取得データを用いて、入力内の受信文書画像の文章を認識するように動作可能な光学文字認識サーバ等、様々な構成で実現し得る。
【０００８】
他の態様において、機械翻訳用のシステムには、機械翻訳資源サーバ及び少なくとも１つの翻訳サーバを含み得る。各機械翻訳資源サーバは、起点言語から目標言語への翻訳用の機械翻訳資源データの集合体の区画を記憶しサービス提供するように動作可能である。それぞれの区画は、機械翻訳資源データの集合体を共に構成し、各それぞれの区画は、機械翻訳資源データの集合体より小さい。翻訳サーバは、目標言語に翻訳される起点言語の原文を受信するように動作可能であり、また更に、機械翻訳資源サーバから機械翻訳資源データを取得し、取得した機械翻訳資源データを用いて、原文から目標言語に翻訳するように動作可能である。
【０００９】
他の態様において、機械翻訳用のシステムには、機械翻訳を実施して、起点言語と目標言語との間の翻訳用の翻訳モデルから翻訳モデルデータ及び目標言語用の言語モデルから言語モデルデータを取得するように動作可能な翻訳サーバを含み得る。翻訳サーバは、更に、取得した翻訳モデルデータ及び言語モデルデータを用いて、起点言語の文章を目標言語に翻訳するように動作可能である。翻訳サーバには、起点言語のセグメントを翻訳するために言語モデルデータ取得するための要求を記憶するように動作可能な要求待ち行列と、翻訳サーバによる要求により取得された言語モデルデータを記憶するように動作可能なセグメント翻訳サーバキャッシュと、が含まれる。
【００１０】
他の態様において、機械翻訳のための方法は、起点言語から目標言語への翻訳用の機械言語翻訳資源データの集合体を、機械言語翻訳資源データの集合体より各々小さい区画に分割し得る。区画は、異なるコンピュータサーバ上にそれぞれ記憶される。機械翻訳サーバは、異なるコンピュータサーバ上の機械言語翻訳資源データの集合体にアクセスして用い、起点言語から目標言語への翻訳を実施するように動作する。
【００１１】
他の態様において、起点言語と目標言語との間の翻訳用の翻訳モデル及び目標言語用の言語モデルを用いて、起点言語から目標言語への文章を機械翻訳するための方法について述べる。本方法には、翻訳モデルを異なるデータの区画に区画する段階であって、各翻訳モデル区画は、翻訳モデルより小さい段階と、翻訳モデル区画を異なる翻訳モデルサーバに記憶する段階と、言語モデルを異なるデータの言語モデル区画に区画する段階であって、言語モデル区画は、言語モデルより小さい段階と、言語モデル区画を異なる言語モデルサーバに記憶する段階と、翻訳モデル及び言語モデルを用いて、起点言語の文章を目標言語に翻訳するように各々動作可能な翻訳サーバの作業負荷を監視する段階と、起点言語から目標言語に翻訳される文章のセグメントを、作業負荷に基づき、翻訳サーバから１つ又は複数の選択された翻訳サーバに分散する段階と、各選択された翻訳サーバを動作させて、翻訳モデルサーバ及び言語モデルサーバにアクセスして、翻訳されるそれぞれの各セグメント用の所望の翻訳モデルデータ及び言語モデルデータを取り出す段階と、選択された翻訳サーバからの翻訳されたセグメントを編集して、翻訳文を生成する段階と、が含まれる。
【００１２】
他の態様において、コンピュータ実装された方法には、目標言語に翻訳される起点言語のクライアント文書を受信する段階と、クライアント文書をセグメントに分割して、各セグメントを翻訳する段階と、異なる言語モデルサーバの内の少なくとも１つにアクセスする段階と、を含み得る。異なる言語モデルサーバは、目標言語用の言語モデルを一括して記憶して、セグメントの１つの翻訳に関連する選択された言語モデルデータを検索する。各言語モデルサーバは、言語モデルの区画を記憶しサービス提供するように動作可能である。本方法には、更に、検索され選択された言語モデルデータを用いて、セグメントを目標言語に翻訳する段階が含まれる。
【００１３】
他の態様において、機械翻訳のための方法には、機械翻訳システムを用いて、起点言語の文章をクライアントから受信し、その文章を目標言語に翻訳する段階を含み得る。機械翻訳システムにおいて翻訳する段階には、文章の一部分を選択して、低翻訳品質で翻訳し、第一次の翻訳部分を生成し、その間、選択された部分を高翻訳品質で翻訳する段階と、第一次の翻訳部分をクライアントに配信し、その間、選択された部分を高翻訳品質で継続して翻訳する段階と、選択された部分が、高翻訳品質で第２の翻訳部分に翻訳された後、高翻訳品質の第２の翻訳部分をクライアントに配信して、第一次の翻訳部分を自動的に置き換える段階と、が含まれる。
【００１４】
他の態様において、機械翻訳のためのシステムには、言語モデルサーバ、翻訳モデルサーバ、及び翻訳サーバを含み得る。各言語モデルサーバは、目標言語用の言語モデルの区画を記憶しサービス提供するように動作可能である。それぞれの区画は、言語モデル全体を共に構成する。翻訳モデルサーバは、目標言語と起点言語との間の翻訳用の翻訳モデルを記憶しサービス提供するように動作可能である。翻訳サーバは、翻訳モデルサーバから翻訳モデルデータ及び言語モデルサーバから言語モデルデータを取得し、取得した翻訳モデルデータ及び言語モデルデータに基づき、起点言語の原文を目標言語に翻訳するように動作可能である。
【００１５】
他の態様において、機械翻訳のためのシステムには、翻訳サーバモジュール及び翻訳キャッシュを含み得る。翻訳サーバモジュールは、起点言語と目標言語との間の翻訳用の翻訳モデルから翻訳モデルデータ及び目標言語用の言語モデルから言語モデルデータを取得するように動作可能である。翻訳サーバモジュールは、更に、取得した翻訳モデルデータ及び言語モデルデータを用いて、起点言語の文章を目標言語に翻訳するように動作可能である。翻訳キャッシュは、選択された生起例及びセグメントの翻訳を記憶する。各セグメントには、起点言語から目標言語への生起例の組合せが含まれる。翻訳サーバモジュールは、翻訳されるセグメント用の適切な翻訳がないか翻訳キャッシュを調べて、適切な翻訳が存在する場合、セグメントを更に処理することなく、また、セグメントを翻訳するための翻訳モデルデータ及び言語モデルデータを取得することなく、適切な翻訳を取り込むように動作可能である。
【００１６】
他の態様において、機械翻訳システムを動作させるための方法には、起点言語から目標言語に翻訳される原文をセグメントに分割する段階と、選択された生起例と起点言語から目標言語への生起例の組合せを各々含むセグメントとの翻訳を記憶する翻訳キャッシュの各セグメントを調べる段階と、翻訳されるセグメント用の適切な翻訳が翻訳キャッシュにある場合、セグメントを更に処理することなく、セグメント用の適切な翻訳を用いる段階と、翻訳されるセグメント用の適切な翻訳が翻訳キャッシュにない場合、翻訳サーバを動作させて、起点言語と目標言語との間の翻訳用の翻訳モデル及び目標言語用の言語モデルにアクセスして、セグメントを翻訳するための所望の翻訳モデルデータ及び言語モデルデータを取得する段階と、翻訳サーバを動作させ、所望の翻訳モデルデータ及び言語モデルデータを用いてセグメントを翻訳する段階と、を含み得る。
【００１７】
更に他の態様において、機械翻訳用のセグメント翻訳装置には、起点言語と目標言語との間の翻訳用の翻訳モデル及び目標言語用の言語モデルを用いて、起点言語の１つ又は複数の生起例が含まれるセグメントを目標言語の翻訳セグメントに翻訳するように動作可能なデコーダを含み得る。セグメント翻訳サーバキャッシュは、この装置に含まれ、セグメントを翻訳するための言語モデルから取り込まれたデータを記憶し、また、記憶されたデータをデコーダに供給する。デコーダは、言語モデル全体の異なる区画をそれぞれ記憶する言語モデルサーバと通信を行って、セグメントの可能な翻訳のためのｎグラムの各々に関する情報及び関連する統計データを要求するように動作可能である。
【００１８】
開示された及び他の実施形態は、１つ又は複数のコンピュータプログラムプロダクトとして、即ち、データ処理装置によって実行するための、また、その動作を制御するためのコンピュータ判読可能媒体上に符号化されたコンピュータプログラム命令の１つ又は複数のモジュールとして実現し得る。個々の実施形態は、１つ又は複数の利点、例えば、機械翻訳の品質強化、翻訳スピード改善、システムの拡張性、機械翻訳に対する大量の要求を取り扱うための容量を実現するように実装し得る。本システム、手法及び装置の１つ又は複数の実施形態の詳細については、添付図面及び以下の説明に記載する。本システム、手法及び装置に関連する他の特徴、態様、及び利点は、説明、図面、及び請求項から明らかになるであろう。
【発明を実施するための最良の形態】
【００１９】
様々な図面における同様な参照番号及び呼称は、同様な要素を示す。
【００２０】
本明細書において述べる自動機械処理手法及びシステムは、大量の資源を操作して、処理性能、例えば、処理の品質やスピードを改善するように実現し得る。自動機械処理の例としては、機械翻訳、音声認識、スパム検出、光学文字認識、スペル訂正、エンティティ検出、及び情報抽出が挙げられる。本自動機械処理手法及びシステムは、更に、大量の自動処理要求に応じるのに充分な処理容量で実現し得る。これらの及び他の実施例の自動処理において、分散化設計は、このシステム資源又はシステム処理容量を実現するために用い得る
【００２１】
区画及び複製は、分散化設計を実現するために利用可能な手法の２つの例である。
【００２２】
区画では、自動処理システム内の特定の項目は、異なる機械、例えば、コンピュータに物理的に配置される異なる区画に分割又は区画される。各区画は、全項目より小さく、また、異なる区画は、幾つかの実施例では、互いに異なることがあり、他の実施例では、或る程度重複し得る。例えば、データを本来記憶するデータベースサーバ又は自動処理システムにおいて１つ又は複数の処理作業を本来実行する処理サーバは、区画される項目であってよい。区画によって、単一の機械の容量に制限されることなく、大きな項目をシステムに実現し得る。異なる区画は、異なる機械に置かれ、従って、別個にアクセスし得る。従って、有益な特徴の中でもとりわけ、区画は、高負荷を取り扱うために、また、拡張性及び信頼性を与えるために用い得る。区画のスケール及び他の特徴は、特定の自動処理システムにおける要件及び制約に応じて変わる。例えば、大きなデータベースは、単一の機械（例えば、データベースサーバ）に記憶するのは困難なことがある。あるいは、単一の高価な機械を用いて、大きなデータベースを記憶することは、経済的でないことがある。従って、大きなデータベースは、多数のデータベース区画に小さく分断することで、多数の各選択された機械が、各データベース区画を記憶するのに充分な記憶領域を有し得る。異なる機械は、ネットワーク化し、データベースにアクセスするクライアントに対して、“仮想の”単一のデータベースとして動作し得る。同様に、処理サーバもまた、異なる区画された処理サーバに区画し得るが、この場合、各区画された処理サーバは、元の処理サーバの処理機能の一部分を提供し、異なる区画された処理サーバは、ほとんど異なる処理機能を区画するように構成される。
【００２３】
複製は、分散化設計のためのもう１つの手法であり、区画とは異なる。複製では、そのようなシステム、例えば、データベースサーバ又は処理サーバ内における個々の項目は、コンピュータ等の１つ又は複数のレプリカ機械上に複製又は模造される。各レプリカは、機能及び他の態様が、複製される項目と実質的に同じであってよい。複製は、複製される項目の機能の利用可能性又は容量を高めるために、複製される項目の機能にアクセスする際の待ち時間又は遅延を低減するために、また、項目の機能の冗長性を提供するために用い得る。通常、単一の項目は、容量が限定されていることから、複製により、複製される項目の機能が、クライアントからの多数の要求に対して、例えば、そのような要求が同時になされた場合や異なる要求の処理及びサービス提供が時間的に重複する場合に、利用可能になる。複製の冗長性を備えたシステムでは、複製された項目用の１つの機械が故障した場合、その項目用の１つ又は複数の他の複製された機械が、故障した機械の置き換えに利用可能になり、従って、機械故障に起因するシステムへの影響が減少する。特に、複製のスケール及び他の特徴は、特定の自動処理システムにおける要件及び制約に応じて変わる。例えば、使用頻度の高いデータベースは、異なるデータベースサーバ上に複製し得る。他の例として、処理サーバは、互いに並列に動作し得る１つ又は複数のレプリカ処理サーバに複製し得る。区画と同様に、複製は、同じ処理サーバを複製する異なる機械をネットワーク化して、データベースにアクセスするクライアントに対して“仮想の”単一の処理サーバとして動作させ得ることから、システムにアクセスするクライアントに対して不可視であるように実現し得る。
【００２４】
複製設計は、実施時、負荷分散メカニズムを組み込み、複製用の異なる機械の作業負荷を監視したり、作業負荷に基づき、入ってくる作業負荷を管理したり、異なる機械に分散したりできる。この負荷分散メカニズムは、特定の自動処理システムの要件及び制約条件に応じて、異なる負荷分散方式で実現し得る。一例として、負荷分散メカニズムは、軽負荷で動作している複製された機械に新しい要求を送ることによって、システムの複製された部分の特定の機能又は情報の一部にアクセスする際の遅延を低減するように実現し得る。
【００２５】
負荷分散メカニズムは、上述したような互いに厳密にレプリカではない異なる機械の動作の管理に拡張し得る。例えば、異なる言語モデルを記憶するサーバも、負荷分散メカニズムによって管理し得る。他の例の場合、機械翻訳サーバ等の幾つかの処理サーバは、同じ機械翻訳方式を用いて、異なる言語翻訳資源に基づき動作することがあり、例えば、全てが、統計的機械翻訳（ＳＭＴ）サーバである。或るＳＭＴサーバは、低速で高品質翻訳を生成し得るが、他のものは、低品質の翻訳を高速で生成し得る。負荷分散メカニズムは、品質及びタイミング要件及び制約条件等の１つ又は複数の事項に基づき、クライアント文書の異なるセグメント又は異なるクライアント文書の翻訳作業を制御するために実現し得る。本例において、負荷分散メカニズムは、その名前は、依然として何らかの“負荷”分散動作を示唆するが、必ずしも異なる機械の作業負荷とは限らない何らかのもののバランスをとる。従って、本明細書に用いる用語「負荷分散」は、負荷を分散することに限定されない。むしろ、用語「負荷分散メカニズム」、「負荷分散装置」、「負荷分散モジュール」、及び「負荷分散サーバ」は、機械の動作及び条件、要求又は作業の性質、及びシステムの他の部分の動作及び条件に関連する或る事項を分散しつつ、一般的に、通信トラフィック、要求又は異なる機械における作業を管理し分散する分散メカニズムを示すために用いる。
【００２６】
幾つかの実施例において、負荷分散メカニズムは、負荷分散メカニズムとは異なる機能のために本来構成された機械に取り付けられた又はそれと通信状態にある構成要素として、又は、分散メカニズムが、幾つかの機械への高トラフィックを取り扱う可能性がある状況において個々の機械として、実現される。更に、本明細書の分散型機械処理用の区画及び複製は、必要に応じて、異なる機械による負荷分散メカニズムに適用でき、これにより、負荷分散メカニズムが、異なる機械に区画される又はそれらにおいて複製される。
【００２７】
区画、複製及び負荷分散は、特定のシステムの特定の要件及び制約条件又はそのシステムの動作もしくは条件に応じて、個別に又は組合せて、適応可能に、動的に、効率的に、故障に耐えられるように、また、スケーラブルなように、分散型機械処理を構築し、動作させ、また、管理するために用い得る。一例として、区画、複製、負荷分散メカニズム及び他のメカニズムに基づく分散型機械処理は、困難な、変化しやすい、及び動的なコンピュータネットワーク環境における自動処理の様々な問題に対処するように構成し実現し得る。更に、具体的には、本明細書における自動機械処理手法及びシステムは、機械翻訳、音声認識、スパム検出、光学文字認識、スペル訂正等の様々なオンラインの機械処理に用い得る。
【００２８】
分散型機械処理の以下の特定の実施例は、分散型機械処理における様々な手法、装置、設計、及び制御を示す自動機械処理の例として、機械翻訳を用いる。
【００２９】
幾つかの実施例において、分散型機械処理に基づく機械翻訳システムには、機械翻訳資源サーバ及び少なくとも１つの翻訳サーバが含まれる。各機械翻訳資源サーバは、起点自然言語から対象自然言語への翻訳用の機械翻訳資源データの集合体の区画を記憶しサービス提供するように動作可能である。それぞれの区画は、機械翻訳資源データの集合体を共に構成し、また、各それぞれの区画は、機械翻訳資源データの集合体全体より小さい。翻訳サーバは、目標言語に翻訳される起点言語の原文を受信するように動作可能であり、更に、機械翻訳資源サーバから機械翻訳資源データを取得するように動作可能である。そして、翻訳サーバは、取得した機械翻訳資源データを用いて、原文を目標言語に翻訳する。
【００３０】
そのような実施例の例として、図１は、分散型機械翻訳（ＤＭＴ）システム１００を示す。多数の翻訳フロントエンド１１０は、コンピュータサーバであってよいが、互いに論理的に並列に構成され、また、クライアント文書１０２を翻訳するためのクライアント要求を受信し、翻訳済み文書１０３をクライアント１０１に配信するために用いられる。クライアント１０１は、インターネット等のコンピュータネットワークを介してＤＭＴシステム１００に接続し得る。ＤＭＴシステム１００には、翻訳資源サーバ１４０から翻訳資源データを取り込み、そして、取り込まれたデータを用いて、翻訳作業を実施するセグメント翻訳サーバ１３０が含まれる。負荷分散装置サーバ１２０は、セグメント翻訳サーバ１３０と翻訳フロントエンド１１０との間に接続され、翻訳フロントエンド１１０とセグメント翻訳サーバ１３０との間の交信及びトラフィックと、翻訳フロントエンド１１０及びセグメント翻訳サーバ１３０の動作と、を監視し、管理し、制御する。負荷分散装置サーバ１２０は、１つ又は複数のレプリカ負荷分散装置サーバ上に複製し得る。サーバ１３０、１２０及び１１０は、一括して、翻訳資源サーバ１４０及びそれらのレプリカ１４１上の翻訳資源データを用いることによって、クライアント文書１０２の翻訳を実施する翻訳サーバを形成する。
【００３１】
翻訳フロントエンド１１０は、互いのレプリカであり、互いに並列に動作する。セグメント翻訳サーバ１３０も、互いのレプリカであり、互いに並列に動作する。資源サーバ１４０は、翻訳作業を実施するための全翻訳資源データ及び他の資源の区画並びにセグメント翻訳サーバ１３０の情報を記憶する区画サーバである。図示した各資源サーバ１４０は、１つ又は複数のレプリカ資源サーバ１４１を有する。資源サーバ１４０における翻訳資源データ及び他の資源並びに情報には、１つ又は複数の異なる対象自然言語用の１つ又は複数の言語モデルと、１つ又は複数の異なる起点自然言語と１つ又は複数の異なる対象自然言語との間の翻訳用の１つ又は複数の翻訳モデルと、１つ又は複数の起点自然言語と１つ又は複数の対象自然言語との間の１つ又は複数の翻字辞書と、他の辞書と、を含み得る。セグメント翻訳サーバ１３０は、規則ベースＭＴ及び統計的ＭＴデコーダ等の同じ又は異なる機械翻訳復号方式を実行し得る。
【００３２】
動作中、各翻訳フロントエンド１１０は、システム１００によって翻訳されるクライアント文書１０２を受信し、そして、システム１００のバックエンドから翻訳済みクライアント文書１０３を受信した後、翻訳済みクライアント文書１０３をクライアント１０１に送る。クライアント文書１０２を受信すると、受信用翻訳フロントエンド１１０は、クライアント文書１０２を多数の小さいセグメントに分割するが、この場合、各セグメントには、１つ又は複数の生起例が含まれる。セグメントの１つの例は、パラグラフ内における文である。セグメントのコンテンツは、異なる実施例で変わり、数語から多数の文に及ぶことがある。翻訳フロントエンド１１０は、全てのセグメントを負荷分散装置１２０に送り、セグメント翻訳サーバ１３０に分散することができ、セグメント翻訳サーバ１３０は、割り当てられたセグメントを処理し、そして、１つ又は複数の資源サーバ１４０からの所望の翻訳資源データを用いることによって、その割り当てられたセグメントを翻訳する。そして、各翻訳済みセグメントは、負荷分散装置１２０を介して、元の要求側翻訳フロントエンド１１０に送り返される。全ての翻訳済みセグメントを受信した後、元の要求側翻訳フロントエンド１１０は、翻訳済みセグメントを翻訳済みクライアント文書１０３に組み立て、翻訳済みクライアント文書１０３をクライアント１０１に送る。幾つかの実施例では、翻訳フロントエンド１１０は、まず、システム１００において、セグメントの適切な翻訳が入手可能かどうか判断し、また、そのセグメントを負荷分散装置１２０に送ることなく、その翻訳を翻訳済みセグメントとして検索し得る。この選択肢は、翻訳キャッシュを用いることによって実現可能であり、本明細書の後の章で詳細に述べる。
【００３３】
ＤＭＴシステム１００は、各区画資源サーバ１４０用のレプリカサーバ１４１を有する。従って、負荷分散装置１２０と異なる追加の負荷分散メカニズムは、資源サーバ１４０及び１４１とセグメント翻訳サーバ１３０との間にバックエンド負荷分散メカニズムとして実装してよい。このバックエンド負荷分散メカニズムの幾つかの実施例において、各セグメント翻訳サーバ１３０には、そのセグメント翻訳サーバ１３０から資源サーバ１４０及び１４１への要求を制御し、管理し、分散するサーバの一部として、セグメント負荷分散装置を含み得る。全セグメント負荷分散装置が、バックエンド負荷分散メカニズムを共に構成する。各セグメント負荷分散装置は、幾つかの実施例において別個の機械であってよく、また、必要に応じて、複製又は区画し得る。
【００３４】
各負荷分散メカニズム、例えば、フロントエンド負荷分散装置１２０及びバックエンド負荷分散メカニズムには、その負荷分散メカニズムの動作に伴う様々な機械のアクティビティ、条件及び動作を監視するための監視メカニズムを含み得る。このことは、様々なやり方で実現し得る。例えば、通信プロトコルは、負荷分散メカニズムと監視下にある各機械との間において監視通信を提供するために用い得る。
【００３５】
図２は、図１の分散型機械翻訳システム１００の一実施例２００を示す。このシステム２００は、統計的機械翻訳（ＳＭＴ）手法を用いて、起点ー目標翻訳モデル及び目標言語モデルに基づき、起点自然言語から対象自然言語への翻訳を実施する。起点言語及び目標言語は、多くの翻訳アプリケーションにおける中国語及び英語等の２つの異なる自然言語であってよい。幾つかのアプリケーションにおいて、起点言語及び目標言語は、簡略中国語及び伝統的中国語等の、同じ自然言語の２つの異なる文書形式又は表現であってよい。コンピュータサーバ２１０は、目標言語モデルを記憶するために用いられ、コンピュータサーバ２２０は、起点ー目標翻訳モデルを記憶するために用いられる。幾つかの実施例では、単一の翻訳モデルサーバ２１０が、翻訳モデル全体を記憶しサービス提供するのに充分である。システム２００におけるサーバ２１０及び２２０は、図１のシステム１００における資源サーバ１４０及び１４１の例であり、翻訳及び言語モデルは、図１のシステム１００における機械翻訳資源データの例である。ＳＭＴデコーダは、少なくとも幾つかのセグメント翻訳サーバ１３０に実現され、サーバ２１０及び２２０の翻訳及び言語モデルを用いて、各セグメントの翻訳を実施し得る。
【００３６】
このシステム２００では、翻訳モデルには、起点言語と目標言語との間のマッピング情報と、各マッピングに関連する評点情報と、が含まれる。マッピング情報には、（１）起点言語の１つ又は複数の生起例と（２）目標言語の１つ又は複数の生起例との間の関係を含み得る。一実施例において、例えば、起点言語と目標言語との間のマッピング情報は、対象言語と起点言語間の全ての可能な対の言語文字列である。評点情報には、対象言語と起点言語間の言語文字列対の確率等、起点言語と目標言語との間の各マッピング用の統計データを含み得る。他の統計データは、評点情報の一部としても用い得る。言語モデルには、目標言語の可能な言語文字列の集合体と、各文字列用の対応する言語モデル評点情報と、が含まれる。文字列には、１つ又は複数の言語生起例が含まれる。生起例は、システムによって取り扱われる最小言語単位である。各文字列は、ｎグラムであり、これは、目標言語の一連のｎ生起例であるが、ここで、ｎは、正の整数である。様々な生起例化手法は、一言語の発音区別符号及び句読点、字（ｌｅｔｔｅｒ）、並びに文字を含む１つ又は複数の記号及び符号から生起例を構築するために用い得る。言語モデル評点情報には、言語モデルにおける各文字列又はｎグラム用の統計データを含み得る。統計データには、目標言語文章のコーパスにおけるそれぞれの各ｎグラムのそれぞれの発生頻度に関する確率、平滑化確率、又は平滑化係数等の、目標言語文章のコーパスにおけるそれぞれの各ｎグラムのそれぞれの発生頻度に関連した情報を含み得る。言語モデル評点情報には、更に、統計データ以外の情報を含み得る。
【００３７】
動作中、セグメント翻訳サーバ１３０におけるＳＭＴデコーダは、復号するセグメントを受信した後、最初に、サーバ２２０の翻訳モデルから必要な情報を検索し、そして、翻訳モデルからの情報に基づき、必要なデータを言語モデル２１０から要求する。ＳＭＴデコーダは、様々な構成の目標言語の生起例から全ての可能な翻訳に関する統計値を演算し、最良の翻訳を検索する。それぞれのセグメント翻訳サーバ１３０は、負荷分散装置１２０を介して、ＳＭＴデコーダから発信側翻訳フロントエンドサーバ１１０に翻訳出力を送る。
【００３８】
統計的機械翻訳（ＳＭＴ）システムの翻訳品質は、一般的に、システムの翻訳モデル（ＴＭ）及び言語モデル（ＬＭ）のいずれか又は双方のサイズを大きくすることによって、改善し得る。従って、システム２００は、部分的には、単一の機械における限定された記憶容量のために、実用的な実施例では、区画を必要とする大きな翻訳及び言語モデルを有し得る。一例として、英語用の大規模言語モデルは、約２千億語乃至８兆語から導出することができ、また、サイズが、約１テラバイト乃至４テラバイトである。大きなＴＭは、２億語以上の大きさのオーダであってよい。より多くの文書がオンラインで利用可能になるにつれて、ＬＭは、サイズが、更に増大し得る。従って、区画は、分散型機械処理を用いて、高品質ＭＴシステムへの効果的な手法を提供する。複製及び負荷分散は、大きな言語及び翻訳モデルに基づき、そのようなＤＭＴシステム及び他のＭＴシステムにも用い得る。
【００３９】
言語モデルサーバ２１０には、言語モデルの異なる区画を記憶しサービス提供する多数の区画サーバが含まれる。（Ｐ＋１）区画の例を図２に示すが、ここで、Ｐは、整数である。各区画サーバは、目標言語用の言語モデルの区画を記憶しサービス提供するように動作可能であり、また、これらの区画サーバ上のそれぞれの区画は、言語モデル全体を共に構成する。それぞれの各区画サーバには、区画基準を満足する言語モデルにおける全てのｎグラムを含み得る。例えば、それぞれの各区画サーバは、所定の位置に共通の生起例を有する言語モデルにおける全てのｎグラムが含まれる区画を記憶しサービス提供し得る。他の例の場合、各それぞれの区画サーバは、共通の生起例を有する言語モデルにおける全てのｎグラムを記憶しサービス提供し得るが、共通の生起例は、各ｎグラムにおける所定の位置にあったり、又は、一連のｎ生起例における最後の２つの生起例であったりしてよい。ｎグラムにおける生起例は、目標言語の文字語又は目標言語の記号のいずれであってもよい。更に、各言語モデル区画は、図２に示すように、１つ又は複数の他のレプリカサーバ上に複製し得る。
【００４０】
同様に、翻訳モデルサーバ２２０には、翻訳モデルの異なる区画を記憶しサービス提供する多数の区画サーバが含まれる。（Ｋ＋１）区画の例を図２に示すが、ここで、Ｋは、整数である。それぞれの区画サーバは、翻訳モデル全体を共に構成し、各それぞれの区画は、翻訳モデル全体より小さい。更に、各翻訳モデル区画は、図２に示すように、１つ又は複数の他のレプリカサーバ上に複製し得る。
【００４１】
図２は、更に、ＬＭ及びＴＭサーバ２１０及び２２０に加えて、他の翻訳資源及びデータ用の１つ又は複数のサーバ２３０を示す。この特徴は、システム２００の様々な特性を更に改善するためのオプションの特徴であってよい。例えば、セグメント翻訳サーバ１３０の内の１つは、言語及び翻訳モデルに基づくＳＭＴ処理によるか否かに係らず、セグメントを翻訳するためのサーバ２３０における他の翻訳資源及びデータを用いるように構成し得る。図１１Ａ及び１１Ｂに示した実施例は、１つのそのような例であり、この場合、他の資源及びデータを用いる翻訳は、言語及び翻訳モデルによるＳＭＴ処理での翻訳と組み合わせられる。他の翻訳資源及びデータ用の１つ又は複数のサーバ２３０の例としては、対象言語と起点言語間の翻字辞書サーバ、規則ベースの機械翻訳サーバ、規則ベースのアルゴリズムを実行して翻字データ及び起点言語から目標言語への翻訳を支援する他の資源を生成する翻字処理サーバが挙げられる。
【００４２】
システム２００は、言語及び翻訳モデルを用いるＭＴシステムの一例である。このタイプのシステムには、言語モデルサーバ、翻訳モデルにサービス提供する少なくとも１つの翻訳モデルサーバ、及び目標言語に翻訳される起点言語の原文を受信するように動作可能な翻訳サーバを含み得る。各言語モデルサーバは、対象自然言語用の言語モデルの区画を記憶しサービス提供するように動作可能であり、また、それぞれの区画は、言語モデル全体を共に構成する。翻訳サーバは、機械翻訳を実施するように動作可能であり、翻訳モデルサーバから翻訳モデルデータを取得し、言語モデルサーバから言語モデルデータを取得する。
【００４３】
図２に示すこのタイプのシステムの具体的な例として、言語及び翻訳モデルを用いるＭＴシステムには、特定の目標言語用の言語モデルの異なる区画をそれぞれ記憶しサービス提供するように動作可能な言語モデルサーバ２１０を含み得る。それぞれの区画は、言語モデル全体を共に構成し、各それぞれの区画は、言語モデルの全体より小さい。１つ又は複数のレプリカ言語モデルサーバは、各言語モデルサーバ２１０用に含み得る。本システムには、更に、目標言語と起点言語との間の翻訳用の翻訳モデルの異なる区画をそれぞれ記憶しサービス提供するように動作可能な翻訳モデルサーバ２２０を含み得る。それぞれの区画は、翻訳モデル全体を共に構成し、各それぞれの区画は、翻訳モデルの全体より小さい。１つ又は複数のレプリカ翻訳モデルサーバは、各翻訳モデルサーバ２２０用に含み得る。翻訳フロントエンド１１０は、システム２００に設けて、クライアントとインターフェイス接続が可能であり、各翻訳フロントエンド１１０は、原文をセグメントに分割するように動作可能である。本システムには、機械翻訳を実施し、翻訳モデルサーバ２２０及びレプリカ翻訳モデルサーバから翻訳モデルデータを取得し、言語モデルサーバ２１０及びレプリカ言語モデルサーバから言語モデルデータを取得するように各々動作可能なセグメント翻訳サーバ１３０を含み得る。更に、負荷分散モジュール１２０を含むことが可能であり、これは、セグメント翻訳サーバ１３０における翻訳負荷に基づき、翻訳用のセグメント翻訳サーバ１３０の１つ又は複数にセグメントを選択的に割り当てるように動作可能である。
【００４４】
図２のシステム２００には、更に、目標言語と第２起点言語との間の自動翻訳を提供するための資源を含み得る。目標言語と第２起点言語との間の翻訳用の第２翻訳モデルのための１つ又は複数の翻訳モデルサーバをシステム２００に含み得る。従って、多数の第２翻訳フロントエンドが含まれ、各々第２原文を第２起点言語のセグメントに分割するように動作可能であり、また多数の第２セグメント翻訳サーバが設けられ、各々第２起点言語の割り当てられたセグメントの機械翻訳を実施する。更に、第２負荷分散モジュールが含まれ、第２セグメント翻訳サーバにおける翻訳負荷に基づき、第２セグメント翻訳サーバの１つ又は複数にセグメントを翻訳のために割り当てる。目標言語モデルを記憶しサービス提供するための言語モデルサーバ２１０は、起点言語を翻訳するためのセグメント翻訳サーバ１３０及び第２起点言語を翻訳するための第２セグメント翻訳サーバによって共有し得る。
【００４５】
図１及び２の上記システムにおいて、翻訳される各セグメントは、セグメント翻訳サーバ１３０によってシステムのフロントエンド（翻訳フロントエンドサーバ１１０）からバックエンドに翻訳のために送られ、そして、バックエンドによって、フロントエンドに送り返される。このプロセスは、負荷分散装置１２０による処理と、セグメント翻訳サーバ１３０によるサーバ２１０及び２２０へのアクセスと、セグメント翻訳サーバ１３０による翻訳の実施と、フロントエンドサーバ１１０への翻訳済みセグメントの返送と、を伴う。このプロセスには、時間がかかり、システムの資源を用いる。頻繁に翻訳されるセグメントの場合、それぞれの翻訳は、そのようなセグメントをシステムのバックエンドにおいて翻訳するためのルーチンプロセスを回避できるように、翻訳フロントエンド１１０によってアクセス可能な翻訳キャッシュ等のメモリユニットに記憶し得る。動作中、クライアント文書１０２が、翻訳フロントエンド１１０においてセグメント化された後、翻訳フロントエンド１１０は、まず、翻訳キャッシュに記憶された翻訳を調べて、翻訳キャッシュに翻訳がないセグメントだけを翻訳のためにバックエンドに送る。翻訳キャッシュをこのように用いると、システム資源が空けられ、ＭＴシステムのフロントエンドとバックエンドとの間のトラフィックが減少し、人気があるウェッブサイト用のＭＴシステム等、大量の翻訳要求に対処するＭＴシステムにとって有益であり得る。
【００４６】
図３Ａ、３Ｂ及び３Ｃは、翻訳キャッシュの実施例の特徴を示す。翻訳キャッシュ３１０は、選択されたセグメントの翻訳を記憶し、更に、生起例、及びセグメントより小さく、生起例より大きい句等の生起例の文字列の翻訳を記憶し得る。図３Ａは、図１又は２のシステムの翻訳フロントエンド１１０に接続され、またそれによって共有される翻訳キャッシュ３１０を示す。翻訳キャッシュ３１０における翻訳は、セグメント翻訳サーバにおけるルーチンの機械翻訳プロセスや負荷分散プロセスを経ることなく、セグメントに翻訳を提供するために用い得る。従って、翻訳キャッシュ３１０は、翻訳待ち時間を低減し、翻訳資源を解放し、翻訳プロセスを迅速化するように実現し得る。翻訳キャッシュ３１０は、言語モデル及び翻訳モデルサーバ等の資源と同様に、区画又は複製し得る。翻訳キャッシュ３１０は、人間の翻訳及び機械翻訳等の異なる範疇の翻訳を記憶し得る。
【００４７】
図３Ｂは、翻訳キャッシュ３１０において用い得るデータ構造を示す。１つ又は複数の起点言語ビン３２０が、起点言語のセグメント（Ｓ０、Ｓ１、Ｓ２等）を記憶し、また、１つ又は複数の目標言語ビン３３０が、目標言語の翻訳済みセグメント（Ｔ０、Ｔ１、Ｔ２等）を記憶する。起点言語のセグメント及び対応する目標言語の翻訳済みセグメントは、照合及びアクセスのためにリンクされる。翻訳キャッシュ３１０には、更に、記憶された翻訳の品質、翻訳のタイムスタンプ、翻訳が用いられた回数の計数値、翻訳が最後に用いられた時間などに関する情報等、キャッシュメモリーに入った各翻訳に関連する他の情報を含み得る。そのような情報は、特定の翻訳が、セグメントの翻訳に用いるのに適切な翻訳であるかどうか判断するために用い得る。翻訳キャッシュにおける品質情報は、例えば、所望の品質レベルを備えた適切な翻訳を選択するために用い得る。低品質であるが容易に利用可能な翻訳済みセグメントは、幾つかの用途において、後で高品質の翻訳で更新される第一次の翻訳を提供するために用い得る。翻訳キャッシュ３１０には、更に、文書において翻訳が出現する文脈に関する情報を含み得る。例えば、翻訳済みセグメントの文脈情報には、翻訳対象セグメントの両側に生起例、句、又はセグメントを含み得る。そのような文脈情報は、文脈内における翻訳のもっともらしい意味に基づき、特定の翻訳が適切な翻訳であるかどうかのシステムの判断を支援し得る。文脈情報には、更に、起点言語のセグメント用の文脈を含み得る。
【００４８】
図３Ｃは、翻訳キャッシュ３１０を動作させるための方法例を示す。この例は、動作を示す選択パラメータとして品質情報を用いる。１つ又は複数の他のパラメータ、例えば、文脈情報も、セグメント用の適切な翻訳を選択するために用い得る。翻訳フロントエンド１１０は、起点言語から目標言語に翻訳されるクライアント文書１０２を受信し、文書１０２の原文をセグメントに分割する（ステップ３４１）。次に、翻訳フロントエンド１１０は、翻訳キャッシュにある分割された各セグメントを調べて、翻訳が存在するかどうか判断する（ステップ３４２及び３４３）。翻訳キャッシュ３１０は、選択された生起例及びセグメントの起点言語から目標言語への翻訳を記憶する。翻訳キャッシュ３１０にある既存の翻訳の場合、翻訳フロントエンド１１０は、更に、翻訳の品質が充分であるかどうか判断する（ステップ３４４）。このことは、例えば、翻訳キャッシュ３１０に記憶された品質情報を用いることによって行い得る。翻訳されるセグメント用の適切な翻訳が、翻訳キャッシュ３１０にある場合、翻訳フロントエンド１１０は、そのセグメントを更に処理することなく、セグメント用の適切な翻訳を用いる（ステップ３４６）。翻訳されるセグメント用の適切な翻訳が翻訳キャッシュ３１０にない場合、そのセグメントは、更に処理され翻訳される（ステップ３４５）。この追加の処理は、例えば、セグメント翻訳サーバ１３０を用いて、起点言語と目標言語との間の翻訳用の翻訳モデルと、目標言語用の言語モデルとにアクセスし、セグメントを翻訳するための所望の翻訳モデルデータ及び言語モデルデータを取得し、所望の翻訳モデルデータ及び言語モデルデータを用いて、セグメントを翻訳することによって達成し得る。１つのセグメントを完了した後、翻訳フロントエンド１１０は、全ての分割されたセグメントが処理されるまで、次の処理されるセグメントに進む（ステップ３４７及び３４８）。
【００４９】
図４は、翻訳キャッシュ３１０の異なる実施例を示す。図３Ａの設計とは異なり、図４の設計では、翻訳キャッシュ３１０は、負荷分散装置１２０と対話を行う。動作中、負荷分散装置１２０が、翻訳フロントエンド１１０からセグメントを翻訳のために受信した後、負荷分散装置１２０は、まず、翻訳キャッシュ３１０を照合して、各受信されたセグメント用の適切な既存の翻訳がないか調べ、その後、あらゆる受信されたセグメントをセグメント翻訳サーバ１３０に分散する。特定のセグメントに対して、適切な既存の翻訳が翻訳キャッシュ３１０にある場合、負荷分散装置１２０は、翻訳キャッシュ３１０からその既存の翻訳を取り込み、そのセグメントをセグメント翻訳サーバ１３０に翻訳のために送ることなく、それをそれぞれの発信元の翻訳フロントエンド１１０に送る。セグメント用の対応する翻訳が、翻訳キャッシュ３１０にない場合、負荷分散装置１２０は、セグメントを選択された翻訳サーバ１３０に翻訳のために送る。この負荷分散装置１２０の動作の態様は、各翻訳フロントエンド１１０の図３の動作と同様である。
【００５０】
キャッシュに記憶された翻訳済みセグメントを用いて、ＭＴシステムにおける処理及び通信トラフィックを低減する概念は、セグメント翻訳サーバ１３０によるアクセスのために、ＭＴシステムのバックエンドに拡張し得る。図５は、図１又は２のセグメント翻訳サーバ１３０によって共有されるセグメント翻訳サーバキャッシュ５１０の実施例を示す。翻訳されるセグメントを負荷分散装置１２０から受信すると、セグメント翻訳サーバ１３０は、まず、セグメント翻訳サーバキャッシュ５１０を照合して、セグメント用の既存の翻訳がないか調べる。適切な翻訳がセグメント翻訳サーバキャッシュ５１０に存在する場合、セグメント翻訳サーバ１３０は、セグメント翻訳サーバキャッシュ３１０からその翻訳を取り込み、それを負荷分散装置１２０に送り、負荷分散装置１２０は、それをそれぞれの発信元の翻訳フロントエンド１１０に送り、そして、先に進んで、次の翻訳されるセグメントを処理する。セグメント用の対応する翻訳が、セグメント翻訳サーバキャッシュ５１０にない場合、セグメント翻訳サーバ１３０は、先に進み、セグメントを翻訳する。
【００５１】
上記ＭＴシステムのセグメント翻訳サーバ１３０には、起点言語と目標言語との間の翻訳用の翻訳モデル及び目標言語用の言語モデルを用いて、セグメントを翻訳するデコーダと、言語モデルから取り込まれたデータを記憶し、また、記憶されたデータをデコーダに供給するように動作可能なローカルキャッシュと、を含み得る。デコーダは、言語モデルサーバ２１０と通信を行い、セグメントの可能な翻訳用の各ｎグラムに関する情報と、関連する統計データと、を要求する。
【００５２】
図６は、翻訳デコーダ６１０、ＬＭ照合要求待ち行列６２０、及びローカルキャッシュ６３０を有するセグメント翻訳サーバ１３０の例を示す。本例のローカルキャッシュ６３０には、上位ローカルキャッシュ６３１及びオプションの下位キャッシュ６３２が含まれる。上位キャッシュ６３１及び下位キャッシュ６３２を用いると、ＬＭサーバ２１０にアクセスすることなく、セグメント翻訳サーバ１３０が用いるための選択されたＬＭデータを記憶し得る。上位キャッシュ６３１は、セグメントの翻訳中に取得した選択済みＬＭデータを記憶して、現セグメントに必要な全てのｎグラムが、セグメント翻訳サーバ１３０内において利用可能であるように構成し得る。
【００５３】
動作中、上位キャッシュ６３１は、記憶されたＬＭデータが、或る限界を越えて蓄積されないように、何らかの方法で空にしてよい。幾つかの実施例において、セグメント翻訳サーバ１３０は、上位キャッシュ６３１のコンテンツを定期的に削除する。この定期的な削除の具体的な例として、上位キャッシュ６３１は、セグメントが翻訳された後、削除し得る。他の実施例において、上位キャッシュ６３１に記憶されたＬＭデータは、“古い”と印を付けて、上位キャッシュ６３１が、言語モデルから取得された新しいＬＭデータを記憶するスペースが無くなりつつある場合、新しいセグメントを翻訳する際、そのような“古い”データが更に再使用されなければ、削除し得る。
【００５４】
下位キャッシュ６３２は、セグメント翻訳サーバ１３０におけるオプションの特徴として実現して、頻繁に用いられるＬＭデータを記憶し得る。一般的に、下位キャッシュ６３２のデータは、各セグメントの翻訳後、空にされず、上位キャッシュ６３１のデータより長い期間、保持される。従って、下位キャッシュ６３２のＬＭデータは、比較的に恒久的であり、上位キャッシュ６３１のＬＭデータは、比較的に暫定的である。
【００５５】
他の実施例では、単一のローカルキャッシュが用いられ、それぞれ、別個の上位キャッシュ及び下位キャッシュに対応する上位キャッシュ部及び下位キャッシュ部を有し得る。
【００５６】
ＬＭ照合要求待ち行列６２０は、セグメント処理中、言語モデルから選択されるＬＭデータに対するデコーダ６１０により生成される要求を一時的に記憶するために用い得る。そして、待ち行列に入った要求は、１つ又は複数のＬＭサーバ２１０に、例えば、先入れ先出し法で順次送出される。ＬＭ照合待ち行列６２０により、要求が、行われ、そして、異なる時間にＬＭサーバ２１０によってサービスが提供され、デコーダ６１０による待ち時間を低減し得る。また、要求を待ち行列に入れ、待ち行列に入れられた要求を一緒に送ると、ＬＭサーバ２１０との交信に関係するオーバーヘッドを大幅に低減し得る。ローカルキャッシュ６３０及びＬＭ照合要求待ち行列６２０は、連係して動作し、各セグメントを効率的に処理し得る。異なる手法を用いて、デコーダ６１０及び待ち行列６２０を動作することができる。２つの例について、以下に述べる。
【００５７】
一例において、デコーダ６１０は、ツーパス処理方式で動作する。まず、デコーダ６１０は、要求されたＬＭデータが受信される前に、言語モデルからの全てのＬＭデータを必要とすることなく、セグメントを処理する。ダミー照合モデルを用いると、要求されたＬＭデータを待つ間、デコーダ６１０は、セグメントを処理し得る。これが、処理の第１パスである。全ての要求されたＬＭデータが受信された後、デコーダ６１０は、受信されたＬＭデータを用いて、処理を終了させる。
【００５８】
他の例において、ＬＭサーバ２１０への要求が対処される間、ＬＭサーバ２１０の大規模言語モデルとは異なり粗く小規模の言語モデル又は他の翻訳資源、例えば、図２の資源サーバ２３０をデコーダ６１０によって用い得る。デコーダ６１０による処理は、粗いＬＭを用いて、第一次の翻訳結果を生成する。要求されたＬＭデータが、ＬＭサーバ２１０から受信された後、デコーダ６１０は、先に進み、受信されたＬＭデータを用いることによって、第一次の翻訳結果を更新する。
【００５９】
上記２つの例の手法を実現する際、ＬＭサーバ２１０へのデータ要求の送出に先立って、デコーダ６１０は、翻訳されるセグメントを前処理し、セグメント用の可能性の小さい翻訳を取り除いて、ＬＭサーバ２１０に対して行われる要求の数を低減し、また、要求されたＬＭデータでの処理の量を低減する。前処理において、デコーダ６１０は、ＬＭサーバ２１０における大規模言語モデルと異なる、又は、ＬＭサーバ２１０より容易に利用可能である翻訳資源、例えば、粗く小規模の言語モデルを用いて、セグメントを処理し、第一次の結果、例えば、セグメント用の可能な限り最良の翻訳経路上において上限を生成する。次に、デコーダ６１０は、第一次の結果を用いて、上記２つの処理手法の内のいずれか１つを用いることによって、必要なＬＭデータに対する要求を生成し、全ての要求に対する応答が受信された後、セグメントの翻訳を完了する。
【００６０】
図７は、セグメント７０１の翻訳における図６のセグメント翻訳サーバ１３０の翻訳デコーダ６１０の１つの代表的な動作を示す。最初に、デコーダは、翻訳されるセグメントの翻訳に関連するＴＭデータ、例えば、目標言語の句又は敷衍語句の全ての可能な翻訳を要求し、ＴＭサーバから取り込む（ステップ７１０）。敷衍語句は、前に用いられた句が与えられると可能な句の内の１つによって、候補翻訳を拡張する。要求されたＴＭデータが、検索されつつある間、デコーダは、何らかの初期値でＬＭモデルから各ｎグラムを調べるための値、例えば、ランダムな値又は一定の値を設定する。一例として、候補翻訳は、ゼロに設定し得る（ステップ７２０）。デコーダは、セグメントの一端から他端まで句反復を行って、最良の句を検索するが、この間、各セグメントにおける異なる可能な句を処理している時、ＬＭが、多数回アクセスされる。各反復において、デコーダは、次のように、ツーパス処理を実施する。まず、現組の候補翻訳の全ての可能な敷衍語句が、演算され、また、可能な敷衍語句翻訳モデル評点が、それらの可能な敷衍語句に対して演算される（ステップ７３０）。可能な敷衍語句用の言語モデル評点は、まず、要求されたＬＭデータをＬＭサーバ２１０から受信する前に、利用可能な情報を用いて取得される（ステップ７４０）。例えば、ダミールックアップ表のｎグラムに割り当てられた所定の値及び上位キャッシュ及び下位キャッシュを含むローカルキャッシュに記憶された言語モデル評点を用い得る（ステップ７４０）。これは、セグメント内における各句を処理する際の第１のパスである。次に、可能な句の取得言語評点が、ＬＭサーバからの受信言語モデルデータを用いることによって更新される（ステップ７５０）。これは、各句を処理する際の第２のパスである。更新された評点に基づき、デコーダは、悪い評点の翻訳を除去し（ステップ７６０）、そして、更に、現セグメントの端に達したかかどうか判断する（ステップ７７０）。現セグメントが、処理対象の１つ又は複数の敷衍語句をまだ有する場合、デコーダは、上記プロセスを繰り返す。そうでない場合、デコーダは、セグメント用の最良の翻訳を抽出し、翻訳済みセグメント７０２を負荷分散装置１２０に送る。
【００６１】
図８は、要求されたＬＭデータがデコーダに利用可能になる前の図７における処理ステップ（ステップ７４０）の例を示す。翻訳されるセグメント用の翻訳モデルからの各可能な句又は敷衍語句の場合、まず、デコーダは、各可能な翻訳用の目標言語の何らかの可能なｎグラム及び関連する統計データが上位キャッシュにあるか調べる（ステップ８１０及び８２０）。情報が、上位キャッシュにおいて入手可能である場合、デコーダは、情報を用いて翻訳を完了し、翻訳済みセグメントを生成する（ステップ８３０）。情報が、上位キャッシュにおいて入手可能でない場合、デコーダは、下位キャッシュを調べる（ステップ８４０及び８５０）。情報が下位キャッシュにある場合、デコーダは、この状態に印を付けて（ステップ８６０）、そして、次に進み、上位キャッシュ及び下位キャッシュ双方の情報を用いて、翻訳を完了する（ステップ８３０）。情報が、下位キャッシュにない場合、デコーダは、言語モデルからのデータに対する要求をＬＭ照合要求待ち行列において行う（ステップ８７０）。受信されたＬＭデータは、上位キャッシュ及び下位キャッシュに置かれ（ステップ８８０）、翻訳が完了する（ステップ８３０）。
【００６２】
各セグメント翻訳時の句反復中、ツーパス処理（図７のステップ７３０、７４０及び７５０）は、システムの他の言語モデル資源を用いて、第一次の翻訳を実施し、そして、言語モデルを用いて、翻訳を更新し終了させ得る。そのような言語モデル資源の１つの例は、第２言語モデルであり、これは、例えば、言語モデルサーバ２１０に記憶された小規模の言語モデルである。
【００６３】
セグメント翻訳サーバ１３０（図６）は、他の構成で動作し得る。例えば、図９Ａ及び９Ｂは、図６のシステムの他の動作を示し、この場合、言語モデルは、セグメントを翻訳するプロセスにおいて一度アクセスされ、また、セグメント翻訳サーバ１３０には、ローカルキャッシュ６３０の一部分として、上位キャッシュ６３１及び下位キャッシュ６３２双方が含まれる。
【００６４】
翻訳するセグメントを負荷分散装置１２０から受信した後、セグメント翻訳サーバ１３０は、サーバ２２０に記憶された翻訳モデルからのセグメント用の目標言語の全ての可能な翻訳を要求し取り込む（ステップ９１０）。翻訳モデルからの受信された可能な翻訳に基づき、セグメント翻訳サーバ１３０は、各可能な翻訳用の目標言語の全ての可能なｎグラムと、言語モデルサーバ２１０に記憶された言語モデルからのセグメント用の関連統計データとに対する要求を生成する（ステップ９２０）。要求を言語モデルサーバ２１０に送るのに先立って、セグメント翻訳サーバ１３０は、まず、ローカルキャッシュ６３０を検索して、要求中に何らかの言語モデルデータが存在するかどうか確認し、そして、ローカルキャッシュ６３０が、データを有しない場合、生成された要求を言語モデルサーバ２１０に送る。まず、セグメント翻訳サーバ１３０は、上位キャッシュ６３１を照合して、各可能な翻訳用の目標言語の可能なｎグラム及び関連する統計データがないか調べる（ステップ９３０）。セグメント翻訳サーバ１３０は、上位キャッシュ６３１を調べて、全ての可能なｎグラムが存在するかどうか判断する（ステップ９４０）。そうであれば、セグメント翻訳サーバ１３０は、生成された要求を言語モデルサーバ２１０に送ることなく、セグメント用の翻訳を完了する（ステップ９５０）。
【００６５】
そうでない場合、セグメント翻訳サーバ１３０は、追加の処理を実施する（ステップ９６０Ａ）。下位キャッシュ６３２は、セグメント翻訳サーバ１３０によって、言語モデルを備えた上位キャッシュ６３１に無いいずれかのｎグラム用の言語モデルデータが検索される（ステップ９６１及び９６２）。１つの可能なｎグラム及び統計データに対する要求情報が、下位キャッシュ６３１にある場合、セグメント翻訳サーバ１３０は、その特定のｎグラムに対して、この存在をマークし、これにより、それぞれの生成された要求（ステップ９２０）は、言語モデルサーバ２１０に送出されない（ステップ９６３）。更に、初めに上位キャッシュ６３１にあったｎグラムの場合、特定のｎグラムに対する要求は、言語モデルサーバ２１０にも送出されない。セグメント翻訳サーバ１３０が、いずれかのキャッシュにおいてもｎグラム用の情報を何も見つけられない場合、生成された要求は、ＬＭ照合待ち行列６２０に置かれ、言語モデルサーバ２１０に送出される（ステップ９６４）。言語モデルサーバ２１０から受信された言語モデルデータは、それぞれのｎグラムの性質に依存して、キャッシュの内の１つに記憶される（ステップ９６５）。頻繁に用いられるｎグラムの場合、その言語モデルデータは、下位キャッシュ６３２に保存し得る。現セグメントの翻訳に用いられるが、目標言語に頻繁に用いられそうもないｎグラムの場合、受信されたデータは、上位キャッシュ６３１に記憶し得るが、上位キャッシュ６３１は、頻繁に空にされる。この時、全ての可能なｎグラムに対するセグメント翻訳用の言語モデルデータは、ローカルキャッシュ６３０のどこかにある。従って、セグメント翻訳サーバ１３０は、言語モデルデータに基づき、そのセグメントの翻訳を完了する（ステップ９５０）。
【００６６】
図１０は、上位キャッシュ６３１だけを有し、下位キャッシュ６３２が無いセグメント翻訳サーバ１３０の動作例を示す。初めの処理（ステップ１０１０乃至１０４０）は、たった今述べた初めの処理（ステップ９１０乃至９４０）と同様である。いずれかの可能なｎグラム用の言語モデルデータが、上位キャッシュ６３１にない場合、そのｎグラム用の生成された要求は、ＬＭ照合待ち行列６２０に置かれ、言語モデルサーバ２１０に送出される（ステップ１０６０）。言語モデルサーバ２１０から受信された言語モデルデータは、上位キャッシュ６３１に記憶される（ステップ１０７０）。生成された要求をＬＭ照合要求待ち行列６２０に置き、また、受信された言語モデルデータを上位キャッシュ６３１に記憶する本プロセスは、言語モデル情報を最初に上位キャッシュ６３１に有しない全てのｎグラムに対して実施される。全ての要求された言語モデルデータが受信された後、セグメント翻訳サーバ１３０は、言語モデルデータに基づき、そのセグメントの翻訳を完了する（ステップ１０５０）。
【００６７】
図１１Ａ及び１１Ｂは、図６のシステムにおけるセグメント翻訳サーバの他の処理フロー例を示し、この場合、セグメント翻訳サーバ１３０は、他の利用可能な翻訳資源からの言語データを用いて、セグメントの翻訳を処理する一方で、待ち行列６２０にある待ち行列に入れられた要求が対処される。各セグメントを翻訳するために、セグメント翻訳サーバ１３０は、デコーダ６１０を用いて、ＴＭサーバ２２０から、翻訳されるセグメントの翻訳に関連するＴＭデータ、例えば、目標言語の句又は敷衍語句の全ての可能な翻訳を要求し検索する（ステップ１１１０）。そして、セグメント翻訳サーバ１３０は、言語モデルからの目標言語の全ての可能なｎグラムに対する各可能な翻訳及び関連する統計データの要求を生成する（ステップ１１２０）。セグメント翻訳サーバ１３０は、要求されたＬＭデータが、セグメント翻訳サーバ１３０にあるかどうか判断する（ステップ１１３０）。ある場合、セグメント翻訳サーバ１３０は、利用可能なＬＭデータを用いて翻訳を実施し、翻訳済みセグメントを生成する（ステップ１１４０）。情報がセグメント翻訳サーバ１３０にない場合、セグメント翻訳サーバ１３０は、各欠落しているｎグラム及び統計データに対する要求をＬＭ照合要求待ち行列６２０に置き（ステップ１１５０）、先に進み、翻訳を処理する一方で、要求に対する応答を待つ（ステップ１１６０）。この期間中、セグメント翻訳サーバ１３０は、他の利用可能な翻訳資源（例えば、資源サーバ２３０（図２））からの言語データを用いて、セグメントの翻訳を処理する（ステップ１１６１）。セグメント翻訳サーバ１３０は、全ての要求されたＬＭデータが利用可能になるまで、他の利用可能な翻訳資源からのデータで処理を継続する（ステップ１１６２）。全ての要求されたＬＭデータを受信した後、セグメント翻訳サーバ１３０は、ＬＭサーバ２１０からの新しく利用可能なデータを用いて、他の資源を用いることによって最初に生成された処理結果を更新し、最終の翻訳を生成する（ステップ１１６３）。
【００６８】
自動機械翻訳の上述した様々な特徴の更なる詳細及び他の特徴を以下の章に提供する。
【００６９】
分散型言語モデルの記号化及びアクセス処理
本章では、文章及び文書を中国語等の１つの自然言語から英語等の他の自然言語に翻訳するためのＭＴシステムの態様について述べる。本例は、翻訳プロセス中に用いられる大規模言語モデルを如何に効率的に取り扱って、様々な言語の句の発生頻度に関する統計値を提供するかという問題に対処するために用い得る。翻訳の品質は、一般的に、システムが、ｎが３より大きいｎグラム等の大規模言語モデルを利用することが可能である場合、改善できる。
【００７０】
翻訳プロセスの一部として、統計的翻訳システムは、様々な語、句、又は一続きの語がどの程度頻繁に目標言語において起こるということに関する情報を必要とする。この情報は、更に理解可能な目標言語翻訳を選択するために用いられる。言語モデル情報は、通常、大規模な訓練文書コーパスにおける一続きの語の発生頻度を演算することによって、収集される。一例として、そのようなデータの集合体が、以下の情報を生成し得る
（“ｉｓ”、“ｔｈｅ”、“ｏｎｌｙ”、“ｐｅｒｓｏｎ”）−＞９２３４回の発生
（“ｉｓ”、“ｔｈｅ”、“ｏｎｌｙ”、“ｐｅｒｓｏｎ”、“ｔｈａｔ”）−＞１７３回の発生
（“ｉｓ”、“ｔｈｅ”、“ｐｅｒｓｏｎ”、“ｏｎｌｙ”、“ｔｈａｔ”）−＞１回の発生
ここで、左側の語の文字列は、ある様々な可能な一続きの語を表し、右側の数字は、訓練文書コーパスにおける発生数を表す。言語モデルデータの一般的な形式は、ある値にマッピングされる一連の語であってよく、この値は、いずれか任意のバイトシーケンスであってよく、また、幾つかの通常のＭＴシステムでは、整数又は浮動小数点式の値のいずれかであってよい。言語モデルは、ｎグラム言語モデルを用いることによって、全ての語シーケンスの情報を長さｎまで維持するために用い得る。様々な機械翻訳システムが、それらの言語モデルにおいて、ｎの値が相対的に小さいｎグラム、例えば、２グラム又は３グラム言語モデルを用い、これにより、それら言語モデルは、単一の機械に記憶する程充分に小さくできる。
【００７１】
ここに述べた機械翻訳手法は、機械翻訳システムにおける、及び自動音声認識システム等の大きな言語モデルを利点として用い得る他のシステムにおける極めて大規模な言語モデルに用い得る。１つの手法は、多数の機械にまたがる一組の分散言語モデルサーバ上において言語モデルデータを区画し、可能性として、言語モデル状態の各区画された部分の複製を備えることである。大規模言語モデルは、ｎが３より大きいｎグラム（例えば、ｎ＝４、５、６等）を有し、また、機械翻訳の品質を高めるために用い得る。図１及び２は、そのようなシステムの例を示し、この場合、言語モデルには、ｎが３より大きい大規模ｎグラムを含み得る。動作中、１つ又は複数の翻訳サーバは、文章の特定の断片を起点言語から特定の目標言語に翻訳せよという要求を受信する。往々にして、要求は、単一文の細かさである。翻訳サーバは、言語モデルサーバから言語モデルデータの内の適切なものを検索する。実際の翻訳作業を実施するプロセス（例えば、図２のセグメント翻訳サーバ１３０）から言語モデルプロセス（例えば、図２のＬＭサーバ２１０）へのネットワーク遠隔手順呼（ＲＰＣ）は、ＬＭデータを要求し検索するために用い得る。
【００７２】
オフラインプロセスは、様々な（ｎグラム−＞値）キー／値対をＫ個に分割した言語モデルデータ構造を構築するために用い得る。同じ又は同様な翻訳要求を取り扱う段階の一部として必要とされる可能性がある値を有するｎグラムが、同じ区画に常駐するように、ｎグラムを区画することは、有用なことが多い。これにより、翻訳サーバによりアクセスが必要な独自の区画の数が最小化される傾向がある。このことを達成する１つの方法は、ｎグラムの最初又は最後のＭ語によって区画すること、例えば、ｎグラムの最後の２つの語によって区画することである。
【００７３】
各サーバ内において、区画内におけるｎグラム値の照合は、効率的であるように構成すべきである。これは、翻訳が、各区画を毎秒数十万の照合のために用いる必要があり得るためである。同時に、言語モデルを保持するのに必要なメモリの総量が、低減されるように、言語モデルデータを簡潔に表すことは、有用である。このようにして、区画の数を低減でき、また、言語モデルを供給するのに必要な機械の数も低減できる。
【００７４】
ｎグラムデータを記号化するための１つの手法は、各語に固有の整数ＩＤを割り当てることであり、この場合、使用頻度の高い語に小さい番号を割り当てる。このＩＤ割当ては、言語モデルの構築段階中に行う。以下の文書コーパスから訓練データについて考察する。
（“ｉｓ”、“ｔｈｅ”、“ｏｎｌｙ”、“ｐｅｒｓｏｎ”）−＞９２３４回の発生
（“ｉｓ”、“ｔｈｅ”、“ｏｎｌｙ”、“ｐｅｒｓｏｎ”、“ｔｈａｔ”）−＞１７３回の発生
（“ｉｓ”、“ｔｈｅ”、“ｐｅｒｓｏｎ”、“ｏｎｌｙ”、“ｔｈａｔ”）−＞１回の発生
同じデータは、ＩＤ番号を用いて、以下の簡略化形式で表し得る。
１３＿３＿５３＿１０３７−＞９２３４
１３＿３＿５３＿１０３７＿７３−＞１７３
１３＿３＿１０３７＿５３＿７３−＞１
この場合、“１３”は、語“ｉｓ”のＩＤ番号、“３”は“ｔｈｅ”、“５３”は“ｏｎｌｙ”、“１０３７”は“ｐｅｒｓｏｎ”、及び“７３”は“ｔｈａｔ”である。ＩＤ番号をこのように用いると、言語モデル用のデータのサイズが縮まり、効果は、極めて大きな言語モデルの場合、甚大になり得る。以下は、一連のｎグラム及び順番が並び替えられた関連する値を示す一組のブロックにグループ化された言語モデル用のｎグラムの例である。
１３８８＞６［Ｂｏｂ］
１３８８＿２−＞５［Ｂｏｂ＜／Ｓ＞］
１３８８＿３−＞３［Ｂｏｂ，］
１３８８＿３＿２−＞６［Ｂｏｂ，＜／Ｓ＞］
１３８８＿３＿４−＞２［Ｂｏｂ，ｔｈｅ］
１３８８＿３＿４＿１１−＞３［Ｂｏｂ，ｔｈｅ”］
１３８８３＿４＿１１＿２４５４−＞１［Ｂｏｂ，ｔｈｅ”ｇｒａｎｄ］
１３８８３＿４＿１１＿７３７９−＞１［Ｂｏｂ，ｔｈｅ”Ｆａｔｈｅｒ］
１３８８３＿４＿１１＿２０９４０−＞１［Ｂｏｂ”ｓａｉｌｏｒ］
１３８８３＿４＿１１＿３８１１７−＞１［Ｂｏｂ，ｔｈｅ”Ｄｕｄｅ］
１３８８３＿４＿５３−＞３［Ｂｏｂ，ｔｈｅｍｏｒｅ］
１３８８３＿４＿５３＿５８７−＞１［Ｂｏｂ，ｔｈｅｍｏｒｅｌｏｗ］
この場合、左から右に、ＩＤ番号、発生数、及び対応する文章である。
【００７５】
幾つかの実施例において、言語モデルデータは、メモリのバッファに格納され、２５６の一意的語識別名が現れるまで、または、最大数のｎグラム（例えば、最大１０２４ｎグラム）が、このブロックのデータ用に蓄積されるまで、ブロックに追加される。本フォーマットでは、２５６の一意的語ＩＤまでを一組のローカルＩＤに０乃至２５５の範囲でマッピングする用語集を用いる。用語集は、任意の便利な方法を用いて記号化してよい。そして、実際のｎグラムデータは、ローカルＩＤで記号化される。特定のｎグラムを照合する場合、まず、所望の語ＩＤをローカルＩＤに変換し、そして、適切な一連のローカルＩＤを高速走査して、正しい値を見つける。
【００７６】
ブロックにｎグラムが与えられると、ブロックの全ｎグラムによって共有される共有接頭辞長を演算することができる。ブロック内において、全ての登録項目は、異なるｎグラム長に分離され、ローカルＩＤで書き換えられる。言語モデルデータ用の実際のブロックフォーマットは、以下の通りである。
共有＿＿接頭辞＿サイズ：バイト
値長：バイト
用語集中の登録項目＃：ｖａｒｉｎｔ３２
Ｎ語ＩＤ（用語集）：Ｎ値
＃登録項目表：ブロックにおける各々独自のｎグラム長の繰り返し対
Ｋ：バイト
長さＫの登録項目＃：ｖａｒｉｎｔ３２
“０”：バイト（定数０は表の端を示す）
上記データブロックには、ブロックにおける異なる長さの各ｎグラム用の別個の部分が続く。ブロック用のＫグラム部の各入力項目の場合、Ｐの共有接頭辞は、一連のＫ−Ｐバイトとして表され、Ｋグラムの後続の（Ｋ−Ｐ）ローカル語ＩＤを表し、その後に、“値＿長”バイトシーケンスとしての値が続く。
【００７７】
各ブロックには、ブロックに記憶された最後のｎグラムの文字列表現であるキーが与えられる。ブロックコンテンツは、ｓｓｔａｂｌｅにおける値として記号化され、このキーは、安定キーとして用いられる。これによって、その照合が保証される。一例は以下の通り。
共有接頭辞長：１
このブロックの値の長さ：１
Ｌｅｘ：１３８８＿２＿３＿４＿１１＿２４５４＿７３７９＿２０９４０＿３８１１７＿５３＿５８７
ｎｗｏｒｄｓ：＜１，１＞
ｎｗｏｒｄｓ：＜２，２＞
ｎｗｏｒｄｓ：＜３，２＞
ｎｗｏｒｄｓ：＜４，２＞
ｎｗｏｒｄｓ：＜５，５＞
“０”
１グラム部：
［］：６
２グラム部：
［００１］：５
［００２］：３
３グラム部：
［００２＿００１］：６
［００２００３］：２
４グラム部：
［００２＿００３＿００４］：３
［００２＿００３＿００９］：３
５グラム部：
［００２＿００３＿００４＿００５］：１
［００２＿００３＿００４＿００６］：１
［００２＿００３＿００４＿００７］：１
［００２＿００３＿００４＿００８］：１
［００２＿００３＿００９＿０１０］：１
【００７８】
機械翻訳に言語モデルを用いると、長いｎグラムが見つけられない場合、短いｎグラムを調べるためのシステムが必要なことが多い。短いｎグラムは、後退及び平滑化に用い得る。短いｎグラムは、ｎグラムの前端又は後端のいずれかの一端から語を剥ぎ取ることによって生成し得る。一例として、機械翻訳を要求するクライアントが、シーケンス“ＡＢＣＤＥ”を要求することがあるが、ここで、各文字は、１つの語を表し、シーケンスの前からの剥ぎ取りを要求する。ｎグラム全体がサーバ上に見つからない場合、クライアントは、シーケンス“ＢＣＤＥ”が必要である。この短くなったシーケンスも見つからない場合、更に短いシーケンス“ＣＤＥ”等が必要になる。最も短いシーケンスは、それより長いものが見つからない場合、“Ｅ”である。検索を効率的に行うために、ｎグラムは、それらの最後の語によって区画し得る。上記例において、“Ｅ”で終わる全てのｎグラムは、同じ区画にグループ化し、同じ機械に記憶し得る。このように、短いｎグラムへの後退は、異なるサーバへの新しい要求を行うことなく、１つの単一のサーバにおいて行い得る。
【００７９】
最後の語によって区画すると、区画が極めてバランスを欠いたものになり得る。バランスは、最後の２つの語又は更に長い一続きの長さＳに基づき区画することによって改善し得る。短いｎグラムが同じサーバ上にあることを保証するために、ユニグラム（ｕｎｉｇｒａｍ）（即ち、一続きの長さＳ−１であって、更に短い）を全ての区画上に複製し得る。全ての区画上への短いｎグラムの複製に対する他の選択肢は、長さＳ−１又は更に短いｎグラムが必要とされる場合、第２の要求を発行することである。
【００８０】
言語モデルのサイズは、大幅に低減することができ、また、区画は、或る登録項目を言語モデルから除去することによって、言語モデルの品質に対する影響を最小限に抑えて、更に均等なサイズにできる。１つの方法は、頻繁に用いられる短いｎグラムで終わる長いｎグラムを除去することである。一例として、“ＤＥ”が頻繁に用いられるバイグラム（ｂｉ―ｇｒａｍ）であるとする。“ＤＥ”で終わる全４及び５グラムは、除去し得る（例えば、ｎグラム“ＡＢＣＤＥ”）。そして、トリグラム（ｔｒｉｇｒａｍ）（例えば、“ＣＤＥ”）だけを維持する。モデルは、“ＣＤＥ”と共にフラグを記憶するか、又は或るｎグラムが除去されていることを指摘する他の手段を用い得る。
【００８１】
言語モデルの幾つかの実施の例において、クライアントコードは、要求される特定のｎグラム用の値を許容する単純なインターフェイスを用いる。内部的には、言語モデルデータを記憶するクライアントライブラリは、要求されたｎグラムがどの区画に常駐するか決定し、そして、その区画に送られるｎグラムに対する要求を待ち行列に入れる。待ち行列に入れられた要求の数が、しきい値を超過する場合、大きい照合要求は、その区画に対して責任を負っているサーバに送られる。ユーザレベルの“Ｗａｉｔ（）”動作が、クライアントによって用いられ、全ての保留中の照合を強制的に適切なサーバに送ることができる。本動作は、発呼者に戻る前に、それらが完了するまで待つ。
【００８２】
また、セグメント翻訳サーバ（ここに、クライアントライブラリが配置されている）は、グラム−＞値マッピングの単純なハッシュテーブルベースのキャッシュを実現して、共通に必要なｎグラムのために言語モデルサーバと通信する必要性を回避し得る。このキャッシュの一例は、下位キャッシュ６３２（図６）である。特定の翻訳反復によって必要とされる組のｎグラム値を決定することは、困難な場合があることから、翻訳システムは、各反復を２つのパスとして実行するように構成し得る。第１のパスは、照合される各ｎグラム用の一定の値（又は値では全くない、又はランダムな値）を返すダミー言語モデルで実行されるが、言語モデルサーバとの照合を待ち行列にも入れて実際のｎグラム値を取り出す。翻訳反復は、まず、ダミー言語モデルで実行され、そして“Ｗａｉｔ（）”が、呼び出され、全ての保留中の言語モデル照合が完了することを保証する。その時点において、全ての言語モデル値が、翻訳サーバそれ自体内において利用可能であり、従って、翻訳プロセスは、実際の言語モデルで再度実行され、分散された言語モデルからの値が、どの候補翻訳が、次の反復において検討する価値があるか決定するために用いられる。第２キャッシュ、例えば、上位キャッシュ６３１（図６）は、特定の文を翻訳するために要求された全てのｎグラムを常時監視し、また、この文が処理される間、確率が入手可能であることを保証するために用い得る。翻訳機は、文の終わりを通知し、この時、上位キャッシュを空にし得る。
【００８３】
幾つかの実施例において、ダミー言語モデルは、単一のサーバ上の小規模非分散型言語モデルを粗いＬＭとして用いて、ＬＭデータの供給を待つ期間中、翻訳を処理するか、又は、ＬＭデータが要求される前に、翻訳を処理して、粗いＬＭを用いて、第一次の翻訳結果に基づき、要求を生成し得る。幾つかの実施例において、ダミー言語モデルは、例えば、最も高い確率を各語に対して記憶することによって、真の確率の代わりに、分散言語モデルに存在しその語を生成する確率に関する上限を返す。言語モデルへの効率的なアクセスを可能にするために、分散言語モデルからの要求された確率の数は、アクセス及び検索時間を低減するために小さく抑えられる。従って、翻訳検索プロセスの所定の時点において、或る仮定拡張には、言語モデル確率が必要であるが、言語モデル確率がＸより小さいと、仮定拡張は、削られることをシステムが分かっている場合、実際に確率の上限を返すダミー言語モデルは、分散言語モデルに対する要求を削ることができる。
【００８４】
デコーダ反復当りのツーパス言語モデルアクセスは、異なる木目の細かさのレベルで実現して、異なる検索アーキテクチャに一体化し得る。例えば、ツーパスプロセスは、セグメントの翻訳当り一回起こり得る。場合によっては、１回目のパス時、文は、ダミー言語モデルで完全に翻訳されることがある。第１のパスは、不要部分が除かれた効率的な検索スペースの表現を生成し得る。そして、第２のパスは、分散言語モデルから要求された確率を用いて、検索スペースの表現を再評価する。他の例において、ツーパスプロセスは、セグメントの翻訳中、多数回実行し得る。有限の組の可能な敷衍語句を後ろに付加することで一組の仮定における各仮定を繰り返し拡張することによって、検索スペースを構成するデコーダの場合、ダミー要求は、一組の仮定が拡張される時はいつでも発行し得る。
【００８５】
区画されたシステムでは、異なる区画サーバは、異なる処理スピードを有し得る。異なる機械への言語モデル要求は、従って、異なる時点で戻し得る。セグメント翻訳サーバにおいて用いられるＷａｉｔ（）動作は、最遅区画を待たなければならない。その最遅機械が、すぐに修正できない問題、例えば、停電やネットワーク問題を有する場合、待ち時間が、長引き容認できないことがある。この問題を取り扱う１つの方法は、Ｗａｉｔ（）のタイムアウトを有し、確率推定、例えば、ダミー言語モデル又は異なる小規模のメモリ内言語モデルによって割り当てられた確率を返すことである。この問題を緩和する他の方法は、区画用の初期のサーバのタイムアウトがあった後、異なるレプリカを用いて言語モデルデータを取得し得るように、同じ言語モデル区画を異なる機械に多数回複製することである。更に、要求は、その言語モデルの同じ区画の全ての異なるレプリカに同時に送り、また、翻訳のために最初に返されたデータを選択してよい。
【００８６】
翻訳サーバにおけるＷａｉｔ（）呼は、同じセグメントを翻訳するための異なるサーバに対する要求の同期化を実現するために用い得る。待ち時間を低減する１つの方法は、言語モデル要求の異なる反復をインターリーブすることである。従って、全ての確率が返されるまで待つ代わりに、システムは、言語モデル確率なしで仮定を採点したり、又は、評点の推定値を用いたりしてよく、また、言語モデル確率が到着次第、仮定評点を更新してもよい。この動作モードでは、いずれかの各言語モデル確率要求は、検索仮定へのポインタを、それが必要な場合、格納しなければならないか、又は、各翻訳仮定が、欠落言語モデル確率へのポインタを有する。この変形例では、中間仮定評点は、通常、近似値である。厳密な評点を有する必要性がある時はいつでもＷａｉｔ（）を発行し得る。
【００８７】
翻訳サーバ、例えば、セグメント翻訳サーバは、ｎグラム履歴を常時監視し、そして、追跡されたｎグラムの異なる継続を評価するように構成し得る。例えば、履歴は、“ＡＢＣＤ”であってよく、そして、継続調査は、“ＡＢＣＤＥ”、“ＡＢＣＤＦ”等であってよい。言語モデルクライアントは、整数番号によってこれらの履歴を表し、文又は他の翻訳単位の始まりでそれらを数え上げ始める。個々の文の翻訳には、通常、全ての可能なｎグラム（１０２０以上）と比較して、例えば、数千又は数百万の比較的少数の異なる履歴が必要であり、従って、この整数には、数バイトだけで充分である。この手法は、履歴の長さとは独立に翻訳機の動作を行うために用いることができ、また、履歴は長くなり得ることから、記憶スペースを節約できる。クライアントは、ハッシュ機能を用いて、整数と履歴との間をマッピングしたり、整数をｎグラムのアレイへの索引として用いたり、又は、履歴を追跡する他の手段を用い得る。
【００８８】
適応可能な及びスケーラブルな方法での機械翻訳
インターネット上のユーザ等の多数のユーザがアクセス可能な翻訳システムは、異なる時間に変動する量の負荷を経験し得る。そのような変動は、例えば、変動する数の要求、困難さの程度が変動する要求、異なる言語対に対して割合が変動する要求等に起因し得る。この章では、システムにおけるこれらの及び他の変動に起因する変動する量の負荷を取り扱い、サービス品質の低下を低減する自動機械翻訳システムにおける特徴について述べる。
【００８９】
自動翻訳システムの容量を拡大するためには、システム用の根底にある翻訳技術は、翻訳スピードと翻訳品質とのトレードオフの異なる点において、作用できるべきであり、システム全体は、変動する負荷に適応可能であるべきである。例えば、システムは、遅い処理スピード（例えば、１０語／秒）の高品質翻訳で、中程度の処理スピード（例えば、２０語／ｓｅｃ）で中程度の翻訳品質で、又は速い処理スピード（例えば、１００語／ｓｅｃ）で低品質の翻訳又は句対句もしくは語対語の注解で、翻訳するように構成し得る。高品質の翻訳を達成するために、翻訳サーバ又はエンジン（例えば、セグメント翻訳サーバ１３０（図２））は、多数の他のバックエンド、又は翻訳の過程でそれが用いる情報を提供するサーバを必要とすることがある。例としては、翻訳句辞書サーバ、言語モデルサーバ、翻字サーバ等が挙げられる。これらのバックエンド資源から情報を取得すると、或る量の時間がかかる。低品質の翻訳モードのいずれかでは、翻訳サーバは、これらのバックエンド資源の幾つかの使用を省き、低翻訳品質という代価を払って翻訳時間を低減し得る
【００９０】
例えば、翻訳サーバは、翻字資源を用いる段階を省き、そうでない場合、例えば、語を省略する又は元の語を翻訳に保持する等、他の方法で字訳される語を取り扱い得る。他の例は、言語モデルの使用を省き、他の翻訳情報（例えば、句表及び整理し直す確率）だけを用いて、翻訳を導出することである。構成要素を完全に省く代わりに、翻訳サーバは、更に、言語モデルに対する要求を減らすことを選択し、これによって、通信の量を低減し、翻訳をスピードアップし得る。従って、翻訳サーバは、言語モデルから５グラムの代わりに、３グラム又は４グラムだけを要求しようと決定し得る。全ての品質レベルに対するエンドツーエンドの待ち時間は、フロントエンド翻訳サーバ及び様々なバックエンドサーバ双方において、計算を並列化することによって低減し得る。ＬＭサーバ等のバックエンド資源サーバからの待機中、翻訳サーバは、バックエンド結果に依存しない演算の部分を実施し得る。バックエンド資源サーバ（例えば、ＬＭサーバ）に対する待ち時間と並列にフロントエンド演算を行うことによって、バックエンドの待ち時間は、バックエンドサーバの待ち時間がローカル演算に費やされる時間より大きくない限り、翻訳全体の待ち時間に寄与しない。バックエンド待ち時間それら自体は、翻訳サーバによって単一仮想サーバとしてアクセスされる多数の物理的な機械に及ぶデータを区画することによって低減し得る。
【００９１】
逆に、１つの区画された仮想サーバは、多数のバックエンドデータ源を供給し得る。例えば、翻訳システムは、異なるデータ源において訓練された多数の句ベースの翻訳語集を有し得る。これらの多数のモデルは、単一の区画された仮想サーバからサービスが提供され、翻訳エンジンのクライアント側で再区画される。これによって、複雑な複部構成の翻訳モデルは、単一区画サーバからサービスが提供される。
【００９２】
翻訳処理を低減するために、自動機械翻訳システムには、翻訳文及び文書部を記憶するキャッシュを含み得る。文書部は、語、句、文断片、文、パラグラフ、全文／文書等であってよい。図３Ｂに示すように、キャッシュは、起点言語部を１つ又は複数の目標言語部にマッピングし得る。各目標言語部は、その翻訳品質レベルに関する情報で印が付けられる。従って、キャッシュは、異なる翻訳品質レベルでの翻訳を含み得る。キャッシュは、更に、通常、高いレベルの翻訳品質を有し、別個のプロセスにおいて取得される人間によってなされた手作業での翻訳を含み得る。
【００９３】
自動機械翻訳システムには、複製された組の翻訳フロントエンド、例えば、翻訳フロントエンドサーバ１１０（図１及び２）、負荷分散構成要素、例えば、負荷分散装置１２０（図１及び２）、翻訳キャッシュ、例えば、翻訳キャッシュ（図３Ａ、４、又は５）、翻訳エンジン、例えば、セグメント翻訳サーバ１３０（図１及び２）、並びに翻訳エンジンバックエンド、例えば、言語モデルサーバ、翻訳句辞書サーバ、及び翻字サーバを含み得る。フロントエンドは、文章又は文書翻訳要求を受信する。翻訳される文章又は文書は、部分即ちセグメントに分割される。セグメント用の翻訳は、翻訳キャッシュを調べることが可能であり、これによって、或る翻訳品質の翻訳を生成し得る。キャッシュに翻訳がない場合、又は品質レベルが充分に高くない場合、セグメントの翻訳要求が、負荷分散構成要素に伝達される。負荷分散構成要素は、全システム負荷及びセグメント翻訳サーバの負荷に関する何らかの情報を維持する。この情報並びに利用可能な容量に関する情報を用いて、負荷分散構成要素は、負荷分散方針を適用して、部分翻訳要求を如何にして処理するか決定する。キャッシュからの低品質翻訳は、負荷レベルが充分高い場合に用い得る。又は翻訳されるセグメントを翻訳バックエンドに送って、指定されたレベルの品質で翻訳してもよい。。更に、負荷分散論理は、他の要因を考慮し得る。例えば、ユーザからより多く注目され得るウェッブページの最初の部分又は文書の前の方の部分からのセグメントは、高い品質レベルで翻訳し得る。更に、そのような部分には、高い優先度を付与して最初に翻訳されるようにしてよく、また、翻訳済みウェッブページ又は他の文書の最初の部分は、ユーザに早く返すことができる。
【００９４】
更に、自動機械翻訳システムは、ウェッブページ又は文書の幾つかの部分に対して、例えば、ウェッブページの下部にある文章に対して、迅速に低品質の翻訳を生成して、翻訳済みコンテンツをユーザに配信し、その間、ウェッブページ又は文書の同じ部分をバックグラウンドで処理して高品質の翻訳を生成するように構成し得る。高い品質で翻訳が利用可能になると、システムは、ユーザに既に配信された低品質の翻訳を高い品質の翻訳で置き換え得る。前に翻訳されたページは、高品質の翻訳がバックグラウンドで生成され時、部分的に又は全体的に動的に置き換えてよい。このことは、ジャバスクリプト等のクライアント側スクリプト言語を用いて、既にクライアントコンピュータに送られている翻訳済み文書の一部を変えることを含み、様々なメカニズムを用いて行うことができる。
【００９５】
高品質に翻訳されるウェッブページ又は文書内の部分は、様々な方法で識別し得る。１つの方策は、文書の初めの部分を高い品質で翻訳することであるが、その理由は、この部分が、ユーザによって慎重に調べられる可能性があるため、又は、ユーザによって読まれる唯一の部分であり得るためである。他の方策は、文書構造又はＨＴＭＬマークアップに基づき、ウェッブページ又は文書の領域の重要性を、例えば、章見出し、大きなフォントサイズの章、又は各パラグラフのトピックセンテンスとして識別することである。
【００９６】
翻訳済みセグメントは、システムによって、例えば、翻訳フロントエンドサーバ１３０（図１又は２）によって組み立てられ、翻訳文又は文書を形成して、要求側に返される。図１に対応して翻訳キャッシュを備えて実現されるシステムでは、異なる品質レベルの翻訳を備えた翻訳キャッシュが、負荷分散装置１２０と如何にして対話するかについては、ばらつきがあり得る。例えば、システムは、キャッシュのあらゆるセグメントを調べ、全てを負荷分散装置に送り、キャッシュ入力項目を用いるべきかどうか又はセグメントを翻訳エンジンに送るべきかどうか負荷分散装置に判断させるように構成し得る。他の選択肢として、システムは、或るセグメントだけを負荷分散装置に送るように構成してよい。様々な負荷分散方式があり得る。複数の種類の翻訳エンジン（例えば、セグメント翻訳サーバ１３０）が、システムにあってよく、これによって追加の柔軟性が負荷分散に提供される。例えば、低翻訳品質の高速セグメント翻訳サーバと、高翻訳品質の低速セグメント翻訳サーバとの組み合わせを用いてよい。
【００９７】
自動機械翻訳システムにおける手作業及び自動翻訳の組み合わせ
この章では、自動機械翻訳システムにおいて手作業での翻訳と自動翻訳を組み合わせ、様々な翻訳オプションを提供する手法について述べる。以下の処理を用いると、手作業での翻訳にデジタルライブラリを構築し、自動機械翻訳中、そのライブラリを用い得る。本出願で述べたシステムを用いると、これらの特徴を実現し得る。更に、他のＭＴシステムもこれらの特徴を実現し得る。
【００９８】
まず、機械翻訳用にユーザによって要求された広範囲の文書は、どの翻訳を手作業で実施するか決定するために解析される。このプロセスは、以前翻訳された文書の解析を含んでおり、解析された文書のどの部分が頻繁に出現するか決定し、また、そのような頻繁に用いられる部分は、手作業での翻訳の候補にできる。解析された文書の部分には、語、句、文、パラグラフ、埋め込み文書、埋め込みウェッブページ等を含み得る。更に、解析された文書のコンテンツ及び他の特徴は、解析を行い、手作業での翻訳への追加の候補を識別することもできる。例としては、新聞見出し、記事の表題及び副題、ウェッブ検索からの頻繁に用いられる語及び句、及びウェッブページからの重要なナビゲーションの句が挙げられる。
【００９９】
次に、手作業での翻訳用に識別された候補の手作業での翻訳が得られ、手作業での翻訳が、図３Ａ、４及び５に示すように、翻訳データベース、例えば、翻訳キャッシュに記憶される。こうして、手作業翻訳のデータベースは、自動機械翻訳システムにおいて用いることができる。各記憶された手作業翻訳は、高い翻訳品質としてラベル表記すると、システム、例えば、図１又は２のシステムが、セグメント用の翻訳を選択する際、その品質ラベルを用い得る。
【０１００】
自動機械翻訳システムにおける手作業翻訳データベースは、更新又は修正し得る。人間により追加の材料を翻訳する要求は、稼働中の機械翻訳システムから取得された情報から自動的に導出し得る。例えば、機械翻訳アクティビティに関するシステム統計データを用いて、頻繁に翻訳される文章部分に関する情報及び手作業で翻訳される文章部分を識別し得る他の情報を抽出し得る。システムは、そのようなシステム統計データを定期的に又は連続的に監視して、手作業で翻訳される新しく識別された文章部分のリストを生成し得る。新しく識別された文章部分の手作業翻訳が取得され、手作業翻訳用の既存のデータベースが更新される。
【０１０１】
識別された文章部分の手作業での翻訳を取得するためのプロセスには、ウェッブ又は他のオンラインのリポジトリにおける手作業での又は自動的な既存翻訳の検索を含み得る。そのような既存の翻訳は、検索して、翻訳を生成するためのシステムの翻訳資源を用いることなく翻訳を要求するクライアントに表示し得る。例えば、同じ突発ニュースが、幾つかの言語で入手可能な場合があり、また、システムは、目標言語のニュース報道を用いて、翻訳を取得し得る。また、会社や組織は、幾つかの言語の同じ情報をオンラインで利用可能にすることがあり、そのようなオンラインの文書は、システムによって検索され、既存の翻訳を取得し得る。
【０１０２】
幾つかの手作業での翻訳は、或る状況においてのみ適切な場合がある。例えば、“ｈｏｍｅ”の或る翻訳は、それが、ウェッブサイトのホームページへのリンク用のラベルであるウェッブページに対してのみ意味をなすことがある。手作業での翻訳データベースには、このタイプの情報を含むことができ、翻訳システムは、ウェッブページを翻訳する際、この情報を用いる。幾つかの実施例において、ユーザは、特定の翻訳要求に用いられる特定の翻訳データベースを供給し得る。
【０１０３】
機械翻訳以外の自動処理システムにおける分散モデルの用途
区画、複製及び負荷分散に基づき、大きなモデルにアクセスし、スケーラブル及び適応可能な処理を提供する自動機械翻訳用の上記及び他の分散型システム設計は、機械翻訳以外の他の自動処理システムに適用し得る。大規模言語モデルは、自動音声認識、スパム検出、光学文字認識、スペル訂正及び他の自動言語処理用途にも用い得る。機械翻訳用の上述したシステム、例えば、図１、２、３Ａ、３Ｂ、４、５及び６に示したシステムは、機械翻訳以外の自動処理を実現するように構成し得る。
【０１０４】
例えば、文書画像を文章に変換するための光学文字認識（ＯＣＲ）システムは、上述したシステム設計に基づき構築し得るが、この場合、文字用の言語モデルは、機械翻訳における語用の言語モデルを置き換えるために用い得る。自動スペル訂正システムは、言語モデルを用いて、或るｎグラムに続く最も可能性が高い語を効率的に見つけたり、語のスペルを修正したりできる。更に、自動音声認識システムは、言語モデルを用いて、語の確率や発音辞書の正しい表現の節の確率上限を予測したり、入力音声を音声のコンテンツの文章に変換したりできる。更に、大規模言語モデルは、スパムフィルタ処理用途において、電子メールのコンテンツに基づき、電子メールをフィルタ処理するために用い得る。これらの及び他の自動言語処理用途において、区画及び複製は、単一の機械内に納まらない大規模言語モデルへのアクセスを提供するために、また、スケーラブル及び適応可能な方法で大量の要求を取り扱うために実現し得る。
【０１０５】
図１２は、大規模言語モデルに基づく言語処理機能を提供するように構成し得る分散型処理システム１２００の例を示す。システム１２００の処理機能は、機械翻訳と異なってよい。このシステム１２００には、多数の言語モデルサーバ１２４０上において区画及び複製される大規模言語モデルが含まれる。更に、システム１２００には、入力１２０１及び出力１２０２を取り扱うための多数のフロントエンド１２１０と、入力１２０１を処理し、出力１２０２を生成する多数の処理サーバ１２３０と、が含まれる。各フロントエンド１２１０は、入力１２０１を受信した後、処理サーバ１２３０による処理のために入力１２０１をセグメントに分割する。負荷分散装置１２２０は、処理サーバ１２３０における作業負荷に基づき、異なる処理サーバ１２３０へのワークフローを管理する。各処理サーバ１２３０は、ＬＭサーバ１２４０にアクセスして、ＬＭデータを取得し、取得したＬＭデータを入力１２０１のセグメントの処理に用いるように動作可能である。このシステム１２００は、音声認識システムであってよいが、この場合、各処理サーバ１２３０は、音声認識サーバである。入力１２０１は、人からの入力音声であり、ＬＭデータを用いて、音声認識サーバ１２３０によって処理される。出力１２０２は、入力音声１２０１の転写である文章である。処理サーバ１２３０は、また、ＯＣＲ用途のためのＯＣＲサーバ、スペル訂正用途ためのスペル訂正サーバ、及びスパムフィルタ処理用途のためのスパムフィルタ処理サーバとして実現し得る。
【０１０６】
開示された及び他の実施形態並びに本明細書において述べた機能的な動作は、デジタル電子回路に、又は本明細書に開示された構造及びそれらの構造的な等価物を含む、コンピュータソフトウェア、ファームウェア、又はハードウェアで、又はそれらの１つ又は複数の組合せで実現し得る。開示された及び他の実施形態は、データ処理装置によって実行されるように又はその動作を制御するように、１つ又は複数のコンピュータプログラムプロダクトとして、即ち、コンピュータ判読可能媒体上に符号化されたコンピュータプログラム命令の１つ又は複数のモジュールとして実現し得る。コンピュータ判読可能媒体は、機械読み取り可能な記憶装置、機械読み取り可能な記憶基板、メモリ装置、機械読み取り可能な伝搬信号を生じさせる物質の合成物、又はそれらの１つ又は複数の組合せであってよい。用語「データ処理装置」は、一例として、プログラム可能なプロセッサ、コンピュータ、又は多重プロセッサ又はコンピュータを含む、データを処理するための全ての装置、デバイス、及び機械を包含する。装置には、ハードウェアに加えて、対象のコンピュータプログラム用の実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコル層、データベース管理システム、オペレーティング・システム、又はそれらの１つ又は複数の組合せを構成するコードを含み得る。伝搬信号は、人為的に生成された信号であり、例えば、適切な受信装置への送信用情報を符号化するために生成される機械的に発生された電気的、光学的、又は電磁的信号である。
【０１０７】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られている）は、コンパイル式又はインタープリタ式言語を含む、任意の形式のプログラミング言語で書かいてよく、また、スタンドアローンのプログラムとして、又はモジュール、構成要素、サブルーチン、又はコンピュータ処理環境での用途に適する他の単位としてなど、任意の形式で配備し得る。コンピュータプログラムは、必ずしも、ファイルシステムのファイルに対応するとは限らない。プログラムは、他のプログラム又はデータ（例えば、マークアップ言語文書に格納された１つ又は複数のスクリプト）を保持するファイルの一部に、対象のプログラム専用の単一のファイルに、又は多数の連係ファイル（例えば、１つ又は複数のモジュールサブプログラム、又はコードの一部を格納するファイル）に格納し得る。コンピュータプログラムは、１つのコンピュータ上で、又は１つのサイトに配置されたもしくは多数のサイトにまたがって分散され通信ネットワークによって相互接続された多数のコンピュータ上で実行されるように配備し得る。
【０１０８】
本明細書に述べたプロセス及びロジックフローは、１つ又は複数のプログラム可能なプロセッサが１つ又は複数のコンピュータプログラムを実行して、入力データに作用し、出力を生成することによって、機能を実行し得る。また、プロセス及びロジックフローは、専用ロジック回路、例えば、ＦＰＧＡ（フィールド・プログラマブル・ゲートアレイ）又はＡＳＩＣ（特定用途向け集積回路）によって実施可能であり、また、装置は、それらとして実現できる。
【０１０９】
コンピュータプログラムの実行に適するプロセッサには、一例として、汎用及び専用マイクロプロセッサ、及び任意の種類のデジタルコンピュータの任意の１つ又は複数のプロセッサ双方が含まれる。一般的に、プロセッサは、読み出し専用メモリ又はランダムアクセスメモリ又は双方から命令及びデータを受信する。コンピュータの本質的な要素は、命令を実施するためのプロセッサと、命令及びデータを記憶するための１つ又は複数のメモリ装置である。一般的に、コンピュータは、更に、データを記憶するための１つ又は複数の大容量記憶装置、例えば、磁気、光磁気ディスク、又は光ディスクを含んだり、それらに連動して結合され、それらとの間でデータの送受信を行ったり、あるいは、その両方であったりする。しかしながら、コンピュータは、そのようなデバイスを有する必要がない。コンピュータプログラム命令及びデータを記憶するのに適するコンピュータ判読可能媒体としては、一例として、半導体メモリ装置、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリ装置、磁気ディスク、例えば、内部ハードディスク又は着脱可能ディスク、光磁気ディスク、及びＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクを含む、全ての形式の不揮発性メモリ、媒体及びメモリ装置が挙げられる。プロセッサ及びメモリは、専用ロジック回路によって補足可能であり、又は、それに組み込むことができる。
【０１１０】
ユーザとの対話を提供するために、開示された実施形態は、ユーザに情報を表示するための表示装置、例えば、ＣＲＴ（陰極線管）又はＬＣＤ（液晶表示装置）モニタと、ユーザがコンピュータに入力を提供できる手段であるキーボード及びポインティングデバイス、例えば、マウス又はトラックボールと、を有するコンピュータを用いて実現し得る。他の種類の装置も、ユーザとの対話を提供するために用い得る。例えば、ユーザに提供されるフィードバックは、任意の形式の知覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックであってよい。また、ユーザからの入力は、音響、音声、又は触覚入力を含む任意の形式で受信し得る。
【０１１１】
コンピュータ処理システムの構成要素は、任意の形式又は媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続し得る。通信ネットワークの例としては、ローカルエリアネットワーク（“ＬＡＮ”）及びワイドエリアネットワーク（“ＷＡＮ”）、例えば、インターネットが挙げられる。記載した分散処理を実現するために用い得る通信ネットワークは、導電ケーブル、光ファイバリンク及び無線通信リンク（例えば、ＲＦ無線リンク）等の様々な通信リンクを用いて、データや信号を伝送し得る。
【０１１２】
図１３は、分散処理を提供する通信ネットワークにおけるコンピュータシステム例を示す。このシステムには、コンピュータ等、ネットワーク１３００に接続された通信装置用の通信を可能にする通信ネットワーク１３００が含まれる。例えば、通信ネットワーク１３００は、企業内におけるコンピュータネットワーク等の単一のコンピュータネットワーク又はインターネット等の相互接続されたコンピュータネットワークのネットワークであってよい。１つ又は複数のコンピュータサーバ１３１０は、通信ネットワーク１３００に接続され、図１、２、又は１２のシステム等の分散型処理システムを形成する。コンピュータサーバ１３１０は、同じ地点又は異なる地点に配置し得る。動作中、１つ又は複数のクライアントコンピュータ（例えば、クライアント１３０１及び１３０２）は、通信ネットワーク１３００を用いて、分散型処理システム１３１０に遠隔的にアクセスして、システム１３１０によって提供される機械翻訳サービス又は他のサービスを要求し得る。クライアント１３０１、例えば、システム１３１０に文書翻訳の要求を送り得る。クライアント１３０１は、文書をシステム１３１０に送る。文書を受信した後、システム１３１０は、要求された処理を実施する。そして、システム１３１０からの出力は、クライアント１３０１に送られるか、又は、クライアント１３０１によってアクセス可能なシステム１３１０において利用可能になる。システム１３１０は、同時に、多数のクライアントにサービスを提供し得る。
【０１１３】
本明細書は、多くの具体的な内容を含むが、これらは、請求項である内容又は請求されるであろう内容の範囲の制限として解釈すべきではなく、むしろ、特定の実施形態に特有な特徴の説明として解釈すべきである。別個の実施形態の文脈で本明細書において述べた或る特徴は、単一の一実施形態における組合せでも実現し得る。逆に、単一の実施形態の文脈で述べた様々な特徴は、別々に多数の実施形態でも又は任意の適切な下位組み合わせでも実現し得る。更に、特徴は、或る組合せで機能するものとして述べられ、また、このように当初請求されることもあり得るが、請求された組合せからの１つ又は複数の特徴は、場合によっては、その組合せから削除し得ることもあり、また、請求された組合せは、下位組み合わせ又は下位組み合わせの変形したもので定めることがある。
【０１１４】
同様に、動作は、図面に特定の順番で示したが、このことが、望ましい結果を達成するために、図示した特定の順番で又は順次、そのような動作を実施する必要があると理解すべきでなく、又は、全ての示された動作が実施される必要があると理解すべきでない。或る状況では、多重タスク処理及び並列処理が、有益なことがある。更に、上述した本実施形態の様々なシステム構成要素の分離は、全ての実施形態においてそのような分離が必要であると理解すべきではなく、また、記載したプログラム構成要素及びシステムは、一般的に、単一のソフトウェア製品に一体化したり、多数のソフトウェア製品にパッケージ化したりできることを理解されるべきである。
【０１１５】
このように、特定の実施形態について述べてきた。他の実施形態は、以下の請求項の範囲内にある。
【図面の簡単な説明】
【０１１６】
【図１】本明細書において述べる分散型機械処理手法を用いて実現し得る区画、複製及び負荷分散を特定の例によって示す分散型機械翻訳（ＤＭＴ）システム１００を示す図。
【図２】図１の分散型機械翻訳システム１００の一実施例を示す図。
【図３Ａ】図１又は２に示すタイプのシステムにおいて、翻訳フロントエンドに対して接続可能であり、また、それによって共有し得る翻訳キャッシュを示す図。
【図３Ｂ】翻訳キャッシュに用い得るデータ構造の例を示す図。
【図３Ｃ】翻訳キャッシュの動作のための方法例を示す図。
【図４】負荷分散装置に接続し得る翻訳キャッシュの例を示す図。
【図５】セグメント翻訳サーバによって共有し得るセグメント翻訳サーバキャッシュの例を示す図。
【図６】翻訳デコーダ、ＬＭ照合要求待ち行列、及びローカルキャッシュを有するセグメント翻訳サーバの例を示す図。
【図７】翻訳デコーダの１つの代表的な動作を示す図。
【図８】翻訳デコーダの処理ステップの例を示す図。
【図９Ａ】翻訳デコーダの他の動作を示す図。
【図９Ｂ】翻訳デコーダの他の動作を示す図。
【図１０】下位キャッシュが無く上位キャッシュを有するセグメント翻訳サーバの１つの代表的な処理フロー用のフローチャート。
【図１１Ａ】セグメント翻訳サーバの他の処理フロー例を示す図。
【図１１Ｂ】セグメント翻訳サーバの他の処理フロー例を示す図。
【図１２】大規模言語モデルに基づき、言語処理機能を提供するように構成し得る分散型処理システムの例を示す図。
【図１３】分散処理を提供する通信ネットワークにおけるコンピュータシステム例を示す図。
【符号の説明】
【０１１７】
１００      分散型機械翻訳（ＤＭＴ）システム
１０１      クライアント
１０２      クライアント文書
１０３      翻訳済み文書
１１０      翻訳フロントエンド
１２０      負荷分散装置サーバ
１３０      セグメント翻訳サーバ
１４０      翻訳資源サーバ
１４１      レプリカ資源サーバ
２００      分散型機械翻訳システム
２１０      コンピュータサーバ
２２０      コンピュータサーバ
２３０      他の翻訳資源及びデータ用の１つ又は複数のサーバ
【図１】
2009527818.tif 000003
【図２】
2009527818.tif 000004
【図３Ａ】
2009527818.tif 000005
【図３Ｂ】
2009527818.tif 000006
【図３Ｃ】
2009527818.tif 000007
【図４】
2009527818.tif 000008
【図５】
2009527818.tif 000009
【図６】
2009527818.tif 000010
【図７】
2009527818.tif 000011
【図８】
2009527818.tif 000012
【図９Ａ】
2009527818.tif 000013
【図９Ｂ】
2009527818.tif 000014
【図１０】
2009527818.tif 000015
【図１１Ａ】
2009527818.tif 000016
【図１１Ｂ】
2009527818.tif 000017
【図１２】
2009527818.tif 000018
【図１３】
2009527818.tif 000019
【国際調査報告】
2009527818.tif 000020