(57)【要約】【課題】目標言語に小規模な対訳データしか存在しない場合、又は目標言語同士の類似性が低い場合でも従来よりも高い精度で翻訳できるようなＮＭＴモデル及びその訓練方法を提供する。【解決手段】ＮＭＴモデルを訓練する方法は、コンピュータが、第１の言語の文と第２の言語の文との対訳を含む第１の対訳コーパス２１０を訓練データとしてＮＭＴモデル２２０を訓練するステップ２１８と、コンピュータが、第１の言語の文と、当該第１の言語と異なる言語の文との対訳を含む第２の対訳コーパス２１２、２１４、…、２１６から均衡データである統合後の対訳データ２２４を生成し、これを訓練データとして、ＮＭＴモデル２２０をさらに訓練してＮＭＴモデル２２８とするステップ２２６とを含む。【選択図】図３
2020160917.tif 000002
【特許請求の範囲】
【請求項１】
ニューラル機械翻訳モデルを訓練する方法であって、
コンピュータが、第１の言語の文と第２の言語の文との対訳を含む第１の対訳コーパスを訓練データとしてニューラル機械翻訳モデルを訓練するステップと、
コンピュータが、前記第１の言語の文と、当該第１の言語と異なる言語の文との対訳を含む第２の対訳コーパスを訓練データとして、前記訓練するステップで訓練された前記ニューラル機械翻訳モデルをさらに訓練するステップとを含む、ニューラル機械翻訳モデルを訓練する方法。
【請求項２】
前記第１の言語と異なる言語は複数種類の言語を含み、
前記方法はさらに、
前記複数種類の言語の各々について、
コンピュータが、
前記第２の対訳コーパスのうち、当該言語が目標言語である対訳コーパスに含まれる対訳数が、前記複数種類の言語中の他言語が目標言語である対訳コーパスに含まれる対訳数と実質的に等しくなるように、当該言語が目標言語である前記対訳コーパスに含まれる対訳数を調整するステップを含む、請求項１に記載の方法。
【請求項３】
前記調整するステップは、
前記複数種類の言語の各々について、
コンピュータが、
前記第２の対訳コーパスのうち、当該言語が目標言語である対訳コーパスに含まれる対訳数が、前記第１の対訳コーパスに含まれる対訳数と実質的に等しくなるように、当該言語が目標言語である前記対訳コーパスに含まれる対訳数を調整するステップを含む、請求項２に記載の方法。
【請求項４】
コンピュータが、前記第１の対訳コーパス及び前記第２の対訳コーパスに含まれる各対訳の前記第１の言語の文の先頭に、当該第１の言語の文と対になっている文の言語を示す疑似トークンを付すステップをさらに含む、請求項１から請求項３のいずれか１項に記載の方法。
【請求項５】
コンピュータに、
第１の言語の文と第２の言語の文との対訳を含む第１の対訳コーパスを訓練データとしてニューラル機械翻訳モデルを訓練するステップと、
前記第１の言語の文と、当該第１の言語と異なる言語の文との対訳を含む第２の対訳コーパスを訓練データとして、前記訓練するステップで訓練された前記ニューラル機械翻訳モデルをさらに訓練するステップとを実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はニューラル機械翻訳に関し、特に、１対多言語翻訳を行うニューラル機械翻訳モデルの訓練方法の改善に関する。
【背景技術】
【０００２】
ニューラル機械翻訳（ＮＭＴ）とは、多層ニューラルネットワークを用いた機械翻訳技術である。ＮＭＴは、起点言語の語及び文全体をベクトル又はテンソルに変換するニューラルネットワーク（エンコーダ）と、得られたベクトル又はテンソルから目標言語の語の系列を生成するニューラルネットワーク（デコーダ）で構成され、対訳データに基づいてニューラルネットワークのモデルを学習する（パラメタを最適化する）ものである。
【０００３】
図１に、所与の起点言語（翻訳元の言語）Ｌ１と目標言語（翻訳先の言語）Ｌ２との間の翻訳のためのＮＭＴモデルの訓練の概略を示す。図１を参照して、ＮＭＴモデルの訓練システム５０は、起点言語Ｌ１の文及び目標言語Ｌ２の文からなる対訳を多数含む対訳データ６０と、対訳データ６０に含まれる多数の対訳を訓練データとしてＮＭＴモデル６４の訓練を行う訓練ユニット６２とを含む。訓練ユニット６２によるＮＭＴモデル６４の訓練手法はよく知られている。このＮＭＴモデル６４をコンピュータにインストールすることで、起点言語Ｌ１の原文６８を目標言語Ｌ２の翻訳文７０に翻訳する機械翻訳装置６６が得られる。
【０００４】
ＮＭＴで達成できる翻訳性能は、起点言語Ｌ１、目標言語Ｌ２、及び翻訳の対象分野についての対訳データの規模に強く依存することもよく知られている。ＮＭＴシステムの構築には大規模な対訳データ（言語対及び分野によるが少なくとも数十万文対）が必要である。ある２つの言語の組合せに対して小規模な対訳データしか存在しない場合は、その２つの言語の間でのＮＭＴによる高品質な翻訳の生成は困難である（非特許文献１を参照）。
【０００５】
しかし、多くの言語対又は分野において、そのような大規模な対訳データは存在しない。大規模な対訳データを新たに作成するためには、多大な人的・金銭的コストを要する。そのため、多くの言語対及び分野において高性能なＮＭＴを実現するのは困難であった。
【０００６】
こうした問題に対して、複数の言語対の対訳データを混合して用いて単一の多言語機械翻訳システムを構築するアプローチが考えられる。
【０００７】
このアプローチに関連して、複数の起点言語から単一の目標言語への翻訳（ｍａｎｙ−ｔｏ−ｏｎｅ）を１つのＮＭＴで実現することにより、個々の言語対の翻訳（ｏｎｅ−ｔｏ−ｏｎｅ）を扱うＮＭＴよりも高い翻訳性能を実現できることが知られている（非特許文献２を参照）。一方、単一の起点言語から複数の目標言語への翻訳（ｏｎｅ−ｔｏ−ｍａｎｙ）を１つのＮＭＴで実現する試みもある（非特許文献２及び非特許文献３）。例えば、英語と複数の欧州言語の対の間の２０万文規模の対訳データを用いた場合に、わずかに翻訳性能を改善した例が存在する（非特許文献３を参照）。しかし、より小規模な対訳データしか存在しない言語の場合、又は目標言語同士の類似性が低い場合は性能が劣化する場合がある（非特許文献２及び４を参照）。これは主に、目標言語側で複数の言語を制御しながら訳文を生成することの困難さに起因する。なお、ｍａｎｙ−ｔｏ−ｏｎｅとｏｎｅ−ｔｏ−ｍａｎｙをさらに一般化した形式のｍａｎｙ−ｔｏ−ｍａｎｙのＮＭＴを構築することも試みられている（非特許文献２及び４）。
【０００８】
図２に、非特許文献２に記載のＮＭＴモデルを訓練するためのものとして想定される訓練システム１００の概略構成を示す。図２を参照して、訓練システム１００は、複数の言語対の対訳データ１１２、１１４、…、１１６と、これら対訳データ１１２、１１４、…、１１６の各々について、そのデータに含まれる各対訳の一方の言語の文に、その対訳の言語を示す疑似トークンを付しながら、対訳データ１１２、１１４、…、１１６を結合するためのデータ結合・疑似トークン付与ユニット１１８とを含む。
【０００９】
ここでは、Ｎ種類の言語Ｌ１、…、ＬＮを使用するものとする。例えば対訳データ１１２は言語Ｌ１−Ｌ２の対訳である。この例では、これら言語の全ての対（Ｌ１−Ｌ２、Ｌ１−Ｌ３、…、Ｌ１−ＬN、Ｌ２−Ｌ３、Ｌ２−Ｌ４、…、ＬＮ−１−ＬＮと、それらを逆にしたＬ２−Ｌ１、Ｌ３−Ｌ１、…、ＬＮ−Ｌ１、Ｌ３−Ｌ２、Ｌ４−Ｌ２、…、ＬＮ−ＬＮ−１）を用いるものとする。
【００１０】
ユニット１１８は、例えば言語Ｌ１−Ｌ２の対訳の言語Ｌ１の文の先頭に、“＜２Ｌ２＞”、言語Ｌ２−Ｌ１の対訳の場合には言語Ｌ２の文の先頭に“＜２Ｌ１＞”のような疑似トークンを付しながら、対訳データ１１２、１１４、…、１１６を結合して統合対訳データ１２０を出力するためのものである。
【００１１】
訓練システム１００はさらに、統合対訳データ１２０に記憶されている対訳を訓練データとして、ＮＭＴモデル１２４の訓練を行うための訓練ユニット１２２を含む。ユニット１２２による訓練は、図１に示すものと全く同じように行われる。このように訓練された訓練ユニット１２２をコンピュータにインストールすることにより、機械翻訳装置１２６が得られる。
【００１２】
上記したように訓練した機械翻訳装置１２６は、言語Ｌ１、Ｌ２、…、ＬＮの原文１２８、１３０、…、１３２のいずれが入力されても、言語Ｌ１、Ｌ２、…、ＬＮの翻訳文１３４、１３６、…、１３８のいずれにも翻訳できる。
【００１３】
図２では全ての言語の対を用いているが、図２を参照して説明したような学習をすることにより、学習時に対訳データを用いていない言語対であっても、その起点言語と目標言語との双方が学習時に用いられた言語のいずれかであれば、翻訳が可能になることが報告されている（非特許文献２及び４）。例えば図２の例で、言語Ｌ１−ＬＫという組合せの対訳が訓練に使用されなかったとしても、言語Ｌ１から言語ＬＫへの翻訳が可能になるということである。
【００１４】
しかしこの場合、その言語対（例えば上記した言語Ｌ１−ＬＫという組合せ）の対訳データを用いて訓練したＮＭＴモデルを使用する場合と同等の性能を達成することはできないことが報告されている（非特許文献５）。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】Philipp Koehn and Rebecca Knowles(2017). Six Challenges for Neural Machine Translation. In Proceedings of the1st Workshop on Neural Machine Translation, pp. 28-39.
【非特許文献２】Melvin Johnson, Mike Schuster, Quoc V.Le, Maxim Krikun, Yonghui Wu, Zhifeng Chen, Nikhil Thorat, Fernanda B. Viegas,Martin Wattenberg, Greg Corrado, Macduff Hughes, and Jeffrey Dean (2017). Google’s Multilingual NeuralMachine Translation System: Enabling Zero-shot Translation. Transactions of theAssociation for Computational Linguistics, Vol. 5, pp. 339-351.
【非特許文献３】Daxiang Dong, Hua Wu, Wei He, Dianhai Yu, and Haifeng Wang (2015). Multi-taskLearning for Multiple Language Translation. In Proceedings of the 53rd AnnualMeeting of the Association for Computational Linguistics and the 7thInternational Joint Conference on Natural Language Processing (ACL-IJCNLP), pp.1723-1732.
【非特許文献４】Orhan Firat, Kyunghyun Cho, and Yoshua Bengio (2016). Multi-way,Multilingual Neural Machine Translation with a Shared Attention Mechanism. InProceedings of the 2016 Conference of the North American Chapter of theAssociation for Computational Linguistics: Human Language Technologies, pp.866-875.
【非特許文献５】Kenji Imamura and Eiichiro Sumita (2018). Multilingual ParallelCorpus for Global Communication Plan. In Proceedings of the 11th InternationalConference on Language Resources and Evaluation (LREC), pp. 3453-3458.
【発明の概要】
【発明が解決しようとする課題】
【００１６】
図２に示すような複数の起点言語から複数の目標言語への翻訳（ｍａｎｙ−ｔｏ−ｍａｎｙ）はもちろん、単一の起点言語から複数の目標言語への翻訳（ｏｎｅ−ｔｏ−ｍａｎｙ）を、１つのＮＭＴで実現するアプローチで翻訳性能を改善することは難しい。特に目標言語の中に小規模な対訳データしか存在しない言語がある場合、及び目標言語同士の類似性が低い場合は性能が劣化する場合がある。
【００１７】
それゆえにこの発明は、小規模な対訳データしか存在しない場合、又は目標言語同士の類似性が低い場合でも従来よりも高い精度で翻訳できるようなＮＭＴモデルの訓練方法を提供することを目的とする。
【課題を解決するための手段】
【００１８】
この発明の第１の局面に係るＮＭＴモデルを訓練する方法は、コンピュータが、第１の言語の文と第２の言語の文との対訳を含む第１の対訳コーパスを訓練データとしてＮＭＴモデルを訓練するステップと、コンピュータが、第１の言語の文と、当該第１の言語と異なる言語の文との対訳を含む第２の対訳コーパスを訓練データとして、訓練するステップで訓練されたＮＭＴモデルをさらに訓練するステップとを含む。
【００１９】
好ましくは、第１の言語と異なる言語は複数種類の言語を含み、この方法はさらに、複数種類の言語の各々について、コンピュータが、第２の対訳コーパスのうち、当該言語が目標言語である対訳コーパスに含まれる対訳数が、複数種類の言語中の他言語が目標言語である対訳コーパスに含まれる対訳数と実質的に等しくなるように、当該言語が目標言語である対訳コーパスに含まれる対訳数を調整するステップを含む。
【００２０】
より好ましくは、調整するステップは、複数種類の言語の各々について、コンピュータが、第２の対訳コーパスのうち、当該言語が目標言語である対訳コーパスに含まれる対訳数が、第１の対訳コーパスに含まれる対訳数と実質的に等しくなるように、当該言語が目標言語である対訳コーパスに含まれる対訳数を調整するステップを含む。
【００２１】
さらに好ましくは、方法は、コンピュータが、第１の対訳コーパス及び第２の対訳コーパスに含まれる各対訳の第１の言語の文の先頭に、当該第１の言語の文と対になっている文の言語を示す疑似トークンを付すステップをさらに含む。
【００２２】
好ましくは、第２の言語は、第１の言語と異なる言語の１つである。
【００２３】
より好ましくは、第２の言語は、第１の言語と異なる言語のいずれとも異なる。
【００２４】
この発明の第２の局面に係るＮＭＴモデルは、上記したいずれかに記載の方法で訓練されたものである。
【００２５】
この発明の第３の局面に係るコンピュータプログラムは、コンピュータに、第１の言語の文と第２の言語の文との対訳を含む第１の対訳コーパスを訓練データとしてＮＭＴモデルを訓練するステップと、第１の言語の文と、当該第１の言語と異なる言語の文との対訳を含む第２の対訳コーパスを訓練データとして、訓練するステップで訓練されたＮＭＴモデルをさらに訓練するステップとを実行させる。
【図面の簡単な説明】
【００２６】
【図１】図１は、１対１のＮＭＴモデルの訓練方法を模式的に示すブロック図である。
【図２】図２は、多対多のＮＭＴモデルの訓練方法として従来考えられてきた方法を模式的に示すブロック図である。
【図３】図３は、この発明の実施の形態に係るＮＭＴモデルの訓練方法を模式的に示すブロック図である。
【図４】図４は、図３に示す訓練方法で用いられる多言語の対訳データを準備するためのコンピュータプログラムの概略の制御構造を示すフローチャートである。
【図５】図５は、この発明の実施の形態において、コンピュータを、ＮＭＴモデルの訓練を実行するよう機能させるためのコンピュータプログラムの概略の制御構造を示すフローチャートである。
【図６】図６は、この発明の実施の形態の効果を示す、各モデルの評価結果の全体を表形式で示す図である。
【図７】図７は、異なる外部対訳データに対する、従来技術の１−ｔｏ−２及びこの発明の実施の形態の結果を各言語について対照して示す図である。
【図８】図８は、全目標データと外部対訳データとを組合せたときの各モデルの評価結果を示す図である。
【図９】図９は、外部対訳データの分野の影響を検証するための図である。
【図１０】図１０は、外部対訳データの目標側言語の影響を検証するための図である。
【図１１】図１１は、外部対訳データのサイズによる、ＮＭＴの性能の変化を表形式で示す図である。
【図１２】図１２は、実施の形態を実現するコンピュータシステムの外観図である。
【図１３】図１３は、図１２に示すコンピュータシステムのハードウェアブロック図である。
【発明を実施するための形態】
【００２７】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。なお、後述する実験では、ＮＭＴとしてＴｒａｎｓｆｏｒｍｅｒ（末尾の参考文献ｈを参照）と呼ばれるものを用いているが、この実施の形態はＮＭＴの種類を問わず適用できる。
【００２８】
また、以下に説明する実施の形態及び各モデルの評価では、起点言語及び目標言語としていわゆる「言語」を対象としている。しかし、例えば同じ言語でも法律分野、技術分野等、文書の分野により異なる語彙及び異なる表現が使用される。したがってこれら分野で使用される言語も互いに異なると考えることができる。そのように区別される「言語」をサブ言語と呼ぶ。サブ言語としては、上記した分野だけではなく、言語の地域的相違、年齢的相違、対話の際の相手による相違、文書で使用される言語と会話で使用される言語の相違等、多種多少なサブ言語が考えられる。そうしたサブ言語を起点言語又は目標言語若しくはその双方としても以下に説明する実施の形態が適用できる。後述する初期モデルの訓練をするための大規模対訳データとしても、特定のサブ言語を使用できることはいうまでもない。すなわち、以下の説明における「言語」とは、そうしたサブ言語も含む概念である。
【００２９】
［構成］
以下に説明する実施の形態は、ある起点言語の、ある対象分野又はある目標言語の大規模対訳データと、同じ起点言語で、対象分野及び目標言語が異なる小規模対訳データとを用いた転移学習によって、ｏｎｅ−ｔｏ−ｍａｎｙのＮＭＴを学習する技術、及びそのプログラムからなる。具体的には、図３に示すように、次の３ステップの手順でｏｎｅ−ｔｏ−ｍａｎｙのＮＭＴモデル２２８を学習する。なお、以下では、小規模対訳データとしては、大規模対訳データの目標言語とは目標言語が異なるものを使用する実施の形態、及び小規模対訳データが起点言語を共有し、目標言語が互いに異なる場合について説明する。
【００３０】
―ステップ１
次の２種類の対訳データを、規模（文対の数）が同等になるように調節した上で連結し、統合対訳データを作成する。
【００３１】
（ア）  ある起点言語ＳＬを持つ、目標言語が互いに異なる対訳データ２１２、２１４、…、２１６（それぞれ言語の組合せＳＬ−ＹＹ１、ＳＬ−ＹＹ２、…、ＳＬ−ＹＹＮに関するもの）
（イ）  上記起点言語ＳＬを共有する大規模な対訳データ（図中ＳＬ−ＸＸ）
また、これら各対訳データ内において、各文対の起点言語文の先頭に、対応する目標言語を表す、“＜２ＹＹ１＞”等の疑似トークン（「タグ」とも呼ばれる。）を付与する（非特許文献２）。このようにして得た統合対訳データをＳＬ−ＡＬＬと呼ぶ。ＳＬ−ＡＬＬは、ＳＬ−ＡＬＬ内の各対訳データの規模が同等であることから均衡データと呼ぶ。この統合対訳データから、以降のＮＭＴモデルの学習に用いる語彙を決定する。語彙を決定する理由については後述する。
【００３２】
―ステップ２
ＳＬ−ＸＸの対訳データのみを訓練データとして用いてＮＭＴモデルを訓練する（これをここでは「事前学習」という。）。
【００３３】
―ステップ３
上に述べたステップ２で得たＮＭＴモデルを初期値として、対訳データＳＬ−ＡＬＬを用いてＮＭＴモデルを洗練する。この処理はいわゆる「転移学習」と呼ばれるものである。
【００３４】
図２に示す従来手法は、上記したステップ１とステップ３のみから構成される。これに対してこの発明の実施の形態では、ステップ２において、ステップ１で得られる均衡データよりも多様な起点言語の文を含むＳＬ−ＸＸの対訳データを用いて、エンコーダの事前学習を実現する。そして、ステップ３では、その結果を初期値として活用し、複数の目標言語を生成するデコーダの学習に焦点を当てた学習を可能にする。
【００３５】
なお、ここでいう「語彙」とは、処理対象を単語の系列とする場合には単語、サブワードの系列とする場合にはサブワードを単位とする語彙のことをいう。処理対象を単語の系列とするかサブワードの系列とするかは予め決めておく。このような処理対象の単語又はサブワードを抽象化して「トークン」と呼ぶが、以下の説明ではサブワード単位での処理を行うものとし、語彙もサブワード単位でのものとする。
【００３６】
このように語彙を決定する理由は以下のとおりである。訓練データ中で出現する頻度が低いトークン（これを「低頻度トークン」という。）に対してＮＭＴモデルのパラメタを最適化することは困難である。そこで、一般的には、訓練データ中で出現頻度が高いトークンから優先的に語彙に含めるようにする。相対的に低頻度のトークンは、予め定めておいた、未知トークンを表す“＜ｕｎｋ＞”のような疑似トークン（「タグ」とも呼ばれる。）に含める。ただし、出現頻度だけではなくトークンの重要性を考慮する場合もあるので、実際にどのような基準で語彙を選択するかは使用するツールによって異なっている。
【００３７】
なお、ＮＭＴのデコーダでは、各時刻において目的言語の語彙から要素を１つ選択する処理（すなわち、１トークンずつ出力する処理）を行う。語彙は、出力として可能な選択肢を表す。語彙サイズが大きい場合には、選択肢が多いため出力トークンの決定に長時間を要する上、出力されたトークンの系列が正しいものである可能性が相対的に低くなる。一方、語彙サイズが小さい場合には、選択肢が少ないため、処理は速いが出力できる表現が制限される。したがって、どのようなサイズの語彙を用いるかが重要ではあるが、それは設計事項の１つと考えられる。ただし、ｏｎｅ−ｔｏ−ｍａｎｙの翻訳を行う場合には、出力側の複数の言語の語彙をカバーできるように語彙を定めることが必要である。
【００３８】
図３は、上に説明した、この発明の実施の形態に係るＮＭＴモデルの訓練方法を実現する訓練システム２００の構成を模式的に示すブロック図である。
【００３９】
図３を参照して、訓練システム２００は、対訳データ２１２、２１４、…、２１６の各々について、起点言語の先頭に、対訳の相手となる文の言語を示すトークンを付加し、さらにいずれの対訳データの規模も訓練ユニット２１８の規模と実質的に同等となるように、各対訳データのサイズを調整した上で対訳データ２１２、２１４、…、２１６を連結し統合後の対訳データである、図３において「ＳＬ−ＡＬＬの対訳データ」というラベルが付された統合対訳データ２２４を出力するためのデータ結合・疑似トークン付与ユニット２２２と、ＳＬ−ＸＸの対訳データ２１０を訓練データとしてＮＭＴモデル２２０の事前学習を行うための訓練ユニット２１８と、統合対訳データ２２４を訓練データとして、訓練ユニット２１８を用いて事前学習済のＮＭＴモデル２２０のパラメタを洗練する学習（転移学習）を行って、図３において「ＳＬ−ＡＬＬ  ＮＭＴモデル」というラベルが付されたＮＭＴモデル２２８を得るための転移学習ユニット２２６とを含む。
【００４０】
このＮＭＴモデル２２８を構成するパラメタ及びＮＭＴの出力算出のアルゴリズムを規定するプログラムをコンピュータにインストールすることで、１対多言語翻訳を行う機械翻訳装置２３０が得られる。機械翻訳装置２３０は、言語ＳＬの原文２３２の入力を受け、言語ＹＹ１、ＹＹ２、…、ＹＹＮの中の任意の言語への翻訳をし、それぞれ翻訳文２３４、２３６、…、２３８を出力できる。
【００４１】
図４は、図３に示す訓練方法で用いられる、上記したステップ２で多言語の対訳データを準備するデータ結合・疑似トークン付与ユニット２２２としてコンピュータを機能させるコンピュータプログラムの概略の制御構造を示すフローチャートである。図４を参照して、このプログラムは、対訳データファイルのオープン、必要なオブジェクトのインスタンスの生成等を行う初期設定ステップ３００と、図３に示す対訳データ２１２、２１４、…、２１６の各々に対して、以下の処理３０４を実行するステップ３０２と、ステップ３０２の完了後に、全データを連結するステップ３０６と、全対訳データ及び出力対訳データのファイルクローズ、オブジェクトのインスタンスの解放等、プログラムの終了に必要な処理を行ってこのプログラムの実行を終了するステップ３０８とを含む。
【００４２】
処理３０４は、対訳データ中の全対訳について、ステップ３２２を繰返し実行するステップ３２０と、ステップ３２０の終了後に、各対訳データの中の対訳文数が対訳データ２１０に含まれる対訳文の数と等しくなるように、オーバサンプリング等によりその対訳内の対訳数を調節して処理３０４を終了するステップ３２４とを含む。
【００４３】
図５は、上記したステップ３の処理を実行する、図３の転移学習ユニット２２６をコンピュータにより実現するためのプログラムの制御構造を示すフローチャートである。この処理はＮＭＴモデルの一般的な処理の一例であり、同様の制御構造を持つプログラムにより上記したステップ１を実行する訓練ユニット２１８を実現できる。
【００４４】
図５を参照して、このプログラムは、対訳データファイルをオープンする処理、様々なオブジェクトのインスタンスを生成する処理、必要なメモリ領域を確保しそれぞれ初期値で初期化する処理等の初期設定を行うステップ４００と、以下の処理４０４を所定の終了条件が成立するまで繰返すことにより、ＮＭＴモデル２２８の転移学習を実行するステップ４０２と、ＮＭＴモデル２２８の転移学習が終了した時点でＮＭＴモデル２２８のパラメタを所定の記憶装置に保存するステップ４０６と、ファイルクローズ、オブジェクトのインスタンスの解放等の終了処理を行って、このプログラムの実行を終了するステップ４０８とを含む。
【００４５】
処理４０４は、対訳データの全データをシャッフルするステップ４３０と、シャッフルされた対訳データを用いて、所定のエポック終了条件が成立するまで、全対訳データを用いたミニバッチによってＮＭＴモデル２２８の更新を行う１エポックの訓練処理４３４を繰返し行うステップ４３２と、ステップ４３２の終了後、処理４０４の終了条件が成立しているか否かに関するテストを行うステップ４３６とを含む。
【００４６】
処理４０４でテストされる終了条件としては、例えば処理４０４が所定回数繰返されたこと、処理４０４の終了時のＮＭＴモデル２２８を用いた機械翻訳の、前回の精度からの向上値がしきい値以下となったこと、ＮＭＴモデル２２８を用いた機械翻訳の精度がしきい値を超えたこと、等を採用できる。
【００４７】
訓練処理４３４は、対訳データから所定数のサンプルをミニバッチとして選択するステップ４５０と、選択されたミニバッチを用いてＮＭＴモデル２２８の訓練を行ってそのパラメタを更新するステップ４５２と、ステップ４５２の処理の完了後、エポックの終了条件が成立しているか否かをテストするステップ４５４とを含む。
【００４８】
エポックの終了条件としては、全対訳を１回ずつ使用した訓練が終了したことを採用できるが、他の終了条件を採用することも考えられる。
【００４９】
［動作］
上に構成を説明した訓練システム２００は以下のように動作する。最初に、訓練ユニット２１８、対訳データ２１２、２１４、…、２１６をコンピュータ読取り可能な形で所定の記憶装置に準備する。
【００５０】
〈統合対訳データ２２４の作成〉
ユニット２２２が、対訳データ２１２、２１４、…、２１６の各々に対し、起点言語の先頭に対訳の相手の文の言語を示す疑似トークンを付し（図４のステップ３２２）、さらに対訳のオーバサンプリングにより対訳データ２１０と同規模になるように拡張する。ユニット２２２は、こうして各々が対訳データ２１０と同規模に拡張された対訳データ２１２、２１４、…、２１６と、起点言語の文に対訳文の言語の疑似トークンが付された対訳データ２１０とを結合し、統合対訳データ２２４として出力する。このとき、この統合対訳データ２２４から、以降のＮＭＴモデルの学習に用いる語彙を決定する。
【００５１】
〈事前学習〉
事前学習では、対訳データ２１０を訓練データとして訓練ユニット２１８がＮＭＴモデル２２０の訓練を行う。この訓練では、最初に訓練ユニット２１８が対訳データ２１０の中の各対訳の起点言語の文に、その対訳文の言語を表す疑似トークンを付した後、図５に示したものと同様の処理でＮＭＴモデル２２０を訓練する。この結果、ＮＭＴモデル２２８の初期値であるＮＭＴモデル２２０が得られる。なお、この実施の形態ではこのような訓練方法を用いたが、これ以外の方法でＮＭＴモデル２２０を得ることもできる。
【００５２】
〈転移学習〉
転移学習ユニット２２６が、図５を参照して説明した訓練方法により、ＮＭＴモデル２２０をさらに訓練してＮＭＴモデル２２０のパラメタの調整を行う。その結果、ＮＭＴモデル２２０をさらに洗練したＮＭＴモデル２２８が得られる。
【００５３】
［実験］
上記した実施の形態により訓練したＮＭＴモデル２２８の性能を調べるために、以下のような比較実験を行った。ＮＭＴとしてはどのようなものを用いてもよいが、ここでは６層のＴｒａｎｓｆｏｒｍｅｒを用いている。
【００５４】
この実験は、Ａｓｉａｎ  Ｌａｎｇｕａｇｅ  Ｔｒｅｅｂａｎｋ  （ＡＬＴ）（後掲の参考文献ａ）のニュース翻訳データに関する多言語の人間訳（訓練データ１８ｋ文、評価データ１，１０６文）を用いて実施した。具体的には、英語（Ｅｎ）からベンガル語（Ｂｇ）、フィリピン語（Ｐｈ）、インドネシア語（Ｉｄ）、日本語（Ｊａ）、クメール語（Ｋｈ）、マレー語（Ｍｓ）、ベトナム語（Ｖｉ）の７言語への翻訳を対象とした。これらの詳細については下記表１に示す。
【００５５】
実験での大規模対訳データとしては、ＩＷＳＬＴ  ２０１５（参考文献ｂ）の英語−中国語の対訳データ（２０９ｋ文）、京都フリー翻訳タスク（ＫＦＴＴ）（参考文献ｃ及びｄ）の英語−日本語の対訳データ（４４０ｋ文）、及びＧＣＰ（非特許文献５）の生活会話の対訳データ（４４０ｋ文／２０９ｋ文）を独立に用いた。これら大規模対訳データを「外部対訳データ」又は「外部大規模対訳データ」と呼ぶ。
【００５６】
これらデータの中で、英語のデータはＭｏｓｅｓ（参考文献ｅ）に同梱されている分かち書きツールを、中国語（Ｚｈ）のデータはＫｙｏｔｏＭｏｒｐｈ（参考文献ｆ）を、日本語のデータはＪＵＭＡＮ（参考文献ｇ）を、それぞれ用いて分かち書きした。クメール語のデータはＡＬＴから配布されている分かち書き済のものを用いた。その他の言語（ベンガル語、フィリピン語、インドネシア語、マレー語、ベトナム語）のデータは、分かち書きを行わずに用いた。各対訳データの記述統計を以下の表１に示す。
【００５７】
【表１】
2020160917.tif 000003
【００５８】
［実験１］
実験１は以下の手順で行った。
【００５９】
英語から各目標言語への翻訳を行うモデルを独立に学習・評価した。６層のＴｒａｎｓｆｏｒｍｅｒモデルを用いて、次の３種類のＮＭＴモデルを構築した。以下に構築したモデルの種別を示す。
【００６０】
・＃１  Ｅｎ−ＹＹ：ＡＬＴのみを使用した、図１に示す従来手法によるもの（ｏｎｅ−ｔｏ−ｏｎｅ）。パラメタを１２万回更新。
【００６１】
・＃２  Ｅｎ−ＸＸ＋Ｅｎ−ＹＹ：＃１に対して、外部の大規模対訳データを従来手法によって追加使用した、図２に示す従来手法によるもの（ｍａｎｙ−ｔｏ−ｍａｎｙ）。パラメタを２０万回更新。
【００６２】
・＃３  Ｅｎ−ＸＸ（Ｅｎ−ＸＸ＋Ｅｎ−ＹＹ）：＃２に対して上記した実施の形態に係る方法を適用したもの。パラメタ更新は、最初の１０万回をステップ２の事前学習に充て、＃２と同じパラメタ更新回数になるよう、ステップ３においてさらに１０万回（合計２０万回）パラメタを更新。
【００６３】
［実験２］
実験２は以下の手順で行った。
【００６４】
実験２では、英語から全目標言語（７言語）への翻訳を行うモデルを学習し評価した。学習では６層のＴｒａｎｓｆｏｒｍｅｒモデルを用いて、次の３種類のＮＭＴモデルを構築した。また、実験１で構築した＃１とも性能を比較した。以下に実験の種別を示す。
【００６５】
・＃４  Ｅｎ−ＡｌｌＹＹ：ＡＬＴのみを訓練に使用した、図２に示す従来手法によるもの。パラメタを３０万回更新。
【００６６】
・＃５  Ｅｎ−ＸＸ＋Ｅｎ−ＡｌｌＹＹ（Ｅｎ−Ａｌｌ）：＃４に対して、外部の大規模対訳データを図２に示す従来手法によって追加使用したもの。パラメタを４０万回更新。
【００６７】
・＃６  Ｅｎ−ＸＸ（Ｅｎ−ＸＸ＋Ｅｎ−ＡｌｌＹＹ（＝Ｅｎ−Ａｌｌ））：＃５に対して上記実施の形態を適用したもの。パラメタ更新は、最初の１０万回をステップ２の事前学習に充て、＃５と同じパラメタ更新回数になるよう、ステップ３においてさらに３０万回（合計４０万回）パラメタを更新。
【００６８】
図６は、従来の例とこの発明によるものとの翻訳精度を比較するための実験結果の全体を表形式で示す図である。以下の図７―図１１に示す表は、いずれもこの図６から一部を抽出したものである。この図及び以下の図では、太枠で囲まれた部分が上記実施の形態に係る実験結果を、それ以外は従来のものによる実験結果を、それぞれ示す。
【００６９】
図６における記号等について説明する。
【００７０】
・使用した大規模対訳データの起点側言語はいずれも英語（Ｅｎ）である。
【００７１】
・左端の列「ＣＰ＃」は比較のためのグループ名である。このグループ名は各図で共通である。
【００７２】
・「分野」は使用した大規模対訳データの分野を示す。各データは上に説明したとおりその扱っている分野が異なっている。
【００７３】
・「言語」は使用した大規模データにおける、対訳側の文（ＸＸ）を示し、上に説明した略号を用いている。
【００７４】
・「分量」は、使用した大規模対訳データの文対数である。
【００７５】
・「＃」の列の意味は実験１及び実験２の手順の説明に記載したとおりである。この数字は図６―図１１で共通である。
【００７６】
・「ＹＹ」は、大規模対訳データと組合せて使用された、対訳データ２１２等の言語の数を示す。
【００７７】
・「１種」は、組合された言語が１言語であることを示し、「７種」は７言語であることを示す。この７言語については図６の「翻訳の目標言語」の各列に示してある。
【００７８】
図６の見方の例として、例えば「分野」にＩＷＳＬＴ、「言語」にＺｈ（中国語）、「分量」に２０９ｋと記載された行の中の右半分は、さらに４行に分かれている。この４行の中の１行目及び３行目は従来の手法（図２に示すもの）での結果を示し、２行目及び４行目はこの発明の上記実施の形態による結果を示す。
【００７９】
１行目及び２行目は、大規模対訳データと組合された言語が１言語の場合を示し、その右側にはその１言語がそれぞれベンガル語（Ｂｇ）、フィリピン語（Ｐｈ）、インドネシア語（Ｉｄ）、日本語（Ｊａ）、クメール語（Ｋｈ）、マレー語（Ｍｓ）、及びベトナム語（Ｖｉ）であったときの、翻訳結果の品質をＢＬＥＵスコア（参考文献ｉ）で評価した結果を示す。評価は値が大きい程よい。
【００８０】
３行目及び４行目は、大規模対訳データと組合された目標言語が７言語の場合を示す。右側の言語別の結果及び評価方法は１行目及び２行目の場合と同様である。
【００８１】
図６において、各目標言語についてのもっとも高いＢＬＥＵスコアを破線の楕円で囲ってある。
【００８２】
この図６から得られる全体的な評価として、ｏｎｅ−ｔｏ−ｍａｎｙ  ＮＭＴに関する従来手法をＡＬＴに適用した場合（＃２）、元々比較的性能が低かったベンガル語、日本語及びクメール語の性能を向上できたが、比較的性能が高かった他の４言語については性能が劣化してしまったことが分かる。ＡＬＴは多言語対訳データであるが、従来の手法ではその特徴を活用することができていないということである。
【００８３】
＃５は、いずれの外部データを用いた場合でも、全ての目標言語について、本手法を用いない範囲で最も高い性能を達成した。
【００８４】
＃６は、いずれの外部データを用いた場合でも、全ての目標言語について、＃１から＃５の全ての手法よりも高い翻訳性能を達成した。＃１に対するＢＬＥＵスコアの改善幅は、ＩＷＳＬＴのデータを用いた場合で２．６４〜８．３２ポイント、ＫＦＴＴのデータを用いた場合で３．７６から１０．９０ポイントであった。また、＃５に対するＢＬＥＵスコアの改善幅は、ＩＷＳＬＴのデータを用いた場合で０．４４〜２．０２ポイント、ＫＦＴＴのデータを用いた場合で０．６８〜１．４０ポイントであった。
【００８５】
以下、この図６の評価結果を様々な観点から検証するために図７―図１１を参照する。
【００８６】
図７は、外部対訳データに対し、＃２（従来技術の１−ｔｏ−２）及び＃３（上記実施の形態の１−ｔｏ−２）の結果を各言語について対照して示す図である。各言語の＃２と＃３とにおいて、高い方のＢＬＥＵスコアであって、かつ＃１よりも高いものを破線の楕円で囲んである。
【００８７】
図７を参照して、＃２のモデルでは、ベンガル語、フィリピン語、インドネシア語及びマレー語においては、常に＃１よりも性能が劣化していることが分かる。一方、＃３のモデルでは、グループＡからグループＣにおいて、全目標言語で＃１及び＃２を上回る性能が得られた。グループＡからグループＧでは、ベンガル語、日本語、クメール語、及びベトナム語では常に＃１、＃２より性能が向上した。唯一の例外はフィリピン語であって、グループＡからグループＦで＃３が＃２を上回ったが、実線の楕円で示したように、グループＧでは＃２＞＃３であり、かつ＃１＞＃３であった。
【００８８】
図８は、全目標データと外部対訳データとを組合せたときのモデルの評価結果を示す。図８において、実線の楕円で囲んだ部分は、ＢＬＥＵスコアが＃１のＢＬＥＵスコアを下回った部分である。破線の楕円で囲んだ部分は、＃６が＃５よりも高いＢＬＥＵスコアを達成した部分である。実線の長方形で囲んだ部分は、＃５のＢＬＥＵスコアが＃６のＢＬＥＵスコアを上回った部分である。
【００８９】
図８を参照して、＃４ではフィリピン語、インドネシア語、マレー語及びベトナム語で＃１よりも性能が劣化した。一方、＃５では、全目標言語で＃１、＃２及び＃４を上回る性能が得られた。ただし、グループＦのマレー語は例外で、実線の楕円で示すように＃１を下回った。＃６では、全目標言語で＃１から＃５を上回る性能を示した。ただし、実線の長方形で示すように、グループＣのベンガル語は例外で、＃５の性能をやや下回っている。
【００９０】
図９は、外部対訳データの分野の影響を検証するための図である。この図から、ＩＷＳＬＴ及びＫＦＴＴを使用した場合にはＧＣＰを使用した場合よりも性能がよいことが分かる。例外は、実線の楕円で示す１箇所、すなわちフィリピン語のＩＷＳＬＴとＧＣＰの組合せのみである。
【００９１】
また、この発明の実施の形態による結果では、ＢＬＥＵ評価値は常にグループＡ＞グループＧであり、グループＢ＞グループＤであることが分かる。
【００９２】
ＧＣＰによる場合に性能が劣るのは、ＧＣＰが生活会話の対訳であり、実質的に複数分野のテキストを含んでいることが原因である可能性がある。
【００９３】
図１０は、外部対訳データが目標側言語の品質に与える影響を検証するための図である。図１０において、実線で区切られたように４種類のモデルの評価結果が示されている。これら各モデルの評価において、各目標言語について最高の結果が得られた組合せ部分を破線の楕円形で囲ってある。図１０を参照して、外部対訳データの英語の相手側言語としてインドネシア語が選択された場合に、ＢＬＥＵスコアが他言語の場合と比較して全般的に高いことが分かる。
【００９４】
また、この発明の実施の形態（＃３及び＃６）では、目標言語がフィリピン語、インドネシア語、クメール語、マレー語、及びベトナム語であるときに最大の効果が得られていることが分かる。その理由については現在のところ不明である。
【００９５】
なお、図１０から、外部対訳データの目標側言語（ＸＸ）と、翻訳の目標言語（ＹＹ）とが一致している場合には必ず性能が向上していることが分かる。例えばＸＸ及びＹＹとしてともにベトナム語を選択した場合、＃２、＃４、＃５及び＃６のいずれにおいても、１−ｔｏ−１の結果（図６の１行目右端の「２７．３９」）より性能が向上していることがわかる。これはＸＸとＹＹとが一致していることによる分野適応の結果であると考えられる。
【００９６】
図１１は、外部対訳データのサイズによる、ＮＭＴの性能の変化を表形式で示す図である。図１１から明らかなように、従来技術及びこの発明に係る実施の形態のいずれにおいても、外部対訳データの規模が大きい程、最終的な翻訳性能が向上する傾向にあることが分かる。従来の技術の場合には、図１１において破線の楕円形で示すように一部例外が存在する（グループＧ＞グループＦ）が、この発明の実施の形態では例外なくＢＬＥＵスコアが向上している（グループＦ＞グループＧ）。
【００９７】
以上のモデルの評価結果からはさらに、以下の知見が得られた。すなわち、同じ起点言語を参照する＃２と＃５では＃５の方が、＃３と＃６では＃６の方が、それぞれ翻訳性能が高かった。したがって、少なくともＡＬＴのような小規模な対訳データしか存在しない状況では、多言語の対訳データが有用であることが明らかになった。
【００９８】
これらの結果に鑑みると、例えば、上記実施の形態によって転移学習を行ったＮＭＴモデル２２８（図３参照）に対して、さらに各目標言語に絞った転移学習を行って各目標言語別にファインチューニングすることが考えられる。そうした転移学習により、それぞれの目標言語に関してより精度が向上したＮＭＴモデルが得られる可能性が高い。
【００９９】
図１２は、実施の形態を実現するコンピュータシステムの外観図である。図１３は、図１２に示すコンピュータシステムのハードウェアブロック図である。
【０１００】
図１２を参照して、このコンピュータシステム５００は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブ５５２を有するコンピュータ５２０と、いずれもコンピュータ５２０に接続された、ユーザと対話するためのキーボード５２４、マウス５２６、及びモニタ５２２とを含む。もちろんこれはユーザ対話のための構成の一例であって、ユーザ対話に利用できる一般のハードウェア及びソフトウェア（例えばタッチパネル、音声入力、ポインティングデバイス一般）であればどのようなものも利用できる。
【０１０１】
図１３を参照して、コンピュータ５２０は、ＤＶＤドライブ５５２に加えて、ＣＰＵ５４０と、ＧＰＵ（Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５４２と、ＣＰＵ５４０、ＧＰＵ５４２、ＤＶＤドライブ５５２に接続されたバス５６０と、バス５６０に接続され、コンピュータ５２０のブートアッププログラム等を記憶するＲＯＭ５４６と、バス５６０に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するＲＡＭ５４８と、バス５６０に接続された不揮発性メモリであるハードディスクドライブ（ＨＤＤ）５５０とを含む。ハードディスク５５０は、ＣＰＵ５４０及びＧＰＵ５４２が実行するプログラム、ＣＰＵ５４０及びＧＰＵ５４２が実行するプログラムが使用するデータ等を記憶するためのものである。コンピュータ５２０はさらに、他端末との通信を可能とするネットワーク５３６への接続を提供するネットワークＩ／Ｆ５５８と、ＵＳＢメモリ５３４が着脱可能で、ＵＳＢメモリ５３４とコンピュータ５２０内の各部との通信を提供するＵＳＢポート５５６とを含む。
【０１０２】
コンピュータ５２０はさらに、マイク５３２及びスピーカ５３０とバス５６０とに接続され、ＣＰＵ５４０により生成されＲＡＭ５４８又はＨＤＤ５５０に保存された音声信号をＣＰＵ５４０の指示にしたがって読出し、アナログ変換及び増幅処理をしてスピーカ５３０を駆動したり、マイク５３２からのアナログの音声信号をデジタル化し、ＲＡＭ５４８又はＨＤＤ５５０の、ＣＰＵ５４０により指定される任意のアドレスに保存したりするための音声Ｉ／Ｆ５５４を含む。
【０１０３】
上記実施の形態では、図３に示す対訳データ２１０、対訳データ２１２、２１４、…、２１６、及び統合対訳データ２２４、ＮＭＴモデル２２０及びＮＭＴモデル２２８のパラメタ等は、いずれも例えば図１３に示すＨＤＤ５５０、ＲＡＭ５４８、ＤＶＤ５２８、又はＵＳＢメモリ５３４、若しくはネットワークＩ／Ｆ５５８及びネットワーク５３６を介して接続された外部装置の記憶媒体等に格納される。典型的には、対訳データ２１０、対訳データ２１２、２１４、…、２１６等は、例えば外部からＨＤＤ５５０に書込まれコンピュータ５２０の実行時にはＲＡＭ５４８にロードされる。
【０１０４】
このコンピュータシステムを訓練システム２００及びその各構成要素の機能を実現するよう動作させるためのコンピュータプログラムは、ＤＶＤドライブ５５２に装着されるＤＶＤ５２８に記憶され、ＤＶＤドライブ５５２からＨＤＤ５５０に転送される。又は、このプログラムはＵＳＢメモリ５３４に記憶され、ＵＳＢメモリ５３４をＵＳＢポート５５６に装着し、プログラムをハードディスク５５０に転送する。又は、このプログラムはネットワーク５３６を通じてコンピュータ５２０に送信されＨＤＤ５５０に記憶されてもよい。プログラムは実行のときにＲＡＭ５４８にロードされる。もちろん、キーボード５２４、ディスプレイ５２２及びマウス５２６を用いてソースプログラムを入力し、コンパイルした後のオブジェクトプログラムをＨＤＤ５５０に格納してもよい。スクリプト言語の場合には、キーボード５２４などを用いて入力したスクリプトをＨＤＤ５５０に格納してもよい。仮想マシン上で動作するプログラムの場合には、仮想マシンとして機能するプログラムを予めコンピュータ５２０にインストールしておく必要がある。
【０１０５】
ＣＰＵ５４０は、その内部のプログラムカウンタと呼ばれるレジスタ（図示せず）により示されるアドレスにしたがってＲＡＭ５４８からプログラムを読出して命令を解釈し、命令の実行に必要なデータを命令により指定されるアドレスにしたがってＲＡＭ５４８、ハードディスク５５０又はそれ以外の機器から読出して命令により指定される処理を実行する。ＣＰＵ５４０は、実行結果のデータを、ＲＡＭ５４８、ハードディスク５５０、ＣＰＵ５４０内のレジスタ等、プログラムにより指定されるアドレスに格納する。このとき、プログラムカウンタの値もプログラムによって更新される。コンピュータプログラムは、ＤＶＤ５２８から、ＵＳＢメモリ５３４から、又はネットワークを介して、直接ＲＡＭ５４８にロードしてもよい。なお、ＣＰＵ５４０が実行するプログラムの中で、一部のタスク（主として数値計算）については、プログラム内の命令により、又はＣＰＵ５４０による命令実行時の解析結果にしたがって、ＧＰＵ５４２にディスパッチされる。
【０１０６】
コンピュータ５２０により訓練システム２００の各機能を実現するプログラムは、それら各機能を実現するようコンピュータ５２０を動作させるように記述され配列された複数の命令を含む。この命令を実行するのに必要な基本的機能のいくつかはコンピュータ５２０上で動作するオペレーティングシステム（ＯＳ）若しくはサードパーティのプログラム、又はコンピュータ５２０にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の中で、所望の結果が得られるように制御されたやり方で適切な機能又は「プログラミング・ツール・キット」の機能を呼出すことにより、上記した各装置及びその構成要素としての動作を実行する命令のみを含んでいればよい。そのためのコンピュータ５２０の動作方法は周知であるので、ここでは繰返さない。なお、ＧＰＵ５４２は並列処理を行うことが可能であり、ＮＭＴの訓練処理に伴う多量の計算を同時並列的又はパイプライン的に実行できる。例えばプログラムのコンパイル時にプログラム中で発見された並列的計算要素、又はプログラムの実行時発見された並列的計算要素は、随時ＣＰＵ５４０からＧＰＵ５４２にディスパッチされ、実行され、その結果が直接に、又はＲＡＭ５４８の所定アドレスを介してＣＰＵ５４０に返され、プログラム中の所定の変数に代入される。
【０１０７】
［参考文献一覧］
参考文献ａ  ALT:
http://www2.nict.go.jp/astrec-att/member/mutiyama/ALT/
参考文献ｂ  Mauro Cettolo, Jan Niehues,
Sebastian Stueker, Luisa Bentivogli, Roldano Cattoni, and Marcello Federico
(2015). The IWSLT 2015 Evaluation Campaign. In Proceedings of the 12th
International Workshop on Spoken Language Translation (IWSLT), pp.2-14.
参考文献ｃ  Wikipedia日英京都関連文書対訳データ: https://alaginrc.nict.go.jp/WikiCorpus/
参考文献ｄ  Kyoto Free Translation Task: http://www.phontron.com/kftt/
参考文献ｅ  Moses: https://github.com/moses-smt/mosesdecoder
参考文献ｆ  KyotoMorph: https://bitbucket.org/msmoshen/kyotomorph-beta
参考文献ｇ  JUMAN: http://nlp.ist.i.kyoto-u.ac.jp/index.php?JUMAN
参考文献ｈ  Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion
Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin (2017). Attention is
All You Need. In Proceedings of the 30th Neural Information Processing Systems
Conference (NIPS), pp. 5998-6008.
参考文献ｉ  Kishor Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu (2002).
BLEU: a Method for Automatic Evaluation of Machine Translation. In Proceedings
of the 40th Annual Meeting of the Association for Computational Linguistics (ACL),
pp. 311-318.
【０１０８】
今回開示された実施の形態は単に例示であって、この発明が上記した実施の形態のみに制限されるわけではない。この発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【０１０９】
５０、１００、２００  訓練システム
６０、１１２、１１４、１１６、２１０、２１２、２１４、２１６  対訳データ
６２、１２２、２１８  訓練ユニット
６４、１２４、２２０、２２８  ＮＭＴモデル
６６、１２６、２３０  機械翻訳装置
６８、１２８、１３０、１３２、２３２  原文
７０、１３４、１３６、１３８、２３４、２３６、２３８  翻訳文
１１８、２２２  データ結合・疑似トークン付与ユニット
１２０、２２４  統合対訳データ
２２６  転移学習ユニット
３００、３０２、３０６、３０８、３２０、３２２、３２４、４００、４０２、４０６、４０８、４３０、４３２、４３６、４５０、４５２、４５４  ステップ
３０４、４０４、４３４  処理
【図１】
2020160917.tif 000004
【図２】
2020160917.tif 000005
【図３】
2020160917.tif 000006
【図４】
2020160917.tif 000007
【図５】
2020160917.tif 000008
【図６】
2020160917.tif 000009
【図７】
2020160917.tif 000010
【図８】
2020160917.tif 000011
【図９】
2020160917.tif 000012
【図１０】
2020160917.tif 000013
【図１１】
2020160917.tif 000014
【図１２】
2020160917.tif 000015
【図１３】
2020160917.tif 000016