(57)【要約】【課題】ドメインの異なる学習データを完全に分離することなく、複数のドメインの翻訳モデル間で知識を共有できるようにするための翻訳装置および学習装置を提供する。【解決手段】翻訳装置は、第１ドメインの翻訳を行うための第１翻訳モデル部と、第２ドメインの翻訳を行うための第２翻訳モデル部とを有する。第１翻訳モデル部と第２翻訳モデル部とは、共有エンコーダー部を共有する。第１ドメインのエンコード処理を行う場合も第２ドメインのエンコード処理を行う場合も、入力文のデータは共有エンコード部に渡される。共有エンコード部は、学習処理により、第１ドメインおよび第２ドメインの両方の知識を蓄積する。ドメインに固有の知識は各ドメインに専用の部分に蓄積される。翻訳装置は、学習装置としても機能する。【選択図】図１
2020119244.tif 000002
【特許請求の範囲】
【請求項１】
第１ドメインにおけるエンコード処理のパラメーターに基づいて、前記第１ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第１エンコーダー部と、
第２ドメインにおけるエンコード処理のパラメーターに基づいて、前記第２ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第２エンコーダー部と、
前記第１ドメインと前記第２ドメインとで共有されるエンコード処理のパラメーターに基づいて、前記第１ドメインまたは前記第２ドメインのいずれかに属する前記入力文のエンコード処理を行う共有エンコーダー部と、
前記第１エンコーダー部におけるエンコード処理の結果として出力される第１意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第１ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第１デコーダー部と、
前記第２エンコーダー部におけるエンコード処理の結果として出力される第２意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第２ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第２デコーダー部と、
を具備し、
前記第１ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第１エンコーダー部と前記共有エンコーダー部と前記第１デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第１エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第１デコーダー部におけるデコード処理のパラメーターとを更新し、
前記第２ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第２エンコーダー部と前記共有エンコーダー部と前記第２デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第２エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第２デコーダー部におけるデコード処理のパラメーターとを更新する、
学習装置。
【請求項２】
前記第１エンコーダー部によるエンコード処理の結果として出力される第１意味ベクトルの要素と、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルの要素とを並べて得られる連結ベクトルを、前記第１ドメインにおける低次元化処理のパラメーターに基づいて低次元化し、低次元化した結果である第１低次元化ベクトルを出力する第１低次元化部、
を具備し、
前記第１デコーダー部は、前記第１低次元化部が出力する前記第１低次元化ベクトルと、前記第１ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成し、
前記文対の目的言語による文と、前記第１デコーダー部からの前記出力文との差に基づいて、前記第１低次元化部における低次元化処理のパラメーターをも更新する、
請求項１に記載の学習装置。
【請求項３】
前記第２エンコーダー部によるエンコード処理の結果として出力される第２意味ベクトルの要素と、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルの要素とを並べて得られる連結ベクトルを、前記第２ドメインにおける低次元化処理のパラメーターに基づいて低次元化し、低次元化した結果である第２低次元化ベクトルを出力する第２低次元化部、
を具備し、
前記第２デコーダー部は、前記第２低次元化部が出力する前記第２低次元化ベクトルと、前記第２ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成し、
前記文対の目的言語による文と、前記第２デコーダー部からの前記出力文との差に基づいて、前記第２低次元化部における低次元化処理のパラメーターをも更新する、
請求項１または請求項２に記載の学習装置。
【請求項４】
前記第１エンコーダー部によるエンコード処理の結果として出力される第１意味ベクトルと、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第１直交誤差を算出する第１直交誤差算出部と、
前記第２エンコーダー部によるエンコード処理の結果として出力される第２意味ベクトルと、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第２直交誤差を算出する第２直交誤差算出部と、
を具備し、
前記文対の目的言語による文と前記第１デコーダー部から出力される前記出力文との差とともに、前記第１直交誤差算出部が算出した前記第１直交誤差にも基づいて、前記第１エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第１デコーダー部におけるデコード処理のパラメーターとを更新し、
前記文対の目的言語による文と前記第２デコーダー部から出力される前記出力文との差とともに、前記第２直交誤差算出部が算出した前記第２直交誤差にも基づいて、前記第２エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第２デコーダー部におけるデコード処理のパラメーターとを更新する、
請求項１から３までのいずれか一項に記載の学習装置。
【請求項５】
第１ドメインにおけるエンコード処理のパラメーターに基づいて、原言語による入力文のエンコード処理を行う第１エンコーダー部と、
前記第１ドメインおよび他のドメインで共有されるエンコード処理のパラメーターに基づいて、前記入力文のエンコード処理を行う共有エンコーダー部と、
前記第１エンコーダー部におけるエンコード処理の結果として出力される第１意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第１ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第１デコーダー部と、
を具備する翻訳装置。
【請求項６】
前記第１エンコーダー部によるエンコード処理の結果として出力される第１意味ベクトルの要素と、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルの要素とを並べて得られる連結ベクトルを、前記第１ドメインにおける低次元化処理のパラメーターに基づいて低次元化し、低次元化した結果である第１低次元化ベクトルを出力する第１低次元化部、
を具備し、
前記第１デコーダー部は、前記第１低次元化部が出力する前記第１低次元化ベクトルと、前記第１ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する、
請求項５に記載の翻訳装置。
【請求項７】
前記他のドメインの数は、１以上である、
請求項５または請求項６に記載の翻訳装置。
【請求項８】
前記第１エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第１デコーダー部におけるデコード処理のパラメーターとは、請求項１から４までのいずれか一項に記載の学習装置の処理によって求められた、
請求項５から７までのいずれか一項に記載の翻訳装置。
【請求項９】
コンピューターを、
第１ドメインにおけるエンコード処理のパラメーターに基づいて、前記第１ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第１エンコーダー部と、
第２ドメインにおけるエンコード処理のパラメーターに基づいて、前記第２ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第２エンコーダー部と、
前記第１ドメインと前記第２ドメインとで共有されるエンコード処理のパラメーターに基づいて、前記第１ドメインまたは前記第２ドメインのいずれかに属する前記入力文のエンコード処理を行う共有エンコーダー部と、
前記第１エンコーダー部におけるエンコード処理の結果として出力される第１意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第１ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第１デコーダー部と、
前記第２エンコーダー部におけるエンコード処理の結果として出力される第２意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第２ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第２デコーダー部と、
を具備し、
前記第１ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第１エンコーダー部と前記共有エンコーダー部と前記第１デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第１エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第１デコーダー部におけるデコード処理のパラメーターとを更新し、
前記第２ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第２エンコーダー部と前記共有エンコーダー部と前記第２デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第２エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第２デコーダー部におけるデコード処理のパラメーターとを更新する、
学習装置として機能させるためのプログラム。
【請求項１０】
コンピューターを、
第１ドメインにおけるエンコード処理のパラメーターに基づいて、原言語による入力文のエンコード処理を行う第１エンコーダー部と、
前記第１ドメインおよび他のドメインで共有されるエンコード処理のパラメーターに基づいて、前記入力文のエンコード処理を行う共有エンコーダー部と、
前記第１エンコーダー部におけるエンコード処理の結果として出力される第１意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第１ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第１デコーダー部と、
を具備する翻訳装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、翻訳装置、学習装置、およびプログラムに関する。
【背景技術】
【０００２】
ニューラルネットワークによる機械学習を利用した機械翻訳では、学習データが多いほど、翻訳精度が向上する。翻訳精度を向上させるためには、できるだけ多くの学習データを準備することが望ましいが、そのためには高いコストがかかる。学習データの量を増やすために、ドメインが異なるデータを合わせて学習させることも考えられるが、ドメインが異なるデータを用いることにより翻訳精度が低下するという問題がある。
【０００３】
非特許文献１に記載されている技術では、複数のドメインに属する学習データを合わせて機械学習を行った後で、目的とするドメインに属するデータのみを用いて再学習を行っている。
【０００４】
非特許文献２に記載されている技術では、分類問題において、ドメインが異なるデータで学習したモデルの一部を共有させている。
【０００５】
特許文献１には、自動翻訳の素性重み最適化装置が記載されている。この素性重み最適化装置では、素性重み最適化部２７８が、複数のドメイン開発セット２１２を用い、複数のドメイン別統計モデル２７２及び汎用統計モデル２７４から得られる素性又はその対数の線形補間を用いて自然言語の翻訳を行う際の各素性重みを最適化する。素性重み最適化部２７８は、ドメイン開発セット２１２の各々について設けられたドメイン別素性記憶領域を持つ。その各々は、汎用統計モデルの素性を記憶する第１の領域と、複数のドメイン開発セットから得られる素性を記憶する複数の第２の領域と、重みの最適化に用いられる損失関数の値を記憶する第３の領域とを含む。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−１５１８０４号公報
【非特許文献】
【０００７】
【非特許文献１】Rico Sennrich，Barry Haddow，Alexandra Birch，Improving neural machine translation models with monolingual data，Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics，p.86-96，Berlin，Germany，August 7-12, 2016.
【非特許文献２】Young-Bum Kim，Karl Stratos，Ruhi Sarikaya，Frustratingly Easy Neural Domain Adaptation，Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: Technical Papers，pages 387-396，Osaka，Japan，December 11-17 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来技術では、複数のドメインの翻訳モデル間で知識を共有することができないという問題があった。非特許文献１に記載されている技術では、性質の異なる学習データ（例えば、旅行会話分野の文と、特許文献の文といったようにドメインの異なる学習データ）を合わせて学習するため、翻訳精度が落ちる場合があった。非特許文献２には、分類問題において、ドメインが異なるデータで学習したモデルの一部を共有させているが、翻訳処理をはじめとする生成問題には適応することができないという問題があった。
【０００９】
機械翻訳では、学習データが多ければ多いほど精度が高くなることが知られており、ドメインごとに学習データを分離して学習することは非効率である。本発明は、上記の事情を考慮して為されたものであり、ドメインの異なる学習データを完全に分離することなく、複数のドメインの翻訳モデル間で知識を共有できるようにするための翻訳装置、学習装置、およびプログラムを提供しようとするものである。
【課題を解決するための手段】
【００１０】
［１］上記の課題を解決するため、本発明の一態様による学習装置は、第１ドメインにおけるエンコード処理のパラメーターに基づいて、前記第１ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第１エンコーダー部と、第２ドメインにおけるエンコード処理のパラメーターに基づいて、前記第２ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第２エンコーダー部と、前記第１ドメインと前記第２ドメインとで共有されるエンコード処理のパラメーターに基づいて、前記第１ドメインまたは前記第２ドメインのいずれかに属する前記入力文のエンコード処理を行う共有エンコーダー部と、前記第１エンコーダー部におけるエンコード処理の結果として出力される第１意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第１ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第１デコーダー部と、前記第２エンコーダー部におけるエンコード処理の結果として出力される第２意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第２ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第２デコーダー部と、を具備し、前記第１ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第１エンコーダー部と前記共有エンコーダー部と前記第１デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第１エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第１デコーダー部におけるデコード処理のパラメーターとを更新し、前記第２ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第２エンコーダー部と前記共有エンコーダー部と前記第２デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第２エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第２デコーダー部におけるデコード処理のパラメーターとを更新するものである。
【００１１】
［２］また、本発明の一態様は、上記の学習装置において、前記第１エンコーダー部によるエンコード処理の結果として出力される第１意味ベクトルの要素と、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルの要素とを並べて得られる連結ベクトルを、前記第１ドメインにおける低次元化処理のパラメーターに基づいて低次元化し、低次元化した結果である第１低次元化ベクトルを出力する第１低次元化部、を具備し、前記第１デコーダー部は、前記第１低次元化部が出力する前記第１低次元化ベクトルと、前記第１ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成し、前記文対の目的言語による文と、前記第１デコーダー部からの前記出力文との差に基づいて、前記第１低次元化部における低次元化処理のパラメーターをも更新する、ものである。
【００１２】
［３］また、本発明の一態様は、上記の学習装置において、前記第２エンコーダー部によるエンコード処理の結果として出力される第２意味ベクトルの要素と、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルの要素とを並べて得られる連結ベクトルを、前記第２ドメインにおける低次元化処理のパラメーターに基づいて低次元化し、低次元化した結果である第２低次元化ベクトルを出力する第２低次元化部、を具備し、前記第２デコーダー部は、前記第２低次元化部が出力する前記第２低次元化ベクトルと、前記第２ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成し、前記文対の目的言語による文と、前記第２デコーダー部からの前記出力文との差に基づいて、前記第２低次元化部における低次元化処理のパラメーターをも更新する、ものである。
【００１３】
［４］また、本発明の一態様は、上記の学習装置において、前記第１エンコーダー部によるエンコード処理の結果として出力される第１意味ベクトルと、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第１直交誤差を算出する第１直交誤差算出部と、前記第２エンコーダー部によるエンコード処理の結果として出力される第２意味ベクトルと、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第２直交誤差を算出する第２直交誤差算出部と、を具備し、前記文対の目的言語による文と前記第１デコーダー部から出力される前記出力文との差とともに、前記第１直交誤差算出部が算出した前記第１直交誤差にも基づいて、前記第１エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第１デコーダー部におけるデコード処理のパラメーターとを更新し、前記文対の目的言語による文と前記第２デコーダー部から出力される前記出力文との差とともに、前記第２直交誤差算出部が算出した前記第２直交誤差にも基づいて、前記第２エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第２デコーダー部におけるデコード処理のパラメーターとを更新する、ものである。
【００１４】
［５］本発明の一態様による翻訳装置は、第１ドメインにおけるエンコード処理のパラメーターに基づいて、原言語による入力文のエンコード処理を行う第１エンコーダー部と、前記第１ドメインおよび他のドメインで共有されるエンコード処理のパラメーターに基づいて、前記入力文のエンコード処理を行う共有エンコーダー部と、前記第１エンコーダー部におけるエンコード処理の結果として出力される第１意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第１ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第１デコーダー部と、を具備するものである。
【００１５】
［６］また、本発明の一態様は、上記の翻訳装置において、前記第１エンコーダー部によるエンコード処理の結果として出力される第１意味ベクトルの要素と、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルの要素とを並べて得られる連結ベクトルを、前記第１ドメインにおける低次元化処理のパラメーターに基づいて低次元化し、低次元化した結果である第１低次元化ベクトルを出力する第１低次元化部、を具備し、前記第１デコーダー部は、前記第１低次元化部が出力する前記第１低次元化ベクトルと、前記第１ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成するものである。
【００１６】
［７］また、本発明の一態様は、上記の翻訳装置において、前記他のドメインの数は、１以上である、というものである。
【００１７】
［８］また、本発明の一態様は、上記の翻訳装置において、前記第１エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第１デコーダー部におけるデコード処理のパラメーターとは、上記［１］から［４］までのいずれか一項に記載の学習装置の処理によって求められたものである。
【００１８】
［９］また、本発明の一態様は、コンピューターを、第１ドメインにおけるエンコード処理のパラメーターに基づいて、前記第１ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第１エンコーダー部と、第２ドメインにおけるエンコード処理のパラメーターに基づいて、前記第２ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第２エンコーダー部と、前記第１ドメインと前記第２ドメインとで共有されるエンコード処理のパラメーターに基づいて、前記第１ドメインまたは前記第２ドメインのいずれかに属する前記入力文のエンコード処理を行う共有エンコーダー部と、前記第１エンコーダー部におけるエンコード処理の結果として出力される第１意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第１ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第１デコーダー部と、前記第２エンコーダー部におけるエンコード処理の結果として出力される第２意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第２ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第２デコーダー部と、を具備し、前記第１ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第１エンコーダー部と前記共有エンコーダー部と前記第１デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第１エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第１デコーダー部におけるデコード処理のパラメーターとを更新し、前記第２ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第２エンコーダー部と前記共有エンコーダー部と前記第２デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第２エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第２デコーダー部におけるデコード処理のパラメーターとを更新する、学習装置として機能させるためのプログラムである。
【００１９】
［１０］また、本発明の一態様は、コンピューターを、第１ドメインにおけるエンコード処理のパラメーターに基づいて、原言語による入力文のエンコード処理を行う第１エンコーダー部と、前記第１ドメインおよび他のドメインで共有されるエンコード処理のパラメーターに基づいて、前記入力文のエンコード処理を行う共有エンコーダー部と、前記第１エンコーダー部におけるエンコード処理の結果として出力される第１意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第１ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第１デコーダー部と、を具備する翻訳装置として機能させるためのプログラムである。
【発明の効果】
【００２０】
本発明によれば、異なるドメイン間で知識を共有するための学習処理を行える。また、異なるドメイン間で共有した知識（モデル）に基づいて翻訳処理を行える。このような知識の共有のしくみを実現することにより学習データの量を増やすことができるため、翻訳精度を上げることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１実施形態による翻訳装置（学習装置）の概略機能構成を示すブロック図である。
【図２】同実施形態による第１エンコーダー部と第２エンコーダー部と共有エンコーダー部とのそれぞれにおける、エンコード処理のモデルを示す概略図である。
【図３】同実施形態による第１デコーダー部および第２デコーダー部のそれぞれにおける、デコード処理のモデルを示す概略図である。
【図４】同実施形態による第１低次元化部および第２低次元化部のそれぞれにおける、低次元化の処理を示す概略図である。
【図５】同実施形態による翻訳装置の、学習処理の手順を示すフローチャートである。
【図６】同実施形態による翻訳装置の、翻訳処理の手順を示すフローチャートである。
【図７】第２実施形態による翻訳装置（学習装置）の概略機能構成を示すブロック図である。
【図８】第３実施形態による翻訳装置（学習装置）の概略機能構成を示すブロック図である。
【図９】第４実施形態による翻訳装置（学習装置）の概略機能構成を示すブロック図である。
【発明を実施するための形態】
【００２２】
［第１実施形態］
次に、図面を参照しながら、本発明の一実施形態について説明する。本実施形態では、ニューラル機械翻訳モデルを、ドメイン間で共有する部分と、ドメイン内でのみ利用する部分とに分割する。ドメイン間で共有する部分については、複数の機械翻訳システムで共有して学習を行う。
【００２３】
図１は、本実施形態による翻訳装置の概略機能構成を示すブロック図である。図示する翻訳装置１を、翻訳モデルの学習を行うための学習装置と捉えることもできる。図示するように、翻訳装置１は、第１入力部１１と、第１エンコーダー部１２と、第１低次元化部１３と、第１デコーダー部１４と、第１出力部１５と、第２入力部２１と、第２エンコーダー部２２と、第２低次元化部２３と、第２デコーダー部２４と、第２出力部２５と、共有エンコーダー部３１とを含んで構成される。これらの各機能部は、例えば、コンピューターと、プログラムとで実現することが可能である。また、各機能部は、必要に応じて、記憶手段を有する。記憶手段は、例えば、プログラム上の変数や、プログラムの実行によりアロケーションされるメモリである。また、必要に応じて、磁気ハードディスク装置やソリッドステートドライブ（ＳＳＤ）といった不揮発性の記憶手段を用いるようにしてもよい。また、各機能部の少なくとも一部の機能を、プログラムではなく専用の電子回路として実現してもよい。
【００２４】
以下において、第１エンコーダー部１２や第２エンコーダー部２２や共有エンコーダー部３１のそれぞれを単に「エンコーダー」と呼ぶ場合がある。また、第１デコーダー部１４や第２デコーダー部２４のそれぞれを単に「デコーダー」と呼ぶ場合がある。
【００２５】
第１エンコーダー部１２と、第１低次元化部１３と、第１デコーダー部１４と、共有エンコーダー部３１とを合わせて、第１翻訳モデル部１７と呼んでもよい。また、第２エンコーダー部２２と、第２低次元化部２３と、第２デコーダー部２４と、共有エンコーダー部３１とを合わせて、第２翻訳モデル部２７と呼んでもよい。第１翻訳モデル部１７と第２翻訳モデル部２７とは、互いに異なるドメインの翻訳モデルとして機能する。
【００２６】
ここで、ドメインとは、翻訳処理の対象の文が属する分野である。例えば、旅行会話文、特許文、放送字幕文、新聞文、ニュースアナウンス文などといった括りをドメインとすることができる。なお、上で挙げたドメインは一例であり、一般的なドメインはこれらの例に限らない。便宜的に、第１翻訳モデル部１７が対象とするドメインを第１ドメインと呼び、第２翻訳モデル部２７が対象とするドメインを第２ドメインと呼ぶ。つまり、翻訳装置１は、第１ドメインおよび第２ドメインという２つのドメイン用の翻訳モデルが統合された構成を持つ。
【００２７】
翻訳装置１は、翻訳処理を行う場合には入力文を翻訳した結果を出力文として出力する。また、翻訳装置１は、入力文と出力文の対の集合を学習データとして取得し、翻訳モデルの機械学習を行う学習装置としても機能し得る。
【００２８】
第１入力部１１は、外部から、第１ドメインに属する文を取得し、第１エンコーダー部１２および共有エンコーダー部３１に渡す。第１入力部１１は、学習処理時には学習データの文対を取得し、その文対のうちの原言語による文を第１エンコーダー部１２および共有エンコーダー部３１に渡す。第１入力部１１は、翻訳処理時には翻訳対象である原言語による文を取得し、その入力文を第１エンコーダー部１２および共有エンコーダー部３１に渡す。なお、後段のエンコーダーが処理するために、第１入力部１１が入力文の形態素解析処理等を行ってもよい。第１入力部１１が、単語ごとに既に分割されている単語列のデータとして表された入力文のデータを取得するようにしてもよい。
【００２９】
第１エンコーダー部１２は、第１ドメインにおけるエンコード処理のパラメーターに基づいて、第１ドメインに属する入力文であって原言語による入力文のエンコード処理を行う。第１ドメインにおけるエンコード処理のパラメーターは、後述する翻訳処理において参照されるとともに、後述する学習処理においては誤差逆伝搬法等の方法によって更新され得る。第１エンコーダー部１２は、第１ドメインに属する入力文のエンコード処理を行うため、後述する学習処理においては、これら第１ドメインに固有の知識を蓄積する作用を持つ。つまり、第１エンコーダー部１２は、第１ドメインの特徴を知識として取り出す。
【００３０】
第１低次元化部１３は、第１エンコーダー部１２から出力される意味ベクトルの情報と、共有エンコーダー部３１から出力される意味ベクトルとの情報とを合わせた上で、その情報を低次元化する。具体的には、第１低次元化部１３は、第１エンコーダー部１２から出力される意味ベクトルと、共有エンコーダー部３１から出力される意味ベクトルとを連結し、連結後のベクトルを線形変換によって低次元化する。これにより、第１低次元化部１３は、第１エンコーダー部１２から得られる情報と、共有エンコーダー部３１から得られる情報とのうち、翻訳するために有用な部分のみを抽出し、他の部分を排除する作用を有する。第１低次元化部１３は、通常の機械翻訳システムが動作するのに十分な次元数の程度まで、前段から取得するベクトルを低次元化する。例えば、第１エンコーダー部１２から出力されるベクトルと共有エンコーダー部３１から出力されるベクトルとの次元数が同じであれば、両者を単純に連結することにより次元数は２倍になるが、第１低次元化部１３は、その次元数を半分に削減する。即ち、第１低次元化部１３は、第１エンコーダー部１２や共有エンコーダー部３１が出力する意味ベクトルの次元数程度までの低次元化を行う。第１低次元化部１３が、２つのエンコーダーから出力される情報の一部を削除することにより、後段における計算処理の高速化、効率化が可能となる。つまり、第１低次元化部１３は、第１エンコーダー部１２からの出力と、共有エンコーダー部３１からの出力を基に、第１デコーダー部１４に入力するためのデータを作成する。
【００３１】
第１デコーダー部１４は、第１エンコーダー部におけるエンコード処理の結果として出力される第１意味ベクトルと、共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、第１ドメインにおけるデコード処理のパラメーターとに基づいて、入力文に対応する出力文を生成する。第１デコーダー部１４が生成する出力文は、上記入力文（原言語による文）の翻訳文（目的言語による文）である。つまり、第１デコーダー部１４は、第１低次元化部１３からの出力を入力として、翻訳先である目的言語の文を出力する。
【００３２】
第１出力部１５は、第１デコーダー部１４によって出力された文を外部に出力する。
【００３３】
第２入力部２１は、上述した第１入力部１１と同様の処理を、第２ドメインに関して実行するものである。その処理の詳細および作用については、既に第１入力部１１の説明において述べた通りであるため、ここでは説明を省略する。
【００３４】
第２エンコーダー部２２は、上述した第１エンコーダー部１２と同様の処理を、第２ドメインに関して実行するものである。その処理の詳細および作用については、既に第１エンコーダー部１２の説明において述べた通りであるため、ここでは説明を省略する。
【００３５】
第２低次元化部２３は、上述した第１低次元化部１３と同様の処理を、第２ドメインに関して実行するものである。その処理の詳細および作用については、既に第１低次元化部１３の説明において述べた通りであるため、ここでは説明を省略する。つまり、第２低次元化部２３は、低次元化した結果である第２低次元化ベクトルを出力する。
【００３６】
第２デコーダー部２４は、上述した第１デコーダー部１４と同様の処理を、第２ドメインに関して実行するものである。その処理の詳細および作用については、既に第１デコーダー部１４の説明において述べた通りであるため、ここでは説明を省略する。
【００３７】
第２出力部２５は、上述した第１出力部１５と同様の処理を、第２ドメインに関して実行するものである。その処理の詳細および作用については、既に第１出力部１５の説明において述べた通りであるため、ここでは説明を省略する。
【００３８】
共有エンコーダー部３１は、第１ドメインと第２ドメインとで共有されるエンコード処理のパラメーターに基づいて、第１ドメインまたは第２ドメインのいずれかに属する入力文のエンコード処理を行う。共有エンコーダー部３１におけるエンコード処理のパラメーターは、後述する翻訳処理において参照されるとともに、後述する学習処理においては誤差逆伝搬法等の方法によって更新され得る。共有エンコーダー部３１は、第１ドメインまたは第２ドメインのいずれかに属する入力文（両ドメインの入力文）のエンコード処理を行うため、後述する学習処理においては、これら両ドメインに共通の知識を蓄積する作用を持つ。つまり、共有エンコーダー部３１は、ドメインに共通する特徴を知識として取り出す。
【００３９】
つまり、翻訳装置１の構成において、１つのドメイン（第１ドメインあるいは第２ドメイン）の翻訳モデルをみたとき、エンコーダー部分が２つに分割されている。その２つとは、当該ドメインに専用のエンコーダーと、他のドメインと共有されるエンコーダーである。このため、第１エンコーダー部１２と第１低次元化部１３と第１デコーダー部１４とは、第１ドメインの学習データを用いた学習処理においてのみ学習される。また、第２エンコーダー部２２と第２低次元化部２３と第２デコーダー部２４とは、第２ドメインの学習データを用いた学習処理においてのみ学習される。これらに対して、共有エンコーダー部３１は、第１ドメインおよび第２ドメインのどちらの学習データを利用した場合においても学習される。
【００４０】
本実施形態におけるエンコーダーおよびデコーダーのモデルは、再帰型ニューラルネットワーク（ＲＮＮ，Recurrent Neural Network）の構造をベースとする。あるいは、デコーダーのモデルは、ＲＮＮの一種であるＬＳＴＭ（Long Short-Term Memory）型のニューラルネットワーク構造をベースとしてもよい。再帰型ニューラルネットワーク自体は既存技術によるものである。再帰型ニューラルネットワークは、一般的なニューラルネットワークの一種である。再帰型ニューラルネットワークの特徴として、時系列データを処理することができる。この時系列データは、固定長の系列であっても、可変長の系列であってもよい。例えば時系列データの各要素を単語等として、再帰型ニューラルネットワークは、文を処理することができる。例えば、下記の各文献では、再帰型ニューラルネットワークについて記載されている。
【００４１】
参考文献：再帰型ニューラルネットワーク：ＲＮＮ入門，@kiminaka，2017年02月12日更新，ＵＲＬ：https://qiita.com/kiminaka/items/87afd4a433dc655d8cfd
参考文献：自然言語処理プログラミング勉強会８  リカレントニューラルネット，Graham Neubig，奈良先端科学技術大学院大学，ＵＲＬ：http://www.phontron.com/slides/nlp-programming-ja-08-rnn.pdf
【００４２】
次に、図２、図３、図４を参照しながら、本実施形態における処理の概略を説明する。
【００４３】
図２は、本実施形態の、第１エンコーダー部１２と第２エンコーダー部２２と共有エンコーダー部３１とのそれぞれにおける、エンコード処理のモデルを示す概略図である。前述の通り、第１エンコーダー部１２と第２エンコーダー部２２と共有エンコーダー部３１とのそれぞれは、例えば、再帰型ニューラルネットワークを用いて実現される。
【００４４】
同図において、ｈ１，ｈ２，・・・，ｈＭは、入力文に対応する時系列データである。ｈ１，ｈ２，・・・，ｈＭの各々は、入力文に含まれる単語等に対応し、例えばワンホット（one-hot）表現などを用いたベクトルとして表わされ得る。図示する例では、「私／は／京都／に／行く／。」（スラッシュは単語の区切りを表す）という入力文がエンコーダーに入力される。この例のように、句読点等も１つの単語として扱われる。また、Ｗ１，Ｗ２は、それぞれ、再帰型ニューラルネットワークにおけるパラメーターである。つまり、Ｗ１は、ベクトルｈｉをベクトルｅｉに変換するための行列である。また、Ｗ２は、ベクトルｅｉをベクトルｅｉ＋１に変換するための行列である（１≦ｉ≦Ｍ−１）。また、行列Ｗ２は、ベクトルｅＭを内容ベクトルｃ１に変換する際にも用いられる。Ｗ１，Ｗ２の各々の要素の値は、例えば更新可能なメモリ等で記憶され、機械学習処理によって更新され得る。
【００４５】
エンコーダーは順次、時系列の入力を処理し、最終的に入力文に対応する内容ベクトルｃ１を出力する。つまり、エンコーダーは、最初の入力ｈ１とパラメーターＷ１とに基づき、ベクトルｅ１を生成する。次に、エンコーダーは、次の入力ｈ２およびパラメーターＷ１と、上記のベクトルｅ１およびパラメーターＷ２とに基づき、ベクトルｅ２を生成する。以後同様に、エンコーダーは、入力ｈｉ＋１およびパラメーターＷ１と、既に生成されたベクトルｅｉおよびパラメーターＷ２とに基づき、ベクトルｅｉ＋１を生成する（ただし、１≦ｉ≦（Ｍ−１））。そして、エンコーダーは、生成されたベクトルｅｉ＋１とパラメーターＷ２とに基づいて生成される内容ベクトルｃ１を出力する。
【００４６】
内容ベクトルｃ１は、入力文に対応する時系列データｈ１，ｈ２，・・・，ｈＭの情報を含むものである。内容ベクトルｃ１は、例えば、２５０次元程度のベクトルである。ただし、内容ベクトルｃ１の次元数は、例えば、２５０，５００，１０００，２０００等、適宜定められてよい。
【００４７】
図３は、本実施形態の、第１デコーダー部１４および第２デコーダー部２４のそれぞれにおける、デコード処理のモデルを示す概略図である。前述の通り、第１デコーダー部１４と第２デコーダー部２４のそれぞれは、例えば、再帰型ニューラルネットワークを用いて実現される。
【００４８】
同図において、ｃ２は、デコーダーに入力される内容ベクトルである。また、ｙ１，ｙ２，・・・，ｙＬ１は、デコーダーから出力される時系列データである。ｙ１，ｙ２，・・・，ｙＬ１は、それぞれ、ワンホット表現などを用いたベクトルであり、単語に対応する。また、Ｗ３，Ｗ４は、それぞれ、再帰型ニューラルネットワークにおけるパラメーターである。つまり、Ｗ３は、ベクトルｄｉをベクトルｄｉ＋１に変換するための行列である（１≦ｉ≦Ｌ１−１）。また、Ｗ３は、デコーダーに入力されるベクトルｃ２をベクトルｄ１に変換する際にも用いられる。また、Ｗ４は、ベクトルｄｉをベクトルｙｉに変換するための行列である（１≦ｉ≦Ｌ１）。Ｗ３，Ｗ４の要素の値もまた、メモリ等に記憶され、機械学習処理によって更新され得る。
【００４９】
デコーダーは、入力される内容ベクトルｃ２を基に、系列データＹ１，Ｙ２，・・・，ＹＬ１を生成し、出力する。つまり、デコーダーは、まず入力される内容ベクトルｃ２とパラメーターＷ３とに基づき、ベクトルｄ１を生成する。そして、デコーダーは、ベクトルｄ１とパラメーターＷ４とに基づき、最初の出力データｙ１を生成する。次に、デコーダーは、ベクトルｄ１と、パラメーターＷ３と、生成された出力データｙ１とに基づき、ベクトルｄ２を生成する。以後同様に、デコーダーは、ベクトルｄｉ−１とパラメーターＷ３と出力データｙｉ−１とに基づきベクトルｄｉを生成するとともに、ベクトルｄｉおよびパラメーターＷ４とに基づき出力データｙｉを生成する（ただし、２≦ｉ≦Ｌ１）。
【００５０】
デコーダーが出力する時系列データｙ１，ｙ２，・・・，ｙＬ１は、入力される内容ベクトルｃ２をデコードして得られるデータである。一例として、時系列データｙ１，ｙ２，・・・，ｙＬ１は、「I／go／to／Kyoto／．」（スラッシュは単語の区切りを表す）といった単語列に対応する。ここで、文末を表すピリオドも、一単語として扱うことができる。
【００５１】
図４は、本実施形態の、第１低次元化部１３および第２低次元化部２３のそれぞれにおける、低次元化の処理を示す概略図である。次に述べる通り、第１低次元化部１３および第２低次元化部２３は、ニューラルネットワークを用いて実現される。
【００５２】
同図において、ベクトルｈｅｎｃは、第１エンコーダー部１２または第２エンコーダー部２２から出力される内容ベクトルである。また、ベクトルｈｓｅｎｃは、共有エンコーダー部３１から出力される内容ベクトルである。第１低次元化部１３または第２低次元化部２３は、まず、ベクトルｈｅｎｃとベクトルｈｓｅｎｃとを単純に連結し、その連結結果であるベクトルをｈｃｏｎｃ生成する。次に、第１低次元化部１３または第２低次元化部２３は、連結されたベクトルｈｃｏｎｃと、パラメーターＷｌｏｗｄとに基づき、低次元化されたベクトルｈｌｏｗｄを生成する。この低次元化の処理は、例えば、線形変換を用いて行われる。このパラメーターＷｌｏｗｄは、行列であり、その行列の要素は学習処理によって更新され得る値である。つまり、ベクトルｈｃｏｎｃに行列Ｗｌｏｗｄを乗ずることによって、また適宜ベクトルを転地することによって、ベクトルｈｌｏｗｄが得られる。
【００５３】
具体的には、第１低次元化部１３は、第１エンコーダー部１２から出力されるベクトルｈｅｎｃと共有エンコーダー部３１から出力されるベクトルｈｓｅｎｃとを連結し、さらに低次元化することによって、低次元化されたベクトルｈｌｏｗｄを生成する。第１低次元化部１３は、生成したベクトルｈｌｏｗｄを第１デコーダー部１４に渡す。また、第２低次元化部２３は、第２エンコーダー部２２から出力されるベクトルｈｅｎｃと共有エンコーダー部３１から出力されるベクトルｈｓｅｎｃとを連結し、さらに低次元化することによって、低次元化されたベクトルｈｌｏｗｄを生成する。第２低次元化部２３は、生成したベクトルｈｌｏｗｄを第２デコーダー部２４に渡す。
【００５４】
ベクトルｈｅｎｃとベクトルｈｓｅｎｃの次元数がＨであるとき、連結結果であるベクトルｈｃｏｎｃの次元数は２Ｈである。また、低次元化処理の結果であるベクトルｈｌｏｗｄの次元数は、例えば、Ｈである。このように、第１低次元化部１３と第２低次元化部２３のそれぞれは、ドメイン固有のエンコード処理結果（ベクトルｈｅｎｃ）と、ドメイン間で共通のエンコード処理結果（ベクトルｈｓｅｎｃ）との情報を含みながら、その冗長性を削減した低次元化ベクトルｈｌｏｗｄを出力する。第１低次元化部１３や第２低次元化部２３を持つことにより、翻訳装置１は、リーズナブルな計算資源を用いて翻訳モデルを実現する。
【００５５】
次に、翻訳装置１の、学習処理時および翻訳処理時のそれぞれの処理手順について、フローチャートを参照しながら説明する。
【００５６】
図５は、本実施形態による翻訳装置の、学習処理の手順を示すフローチャートである。この学習処理の前提として、外部から大量の学習データが与えられる。学習データは、原言語による入力文と目的言語による出力文（正解文）の対の集合である。学習データに含まれる各文対は、第１ドメインまたは第２ドメインのいずれかに属するものであり、どのドメインに属するものであるかは既知である。以下、このフローチャートに沿って、学習処理の手順を説明する。
【００５７】
ステップＳ１において、翻訳装置１は、外部から与えられる学習データのうち、未処理の文対の１つを選択する。
【００５８】
ステップＳ２において、翻訳装置１は、ステップＳ１で選択された文対が第１ドメインに属するものであるか否かを判定し、判定結果に応じて処理を分岐する。ある文対が第１ドメインまたは第２ドメインのいずれに属するものであるかを表す情報は、学習データの一部として与えられている。当該文対が第１ドメインに属するものである場合（ステップＳ２：ＹＥＳ）、第１入力部１１が当該文対を処理し、次にステップＳ３に進む。当該文対が第１ドメインに属するものでない場合、即ち当該文対が第２ドメインに属するものである場合（ステップＳ２：ＮＯ）、第２入力部２１が当該文対を処理し、次にステップＳ７に進む。ステップＳ３に進む場合には、ステップＳ３からＳ６までの処理を順次行った後で、ステップＳ１１に移る。ステップＳ７に進む場合には、ステップＳ７からＳ１０までの処理を順次行った後で、ステップＳ１１に移る。
【００５９】
ステップＳ３において、第１入力部１１は、文対に含まれる入力文を単語ごとに分割し、適宜、時系列のベクトルデータにする。第１入力部１１は、この時系列のベクトルデータを、第１エンコーダー部１２と共有エンコーダー部３１とに渡す。第１エンコーダー部１２と共有エンコーダー部３１のそれぞれは、第１入力部１１から渡された時系列データを処理し、それぞれ、内容ベクトル（図２のベクトルｃ１）を出力する。この内容ベクトルは、それぞれ、図４に示したベクトルｈｅｎｃとベクトルｈｓｅｎｃとにあたる。
【００６０】
ステップＳ４において、第１低次元化部１３は、第１エンコーダー部１２と共有エンコーダー部３１から、それぞれ、ベクトルｈｅｎｃとベクトルｈｓｅｎｃを取得する。第１低次元化部１３は、図４に示したように、ベクトルｈｅｎｃとベクトルｈｓｅｎｃとを連結してベクトルｈｃｏｎｃを生成する。そして、第１低次元化部１３は、パラメーターＷｌｏｗｄに基づいてベクトルｈｃｏｎｃを低次元化し、ベクトルｈｌｏｗｄを出力する。
【００６１】
ステップＳ５において、翻訳装置１は、第１低次元化部１３から出力されたベクトルｈｌｏｗｄを、第１デコーダー部１４に入力する。第１デコーダー部１４は、ベクトルｈｌｏｗｄをデコードする処理を行う。第１デコーダー部１４は、デコード処理の結果である時系列データを出力する。出力された時系列データは、必要に応じて単語の列に変換されてもよい。
【００６２】
ステップＳ６において、翻訳装置１は、ステップＳ５において第１デコーダー部１４が出力したデータと、元の入力文対に含まれていた正解データとの誤差を算出する。また、翻訳装置１は、算出された誤差に基づいて、バックプロパゲーション（誤差逆伝搬法）により、第１エンコーダー部１２と、第１低次元化部１３と、第１デコーダー部１４と、共有エンコーダー部３１の中のパラメーターを調整する。つまり、翻訳装置１は、バックプロパゲーションにより、これらのパラメーターの値を更新する。具体的には、更新対象のパラメーターは、第１エンコーダー部１２におけるＷ１とＷ２（図２参照）、第１低次元化部１３におけるＷｌｏｗｄ（図４参照）、第１デコーダー部１４におけるＷ３とＷ４（図３参照）、そして、共有エンコーダー部３１におけるＷ１とＷ２（図２参照）である。つまり、機械学習処理により、第１翻訳モデル部１７内のパラメーターが更新される。
【００６３】
ステップＳ７にからＳ１０おいて、翻訳装置１の第２入力部２１、第２エンコーダー部２２、第２低次元化部２３、第２デコーダー部２４、および共有エンコーダー部３１は、ステップＳ３からＳ６で説明した処理と同様の処理を行う。ただし、ステップＳ３からＳ６までの処理が第１ドメインに関する処理であったのに対して、ステップＳ７にからＳ１０までの処理は第２ドメインに関する処理である。この一連の処理の結果として、第２ドメインに属する学習データに基づいて、機械学習処理により、第２翻訳モデル部２７内のパラメーターが更新される。具体的には、更新対象のパラメーターは、第２エンコーダー部２２におけるＷ１とＷ２（図２参照）、第２低次元化部２３におけるＷｌｏｗｄ（図４参照）、第２デコーダー部２４におけるＷ３とＷ４（図３参照）、そして、共有エンコーダー部３１におけるＷ１とＷ２（図２参照）である。
【００６４】
ステップＳ６またはステップＳ１０のいずれかの処理が終了すると、ステップＳ１１に移る。
【００６５】
ステップＳ１１において、学習データの処理がすべて終了したか否かを判定する。学習データの処理がすべて終了した場合（ステップＳ１１：ＹＥＳ）には、本フローチャートの処理全体を終了する。学習データの処理のすべてが完了していない場合、即ち、未処理の学習データが１文対以上残っている場合（ステップＳ１１：ＮＯ）には、次の文対を処理するために、ステップＳ１に戻る。
【００６６】
上で説明したように、学習処理時には、翻訳装置１は、大量の学習データ（例えば、日本語の文と、その日本語文を英訳して得られた英語の文との、対の集合）を用いて、エンコーダー内、デコーダー内、低次元化部内の、パラメーターを修正する。
【００６７】
一例として、学習データの文対が、日本語の「私は京都に行く。」と英語の「I go to Kyoto.」（正解文）であり、且つ上記日本語文を翻訳処理した結果（デコーダーからの出力）が「I went to Tokyo.」（出力文）である場合の処理は、次の通りである。正解文と出力文と差は、次の通りである。第１に、正解文における「go」に対応して、出力文では「went」が出力されている。第２に、正解文における「Kyoto」に対応して、出力文では「Tokyo」が出力されている。これらの差に基づいて、翻訳装置１は、例えば交差クロスエントロピーによる損失関数の値を計算する。つまり、翻訳装置１は、誤差を算出する。そして、翻訳装置１は、その誤差を小さくするようにパラメーター値の学習を実施する。
【００６８】
なお、ここでは、一例として、学習データに含まれる文対が日本語文（入力側）と英語文（出力側）である場合を説明したが、入力側と出力側の言語が逆でもよい。また、日本語と英語以外の言語による文が学習データに含まれていてもよい。
【００６９】
以上において説明したように、学習処理において、翻訳装置１は、第１ドメインに属する学習データに基づき、第１ドメインの文の特徴を用いて、第１エンコーダー部１２、第１低次元化部１３、第１デコーダー部１４におけるパラメーターを更新する。また、翻訳装置１は、第１ドメインに属する学習データに基づき、第２ドメインの文の特徴を用いて、第２エンコーダー部２２、第２低次元化部２３、第２デコーダー部２４におけるパラメーターを更新する。また、翻訳装置１は、第１ドメインの文および第２ドメインの両方の文の特徴を用いて、共有エンコーダー部３１のパラメーターを更新する。つまり、学習処理により、各パラメーターの値は、第１ドメインあるいは第２ドメインの特徴を表すようになる。
【００７０】
つまり、学習処理は、次の通りの処理である。学習処理は、第１ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には原言語による入力文を基に第１エンコーダー部１２と共有エンコーダー部３１と第１デコーダー部１４との処理によって出力文を生成し、文対の目的言語による文と、当該出力文との差に基づいて、第１エンコーダー部１２におけるエンコード処理のパラメーターと、共有エンコーダー部３１におけるエンコード処理のパラメーターと、第１デコーダー部１４におけるデコード処理のパラメーターとを更新する。この場合、学習処理は、さらに、第１低次元化部１３のパラメーターを更新する。また、学習処理は、第２ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には原言語による入力文を基に第２エンコーダー部２２と共有エンコーダー部３１と第２デコーダー部２４との処理によって出力文を生成し、文対の目的言語による文と、当該出力文との差に基づいて、第２エンコーダー部２２におけるエンコード処理のパラメーターと、共有エンコーダー部３１におけるエンコード処理のパラメーターと、第２デコーダー部２４におけるデコード処理のパラメーターとを更新する。この場合、学習処理は、さらに、第２低次元化部２３のパラメーターを更新する。
【００７１】
図６は、本実施形態による翻訳装置の、翻訳処理の手順を示すフローチャートである。この翻訳処理の前提として、翻訳装置１内のモデルは予め学習済みである。また、翻訳装置１には外部から、原言語による翻訳対象文が与えられる。翻訳対象文は、第１ドメインまたは第２ドメインのいずれかに属するものであり、どのドメインに属するものであるかは既知である。以下、このフローチャートに沿って、翻訳処理の手順を説明する。
【００７２】
ステップＳ２１において、翻訳装置１は、外部から与えられる入力文を取得する。この入力文は、原言語（例えば、日本語）で記述された翻訳対象の文である。
【００７３】
ステップＳ２２において、翻訳装置１は、ステップＳ２１で取得された入力文が第１ドメインに属するものであるか否かを判定し、判定結果に応じて処理を分岐する。入力文が第１ドメインまたは第２ドメインのいずれに属するものであるかを表す情報は、入力文とともに与えられる。当該入力文が第１ドメインに属するものである場合（ステップＳ２２：ＹＥＳ）、第１入力部１１が当該入力文を処理し、次にステップＳ２３に進む。当該入力文が第１ドメインに属するものでない場合、即ち当該入力文が第２ドメインに属するものである場合（ステップＳ２２：ＮＯ）、第２入力部２１が当該入力文を処理し、次にステップＳ２７に進む。ステップＳ２３に進む場合には、翻訳装置１は、ステップＳ２３からＳ２６までの処理を順次行う。ステップＳ７に進む場合には、翻訳装置１は、ステップＳ２７からＳ３０までの処理を順次行う。
【００７４】
ステップＳ２３において、第１入力部１１は、入力文を単語ごとに分割し、適宜、時系列のベクトルデータにする。第１入力部１１は、この時系列のベクトルデータを、第１エンコーダー部１２と共有エンコーダー部３１とに渡す。第１エンコーダー部１２と共有エンコーダー部３１のそれぞれは、第１入力部１１から渡された時系列データを処理し、それぞれ、内容ベクトル（図２のベクトルｃ１）を出力する。この内容ベクトルは、それぞれ、図４に示したベクトルｈｅｎｃとベクトルｈｓｅｎｃとにあたる。
【００７５】
ステップＳ２４において、第１低次元化部１３は、第１エンコーダー部１２と共有エンコーダー部３１から、それぞれ、ベクトルｈｅｎｃとベクトルｈｓｅｎｃを取得する。第１低次元化部１３は、図４に示したように、ベクトルｈｅｎｃとベクトルｈｓｅｎｃとを連結してベクトルｈｃｏｎｃを生成する。そして、第１低次元化部１３は、パラメーターＷｌｏｗｄに基づいてベクトルｈｃｏｎｃを低次元化し、ベクトルｈｌｏｗｄを出力する。
【００７６】
ステップＳ２５において、翻訳装置１は、第１低次元化部１３から出力されたベクトルｈｌｏｗｄを、第１デコーダー部１４に入力する。第１デコーダー部１４は、ベクトルｈｌｏｗｄをデコードする処理を行う。第１デコーダー部１４は、デコード処理の結果である時系列データを出力する。出力された時系列データは、単語の列に変換される。
【００７７】
ステップＳ２６において、第１出力部１５は、ステップＳ２５において第１デコーダー部１４が出力した単語の列を基に、出力文を作成する。第１出力部１５は、この出力文を翻訳結果として出力する。
【００７８】
ステップＳ２７にからＳ３０おいて、翻訳装置１の第２入力部２１、第２エンコーダー部２２、第２低次元化部２３、第２デコーダー部２４、第２出力部２５、および共有エンコーダー部３１は、ステップＳ２３からＳ２６で説明した処理と同様の処理を行う。ただし、ステップＳ２３からＳ２６までの処理が第１ドメインに関する処理であったのに対して、ステップＳ２７にからＳ３０までの処理は第２ドメインに関する処理である。この一連の処理の結果として、第２出力部２５は、出力文を翻訳結果として出力する。
【００７９】
ステップＳ２６またはステップＳ３０のいずれかの処理が終了すると、翻訳装置１は、本フローチャート全体の処理を終了する。
【００８０】
一例として、入力文が「彼は京都に出かけた。」であり、当該入力文が第２ドメイン（例えば、旅行会話のドメイン）である場合、翻訳装置１は次の処理を行う。第２ドメインの翻訳モデルを持つ翻訳装置１は、第２エンコーダー部２２および共有エンコーダー部３１において、それぞれ、内容ベクトルｈｅｎｃおよびｈｓｅｎｃを獲得する。第２低次元化部２３は、これらの内容ベクトルｈｅｎｃおよびｈｓｅｎｃを基に、低次元化の処理を行い、ベクトルｈｌｏｗｄを獲得する。第２デコーダー部２４は、ベクトルｈｌｏｗｄに基づいて、出力単語列「He／went／to／Kyoto／．」を出力する。第２出力部２５は、第２デコーダー部２４の出力に基づき、翻訳結果である出力文「He went to Kyoto.」を出力する。
【００８１】
以上説明したように、本実施形態では、翻訳装置１は、それぞれのドメインに対応した複数（２個）の翻訳モデルを有する。また、翻訳装置１は、各翻訳モデルにおいて、各ドメインに固有の部分（第１エンコーダー部１２、第１低次元化部１３、第１デコーダー部１４、第２エンコーダー部２２、第２低次元化部２３、第２デコーダー部２４）と、複数のドメインによって共有される部分（共有エンコーダー部３１）とを有する。翻訳装置１は、あるドメインに属する学習データを用いて学習処理を行うときには、当該ドメインに固有の部分と、上記の共有部分との学習を行い、モデルのパラメーターを更新する。このような構成により、ドメインに固有の知識は、上記のドメインに固有の部分に蓄積される。また、ドメイン間に跨る共通の知識は、上記の共有部分に蓄積される。つまり、あるドメインの翻訳モデルは、当該ドメインに属する学習データによる固有部分のモデルの学習だけでではなく、他のドメインに属する学習データによる共有部分のモデルの学習を行うことができる。つまり、他のドメインの学習データをも用いて、当該ドメインのモデルの学習を行うことができる。つまり、準備する学習データの量に対して、学習処理の量を多くすることができる。即ち、学習データを効率化することができる。学習データを準備することが高コストな作業であることが多いが、本実施形態では、学習のために必要なコスト（学習データを準備するコスト）を削減することができる。
【００８２】
一例として、第１ドメインがニュースアナウンス文であり、第２ドメインがテレビ番組の字幕テキストである場合には、本実施形態は次の貢献をする。第１ドメインのニュースアナウンス文を準備するためには高コストを要する。第２ドメインのテレビ番組の字幕テキストに関しては、学習データとして、既存の大量の資産を低コストで利用することができる。第１ドメインの学習データは、ニュース特有の言い回しを含めた文の表現を学習するために貢献する。第２ドメインの学習データは、アナウンスされるニュース原稿の文（話し言葉）ではないが、政治、経済、スポーツ、エンターテインメント等、様々な分野の文の表現（語彙等）を豊富にする学習のために貢献する。本実施形態の共有エンコーダー部３１は、第１ドメインの学習データだけからではなく、第２ドメインの学習データから得られる知識をも蓄積する。第１デコーダー部１４は、第１ドメインに専用の知識と、共有エンコーダー部３１のモデルに蓄積されるドメインに共通の知識とを反映した結果である出力文を出力する。
【００８３】
第１低次元化部１３は、線形変換により、ベクトルの次元数を少なくする処理を行う。第１低次元化部１３は、第１デコーダー部１４が適切な出力を行うために十分な次元数まで、入力されるベクトルを低次元化する。つまり、第１低次元化部１３の処理によって、第１エンコーダー部１２と共有エンコーダー部３１の出力に含まれる、冗長な情報を削除することができる。これにより、計算の高速化、効率化が可能となる。
【００８４】
以上、第１ドメインの翻訳モデルについて主に説明したが、翻訳装置１において、第１ドメインと第２ドメインとは対称な関係にあり、上記の説明は第２ドメインの翻訳モデルについても言えることである。
【００８５】
［第２実施形態］
次に、本発明の第２実施形態について説明する。なお、前実施形態において既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
【００８６】
図７は、本実施形態による翻訳装置（学習装置）の概略機能構成を示すブロック図である。図示するように、翻訳装置２は、第１入力部１１と、第１エンコーダー部１２と、第１デコーダー部１４と、第１出力部１５と、第２入力部２１と、第２エンコーダー部２２と、第２デコーダー部２４と、第２出力部２５と、共有エンコーダー部３１とを含んで構成される。本実施形態において、第１エンコーダー部１２と、第１デコーダー部１４と、共有エンコーダー部３１とを合わせて、第１翻訳モデル部２１７と呼んでもよい。また、第２エンコーダー部２２と、第２デコーダー部２４と、共有エンコーダー部３１とを合わせて、第２翻訳モデル部２２７と呼んでもよい。第１翻訳モデル部２１７と第２翻訳モデル部２２７とは、互いに異なるドメインの翻訳モデルとして機能する。
【００８７】
つまり、本実施形態における翻訳装置２は、第１実施形態における翻訳装置１と異なり、第１低次元化部や第２低次元化部を持たない。即ち、翻訳装置２は、第１エンコーダー部１２から出力された意味ベクトルと、共有エンコーダー部３１から出力された意味ベクトルとを連結するものの、連結されたベクトルの低次元化の処理を行わない。第２エンコーダー部２２から出力された意味ベクトルと、共有エンコーダー部３１から出力された意味ベクトルとを連結して得られるベクトルは、低次元化されることなく、そのまま第１デコーダー部１４への入力として用いられる。また、第２エンコーダー部２２から出力された意味ベクトルと、共有エンコーダー部３１から出力された意味ベクトルとについても、同様に、連結された後に低次元化されず、そのまま第２デコーダー部２４への入力として用いられる。
【００８８】
本実施形態の上記の構成によれば、低次元化処理を用いずに、翻訳モデルの学習処理を行ったり、学習済みの翻訳モデルを用いた機械翻訳処理を行ったりすることが、可能となる。
【００８９】
［第３実施形態］
次に、本発明の第３実施形態について説明する。なお、前実施形態までにおいて既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
【００９０】
図８は、本実施形態による翻訳装置（学習装置）の概略機能構成を示すブロック図である。図示するように、翻訳装置３は、ｎ個（ｎ≧３）のドメインのそれぞれに関して、翻訳処理および学習処理を行う。具体的には、翻訳装置３は、第１ドメインから第ｎドメインまでの翻訳モデルを含んで構成される。そして、翻訳装置３における第ｉドメイン（１≦ｉ≦ｎ）の翻訳モデルは、第ｉ入力部ｉ−１と、第ｉエンコーダー部ｉ−２と、第ｉ低次元化部ｉ−３と、第ｉデコーダー部ｉ−４と、第ｉ出力部ｉ−５と、共有エンコーダー部３３１とを含んで構成される。共有エンコーダー部３３１は、第１ドメインから第ｎドメインまでの複数の翻訳モデルによって共有される。
【００９１】
本実施形態では、翻訳装置３は、学習処理の際、第１ドメインから第ｎドメインまでのいずれかのドメインに属する文対（原言語および目的言語で記述された文）を取得する。翻訳装置３は、第ｉドメイン（１≦ｉｎ）に属する文対を用いて、第ｉドメインの翻訳モデルに含まれるパラメーター（共有エンコーダー部３３１のパラメーターを含む）を学習する。翻訳装置３は、翻訳処理の際、第１ドメインから第ｎドメインまでのいずれかのドメインに属する入力文（原言語文）を取得する。翻訳装置３は、第ｉドメインの翻訳モデルを用いて、当該入力文に対応する翻訳文（目的言語文）を出力する。
【００９２】
本実施形態によれば、２つのドメインに限らず、３つ以上のドメインにおいて翻訳のための知識を共有することができる。言い換えれば、翻訳装置３の共有エンコーダー部３３１は、３つ以上のドメインに属する文対を用いて学習されるため、これらすべてのドメインの文対に基づくパラメーターを有する。
【００９３】
なお、図８に示した構成では、第ｉドメインの翻訳モデルは、第ｉ低次元化部ｉ−３を備えていた。この第ｉ低次元化部ｉ−３を省略して実施してもよい。内容ベクトルを低次元化する機能を省略した構成の詳細については、既に第２実施形態において説明した通りである。つまり、第３実施形態と第２実施形態とを組み合わせて実施するようにしてもよい。
【００９４】
［第４実施形態］
次に、本発明の第４実施形態について説明する。なお、前実施形態までにおいて既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
【００９５】
図９は、本実施形態による翻訳装置（学習装置）の概略機能構成を示すブロック図である。図示するように、翻訳装置４は、第１入力部１１と、第１エンコーダー部１２と、第１低次元化部１３と、第１デコーダー部１４と、第１出力部１５と、第２入力部２１と、第２エンコーダー部２２と、第２低次元化部２３と、第２デコーダー部２４と、第２出力部２５と、共有エンコーダー部３１と、第１直交誤差算出部４１９と、第２直交誤差算出部４２９とを含んで構成される。第１入力部１１と、第１エンコーダー部１２と、第１低次元化部１３と、第１デコーダー部１４と、第１出力部１５と、第２入力部２１と、第２エンコーダー部２２と、第２低次元化部２３と、第２デコーダー部２４と、第２出力部２５と、共有エンコーダー部３１の各部の機能等については、前実施形態までにおいてすでに説明した通りである。本実施形態の特徴は、翻訳装置４が、第１直交誤差算出部４１９と、第２直交誤差算出部４２９とを有する点である。
【００９６】
第１直交誤差算出部４１９は、第１エンコーダー部１２と共有エンコーダー部３１とが同一の入力文をエンコードしたときにそれぞれ出力する意味ベクトル間の直交誤差を算出する。この直交誤差をＬｄｉｆｆとする。直交誤差Ｌｄｉｆｆは、正の値として算出される。第１エンコーダー部１２から出力される意味ベクトルと共有エンコーダー部３１から出力される意味ベクトルとが完全に直交する場合に、直交誤差Ｌｄｉｆｆの値は０である。両意味ベクトルの直交の度合いが低くなるほど、直交誤差Ｌｄｉｆｆの値は大きくなる。
【００９７】
第２直交誤差算出部４２９は、第２エンコーダー部２２と共有エンコーダー部３１とが同一の入力文をエンコードしたときにそれぞれ出力する意味ベクトル間の直交誤差Ｌｄｉｆｆを算出する。第２直交誤差算出部４２９が算出する直交誤差の値は、上記の第１直交誤差算出部４１９が算出する直交誤差の値と、同様のものであり、同様の意味を持つ。
【００９８】
翻訳装置４は、学習処理時に、第１直交誤差算出部４１９あるいは第２直交誤差算出部４２９が算出する直交誤差Ｌｄｉｆｆにも基づいて、パラメーター値の調整を行う。
【００９９】
第１ドメインの翻訳モデルに関して、第１ドメインに属する文対を用いて、第１デコーダー部１４が出力する出力文と、当該文対に含まれる正解データ（目的語文）との差に基づいて誤差逆伝搬法を用いることは、第１実施形態等で既に説明した通りである。本実施形態では、翻訳装置４は、第１デコーダー部１４が出力する出力文と当該文対に含まれる正解データ（目的語文）との差だけではなく、第１直交誤差算出部４１９が算出する直交誤差Ｌｄｉｆｆをも用いて、誤差逆伝搬法により、パラメーターの更新を行う。出力文と正解データとの誤差をＬｏｕｔｐｕｔとした場合、翻訳装置４がパラメーターの更新のために用いる総合誤差Ｌは、下の式で表される。ここで、αおよびβは、それぞれ、適宜設定される重み値である。
【０１００】
Ｌ＝α・Ｌｏｕｔｐｕｔ＋β・Ｌｄｉｆｆ
【０１０１】
なお、第２直交誤差算出部４２９が算出する直交誤差Ｌｄｉｆｆに基づいた第２ドメインの翻訳モデルのパラメーター更新についても、上述した第１ドメインの翻訳モデルのそれと同様である。
【０１０２】
本実施形態によると、第１直交誤差算出部４１９あるいは第２直交誤差算出部４２９は、それぞれ、第１エンコーダー部１２あるいは第２エンコーダー部２２（各ドメインに固有の専用エンコーダー）から出力される意味ベクトルと、共有エンコーダー部３１から出力される意味ベクトルとの直交誤差Ｌｄｉｆｆを算出する。また、翻訳装置４は、学習処理時に、この直交誤差Ｌｄｉｆｆにも基づく誤差伝搬法により、パラメーターを調整する。この学習処理は、第１エンコーダー部１２あるいは第２エンコーダー部２２から出力されるベクトルと、共有エンコーダー部３１から出力されるベクトルとの間の直交性が増す方向に作用する。つまり、充分な量の学習データを用いて学習を行うことにより、第１エンコーダー部１２あるいは第２エンコーダー部２２から出力されるベクトルと、共有エンコーダー部３１から出力されるベクトルとの間の直交性が高まる。これにより、各ドメインに固有の専用エンコーダーのモデルと共有エンコーダーのモデルとが重ならないようになる。即ち、専用エンコーダーのモデルと共有エンコーダーのモデルとの間の冗長性が削減され、効率的に翻訳モデルの学習を行うことができる。
【０１０３】
なお、図９に示した構成では、第１ドメインおよび第２ドメインの翻訳モデルは、それぞれ、第１低次元化部１３および第２低次元化部２３を備えていた。これらの第１低次元化部１３および第２低次元化部２３を省略して実施してもよい。内容ベクトルを低次元化する機能を省略した構成の詳細については、既に第２実施形態において説明した通りである。つまり、第４実施形態と第２実施形態とを組み合わせて実施するようにしてもよい。
【０１０４】
また、図９に示した構成では、ドメイン数は２であった。ドメイン数を３以上として第４実施形態を実施してもよい。つまり、第４実施形態と第２実施形態とを組み合わせて実施するようにしてもよい。さらに、第４実施形態と、第３実施形態と、第２実施形態とを組み合わせて実施するようにしてもよい。
【０１０５】
以上、複数の実施形態を説明したが、次のような変形例による実施をしてもよい。また、組み合わせることが可能な場合において、複数の変形例を組み合わせて実施してもよい。
【０１０６】
［第１変形例］上で説明した実施形態において、翻訳装置（学習装置）が低次元化部を有する場合、すべてのドメインにおいて低次元化部を持つこととした。変形例として、すべてのドメインの翻訳モデルのうちの一部のドメインの翻訳モデルのみが低次元化部を持つようにしてもよい。例えば、２個のドメインのうちの片方のドメインのみに関して低次元化部を持つようにしてもよい。また、例えば、３個以上のドメインのうちの、任意の１個以上のドメインのみに関して低次元化部を持つようにしてもよい。
【０１０７】
［第２変形例］ドメインとして、ニュースアナウンス文や放送字幕文等のドメインを例示して説明した箇所があるが、他のドメインに上記の各実施形態を適用してもよい。
【０１０８】
［第３変形例］上記の各実施形態では、単一の装置が、学習装置と翻訳装置とを兼ねる場合を説明した。変形例として、学習装置と翻訳装置とが別の装置であってもよい。この場合、学習装置における学習処理の結果として得られる知識（パラメーターの数値等）を、例えばデータファイルとして翻訳装置側にコピーすることにより、翻訳装置は、その学習結果を用いた翻訳処理を行うことができる。
【０１０９】
なお、上述した実施形態（変形例を含む）における翻訳装置（学習装置）の少なくとも一部の機能をコンピューターで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１１０】
以上において説明した実施形態および変形例の特徴をまとめると、次の通りである。
【０１１１】
第１低次元化部または第２低次元化部の少なくともいずれかを有する場合、次の通りである。第１低次元化部１３は、第１エンコーダー部１２によるエンコード処理の結果として出力される第１意味ベクトルの要素と、共有エンコーダー部３１によるエンコード処理の結果として出力される共通意味ベクトルの要素とを並べて得られる連結ベクトルを、第１ドメインにおける低次元化処理のパラメーターに基づいて低次元化し、低次元化した結果である第１低次元化ベクトルを出力する。このとき、第１デコーダー部１４は、第１低次元化部１３が出力する第１低次元化ベクトルと、第１ドメインにおけるデコード処理のパラメーターとに基づいて、入力文に対応する出力文を生成する。この場合の学習処理としては、学習データに含まれる文対の目的言語による文と、第１デコーダー部１４からの出力文との差に基づいて、第１低次元化部１３における低次元化処理のパラメーターをも更新する。なお、第２低次元化部２３についても、ここで説明した第１低次元化部１３と同様である。
【０１１２】
エンコーダー出力間の直交誤差に基づく学習を行う場合には、次の通りである。即ち、学習装置は、第１直交誤差算出部４１９と第２直交誤差算出部４２９とを具備する。第１直交誤差算出部４１９は、第１エンコーダー部１２によるエンコード処理の結果として出力される第１意味ベクトルと、共有エンコーダー部３１によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第１直交誤差を算出する第２直交誤差算出部４２９は、第２エンコーダー部２２によるエンコード処理の結果として出力される第２意味ベクトルと、共有エンコーダー部３１によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第２直交誤差を算出する。逆誤差伝搬法等によるパラメーターの調整においては、学習データの文対の目的言語による文と第１デコーダー部１４から出力される出力文との差とともに、第１直交誤差算出部４１９が算出した第１直交誤差にも基づいて、第１エンコーダー部１２におけるエンコード処理のパラメーターと、共有エンコーダー部３１におけるエンコード処理のパラメーターと、第１デコーダー部１４におけるデコード処理のパラメーターとを更新する。さらに、低次元化部を有する場合には、低次元化処理のパラメーターをも更新する。また、学習データの文対の目的言語による文と第２デコーダー部２４から出力される出力文との差とともに、第２直交誤差算出部４２９が算出した第２直交誤差にも基づいて、第２エンコーダー部２２におけるエンコード処理のパラメーターと、共有エンコーダー部３１におけるエンコード処理のパラメーターと、第２デコーダー部２４におけるデコード処理のパラメーターとを更新する。さらに、低次元化部を有する場合には、低次元化処理のパラメーターをも更新する。なお、上記の直交誤差に基づくパラメーターの調整を全ドメインのうちの一部のドメインのみに関して実施するようにしてもよい。
【０１１３】
少なくとも、翻訳装置における、第１エンコーダー部１２におけるエンコード処理のパラメーターと、共有エンコーダー部３１におけるエンコード処理のパラメーターと、第１デコーダー部１４におけるデコード処理のパラメーターとは、上記実施形態における学習処理によって求められたものとしてよい。低次元化処理のためのパラメーターについても同様である。他のドメインのパラメーターについても同様である。
【０１１４】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【０１１５】
［実証実験］
実証実験の結果を以下において説明する。実証実験においては、原言語を英語とし、目的言語を日本語とした。第１ドメインの言語資源として特許コーパス(ＮＴＣＩＲ， NII Testbeds and Community for Information access Research) を用いた。第２ドメインとして、科学技術論文（ＡＳＰＥＣ)を用いた。評価結果には第１ドメインの特許コーパス（ＮＴＣＩＲ）のテストセットを用いた。第１の評価対象手法は、第１ドメインの特徴を知識として取り出す第１エンコーダー部（１２）と、ドメインに共通する特徴を知識として取り出す共有エンコーダー部（３１）を利用した翻訳モデルによるものである。
第２の評価対象手法は、上記第１の評価手法の構成に加えて、第１エンコーダー部と共有エンコーダー部のパラメーター学習の際に、これら両エンコーダーからの出力間の直交性に関する制約を加えたもの（第４実施形態）である。第１の比較対象の手法は、第１ドメインと第２ドメインとをそれぞれ独立に学習させたものである。第２の比較対象の手法は、先行研究における最新手法の１つである、コーパスの先頭にドメインタグ(例：＜NTCIR＞)を付与する手法である。第２の比較対象の手法は、下の文献に記載されている。
【０１１６】
第２の比較対象の手法に関する文献：  Chenhui Chu, Raj Dabre, and Sadao Kurohashi. An empirical comparison of domain adaptation methods for neural machine translation. In Proceedings of ACL, 2017.
【０１１７】
精度の計測は一般的に用いられている機械翻訳の評価尺度ＢＬＥＵを用いた。ＢＬＥＵは、その値が高いほど参照訳となる正解に近いと判断される。第１の比較対象の手法では、ＢＬＥＵスコアは４４．２であった。第２の比較対象の手法では、ＢＬＥＵスコアは４６．０であった。第１の評価対象手法では、ＢＬＥＵスコアは４８．１であった。第２の評価対象手法では、ＢＬＥＵスコアは４９．７６であった。つまり、上に記載した実施形態である第１および第２の評価対象手法のスコアは、第１および第２の比較対象の手法のスコアよりも高い。つまり、第１および第２の評価対象手法について、良好な評価が得られた。
【０１１８】
実証実験における翻訳例は、次の通りである。原言語による文は「A data space is established in the memory.」である。これに対する参照訳（目的言語による文）は、「メモリ内にはデータ空間が形成される。」である。第１の比較対象の手法による翻訳結果は「このメモリ内にはデータ空間が設けられる。」である。第２の比較対象の手法による翻訳結果は「メモリにはデータ空間が形成される。」である。第１の評価対象手法による翻訳結果は「メモリにはデータ空間が形成される。」である。第２の評価対象手法による翻訳結果は「メモリ内にはデータ空間が形成される。」である。第２の評価対象手法による翻訳結果の出力は、参照訳と同じであり、最も良い結果であることがわかる。
【産業上の利用可能性】
【０１１９】
本発明は、機械翻訳技術に利用することができる。本発明を用いた機械翻訳処理は、例えば、放送事業などのメディア産業にも利用することができる。但し、本発明の利用範囲はここに例示したものには限られない。
【符号の説明】
【０１２０】
１，２，３，４  翻訳装置（学習装置）
１１  第１入力部
１２  第１エンコーダー部
１３  第１低次元化部
１４  第１デコーダー部
１５  第１出力部
１７  第１翻訳モデル部
２１  第２入力部
２２  第２エンコーダー部
２３  第２低次元化部
２４  第２デコーダー部
２５  第２出力部
２７  第２翻訳モデル部
３１  共有エンコーダー部
２１７  第１翻訳モデル部
２２７  第２翻訳モデル部
３３１  共有エンコーダー部
４１９  第１直交誤差算出部
４２９  第２直交誤差算出部
【図１】
2020119244.tif 000003
【図２】
2020119244.tif 000004
【図３】
2020119244.tif 000005
【図４】
2020119244.tif 000006
【図５】
2020119244.tif 000007
【図６】
2020119244.tif 000008
【図７】
2020119244.tif 000009
【図８】
2020119244.tif 000010
【図９】
2020119244.tif 000011