(57)【要約】      （修正有）【課題】神経網に基づいた自動翻訳において、多様性な候補文章を抽出する所要時間を短縮できる翻訳方法、装置、およびプログラムを提供する。【解決手段】翻訳方法、装置、およびプログラムは、１つ以上のプロセッサを用いて、第１言語のソース文章に対して並列に複数の異なる翻訳過程を行う。特徴ベクトルそれぞれを生成するために、前記複数の翻訳過程のうち二以上の各翻訳過程で前記ソース文章を符号化する、又は、前記複数の各翻訳過程で前記ソース文章及び前記ソース文章の変形を符号化するステップと、第２言語の複数の候補文章それぞれを生成するために前記特徴ベクトルそれぞれを復号化するステップと、前記第２言語の複数の候補文章それぞれから前記第２言語の最終文章を選択するステップとを含む。【選択図】図２
2018026127.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のプロセッサを用いて、第１言語のソース文章に対して並列に複数の異なる翻訳過程で翻訳を行うステップを含む翻訳方法であって、
前記翻訳を行うステップは、
複数の特徴ベクトルを生成するために、前記複数の翻訳過程のうち二以上の翻訳過程で前記ソース文章を符号化する、又は、前記複数の翻訳過程のうち１つ以上の翻訳過程で前記ソース文章及び前記ソース文章の変形を符号化するステップと、
第２言語の複数の候補文章を生成するために前記特徴ベクトルそれぞれを復号化するステップと、
前記第２言語の複数の候補文章それぞれから前記第２言語の最終文章を選択するステップと、
を含む、翻訳方法。
【請求項２】
前記複数の異なる翻訳過程は、
異なるグラフィックプロセッサユニット（ＧＰＵｓ）によって実現され、前記グラフィックプロセッサユニットそれぞれは翻訳エンコーダ及び翻訳デコーダを含み、
前記異なる翻訳過程を行うために前記ソース文章は、前記グラフィックプロセッサユニットのうち少なくとも２つのグラフィックプロセッサユニット又は少なくとも１つのグラフィックプロセッサユニットに入力され、前記ソース文章の変形は、異なる少なくとも１つのグラフィックプロセッサユニットに入力される、請求項１に記載の翻訳方法。
【請求項３】
前記複数の異なる翻訳過程は、翻訳システムの前記１つ以上のプロセッサによって実現され、
前記１つ以上のプロセッサそれぞれは、前記翻訳システムの複数のエンコーダのうちの１つ以上の翻訳エンコーダを含み、前記翻訳システムの複数のデコーダのうちの１つ以上の翻訳デコーダを含み、
前記翻訳方法は、前記ソース文章を前記複数のエンコーダのうち少なくとも２つのエンコーダに並列に入力するステップをさらに含む、請求項１又は２に記載の翻訳方法。
【請求項４】
前記ソース文章の変形を前記複数のエンコーダのうち少なくとも１つのエンコーダに入力するステップと、
前記複数の異なる翻訳過程を行うために前記複数のデコーダのうち少なくとも１つのデコーダを変形するステップと、
をさらに含む、請求項３に記載の翻訳方法。
【請求項５】
前記第１言語に関する情報に基づいて前記ソース文章の単語順序を変更することによって前記ソース文章の変形を生成するステップと、
前記第１言語に関する情報に基づいて前記ソース文章に含まれた単語を同義語に交替するステップと、
前記複数のエンコーダのうち前記少なくとも１つのエンコーダに前記ソース文章の変形を入力するステップと、
をさらに含む、請求項４に記載の翻訳方法。
【請求項６】
前記少なくとも１つのエンコーダそれぞれに適用される対応する活性関数又は対応するパラメータ値それぞれに対応してノイズをそれぞれ適用することで、前記複数のエンコーダのうち前記少なくとも１つのエンコーダの変更を行うステップと、
前記少なくとも１つのデコーダそれぞれに適用される対応する活性関数又は対応するパラメータ値それぞれに対応してノイズをそれぞれ適用することで、前記複数のデコーダのうち前記少なくとも１つのデコーダの変更を行うステップと、
をさらに含む、請求項４に記載の翻訳方法。
【請求項７】
前記複数の異なる翻訳過程を行うために、前記１つ以上のプロセッサのうち少なくとも１つでエンコーダを変更又は変化させるステップと、
前記１つ以上のプロセッサのうち少なくとも１つでデコーダを変更又は変化させるステップと、
をさらに含む、請求項３に記載の翻訳方法。
【請求項８】
前記エンコーダを、前記エンコーダの学習に用いられた学習初期値、学習セット、及び学習順序と異なる学習初期値、学習セット、及び学習順序のうち少なくとも１つによって学習された異なるエンコーダと交替することによって前記エンコーダの変更又は変化を行うステップと、
前記デコーダを、前記デコーダの学習に用いられた学習初期値、学習セット、及び学習順序と異なる学習初期値、学習セット、及び学習順序のうち少なくとも１つによって学習された異なるデコーダと交替することによって前記デコーダの変更又は変化を行うステップと、
のうち少なくとも１つをさらに含む、請求項７に記載の翻訳方法。
【請求項９】
前記候補文章それぞれの生成は、ビームサーチアルゴリズムそれぞれを用いて各翻訳過程で予め設定された個数の候補文章を生成することを含む、請求項１ないし８のうち何れか一項に記載の翻訳方法。
【請求項１０】
前記ビームサーチアルゴリズムそれぞれは、ｎ−ベストビームサーチアルゴリズムよりも低い複雑度を有するｍ−ベストビームサーチアルゴリズムである（ｎ＞ｍ）、請求項９に記載の翻訳方法。
【請求項１１】
前記第２言語の最終文章を選択するステップは、
前記第２言語の複数の候補文章それぞれのスコアを算出するステップと、
前記第２言語の複数の候補文章のうち最も高いスコアを有する１つの候補文章を前記第２言語の前記最終文章として選択するステップと、
を含む、請求項１ないし１０のうち何れか一項に記載の翻訳方法。
【請求項１２】
前記第２言語の複数の候補文章それぞれのスコアを算出するステップは、前記各翻訳過程から前記第２言語の１つの候補文章のスコアそれぞれを算出するステップを含む、請求項１１に記載の翻訳方法。
【請求項１３】
前記第２言語の前記最終文章を選択するステップは、
リスコアリングモデルそれぞれを用いて前記各翻訳過程で前記第２言語に対応する候補文章それぞれに対応するスコアを算出するステップと、
１つ以上の対応する候補文章それぞれに対応するスコアの統計値を用いて、前記各翻訳過程から前記１つ以上の対応する候補文章に対応するスコアを再算出するステップと、
前記第２言語の最終文章として、前記再算出されたスコアのうち最も高いスコアを有する対応する１つ以上の候補文章のうちの１つを選択するステップと、
を含む、請求項１ないし１０のうち何れか一項に記載の翻訳方法。
【請求項１４】
請求項１ないし１３のうち何れか一項に記載の翻訳方法を翻訳装置のコンピュータに実行させるコンピュータプログラム。
【請求項１５】
第１言語のソース文章に対して並列に複数の異なる翻訳過程（前記異なる翻訳過程は特徴ベクトルそれぞれを生成するために、前記複数の翻訳過程のうち二以上の各翻訳過程で前記ソース文章を符号化する、又は、前記複数の各翻訳過程で前記ソース文章及び前記ソース文章の変形を符号化し、第２言語の複数の候補文章それぞれを生成するために前記特徴ベクトルそれぞれを復号化することを含む）を行うために構成される、１つ以上のプロセッサのうち少なくとも１つのプロセッサと、
前記第２言語の複数の候補文章それぞれから前記第２言語の最終文章を選択するように構成された、前記１つ以上のプロセッサのうち出力プロセッサと、
を含む、翻訳装置。
【請求項１６】
前記少なくとも１つのプロセッサは、前記ソース文章に対応する符号化を行って特徴ベクトルを生成する少なくとも１つのエンコーダ、及び前記特徴ベクトルに対応する復号化を行って前記ソース文章に対して前記第２言語の複数の候補文章を生成する少なくとも１つのデコーダを含む、請求項１５に記載の翻訳装置。
【請求項１７】
前記翻訳装置は、複数の異なる各翻訳過程を行うための異なるグラフィックプロセッサユニット（ＧＰＵｓ）を含み、前記グラフィックプロセッサユニットそれぞれは翻訳エンコーダ及び翻訳デコーダを含み、
前記翻訳装置は、前記異なる翻訳過程を行うために前記ソース文章を少なくとも２つのグラフィックプロセッサユニット又は少なくとも１つのグラフィックプロセッサユニットに入力し、前記ソース文章の変化を異なる少なくとも１つのグラフィックプロセッサユニットに入力する、請求項１５又は１６に記載の翻訳装置。
【請求項１８】
前記複数の異なる翻訳過程は、翻訳システムの前記１つ以上のプロセッサのうち前記少なくとも１つのプロセッサによって実現され、
前記少なくとも１つのプロセッサは、前記翻訳システムの複数のエンコーダのうちの１つ以上の翻訳エンコーダ及び前記翻訳システムの複数のデコーダのうちの１つ以上の翻訳デコーダを含み、
前記翻訳装置は、前記ソース文章を前記複数のエンコーダのうち少なくとも２つのエンコーダに並列に入力する、請求項１５ないし１７のうち何れか一項に記載の翻訳装置。
【請求項１９】
前記出力プロセッサは、前記複数のエンコーダのうち少なくとも１つのエンコーダの変化を実現するために前記ソース文章の変化を生成し、前記翻訳過程のうち少なくとも１つで前記ソース文章の生成された変化に対する符号化を実現できるように構成され、
前記複数の異なる翻訳過程を実行するために、前記複数のデコーダのうち少なくとも１つのデコーダの変化を実現できるように構成される、請求項１８に記載の翻訳装置。
【請求項２０】
前記１つ以上のプロセッサのうち１つのプロセッサは、前記複数のエンコーダのうち少なくとも１つのエンコーダの変化を実現するために前記ソース文章の変化を生成し、前記翻訳過程のうち少なくとも１つで前記ソース文章の前記生成された変化に対する符号化を実現できるように構成され、
前記複数の異なる翻訳過程の実行のために、前記複数のデコーダのうち少なくとも１つのデコーダの変化を実現できるように構成される、請求項１８に記載の翻訳装置。
【請求項２１】
前記１つのプロセッサは、前記ソース文章の変化を生成し、前記翻訳過程のうち少なくとも１つで前記ソース文章の生成された変化を符号化するように構成され、
前記ソース文章の変化を生成するために、前記１つのプロセッサは、前記第１言語に関する情報に基づいて前記ソース文章のワード順序を変更する動作、及び前記第１言語に関する情報に基づいて前記ソース文章に含まれたワードを同義語に交替する動作のうち少なくとも１つを行うように構成される、請求項２０に記載の翻訳装置。
【請求項２２】
前記１つのプロセッサは、
前記複数のエンコーダのうち少なくとも１つのエンコーダの変化を実現し、前記複数のデコーダのうち少なくとも１つのデコーダの変化を実現するために、
前記少なくとも１つのエンコーダそれぞれに適用される対応する活性関数又は対応するパラメータ値それぞれに対応してノイズをそれぞれ適用することで、前記複数のエンコーダのうち少なくとも１つのエンコーダを変更する動作と、
前記少なくとも１つのデコーダそれぞれに適用される対応する活性関数又は対応するパラメータ値それぞれに対応してノイズをそれぞれ適用することで、前記複数のデコーダのうち少なくとも１つのデコーダを変更する動作のうち少なくとも１つを対応して行うように構成される、請求項２０に記載の翻訳装置。
【請求項２３】
前記複数の異なる翻訳過程は、前記１つ以上のプロセッサのうち複数の翻訳プロセッサによって実現され、
前記複数の翻訳プロセッサそれぞれは翻訳エンコーダ及び翻訳デコーダを含み、
前記異なる翻訳過程を実現するために、前記１つ以上のプロセッサのうち１つのプロセッサは、前記１つの翻訳エンコーダを、前記少なくとも１つの翻訳エンコーダの学習に用いられた学習初期値、学習セット、及び学習順序と異なる学習初期値、学習セット、及び学習順序によって学習された異なるエンコーダと交替することで、前記複数の翻訳プロセッサの翻訳エンコーダのうち１つの翻訳エンコーダの変更又は変化を実現できるように構成され、
前記１つの翻訳デコーダを、前記少なくとも１つの翻訳デコーダの学習に用いられた学習初期値、学習セット、及び学習順序と異なる学習初期値、学習セット、及び学習順序によって学習された異なるデコーダと交替することで、前記複数の翻訳プロセッサの翻訳デコーダのうち１つの翻訳デコーダの変更又は変化を実現できるように構成される、請求項１５に記載の翻訳装置。
【請求項２４】
前記複数の候補文章それぞれの生成は、ビームサーチアルゴリズムそれぞれを用いて各翻訳過程で予め設定された個数の候補文章の生成を含む、請求項１５ないし２３のうち何れか一項に記載の翻訳装置。
【請求項２５】
前記ビームサーチアルゴリズムそれぞれは、ｎ−ベストビームサーチアルゴリズムよりも低い複雑度を有するｍ−ベストビーム探索アルゴリズムである（ｎ＞ｍ）、請求項２４に記載の翻訳装置。
【請求項２６】
前記出力プロセッサは、
前記第２言語の複数の候補文章のスコアそれぞれを算出し、
前記第２言語の複数の候補文章のうち最も高いスコアを有する１つの候補文章を前記第２言語の前記最終文章として選択する、請求項１５ないし２５のうち何れか一項に記載の翻訳装置。
【請求項２７】
前記出力プロセッサは、前記第２言語の複数の候補文章のスコアそれぞれを算出するために、前記各翻訳過程から前記第２言語の１つの候補文章のスコアそれぞれを算出する、請求項２６に記載の翻訳装置。
【請求項２８】
前記第２言語の前記最終文章を選択するために、前記出力プロセッサは、
リスコアリングモデルそれぞれを用いて前記各翻訳過程で前記第２言語に対応する候補文章それぞれに対応するスコアを算出し、
１つ以上の対応する候補文章それぞれに対応するスコアの統計値を用いて、前記各翻訳過程から前記１つ以上の対応する候補文章に対応するスコアを再算出し、
前記第２言語の最終文章として、前記再算出されたスコアのうち最も高い値を有する対応する１つ以上の候補文章のうちの１つを選択するように構成される、請求項１５ないし２５のうち何れか一項に記載の翻訳装置。
【請求項２９】
前記翻訳装置は、前記翻訳装置の複数のメモリのうちの１つ以上のメモリをさらに含み、
前記１つ以上のメモリは、前記異なる翻訳過程からの結果それぞれ及び前記複数の候補文章それぞれから複数の候補文章それぞれを格納する、又は、候補文章を選択する、請求項１５に記載の翻訳装置。
【請求項３０】
前記複数のメモリのうち少なくとも１つのメモリをさらに含み、
前記少なくとも１つのメモリは、１つ以上のプロセッサによって実行される場合、前記１つ以上のプロセッサが前記複数の異なる翻訳過程及び前記最終文章の選択を行うように構成される命令を格納する非一時的コンピュータで読み出し可能な記録媒体である、請求項２９に記載の翻訳装置。
【請求項３１】
前記複数の異なる翻訳過程を行うように構成された前記少なくとも１つのプロセッサと前記最終文章を選択するように構成された前記出力プロセッサは、前記１つ以上のプロセッサのうち同一のプロセッサである、請求項１５ないし３０のうち何れか一項に記載の翻訳装置。
【請求項３２】
翻訳方法において、
ソース文章に対して複数の異なる翻訳過程を並列に行うステップ（前記複数の異なる翻訳過程は、対応する翻訳符号化過程、対応する翻訳復号化過程、及び前記対応する符号化過程が前記ソース文章又は前記ソース文章の変形を符号化するか否かのうちの１つ以上に対して互いに異なる）と、
前記複数の異なる翻訳過程からの結果それぞれから決定された最も高い順位の候補文章に基づいて前記ソース文章の翻訳結果を出力するステップと、
を含む、翻訳方法。
【請求項３３】
前記複数の異なる翻訳過程のうち少なくとも１つの翻訳復号化過程は、候補文章を決定するためにｍ−ベストビームサーチアルゴリズムを実現し、
前記ｍ−ベストビームサーチアルゴリズムは、ｎ−ベストビームサーチアルゴリズムに比べて複雑度が低いビームサーチアルゴリズムであり、ｎ＞ｍである、請求項３２に記載の翻訳方法。
【請求項３４】
請求項３２又は３３に記載の翻訳方法を翻訳装置のコンピュータに実行させるコンピュータプログラム。
【請求項３５】
ソース文章に対する第１符号化及び第１復号化、前記ソース文章に対する異なる符号化、及び／又は前記ソース文章に対する異なる復号化、前記ソース文章の１つ以上の変化に対する第１符号化及び第１復号化、及び／又は前記ソース文章の１つ以上の変化に対する異なる符号化及び／又は復号化を含む、前記ソース文章に対する複数の翻訳過程を並列に行うステップ（前記複数の各翻訳過程は、前記各翻訳過程から候補リストを生成するために翻訳符号化過程及び翻訳復号化過程のそれぞれを含む）と、
前記候補リストそれぞれから候補文章の順位を決定するステップと、
前記順位に基づいて決定された最も高い順位の候補文章に基づいて前記ソース文章の翻訳結果を出力するステップと、
を含み、
前記翻訳復号化過程それぞれは、前記複数の各翻訳過程のための前記候補リストを生成するためにｎ−ベストビームサーチアルゴリズムを実現する、翻訳方法。
【請求項３６】
請求項３５に記載の翻訳方法を翻訳装置のコンピュータに実行させるコンピュータプログラム。
【請求項３７】
ソース文章に対する第１符号化及び第１復号化、前記ソース文章に対する異なる符号化、及び／又は前記ソース文章に対する異なる復号化、前記ソース文章の１つ以上の変化に対する第１符号化及び第１復号化、及び／又は前記ソース文章の１つ以上の変化に対する異なる符号化及び／又は復号化を含む、前記ソース文章に対する複数の翻訳過程を並列に行うステップ（前記複数の各翻訳過程は前記各翻訳過程から候補リストを生成するために、翻訳符号化過程及び翻訳復号化過程それぞれを含む）と、
前記候補リストそれぞれから候補文章を順位を決定するステップと、
前記順位に基づいて決定された最も高い順位の候補文章に基づいて前記ソース文章の翻訳結果を出力するステップと、
を含み、
前記１つ以上の翻訳復号化過程は、対応する候補リストを生成するためにｎ−ベストビームサーチアルゴリズムに比べて低い複雑度を有するビームサーチアルゴリズムであるｍ−ベストビームサーチアルゴリズムを実現し、ｎ＞ｍである、翻訳方法。
【請求項３８】
前記候補文章の順位を決定するステップは、前記候補リストそれぞれにリスコアリングモデルそれぞれを適用するステップを含み、
前記最も高い順位の候補文章を発見するために、前記適用されたリスコアリングモデルそれぞれからの結果それぞれに基づいて、全ての候補文章よりも少ない数の候補文章に対する候補リストそれぞれが選択的に順位が再設定される、請求項３７に記載の翻訳方法。
【請求項３９】
前記１つ以上の翻訳復号化過程は、対応する候補リストを生成するために前記ｎ−ベストビームサーチアルゴリズムを選択的に実現する、請求項３７に記載の翻訳方法。
【請求項４０】
請求項３７ないし３９のうち何れか一項に記載の翻訳方法を翻訳装置のコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の実施形態は並列処理に基づいた翻訳方法及び装置等に関する。
【背景技術】
【０００２】
情報通信技術及びインターネットの発達に伴って人は様々な言語で作られたコンテンツの提供を受けるようになった。特に、グローバルビジネス化によって様々な言語を用いるユーザ間のコミュニケーション及びコンテンツ翻訳などのための翻訳技術が急速に発展している。
【０００３】
現在の翻訳ハードウェア及び翻訳技術は、ユーザが異なる言語を使用する場合、より正確なコミュニケーション及び正確な意味伝達のために翻訳に多くの時間及び処理過程が求められる不便さが存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一側面によれば、神経網に基づいた自動翻訳装置でＧＰＵを並列的に数個を用いてｍ−ベスト（ｍ＜ｎ）の候補文章を抽出することによってｎ−ベストの候補文章を抽出するために要する時間を短縮することが、求められている。
【０００５】
一側面によれば、並列ＧＰＵに入力されるソース文章でも、並列ＧＰＵのエンコーダ／デコーダを変形することによって候補文章の多様性を確保することが、求められている。
【課題を解決するための手段】
【０００６】
一側面によれば、翻訳方法は、１つ以上のプロセッサを用いて、第１言語のソース文章に対して並列に複数の異なる翻訳過程を行うステップを含み、前記行うステップは、特徴ベクトルそれぞれを生成するために、前記複数の翻訳過程のうち二以上の各翻訳過程で前記ソース文章を符号化する、又は、前記複数の各翻訳過程で前記ソース文章及び前記ソース文章の変形を符号化するステップと、第２言語の複数の候補文章それぞれを生成するために前記特徴ベクトルそれぞれを復号化するステップと、前記第２言語の複数の候補文章それぞれから前記第２言語の最終文章を選択するステップとを含む。
【０００７】
前記複数の異なる翻訳過程は、異なるグラフィックプロセッサユニット（ＧＰＵｓ）によって実現され、前記グラフィックプロセッサユニットそれぞれは翻訳エンコーダ及び翻訳デコーダを含み、前記異なる翻訳過程を行うために前記ソース文章は、前記グラフィックプロセッサユニットのうち少なくとも２つのグラフィックプロセッサユニット又は少なくとも１つのグラフィックプロセッサユニットに入力され、前記ソース文章の変形は、異なる少なくとも１つのグラフィックプロセッサユニットに入力され得る。
【０００８】
前記複数の異なる翻訳過程は、翻訳システムの前記１つ以上のプロセッサによって実現され、前記１つ以上のプロセッサそれぞれは、前記翻訳システムの複数のエンコーダのうちの１つ以上の翻訳エンコーダを含み、前記翻訳システムの複数のデコーダのうちの１つ以上の翻訳デコーダを含み、前記翻訳方法は、前記ソース文章を前記複数のエンコーダのうち少なくとも２つのエンコーダに並列に入力するステップをさらに含み得る。
【０００９】
前記ソース文章の変形を前記複数のエンコーダのうち少なくとも１つのエンコーダに入力するステップと、前記複数の異なる翻訳過程を行うために前記複数のデコーダのうち少なくとも１つのデコーダを変形するステップとをさらに含み得る。
【００１０】
前記翻訳方法は、前記第１言語に関する情報に基づいて前記ソース文章の単語順序を変更することによって前記ソース文章の変形を生成するステップと、前記第１言語に関する情報に基づいて前記ソース文章に含まれた単語を同義語に交替するステップと、前記複数のエンコーダのうち前記少なくとも１つのエンコーダに前記ソース文章の変形を入力するステップとをさらに含み得る。
【００１１】
前記翻訳方法は、前記少なくとも１つのエンコーダそれぞれに適用される対応する活性関数又は対応するパラメータ値それぞれに対応してノイズをそれぞれ適用することで、前記複数のエンコーダのうち前記少なくとも１つのエンコーダの変更を行うステップと、前記少なくとも１つのデコーダそれぞれに適用される対応する活性関数又は対応するパラメータ値それぞれに対応してノイズをそれぞれ適用することで、前記複数のデコーダのうち前記少なくとも１つのデコーダの変更を行うステップとをさらに含み得る。
【００１２】
前記翻訳方法は、前記複数の異なる翻訳過程を行うために、前記１つ以上のプロセッサのうち少なくとも１つでエンコーダを変更又は変化させるステップと、
前記１つ以上のプロセッサのうち少なくとも１つでデコーダを変更又は変化させるステップとをさらに含み得る。
【００１３】
前記翻訳方法は、前記エンコーダを、前記エンコーダの学習に用いられた学習初期値、学習セット、及び学習順序と異なる学習初期値、学習セット、及び学習順序のうち少なくとも１つによって学習された異なるエンコーダと交替することによって前記エンコーダの変更又は変化を行うステップと、前記デコーダを、前記デコーダの学習に用いられた学習初期値、学習セット、及び学習順序と異なる学習初期値、学習セット、及び学習順序のうち少なくとも１つによって学習された異なるデコーダと交替することによって前記デコーダの変更又は変化を行うステップとのうち少なくとも１つをさらに含み得る。
【００１４】
前記候補文章それぞれの生成は、ビームサーチアルゴリズムそれぞれを用いて各翻訳過程で予め設定された個数の候補文章を生成することを含み得る。
【００１５】
前記ビームサーチアルゴリズムそれぞれは、ｎ−ベストビームサーチアルゴリズムよりも低い複雑度を有するｍ−ベストビームサーチアルゴリズムであり得る（ｎ＞ｍ）。
【００１６】
前記第２言語の最終文章を選択するステップは、前記第２言語の複数の候補文章それぞれのスコアを算出するステップと、前記第２言語の複数の候補文章のうち最も高いスコアを有する１つの候補文章を前記第２言語の前記最終文章として選択するステップとを含み得る。
【００１７】
前記第２言語の複数の候補文章それぞれのスコアを算出するステップは、前記各翻訳過程から前記第２言語の１つの候補文章のスコアそれぞれを算出するステップを含み得る。
【００１８】
前記第２言語の前記最終文章を選択するステップは、リスコアリングモデルそれぞれを用いて前記各翻訳過程で前記第２言語に対応する候補文章それぞれに対応するスコアを算出するステップと、１つ以上の対応する候補文章それぞれに対応するスコアの統計値を用いて、前記各翻訳過程から前記１つ以上の対応する候補文章に対応するスコアを再算出するステップと、前記第２言語の最終文章として、前記再算出されたスコアのうち最も高いスコアを有する対応する１つ以上の候補文章のうちの１つを選択するステップとを含み得る。
【００１９】
一実施形態によると、翻訳装置は、第１言語のソース文章に対して並列に複数の異なる翻訳過程（前記異なる翻訳過程は特徴ベクトルそれぞれを生成するために、前記複数の翻訳過程のうち二以上の各翻訳過程で前記ソース文章を符号化する、又は、前記複数の各翻訳過程で前記ソース文章及び前記ソース文章の変形を符号化し、第２言語の複数の候補文章それぞれを生成するために前記特徴ベクトルそれぞれを復号化することを含む）を行うために構成される、１つ以上のプロセッサのうち少なくとも１つのプロセッサと、前記第２言語の複数の候補文章それぞれから前記第２言語の最終文章を選択するように構成された、前記１つ以上のプロセッサのうち出力プロセッサとを含む。
【００２０】
前記少なくとも１つのプロセッサは、前記ソース文章に対応する符号化を行って特徴ベクトルを生成する少なくとも１つのエンコーダ、及び前記特徴ベクトルに対応する復号化を行って前記ソース文章に対して前記第２言語の複数の候補文章を生成する少なくとも１つのデコーダを含み得る。
【００２１】
前記翻訳装置は、複数の異なる各翻訳過程を行うための異なるグラフィックプロセッサユニット（ＧＰＵｓ）を含み、前記グラフィックプロセッサユニットそれぞれは翻訳エンコーダ及び翻訳デコーダを含み、前記翻訳装置は、前記異なる翻訳過程を行うために前記ソース文章を少なくとも２つのグラフィックプロセッサユニット又は少なくとも１つのグラフィックプロセッサユニットに入力し、前記ソース文章の変化を異なる少なくとも１つのグラフィックプロセッサユニットに入力し得る。
【００２２】
前記複数の異なる翻訳過程は、翻訳システムの前記１つ以上のプロセッサのうち前記少なくとも１つのプロセッサによって実現され、前記少なくとも１つのプロセッサは、前記翻訳システムの複数のエンコーダのうちの１つ以上の翻訳エンコーダ及び前記翻訳システムの複数のデコーダのうちの１つ以上の翻訳デコーダを含み、前記翻訳装置は、前記ソース文章を前記複数のエンコーダのうち少なくとも２つのエンコーダに並列に入力し得る。
【００２３】
前記出力プロセッサは、前記複数のエンコーダのうち少なくとも１つのエンコーダの変化を実現するために前記ソース文章の変化を生成し、前記翻訳過程のうち少なくとも１つで前記ソース文章の生成された変化に対する符号化を実現できるように構成され、前記複数の異なる翻訳過程を実行するために、前記複数のデコーダのうち少なくとも１つのデコーダの変化を実現できるように構成され得る。
【００２４】
前記１つ以上のプロセッサのうち１つのプロセッサは、前記複数のエンコーダのうち少なくとも１つのエンコーダの変化を実現するために前記ソース文章の変化を生成し、前記翻訳過程のうち少なくとも１つで前記ソース文章の前記生成された変化に対する符号化を実現できるように構成され、前記複数の異なる翻訳過程の実行のために、前記複数のデコーダのうち少なくとも１つのデコーダの変化を実現できるように構成され得る。
【００２５】
前記１つのプロセッサは、前記ソース文章の変化を生成し、前記翻訳過程のうち少なくとも１つで前記ソース文章の生成された変化を符号化するように構成され、前記ソース文章の変化を生成するために、前記１つのプロセッサは、前記第１言語に関する情報に基づいて前記ソース文章のワード順序を変更する動作、及び前記第１言語に関する情報に基づいて前記ソース文章に含まれたワードを同義語に交替する動作のうち少なくとも１つを行うように構成され得る。
【００２６】
前記１つのプロセッサは、前記複数のエンコーダのうち少なくとも１つのエンコーダの変化を実現し、前記複数のデコーダのうち少なくとも１つのデコーダの変化を実現するために、前記少なくとも１つのエンコーダそれぞれに適用される対応する活性関数又は対応するパラメータ値それぞれに対応してノイズをそれぞれ適用することで、前記複数のエンコーダのうち少なくとも１つのエンコーダを変更する動作と、前記少なくとも１つのデコーダそれぞれに適用される対応する活性関数又は対応するパラメータ値それぞれに対応してノイズをそれぞれ適用することで、前記複数のデコーダのうち少なくとも１つのデコーダを変更する動作のうち少なくとも１つを対応して行うように構成され得る。
【００２７】
前記複数の異なる翻訳過程は、前記１つ以上のプロセッサのうち複数の翻訳プロセッサによって実現され、前記複数の翻訳プロセッサそれぞれは翻訳エンコーダ及び翻訳デコーダを含み、前記異なる翻訳過程を実現するために、前記１つ以上のプロセッサのうち１つのプロセッサは、前記１つの翻訳エンコーダを、前記少なくとも１つの翻訳エンコーダの学習に用いられた学習初期値、学習セット、及び学習順序と異なる学習初期値、学習セット、及び学習順序によって学習された異なるエンコーダと交替することで、前記複数の翻訳プロセッサの翻訳エンコーダのうち１つの翻訳エンコーダの変更又は変化を実現できるように構成され、前記１つの翻訳デコーダを、前記少なくとも１つの翻訳デコーダの学習に用いられた学習初期値、学習セット、及び学習順序と異なる学習初期値、学習セット、及び学習順序によって学習された異なるデコーダと交替することで、前記複数の翻訳プロセッサの翻訳デコーダのうち１つの翻訳デコーダの変更又は変化を実現できるように構成され得る。
【００２８】
前記複数の候補文章それぞれの生成は、ビームサーチアルゴリズムそれぞれを用いて各翻訳過程で予め設定された個数の候補文章の生成を含み得る。
【００２９】
前記ビームサーチアルゴリズムそれぞれは、ｎ−ベストビームサーチアルゴリズムよりも低い複雑度を有するｍ−ベストビーム探索アルゴリズムであり得る（ｎ＞ｍ）。
【００３０】
前記出力プロセッサは、前記第２言語の複数の候補文章のスコアそれぞれを算出し、前記第２言語の複数の候補文章のうち最も高いスコアを有する１つの候補文章を前記第２言語の前記最終文章として選択し得る。
【００３１】
前記出力プロセッサは、前記第２言語の複数の候補文章のスコアそれぞれを算出するために、前記各翻訳過程から前記第２言語の１つの候補文章のスコアそれぞれを算出し得る。
【００３２】
前記第２言語の前記最終文章を選択するために、前記出力プロセッサは、リスコアリングモデルそれぞれを用いて前記各翻訳過程で前記第２言語に対応する候補文章それぞれに対応するスコアを算出し、１つ以上の対応する候補文章それぞれに対応するスコアの統計値を用いて、前記各翻訳過程から前記１つ以上の対応する候補文章に対応するスコアを再算出し、前記第２言語の最終文章として、前記再算出されたスコアのうち最も高い値を有する対応する１つ以上の候補文章のうちの１つを選択するように構成され得る。
【００３３】
前記翻訳装置は、前記翻訳装置の複数のメモリのうちの１つ以上のメモリをさらに含み、前記１つ以上のメモリは、前記異なる翻訳過程からの結果それぞれ及び前記複数の候補文章それぞれから複数の候補文章それぞれを格納し、又は、候補文章を選択し得る。
【００３４】
前記複数のメモリのうち少なくとも１つのメモリをさらに含み、前記少なくとも１つのメモリは、１つ以上のプロセッサによって実行される場合、前記１つ以上のプロセッサが前記複数の異なる翻訳過程及び前記最終文章の選択を行うように構成される命令を格納する非一時的コンピュータで読み出し可能な記録媒体であり得る。
【００３５】
前記複数の異なる翻訳過程を行うように構成された前記少なくとも１つのプロセッサと前記最終文章を選択するように構成された前記出力プロセッサは、前記１つ以上のプロセッサのうち同一のプロセッサであり得る。
【００３６】
一実施形態によると、翻訳方法は、ソース文章に対して複数の異なる翻訳過程を並列に行うステップ（前記複数の異なる翻訳過程は、対応する翻訳符号化過程、対応する翻訳復号化過程、及び前記対応する符号化過程が前記ソース文章又は前記ソース文章の変形を符号化するか否かのうちの１つ以上に対して互いに異なる）と、前記複数の異なる翻訳過程からの結果それぞれから決定された最も高い順位の候補文章に基づいて前記ソース文章の翻訳結果を出力するステップとを含む。
【００３７】
前記複数の異なる翻訳過程のうち少なくとも１つの翻訳復号化過程は、候補文章を決定するためにｍ−ベストビームサーチアルゴリズムを実現し、前記ｍ−ベストビームサーチアルゴリズムは、ｎ−ベストビームサーチアルゴリズムに比べて複雑度が低いビームサーチアルゴリズムであり、ｎ＞ｍであり得る。
【００３８】
一実施形態によると、翻訳方法は、ソース文章に対する第１符号化及び第１復号化、前記ソース文章に対する異なる符号化、及び／又は前記ソース文章に対する異なる復号化、前記ソース文章の１つ以上の変化に対する第１符号化及び第１復号化、及び／又は前記ソース文章の１つ以上の変化に対する異なる符号化及び／又は復号化を含む、前記ソース文章に対する複数の翻訳過程を並列に行うステップ（前記複数の各翻訳過程は、前記各翻訳過程から候補リストを生成するために翻訳符号化過程及び翻訳復号化過程のそれぞれを含む）と、前記候補リストそれぞれから候補文章の順位を決定するステップと、前記順位に基づいて決定された最も高い順位の候補文章に基づいて前記ソース文章の翻訳結果を出力するステップとを含み、前記翻訳復号化過程それぞれは、前記複数の各翻訳過程のための前記候補リストを生成するためにｎ−ベストビームサーチアルゴリズムを実現し得る。
【００３９】
一実施形態によると、翻訳方法は、ソース文章に対する第１符号化及び第１復号化、前記ソース文章に対する異なる符号化、及び／又は前記ソース文章に対する異なる復号化、前記ソース文章の１つ以上の変化に対する第１符号化及び第１復号化、及び／又は前記ソース文章の１つ以上の変化に対する異なる符号化及び／又は復号化を含む、前記ソース文章に対する複数の翻訳過程を並列に行うステップ（前記複数の各翻訳過程は前記各翻訳過程から候補リストを生成するために、翻訳符号化過程及び翻訳復号化過程それぞれを含む）と、前記候補リストそれぞれから候補文章を順位を決定するステップと、前記順位に基づいて決定された最も高い順位の候補文章に基づいて前記ソース文章の翻訳結果を出力するステップとを含み、前記１つ以上の翻訳復号化過程は、対応する候補リストを生成するためにｎ−ベストビームサーチアルゴリズムに比べて低い複雑度を有するビームサーチアルゴリズムであるｍ−ベストビームサーチアルゴリズムを実現し、ｎ＞ｍであり得る。
【００４０】
前記候補文章の順位を決定するステップは、前記候補リストそれぞれにリスコアリングモデルそれぞれを適用するステップを含み、前記最も高い順位の候補文章を発見するために、前記適用されたリスコアリングモデルそれぞれからの結果それぞれに基づいて、全ての候補文章よりも少ない数の候補文章に対する候補リストそれぞれが選択的に順位が再設定され得る。
【００４１】
前記１つ以上の翻訳復号化過程は、対応する候補リストを生成するために前記ｎ−ベストビームサーチアルゴリズムを選択的に実現し得る。
【発明の効果】
【００４２】
一側面によると、神経網に基づいた自動翻訳装置でＧＰＵを並列的に数個を用いてｍ−ベスト（ｍ＜ｎ）の候補文章を抽出することによってｎ−ベストの候補文章を抽出するために所要する時間を短縮することができる。
【００４３】
一側面によると、並列ＧＰＵに入力されるソース文章でも、並列ＧＰＵのエンコーダ／デコーダを変形することによって候補文章の多様性を確保することができる。
【図面の簡単な説明】
【００４４】
【図１】一実施形態に係る自動翻訳装置の構成を説明するための図である。
【図２】一実施形態に係る翻訳方法を示したフローチャートである。
【図３】他の実施形態に係る翻訳方法を示したフローチャートである。
【図４】一実施形態によりも少なくとも１つの翻訳プロセッサに入力されるソース文章を変形する方法を説明するための図である。
【図５】一実施形態により候補文章のスコアを算出し、第２言語の最終文章を選択する方法を示したフローチャートである。
【図６】一実施形態により第２言語の候補文章に対するスコアを算定し、第２言語の最終文章を選択する方法を示したフローチャートである。
【図７】一実施形態に係る翻訳プロセッサの構成及び動作を説明するための図である。
【図８】一実施形態に係る翻訳エンコーダを構成する神経網の構造及び動作を説明するための図である。
【図９】一実施形態に係る翻訳デコーダを構成する神経網の構造及び動作を説明するための図である。
【図１０】一実施形態に係る神経網を構成するリカレント神経網を説明するための図である。
【図１１】一実施形態に係る自動翻訳装置のブロック図である。
【図１２Ａ】実施形態に係る自動通訳装置のブロック図である。
【図１２Ｂ】実施形態に係る自動通訳装置のブロック図である。
【発明を実施するための形態】
【００４５】
本明細書で開示されている特定の構造的又は機能的な説明は単に実施形態を説明するための目的として例示されたものであり、実施形態は様々な異なる形態で実施され、本明細書に説明された実施形態に限定されることはない。
【００４６】
第１又は第２などの用語を複数の構成要素を説明するために用いることができるが、このような用語は１つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第１構成要素は第２構成要素と命名することができ、同様に第２構成要素は第１構成要素にも命名することができる。
【００４７】
いずれかの構成要素が他の構成要素に「連結されて」いると言及された場合、その次の構成要素に直接的に連結されてもよく、又は中間に他の構成要素が存在することもあり得ると理解されなければならない。一方いずれかの構成要素が他の構成要素に「直接連結されて」いるか「直接接続されて」いと言及される場合には、中間に他の構成要素が存在しないものとして理解されなければならない。構成要素間の関係を説明する表現、例えば「〜間に」と「すぐ〜の間に」、又は「〜に隣接する」と「〜に直接に隣接する」などのように解釈されなければならない。
【００４８】
本明細書で用いた用語は、単に特定の実施形態を説明するために用いられるものであって、本発明を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、１つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【００４９】
異なる定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【００５０】
下記で説明される実施形態は、自動車、テレビ、携帯電話機、その他の電子装置などに搭載されて迅速かつ正確な翻訳を提供するために用いられる。実施形態は、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、スマート家電機器、及びウェアラブルデバイスなどの様々な形態の製品で実現する。例えば、実施形態は、スマートフォン、モバイル機器、スマートホームシステム、及びウェアラブルデバイスの１つ以上のプロセッサで実行され得る通訳アプリ、命令、又は、ソフトウェアなどを含む非一時的なコンピュータで読み出し可能な記録媒体を含む。実施形態は、グローバルコンファレンシングハードウェア（ｇｌｏｂａｌ  ｃｏｎｆｅｒｅｎｃｉｎｇ  ｈａｒｄｗａｒｅ）を含み、相手側と画像会議の字幕又はキャプションのようなオーディオ及び／又はビデオ会議の翻訳された写本を提供するよう構成され、対応する方法又は同じ方法を実現可能のように構成された非一時的なコンピュータで読み出し可能な記録媒体を含む。また、実施形態は、運転者と異なる言語を使用している乗客間のコミュニケーションのために個人車両、バス、タクシー、対応する大衆交通などの通訳サービスを提供し、案内又は公開聴覚の陳述を提供する。以下、実施形態を添付する図面を参照しながら詳細に説明する。各図面に提示された同一の参照符号は同一の部材を示す。
【００５１】
図１は、一実施形態に係る自動翻訳装置の構成を説明するための図である。図１を参照すると、自動翻訳装置１００は、ユーザが話す第１言語を第２言語に自動翻訳する。自動翻訳装置１００は、エージェント１０５、翻訳機１１０、リスコアリングモデル１５０、及びプロセッサ１７０を含む。一実施形態に係る自動翻訳装置１００は、複数の翻訳プロセッサ１１１〜１１９を含む。
【００５２】
一実施形態によれば、翻訳装置１００は、音声認識器及びディープラニングに基づく機械翻訳機のような機械翻訳機を含む。音声認識器はユーザの音声を「江南駅までの道を教えて」のような第１言語の文章に変換する。機械翻訳機は、第１言語の文章を第２言語の文章に変換する。第１言語と第２言語は互いに異なる言語である。
【００５３】
図１において、翻訳機１１０、リスコアリングモデル１５０、及びプロセッサ１７０は機械翻訳機に対応し、エージェント１０５は音声認識器及び自動翻訳の過程を制御するように構成されたコントローラを含む。コントローラは、翻訳装置又は翻訳装置の外部に構成してもよい。
【００５４】
エージェント１０５は知能型チャットエージェントであり、ユーザとエージェントとの間の知能型相互作用又は音声認識を行う処理装置ハードウェアのような音声情報の認識及び理解動作を行うコンピュータ又は処理装置ハードウェアであり得る。
【００５５】
エージェント１０５は、エージェント１０５による認識結果及び／又はプロセッサ１７０による翻訳結果の出力を制御する。
【００５６】
実行された認識は、例えば、音声学又は発音のための音響モデル及び単語及び構文の連結性のための言語モデルのいずれか１つ又はその組合せのようにデジタル化された音声に対する様々な音声認識方法を含む。
【００５７】
デジタル化された音声は、入力音声をオーディオフレームで分析するエージェント１０５のパーサー及びアナログ−デジタルコンバータ（ＡＤＣ）によって導き出すことができる。エージェント１０５のパーサー及びアナログ−デジタルコンバータ（ＡＤＣ）は、例示的な音響及び／又は言語モデルのいずれか１つ又は２つの全てに提供されてもよく、このようなモデルに対する参照は単なる一例にすぎず、実施形態がこれに限定されることはない。
【００５８】
入力された可聴音声に対する、より多いか又は最も可能性のある認識を示すモデルに加えて、前記モデルはそれぞれ潜在的な音声又は単語認識それぞれに対する確率又はスコアを示す。
【００５９】
デコーダは、エージェント１０５において、例えば、例示的な音響及び／又は言語モデル（及び／又は他のモデル）のいずれか１つ又は両方が用いられる場合のように、可聴音声の最終認識を決定するための認識モデルの結果を相関させるために使用されてもよい。
【００６０】
一例として、エージェント１０５及び翻訳機１１０、リスコアリングモデル１５０、及び／又は、プロセッサ１７０はそれぞれ又は集合的に１つ以上の命令又はソフトウェアを含む非一時的コンピュータで読み出し可能な記録媒体、１つの以上のハードウェア構成要素、又は、その組合せによって実現され得る。
【００６１】
ユーザは、第１言語で表現された音声信号を第２言語に翻訳することを翻訳装置１００にリクエストする。一例として、音声信号は第１言語の音声信号であってもよい。
【００６２】
ユーザは、認識及び／又は翻訳、認識、及び翻訳又は翻訳動作のみをリクエストするために翻訳装置１００のユーザインターフェースと相互作用する。又は、翻訳装置１００は、例えば、下部装置のバックグラウンドで自動的又は連続的に動作する。又は、ユーザは、ユーザインターフェースリクエスト及び自動の実現のいずれか１つ又は両方を選択的に実現し得る。
【００６３】
翻訳装置１００に音声信号が入力されれば、エージェント１０５は音声信号を認識し、例えば、図１に示された「江南駅までの道を教えて」のように第１言語の第１言語文章を生成又は出力する。
【００６４】
上述したように、エージェント１０５は、可聴音声をデジタル信号に変換するためのハードウェアを含む。エージェント１０５は、例えば、１つ以上のマイクロホン、アナログ−デジタルコンバータ（ＡＤＣ）、及びパーサーを含み、又は、その一部あるいは組合せを含んでもよい。１つ以上のマイクロホン、アナログ−デジタルコンバータ（ＡＤＣ）、及びパーサーは翻訳装置１００の外部に存在するか、又は、翻訳装置１００内に含まれてもよい。
【００６５】
エージェント１０５は、エージェント１０５の例示的な認識モデルのうちの１つ以上に対応するオーディオフレームを提供し、認識モデルの結果を第１言語の文章に復号化することにより音声信号を認識できる。文章は、例えば、テキストタイプのデータで最終化される。
【００６６】
一例として、認識モデルは、それぞれの学習された神経網であり得る。
【００６７】
翻訳装置１００は、翻訳機１１０の複数のプロセッサを用いて認識された文章をそれぞれ翻訳する処理を開始するよう翻訳機１１０にリクエストする。
【００６８】
したがって、リスコアリングモデル１５０による各リスコアリング後に生成された第２言語の翻訳結果のそれぞれは、例えば、最終順位のためにプロセッサ１７０に提供される。
【００６９】
例えば、第１言語として発音された文章の最終翻訳の代表のように、プロセッサ１７０によって実行された順位の結果は、代替又は追加処理の動作のために伝達されるようエージェント１０５に再び提供される。
【００７０】
並列翻訳プロセッサ１１０は、複数の翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９を含む。１つ又は１つ以上、或いは全てのプロセッサは同時に、例えば、並列に動作してもよい。
【００７１】
翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９は、１つ以上のＧＰＵ（Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔｓ）のそれぞれであるか、又は１つ以上のＧＰＵの並列プロセッサであり得る。ここで、そのようなＧＰＵ例のそれぞれが提供されたが、追加的及び／又は代替的なプロセッサの実現が可能であるため、実施形態がこれに限定されることはない。
【００７２】
また、そのようなＧＰＵ又はプロセッサの例が提示されているが、１つ以上又は全ての翻訳動作それぞれは各翻訳過程を実現するための１つ以上のプロセッサを制御するために非一時的なコンピュータで読み出し可能コード又は揮発性又は不揮発性メモリ又は他の媒体のような非一時的なコンピュータで読み出し可能な記録媒体内又は命令によって実現され得る。
【００７３】
例えば、図１は、個別的なＧＰＵ１〜ＧＰＵ５を示す。ＧＰＵｓ１−３の翻訳動作はこのような実現された非一時的コンピュータで読み出し可能なコードによって実現され、第１ＧＰＵの１つの以上のプロセッサを制御し、ＧＰＵｓ４−５の翻訳動作はこのような実現されたコンピュータコードによって実現され、他の１つの以上の第２ＧＰＵを制御し、又はＧＰＵｓ１−５の全ての翻訳動作はこのような実現された非一時的コンピュータで読み出し可能なコードにより同じＧＰＵ又はプロセッサを用いて実現され得る。
【００７４】
他の実施形態として、翻訳装置１００は、例えば、マスタ−スレーブ又はクライアント−サーバ関係のように外部サーバ又はプロセッサにより前記各翻訳動作の１つ以上又は全ての外部の実現を開示又は制御する通信ハードウェア、又は送受信ハードウェア及びコントローラ、ＣＰＵをさらに含む、又は、図１で利用されたＧＰＵのいずれか１つを含んでもよく、外部で委託された翻訳動作の結果が利用可能であるか、受信する。例えば、そのような通信又は送受信ハードウェア装置により、翻訳装置１００を介して処理されてプロセッサ１７０に提供される。
【００７５】
並列翻訳プロセッサ１１０に含まれたいずれか１つの翻訳プロセッサの構成及び動作については、図７を参照して具体的に説明することにする。
【００７６】
各翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９は、第１言語のソース文章を符号化して特徴ベクトルを生成するエンコーダ及び特徴ベクトルを復号化して第２言語の候補文章を生成するデコーダを含む。エンコーダ及びデコーダは（人工）神経網（Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）から構成され、予め学習されたものであり得る。
【００７７】
各翻訳プロセッサ１１１〜１１９、エンコーダ及びデコーダの処理結果、神経網又は人工神経網を格納するキャッシュのような１つ以上のメモリを示す。
【００７８】
神経網又は神経網は、図１１〜図１２Ｂに示すように、翻訳装置１００の通信又は送受信ハードウェアにより学習及び／又は向上され、又は更新され得る。
【００７９】
エンコーダ及びデコーダを構成している神経網の構造については、図８〜図１０を参照して以下でより具体的に説明する。
【００８０】
翻訳の開始前に、自動翻訳装置１００は、第１言語のソース文章（例えば、「江南駅までの道を教えて」）を各翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９に並列的に入力（複写）する。
【００８１】
ソース文章は、例えば、同時に又は特定シーケンスにより、同時に翻訳プロセッサ１１１〜１１９に提供される。例えば、特定シーケンスは、翻訳プロセッサ１１１〜１１９の予想される処理時間それぞれに基づいて設計され、その結果、それぞれがほとんど又は同時にプロセッサ１７０に提供され、利用可能になる。
【００８２】
各翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９に含まれたエンコーダは、入力されたソース文章を特徴ベクトル、言い換えれば、抽象化された文章情報それぞれの形態に変換する。抽象化された文章情報は、例えば、入力ソース文章に関するか、又は入力ソース文章から分離又は抽出された音素、形態素、構文、文章及び／又は文脈情報を含む。エンコーダから特徴ベクトルを受信したデコーダは、翻訳結果による最終出力から第２言語の候補文章を生成する。ここで、デコーダは、ビームサーチアルゴリズムを用いてｍ個の第２言語の候補文章を含むｍ−ベストリストを生成する。以下、ｍをビームサーチアルゴリズムの複雑度という。
【００８３】
一般的又は通常のｎ−ベストビームサーチアルゴリズムにより生成される候補文章の個数をｎ個と仮定すれば、例えば、集合内のｎ個の全てのワードシーケンス又は指定されたビームが発見される。１つ以上の実施形態によれば、デコーダで生成されたｍ−ベストビームサーチアルゴリズムで実施形態によるｍはｎよりも小さい数であり、特定ビーム内の可能な全ての結果よりも少ない結果がｎ−ベストビームサーチアルゴリズムの結果に伝達される。
【００８４】
通常のｎ−ベストビームサーチアルゴリズムの複雑度ｎよりも小さい複雑度ｍを有するビームサーチアルゴリズムを用いることで、実施形態に係る各翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９に含まれたデコーダの演算複雑度は減少し得る。
【００８５】
しかし、ｎ−ベストビームサーチアルゴリズムを実現するデコーダに比べて、デコーダの動作複雑度は減少するものの、このようなｍ−ベストビームサーチアルゴリズムの復号化性能は、ｎ−ベストビームサーチアルゴリズムの復号化性能よりも落ち、したがって、１つ以上の実施形態で並列に動作する複数の翻訳プロセッサは、ｍ−ベストビームサーチアルゴリズムが実現される場合に、復号化性能におけるこのような性能減少を最小化するために使用される。
【００８６】
例えば、翻訳プロセッサ１１１〜１１９に示された複数のＧＰＵそれぞれを用いた並列処理は、一例によるｎ−ベストビームサーチアルゴリズムを行う一般的な単一翻訳プロセッサの性能と十分に類似するか、あるいはほとんど同じ性能を補正するために役に立つ一方、典型的なｎ−ベストビームサーチアルゴリズムを行う単一翻訳プロセッサのように、ソース文章の全体の翻訳速度を実際に潜在的に向上させることができる。
【００８７】
実施形態は、並列的に駆動される複数の翻訳プロセッサを活用することで復号化性能の減少を最小化する。したがって、実施形態は、各翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９を構成している複数のＧＰＵを用いた並列処理により、一般的な単一翻訳機と実質的に同じ性能を保障しながらも、翻訳速度を向上させることができる。
【００８８】
他の実施形態によれば、複数のＧＰＵを用いた並列処理によって一般的な単一翻訳機と実質的に同じ速度を保障しながらも翻訳性能を向上させ得る。例えば、各翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９に含まれたデコーダでビームサーチアルゴリズム（例えば、ｎ−ベストビームサーチアルゴリズム）の複雑度でｎに保持する場合、翻訳速度は向上しないものの、並列処理による候補群増加によってｎ−ベストビームサーチアルゴリズムを行う単一翻訳プロセッサに比べて翻訳性能は向上する。更なる実施形態によれば、各翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９に含まれたデコーダで用いられるビームサーチアルゴリズムの複雑度と翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９の数を調整又は選択し、所望する翻訳の速度及び翻訳性能を有する翻訳機を実現することができる。したがって、ソース／第１言語文章、翻訳符号化動作、翻訳復号化動作及び／又はｍ−ベスト又はｎ−ベストビームサーチアルゴリズム（又は、他のサーチアルゴリズム）が実現されるか否かの多様化された又は変化した側面に基づいて、同じ翻訳プロセッサのうち任意のものをどのように相違に実現するか、又は翻訳プロセッサ１１１〜１１９のうちのいずれかを実現するかを決定する。
【００８９】
一例として、選択される１つ以上の翻訳プロセッサ１１１〜１１９は、ｎ−ベストビームサーチアルゴリズムを実現する一方、残りの翻訳プロセッサは一例によるｍ−ベストビームサーチアルゴリズムを実現してもよい。したがって、翻訳装置１００がｍ−ベストビームサーチアルゴリズムを実現する翻訳プロセッサのみを実現できるように選択することは一時的であり、一方、更なる時間に翻訳装置は、ｍ−ベストビームサーチアルゴリズム又はｎ−ベストビームサーチアルゴリズムの両方を実現する翻訳プロセッサを実現してもよい。
【００９０】
それにもかかわらず、実現される翻訳プロセッサに応じて対応する結果である最も高いスコアの最終候補文章は対応するスコアリングモデルによって実現され、プロセッサ１７０に提供又は指示され、プロセッサ１７０は、ソース第１言語文章の最終翻訳を決定するために提供された最終候補文章それぞれの順位を決定する。以下で、説明の便宜のために各翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９に含まれたデコーダで複雑度の減少したビームサーチアルゴリズムが用いられる実施形態、例えば、図１に示す翻訳プロセッサ１１１〜１１９によって示されたｍ−ベスト結果のそれぞれについて説明する。実施形態は、デコーダでビームサーチアルゴリズムの他に復号化アルゴリズムが用いられる場合にも適用され得る。
【００９１】
翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９を用いた並列処理によって復号化性能の減少を防止するためには、翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９から抽出されるｍ−ベスト候補文章の多様性が保障されなければならない。そのために、自動翻訳装置１００は、複数の翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９のうち少なくとも１つの翻訳プロセッサに入力されるソース文章、少なくとも１つの翻訳プロセッサに含まれたエンコーダ、及び少なくとも１つの翻訳プロセッサに含まれたデコーダのうち少なくとも１つを変形する。自動翻訳装置１００は、ソース文章、エンコーダ及びデコーダの変形、及びその間の様々な変形組合せによって第２言語の候補文章の多様性を確保できる。
【００９２】
例えば、自動翻訳装置１００は、ＧＰＵ（１）１１１には第１言語のソース文章を入力し、ＧＰＵ（２）１１３には第１言語のソース文章を同じ意味を有する他の文章又は類似の文章に変更して入力する。又は、代案的に、第１言語のソース文章がＧＰＵ（２）に提供されてもよく、ＧＰＵ（２）はソース文章を翻訳してもよい。自動翻訳装置１００がソース文章を変形する方法については図４を参照して説明する。
【００９３】
自動翻訳装置１００は、ＧＰＵ（３）１１５のエンコーダに適用されるパラメータ値、又は活性関数に対してノイズを適用することでエンコーダを変形する。自動翻訳装置１００は、ＧＰＵ（４）１１７のデコーダに適用されるパラメータ値又は活性関数に対してノイズを適用することでデコーダを変形する。その他にも、自動翻訳装置１００は、エンコーダ及びデコーダに適用されるパラメータ値又は活性関数に対して適用されるノイズを相異にしてもよい。パラメータ値は、エンコーダ又はデコーダの神経網を構成しているシナプスの加重値である。また、活性関数は、エンコーダ又はデコーダの神経網を構成しているノードの活性化特性を示す関数である。
【００９４】
又は、自動翻訳装置１００はＧＰＵ（５）１１９のように、エンコーダＡを学習初期値、学習セット、及び学習順序のうち少なくとも１つを変更して学習されたエンコーダＡ’に代替し、デコーダＢを学習初期値、学習セット、及び学習順序のうち少なくとも１つを変更して学習されたデコーダＢ’に代替してもよい。
【００９５】
ここで、エンコーダ又はデコーダの交替は、例えば、利用可能なエンコーダ又はデコーダのうち選択するＧＰＵ（１）によって実現され、又は、代案的に学習されたエンコーダ及び／又はデコーダを含むＧＰＵ（５）のような翻訳プロセッサの翻訳動作を選択的に実現することで実現される。
【００９６】
例えば、並列処理において、エンコーダＡ及びデコーダＢを有するＧＰＵ（１）の翻訳動作は、エンコーダＡ及びデコーダＢを有するＧＰＵ（２）〜（４）の翻訳動作、及び、エンコーダＡ’及びデコーダＢ’を有するＧＰＵ（５）の翻訳動作と並列的に実現できる。
【００９７】
翻訳装置１００内の複数のエンコーダ及び／又はデコーダは、翻訳システムの翻訳装置１００の一部を参照する。上述したように、このような翻訳システムのエンコーダ又はデコーダのそれぞれは個別プロセッサ内に含まれ、又は、翻訳装置１００の１つ以上のプロセッサによって又は１つ以上のプロセッサ内に又は集合的又は互いに異なるように集合的に配置されてもよい。
【００９８】
実施形態によって自動翻訳装置１００は、適応的に翻訳プロセッサに変形を加える代わりに、複数の翻訳プロセッサ１１１、１１３、１１５、１１７、及び１１９のうち少なくとも一部の翻訳プロセッサに変形が加えられた並列翻訳プロセッサを用いてもよい。
【００９９】
一実施形態では、複数の翻訳プロセッサ又は動作を並列化することで翻訳速度を改善させ、ソース文章、エンコーダ、デコーダの様々な変形組合せにより様々な第２言語の候補文章（例えば、ｍ−ベスト）を生成することで翻訳の正確度も向上させ得る。
【０１００】
一実施形態では、５個の翻訳プロセッサを並列的に使用する実施形態について説明したが、必ずこれに限定されることではなく、その他にも様々な個数の翻訳プロセッサを活用できる。
【０１０１】
一実施形態によれば、翻訳装置１００は、リスコアリングモデル１５０を個別的に含んでもよいし、又は、リスコアリングモデル１５０は翻訳プロセッサモジュール１１１〜１１９内にそれぞれ含まれてもよい。
【０１０２】
リスコアリングモデル１５０のそれぞれは、スコアに基づいて第２言語の一例のｍ−ベスト又はｎ−ベスト候補文章の順位を付け、第２言語のｍ−ベスト又はｎ−ベスト候補文章のスコアを再算定するリスコアリングモデル（ｒｅｓｃｏｒｉｎｇ  ｍｏｄｅｌ）をさらに含む。リスコアリングモデル１５０のそれぞれは、各翻訳プロセッサ又は翻訳動作の最終候補文章として、１−ｂｅｓｔの候補文章をプロセッサ１７０に出力できる。
【０１０３】
一例として、リスコアリングモデル１５０のそれぞれは第２言語の候補文章を復号化する過程で算出されたスコアをそのまま第２言語の候補文章に対応するスコアとして決定する。一例として、ＧＰＵ１によって識別された候補文章に対するスコアは、当該の候補文章が示される確率値である。この場合、リスコアリングモデル１５０のそれぞれは、「ランキングモデル」と称される。
【０１０４】
また、自動翻訳装置１００はプロセッサ１７０をさらに含む。プロセッサ１７０は、複数のリスコアリングモデル１５０から受信される第２言語の候補文章に基づいて、最終翻訳の結果に該当する候補文章を選択する。
【０１０５】
一例として、プロセッサ１７０は、全てのリスコアリングモデル１５０で算出された第２言語の候補文章それぞれに対応するスコアに基づいて、第２言語の候補文章のうち最高スコアを有する候補文章を第２言語の最終文章（「Ｈｏｗ  ｄｏ  Ｉ  ｇｅｔ  ｔｏ  Ｇａｎｇｎａｍ  Ｓｔａｔｉｏｎ？」）として選択して出力する。
【０１０６】
選択された第２言語の最終文章はエージェント１０５に提供され、エージェント１０５は最終翻訳の結果をユーザに送信する。
【０１０７】
エージェント１０５は、翻訳装置１００のディスプレイを介して提供するよう、最終翻訳の結果を第２言語のテキスト形態にユーザへ提供する。一例として、エージェント１０５は、最終翻訳の結果をエージェント１０５の音声合成プロセッサ及び翻訳装置１００のスピーカを介してユーザに聴覚的に提供する。例えば、エージェント１０５は、エージェント１０５のテキスト対スピーチ（ｔｅｘｔ  ｔｏ  ｓｐｅｅｃｈ；ＴＴＳ）技術に基づいて最終翻訳の結果を第２言語の音声形態としてユーザに提供してもよい。
【０１０８】
実施形態によりエージェント１０５と翻訳動作の開示との間の相互作用は、各ユーザ端末内又はユーザ端末を介して、又は、遠隔サーバのようなサーバで実現される。エージェント１０５及び翻訳機１１０、リスコアリングモデル１５０及びプロセッサ１７０は、一例として、スマートフォンのようなユーザ端末で動作する。エージェント１０５、及び翻訳機１１０、リスコアリングモデル１５０及びプロセッサ１７０は、スピーチの音声認識又は遠隔端末からの聴覚フレームを受信することでサーバで動作し、又は、代案的に動作する。
【０１０９】
サーバの実現は、１つ以上の翻訳プロセッサを含んだり、又は含まないローカル装置のエージェント１０５、また、ローカル装置又は遠隔装置から遠隔にある対応するリスコアリングモデル及び遠隔サーバに常駐するプロセッサを含む。この場合、遠隔サーバはエージェント１０５の翻訳最終結果を提供するためにローカル装置と通信し、エージェント１０５は翻訳最終結果をユーザに提供し、又は、他の動作を実現する。上述した内容は単に例示であって、様々な変更が可能である。
【０１１０】
例えば、エージェント１０５に含まれたコントローラは、ユーザ端末及び音声認識器で動作でき、翻訳機１１０、リスコアリングモデル１５０、及びプロセッサ１７０は、サーバ又はサーバ内で動作する。
【０１１１】
また、動作はエージェント１０５によって実行されるものとして議論され、又は、翻訳機１１０、リスコアリングモデル１５０、及びプロセッサ１７０によって実行されるものとして議論され、エージェント１０５のコントローラはこのような動作がエージェント１０５及び翻訳機１１０、リスコアリングモデル１５０、及びプロセッサ１７０のそれぞれで実行されるように制御し、その間の情報の受信及び送信を制御する。
【０１１２】
代案的に、コントローラは翻訳機１１０内に含まれ、プロセッサ１７０によって表現され、エージェント１０５、翻訳機１１０、プロセッサ１７０のうちいずれか１つ又は全てはエージェント１０５、翻訳機１１０、リスコアリングモデル１５０、及びプロセッサ１７０の各動作を制御する各コントローラを含み、一例として、その間の上述した動作の結果を送信する。
【０１１３】
図２は、一実施形態に係る翻訳方法を示したフローチャートである。図２を参照すると、一実施形態に係る自動翻訳装置は、エンコーダ及びデコーダを含む複数の翻訳プロセッサに第１言語のソース文章を入力する（Ｓ２１０）。複数の翻訳プロセッサのいずれか１つの翻訳プロセッサの構造及び動作については図７を参照して説明する。
【０１１４】
自動翻訳装置は、ソース文章を複数の翻訳プロセッサごとに符号化して特徴ベクトルを生成する（Ｓ２２０）。特徴ベクトルは、「抽象化された文章情報」とも称される。自動翻訳装置は、入力されたソース文章を符号化によって特徴ベクトルに変換する。例えば、「こんにちは」というソース文章が入力された場合、自動翻訳装置は３．４３２、４．７４２、...、０．２９９のような抽象化された文章情報、言い換えれば、特徴ベクトルを生成する。
【０１１５】
自動翻訳装置は、特徴ベクトルを複数の翻訳プロセッサごとに復号化して第２言語の候補文章を生成する（Ｓ２３０）。自動翻訳装置は、例えば、ｍ−ベストビームサーチアルゴリズムを用いて、複数の翻訳プロセッサごとに予め決定した数（例えば、ｍ個）の候補文章を生成する。
【０１１６】
自動翻訳装置は、ビームサーチアルゴリズムを用いて抽象化された文章情報に対応する候補文章リストを出力する。自動翻訳装置は、例題ｍ−ベストビームサーチアルゴリズムを用いて、例えば、３．４３２、４．７４２、...、０．２９９のような抽象化された文章情報に対応する候補文章のリスト、すなわち、候補文章リストを生成する。候補文章リストは、例えば、「Ｈｅｌｌｏ」、「Ｈｏｗ  ａｒｅ  ｙｏｕ？」、ｃ、「Ｈｏｗ  ａｒｅ  ｙｏｕ  ｄｏｉｎｇ？」のような候補文章を含む。
【０１１７】
ここで、ｍ−ベストビームサーチアルゴリズムが実現される場合のように、自動翻訳装置が生成する候補文章の個数が少なければ翻訳速度は速いものの、不正確な結果を生成することがある。また、ｎ−ベストビームサーチアルゴリズムを通すと、自動翻訳装置が生成する候補文章の個数が多い場合に翻訳正確度は高くなるものの、翻訳速度は遅れてしまう。一実施形態では、複数の翻訳プロセッサを用いることによって１つの翻訳プロセッサが生成する候補文章の個数を減らして処理速度を向上させる一方、複数の翻訳プロセッサの変形により多様化された候補文章を生成することで翻訳の正確度も向上することができる。翻訳プロセッサ又は動作の変形又は変更によって多様化された候補文章を生成する方法については図３を参照して説明する。
【０１１８】
自動翻訳装置は、第２言語の候補文章から第２言語の最終文章を選択する（Ｓ２４０）。自動翻訳装置は、例えば、リスコアリングモデルを用いて候補文章リスト（例えば、「Ｈｅｌｌｏ」、「Ｈｏｗ  ａｒｅ  ｙｏｕ？」、「Ｈｏｗ  ａｒｅ  ｙｏｕ  ｄｏｉｎｇ？」）のうち最も確率の高い文章（例えば、「Ｈｏｗ  ａｒｅ  ｙｏｕ  ｄｏｉｎｇ？」）を第２言語の最終候補文章として選択する。その後、全ての最終候補文章が考慮され、最も高い順位の最終文章が選択される。
【０１１９】
自動翻訳装置がリスコアリングモデルを用いて第２言語の最終文章を選択する方法については図５及び図６を参照して説明する。
【０１２０】
図３は、他の実施形態に係る翻訳方法を示したフローチャートである。図３を参照すると、ステップＳ３１０、ステップＳ３３０、ステップＳ３４０、及びステップＳ３５０は、図２に示すステップＳ２１０、ステップＳ２２０、ステップＳ２３０、及びステップＳ２４０に対応するため重複する説明は省略する。
【０１２１】
一実施形態に係る自動翻訳装置は、ステップＳ３２０において、複数の翻訳プロセッサのうち少なくとも１つの翻訳プロセッサに入力されるソース文章、少なくとも１つの翻訳プロセッサに含まれたエンコーダ、及び少なくとも１つの翻訳プロセッサに含まれたデコーダのうち少なくとも１つを変更し得る。
【０１２２】
また、例えば、対応するエンコーダ、デコーダ又はサーチアルゴリズムの態様が代案的又は追加的に変更される場合のように、多い翻訳過程が同一の変化又は変更されたソース文章によって実行される例において、同一の変化又は変更されたソース文章は対応する複数の翻訳プロセッサに提供されてもよいし、又は対応する翻訳動作のために同一のメモリから読み出されてもよい。
【０１２３】
同様に、一例として、ソース文章又は変化又は変更されたソース文章は、同一の文章が複数の翻訳プロセッサに入力され、又は利用可能になり、又は、エンコーダが翻訳プロセッサ間に同一であるか、又は、符号化動作が翻訳動作の間に同一の複数の翻訳動作で用いられる場合、ベクトル形態の抽象化された文章情報のようにこのようなエンコーダ又は符号化動作のうち１つの結果が複数の翻訳プロセッサによって異なるデコーダに提供され、又は、利用可能になり、又は、複数の翻訳動作によって異なる復号化動作で使用され、もたらされること等が行われてもよい。したがって、符号化は翻訳動作の実現される全ての翻訳プロセッサで必ず実現されることはない。
【０１２４】
自動翻訳装置が少なくとも１つの翻訳プロセッサに含まれたエンコーダ、及び／又は少なくとも１つの翻訳プロセッサに含まれたデコーダを変形する方法については次の通りである。
【０１２５】
自動翻訳装置は、少なくとも１つの翻訳プロセッサに含まれたエンコーダに適用されるパラメータ値又は活性関数に対してノイズを適用することで、エンコーダ又はエンコーダの動作を変形又は変化させ得る。又は、自動翻訳装置は、異なる方式の異なるエンコーダを有する異なる翻訳プロセッサを含む。パラメータ値は、対応する神経網から構成されるエンコーダのパラメータあるいは加重値である。一実施形態のように、エンコーダ及びデコーダを神経網又は神経網のそれぞれに構成する場合、エンコーダ及びデコーダを学習させる過程が先行的に行われる。ここで、エンコーダ及びデコーダを学習させることは、神経網を構成しているパラメータ又は加重値の値を決定するものとして理解される。
【０１２６】
自動翻訳装置は、例えば、加重値の確率分布により加重値に適用されるノイズを生成して適用する。又は、自動翻訳装置は、活性関数の確率分布により活性関数に適用されるノイズを生成する。
【０１２７】
同様に、自動翻訳装置は、少なくとも１つの翻訳プロセッサに含まれたデコーダに適用されるパラメータ値又は活性関数に対してノイズを適用することで、デコーダ又はデコーダの動作を変形又は変化させ得る。又は、自動翻訳装置は異なる方式の異なるデコーダを有する異なる翻訳プロセッサを含む。
【０１２８】
また、自動翻訳装置は、少なくとも１つの翻訳プロセッサに含まれたエンコーダを、学習初期値、学習セット、及び学習順序のうち少なくとも１つを変更して学習されたエンコーダに代替することでエンコーダを変形する。同様に、自動翻訳装置は、少なくとも１つの翻訳プロセッサに含まれたデコーダを、学習初期値、学習セット、及び学習順序のうち少なくとも１つを変更して学習されたデコーダに代替してもよい。
【０１２９】
図４は、一実施形態によって、も少なくとも１つの翻訳プロセッサに入力されるソース文章を変形する方法を説明するための図である。図４を参照すると、一実施形態に係る自動翻訳装置は、第１言語に関する情報に基づいて、少なくとも１つの翻訳プロセッサに入力されるソース文章の語順を変更する。ここで、第１言語に関する情報は、例えば、言語モデルに格納され得る。
【０１３０】
例えば、一実施形態における言語モデルは、例えば、認識のための音響モデル及び言語モデルを用いて、ソース文章を聴覚的に認識する言語モデルを実現する認識装置によって用いられ、又は、認識装置内に用いられる同一の言語モデルであってもよい。
【０１３１】
例えば、ソース文章が「江南駅までの道を教えて」であると仮定する。
【０１３２】
自動翻訳装置は、「道を教えて、江南駅までの」、「教えて！江南駅までの道を」、「教えて、道を、江南駅までの」のようにソース文章の語順を変更することでソース文章を変形する。ここで、自動翻訳装置は、ソース文章をワード単位又はサブワード単位に区分し、サブワード間の語順を変更することでソース文章を変形する。以下で説明する実施形態では「サブワード」を用いる場合について説明したが、実施形態は「サブワード」の代わりに「ワード」を用いる場合にも適用され得る。
【０１３３】
また、自動翻訳装置は、第１言語に関する情報に基づいて、少なくとも１つの翻訳プロセッサに入力されるソース文章に含まれた単語を類義語（類似語）に代替できる。ここで、第１言語に関する情報は類義語の辞典を含む。
【０１３４】
類義語（類似語）に代替される単語は、サブワード、及びワードのうちいずれか１つである。サブワードは、一般的な文章で頻繁に用いられるキャラクターのシーケンスとして理解される。
【０１３５】
自動翻訳装置は、例えば、類義語辞典から「〜まで」の類義語である「〜に」を、「教えて」の類義語である「教えてください」、「どうなりますか」、「教えてもらえませんか？」などを、「道を教えて」の類義語である「どうやって行けばいいですか？」、「どうやって行くんですか？」、「どうやって行ったらいいでしょうか」などを検索する。自動翻訳装置は、ソース文章に含まれた単語を検索された類義語に代替し、図４に示すようにソース文章を多様に変形することができる。
【０１３６】
図５は、一実施形態により候補文章のスコアを算出し、第２言語の最終文章を選択する方法を示したフローチャートである。図５を参照すると、一実施形態に係る自動翻訳装置は、第２言語の候補文章それぞれに対するスコアを算出する（Ｓ５１０）。自動翻訳装置は、複数の翻訳プロセッサごとに第２言語の候補文章それぞれに対するスコアを算出する。ここで、候補文章に対するスコアは、候補文章が示される確率値又は信頼度値である。自動翻訳装置は、対応する翻訳動作の復号化の過程で各候補文章に対して算出された確率値をそのまま用いてもよく、図１に示すリスコアリングモデル１５０のうち対応する１つのリスコアリングモデルを用いるよう、新しいリスコアリングモデルを用いて各候補文章に対するスコアを再算定してもよい。
【０１３７】
自動翻訳装置は、ステップ５１０で算出された第２言語の候補文章のうち最高スコアを有する候補文章を第２言語の最終文章として選択する（Ｓ５２０）。
【０１３８】
一例として、図１に示すプロセッサ１７０に提供されるよう、それぞれの実現された翻訳プロセッサ又は翻訳動作に対して、対応する１つ以上の最終候補文章が選択され、選択された最終候補文章は最も高い再算出されたスコアを有する。ここで、プロセッサ１７０は、ワンソース文章の翻訳として最終文章を選択する。
【０１３９】
代案的に、１つ以上の又は全ての対応するリスコアリングモデルによってリスコアされた全ての候補文章は、一例によるプロセッサ１７０に、そのようなリスコアリングモデルそれぞれの結果として提供又は指示され、ワンソース文章の翻訳としてプロセッサ１７０は全ての候補文章から最も高いスコアを有する候補文章を最終文章として選択する。たとえ、実施形態が提供されたが、実施形態はこれに限定されることなく、他の例と共にその組合せも利用可能である。
【０１４０】
例えば、デコーダ又はリスコアリングモデルそれぞれの出力として候補文章が提供されることなく、対応するスコアは各スコアが対応する基本候補文章に対する識別又は参照から出力され得るため、プロセッサ１７０は、単に最も高い再算出されたスコアを選択し、対応する候補文章を識別するときに文章を最終候補文章として出力できる。
【０１４１】
図６は、一実施形態により第２言語の候補文章に対するスコアを算定し、第２言語の最終文章を選択する方法を示したフローチャートである。図６を参照すると、自動翻訳装置は、第２言語の候補文章それぞれのスコアを算出する（Ｓ６０５）。翻訳装置は、翻訳プロセッサそれぞれのために第２言語の候補文章それぞれのスコアを算出する。ここで、候補文章のスコアは、候補文章に対応する信頼度値又は確率である。
【０１４２】
一実施形態に係る自動翻訳装置は、異なる複数の異なるリスコアリングモデルに基づいて、第２言語の候補文章それぞれに対応する複数のスコアを算出する（Ｓ６１０）。一実施形態では、異なる複数の異なるリスコアリングモデルを並列的に利用する。複数のモデルを並列的に用いて複数のスコアを算出し、スコアの平均値を用いることで、速度面で損失されることなく、翻訳の正確度を向上することができる。
【０１４３】
自動翻訳装置は、第２言語の候補文章それぞれに対応する複数のスコアの統計（例えば、平均値、標準偏差など）を用いて、第２言語の候補文章それぞれに対応するスコアを算出する（Ｓ６２０）。
【０１４４】
一例として、第２言語の最終候補文章の選択個数は、ステップＳ６１０で各リスコアリングモデルのそれぞれの結果に基づいて今後検討のために選択され、このような選択された最終候補文章のスコアは、ステップＳ６３０で最終文章が選択される以前に、このようなスコアの統計を用いてステップＳ６２０で再算出された選択された最終候補文章のスコアである。
【０１４５】
例えば、このような統計的リスコアリングは、このようなリスコアリングモデルのうちからの統計情報がリスコアリングモデル間に共有される場合、例えば、翻訳プロセッサの互いに異なる翻訳過程の各リスコアリングモデルによって実行され得る。
【０１４６】
代案的に、統計的スコア再算出は、図１に示すプロセッサ１７０によるもののように、リスコアリングモデルの動作の完了後で実行され、ここで、このような追加的な統計的スコア再算出は、各リスコアリングモデルからプロセッサ１７０に提供又は指示される、プロセッサ１７０によって実行され、最終文章を選択するための動作６３０における最終考慮のために、各リスコアリングモデルからプロセッサ１７０に提供され、或いは、プロセッサ１７０によって決定された統計的な情報に基づいて実行される。
【０１４７】
ワンソース文章の翻訳として、翻訳装置は、ステップＳ６２０で最も高い再算出されたスコアを有する最終候補文章のうちの１つを選択する（Ｓ６３０）。
【０１４８】
図７は、一実施形態に係る翻訳プロセッサの構成及び動作を説明するための図である。図７を参照すると、一実施形態に係る翻訳プロセッサ７００は、エンコーダ７１０、デコーダ７３０、及びリスコアリングモデル７５０を含む。
【０１４９】
例えば、「江南駅までの道を教えて」のようなソース文章が翻訳プロセッサ７００から入力されると仮定する。翻訳プロセッサ７００は、ソース文章を例を挙げて、「江南」、「駅」、「まで」、「の」、「道」、「を」、「教えて」のようなサブワードの単位で区分して順次エンコーダ７１０に入力する。
【０１５０】
エンコーダ７１０は一文章全体の入力が完了すると、ソース文章を符号化して特徴ベクトルを生成する。上述したように、翻訳プロセッサ７００は、ソース文章をエンコーダに入力する前に、ソース文章の語順を変更し、ソース文章に含まれた単語（又はサブワード）を類義語に代替する方式でソース文章を変形する。翻訳プロセッサ７００は、変形された第１言語のソース文章をエンコーダ７１０に入力する。
【０１５１】
代案的に、翻訳プロセッサ７００が含まれた翻訳装置は、変化したソース文章を翻訳プロセッサ７００及び翻訳プロセッサ７００のエンコーダ７１０に入力する前に、ソース文章の変化を行ってもよい。
【０１５２】
エンコーダ７１０は神経網７１５から構成される。神経網７１５の構造及び動作は図８を参照して説明する。
【０１５３】
エンコーダ７１０は、神経網７１５によって第１言語のソース文章を符号化して特徴ベクトルを生成する。エンコーダ７１０は、「江南駅までの道を教えて」のような１つのソース文章に対して「２．５４２」、「０．８２７」、「５．９３６」などのような特徴ベクトルを生成する。
【０１５４】
デコーダ７３０は、エンコーダ７１０で生成された特徴ベクトルを復号化して第２言語の候補文章を生成する。デコーダ７３０は、例えば、ビームサーチアルゴリズムを用いて第２言語の候補文章リストを生成する。第２言語の候補文章リストは例えば、「Ｈｏｗ  ｄｏ  Ｉ  ｇｅｔ  ｔｏ  Ｇａｎｇｎａｍ？」、「Ｐｌｅａｓｅ  ｌｅｔ  ｍｅ  ｋｎｏｗ  ｔｈｅ  ｗａｙ  ｔｏ  Ｇａｎｇｎａｍ  Ｓｔａｔｉｏｎ」、「Ｈｏｗ  ｄｏ  Ｉ  ｇｅｔ  ｔｏ  Ｇａｎｇｎａｍ  Ｓｔａｔｉｏｎ？」、及び「Ｉ’ｌｌ  ｇｏ  ｔｏ  Ｇａｎｇｎａｍ  Ｓｔａｔｉｏｎ」等のような候補文章を含む。ここで、候補文章それぞれは０．２、０．０５、０．６、０．１等のように候補文章それぞれに対応するスコア（確率値）を含む。候補文章のそれぞれは、デコーダ７３０で第２言語のサブワード単位に出力される。
【０１５５】
一実施形態において、エンコーダ７１０の入力次元は第１言語の「サブワード」から構成される辞典の次元であり、デコーダ７３０の出力次元は第２言語の「サブワード」から構成される辞典の次元である。辞典の次元は、予め含まれたサブワードの数である。
【０１５６】
リスコアリングモデル７５０は、各候補文章に対して決定されたスコアにより候補文章を整列する。リスコアリングモデル７５０は、例えば、各候補文章に対応するスコアを予め設定された個数の候補文章のうち、スコアの最も高い候補文章から順に予め設定された点数に応じて整列する。翻訳プロセッサ７００は、リスコアリングモデル７５０が整列した予め設定された個数のスコアのうち、最も高いスコアに対応する候補文章（「Ｈｏｗ  ｄｏ  Ｉ  ｇｅｔ  ｔｏ  Ｇａｎｇｎａｍ  Ｓｔａｔｉｏｎ？」）を翻訳プロセッサ７００の第２言語の最終候補文章として選択する。
【０１５７】
一例として、リスコアリングモデル７５０は、各候補文章のオリジナル文章が翻訳文に翻訳される確率値と、翻訳文がオリジナル文章に翻訳される確率値とを平均した平均値を用いて最終候補文章を選択することができる。
【０１５８】
図８は、図７に示すエンコーダ７１０に含まれた神経網７１５のように、エンコーダを構成する神経網の構造及び動作を説明するための図である。図８を参照すると、一例による神経網７１５は、入力レイヤ８１０、隠れレイヤ８３０、及び出力レイヤ８５０を含む。
【０１５９】
入力レイヤ８１０の次元は、第１言語のサブワードの次元に対応する。第１言語はサブワード単位として、ワン−ホットベクトル（ｏｎｅ−ｈｏｔ  ｖｅｃｔｏｒ）の形態に入力レイヤ８１０に入力される。例えば、エンコーダに入力される最初サブワードが「江南駅」である場合、入力レイヤ８１０の複数のノードのうち「江南駅」に対応するノードに「１」が入力され、残りのノードには「０」が入力されてもよい。入力レイヤ８１０に入力されたワン−ホットベクトル（「江南駅」に対応して「１」がマッピングされたベクトル）は隠れレイヤ８３０を経て出力レイヤ８５０に伝播して、出力レイヤ８５０はワン−ホットベクトル（例えば、「江南駅」に対応して「１」がマッピングされたベクトル）に対応する特徴ベクトル（例えば、抽象化された文章情報）を出力する。
【０１６０】
エンコーダを構成している神経網７１５は、リカレントｔ神経網から構成される。そのため、２番目以後のサブワードを符号化するとき、少なくとも１つの以前サブワードの符号化結果が影響を及ぼしかねない。
【０１６１】
例えば、２番目のサブワードが「まで」の場合、「まで」に対応して「１」がマッピングされたワン−ホットベクトルが入力レイヤに入力され得る。「まで」に対応して「１」がマッピングされたワン−ホットベクトルが隠れレイヤを経て出力レイヤに伝播するとき、隠れレイヤに含まれたノードは最初のサブワードを伝播した隠れレイヤのノードの出力を追加的に入力されることができる。
【０１６２】
このように、神経網７１５の入力レイヤに第１言語のサブワードが順次入力されることにより、最終的に出力される特徴ベクトルが生成される。
【０１６３】
図９は、図７に示すデコーダ７３０に含まれた神経網７３５のように一例によるデコーダを構成している神経網の構造及び動作を説明するための図である。図９を参照すると、一例による神経網７３５は、入力レイヤ９１０、隠れレイヤ９３０及び出力レイヤ９５０を含む。
【０１６４】
神経網７３５は、エンコーダで生成された特徴ベクトルを復号化して第２言語の候補文章を生成する。神経網７３５の入力レイヤ９１０は、エンコーダで最終的に生成された特徴ベクトルが入力される。特徴ベクトルは、隠れレイヤ９３０を経て出力レイヤ９５０に伝播する。出力レイヤ９５０の次元は、第２言語のサブワードから構成された辞典の次元に対応する。出力レイヤ９５０に含まれた各ノードは第２言語のサブワードに対応し、各ノードの出力値は該当するノードのサブワードが出力される確率を意味する。ビームサーチアルゴリズムを行う自動翻訳装置は、確率値の高い順に予め決定した数（例えば、３）の候補サブワードを選択する。例えば、予め決定した３万個のサブワードのうち特徴ベクトルが示される確率（スコア）に該当する３個のスコアＰ１−１、Ｐ１−２、Ｐ１−３が他の段階に伝播され得る。
【０１６５】
候補サブワードが選択されれば、各候補サブワードに対応して次に候補サブワードが復号化される。ここで、エンコーダの神経網と同様に、デコーダの神経網７３５の隠れレイヤ９３０の状態情報は、次に隠れレイヤに伝達される。例えば、ｉ番目のサブワードを決定しようとする場合、神経網７３５は、１ないしｉ−１番目まで決定されたサブワードに基づいてｉ番目のサブワードの確率（スコア）を決定する。
【０１６６】
前述した方式により候補サブワードのシーケンスが生成され、候補サブワードのシーケンスによって第２言語の候補文章が構成される。ただし、１つのサブワードを復号化するごとに予め決定した数（例えば、３）の候補サブワードが選択される場合、最終候補文章の数が指数的に増加することになる。このような現象を防止するために段階ごとに枝刈り（ｐｒｕｎｉｎｇ）が適用される。枝刈りは、候補文章の数が予め決定した数に保持できるように枝刈りする方式であって、例えば、枝刈りによって２番目のサブワードまで復号化して生成された９個の候補文章のうち、３個の候補文章のみが選択されて次の段階に伝播されてもよい。
【０１６７】
一実施形態によれば、一段階でサブワードが選択されれば、選択されたサブワードによって次の段階の隠れレイヤが変更される。一例として、選択されたサブワードを指示する埋め込みベクトルが次の段階の隠れレイヤに含まれたノードの内部状態に反映される。
【０１６８】
図１０は、図８及び図９に示す神経網それぞれのためのリカレント神経網のように、一例による神経網を構成しているリカレント神経網を説明するための図である。図１０を参照すると、リカレント神経網の構造が示されている。
【０１６９】
リカレント神経網は、「循環状神経網」とも呼ばれて、音声、音楽、文字列、動画などのように順次的な情報が入ったデータを扱うために適する神経網構造である。
【０１７０】
リカレント神経網はデータで規則的なパターンを認識し、抽象化された情報を抽出する。リカレントは「反復的」という意味として、神経網の特定部分が反復する構造を有することを意味である。神経網の特定の部分が「反復する」ことは同じタスク（ｔａｓｋ）を一シーケンスの全ての要素ごとに適用し、出力結果は以前の算出結果に影響を受けることを意味する。
【０１７１】
図１０に示されたリカレント神経網の構造において、隠れレイヤのニューロンが自身を示す矢印を含んでいることが示されている。ここで、隠れレイヤのニューロンで自身を示す矢印は反復する構造を示し、この矢印を「循環加重値」と呼ぶ。
【０１７２】
循環加重値は、過去のデータに関する情報を記憶できる機能を有し、これによって新しいデータを処理するときに過去の記憶を使用する。すなわち、人がチャットするとき、過去のチャット内容を記憶して現在のチャット内容を過去のチャット内容に基づいた文脈を介して理解するよう、リカレント神経網は、順次的なデータ内で情報を把握することができる。これがリカレント神経網が順次的なデータを学習できる原理である。
【０１７３】
循環加重値は、過去ｔ−１の時点の神経網と現在ｔの時点の神経網とを連結する役割を果たし、また、過去ｔ−２の時点の神経網と過去ｔ−１の時点の神経網とを連結する役割も行う。リカレント神経網は、このような方式で無限な時間に対して遡ってモデルを広げ、これにより過去の最初のデータから現在に至るまで続けて情報が伝達され得る。
【０１７４】
図１１は、一実施形態に係る自動翻訳装置のブロック図である。自動翻訳装置１１００は、図１に示す翻訳装置に対応するが、実施形態がこれに限定されることはない。
【０１７５】
図１１を参照すると、一実施形態に係る自動翻訳装置１１００は、複数の翻訳プロセッサ１１１０、プロセッサ１１３０、メモリ１１５０、及び送受信インターフェース１１７０を含む。複数の翻訳プロセッサ１１１０、プロセッサ１１３０、メモリ１１５０、及び送受信インターフェース１１７０は、図１２Ａに示すようにバス（図示せず）によって接続されている。
【０１７６】
翻訳プロセッサ１１１０は、受信部１１１１、エンコーダ１１１３、及びデコーダ１１１５を含む。翻訳プロセッサそれぞれは、リスコアリングモデルをさらに含む。
【０１７７】
受信部１１１１は、第１言語のソース文章を受信する。エンコーダ１１１３は、受信部１１１１が受信したソース文章を符号化して特徴ベクトルを生成する。デコーダ１１１５は、エンコーダ１１１３が生成した特徴ベクトルを復号化して第２言語の候補文章を生成する。デコーダ１１１５は、例えば、ｍ−ベスト又はｎ−ベストビームサーチアルゴリズムを用いて特徴ベクトルを復号化することによって、翻訳プロセッサ１１１０に対応する予め決定した数の候補文章を生成する。
【０１７８】
一例として、翻訳プロセッサ１１１０のそれぞれに対応するリスコアリングモデルは、対応する最も高いスコアを有する候補文章を識別し、最も高いスコアを有する候補文章をプロセッサ１１３０の最終候補文章として出力する。
【０１７９】
プロセッサ１１３０は、翻訳プロセッサ１１１０で生成した第２言語の候補文章から第２言語の最終文章を選択する。プロセッサ１１３０は、第２言語の候補文章に対するスコアを算出し、第２言語の候補文章のうち最高スコアを有する候補文章を第２言語の最終文章として選択する。プロセッサ１１３０は、複数の翻訳プロセッサごとに第２言語の候補文章に対するスコアを算出する。
【０１８０】
代案的に、最も高いスコアを有する最終候補文章のみが翻訳プロセッサ１１１０からプロセッサ１１３０に提供されるよりも、予め設定された個数又は各デコーダ１１１５からの候補文章の全てがプロセッサ１１３０に提供され、又は、利用可能になって、プロセッサ１１３０は、全ての生成された候補文章から最も高いスコアを有する候補文章を最終翻訳文章として決定することができる。プロセッサ１１３０は、複数の翻訳プロセッサ１１１０のうち少なくとも１つの翻訳プロセッサに入力されるソース文章、少なくとも１つの翻訳プロセッサに含まれたエンコーダ、及び少なくとも１つの翻訳プロセッサに含まれたデコーダのうち少なくとも１つを変形するよう、少なくとも１つの翻訳プロセッサ１１１０の動作を制御する。
【０１８１】
プロセッサ１１３０は、以前に定義された態様又は動作によっていずれかのエンコーダ又はいずれかのデコーダが、従来のエンコーダ及び／又はデコーダ又はエンコーダ又はデコーダの集合に代わって翻訳プロセッサ１１１０のいずれか１つにより使用されるために変化するかを選択的に制御できる。プロセッサ１１３０は、ソース文章又は変化したソース文章のための翻訳動作を行うため、いずれかの翻訳プロセッサ１１１０が選択的に動作するかを制御する。
【０１８２】
実施形態において、プロセッサ１１３０はソース文章を変形又は変更し、プロセッサ１１３０は、第１言語に関する情報に基づいて少なくとも１つの翻訳プロセッサに入力されるソース文章の語順を変更する動作、及び第１言語に関する情報に基づいて少なくとも１つの翻訳プロセッサに入力されるソース文章に含まれた単語を類義語に代替する動作のうち少なくとも１つを行う。
【０１８３】
一例として、プロセッサ１１３０は、少なくとも１つの翻訳プロセッサに含まれたエンコーダに適用されるパラメータ値又は活性関数に対してノイズを適用することでエンコーダを変形する動作、及び少なくとも１つの翻訳プロセッサに含まれたデコーダに適用されるパラメータ値又は活性関数に対してノイズを適用することでデコーダを変形する動作のうち少なくとも１つを行う。異なる例として、プロセッサ１１３０は、少なくとも１つの翻訳プロセッサに含まれたエンコーダを学習初期値、学習セット、及び学習順序のうち少なくとも１つを変更して学習されたエンコーダに代替する動作、及び少なくとも１つの翻訳プロセッサに含まれたデコーダを学習初期値、学習セット、及び学習順序のうち少なくとも１つを変更して学習されたデコーダに代替する動作のうち少なくとも１つを行ってもよい。
【０１８４】
また、プロセッサ１１３０は、その他にも、図１ないし図１０を参照して前述した少なくとも１つの方法を行ってもよい。
【０１８５】
プロセッサ１１３０は、例えば、メモリ１１５０のような１つ以上の非一時的なコンピュータで読み出し可能な記録媒体で、コンピュータ実行可能な命令語を実現し、前述した動作のうちの１つ又は任意の組合せ又はこの全てを実現できるように翻訳装置１１００を制御するよう構成される。
【０１８６】
メモリ１１５０は、異なる翻訳プロセッサ又は翻訳動作のデコーダ１１１５それぞれによって識別された候補文章のような、第２言語の識別された候補文章それぞれを格納する。
【０１８７】
メモリ１１５０は、翻訳プロセッサ又は各翻訳過程に対して識別された各最終候補文章だけではなく、各候補文章のリスコアリングされた結果のそれぞれをさらに格納する。
【０１８８】
また、メモリ１１５０は、最終候補文章のうち選択された第２言語の最終翻訳文章を格納する。また、メモリ１１５０は、送受信インターフェース１１７０を介して受信された情報を格納する。その他にも、メモリ１１５０は、各種のデータと実行可能な命令を格納する。メモリ１１５０は、揮発性メモリ及び不揮発性メモリを含む。メモリ１１５０は、ハードディスクなどのような大容量の格納媒体を備えて各種のデータを格納する。例えば、メモリ１１５０は、１つ以上のハードディスクを用いてデータベースを構成し、データベースに第２言語の候補文章を格納する。
【０１８９】
メモリ１１５０は、例示的に対応する認識神経網エンコーダ及びデコーダの実現及びその結果のみならず、第１言語のソース文章を認識するように実現される前述した言語モデル及び音響モデルを格納する。
【０１９０】
送受信インターフェース１１７０は、第２言語の最終文章を自動翻訳装置１１００の外部に出力する。
【０１９１】
例えば、図１を参照すると、送受信インターフェース１１７０は、最終翻訳文章を出力するためエージェント１０５に含まれてもよい。
【０１９２】
図１２Ａ及び１２Ｂは、自動翻訳装置の実施形態を示す。図１２Ａ及び１２Ｂの自動翻訳装置は、図１〜図１１に関して前述した動作のいずれか１つ又はその組合せを実行することができ、実施形態は同一に制限されることはない。また、図１２Ａ及び１２Ｂの自動翻訳装置は、図１及び図７〜図１１に示す自動翻訳装置のいずれか１つ又はその組合せに対応し、実施形態が同一に制限されることはない。
【０１９３】
図１２Ａ及び１２Ｂを参照すると、自動翻訳装置１２００のそれぞれは、メモリ１２１０及びプロセッサ１２２０を含む。ここで、メモリ１２１０及びプロセッサ１２２０は、図１１に示すプロセッサ１１３０及びメモリ１１５０に対応するが、実施形態がこれに限定されることはない。
【０１９４】
自動翻訳装置１２００は図１２Ａに示すように、音声認識器１２３０及び／又は翻訳機１２４０をさらに含む。代案的に、音声認識器１２３０及び／又は翻訳機１２４０は構成されたように、プロセッサ１２２０内に含まれてもよい。
【０１９５】
認識装置１２３０は、図１に示すエージェント１０５に関して前述した認識装置に対応するが、実施形態がこれに限定されることはない。また、一例として、各自動翻訳装置１２００は翻訳機１２４０を含み、音声認識器１２３０を含んでいないか、又は、音声認識器１２３０を含み、翻訳機１２４０を含まなくてもよい。それぞれの場合において翻訳機１２４０は遠隔サーバを示し得る。
【０１９６】
翻訳機１２４０は、図１に示す翻訳機１１０、リスコアリングモデル１５０及びプロセッサ１７０、及びプロセッサ１７０に対応してもよいし、又は、翻訳プロセッサ１１１０又は図１１に示すプロセッサ１１３０と翻訳プロセッサ１１１０の組合いであってもよい。
【０１９７】
一例として、メモリ１２１０、プロセッサ１２２０、音声認識器１２３０、及び翻訳機１２４０は、図１２Ａに示すようにバス１２５０によって通信する。
【０１９８】
メモリ１２１０は、例えば、バス１２５０を介して受信された情報を格納するための揮発性メモリ又は不揮発性メモリを含む。メモリ１２１０は、図１ないし図１１に関して前述した過程のいずれか１つ又は任意の組合せのように、又は、図１１に示す翻訳プロセッサ１１１０及び／又はプロセッサ１１３０による自動翻訳の各翻訳過程で使用又は生成された異なる情報又は知識ソースを格納するように構成されたデータベースを含む。
【０１９９】
また、メモリ１２１０は、様々なタイプのデータ及びプログラムを格納する。実施形態において、非一時的なコンピュータで読み出し可能な格納媒体として、メモリ１２１０はプロセッサ１２２０によって実行される場合、プロセッサ１２２０は図１ないし図１１に関する前述した過程のいずれか１つ又はその組合せを行うようにする命令を格納する。
【０２００】
代案的に、自動翻訳装置１２００のそれぞれに含まれた異なるメモリは命令を含み、及び／又は自動翻訳装置１２００それぞれの異なるプロセッサは格納された命令を実行する。
【０２０１】
プロセッサ１２２０は、図１を参照して記述したエージェント１０５の動作を行う。例えば、１つ以上の実施形態においてプロセッサ１２２０は、例えば、図１２Ｂに示す自動翻訳装置１２００のユーザインターフェース１２６０によって表現されたマイクロホンによりキャプチャーされたユーザの音声を音声認識器１２３０に送信し、音声認識器１２３０から第１言語文章を受信する。
【０２０２】
また、１つ以上の実施形態において、プロセッサ１２２０は第１言語文章を翻訳機１２４０に送信し、翻訳機１２４０は互いに異なる翻訳動作に対して同一又は異なる特徴ベクトルのそれぞれを生成する。例えば、翻訳機１２４０は、１つ以上のエンコーダ及び複数のデコーダを含んでもよい。
【０２０３】
プロセッサ１２２０は、例えば、リスコアリングモデルそれぞれが実現され、その結果の順位が付与された後、翻訳機１２４０から最終文章を第２言語文章として受信する。
【０２０４】
１つ以上の実施形態において、プロセッサ１２２０は、音声認識器１２３０及び送信機１２４０の動作それぞれ及び／又はその変換の実行を制御して各第１言語文章を生成し、各第１言語文章の符号化を特徴ベクトルで行って、第２言語の特徴ベクトルの復号化を行い、スコアリングされた候補翻訳それぞれ及びランクされた結果を翻訳機１２４０の最終翻訳の結果として生成するよう構成されたコントローラであり得る。
【０２０５】
プロセッサ１２２０は、最終翻訳の結果をユーザに提供するためエージェントの動作を制御する。また、１つ以上の実施形態で、プロセッサ１２２０又は他のプロセッサはユーザの音声のサンプリングを行い、サンプリングされた結果であるオーディオフレームを音声認識器１２３０に提供する。一例として、音声認識器１２３０及び翻訳機１２４０は、プロセッサ１２２０と独立的に実現されてもよい。
【０２０６】
一例として、音声認識器１２３０及び翻訳機１２４０は、プロセッサ１２２０との異なるプロセッサ又はコンピューティングリソースを用いて実現され、同一のプロセッサ又はコンピューティングリソース又は異なるプロセッサ又はコンピューティングリソースによって実現されてもよい。
【０２０７】
また、一実施形態において音声認識器１２３０及び、例えば、翻訳機１２４０の翻訳プロセッサのうちいずれか１つ又は翻訳機１２４０の全体のような、翻訳機１２４０は自動翻訳装置１２００のそれぞれから外部又は遠隔に位置し、例をドローン、無線又は有線ネットワークを介して各自動翻訳装置１２００と通信する。
【０２０８】
図１２Ｂに示されたユーザインターフェース１２６０は、キーボード、タッチスクリーン、マウス、又は、スタイラスのような他のユーザインターフェース装置だけではなく、ハードウェア無線又は有線通信モジュールを示す。
【０２０９】
このような外部又は遠隔の例で、プロセッサ１２２０は、ユーザインターフェース１２６０によって表現されたマイクロホンによりキャプチャーされたアナログ信号のように、ユーザの音声サンプリングを実行することができ、一例として、ハードウェア通信モジュールを用いて音声認識器１２３０及び／又は翻訳機１２４０のそれぞれを含む１つ以上の外部サーバと通信し得る。
【０２１０】
最終第２言語翻訳は翻訳機１２４０によって候補文章リストから決定され、翻訳機１２４０は、候補リストにある翻訳候補を順位を決定し、最終第２言語翻訳を視覚的及び／又は聴覚的に出力するようさらに構成された各自動翻訳装置１２００のプロセッサ１２２０に伝達する。例えば、候補リストは、図１に示す各リスコアリングモデル１５０の結果から生成され得る。
【０２１１】
例えば、ユーザインターフェース１２６０は、音声認識器及び翻訳を聴覚的に出力するスピーカ、及び／又はディスプレイ１２７０のスクリーン上にテキストを通した翻訳を視覚的に表示するディスプレイ１２７０を示す。
【０２１２】
一例として、音声認識器１２３０及び翻訳機１２４０は、認識及び翻訳モデリングによりプロセッサ１２２０及びメモリ１２１０を介して実現され得る。
【０２１３】
例えば、音声認識器１２３０に含まれた１つ以上の神経網は、音声認識器１２３０の認識エンコーダ及び認識デコーダに含まれた神経網、及び／又は翻訳機１２４０に含まれた１つ以上の神経網、翻訳機１２４０の翻訳エンコーダ及び翻訳デコーダそれぞれに含まれる神経網の例を含み、メモリ１２１０に格納されてもよい。
【０２１４】
例えば、各神経網は、実行オブジェクトファイル又は実行ファイルの形態でメモリ１２１０に格納されてもよい。また、各神経網のパラメータはメモリ１２１０に格納されてもよい。
【０２１５】
このような例において、プロセッサ１２２０は、メモリ１２１０から神経網をロードし、神経網それぞれに対するパラメータを適用することで音声認識器１２３０の認識及び翻訳機１２４０の翻訳動作それぞれを実現することができる。
【０２１６】
他の実施形態において、プロセッサ１２２０は、メモリ１２１０から神経網をロードし、神経網それぞれに対するパラメータを適用することで音声認識器１２３０のエンコーダ及びデコーダと翻訳機１２４０のエンコーダ及びデコーダを実現することができる。
【０２１７】
他の例において、プロセッサ１２２０は、第１言語のサンプリングされた音声信号のフレームを符号化して第１言語に対する第１特徴ベクトルを生成する。プロセッサ１２２０は、第１特徴ベクトルを復号化して第１言語の第１言語文章を生成する。
【０２１８】
プロセッサ１２２０は、第１言語の文章を第２言語に対して符号化して第２言語に対する第２特徴ベクトルを生成する。また、プロセッサ１２２０は、第２言語に対して異なる第２特徴ベクトルを生成してもよい。
【０２１９】
プロセッサ１２２０は、第２言語ベクトルそれぞれの複数の復号化を行い、第２言語ベクトルそれぞれの結果をリスコアリングし、第２言語の第２言語文章を第１言語のサンプリングされた音声信号の最終翻訳として生成及び出力するためにリスコアリングされた結果の順位を決定する。
【０２２０】
１つ以上の実施形態により、ディップランニング機械翻訳の過程で生成された結果又は参照された出力及び音声認識過程で生成された結果又は参照された出力はメモリ１２１０に送信され得る。
【０２２１】
また、実施形態がそのような出力又は生成された結果のうち任意のものがプロセッサ１２２０、音声認識器１２３０、及び／又は翻訳機１２４０間に伝達されたが、実施形態は、プロセッサ１２２０、音声認識器１２３０、及び／又は翻訳機１２４０のいずれか１つによってこのようなローカルキャッシュ、メモリ１２１０又は他のメモリから取得又はリクエストするよう、それぞれの出力又は結果をローカルキャッシュ、メモリ１２１０又は他のメモリに格納するプロセッサ１２２０、音声認識器１２３０及び／又は翻訳機１２４０のそれぞれを含む。
【０２２２】
一例として、本明細書で記述した動作を行う図１及び図７ないし図１２Ｂに示された自動翻訳装置１００、１１００、１２００、エージェント１０５、翻訳機１１０、１２４０、翻訳プロセッサ１１１〜１１９、ＧＰＵ（１）〜（５）、翻訳プロセッサ７００、各翻訳プロセッサ１１１０、プロセッサそれぞれのリスコアリングモデル１５０、各リスコアリングモデル７５０、音声認識器１２３０、プロセッサ１７０、１１３０、各プロセッサ１２２０、各エンコーダＡ、各エンコーダＡ’、各デコーダＢ、各デコーダＢ’、各エンコーダ７１０、１１１３、各デコーダ７３０、１１１５、各受信機１１１１、メモリ１１５０、各メモリ１２１０、送受信インターフェース１１７０、ユーザインターフェース１２６０、ディスプレイ１２７０、各神経網７１５、及び各神経網７３５、図１０に示すＲＮＮは、ハードウェア構成要素によって実行される本明細書で記述された動作を行うように構成されたハードウェア構成要素により実現される。
【０２２３】
上述した動作を行うために用いられるハードウェア構成要素の実施形態は、上述した実施形態で記述した動作を行うよう構成されたコントローラ、センサ、ジェネレータ、ドライバ、メモリ、比較器、算術論理ユニット、加算器、減算器、乗算器、分周器、積分器、及びその他の電子部品を含む。
【０２２４】
以上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、又は命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答する異なる装置のように、１つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム（ＯＳ）及びオペレーティングシステム上で実行される１つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は１つが使用されるものとして説明する場合もあるが、当該技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含むことが分かる。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含む。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【０２２５】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこれらのうちの１つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び／又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは１つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【０２２６】
本実施形態による方法は、多様なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明の動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【０２２７】
上述したように実施形態をたとえ限定された図面によって説明したが、当技の術分野で通常の知識を有する者であれば、前記に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されてもよいし、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組合わせられ、他の構成要素又は均等物によって置き換え、置換されても適切な結果を達成することができる。
【符号の説明】
【０２２８】
１０００：自動翻訳装置
１１１０：翻訳プロセッサ
１１１１：受信部
１１１３：エンコーダ
１１１５：デコーダ
１１３０：プロセッサ
１１５０：メモリ
１１７０：送受信インターフェース
【図１】
2018026127.tif 000003
【図２】
2018026127.tif 000004
【図３】
2018026127.tif 000005
【図４】
2018026127.tif 000006
【図５】
2018026127.tif 000007
【図６】
2018026127.tif 000008
【図７】
2018026127.tif 000009
【図８】
2018026127.tif 000010
【図９】
2018026127.tif 000011
【図１０】
2018026127.tif 000012
【図１１】
2018026127.tif 000013
【図１２Ａ】
2018026127.tif 000014
【図１２Ｂ】
2018026127.tif 000015