図面 (/)

技術 疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法

出願人 国立研究開発法人情報通信研究機構
発明者 今村賢治藤田篤隅田英一郎
出願日 2018年3月2日 (2年0ヶ月経過) 出願番号 2018-037055
公開日 2019年9月12日 (6ヶ月経過) 公開番号 2019-153023
状態 未査定
技術分野 機械翻訳
主要キーワード 分散表現 翻訳器 事後確率分布 隠れ状態 数値ベクトル ランダムサンプリング ミニバッチ 重み付き和
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2019年9月12日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (15)

課題

目的言語の単言語コーパスを用いてエンコーダ強化し、翻訳器全体の精度向上させるニューラル機械翻訳モデル訓練方法と当該モデル訓練方法を実行するための機械翻訳システムを実現する。

解決手段

機械翻訳システム1000では、目的言語の単言語コーパスを用いて、1つの目的言語データから複数の疑似原言語データを取得し、多様性を有する疑似対訳コーパスデータを大量に取得することができる。そして、機械翻訳システム1000では、大量に取得した多様性を有する疑似対訳コーパスデータ、および、少量だが精度の高いベース対コーパスデータの両方を用いて、学習率を変えて、機械翻訳モデルの学習処理訓練処理)を実行する。これにより、機械翻訳システム1000では、非常に精度の高い学習済みモデル(機械翻訳モデル)を取得することができる。

概要

背景

近年の機械翻訳は、エンコーダデコーダ方式のニューラル機械翻訳(NMT:Neural Machine Translation)が主流となってきている。エンコーダ・デコーダ方式のニューラル機械翻訳では、入力文原文)をエンコーダによって、状態と呼ばれる数値ベクトルに符号化し、当該状態に基づいて、デコーダが翻訳文を生成する。エンコーダ・デコーダ方式のニューラル機械翻訳は、従来の統計翻訳方式に比べ、高品質な翻訳文を生成することが可能であるが、その一方で、エンコーダ・デコーダ方式のニューラル機械翻訳のモデル訓練するために大量の対訳文が必要である。しかし、大規模対訳コーパスは、単言語コーパスに比べ、一般的に入手が難しい。

この問題に対処するために、非特許文献1に開示の技術では、目的言語の単言語コーパスを原言語へ逆翻訳して疑似対訳文を生成し、生成した疑似対訳文を対訳コーパスと混合して訓練する方法を採用している。この方法の利点は、疑似対訳文といっても、目的言語側の文は人が作成した正しい文であるため、デコーダは正しく訓練されることである。そのため、上記方法を用いることで、単言語コーパスから言語モデル構築する方法を用いる場合に比べても、安定して精度の高い機械翻訳のためのモデルを構築することが可能となる。

概要

目的言語の単言語コーパスを用いてエンコーダを強化し、翻訳器全体の精度向上させるニューラル機械翻訳のモデル訓練方法と当該モデル訓練方法を実行するための機械翻訳システムを実現する。機械翻訳システム1000では、目的言語の単言語コーパスを用いて、1つの目的言語データから複数の疑似原言語データを取得し、多様性を有する疑似対訳コーパスデータを大量に取得することができる。そして、機械翻訳システム1000では、大量に取得した多様性を有する疑似対訳コーパスデータ、および、少量だが精度の高いベース対コーパスデータの両方を用いて、学習率を変えて、機械翻訳モデルの学習処理(訓練処理)を実行する。これにより、機械翻訳システム1000では、非常に精度の高い学習済みモデル(機械翻訳モデル)を取得することができる。

目的

本発明は、上記課題に鑑み、目的言語の単言語コーパスを用いてエンコーダ(アテンションを含む)を強化し、翻訳器全体の精度向上させるニューラル機械翻訳のモデル訓練方法と当該モデル訓練方法を実行するための機械翻訳システムを実現することを目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

目的言語言語コーパスから取得した1つの目的言語データに対して機械翻訳処理を施すことでN個(N:2以上の自然数)の疑似原言語データを取得する逆翻訳部と、前記1つの目的言語データと、前記逆翻訳部により取得された前記N個の疑似原言語データのそれぞれを組にすることでN組の疑似対訳データを取得する疑似対訳データ取得部と、を備える疑似対訳データ生成装置

請求項2

前記逆翻訳部は、入力データから入力側隠れ状態データを取得するエンコーダと、前記エンコーダにより取得された入力側隠れ状態データから出力側隠れ状態データを取得し、取得した出力側隠れ状態データが表す出力単語分布の中からランダムにデータを選択し、選択したデータに対応する単語データを出力データとして出力するデコーダと、を備える、請求項1に記載の疑似対訳データ生成装置。

請求項3

前記疑似対訳データを記憶する疑似対訳コーパス記憶部をさらに備え、前記疑似対訳データ取得部は、前記逆翻訳部が取得した前記疑似原言語データの尤度および信頼度の少なくとも一方に基づいて、前記N組の疑似対訳データに対してフィルタリング処理を行い、フィルタリング処理後の疑似対訳データを前記疑似対訳コーパス記憶部に記憶させる、請求項1または2に記載の疑似対訳データ生成装置。

請求項4

ベース対コーパスから取得したベース対訳データと、前記ベース対訳データに対応する第1学習率とを対応付けて第1バッチ集合データを生成し、請求項1から3のいずれかに記載の疑似対訳データ生成装置により生成された疑似対訳データと、前記疑似対訳データに対応する第2学習率とを対応付けて第2バッチ集合データを生成し、前記第1バッチ集合データと前記第2バッチ集合データを含む合成対訳データを取得する合成対訳データ取得部と、前記合成対訳データを用いて学習することで機械翻訳処理用学習済みモデルを取得するとともに、前記学習済みモデルにより、原言語データを目的言語データに機械翻訳する機械翻訳処理を実行する翻訳部であって、前記第1バッチ集合データを用いた学習処理では前記第1学習率により前記学習処理を実行し、前記第2バッチ集合データを用いた学習処理では前記第2学習率により前記学習処理を実行する前記翻訳部と、を備える機械翻訳処理装置

請求項5

前記第1学習率は、前記第2学習率よりも大きな値である、請求項4に記載の機械翻訳処理装置。

請求項6

目的言語単言語コーパスから取得した1つの目的言語データに対して機械逆翻訳処理を施すことでN個(N:2以上の自然数)の疑似原言語データを取得する逆翻訳ステップと、前記1つの目的言語データと、前記逆翻訳ステップにより取得された前記N個の疑似原言語データのそれぞれを組にすることでN組の疑似対訳データを取得する疑似対訳データ取得ステップと、を備える疑似対訳データ生成方法

技術分野

0001

本発明は、エンコーダデコーダ方式のニューラル機械翻訳技術に関する。

背景技術

0002

近年の機械翻訳は、エンコーダ・デコーダ方式のニューラル機械翻訳(NMT:Neural Machine Translation)が主流となってきている。エンコーダ・デコーダ方式のニューラル機械翻訳では、入力文原文)をエンコーダによって、状態と呼ばれる数値ベクトルに符号化し、当該状態に基づいて、デコーダが翻訳文を生成する。エンコーダ・デコーダ方式のニューラル機械翻訳は、従来の統計翻訳方式に比べ、高品質な翻訳文を生成することが可能であるが、その一方で、エンコーダ・デコーダ方式のニューラル機械翻訳のモデル訓練するために大量の対訳文が必要である。しかし、大規模対訳コーパスは、単言語コーパスに比べ、一般的に入手が難しい。

0003

