IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

<>
  • 特許-学習装置、およびプログラム 図1
  • 特許-学習装置、およびプログラム 図2
  • 特許-学習装置、およびプログラム 図3
  • 特許-学習装置、およびプログラム 図4
  • 特許-学習装置、およびプログラム 図5
  • 特許-学習装置、およびプログラム 図6
  • 特許-学習装置、およびプログラム 図7
  • 特許-学習装置、およびプログラム 図8
  • 特許-学習装置、およびプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-13
(45)【発行日】2023-04-21
(54)【発明の名称】学習装置、およびプログラム
(51)【国際特許分類】
   G06F 40/44 20200101AFI20230414BHJP
   G06N 3/084 20230101ALI20230414BHJP
   G06N 3/04 20230101ALI20230414BHJP
【FI】
G06F40/44
G06N3/084
G06N3/04
【請求項の数】 4
(21)【出願番号】P 2019009658
(22)【出願日】2019-01-23
(65)【公開番号】P2020119244
(43)【公開日】2020-08-06
【審査請求日】2021-12-23
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100141139
【弁理士】
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100171446
【弁理士】
【氏名又は名称】高田 尚幸
(74)【代理人】
【識別番号】100114937
【弁理士】
【氏名又は名称】松本 裕幸
(74)【代理人】
【識別番号】100171930
【弁理士】
【氏名又は名称】木下 郁一郎
(72)【発明者】
【氏名】美野 秀弥
(72)【発明者】
【氏名】後藤 功雄
(72)【発明者】
【氏名】山田 一郎
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開2017-151804(JP,A)
【文献】高里盛良 他2名,ニューラルVQAのTOEIC写真問題への領域適応,言語処理学会第24回年次大会 発表論文集[online],日本,言語処理学会,2018年03月05日,264-267頁
【文献】CHENHUI CHU 他2名,A Comprehensive Empirical Comparison of Domain Adaptation Methods for Neural Machine Translation[online],2018年07月,[令和04年11月17日検索],インターネット<URL:https://www.jstage.jst.go.jp/article/ipsjjip/26/0/26_529/_pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/20-40/58
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
第1ドメインにおけるエンコード処理のパラメーターに基づいて、前記第1ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第1エンコーダー部と、
第2ドメインにおけるエンコード処理のパラメーターに基づいて、前記第2ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第2エンコーダー部と、
前記第1ドメインと前記第2ドメインとで共有されるエンコード処理のパラメーターに基づいて、前記第1ドメインまたは前記第2ドメインのいずれかに属する前記入力文のエンコード処理を行う共有エンコーダー部と、
前記第1エンコーダー部におけるエンコード処理の結果として出力される第1意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第1ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第1デコーダー部と、
前記第2エンコーダー部におけるエンコード処理の結果として出力される第2意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第2ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第2デコーダー部と、
前記第1エンコーダー部によるエンコード処理の結果として出力される第1意味ベクトルと、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第1直交誤差を算出する第1直交誤差算出部と、
前記第2エンコーダー部によるエンコード処理の結果として出力される第2意味ベクトルと、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第2直交誤差を算出する第2直交誤差算出部と、
を具備し、
前記第1ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第1エンコーダー部と前記共有エンコーダー部と前記第1デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第1エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第1デコーダー部におけるデコード処理のパラメーターとを更新し、
前記第2ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第2エンコーダー部と前記共有エンコーダー部と前記第2デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第2エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第2デコーダー部におけるデコード処理のパラメーターとを更新し、
前記文対の目的言語による文と前記第1デコーダー部から出力される前記出力文との差とともに、前記第1直交誤差算出部が算出した前記第1直交誤差にも基づいて、前記第1エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第1デコーダー部におけるデコード処理のパラメーターとを更新し、
前記文対の目的言語による文と前記第2デコーダー部から出力される前記出力文との差とともに、前記第2直交誤差算出部が算出した前記第2直交誤差にも基づいて、前記第2エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第2デコーダー部におけるデコード処理のパラメーターとを更新する、
学習装置。
【請求項2】
前記第1エンコーダー部によるエンコード処理の結果として出力される第1意味ベクトルの要素と、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルの要素とを並べて得られる連結ベクトルを、前記第1ドメインにおける低次元化処理のパラメーターに基づいて低次元化し、低次元化した結果である第1低次元化ベクトルを出力する第1低次元化部、
を具備し、
前記第1デコーダー部は、前記第1低次元化部が出力する前記第1低次元化ベクトルと、前記第1ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成し、
前記文対の目的言語による文と、前記第1デコーダー部からの前記出力文との差に基づいて、前記第1低次元化部における低次元化処理のパラメーターをも更新する、
請求項1に記載の学習装置。
【請求項3】
前記第2エンコーダー部によるエンコード処理の結果として出力される第2意味ベクトルの要素と、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルの要素とを並べて得られる連結ベクトルを、前記第2ドメインにおける低次元化処理のパラメーターに基づいて低次元化し、低次元化した結果である第2低次元化ベクトルを出力する第2低次元化部、
を具備し、
前記第2デコーダー部は、前記第2低次元化部が出力する前記第2低次元化ベクトルと、前記第2ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成し、
前記文対の目的言語による文と、前記第2デコーダー部からの前記出力文との差に基づいて、前記第2低次元化部における低次元化処理のパラメーターをも更新する、
請求項1または請求項2に記載の学習装置。
【請求項4】
コンピューターを、
第1ドメインにおけるエンコード処理のパラメーターに基づいて、前記第1ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第1エンコーダー部と、
第2ドメインにおけるエンコード処理のパラメーターに基づいて、前記第2ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第2エンコーダー部と、
前記第1ドメインと前記第2ドメインとで共有されるエンコード処理のパラメーターに基づいて、前記第1ドメインまたは前記第2ドメインのいずれかに属する前記入力文のエンコード処理を行う共有エンコーダー部と、
前記第1エンコーダー部におけるエンコード処理の結果として出力される第1意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第1ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第1デコーダー部と、
前記第2エンコーダー部におけるエンコード処理の結果として出力される第2意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第2ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第2デコーダー部と、
前記第1エンコーダー部によるエンコード処理の結果として出力される第1意味ベクトルと、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第1直交誤差を算出する第1直交誤差算出部と、
前記第2エンコーダー部によるエンコード処理の結果として出力される第2意味ベクトルと、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第2直交誤差を算出する第2直交誤差算出部と、
を具備し、
前記第1ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第1エンコーダー部と前記共有エンコーダー部と前記第1デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第1エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第1デコーダー部におけるデコード処理のパラメーターとを更新し、
前記第2ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第2エンコーダー部と前記共有エンコーダー部と前記第2デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第2エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第2デコーダー部におけるデコード処理のパラメーターとを更新する、
前記文対の目的言語による文と前記第1デコーダー部から出力される前記出力文との差とともに、前記第1直交誤差算出部が算出した前記第1直交誤差にも基づいて、前記第1エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第1デコーダー部におけるデコード処理のパラメーターとを更新し、
前記文対の目的言語による文と前記第2デコーダー部から出力される前記出力文との差とともに、前記第2直交誤差算出部が算出した前記第2直交誤差にも基づいて、前記第2エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第2デコーダー部におけるデコード処理のパラメーターとを更新する、
学習装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、翻訳装置、学習装置、およびプログラムに関する。
【背景技術】
【0002】
ニューラルネットワークによる機械学習を利用した機械翻訳では、学習データが多いほど、翻訳精度が向上する。翻訳精度を向上させるためには、できるだけ多くの学習データを準備することが望ましいが、そのためには高いコストがかかる。学習データの量を増やすために、ドメインが異なるデータを合わせて学習させることも考えられるが、ドメインが異なるデータを用いることにより翻訳精度が低下するという問題がある。
【0003】
非特許文献1に記載されている技術では、複数のドメインに属する学習データを合わせて機械学習を行った後で、目的とするドメインに属するデータのみを用いて再学習を行っている。
【0004】
非特許文献2に記載されている技術では、分類問題において、ドメインが異なるデータで学習したモデルの一部を共有させている。
【0005】
特許文献1には、自動翻訳の素性重み最適化装置が記載されている。この素性重み最適化装置では、素性重み最適化部278が、複数のドメイン開発セット212を用い、複数のドメイン別統計モデル272及び汎用統計モデル274から得られる素性又はその対数の線形補間を用いて自然言語の翻訳を行う際の各素性重みを最適化する。素性重み最適化部278は、ドメイン開発セット212の各々について設けられたドメイン別素性記憶領域を持つ。その各々は、汎用統計モデルの素性を記憶する第1の領域と、複数のドメイン開発セットから得られる素性を記憶する複数の第2の領域と、重みの最適化に用いられる損失関数の値を記憶する第3の領域とを含む。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2017-151804号公報
【非特許文献】
【0007】
【文献】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.
【発明の概要】
【発明が解決しようとする課題】
【0008】
従来技術では、複数のドメインの翻訳モデル間で知識を共有することができないという問題があった。非特許文献1に記載されている技術では、性質の異なる学習データ(例えば、旅行会話分野の文と、特許文献の文といったようにドメインの異なる学習データ)を合わせて学習するため、翻訳精度が落ちる場合があった。非特許文献2には、分類問題において、ドメインが異なるデータで学習したモデルの一部を共有させているが、翻訳処理をはじめとする生成問題には適応することができないという問題があった。
【0009】
機械翻訳では、学習データが多ければ多いほど精度が高くなることが知られており、ドメインごとに学習データを分離して学習することは非効率である。本発明は、上記の事情を考慮して為されたものであり、ドメインの異なる学習データを完全に分離することなく、複数のドメインの翻訳モデル間で知識を共有できるようにするための翻訳装置、学習装置、およびプログラムを提供しようとするものである。
【課題を解決するための手段】
【0010】
[1]上記の課題を解決するため、本発明の一態様による学習装置は、第1ドメインにおけるエンコード処理のパラメーターに基づいて、前記第1ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第1エンコーダー部と、第2ドメインにおけるエンコード処理のパラメーターに基づいて、前記第2ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第2エンコーダー部と、前記第1ドメインと前記第2ドメインとで共有されるエンコード処理のパラメーターに基づいて、前記第1ドメインまたは前記第2ドメインのいずれかに属する前記入力文のエンコード処理を行う共有エンコーダー部と、前記第1エンコーダー部におけるエンコード処理の結果として出力される第1意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第1ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第1デコーダー部と、前記第2エンコーダー部におけるエンコード処理の結果として出力される第2意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第2ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第2デコーダー部と、を具備し、前記第1ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第1エンコーダー部と前記共有エンコーダー部と前記第1デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第1エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第1デコーダー部におけるデコード処理のパラメーターとを更新し、前記第2ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第2エンコーダー部と前記共有エンコーダー部と前記第2デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第2エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第2デコーダー部におけるデコード処理のパラメーターとを更新するものである。
【0011】
[2]また、本発明の一態様は、上記の学習装置において、前記第1エンコーダー部によるエンコード処理の結果として出力される第1意味ベクトルの要素と、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルの要素とを並べて得られる連結ベクトルを、前記第1ドメインにおける低次元化処理のパラメーターに基づいて低次元化し、低次元化した結果である第1低次元化ベクトルを出力する第1低次元化部、を具備し、前記第1デコーダー部は、前記第1低次元化部が出力する前記第1低次元化ベクトルと、前記第1ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成し、前記文対の目的言語による文と、前記第1デコーダー部からの前記出力文との差に基づいて、前記第1低次元化部における低次元化処理のパラメーターをも更新する、ものである。
【0012】
[3]また、本発明の一態様は、上記の学習装置において、前記第2エンコーダー部によるエンコード処理の結果として出力される第2意味ベクトルの要素と、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルの要素とを並べて得られる連結ベクトルを、前記第2ドメインにおける低次元化処理のパラメーターに基づいて低次元化し、低次元化した結果である第2低次元化ベクトルを出力する第2低次元化部、を具備し、前記第2デコーダー部は、前記第2低次元化部が出力する前記第2低次元化ベクトルと、前記第2ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成し、前記文対の目的言語による文と、前記第2デコーダー部からの前記出力文との差に基づいて、前記第2低次元化部における低次元化処理のパラメーターをも更新する、ものである。
【0013】
[4]また、本発明の一態様は、上記の学習装置において、前記第1エンコーダー部によるエンコード処理の結果として出力される第1意味ベクトルと、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第1直交誤差を算出する第1直交誤差算出部と、前記第2エンコーダー部によるエンコード処理の結果として出力される第2意味ベクトルと、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第2直交誤差を算出する第2直交誤差算出部と、を具備し、前記文対の目的言語による文と前記第1デコーダー部から出力される前記出力文との差とともに、前記第1直交誤差算出部が算出した前記第1直交誤差にも基づいて、前記第1エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第1デコーダー部におけるデコード処理のパラメーターとを更新し、前記文対の目的言語による文と前記第2デコーダー部から出力される前記出力文との差とともに、前記第2直交誤差算出部が算出した前記第2直交誤差にも基づいて、前記第2エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第2デコーダー部におけるデコード処理のパラメーターとを更新する、ものである。
【0014】
[5]本発明の一態様による翻訳装置は、第1ドメインにおけるエンコード処理のパラメーターに基づいて、原言語による入力文のエンコード処理を行う第1エンコーダー部と、前記第1ドメインおよび他のドメインで共有されるエンコード処理のパラメーターに基づいて、前記入力文のエンコード処理を行う共有エンコーダー部と、前記第1エンコーダー部におけるエンコード処理の結果として出力される第1意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第1ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第1デコーダー部と、を具備するものである。
【0015】
[6]また、本発明の一態様は、上記の翻訳装置において、前記第1エンコーダー部によるエンコード処理の結果として出力される第1意味ベクトルの要素と、前記共有エンコーダー部によるエンコード処理の結果として出力される共通意味ベクトルの要素とを並べて得られる連結ベクトルを、前記第1ドメインにおける低次元化処理のパラメーターに基づいて低次元化し、低次元化した結果である第1低次元化ベクトルを出力する第1低次元化部、を具備し、前記第1デコーダー部は、前記第1低次元化部が出力する前記第1低次元化ベクトルと、前記第1ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成するものである。
【0016】
[7]また、本発明の一態様は、上記の翻訳装置において、前記他のドメインの数は、1以上である、というものである。
【0017】
[8]また、本発明の一態様は、上記の翻訳装置において、前記第1エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第1デコーダー部におけるデコード処理のパラメーターとは、上記[1]から[4]までのいずれか一項に記載の学習装置の処理によって求められたものである。
【0018】
[9]また、本発明の一態様は、コンピューターを、第1ドメインにおけるエンコード処理のパラメーターに基づいて、前記第1ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第1エンコーダー部と、第2ドメインにおけるエンコード処理のパラメーターに基づいて、前記第2ドメインに属する入力文であって原言語による入力文のエンコード処理を行う第2エンコーダー部と、前記第1ドメインと前記第2ドメインとで共有されるエンコード処理のパラメーターに基づいて、前記第1ドメインまたは前記第2ドメインのいずれかに属する前記入力文のエンコード処理を行う共有エンコーダー部と、前記第1エンコーダー部におけるエンコード処理の結果として出力される第1意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第1ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第1デコーダー部と、前記第2エンコーダー部におけるエンコード処理の結果として出力される第2意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第2ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第2デコーダー部と、を具備し、前記第1ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第1エンコーダー部と前記共有エンコーダー部と前記第1デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第1エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第1デコーダー部におけるデコード処理のパラメーターとを更新し、前記第2ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には前記原言語による入力文を基に前記第2エンコーダー部と前記共有エンコーダー部と前記第2デコーダー部との処理によって出力文を生成し、前記文対の目的言語による文と、当該出力文との差に基づいて、前記第2エンコーダー部におけるエンコード処理のパラメーターと、前記共有エンコーダー部におけるエンコード処理のパラメーターと、前記第2デコーダー部におけるデコード処理のパラメーターとを更新する、学習装置として機能させるためのプログラムである。
【0019】
[10]また、本発明の一態様は、コンピューターを、第1ドメインにおけるエンコード処理のパラメーターに基づいて、原言語による入力文のエンコード処理を行う第1エンコーダー部と、前記第1ドメインおよび他のドメインで共有されるエンコード処理のパラメーターに基づいて、前記入力文のエンコード処理を行う共有エンコーダー部と、前記第1エンコーダー部におけるエンコード処理の結果として出力される第1意味ベクトルと、前記共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、前記第1ドメインにおけるデコード処理のパラメーターとに基づいて、前記入力文に対応する出力文を生成する第1デコーダー部と、を具備する翻訳装置として機能させるためのプログラムである。
【発明の効果】
【0020】
本発明によれば、異なるドメイン間で知識を共有するための学習処理を行える。また、異なるドメイン間で共有した知識(モデル)に基づいて翻訳処理を行える。このような知識の共有のしくみを実現することにより学習データの量を増やすことができるため、翻訳精度を上げることができる。
【図面の簡単な説明】
【0021】
図1】本発明の第1実施形態による翻訳装置(学習装置)の概略機能構成を示すブロック図である。
図2】同実施形態による第1エンコーダー部と第2エンコーダー部と共有エンコーダー部とのそれぞれにおける、エンコード処理のモデルを示す概略図である。
図3】同実施形態による第1デコーダー部および第2デコーダー部のそれぞれにおける、デコード処理のモデルを示す概略図である。
図4】同実施形態による第1低次元化部および第2低次元化部のそれぞれにおける、低次元化の処理を示す概略図である。
図5】同実施形態による翻訳装置の、学習処理の手順を示すフローチャートである。
図6】同実施形態による翻訳装置の、翻訳処理の手順を示すフローチャートである。
図7】第2実施形態による翻訳装置(学習装置)の概略機能構成を示すブロック図である。
図8】第3実施形態による翻訳装置(学習装置)の概略機能構成を示すブロック図である。
図9】第4実施形態による翻訳装置(学習装置)の概略機能構成を示すブロック図である。
【発明を実施するための形態】
【0022】
[第1実施形態]
次に、図面を参照しながら、本発明の一実施形態について説明する。本実施形態では、ニューラル機械翻訳モデルを、ドメイン間で共有する部分と、ドメイン内でのみ利用する部分とに分割する。ドメイン間で共有する部分については、複数の機械翻訳システムで共有して学習を行う。
【0023】
図1は、本実施形態による翻訳装置の概略機能構成を示すブロック図である。図示する翻訳装置1を、翻訳モデルの学習を行うための学習装置と捉えることもできる。図示するように、翻訳装置1は、第1入力部11と、第1エンコーダー部12と、第1低次元化部13と、第1デコーダー部14と、第1出力部15と、第2入力部21と、第2エンコーダー部22と、第2低次元化部23と、第2デコーダー部24と、第2出力部25と、共有エンコーダー部31とを含んで構成される。これらの各機能部は、例えば、コンピューターと、プログラムとで実現することが可能である。また、各機能部は、必要に応じて、記憶手段を有する。記憶手段は、例えば、プログラム上の変数や、プログラムの実行によりアロケーションされるメモリである。また、必要に応じて、磁気ハードディスク装置やソリッドステートドライブ(SSD)といった不揮発性の記憶手段を用いるようにしてもよい。また、各機能部の少なくとも一部の機能を、プログラムではなく専用の電子回路として実現してもよい。
【0024】
以下において、第1エンコーダー部12や第2エンコーダー部22や共有エンコーダー部31のそれぞれを単に「エンコーダー」と呼ぶ場合がある。また、第1デコーダー部14や第2デコーダー部24のそれぞれを単に「デコーダー」と呼ぶ場合がある。
【0025】
第1エンコーダー部12と、第1低次元化部13と、第1デコーダー部14と、共有エンコーダー部31とを合わせて、第1翻訳モデル部17と呼んでもよい。また、第2エンコーダー部22と、第2低次元化部23と、第2デコーダー部24と、共有エンコーダー部31とを合わせて、第2翻訳モデル部27と呼んでもよい。第1翻訳モデル部17と第2翻訳モデル部27とは、互いに異なるドメインの翻訳モデルとして機能する。
【0026】
ここで、ドメインとは、翻訳処理の対象の文が属する分野である。例えば、旅行会話文、特許文、放送字幕文、新聞文、ニュースアナウンス文などといった括りをドメインとすることができる。なお、上で挙げたドメインは一例であり、一般的なドメインはこれらの例に限らない。便宜的に、第1翻訳モデル部17が対象とするドメインを第1ドメインと呼び、第2翻訳モデル部27が対象とするドメインを第2ドメインと呼ぶ。つまり、翻訳装置1は、第1ドメインおよび第2ドメインという2つのドメイン用の翻訳モデルが統合された構成を持つ。
【0027】
翻訳装置1は、翻訳処理を行う場合には入力文を翻訳した結果を出力文として出力する。また、翻訳装置1は、入力文と出力文の対の集合を学習データとして取得し、翻訳モデルの機械学習を行う学習装置としても機能し得る。
【0028】
第1入力部11は、外部から、第1ドメインに属する文を取得し、第1エンコーダー部12および共有エンコーダー部31に渡す。第1入力部11は、学習処理時には学習データの文対を取得し、その文対のうちの原言語による文を第1エンコーダー部12および共有エンコーダー部31に渡す。第1入力部11は、翻訳処理時には翻訳対象である原言語による文を取得し、その入力文を第1エンコーダー部12および共有エンコーダー部31に渡す。なお、後段のエンコーダーが処理するために、第1入力部11が入力文の形態素解析処理等を行ってもよい。第1入力部11が、単語ごとに既に分割されている単語列のデータとして表された入力文のデータを取得するようにしてもよい。
【0029】
第1エンコーダー部12は、第1ドメインにおけるエンコード処理のパラメーターに基づいて、第1ドメインに属する入力文であって原言語による入力文のエンコード処理を行う。第1ドメインにおけるエンコード処理のパラメーターは、後述する翻訳処理において参照されるとともに、後述する学習処理においては誤差逆伝搬法等の方法によって更新され得る。第1エンコーダー部12は、第1ドメインに属する入力文のエンコード処理を行うため、後述する学習処理においては、これら第1ドメインに固有の知識を蓄積する作用を持つ。つまり、第1エンコーダー部12は、第1ドメインの特徴を知識として取り出す。
【0030】
第1低次元化部13は、第1エンコーダー部12から出力される意味ベクトルの情報と、共有エンコーダー部31から出力される意味ベクトルとの情報とを合わせた上で、その情報を低次元化する。具体的には、第1低次元化部13は、第1エンコーダー部12から出力される意味ベクトルと、共有エンコーダー部31から出力される意味ベクトルとを連結し、連結後のベクトルを線形変換によって低次元化する。これにより、第1低次元化部13は、第1エンコーダー部12から得られる情報と、共有エンコーダー部31から得られる情報とのうち、翻訳するために有用な部分のみを抽出し、他の部分を排除する作用を有する。第1低次元化部13は、通常の機械翻訳システムが動作するのに十分な次元数の程度まで、前段から取得するベクトルを低次元化する。例えば、第1エンコーダー部12から出力されるベクトルと共有エンコーダー部31から出力されるベクトルとの次元数が同じであれば、両者を単純に連結することにより次元数は2倍になるが、第1低次元化部13は、その次元数を半分に削減する。即ち、第1低次元化部13は、第1エンコーダー部12や共有エンコーダー部31が出力する意味ベクトルの次元数程度までの低次元化を行う。第1低次元化部13が、2つのエンコーダーから出力される情報の一部を削除することにより、後段における計算処理の高速化、効率化が可能となる。つまり、第1低次元化部13は、第1エンコーダー部12からの出力と、共有エンコーダー部31からの出力を基に、第1デコーダー部14に入力するためのデータを作成する。
【0031】
第1デコーダー部14は、第1エンコーダー部におけるエンコード処理の結果として出力される第1意味ベクトルと、共有エンコーダー部におけるエンコード処理の結果として出力される共通意味ベクトルと、第1ドメインにおけるデコード処理のパラメーターとに基づいて、入力文に対応する出力文を生成する。第1デコーダー部14が生成する出力文は、上記入力文(原言語による文)の翻訳文(目的言語による文)である。つまり、第1デコーダー部14は、第1低次元化部13からの出力を入力として、翻訳先である目的言語の文を出力する。
【0032】
第1出力部15は、第1デコーダー部14によって出力された文を外部に出力する。
【0033】
第2入力部21は、上述した第1入力部11と同様の処理を、第2ドメインに関して実行するものである。その処理の詳細および作用については、既に第1入力部11の説明において述べた通りであるため、ここでは説明を省略する。
【0034】
第2エンコーダー部22は、上述した第1エンコーダー部12と同様の処理を、第2ドメインに関して実行するものである。その処理の詳細および作用については、既に第1エンコーダー部12の説明において述べた通りであるため、ここでは説明を省略する。
【0035】
第2低次元化部23は、上述した第1低次元化部13と同様の処理を、第2ドメインに関して実行するものである。その処理の詳細および作用については、既に第1低次元化部13の説明において述べた通りであるため、ここでは説明を省略する。つまり、第2低次元化部23は、低次元化した結果である第2低次元化ベクトルを出力する。
【0036】
第2デコーダー部24は、上述した第1デコーダー部14と同様の処理を、第2ドメインに関して実行するものである。その処理の詳細および作用については、既に第1デコーダー部14の説明において述べた通りであるため、ここでは説明を省略する。
【0037】
第2出力部25は、上述した第1出力部15と同様の処理を、第2ドメインに関して実行するものである。その処理の詳細および作用については、既に第1出力部15の説明において述べた通りであるため、ここでは説明を省略する。
【0038】
共有エンコーダー部31は、第1ドメインと第2ドメインとで共有されるエンコード処理のパラメーターに基づいて、第1ドメインまたは第2ドメインのいずれかに属する入力文のエンコード処理を行う。共有エンコーダー部31におけるエンコード処理のパラメーターは、後述する翻訳処理において参照されるとともに、後述する学習処理においては誤差逆伝搬法等の方法によって更新され得る。共有エンコーダー部31は、第1ドメインまたは第2ドメインのいずれかに属する入力文(両ドメインの入力文)のエンコード処理を行うため、後述する学習処理においては、これら両ドメインに共通の知識を蓄積する作用を持つ。つまり、共有エンコーダー部31は、ドメインに共通する特徴を知識として取り出す。
【0039】
つまり、翻訳装置1の構成において、1つのドメイン(第1ドメインあるいは第2ドメイン)の翻訳モデルをみたとき、エンコーダー部分が2つに分割されている。その2つとは、当該ドメインに専用のエンコーダーと、他のドメインと共有されるエンコーダーである。このため、第1エンコーダー部12と第1低次元化部13と第1デコーダー部14とは、第1ドメインの学習データを用いた学習処理においてのみ学習される。また、第2エンコーダー部22と第2低次元化部23と第2デコーダー部24とは、第2ドメインの学習データを用いた学習処理においてのみ学習される。これらに対して、共有エンコーダー部31は、第1ドメインおよび第2ドメインのどちらの学習データを利用した場合においても学習される。
【0040】
本実施形態におけるエンコーダーおよびデコーダーのモデルは、再帰型ニューラルネットワーク(RNN,Recurrent Neural Network)の構造をベースとする。あるいは、デコーダーのモデルは、RNNの一種であるLSTM(Long Short-Term Memory)型のニューラルネットワーク構造をベースとしてもよい。再帰型ニューラルネットワーク自体は既存技術によるものである。再帰型ニューラルネットワークは、一般的なニューラルネットワークの一種である。再帰型ニューラルネットワークの特徴として、時系列データを処理することができる。この時系列データは、固定長の系列であっても、可変長の系列であってもよい。例えば時系列データの各要素を単語等として、再帰型ニューラルネットワークは、文を処理することができる。例えば、下記の各文献では、再帰型ニューラルネットワークについて記載されている。
【0041】
参考文献:再帰型ニューラルネットワーク:RNN入門,@kiminaka,2017年02月12日更新,URL:https://qiita.com/kiminaka/items/87afd4a433dc655d8cfd
参考文献:自然言語処理プログラミング勉強会8 リカレントニューラルネット,Graham Neubig,奈良先端科学技術大学院大学,URL:http://www.phontron.com/slides/nlp-programming-ja-08-rnn.pdf
【0042】
次に、図2図3図4を参照しながら、本実施形態における処理の概略を説明する。
【0043】
図2は、本実施形態の、第1エンコーダー部12と第2エンコーダー部22と共有エンコーダー部31とのそれぞれにおける、エンコード処理のモデルを示す概略図である。前述の通り、第1エンコーダー部12と第2エンコーダー部22と共有エンコーダー部31とのそれぞれは、例えば、再帰型ニューラルネットワークを用いて実現される。
【0044】
同図において、h,h,・・・,hは、入力文に対応する時系列データである。h,h,・・・,hの各々は、入力文に含まれる単語等に対応し、例えばワンホット(one-hot)表現などを用いたベクトルとして表わされ得る。図示する例では、「私/は/京都/に/行く/。」(スラッシュは単語の区切りを表す)という入力文がエンコーダーに入力される。この例のように、句読点等も1つの単語として扱われる。また、W,Wは、それぞれ、再帰型ニューラルネットワークにおけるパラメーターである。つまり、Wは、ベクトルhをベクトルeに変換するための行列である。また、Wは、ベクトルeをベクトルei+1に変換するための行列である(1≦i≦M-1)。また、行列Wは、ベクトルeを内容ベクトルcに変換する際にも用いられる。W,Wの各々の要素の値は、例えば更新可能なメモリ等で記憶され、機械学習処理によって更新され得る。
【0045】
エンコーダーは順次、時系列の入力を処理し、最終的に入力文に対応する内容ベクトルcを出力する。つまり、エンコーダーは、最初の入力hとパラメーターWとに基づき、ベクトルeを生成する。次に、エンコーダーは、次の入力hおよびパラメーターWと、上記のベクトルeおよびパラメーターWとに基づき、ベクトルeを生成する。以後同様に、エンコーダーは、入力hi+1およびパラメーターWと、既に生成されたベクトルeおよびパラメーターWとに基づき、ベクトルei+1を生成する(ただし、1≦i≦(M-1))。そして、エンコーダーは、生成されたベクトルei+1とパラメーターWとに基づいて生成される内容ベクトルcを出力する。
【0046】
内容ベクトルcは、入力文に対応する時系列データh,h,・・・,hの情報を含むものである。内容ベクトルcは、例えば、250次元程度のベクトルである。ただし、内容ベクトルcの次元数は、例えば、250,500,1000,2000等、適宜定められてよい。
【0047】
図3は、本実施形態の、第1デコーダー部14および第2デコーダー部24のそれぞれにおける、デコード処理のモデルを示す概略図である。前述の通り、第1デコーダー部14と第2デコーダー部24のそれぞれは、例えば、再帰型ニューラルネットワークを用いて実現される。
【0048】
同図において、cは、デコーダーに入力される内容ベクトルである。また、y,y,・・・,yL1は、デコーダーから出力される時系列データである。y,y,・・・,yL1は、それぞれ、ワンホット表現などを用いたベクトルであり、単語に対応する。また、W,Wは、それぞれ、再帰型ニューラルネットワークにおけるパラメーターである。つまり、Wは、ベクトルdをベクトルdi+1に変換するための行列である(1≦i≦L1-1)。また、Wは、デコーダーに入力されるベクトルcをベクトルdに変換する際にも用いられる。また、Wは、ベクトルdをベクトルyに変換するための行列である(1≦i≦L1)。W,Wの要素の値もまた、メモリ等に記憶され、機械学習処理によって更新され得る。
【0049】
デコーダーは、入力される内容ベクトルcを基に、系列データY,Y,・・・,YL1を生成し、出力する。つまり、デコーダーは、まず入力される内容ベクトルcとパラメーターWとに基づき、ベクトルdを生成する。そして、デコーダーは、ベクトルdとパラメーターWとに基づき、最初の出力データyを生成する。次に、デコーダーは、ベクトルd1と、パラメーターWと、生成された出力データyとに基づき、ベクトルdを生成する。以後同様に、デコーダーは、ベクトルdi-1とパラメーターWと出力データyi-1とに基づきベクトルdを生成するとともに、ベクトルdおよびパラメーターWとに基づき出力データyを生成する(ただし、2≦i≦L1)。
【0050】
デコーダーが出力する時系列データy,y,・・・,yL1は、入力される内容ベクトルcをデコードして得られるデータである。一例として、時系列データy,y,・・・,yL1は、「I/go/to/Kyoto/.」(スラッシュは単語の区切りを表す)といった単語列に対応する。ここで、文末を表すピリオドも、一単語として扱うことができる。
【0051】
図4は、本実施形態の、第1低次元化部13および第2低次元化部23のそれぞれにおける、低次元化の処理を示す概略図である。次に述べる通り、第1低次元化部13および第2低次元化部23は、ニューラルネットワークを用いて実現される。
【0052】
同図において、ベクトルhencは、第1エンコーダー部12または第2エンコーダー部22から出力される内容ベクトルである。また、ベクトルhsencは、共有エンコーダー部31から出力される内容ベクトルである。第1低次元化部13または第2低次元化部23は、まず、ベクトルhencとベクトルhsencとを単純に連結し、その連結結果であるベクトルをhconc生成する。次に、第1低次元化部13または第2低次元化部23は、連結されたベクトルhconcと、パラメーターWlowdとに基づき、低次元化されたベクトルhlowdを生成する。この低次元化の処理は、例えば、線形変換を用いて行われる。このパラメーターWlowdは、行列であり、その行列の要素は学習処理によって更新され得る値である。つまり、ベクトルhconcに行列Wlowdを乗ずることによって、また適宜ベクトルを転地することによって、ベクトルhlowdが得られる。
【0053】
具体的には、第1低次元化部13は、第1エンコーダー部12から出力されるベクトルhencと共有エンコーダー部31から出力されるベクトルhsencとを連結し、さらに低次元化することによって、低次元化されたベクトルhlowdを生成する。第1低次元化部13は、生成したベクトルhlowdを第1デコーダー部14に渡す。また、第2低次元化部23は、第2エンコーダー部22から出力されるベクトルhencと共有エンコーダー部31から出力されるベクトルhsencとを連結し、さらに低次元化することによって、低次元化されたベクトルhlowdを生成する。第2低次元化部23は、生成したベクトルhlowdを第2デコーダー部24に渡す。
【0054】
ベクトルhencとベクトルhsencの次元数がHであるとき、連結結果であるベクトルhconcの次元数は2Hである。また、低次元化処理の結果であるベクトルhlowdの次元数は、例えば、Hである。このように、第1低次元化部13と第2低次元化部23のそれぞれは、ドメイン固有のエンコード処理結果(ベクトルhenc)と、ドメイン間で共通のエンコード処理結果(ベクトルhsenc)との情報を含みながら、その冗長性を削減した低次元化ベクトルhlowdを出力する。第1低次元化部13や第2低次元化部23を持つことにより、翻訳装置1は、リーズナブルな計算資源を用いて翻訳モデルを実現する。
【0055】
次に、翻訳装置1の、学習処理時および翻訳処理時のそれぞれの処理手順について、フローチャートを参照しながら説明する。
【0056】
図5は、本実施形態による翻訳装置の、学習処理の手順を示すフローチャートである。この学習処理の前提として、外部から大量の学習データが与えられる。学習データは、原言語による入力文と目的言語による出力文(正解文)の対の集合である。学習データに含まれる各文対は、第1ドメインまたは第2ドメインのいずれかに属するものであり、どのドメインに属するものであるかは既知である。以下、このフローチャートに沿って、学習処理の手順を説明する。
【0057】
ステップS1において、翻訳装置1は、外部から与えられる学習データのうち、未処理の文対の1つを選択する。
【0058】
ステップS2において、翻訳装置1は、ステップS1で選択された文対が第1ドメインに属するものであるか否かを判定し、判定結果に応じて処理を分岐する。ある文対が第1ドメインまたは第2ドメインのいずれに属するものであるかを表す情報は、学習データの一部として与えられている。当該文対が第1ドメインに属するものである場合(ステップS2:YES)、第1入力部11が当該文対を処理し、次にステップS3に進む。当該文対が第1ドメインに属するものでない場合、即ち当該文対が第2ドメインに属するものである場合(ステップS2:NO)、第2入力部21が当該文対を処理し、次にステップS7に進む。ステップS3に進む場合には、ステップS3からS6までの処理を順次行った後で、ステップS11に移る。ステップS7に進む場合には、ステップS7からS10までの処理を順次行った後で、ステップS11に移る。
【0059】
ステップS3において、第1入力部11は、文対に含まれる入力文を単語ごとに分割し、適宜、時系列のベクトルデータにする。第1入力部11は、この時系列のベクトルデータを、第1エンコーダー部12と共有エンコーダー部31とに渡す。第1エンコーダー部12と共有エンコーダー部31のそれぞれは、第1入力部11から渡された時系列データを処理し、それぞれ、内容ベクトル(図2のベクトルc)を出力する。この内容ベクトルは、それぞれ、図4に示したベクトルhencとベクトルhsencとにあたる。
【0060】
ステップS4において、第1低次元化部13は、第1エンコーダー部12と共有エンコーダー部31から、それぞれ、ベクトルhencとベクトルhsencを取得する。第1低次元化部13は、図4に示したように、ベクトルhencとベクトルhsencとを連結してベクトルhconcを生成する。そして、第1低次元化部13は、パラメーターWlowdに基づいてベクトルhconcを低次元化し、ベクトルhlowdを出力する。
【0061】
ステップS5において、翻訳装置1は、第1低次元化部13から出力されたベクトルhlowdを、第1デコーダー部14に入力する。第1デコーダー部14は、ベクトルhlowdをデコードする処理を行う。第1デコーダー部14は、デコード処理の結果である時系列データを出力する。出力された時系列データは、必要に応じて単語の列に変換されてもよい。
【0062】
ステップS6において、翻訳装置1は、ステップS5において第1デコーダー部14が出力したデータと、元の入力文対に含まれていた正解データとの誤差を算出する。また、翻訳装置1は、算出された誤差に基づいて、バックプロパゲーション(誤差逆伝搬法)により、第1エンコーダー部12と、第1低次元化部13と、第1デコーダー部14と、共有エンコーダー部31の中のパラメーターを調整する。つまり、翻訳装置1は、バックプロパゲーションにより、これらのパラメーターの値を更新する。具体的には、更新対象のパラメーターは、第1エンコーダー部12におけるWとW図2参照)、第1低次元化部13におけるWlowd図4参照)、第1デコーダー部14におけるWとW図3参照)、そして、共有エンコーダー部31におけるWとW図2参照)である。つまり、機械学習処理により、第1翻訳モデル部17内のパラメーターが更新される。
【0063】
ステップS7にからS10おいて、翻訳装置1の第2入力部21、第2エンコーダー部22、第2低次元化部23、第2デコーダー部24、および共有エンコーダー部31は、ステップS3からS6で説明した処理と同様の処理を行う。ただし、ステップS3からS6までの処理が第1ドメインに関する処理であったのに対して、ステップS7にからS10までの処理は第2ドメインに関する処理である。この一連の処理の結果として、第2ドメインに属する学習データに基づいて、機械学習処理により、第2翻訳モデル部27内のパラメーターが更新される。具体的には、更新対象のパラメーターは、第2エンコーダー部22におけるWとW図2参照)、第2低次元化部23におけるWlowd図4参照)、第2デコーダー部24におけるWとW図3参照)、そして、共有エンコーダー部31におけるWとW図2参照)である。
【0064】
ステップS6またはステップS10のいずれかの処理が終了すると、ステップS11に移る。
【0065】
ステップS11において、学習データの処理がすべて終了したか否かを判定する。学習データの処理がすべて終了した場合(ステップS11:YES)には、本フローチャートの処理全体を終了する。学習データの処理のすべてが完了していない場合、即ち、未処理の学習データが1文対以上残っている場合(ステップS11:NO)には、次の文対を処理するために、ステップS1に戻る。
【0066】
上で説明したように、学習処理時には、翻訳装置1は、大量の学習データ(例えば、日本語の文と、その日本語文を英訳して得られた英語の文との、対の集合)を用いて、エンコーダー内、デコーダー内、低次元化部内の、パラメーターを修正する。
【0067】
一例として、学習データの文対が、日本語の「私は京都に行く。」と英語の「I go to Kyoto.」(正解文)であり、且つ上記日本語文を翻訳処理した結果(デコーダーからの出力)が「I went to Tokyo.」(出力文)である場合の処理は、次の通りである。正解文と出力文と差は、次の通りである。第1に、正解文における「go」に対応して、出力文では「went」が出力されている。第2に、正解文における「Kyoto」に対応して、出力文では「Tokyo」が出力されている。これらの差に基づいて、翻訳装置1は、例えば交差クロスエントロピーによる損失関数の値を計算する。つまり、翻訳装置1は、誤差を算出する。そして、翻訳装置1は、その誤差を小さくするようにパラメーター値の学習を実施する。
【0068】
なお、ここでは、一例として、学習データに含まれる文対が日本語文(入力側)と英語文(出力側)である場合を説明したが、入力側と出力側の言語が逆でもよい。また、日本語と英語以外の言語による文が学習データに含まれていてもよい。
【0069】
以上において説明したように、学習処理において、翻訳装置1は、第1ドメインに属する学習データに基づき、第1ドメインの文の特徴を用いて、第1エンコーダー部12、第1低次元化部13、第1デコーダー部14におけるパラメーターを更新する。また、翻訳装置1は、第1ドメインに属する学習データに基づき、第2ドメインの文の特徴を用いて、第2エンコーダー部22、第2低次元化部23、第2デコーダー部24におけるパラメーターを更新する。また、翻訳装置1は、第1ドメインの文および第2ドメインの両方の文の特徴を用いて、共有エンコーダー部31のパラメーターを更新する。つまり、学習処理により、各パラメーターの値は、第1ドメインあるいは第2ドメインの特徴を表すようになる。
【0070】
つまり、学習処理は、次の通りの処理である。学習処理は、第1ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には原言語による入力文を基に第1エンコーダー部12と共有エンコーダー部31と第1デコーダー部14との処理によって出力文を生成し、文対の目的言語による文と、当該出力文との差に基づいて、第1エンコーダー部12におけるエンコード処理のパラメーターと、共有エンコーダー部31におけるエンコード処理のパラメーターと、第1デコーダー部14におけるデコード処理のパラメーターとを更新する。この場合、学習処理は、さらに、第1低次元化部13のパラメーターを更新する。また、学習処理は、第2ドメインに属する原言語および目的言語の文の対である文対が学習データとして入力された場合には原言語による入力文を基に第2エンコーダー部22と共有エンコーダー部31と第2デコーダー部24との処理によって出力文を生成し、文対の目的言語による文と、当該出力文との差に基づいて、第2エンコーダー部22におけるエンコード処理のパラメーターと、共有エンコーダー部31におけるエンコード処理のパラメーターと、第2デコーダー部24におけるデコード処理のパラメーターとを更新する。この場合、学習処理は、さらに、第2低次元化部23のパラメーターを更新する。
【0071】
図6は、本実施形態による翻訳装置の、翻訳処理の手順を示すフローチャートである。この翻訳処理の前提として、翻訳装置1内のモデルは予め学習済みである。また、翻訳装置1には外部から、原言語による翻訳対象文が与えられる。翻訳対象文は、第1ドメインまたは第2ドメインのいずれかに属するものであり、どのドメインに属するものであるかは既知である。以下、このフローチャートに沿って、翻訳処理の手順を説明する。
【0072】
ステップS21において、翻訳装置1は、外部から与えられる入力文を取得する。この入力文は、原言語(例えば、日本語)で記述された翻訳対象の文である。
【0073】
ステップS22において、翻訳装置1は、ステップS21で取得された入力文が第1ドメインに属するものであるか否かを判定し、判定結果に応じて処理を分岐する。入力文が第1ドメインまたは第2ドメインのいずれに属するものであるかを表す情報は、入力文とともに与えられる。当該入力文が第1ドメインに属するものである場合(ステップS22:YES)、第1入力部11が当該入力文を処理し、次にステップS23に進む。当該入力文が第1ドメインに属するものでない場合、即ち当該入力文が第2ドメインに属するものである場合(ステップS22:NO)、第2入力部21が当該入力文を処理し、次にステップS27に進む。ステップS23に進む場合には、翻訳装置1は、ステップS23からS26までの処理を順次行う。ステップS7に進む場合には、翻訳装置1は、ステップS27からS30までの処理を順次行う。
【0074】
ステップS23において、第1入力部11は、入力文を単語ごとに分割し、適宜、時系列のベクトルデータにする。第1入力部11は、この時系列のベクトルデータを、第1エンコーダー部12と共有エンコーダー部31とに渡す。第1エンコーダー部12と共有エンコーダー部31のそれぞれは、第1入力部11から渡された時系列データを処理し、それぞれ、内容ベクトル(図2のベクトルc)を出力する。この内容ベクトルは、それぞれ、図4に示したベクトルhencとベクトルhsencとにあたる。
【0075】
ステップS24において、第1低次元化部13は、第1エンコーダー部12と共有エンコーダー部31から、それぞれ、ベクトルhencとベクトルhsencを取得する。第1低次元化部13は、図4に示したように、ベクトルhencとベクトルhsencとを連結してベクトルhconcを生成する。そして、第1低次元化部13は、パラメーターWlowdに基づいてベクトルhconcを低次元化し、ベクトルhlowdを出力する。
【0076】
ステップS25において、翻訳装置1は、第1低次元化部13から出力されたベクトルhlowdを、第1デコーダー部14に入力する。第1デコーダー部14は、ベクトルhlowdをデコードする処理を行う。第1デコーダー部14は、デコード処理の結果である時系列データを出力する。出力された時系列データは、単語の列に変換される。
【0077】
ステップS26において、第1出力部15は、ステップS25において第1デコーダー部14が出力した単語の列を基に、出力文を作成する。第1出力部15は、この出力文を翻訳結果として出力する。
【0078】
ステップS27にからS30おいて、翻訳装置1の第2入力部21、第2エンコーダー部22、第2低次元化部23、第2デコーダー部24、第2出力部25、および共有エンコーダー部31は、ステップS23からS26で説明した処理と同様の処理を行う。ただし、ステップS23からS26までの処理が第1ドメインに関する処理であったのに対して、ステップS27にからS30までの処理は第2ドメインに関する処理である。この一連の処理の結果として、第2出力部25は、出力文を翻訳結果として出力する。
【0079】
ステップS26またはステップS30のいずれかの処理が終了すると、翻訳装置1は、本フローチャート全体の処理を終了する。
【0080】
一例として、入力文が「彼は京都に出かけた。」であり、当該入力文が第2ドメイン(例えば、旅行会話のドメイン)である場合、翻訳装置1は次の処理を行う。第2ドメインの翻訳モデルを持つ翻訳装置1は、第2エンコーダー部22および共有エンコーダー部31において、それぞれ、内容ベクトルhencおよびhsencを獲得する。第2低次元化部23は、これらの内容ベクトルhencおよびhsencを基に、低次元化の処理を行い、ベクトルhlowdを獲得する。第2デコーダー部24は、ベクトルhlowdに基づいて、出力単語列「He/went/to/Kyoto/.」を出力する。第2出力部25は、第2デコーダー部24の出力に基づき、翻訳結果である出力文「He went to Kyoto.」を出力する。
【0081】
以上説明したように、本実施形態では、翻訳装置1は、それぞれのドメインに対応した複数(2個)の翻訳モデルを有する。また、翻訳装置1は、各翻訳モデルにおいて、各ドメインに固有の部分(第1エンコーダー部12、第1低次元化部13、第1デコーダー部14、第2エンコーダー部22、第2低次元化部23、第2デコーダー部24)と、複数のドメインによって共有される部分(共有エンコーダー部31)とを有する。翻訳装置1は、あるドメインに属する学習データを用いて学習処理を行うときには、当該ドメインに固有の部分と、上記の共有部分との学習を行い、モデルのパラメーターを更新する。このような構成により、ドメインに固有の知識は、上記のドメインに固有の部分に蓄積される。また、ドメイン間に跨る共通の知識は、上記の共有部分に蓄積される。つまり、あるドメインの翻訳モデルは、当該ドメインに属する学習データによる固有部分のモデルの学習だけでではなく、他のドメインに属する学習データによる共有部分のモデルの学習を行うことができる。つまり、他のドメインの学習データをも用いて、当該ドメインのモデルの学習を行うことができる。つまり、準備する学習データの量に対して、学習処理の量を多くすることができる。即ち、学習データを効率化することができる。学習データを準備することが高コストな作業であることが多いが、本実施形態では、学習のために必要なコスト(学習データを準備するコスト)を削減することができる。
【0082】
一例として、第1ドメインがニュースアナウンス文であり、第2ドメインがテレビ番組の字幕テキストである場合には、本実施形態は次の貢献をする。第1ドメインのニュースアナウンス文を準備するためには高コストを要する。第2ドメインのテレビ番組の字幕テキストに関しては、学習データとして、既存の大量の資産を低コストで利用することができる。第1ドメインの学習データは、ニュース特有の言い回しを含めた文の表現を学習するために貢献する。第2ドメインの学習データは、アナウンスされるニュース原稿の文(話し言葉)ではないが、政治、経済、スポーツ、エンターテインメント等、様々な分野の文の表現(語彙等)を豊富にする学習のために貢献する。本実施形態の共有エンコーダー部31は、第1ドメインの学習データだけからではなく、第2ドメインの学習データから得られる知識をも蓄積する。第1デコーダー部14は、第1ドメインに専用の知識と、共有エンコーダー部31のモデルに蓄積されるドメインに共通の知識とを反映した結果である出力文を出力する。
【0083】
第1低次元化部13は、線形変換により、ベクトルの次元数を少なくする処理を行う。第1低次元化部13は、第1デコーダー部14が適切な出力を行うために十分な次元数まで、入力されるベクトルを低次元化する。つまり、第1低次元化部13の処理によって、第1エンコーダー部12と共有エンコーダー部31の出力に含まれる、冗長な情報を削除することができる。これにより、計算の高速化、効率化が可能となる。
【0084】
以上、第1ドメインの翻訳モデルについて主に説明したが、翻訳装置1において、第1ドメインと第2ドメインとは対称な関係にあり、上記の説明は第2ドメインの翻訳モデルについても言えることである。
【0085】
[第2実施形態]
次に、本発明の第2実施形態について説明する。なお、前実施形態において既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
【0086】
図7は、本実施形態による翻訳装置(学習装置)の概略機能構成を示すブロック図である。図示するように、翻訳装置2は、第1入力部11と、第1エンコーダー部12と、第1デコーダー部14と、第1出力部15と、第2入力部21と、第2エンコーダー部22と、第2デコーダー部24と、第2出力部25と、共有エンコーダー部31とを含んで構成される。本実施形態において、第1エンコーダー部12と、第1デコーダー部14と、共有エンコーダー部31とを合わせて、第1翻訳モデル部217と呼んでもよい。また、第2エンコーダー部22と、第2デコーダー部24と、共有エンコーダー部31とを合わせて、第2翻訳モデル部227と呼んでもよい。第1翻訳モデル部217と第2翻訳モデル部227とは、互いに異なるドメインの翻訳モデルとして機能する。
【0087】
つまり、本実施形態における翻訳装置2は、第1実施形態における翻訳装置1と異なり、第1低次元化部や第2低次元化部を持たない。即ち、翻訳装置2は、第1エンコーダー部12から出力された意味ベクトルと、共有エンコーダー部31から出力された意味ベクトルとを連結するものの、連結されたベクトルの低次元化の処理を行わない。第2エンコーダー部22から出力された意味ベクトルと、共有エンコーダー部31から出力された意味ベクトルとを連結して得られるベクトルは、低次元化されることなく、そのまま第1デコーダー部14への入力として用いられる。また、第2エンコーダー部22から出力された意味ベクトルと、共有エンコーダー部31から出力された意味ベクトルとについても、同様に、連結された後に低次元化されず、そのまま第2デコーダー部24への入力として用いられる。
【0088】
本実施形態の上記の構成によれば、低次元化処理を用いずに、翻訳モデルの学習処理を行ったり、学習済みの翻訳モデルを用いた機械翻訳処理を行ったりすることが、可能となる。
【0089】
[第3実施形態]
次に、本発明の第3実施形態について説明する。なお、前実施形態までにおいて既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
【0090】
図8は、本実施形態による翻訳装置(学習装置)の概略機能構成を示すブロック図である。図示するように、翻訳装置3は、n個(n≧3)のドメインのそれぞれに関して、翻訳処理および学習処理を行う。具体的には、翻訳装置3は、第1ドメインから第nドメインまでの翻訳モデルを含んで構成される。そして、翻訳装置3における第iドメイン(1≦i≦n)の翻訳モデルは、第i入力部i-1と、第iエンコーダー部i-2と、第i低次元化部i-3と、第iデコーダー部i-4と、第i出力部i-5と、共有エンコーダー部331とを含んで構成される。共有エンコーダー部331は、第1ドメインから第nドメインまでの複数の翻訳モデルによって共有される。
【0091】
本実施形態では、翻訳装置3は、学習処理の際、第1ドメインから第nドメインまでのいずれかのドメインに属する文対(原言語および目的言語で記述された文)を取得する。翻訳装置3は、第iドメイン(1≦in)に属する文対を用いて、第iドメインの翻訳モデルに含まれるパラメーター(共有エンコーダー部331のパラメーターを含む)を学習する。翻訳装置3は、翻訳処理の際、第1ドメインから第nドメインまでのいずれかのドメインに属する入力文(原言語文)を取得する。翻訳装置3は、第iドメインの翻訳モデルを用いて、当該入力文に対応する翻訳文(目的言語文)を出力する。
【0092】
本実施形態によれば、2つのドメインに限らず、3つ以上のドメインにおいて翻訳のための知識を共有することができる。言い換えれば、翻訳装置3の共有エンコーダー部331は、3つ以上のドメインに属する文対を用いて学習されるため、これらすべてのドメインの文対に基づくパラメーターを有する。
【0093】
なお、図8に示した構成では、第iドメインの翻訳モデルは、第i低次元化部i-3を備えていた。この第i低次元化部i-3を省略して実施してもよい。内容ベクトルを低次元化する機能を省略した構成の詳細については、既に第2実施形態において説明した通りである。つまり、第3実施形態と第2実施形態とを組み合わせて実施するようにしてもよい。
【0094】
[第4実施形態]
次に、本発明の第4実施形態について説明する。なお、前実施形態までにおいて既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
【0095】
図9は、本実施形態による翻訳装置(学習装置)の概略機能構成を示すブロック図である。図示するように、翻訳装置4は、第1入力部11と、第1エンコーダー部12と、第1低次元化部13と、第1デコーダー部14と、第1出力部15と、第2入力部21と、第2エンコーダー部22と、第2低次元化部23と、第2デコーダー部24と、第2出力部25と、共有エンコーダー部31と、第1直交誤差算出部419と、第2直交誤差算出部429とを含んで構成される。第1入力部11と、第1エンコーダー部12と、第1低次元化部13と、第1デコーダー部14と、第1出力部15と、第2入力部21と、第2エンコーダー部22と、第2低次元化部23と、第2デコーダー部24と、第2出力部25と、共有エンコーダー部31の各部の機能等については、前実施形態までにおいてすでに説明した通りである。本実施形態の特徴は、翻訳装置4が、第1直交誤差算出部419と、第2直交誤差算出部429とを有する点である。
【0096】
第1直交誤差算出部419は、第1エンコーダー部12と共有エンコーダー部31とが同一の入力文をエンコードしたときにそれぞれ出力する意味ベクトル間の直交誤差を算出する。この直交誤差をLdiffとする。直交誤差Ldiffは、正の値として算出される。第1エンコーダー部12から出力される意味ベクトルと共有エンコーダー部31から出力される意味ベクトルとが完全に直交する場合に、直交誤差Ldiffの値は0である。両意味ベクトルの直交の度合いが低くなるほど、直交誤差Ldiffの値は大きくなる。
【0097】
第2直交誤差算出部429は、第2エンコーダー部22と共有エンコーダー部31とが同一の入力文をエンコードしたときにそれぞれ出力する意味ベクトル間の直交誤差Ldiffを算出する。第2直交誤差算出部429が算出する直交誤差の値は、上記の第1直交誤差算出部419が算出する直交誤差の値と、同様のものであり、同様の意味を持つ。
【0098】
翻訳装置4は、学習処理時に、第1直交誤差算出部419あるいは第2直交誤差算出部429が算出する直交誤差Ldiffにも基づいて、パラメーター値の調整を行う。
【0099】
第1ドメインの翻訳モデルに関して、第1ドメインに属する文対を用いて、第1デコーダー部14が出力する出力文と、当該文対に含まれる正解データ(目的語文)との差に基づいて誤差逆伝搬法を用いることは、第1実施形態等で既に説明した通りである。本実施形態では、翻訳装置4は、第1デコーダー部14が出力する出力文と当該文対に含まれる正解データ(目的語文)との差だけではなく、第1直交誤差算出部419が算出する直交誤差Ldiffをも用いて、誤差逆伝搬法により、パラメーターの更新を行う。出力文と正解データとの誤差をLoutputとした場合、翻訳装置4がパラメーターの更新のために用いる総合誤差Lは、下の式で表される。ここで、αおよびβは、それぞれ、適宜設定される重み値である。
【0100】
L=α・Loutput+β・Ldiff
【0101】
なお、第2直交誤差算出部429が算出する直交誤差Ldiffに基づいた第2ドメインの翻訳モデルのパラメーター更新についても、上述した第1ドメインの翻訳モデルのそれと同様である。
【0102】
本実施形態によると、第1直交誤差算出部419あるいは第2直交誤差算出部429は、それぞれ、第1エンコーダー部12あるいは第2エンコーダー部22(各ドメインに固有の専用エンコーダー)から出力される意味ベクトルと、共有エンコーダー部31から出力される意味ベクトルとの直交誤差Ldiffを算出する。また、翻訳装置4は、学習処理時に、この直交誤差Ldiffにも基づく誤差伝搬法により、パラメーターを調整する。この学習処理は、第1エンコーダー部12あるいは第2エンコーダー部22から出力されるベクトルと、共有エンコーダー部31から出力されるベクトルとの間の直交性が増す方向に作用する。つまり、充分な量の学習データを用いて学習を行うことにより、第1エンコーダー部12あるいは第2エンコーダー部22から出力されるベクトルと、共有エンコーダー部31から出力されるベクトルとの間の直交性が高まる。これにより、各ドメインに固有の専用エンコーダーのモデルと共有エンコーダーのモデルとが重ならないようになる。即ち、専用エンコーダーのモデルと共有エンコーダーのモデルとの間の冗長性が削減され、効率的に翻訳モデルの学習を行うことができる。
【0103】
なお、図9に示した構成では、第1ドメインおよび第2ドメインの翻訳モデルは、それぞれ、第1低次元化部13および第2低次元化部23を備えていた。これらの第1低次元化部13および第2低次元化部23を省略して実施してもよい。内容ベクトルを低次元化する機能を省略した構成の詳細については、既に第2実施形態において説明した通りである。つまり、第4実施形態と第2実施形態とを組み合わせて実施するようにしてもよい。
【0104】
また、図9に示した構成では、ドメイン数は2であった。ドメイン数を3以上として第4実施形態を実施してもよい。つまり、第4実施形態と第2実施形態とを組み合わせて実施するようにしてもよい。さらに、第4実施形態と、第3実施形態と、第2実施形態とを組み合わせて実施するようにしてもよい。
【0105】
以上、複数の実施形態を説明したが、次のような変形例による実施をしてもよい。また、組み合わせることが可能な場合において、複数の変形例を組み合わせて実施してもよい。
【0106】
[第1変形例]上で説明した実施形態において、翻訳装置(学習装置)が低次元化部を有する場合、すべてのドメインにおいて低次元化部を持つこととした。変形例として、すべてのドメインの翻訳モデルのうちの一部のドメインの翻訳モデルのみが低次元化部を持つようにしてもよい。例えば、2個のドメインのうちの片方のドメインのみに関して低次元化部を持つようにしてもよい。また、例えば、3個以上のドメインのうちの、任意の1個以上のドメインのみに関して低次元化部を持つようにしてもよい。
【0107】
[第2変形例]ドメインとして、ニュースアナウンス文や放送字幕文等のドメインを例示して説明した箇所があるが、他のドメインに上記の各実施形態を適用してもよい。
【0108】
[第3変形例]上記の各実施形態では、単一の装置が、学習装置と翻訳装置とを兼ねる場合を説明した。変形例として、学習装置と翻訳装置とが別の装置であってもよい。この場合、学習装置における学習処理の結果として得られる知識(パラメーターの数値等)を、例えばデータファイルとして翻訳装置側にコピーすることにより、翻訳装置は、その学習結果を用いた翻訳処理を行うことができる。
【0109】
なお、上述した実施形態(変形例を含む)における翻訳装置(学習装置)の少なくとも一部の機能をコンピューターで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0110】
以上において説明した実施形態および変形例の特徴をまとめると、次の通りである。
【0111】
第1低次元化部または第2低次元化部の少なくともいずれかを有する場合、次の通りである。第1低次元化部13は、第1エンコーダー部12によるエンコード処理の結果として出力される第1意味ベクトルの要素と、共有エンコーダー部31によるエンコード処理の結果として出力される共通意味ベクトルの要素とを並べて得られる連結ベクトルを、第1ドメインにおける低次元化処理のパラメーターに基づいて低次元化し、低次元化した結果である第1低次元化ベクトルを出力する。このとき、第1デコーダー部14は、第1低次元化部13が出力する第1低次元化ベクトルと、第1ドメインにおけるデコード処理のパラメーターとに基づいて、入力文に対応する出力文を生成する。この場合の学習処理としては、学習データに含まれる文対の目的言語による文と、第1デコーダー部14からの出力文との差に基づいて、第1低次元化部13における低次元化処理のパラメーターをも更新する。なお、第2低次元化部23についても、ここで説明した第1低次元化部13と同様である。
【0112】
エンコーダー出力間の直交誤差に基づく学習を行う場合には、次の通りである。即ち、学習装置は、第1直交誤差算出部419と第2直交誤差算出部429とを具備する。第1直交誤差算出部419は、第1エンコーダー部12によるエンコード処理の結果として出力される第1意味ベクトルと、共有エンコーダー部31によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第1直交誤差を算出する第2直交誤差算出部429は、第2エンコーダー部22によるエンコード処理の結果として出力される第2意味ベクトルと、共有エンコーダー部31によるエンコード処理の結果として出力される共通意味ベクトルとの直交誤差である第2直交誤差を算出する。逆誤差伝搬法等によるパラメーターの調整においては、学習データの文対の目的言語による文と第1デコーダー部14から出力される出力文との差とともに、第1直交誤差算出部419が算出した第1直交誤差にも基づいて、第1エンコーダー部12におけるエンコード処理のパラメーターと、共有エンコーダー部31におけるエンコード処理のパラメーターと、第1デコーダー部14におけるデコード処理のパラメーターとを更新する。さらに、低次元化部を有する場合には、低次元化処理のパラメーターをも更新する。また、学習データの文対の目的言語による文と第2デコーダー部24から出力される出力文との差とともに、第2直交誤差算出部429が算出した第2直交誤差にも基づいて、第2エンコーダー部22におけるエンコード処理のパラメーターと、共有エンコーダー部31におけるエンコード処理のパラメーターと、第2デコーダー部24におけるデコード処理のパラメーターとを更新する。さらに、低次元化部を有する場合には、低次元化処理のパラメーターをも更新する。なお、上記の直交誤差に基づくパラメーターの調整を全ドメインのうちの一部のドメインのみに関して実施するようにしてもよい。
【0113】
少なくとも、翻訳装置における、第1エンコーダー部12におけるエンコード処理のパラメーターと、共有エンコーダー部31におけるエンコード処理のパラメーターと、第1デコーダー部14におけるデコード処理のパラメーターとは、上記実施形態における学習処理によって求められたものとしてよい。低次元化処理のためのパラメーターについても同様である。他のドメインのパラメーターについても同様である。
【0114】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0115】
[実証実験]
実証実験の結果を以下において説明する。実証実験においては、原言語を英語とし、目的言語を日本語とした。第1ドメインの言語資源として特許コーパス(NTCIR, NII Testbeds and Community for Information access Research) を用いた。第2ドメインとして、科学技術論文(ASPEC)を用いた。評価結果には第1ドメインの特許コーパス(NTCIR)のテストセットを用いた。第1の評価対象手法は、第1ドメインの特徴を知識として取り出す第1エンコーダー部(12)と、ドメインに共通する特徴を知識として取り出す共有エンコーダー部(31)を利用した翻訳モデルによるものである。
第2の評価対象手法は、上記第1の評価手法の構成に加えて、第1エンコーダー部と共有エンコーダー部のパラメーター学習の際に、これら両エンコーダーからの出力間の直交性に関する制約を加えたもの(第4実施形態)である。第1の比較対象の手法は、第1ドメインと第2ドメインとをそれぞれ独立に学習させたものである。第2の比較対象の手法は、先行研究における最新手法の1つである、コーパスの先頭にドメインタグ(例:<NTCIR>)を付与する手法である。第2の比較対象の手法は、下の文献に記載されている。
【0116】
第2の比較対象の手法に関する文献: Chenhui Chu, Raj Dabre, and Sadao Kurohashi. An empirical comparison of domain adaptation methods for neural machine translation. In Proceedings of ACL, 2017.
【0117】
精度の計測は一般的に用いられている機械翻訳の評価尺度BLEUを用いた。BLEUは、その値が高いほど参照訳となる正解に近いと判断される。第1の比較対象の手法では、BLEUスコアは44.2であった。第2の比較対象の手法では、BLEUスコアは46.0であった。第1の評価対象手法では、BLEUスコアは48.1であった。第2の評価対象手法では、BLEUスコアは49.76であった。つまり、上に記載した実施形態である第1および第2の評価対象手法のスコアは、第1および第2の比較対象の手法のスコアよりも高い。つまり、第1および第2の評価対象手法について、良好な評価が得られた。
【0118】
実証実験における翻訳例は、次の通りである。原言語による文は「A data space is established in the memory.」である。これに対する参照訳(目的言語による文)は、「メモリ内にはデータ空間が形成される。」である。第1の比較対象の手法による翻訳結果は「このメモリ内にはデータ空間が設けられる。」である。第2の比較対象の手法による翻訳結果は「メモリにはデータ空間が形成される。」である。第1の評価対象手法による翻訳結果は「メモリにはデータ空間が形成される。」である。第2の評価対象手法による翻訳結果は「メモリ内にはデータ空間が形成される。」である。第2の評価対象手法による翻訳結果の出力は、参照訳と同じであり、最も良い結果であることがわかる。
【産業上の利用可能性】
【0119】
本発明は、機械翻訳技術に利用することができる。本発明を用いた機械翻訳処理は、例えば、放送事業などのメディア産業にも利用することができる。但し、本発明の利用範囲はここに例示したものには限られない。
【符号の説明】
【0120】
1,2,3,4 翻訳装置(学習装置)
11 第1入力部
12 第1エンコーダー部
13 第1低次元化部
14 第1デコーダー部
15 第1出力部
17 第1翻訳モデル部
21 第2入力部
22 第2エンコーダー部
23 第2低次元化部
24 第2デコーダー部
25 第2出力部
27 第2翻訳モデル部
31 共有エンコーダー部
217 第1翻訳モデル部
227 第2翻訳モデル部
331 共有エンコーダー部
419 第1直交誤差算出部
429 第2直交誤差算出部
図1
図2
図3
図4
図5
図6
図7
図8
図9