この問題に対処するために、非特許文献1に開示の技術では、目的言語の単言語コーパスを原言語へ逆翻訳して疑似対訳文を生成し、生成した疑似対訳文を対訳コーパスと混合して訓練する方法を採用している。この方法の利点は、疑似対訳文といっても、目的言語側の文は人が作成した正しい文であるため、デコーダは正しく訓練されることである。そのため、上記方法を用いることで、単言語コーパスから言語モデル構築する方法を用いる場合に比べても、安定して精度の高い機械翻訳のためのモデルを構築することが可能となる。

先行技術

0004

Rico Sennrich, Barry Haddow, and Alexandra Birch. 2016a. Improving neural machine translation models with monolingual data. In Proc. of ACL-2016 (Volume 1: Long Papers), pages 86-96.

発明が解決しようとする課題

0005

しかしながら、非特許文献1に開示されている方法では、エラーを含む疑似原文を用いて訓練するため、エンコーダの精度向上が実現されていない可能性がある。

0006

そこで本発明は、上記課題に鑑み、目的言語の単言語コーパスを用いてエンコーダ(アテンションを含む)を強化し、翻訳器全体の精度向上させるニューラル機械翻訳のモデル訓練方法と当該モデル訓練方法を実行するための機械翻訳システムを実現することを目的とする。また、本発明は、上記機械翻訳システムを構成する疑似対訳データ生成装置、機械翻訳処理装置、および、上記機械翻訳システムで実行される疑似対訳データ生成方法を実現することを目的とする。

課題を解決するための手段

0007

上記課題を解決するための第1の発明は、逆翻訳部と、疑似対訳データ取得部と、を備える疑似対訳データ生成装置である。

0008

逆翻訳部は、目的言語単言語コーパスから取得した1つの目的言語データに対して機械翻訳処理を施すことでN個(N:2以上の自然数)の疑似原言語データを取得する。

0009

疑似対訳データ取得部と、1つの目的言語データと、逆翻訳部により取得されたN個の疑似原言語データのそれぞれを組にすることでN組の疑似対訳データを取得する。

0010

これにより、この疑似対訳データ生成装置では、目的言語の単言語コーパスを用いて、1つの目的言語データから複数の疑似原言語データを取得し、多様性を有する疑似対訳コーパスデータを大量に取得することができる。

0011

第2の発明は、第1の発明であって、逆翻訳部は、エンコーダと、デコーダとを備える。

0012

エンコーダは、入力データから入力側隠れ状態データを取得する。

0013

デコーダは、エンコーダにより取得された入力側隠れ状態データから出力側隠れ状態データを取得し、取得した出力側隠れ状態データが表す出力単語分布の中からランダムにデータを選択し、選択したデータに対応する単語データを出力データとして出力する。

0014

これにより、この疑似対訳データ生成装置では、デコーダから出力されるデータは、出力単語の事後確率が最大確率となるデータに限定されず、出力単語の事後確率が低い(尤度が低い)データも出力されることになる。その結果、この疑似対訳データ生成装置では、従来取得することが困難であった多様性を有する疑似対訳データを取得することができる。

0015

なお、「入力側隠れ状態データ」とは、エンコーダにより、入力データをエンコード処理したときに取得される内部状態を示すデータである。「入力側隠れ状態データ」は、例えば、入力データに対して、埋込処理により取得した分散表現データを、さらに、LSTM層による処理を実行したときに得られるデータ(内部状態を表すデータ)である。

0016

第3の発明は、第1または第2の発明であって、疑似対訳データを記憶する疑似対訳コーパス記憶部をさらに備える。

0017

疑似対訳データ取得部は、逆翻訳部が取得した疑似原言語データの尤度および信頼度の少なくとも一方に基づいて、N組の疑似対訳データに対してフィルタリング処理を行い、フィルタリング処理後の疑似対訳データを疑似対訳コーパス記憶部に記憶させる。

0018

これにより、尤度や信頼度に基づいて、機械翻訳のモデル学習を行う際に効率良く学習処理が実行される疑似対訳データを取得することができる。

0019

第4の発明は、合成対訳データ取得部と、翻訳部と、を備える機械翻訳処理装置である。

0020

合成対訳データ取得部は、ベース対コーパスから取得したベース対訳データと、当該ベース対訳データに対応する第1学習率とを対応付けて第1バッチ集合データを生成し、第1から第3のいずれかの発明である疑似対訳データ生成装置により生成された疑似対訳データと、当該疑似対訳データに対応する第2学習率とを対応付けて第2バッチ集合データを生成する。そして、合成対訳データ取得部は、第1バッチ集合データと第2バッチ集合データを含む合成対訳データを取得する。

0021

翻訳部は、合成対訳データを用いて学習することで機械翻訳処理用学習済みモデルを取得するとともに、学習済みモデルにより、原言語データを目的言語データに機械翻訳する機械翻訳処理を実行する。また、翻訳部は、第1バッチ集合データを用いた学習処理では第1学習率により学習処理を実行し、第2バッチ集合データを用いた学習処理では第2学習率により学習処理を実行する。

0022

この機械翻訳処理装置では、目的言語の単言語コーパスを用いて、1つの目的言語データから複数の疑似原言語データを取得することで大量に取得した多様性を有する疑似対訳コーパスデータを用いて、機械翻訳の学習モデルを構築するための学習処理(訓練処理)を効率良く行うことができる。そして、この機械翻訳処理装置では、大量に取得した多様性を有する疑似対訳コーパスデータ、および、少量だが精度の高いベース対訳コーパスデータの両方を用いて、学習率を変えて、機械翻訳モデルの学習処理(訓練処理)を実行する。これにより、この機械翻訳処理装置では、非常に精度の高い学習済みモデル(機械翻訳モデル)を取得することができる。

0023

第5の発明は、第4の発明であって、第1学習率は、第2学習率よりも大きな値である。

0024

これにより、この機械翻訳処理装置では、少量だが精度の高いベース対訳コーパスデータを用いた学習処理(訓練処理)の学習率を高くし、大量だが精度がベース対訳コーパスデータよりも低い疑似対訳コーパスデータを用いた学習処理(訓練処理)の学習率を低くすることができる。その結果、この機械翻訳処理装置では、精度の高い機械翻訳学習済みモデルを取得することができる。

0025

第6の発明は、逆翻訳ステップと、疑似対訳データ取得ステップと、を備える疑似対訳データ生成方法である。

0026

逆翻訳ステップは、目的言語単言語コーパスから取得した1つの目的言語データに対して機械逆翻訳処理を施すことでN個(N:2以上の自然数)の疑似原言語データを取得する。

0027

疑似対訳データ取得ステップは、1つの目的言語データと、逆翻訳ステップにより取得されたN個の疑似原言語データのそれぞれを組にすることでN組の疑似対訳データを取得する。

0028

これにより、第1の発明と同様の効果を奏する疑似対訳データ生成方法を実現することができる。

発明の効果

0029

本発明によれば、目的言語の単言語コーパスを用いてエンコーダ(アテンションを含む)を強化し、翻訳器全体の精度向上させるニューラル機械翻訳のモデル訓練方法と当該モデル訓練方法を実行するための機械翻訳システムを実現することができる。また、本発明によれば、上記機械翻訳システムを構成する疑似対訳データ生成装置、機械翻訳処理装置、および、上記機械翻訳システムで実行される疑似対訳データ生成方法を実現することができる。

図面の簡単な説明

0030

第1実施形態に係る機械翻訳システム1000の概略構成図。
第1実施形態の疑似対訳データ生成部1の逆翻訳部11の概略構成図。
第1実施形態の第1機械翻訳処理部113のエンコーダ1131の概略構成図。
第1実施形態の第1機械翻訳処理部113のアテンション部ATN1の概略構成図。
第1実施形態の第1機械翻訳処理部113のデコーダ1132の概略構成図。
第1実施形態の第1機械翻訳処理部113における機械翻訳処理を模式的に示した遷移図。
第1実施形態の翻訳部3の概略構成図。
第1実施形態の第2機械翻訳処理部32のエンコーダ321の概略構成図。
第1実施形態の第2機械翻訳処理部32のアテンション部ATN1Aの概略構成図。
第1実施形態の第2機械翻訳処理部32のデコーダ322の概略構成図。
第1実施形態の第2機械翻訳処理部32における機械翻訳処理を模式的に示した遷移図。
逆翻訳部11により取得した疑似原言語群データD1_e_Nの一例を示す図。
CPUバス構成を示す図。
疑似対訳データ生成方法のフローチャート、および、機械翻訳の学習モデルを構築するための学習処理(訓練処理)方法のフローチャート。

実施例

0031

[第1実施形態]
第1実施形態について、図面を参照しながら、以下説明する。

0032

<1.1:機械翻訳システムの構成>
図1は、第1実施形態に係る機械翻訳システム1000の概略構成図である。

0033

図2は、第1実施形態の疑似対訳データ生成部1の逆翻訳部11の概略構成図である。

0034

図3は、第1実施形態の第1機械翻訳処理部113のエンコーダ1131の概略構成図である。

0035

図4は、第1実施形態の第1機械翻訳処理部113のアテンション部ATN1の概略構成図である。

0036

図5は、第1実施形態の第1機械翻訳処理部113のデコーダ1132の概略構成図である。

0037

図6は、第1実施形態の第1機械翻訳処理部113における機械翻訳処理を模式的に示した遷移図である。

0038

図7は、第1実施形態の翻訳部3の概略構成図である。

0039

図8は、第1実施形態の第2機械翻訳処理部32のエンコーダ321の概略構成図である。

0040

図9は、第1実施形態の第2機械翻訳処理部32のアテンション部ATN1Aの概略構成図である。

0041

図10は、第1実施形態の第2機械翻訳処理部32のデコーダ322の概略構成図である。

0042

図11は、第1実施形態の第2機械翻訳処理部32における機械翻訳処理を模式的に示した遷移図である。

0043

機械翻訳システム1000は、図1に示すように、疑似対訳データ生成部1と、合成対訳データ取得部2と、翻訳部3と、ベース対訳コーパス記憶部DB_bと、目的言語単言語コーパス記憶部DB_mと、疑似対訳コーパス記憶部DB_pとを備える。

0044

疑似対訳データ生成部1は、図1に示すように、逆翻訳部11と、疑似対訳データ取得部12とを備える。

0045

逆翻訳部11は、ベース対訳コーパス記憶部DB_bからベース対訳データDb1_ejを入力し、また、目的言語単言語コーパス記憶部DB_mから目的言語データD1_jを入力する。逆翻訳部11は、ベース対訳データDb_ejを用いて学習処理を実行し、目的言語を原言語に機械翻訳する学習済みモデルを取得する。そして、逆翻訳部11は、当該学習済みモデルを用いて、1つの目的言語データD1_jに対して、機械翻訳処理を実行し、N個(N:2以上の自然数)の疑似原言語データを疑似原言語群データD1_e_Nとして取得する。そして、逆翻訳部11は、取得した疑似原言語群データD1_e_Nを疑似対訳データ取得部12に出力する。

0046

逆翻訳部11は、図2に示すように、データ入力処理部111と、制御部112と、第1機械翻訳処理部113と、データ出力処理部114とを備える。

0047

データ入力処理部111は、目的言語単言語コーパス記憶部DB_mから目的言語データD1_jを読み出すとともに、目的言語データD1_jを読み出したことを示すデータInfo1を制御部112に出力する。また、データ入力処理部111は、目的言語データD1_jを第1機械翻訳処理部113で機械翻訳処理ができるデータ形式を有するデータx1…Sに変換し、変換したデータx1…Sを第1機械翻訳処理部113に出力する。なお、データx1…Sは、単語列のようなシンボル系列であり、その最終シンボル文末記号(EOSと表す)であり、EOSを含むシンボル数はSとする。

0048

制御部112は、データ入力処理部111から出力されるデータInfo1を入力し、当該データInfo1に基づいて、制御信号Ctl1を生成し、生成した制御信号Ctl1を第1機械翻訳処理部113およびデータ出力処理部114に出力する。制御部112は、第1機械翻訳処理部113に対して制御信号Ctl1を出力し、第1機械翻訳処理部113において、1つの目的言語データD1_jに対して、複数回(N回)、機械翻訳処理が実行されるように第1機械翻訳処理部113を制御する。また、制御部112は、データ出力処理部114に対して制御信号Ctl1を出力し、データ出力処理部114において、1つの目的言語データD1_jに対して、N個の機械翻訳処理結果データ(データD1_e)が取得されるようにデータ出力処理部114を制御する。

0049

第1機械翻訳処理部113は、エンコーダ・デコーダ方式のニューラル機械翻訳処理を実行する機能部である。第1機械翻訳処理部113は、学習モード(学習処理を実行するモード)において、ベース対訳コーパスDB_bからベース対訳データDb_ejを読み出し、当該ベース対訳データDb_ejを学習データとして学習処理を実行し、学習済みモデルを構築する。第1機械翻訳処理部113は、実行モード(学習済みモデルを用いて機械翻訳処理を実行するモード)において、データ入力処理部111から入力したデータx1…Sに対して機械翻訳処理を実行し、出力データy1…Tを取得する。なお、データy1…Tは、単語列のようなシンボルの系列であり、その最終シンボルは文末記号(EOS)であり、EOSを含むシンボル数はTとする。そして、第1機械翻訳処理部113は、取得した出力データy1…Tをデータ出力処理部114に出力する。第1機械翻訳処理部113は、制御部112から出力される制御信号Ctl1に基づいて、1つの目的言語データD1_jに対して、複数回、機械翻訳処理を実行する。

0050

第1機械翻訳処理部113は、図3図5に示すように、エンコーダ1131と、デコーダ1132と、アテンション部ATN1とを備える。

0051

エンコーダ1131は、エンコーダ側埋込層e1と、エンコーダ側LSTM層(LSTM:Long short−term memory)e2と、保持部e3とを備える。

0052

エンコーダ側埋込層e1は、入力データx1…Sのうちの1つのシンボルxsに対して、埋め込み処理を行うための行列を用いて、行列変換することで、分散表現データXvsを取得する。そして、エンコーダ側埋込層e1は、取得した分散表現データXvsをエンコーダ側LSTM層e2に出力する。

0053

エンコーダ側LSTM層e2は、分散表現データXvsと、保持部e3から出力される時刻s−1の入力側隠れ状態データhis−1とを入力する。エンコーダ側LSTM層e2は、分散表現データXvsと入力側隠れ状態データhis−1とから、時刻sの入力側隠れ状態データhisを取得する。そして、エンコーダ側LSTM層e2は、取得した入力側隠れ状態データhisを、保持部e3とアテンション部ATN1に出力する。

0054

保持部e3は、エンコーダ側LSTM層e2から出力される時刻sの入力側隠れ状態データhisを入力し、記憶保持するともに、現時刻の1つ前の時刻s−1の入力側隠れ状態データhis−1をエンコーダ側LSTM層e2に出力する。なお、時刻sは、現在処理対象となっているデータが入力された時刻であり、時刻s−1は、時刻sの入力の1つ前のシンボルが入力されたときの時刻であり、時刻s+1は、時刻sの1つ後のシンボルが入力されたときの時刻である。

0055

エンコーダ1131は上記処理を時刻1からSまで繰り返し、時刻Sに達したとき、エンコーダ側LSTM層e2から出力された入力側隠れ状態データhiSをデコーダ1132に出力する。

0056

デコーダ1132は、デコーダ側埋込層d0と、デコーダ側LSTM層d1と、保持部d2と、サンプリング部d3と、保持部d4とを備える。

0057

デコーダ1132は、まずエンコーダ1131から出力された入力側隠れ状態データhiSを、出力側隠れ状態データの初期値ho0として保持部d2に記録する。また、文開始記号(BOS)を、出力シンボルの初期値y0として保持部d4に保存する。

0058

デコーダ側埋込層d0は、ある時刻tの一つ前の時刻t−1に対して、保持部d2から時刻t−1における出力データyt−1を取得し、埋め込み処理を行うための行列を用いて、行列変換することで、分散表現データYvt−1を取得する。そして、デコーダ側埋込層d0は、取得した分散表現データYvt−1をデコーダ側LSTM層d1に出力する。

0059

デコーダ側LSTM層d1は、アテンション部ATN1から出力されるコンテキスト状態データctと、保持部d2から出力される時刻t−1の出力側隠れ状態データhot−1と、保持部d4から出力される時刻t−1の分散表現データYvt−1と、を入力する。デコーダ側LSTM層d1は、コンテキスト状態データctと、出力側隠れ状態データhot−1と、分散表現データYvt−1とから、時刻tの出力側隠れ状態データhotを取得し、取得した出力側隠れ状態データhotをサンプリング部d3、保持部d2、および、アテンション部ATN1に出力する。

0060

保持部d2は、デコーダ側LSTM層d1から出力される時刻tの出力側隠れ状態データhotを入力し、記憶保持するともに、時刻t−1の出力側隠れ状態データhot−1をデコーダ側LSTM層d1に出力する。

0061

サンプリング部d3は、デコーダ側LSTM層d1から出力される出力側隠れ状態データhotを入力する。サンプリング部d3は、出力側隠れ状態データhotから、時刻tの出力シンボルytを取得し、取得した出力シンボルytをデータ出力処理部114および保持部d4に出力する。

0062

保持部d4は、サンプリング部d3から出力される時刻tの出力シンボルytを入力し、記憶保持するともに、時刻t−1の出力シンボルyt−1をデコーダ側埋込層d0に出力する。

0063

アテンション部ATN1は、図4に示すように、保持部a1とコンテキスト算出部a2とを備える。

0064

保持部a1は、エンコーダから出力される入力側隠れ状態データhisを、1からSまでのすべての時刻sについて記録する。1からSまでのすべての時刻における入力側隠れ状態データをまとめてHiとする。

0065

コンテキスト算出部a2は、保持部a1が保持するすべての時刻の入力側隠れ状態データHiと、デコーダ側LSTM層d1から出力される出力側隠れ状態データhot−1とを入力する。コンテキスト算出部a2は、すべての時刻の入力側隠れ状態データHiと、出力側隠れ状態データhot−1とから、時刻tのコンテキスト状態データctを取得する。そして、コンテキスト算出部a2は、取得したコンテキスト状態データctをデコーダ側LSTM層d1に出力する。

0066

第1機械翻訳処理部113は、上記のように構成され、図6に示すような状態遷移により機械翻訳処理を実行する。そして出力シンボルytが文末記号EOSとなったら、出力データのシンボル数Tにtを設定し、出力データy1…Tを取得する。

0067

データ出力処理部114は、第1機械翻訳処理部113から出力される出力データy1…Tと、制御部112から出力される制御信号Ctl1とを入力する。データ出力処理部114は、データD1_jに対応する機械翻訳結果データが取得された後、取得したデータy1…Tから、データD1_jに対応する機械翻訳結果データであるデータD1_eを取得する。

0068

データ出力処理部114は、制御信号Ctl1に基づいて、N個の機械翻訳結果データD1_eを取得した後、当該N個の機械翻訳結果データD1_eをまとめたデータを疑似原言語群データD1_e_Nとして、疑似対訳データ取得部12に出力する。

0069

疑似対訳データ取得部12は、目的言語単言語コーパス記憶部DB_mから目的言語データD1_jを入力するとともに、逆翻訳部11から出力される疑似原言語群データD1_e_Nを入力する。疑似対訳データ取得部12は、目的言語データD1_jと、疑似原言語群データD1_e_Nに含まれるN個の疑似原言語データD1_eのそれぞれをペアにしたデータを生成し、生成したN組のデータを疑似対訳データDp1_ej_Nとして、疑似対訳コーパス記憶部DB_pに出力する。

0070

合成対訳データ取得部2は、疑似対訳コーパス記憶部DB_pから疑似対訳データDp2_ejを読み出すとともに、ベース対訳コーパスDB_bからベース対訳データDb2_ejを読み出す。合成対訳データ取得部2は、学習率ηを対応付けながら、疑似対訳データDp2_ejと、ベース対訳データDb2_ejとに対して対訳データを合成する処理を実行し、合成対訳データD2_ejを取得する。そして、合成対訳データ取得部2は、学習率ηを対応付けた合成対訳データD2_ejを翻訳部3に出力する。

0071

翻訳部3は、図7に示すように、学習率調整部30と、入力データ変換部31と、第2機械翻訳処理部32と、出力データ変換部33とを備える。

0072

学習率調整部30は、合成対訳データ取得部2から出力される学習率ηを対応付けた合成対訳データD2_ejを入力する。学習率調整部30は、エンコーダ321およびデコーダ322に、ベース対訳コーパスDB_bから取得した対訳データを出力する場合、出力学習率η_outを対応する学習率η(例えば、η0)に設定して出力する。一方、学習率調整部30は、エンコーダ321およびデコーダ322に、疑似対訳コーパス記憶部DB_pから取得した対訳データを出力する場合、出力学習率η_outを対応する学習率η(例えば、η0/N)に設定して出力する。なお、学習率調整部30は、出力学習率η_outをアテンション部ATN1にも出力する。

0073

入力データ変換部31は、原言語データDin_eを第2機械翻訳処理部32で機械翻訳処理ができるデータ形式を有するデータx1...Sに変換し、変換したデータx1...Sを第2機械翻訳処理部32に出力する。なお、データx1…Sは、単語列のようなシンボルの系列であり、その最終シンボルは文末記号(EOSと表す)であり、EOSを含むシンボル数はSとする。

0074

第2機械翻訳処理部32は、図8図10に示すように、エンコーダ321と、デコーダ322と、アテンション部ATN1Aと、を備える。

0075

エンコーダ321は、エンコーダ側埋込層e1と、エンコーダ側LSTM層(LSTM:Long short−term memory)e2と、保持部e3とを備える。また、エンコーダ321は、学習率調整部30から出力される出力学習率η_outを入力し、学習時において、出力学習率η_outにより、学習(パラメータの調整)を行う。

0076

エンコーダ側埋込層e1は、入力データx1…Sのうちの1つのシンボルxsに対して、埋め込み処理を行うための行列を用いて、行列変換することで、分散表現データXvsを取得する。そして、エンコーダ側埋込層e1は、取得した分散表現データXvsをエンコーダ側LSTM層e2に出力する。

0077

エンコーダ側LSTM層e2は、分散表現データXvsと、保持部e3から出力される時刻s−1の入力側隠れ状態データhis−1とを入力する。エンコーダ側LSTM層e2は、分散表現データXvsと入力側隠れ状態データhis−1とから、時刻sの入力側隠れ状態データhisを取得する。そして、エンコーダ側LSTM層e2は、取得した入力側隠れ状態データhisを、保持部e3とアテンション部ATN1Aとデコーダ側LSTM層d1に出力する。

0078

保持部e3は、エンコーダ側LSTM層e2から出力される時刻sの入力側隠れ状態データhisを入力し、記憶保持するともに、現時刻の1つ前の時刻s−1の入力側隠れ状態データhis−1をエンコーダ側LSTM層e2に出力する。

0079

エンコーダ321は上記処理を時刻1からSまで繰り返し、時刻Sに達したとき、エンコーダ側LSTM層e2から出力された入力側隠れ状態データhiSをデコーダ322に出力する。

0080

デコーダ322は、デコーダ側埋込層d0と、デコーダ側LSTM層d1と、保持部d2と、最大確率出力部d3Aと、保持部d4とを備える。また、デコーダ322は、学習率調整部30から出力される出力学習率η_outを入力し、学習時において、出力学習率η_outにより、学習(パラメータの調整)を行う。

0081

デコーダ322は、まずエンコーダ321から出力された入力側隠れ状態データhiSを、出力側隠れ状態データの初期値ho0として保持部d2に記録する。また、文開始記号(BOS)を、出力シンボルの初期値y0として保持部d4に保存する。

0082

デコーダ側埋込層d0は、ある時刻tの一つ前の時刻t−1に対して、保持部d2から時刻t−1における出力シンボルyt−1を取得し、埋め込み処理を行うための行列を用いて、行列変換することで、分散表現データYvt−1を取得する。そして、デコーダ側埋込層d0は、取得した分散表現データYvt−1をデコーダ側LSTM層d1に出力する。

0083

デコーダ側LSTM層d1は、アテンション部ATN1Aから出力されるコンテキスト状態データctと、保持部d2から出力される時刻t−1の出力側隠れ状態データhot−1と、保持部d4から出力される時刻t−1の分散表現データYvt−1と、を入力する。デコーダ側LSTM層d1は、コンテキスト状態データctと、出力側隠れ状態データhot−1と、分散表現データYvt−1とから、時刻tの出力側隠れ状態データhotを取得し、取得した出力側隠れ状態データhotを最大確率出力部d3A、保持部d2、および、アテンション部ATN1Aに出力する。

0084

保持部d2は、デコーダ側LSTM層d1から出力される時刻tの出力側隠れ状態データhotを入力し、記憶保持するともに、時刻t−1の出力側隠れ状態データhot−1をデコーダ側LSTM層d1に出力する。

0085

最大確率出力部d3Aは、デコーダ側LSTM層d1から出力される出力側隠れ状態データhotを入力する。最大確率出力部d3Aは、出力側隠れ状態データhotから、まず時刻tの単語出力分布Yotを算出し、単語出力分布Yotから出力シンボルytを取得し、取得した出力シンボルytをデータ出力処理部114および保持部d4に出力する。なお、単語出力分布Yotは、すべての出力シンボル候補を事後確率分布で示したデータであり、最大確率出力部d3Aは、最大確率となるデータを単語出力分布Yotの中から選択し、選択したデータに対応する出力シンボルytを出力する。

0086

保持部d4は、最大確率出力部d3Aから出力される時刻tの出力シンボルytを入力し、記憶保持するともに、時刻t−1の出力シンボルyt−1をデコーダ側LSTM層d1に出力する。

0087

アテンション部ATN1Aは、図9に示すように、保持部a1とコンテキスト算出部a2とを備える。

0088

保持部a1は、エンコーダから出力される入力側隠れ状態データhisを、1からSまでのすべての時刻sについて記録する。1からSまでのすべての時刻における入力側隠れ状態データをまとめてHiとする。

0089

コンテキスト算出部a2は、保持部a1が保持するすべての時刻の入力側隠れ状態データHiと、デコーダ側LSTM層d1から出力される出力側隠れ状態データhot−1と、学習率調整部30から出力される出力学習率η_outとを入力する。コンテキスト算出部a2は、すべての時刻の入力側隠れ状態データHiと、出力側隠れ状態データhot−1とから、時刻tのコンテキスト状態データctを取得する。そして、コンテキスト算出部a2は、取得したコンテキスト状態データctをデコーダ側LSTM層d1に出力する。アテンション部ATN1Aは、学習時において、出力学習率η_outにより、学習(パラメータの調整)を行う。

0090

第2機械翻訳処理部32は、上記のように構成され、図11に示すような状態遷移により機械翻訳処理を実行する。そして出力シンボルytが文末記号EOSとなったら、出力データのシンボル数Tにtを設定し、出力データy1…Tを取得する。

0091

出力データ変換部33は、第2機械翻訳処理部32から出力される出力データy1…Tを入力する。出力データ変換部33は、y1から順番に第2機械翻訳処理部32から出力される出力シンボルytを取得し続けるが、ytが文末記号(EOS)となった時点で、データDin_eに対応する機械翻訳結果データがそろったとみなして、Tに出力シンボル数を設定する。そして、出力データ変換部33は、原言語データDin_eに対応する機械翻訳結果データが取得された後、取得したデータy1…Tから、目的言語データDout_jを取得し出力する。

0092

ベース対訳コーパス記憶部DB_bは、例えば、人により生成された原言語と目的言語との対訳コーパスデータを記憶する。したがって、ベース対訳コーパス記憶部DB_bに記憶されている対訳コーパスデータは、高精度の対訳データである。ベース対訳コーパス記憶部DB_bは、例えば、データベースにより実現される。

0093

目的言語単言語コーパス記憶部DB_mは、目的言語の単言語のコーパスデータを記憶する。目的言語単言語コーパス記憶部DB_mは、例えば、データベースにより実現される。

0094

疑似対訳コーパス記憶部DB_pは、疑似対訳データ取得部12から出力される疑似対訳データDp1_ej_Nを記憶する。

0095

<1.2:機械翻訳システムの動作>
以上のように構成された機械翻訳システム1000の動作について説明する。

0096

(1.2.1:疑似対訳データ生成処理
まず、機械翻訳システム1000における疑似対訳データ生成処理について、説明する。

0097

疑似対訳データ生成部1の逆翻訳部11は、学習モード(学習処理を実行するモード)において、ベース対訳コーパスDB_bからベース対訳データDb_ejを読み出し、当該ベース対訳データDb_ejを学習データとして学習処理を実行し、学習済みモデルを構築する。

0098

次に、疑似対訳データ生成部1の逆翻訳部11は、データ入力処理部111により、目的言語単言語コーパス記憶部DB_mから目的言語データD1_jを読み出す。データ入力処理部111は、目的言語データD1_jを読み出したことを示すデータInfo1を制御部112に出力する。また、データ入力処理部111は、目的言語データD1_jを第1機械翻訳処理部113で機械翻訳処理ができるデータ形式を有するデータx1…Sに変換し第1機械翻訳処理部113に出力する。

0099

第1機械翻訳処理部113は、実行モード(ベース対訳データDb_ejによる学習により取得された学習済みモデルを用いて機械翻訳処理を実行するモード)において、データ入力処理部111から入力したデータx1…Sに対して機械翻訳処理を実行する。具体的には、以下のようにして、逆翻訳部11において、目的言語から原言語への機械翻訳処理が実行される。

0100

入力データx1…Sのうちの1つのシンボルxsがエンコーダ側埋込層e1に入力される。エンコーダ側埋込層e1では、埋め込み処理用の行列を用いて、入力されたシンボルxsに対して行列変換することで、分散表現データXvsが取得される。そして、取得された分散表現データXvsは、エンコーダ側LSTM層e2に出力される。

0101

エンコーダ側LSTM層e2では、分散表現データXvsと入力側隠れ状態データhis−1とに対してエンコード処理(例えば、LSTMによるエンコード処理)が実行され、時刻sの入力側隠れ状態データhisが取得される。

0102

エンコーダ側LSTM層e2で取得された入力側隠れ状態データhisは、保持部e3とアテンション部ATN1に出力される。

0103

保持部e3は、エンコーダ側LSTM層e2から出力される時刻sの入力側隠れ状態データhisを入力し、記憶保持するともに、現時刻の1つ前の時刻s−1の入力側隠れ状態データhis−1をエンコーダ側LSTM層e2に出力する。

0104

エンコーダ1131では、上記処理を時刻1からSまで繰り返し、時刻Sに達したとき、エンコーダ側LSTM層e2から出力された入力側隠れ状態データhiSがデコーダ1132に出力される。

0105

アテンション部ATN1の保持部a1は、エンコーダから出力される入力側隠れ状態データhisを、1からSまでのすべての時刻sについて記録する。1からSまでのすべての時刻における入力側隠れ状態データをまとめてHiとする。

0106

コンテキスト算出部a2は、すべての時刻の入力側隠れ状態データHiと、出力側隠れ状態データhot−1とから、時刻tのコンテキスト状態データctを取得する。そして、コンテキスト算出部a2は、取得したコンテキスト状態データctをデコーダ側LSTM層d1に出力する。

0107

コンテキスト算出部a2は、ある時刻sにおける入力側隠れ状態データhisと、出力側隠れ状態データhot−1から、ある時刻sにおける入力シンボルアライメントスコアestを算出する。この算出には、入力側隠れ状態データhisと、出力側隠れ状態データhotの重み付き和をとるなどの方法が用いられるが、他の算出方法でもよい。

0108

コンテキスト算出部a2は、入力シンボルのアライメントスコアestを1からSのすべての時刻について算出し、総和が1となるように正規化して入力シンボルの重みαstを得る。そして、コンテキスト算出部a2は、すべての時刻sについて、入力側隠れ状態データHiを入力シンボルの重みαstで重み付き混合し、コンテキスト状態データctを得る。

0109

そして、上記処理により取得されたコンテキスト状態データctは、デコーダ側LSTM層d1に出力される。

0110

デコーダ1132は、まずエンコーダ1131から出力された入力側隠れ状態データhiSを、出力側隠れ状態データの初期値ho0として保持部d2に記録する。また、文開始記号(BOS)を、出力シンボルの初期値y0として保持部d4に保存する。

0111

デコーダ側埋込層d0は、ある時刻tの一つ前の時刻t−1に対して、保持部d2から時刻t−1における出力シンボルyt−1を取得し、埋め込み処理を行うための行列を用いて、行列変換することで、分散表現データYvt−1を取得する。そして、デコーダ側埋込層d0は、取得した分散表現データYvt−1をデコーダ側LSTM層d1に出力する。

0112

デコーダ側LSTM層d1では、コンテキスト状態データctと、出力側隠れ状態データhot−1と、分散表現データYvt−1とに対してデコード処理(例えば、LSTMによるデコード処理)が実行され、時刻tの出力側隠れ状態データhotが取得される。そして、取得された出力側隠れ状態データhotは、サンプリング部d3、保持部d2、および、アテンション部ATN1に出力される。

0113

保持部d2は、デコーダ側LSTM層d1から出力される時刻tの出力側隠れ状態データhotを入力し、記憶保持するともに、時刻t−1の出力側隠れ状態データhot−1をデコーダ側LSTM層d1に出力する。

0114

サンプリング部d3では、出力側隠れ状態データhotから単語出力分布Yotを算出し、そこからランダムサンプリング処理により、時刻tの出力シンボルytが取得される。

0115

単語出力分布Yotは、すべての出力シンボル候補を事後確率分布で示したデータであり、出力側隠れ状態データhotを線形変換し、正規化することにより算出される。従来のニューラル機械翻訳処理では、出力シンボルの事後確率が最大確率となるデータを単語出力分布Yotの中から選択し、選択したデータに対応する出力シンボルytが出力される。このような処理を行う代わりに、サンプリング部d3は、単語出力分布Yotに従った確率ですべての出力シンボル候補からランダムにデータを選択し、選択したデータに対応するデータを出力シンボルytとして出力する。これにより、サンプリング部d3から出力されるデータは、出力シンボルの事後確率が最大確率となるデータに限定されず、出力シンボルの事後確率が低い(尤度が低い)データも出力されることになる。

0116

デコーダ1132は上記処理を時刻1からTまで繰り返し、出力データy1…Tを取得する。

0117

そして、上記にようにして取得された出力データy1…Tは、第1機械翻訳処理部113からデータ出力処理部114に出力される。

0118

なお、第1機械翻訳処理部113は、制御部112から出力される制御信号Ctl1に基づいて、1つの目的言語データD1_jに対して、N個の原言語データが取得されるまで、複数回、機械翻訳処理を実行する。

0119

データ出力処理部114は、データD1_jに対応する機械翻訳結果データが取得されるまで、第1機械翻訳処理部113から出力される出力データy1…Tを取得し続ける。そして、データ出力処理部114は、データD1_jに対応する機械翻訳結果データが取得された後、取得したデータy1…Tから、データD1_jに対応する機械翻訳結果データであるデータD1_eを取得する。

0120

データ出力処理部114は、制御信号Ctl1に基づいて、N個の機械翻訳結果データD1_eを取得した後、当該N個の機械翻訳結果データD1_eをまとめたデータを疑似原言語群データD1_e_Nとして、疑似対訳データ取得部12に出力する。

0121

疑似対訳データ取得部12は、目的言語データD1_jと、疑似原言語群データD1_e_Nに含まれるN個の疑似原言語データD1_eのそれぞれをペアにしたデータを生成し、生成したN組のデータを疑似対訳データDp1_ej_Nとして、疑似対訳コーパス記憶部DB_pに出力する。

0122

図12は、逆翻訳部11により取得した疑似原言語データD1_e_Nの一例を示す図である。具体的には、図12上段に目的言語データD1_jを示し、図12中段に疑似原言語データD1_e_N(N=5の場合)を示し、図12下段に参考として人手による逆翻訳した文を示している。

0123

従来のニューラル機械翻訳処理では、出力シンボルの事後確率が最大確率となるデータを単語出力分布の中から選択するので、図12に示した場合、対数尤度が最大であるデータD1_e[1]に示した疑似原言語データのみが取得されることになる。

0124

一方、疑似対訳データ生成部1の逆翻訳部11では、サンプリング部d3により、出力側隠れ状態データhotから算出された単語出力分布Yotに従った確率でランダムにデータが選択され、選択されたデータに対応するシンボルが出力シンボルytとして出力される。したがって、疑似対訳データ生成部1の逆翻訳部11では、図12に示したように、対数尤度が分散した多様な原言語データを取得することができる。特に、従来技術では、対数尤度の低い疑似原言語データが取得されることはなく、一般的に機械翻訳の出力は傾向が類似しており、多様性を出すのが困難である。逆翻訳部11では、上記のように処理することで、従来の機械翻訳で出力することが困難であった多様な翻訳文を取得することができる。

0125

例えば、図12のデータの場合、疑似対訳データ取得部12は、図12の上段に示した目的言語データD1_jと、図12の中段に示したN(=5)個の疑似原言語データD1_e(D1_e[1]、D1_e[2]、・・・、D1_e[5]と表記する)のそれぞれをペアにしたデータを生成する。つまり、疑似対訳データ取得部12は、N(=5)組のデータ、すなわち、
(1)[D1_j,D1_e[1]]
(2)[D1_j,D1_e[2]]
(3)[D1_j,D1_e[3]]
(4)[D1_j,D1_e[4]]
(5)[D1_j,D1_e[5]]
を生成する。そして、上記のN組のデータを疑似対訳データDp1_ej_N(={[D1_j,D1_e[1]],[D1_j,D1_e[2]],[D1_j,D1_e[3]],[D1_j,D1_e[4]],[D1_j,D1_e[5]])として、疑似対訳コーパス記憶部DB_pに出力する。

0126

疑似対訳コーパス記憶部DB_pは、疑似対訳データ生成部1により取得された疑似対訳データDp1_ej_Nを記憶する。

0127

以上のように、機械翻訳システム1000では、疑似対訳データ生成処理が実行される。

0128

(1.2.2:機械翻訳訓練処理)
次に、機械翻訳システム1000における機械翻訳訓練処理について、説明する。

0129

合成対訳データ取得部2は、疑似対訳コーパス記憶部DB_pから疑似対訳データDp2_ejを読み出すとともに、ベース対訳コーパスDB_bからベース対訳データDb2_ejを読み出す。合成対訳データ取得部2は、疑似対訳データDp2_ejと、ベース対訳データDb2_ejとに対して対訳データを合成する処理を実行し、合成対訳データD2_ejを取得する。

0130

具体的には、合成対訳データ取得部2は、疑似対訳データDp2_ejと、ベース対訳データDb2_ejとをそれぞれミニバッチ集合データとして作成し、作成したミニバッチ集合ごとに学習率を設定する。例えば、合成対訳データ取得部2がベース対訳データDb2_ejを集めて作成したミニバッチ集合データに学習率η(=η0)を紐付けた場合のデータをData1(Db2_ej,η0)、Data2(Db2_ej,η0)、Data3(Db2_ej,η0)、・・・、Datak(Db2_ej,η0)と表記する。

0131

また、合成対訳データ取得部2が疑似対訳データDp2_ejを集めて作成したミニバッチ集合データに学習率η1(例えば、η1=η/N)を紐付けた場合のデータをData1(Dp2_ej,η1)、Data2(Dp2_ej,η1)、Data3(Dp2_ej,η1)、・・・、Datak(Db2_ej,η1)と表記する。

0132

そして、合成対訳データ取得部2は、上記のように生成したベース対訳データDb2_ejを集めて作成したミニバッチ集合データと疑似対訳データDp2_ejを集めて作成したミニバッチ集合データとを混合して順序入れ替え、合成対訳データD2_ejを、例えば、以下のデータとして生成する。
D2_ej={Data1(Db2_ej,η0),Data2(Db2_ej,η0),Data3(Db2_ej,η0),Data4(Dp2_ej,η1),Data5(Dp2_ej,η1),・・・,Datak(Dp2_ej,η1),・・・}
η1=η0/N
通常、疑似対訳データDp2_ejを集めて作成したミニバッチ集合データのデータ数は、ベース対訳データDb2_ejを集めて作成したミニバッチ集合データのデータ数よりも遙かに多い。その一方で、対訳データの精度は、ベース対訳データDb2_ejの方が疑似対訳データDp2_ejよりも高い。したがって、翻訳部3の学習モデルを構築するときに、疑似対訳データDp2_ejとベース対訳データDb2_ejとを同じ学習率にして学習処理を実行すると、精度の高い学習処理(訓練処理)を行うことができない。

0133

そこで、合成対訳データ取得部2は、上記のように、疑似対訳データDp2_ejを集めて作成したミニバッチ集合データの学習率η1を、ベース対訳データDb2_ejを集めて作成したミニバッチ集合データの学習率η0よりも小さい値にして、合成対訳データD2_ejを取得する。そして、このようにして取得した合成対訳データD2_ejを用いることで、翻訳部3において、精度の高い学習処理(訓練処理)を行うことができる。

0134

上記のようにして取得された合成対訳データD2_ejは、合成対訳データ取得部2から翻訳部3に出力される。

0135

翻訳部3の学習率調整部30は、合成対訳データ取得部2から出力される学習率ηを対応付けた合成対訳データD2_ejを入力する。学習率調整部30は、エンコーダ321およびデコーダ322に、ベース対訳コーパスDB_bから取得した対訳データを出力する場合、出力学習率η_outを対応する学習率η(例えば、η0)に設定して出力する。一方、学習率調整部30は、エンコーダ321およびデコーダ322に、疑似対訳コーパス記憶部DB_pから取得した対訳データを出力する場合、出力学習率η_outを対応する学習率η(例えば、η0/N)に設定して出力する。なお、学習率調整部30は、出力学習率η_outをアテンション部ATN1Aにも出力する。

0136

例えば、学習率調整部30は、合成対訳データD2_ejに含まれるミニバッチ集合データデータData1(Db2_ej,η0)を処理する場合、学習率をη0にして、データData1(Db2_ej,η0)に含まれるベース対訳データをエンコーダ321、デコーダ322に入力して、第2機械翻訳処理部32の学習モデルを構築するための学習処理(訓練処理)を実行する。この場合、精度の高いベース対訳データを用いているので、高い学習率で学習処理(訓練処理)が実行される。

0137

一方、学習率調整部30は、合成対訳データD2_ejに含まれるミニバッチ集合データデータData4(Dp2_ej,η1)を処理する場合、学習率をη1(例えば、η1=η0/N)にして、データData4(Dp2_ej,η1)に含まれる疑似対訳データをエンコーダ321、デコーダ322に入力して、第2機械翻訳処理部32の学習モデルを構築するための学習処理(訓練処理)を実行する。この場合、ベース対訳データよりも精度の低い疑似対訳データを用いているので、ベース対訳データを用いる場合よりも低い学習率で学習処理(訓練処理)が実行される。

0138

上記のようにして、翻訳部3では、学習モデルを構築するための学習処理(訓練処理)が実行される。

0139

(1.2.3:機械翻訳実行処理
次に、機械翻訳システム1000における機械翻訳実行処理について、説明する。

0140

原言語データDin_eが翻訳部3の入力データ変換部31に入力される。

0141

入力データ変換部31は、原言語データDin_eを第2機械翻訳処理部32で機械翻訳処理ができるデータ形式を有するデータx1…Sに変換し、変換したデータx1…Sを第2機械翻訳処理部32に出力する。

0142

第2機械翻訳処理部32では、上記の機械翻訳訓練処理により、翻訳部3に構築された学習モデルを用いて、データx1…Sに対して機械翻訳処理が実行され出力データy1…Tが取得される。

0143

出力データ変換部33は、第2機械翻訳処理部32から出力される出力データy1…Tを入力し、出力データ変換部33は、原言語データDin_eに対応する機械翻訳結果データが取得された後、取得したデータy1…Tから、目的言語データDout_jを取得し出力する。

0144

上記のようにして、機械翻訳システム1000における機械翻訳実行処理が実行される。

0145

以上のように、機械翻訳システム1000では、目的言語の単言語コーパスを用いて、1つの目的言語データから複数の疑似原言語データを取得し、多様性を有する疑似対訳コーパスデータを大量に取得することができる。そして、機械翻訳システム1000では、大量に取得した多様性を有する疑似対訳コーパスデータ、および、少量だが精度の高いベース対訳コーパスデータの両方を用いて、学習率を変えて、機械翻訳モデルの学習処理(訓練処理)を実行する。これにより、機械翻訳システム1000では、非常に精度の高い学習済みモデル(機械翻訳モデル)を取得することができる。

0146

例えば、ベース対訳コーパスデータを40万文のデータとし、疑似対訳コーパスデータを155万文のデータとして、上記処理により、翻訳部3で機械翻訳モデルの学習処理(訓練処理)を行い取得した学習済みモデルによる翻訳精度を測定した結果、上記処理による翻訳の精度は、ベース対訳コーパスデータのみを用いて取得した機械翻訳モデル(学習済みモデル)による機械翻訳に対して、BLEUスコアで3.0〜5.0程度改善され、非特許文献1の技術を用いた場合に比べても、BLEUスコアで約0.5〜2.0程度改善される。

0147

なお、機械翻訳システム1000において、疑似対訳データDp1_ej_Nの精度が悪い、すなわち、翻訳部3の学習処理(訓練処理)に悪影響を与えていると判断できる場合、疑似対訳データDp1_ej_Nに対してフィルタリング処理を行うようにしてもよい。例えば、以下の基準により、選択するデータを決定するようにしてもよい。
(1)尤度
逆翻訳部11で取得される尤度(翻訳文の長さで補正した尤度を含む)を基準として、疑似対訳データDp1_ej_Nに含める疑似原言語データD1_eを選択する。
(2)信頼度
例えば、下記文献(Atsushi Fujita等)に開示されている技術により取得される翻訳文の信頼度を基準として、疑似対訳データDp1_ej_Nに含める疑似原言語データD1_eを選択する。
Atsushi Fujita and Eiichiro Sumita. 2017. Japanese to English/Chinese/Korean datasets for translation quality estimation and automatic post-editing. In Proc of WAT2017, pages 79-88.
(3)ランダム選択
ランダム選択により、疑似対訳データDp1_ej_Nに含める疑似原言語データD1_eを選択する。

0148

[他の実施形態]
上記実施形態の機械翻訳システム1000において、ベース対訳コーパスDB_bから取得した対訳データの学習率(例えば、η=η0)と、疑似対訳コーパス記憶部DB_pから取得した対訳データの学習率(例えば、η=η0/N)とをそれぞれ固定の値にする場合について説明したが、これに限定されることはなく、例えば、バッチ集合データごとに、学習率を可変にしてもよい。また、ベース対訳コーパスDB_bから取得した対訳データの学習率(例えば、η=η0)と、疑似対訳コーパス記憶部DB_pから取得した対訳データの学習率(例えば、η=η0/N)とは、上記の値に限定されることはなく、他の値であってもよい。例えば、疑似対訳コーパス記憶部DB_pから取得した対訳データの学習率は、η=η0/M(M:実数)であってもよい。

0149

また、上記実施形態では、第1機械翻訳処理部での処理をN回実行することで、1つの目的言語データに対してN個(N:2以上の自然数)の疑似原言語データを取得する場合について説明したが、これに限定されることはなく、例えば、第1機械翻訳処理部で1回の機械翻訳処理を実行し、入力データに対する単語出力分布の中の複数の候補から出力データをランダムに選択する処理をN回繰り返すことで、N個の疑似原言語データを取得するようにしてもよい。

0150

上記実施形態の機械翻訳システム1000の各機能部の一部または全部は、1つの装置で実現されるものであってもよいし、複数の装置により実現されるものであってもよい。

0151

また上記実施形態で説明した機械翻訳システム1000において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部または全部を含むように1チップ化されても良い。

0152

なおここではLSIとしたが、集積度の違いにより、IC、システムLSIスーパーLSI、ウルトラLSIと呼称されることもある。

0153

また集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブルプロセッサーを利用しても良い。

0154

また上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。

0155

また上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらにソフトウェアおよびハードウェアの混在処理により実現しても良い。

0156

例えば上記実施形態の各機能部をソフトウェアにより実現する場合、図9に示したハードウェア構成(例えばCPU、ROM、RAM、入力部、出力部、通信部、記憶部(例えば、HDDSSD等により実現される記憶部)、外部メディアドライブ等をバスBusにより接続したハードウェア構成)を用いて各機能部をソフトウェア処理により実現するようにしてもよい。

0157

また上記実施形態の各機能部をソフトウェアにより実現する場合、当該ソフトウェアは、図9に示したハードウェア構成を有する単独のコンピュータを用いて実現されるものであってもよいし、複数のコンピュータを用いて分散処理により実現されるものであってもよい。

0158

例えば、疑似対訳データ生成方法をソフトウェアにより実現する場合、図14(a)に示したフローチャートにより、疑似対訳データ生成方法を実現するようにしてもよい。

0159

具体的には、疑似対訳データ生成方法では、ステップS101において、目的言語単言語コーパスから目的言語単言語データ読み出し処理が実行される。

0160

ステップS102では、ステップS101で読み出した、1つの目的言語データに対して逆翻訳処理が実行され、N個の原言語データが取得される。

0161

ステップS103では、1つの目的言語データと、そのデータを逆翻訳して取得したN個の原言語データとを組にした疑似対訳データを取得する。

0162

ステップS104では、ステップS103で取得された疑似対訳データを例えば、データベースに記憶することで、疑似対訳データコーパスを取得する。

0163

また、例えば、機械翻訳の学習モデルを構築するための学習処理(訓練処理)方法をソフトウェアにより実現する場合、図14(b)に示したフローチャートにより、当該方法を実現するようにしてもよい。

0164

具体的には、機械翻訳の学習モデルを構築するための学習処理(訓練処理)方法では、ステップS201において、ベース対訳コーパスからベース対訳データを読み出す。

0165

ステップS202において、疑似対訳コーパスから疑似対訳データを読み出す。

0166

ステップS203において、ステップS201で取得したベース対訳データのミニバッチ集合を生成し、ステップS202で取得した疑似対訳データのミニバッチ集合を生成し、さらに、両方のミニバッチ集合を混合して順序を入れ替えることで、合成対訳データを取得する。

0167

ステップS204において、合成対訳データに含まれる各ミニバッチ集合の学習率を設定する。

0168

ステップS205において、合成対訳データに含まれる各ミニバッチ集合を用いて学習処理を行う。なお、このときは、学習率は、処理対象のミニバッチ集合に設定されている学習率を用いる。

0169

上記のようにして、疑似対訳データ生成方法、および、機械翻訳の学習モデルを構築するための学習処理(訓練処理)方法をソフトウェアにより実現することができる。

0170

また上記実施形態における処理方法実行順序は、必ずしも上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。

0171

前述した方法をコンピュータに実行させるコンピュータプログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここでコンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。

0172

上記コンピュータプログラムは、上記記録媒体に記録されたものに限らず、電気通信回線無線または有線通信回線インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。

0173

なお本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。

0174

本発明によれば、目的言語の単言語コーパスを用いてエンコーダ(アテンションを含む)を強化し、翻訳器全体の精度向上させるニューラル機械翻訳のモデル訓練方法と当該モデル訓練方法を実行するための機械翻訳システムを実現することができる。このため本発明は、自然言語処理関連産業分野において有用であり、当該分野において実施することができる。

0175

1000機械翻訳システム
1疑似対訳データ生成部(疑似対訳データ生成装置)
11 逆翻訳部
113 第1機械翻訳処理部
1131エンコーダ
1132デコーダ
12 疑似対訳データ取得部
2 合成対訳データ取得部
3 翻訳部
DB_p 疑似対訳コーパス記憶部
DB_bベースコーパス記憶部
DB_m目的言語単言語コーパス記憶部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