(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-25
(45)【発行日】2024-08-02
(54)【発明の名称】翻訳装置、学習装置、翻訳方法、およびプログラム
(51)【国際特許分類】
G06F 40/44 20200101AFI20240726BHJP
【FI】
G06F40/44
(21)【出願番号】P 2020174872
(22)【出願日】2020-10-16
【審査請求日】2023-09-06
【新規性喪失の例外の表示】特許法第30条第2項適用 (1)発行日:令和2年(西暦2020年)5月22日,名称:「2020年度 人工知能学会全国大会(第34回) 予稿集PDF」,発行者:一般社団法人 人工知能学会 (2)学会の実施日:令和2年(西暦2020年)6月12日(会期:令和2年6月9日~6月12日),学会の名称:2020年度 人工知能学会全国大会(第34回),主催者:一般社団法人 人工知能学会,開催方法:インターネットによる通信を用いた電子会議として開催
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100141139
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100171446
【氏名又は名称】高田 尚幸
(74)【代理人】
【識別番号】100114937
【氏名又は名称】松本 裕幸
(74)【代理人】
【識別番号】100171930
【氏名又は名称】木下 郁一郎
(72)【発明者】
【氏名】伊藤 均
(72)【発明者】
【氏名】後藤 功雄
(72)【発明者】
【氏名】美野 秀弥
(72)【発明者】
【氏名】山田 一郎
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開2019-036093(JP,A)
【文献】特開2020-166501(JP,A)
【文献】中国特許出願公開第109344413(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/20-40/58
(57)【特許請求の範囲】
【請求項1】
学習用原言語文と学習用目的言語文との対のデータを供給する文対供給部と、
供給された前記学習用目的言語文に含まれる文数を求める文数推定部と、
前記学習用原言語文に、前記文数推定部が求めた前記文数の情報を付加して、前記学習用目的言語文の文数の情報が付加された前記学習用原言語文のデータを出力する文数情報付与部と、
前記学習用目的言語文の文数の情報が付加された学習用原言語文のデータと、前記学習用目的言語文のデータとの対を、学習用データとして供給する学習用データ供給部と、
入力された入力原言語文に、当該入力原言語文に対応する出力用の出力目的言語文の文数の情報を付加する文数指定部と、
モデルを備え、前記学習用データを用いて前記モデルの学習を行うとともに、前記出力目的言語文の文数の情報を付加した前記入力原言語文を、前記モデルに入力することによって、前記モデルが求めた出力目的言語文を出力する翻訳処理部と、
を備える翻訳装置。
【請求項2】
前記文数推定部は、供給された前記学習用目的言語文に含まれる文末記号の数をカウントすることによって、前記学習用目的言語文に含まれる文数を求める、
請求項1に記載の翻訳装置。
【請求項3】
前記文数情報付与部は、テキストデータである前記学習用原言語文の先頭部分に、前記学習用目的言語文の文数の情報を付加し、
前記文数指定部は、テキストデータである前記入力原言語文の先頭部分に、前記出力目的言語文の文数の情報を付加する、
請求項1または2に記載の翻訳装置。
【請求項4】
入力された入力原言語文に、当該入力原言語文に対応する出力用の出力目的言語文の文数の情報を付加する文数指定部と、
モデルを備え、前記出力目的言語文の文数の情報を付加した前記入力原言語文を、前記モデルに入力することによって、前記モデルが求めた出力目的言語文を出力する翻訳処理部と、
を備え、
前記モデルは、学習用目的言語文の文数の情報が付加された学習用原言語文のデータと、学習用目的言語文のデータと、の対である学習用データを用いて学習済みである、
翻訳装置。
【請求項5】
学習用原言語文と学習用目的言語文との対のデータを供給する文対供給部と、
供給された前記学習用目的言語文に含まれる文数を求める文数推定部と、
前記学習用原言語文に、前記文数推定部が求めた前記文数の情報を付加して、前記学習用目的言語文の文数の情報が付加された前記学習用原言語文のデータを出力する文数情報付与部と、
前記学習用目的言語文の文数の情報が付加された学習用原言語文のデータと、前記学習用目的言語文のデータとの対を、学習用データとして供給する学習用データ供給部と、
前記学習用データを用いてモデルの学習を行う学習処理部と、
を備える学習装置。
【請求項6】
コンピューターを、
請求項1から4までのいずれか一項に記載の翻訳装置、
として機能させるためのプログラム。
【請求項7】
コンピューターを、
請求項5に記載の学習装置、
として機能させるためのプログラム。
【請求項8】
入力された入力原言語文に、当該入力原言語文に対応する出力用の出力目的言語文の文数の情報を付加する文数指定過程と、
学習済みのモデルを用いて、前記出力目的言語文の文数の情報を付加した前記入力原言語文を、前記モデルに入力することによって、前記モデルが求めた出力目的言語文を出力する翻訳処理過程と、
を含み、
前記モデルは、学習用目的言語文の文数の情報が付加された学習用原言語文のデータと、学習用目的言語文のデータと、の対である学習用データを用いて学習済みである、
翻訳方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、翻訳装置、学習装置、翻訳方法、およびプログラムに関する。
【背景技術】
【0002】
近年の機械翻訳の技術のレベルは、用途によっては実用に耐え得る程度にまで向上してきている。また、機械翻訳の技術を有効に活用するため、用途に応じた工夫なども研究されている。
【0003】
非特許文献1および非特許文献2には、自然言語によって記述された文の機械翻訳を行う装置が記載されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Rico Sennrich,Barry Haddow,Alexandra Birch,Neural Machine Translation of Rare Words with Subword Units,Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics,p.1715-1725,2016年8月,Association for Computational Linguistics,URL:https://www.aclweb.org/anthology/P16-1162.pdf
【文献】Ashish Vaswani,Noam Shazeer,Niki Parmar,Jakob Uszkoreit,Llion Jones,Aidan N. Gomez,Lukasz Kaiser,Illia Polosukhin, Attention Is All You Need,31st Conference on Neural Information Processing Systems (NIPS 2017), Long Beach, CA, USA.,2017年,URL:https://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf
【発明の概要】
【発明が解決しようとする課題】
【0005】
平均的な一文の中に込められる内容の量は、言語の種類に応じて異なる場合がある。また、機械翻訳の技術の特定の応用分野では、一文の中に込める内容の量を適切に制御したい場合もある。
【0006】
例えば、英語の一文に通常含まれる内容の量は、日本語の一文のそれよりも少ない場合が多い。また、テレビや、ラジオや、動画配信や、インターネットのニュースサイト等におけるニュースにおいて、日本語のニュース原稿の一文は相対的に長い傾向がある。一方、上記のようなニュースにおいて英語のニュース原稿の一文は相対的に短い傾向がある。英語のニュース原稿は、基本的に一文一義で表現される。したがって、例えば、日本語のニュース原稿を基に、翻訳して英語のニュース原稿を制作する場合には、日本語の一文が英語の複数文に短く区切って翻訳されることが多い。
【0007】
このように、言語によって、あるいは用途によって、翻訳処理の出力側(目的言語側)の文の数を制御したい場合がある。また、出力側の文の数を制御することにより、出力側の一文の長さを制御することも可能である。
【0008】
しかしながら、従来の技術において、翻訳処理の入力側(原言語側)の文を与えた際に、出力側(目的言語側)の文の数を制御することはできない。非特許文献1や非特許文献2にも、出力側(目的言語側)の文の数の制御については記載されていない。特定の言語ペアにおける機械翻訳や、特定の利用目的のための機械翻訳の処理を考えたときに、原言語側の一文を目的言語側の所望の(適切な)文数の文に翻訳できるようになることが望ましい。
【0009】
本発明は、上記の課題認識に基づいて行なわれたものであり、機械翻訳処理において出力側(目的言語側)の文数を制御することを可能とする翻訳装置、学習装置、翻訳方法、およびプログラムを提供しようとするものである。
【課題を解決するための手段】
【0010】
[1]上記の課題を解決するため、本発明の一態様による翻訳装置は、学習用原言語文と学習用目的言語文との対のデータを供給する文対供給部と、供給された前記学習用目的言語文に含まれる文数を求める文数推定部と、前記学習用原言語文に、前記文数推定部が求めた前記文数の情報を付加して、前記学習用目的言語文の文数の情報が付加された前記学習用原言語文のデータを出力する文数情報付与部と、前記学習用目的言語文の文数の情報が付加された学習用原言語文のデータと、前記学習用目的言語文のデータとの対を、学習用データとして供給する学習用データ供給部と、入力された入力原言語文に、当該入力原言語文に対応する出力用の出力目的言語文の文数の情報を付加する文数指定部と、モデルを備え、前記学習用データを用いて前記モデルの学習を行うとともに、前記出力目的言語文の文数の情報を付加した前記入力原言語文を、前記モデルに入力することによって、前記モデルが求めた出力目的言語文を出力する翻訳処理部と、を備える。
【0011】
[2]また、本発明の一態様は、上記の翻訳装置において、前記文数推定部は、供給された前記学習用目的言語文に含まれる文末記号の数をカウントすることによって、前記学習用目的言語文に含まれる文数を求めるものである。
【0012】
[3]また、本発明の一態様は、上記の翻訳装置において、前記文数情報付与部は、テキストデータである前記学習用原言語文の先頭部分に、前記学習用目的言語文の文数の情報を付加し、前記文数指定部は、テキストデータである前記入力原言語文の先頭部分に、前記出力目的言語文の文数の情報を付加するものである。
【0013】
[4]また、本発明の一態様による翻訳装置は、入力された入力原言語文に、当該入力原言語文に対応する出力用の出力目的言語文の文数の情報を付加する文数指定部と、モデルを備え、前記出力目的言語文の文数の情報を付加した前記入力原言語文を、前記モデルに入力することによって、前記モデルが求めた出力目的言語文を出力する翻訳処理部と、を備え、前記モデルは、学習用目的言語文の文数の情報が付加された学習用原言語文のデータと、学習用目的言語文のデータと、の対である学習用データを用いて学習済みである、というものである。
【0014】
[5]また、本発明の一態様による学習装置は、学習用原言語文と学習用目的言語文との対のデータを供給する文対供給部と、供給された前記学習用目的言語文に含まれる文数を求める文数推定部と、前記学習用原言語文に、前記文数推定部が求めた前記文数の情報を付加して、前記学習用目的言語文の文数の情報が付加された前記学習用原言語文のデータを出力する文数情報付与部と、前記学習用目的言語文の文数の情報が付加された学習用原言語文のデータと、前記学習用目的言語文のデータとの対を、学習用データとして供給する学習用データ供給部と、前記学習用データを用いてモデルの学習を行う学習処理部と、を備える。
【0015】
[6]また、本発明の一態様は、コンピューターを、上記[1]から[4]までのいずれか一項に記載の翻訳装置、として機能させるためのプログラムである。
【0016】
[7]また、本発明の一態様は、コンピューターを、上記[5]に記載の学習装置、として機能させるためのプログラムである。
【0017】
[8]また、本発明の一態様は、入力された入力原言語文に、当該入力原言語文に対応する出力用の出力目的言語文の文数の情報を付加する文数指定過程と、学習済みのモデルを用いて、前記出力目的言語文の文数の情報を付加した前記入力原言語文を、前記モデルに入力することによって、前記モデルが求めた出力目的言語文を出力する翻訳処理過程と、を含み、前記モデルは、学習用目的言語文の文数の情報が付加された学習用原言語文のデータと、学習用目的言語文のデータと、の対である学習用データを用いて学習済みである、翻訳方法である。
【発明の効果】
【0018】
本発明によれば、モデルが、指定された文数の目的言語文を出力するように制御することができる。つまり、翻訳処理における出力文数を制御できる。
【図面の簡単な説明】
【0019】
【
図1】本発明の実施形態による翻訳装置の概略機能構成を示すブロック図である。
【
図2】同実施形態における文対供給部31が供給する文対のデータの例を示す概略図である。
【
図3】同実施形態における学習用データ供給部が翻訳処理部に渡す学習用データ(文対)の例を示す概略図である。
【
図4】同実施形態における翻訳処理部が機械学習を行うための学習用データを生成する処理の手順を示すフローチャートである。
【
図5】同実施形態による翻訳装置の内部構成の例を示すブロック図である。
【
図6】同実施形態による翻訳装置を用いて翻訳処理を行った結果の例を示す概略図である。
【発明を実施するための形態】
【0020】
次に、本発明の一実施形態について、図面を参照しながら説明する。本実施形態は自然言語で記述された文の翻訳処理を行う翻訳装置に係るものである。翻訳処理の入力側の文は、原言語(source language)で記述されている。翻訳処理の出力側の文は、目的言語(target language)で記述されるものである。原言語および目的言語のそれぞれは、例えば、英語、ドイツ語、日本語、フランス語、ロシア語、スペイン語、イタリア語、中国語、韓国語、あるいはその他の言語である。基本的には、翻訳処理において原言語の種類と目的言語の種類とは異なるものである。但し、原言語の種類と目的言語の種類とが同一であってもよい。
【0021】
図1は、本実施形態による翻訳装置の概略機能構成を示すブロック図である。図示するように、翻訳装置1は、原言語文入力部21と、文数指定部22と、翻訳処理部23と、翻訳結果出力部24と、文対供給部31と、文数推定部32と、文数情報付与部33と、学習用データ供給部34とを含んで構成される。これらの各機能部は、例えば、コンピューターと、プログラムとで実現することが可能である。また、各機能部は、必要に応じて、記憶手段を有する。記憶手段は、例えば、プログラム上の変数や、プログラムの実行によりアロケーションされるメモリーである。また、必要に応じて、磁気ハードディスク装置やソリッドステートドライブ(SSD)といった不揮発性の記憶手段を用いるようにしてもよい。また、各機能部の少なくとも一部の機能を、プログラムではなく専用の電子回路等として実現してもよい。
【0022】
なお、翻訳装置1は、学習モードと、翻訳実行モードとの、いずれかのモードで動作することができる。学習モードで動作する場合には、翻訳装置1は、内部のモデルの機械学習を行う。翻訳実行モードで動作する場合には、翻訳装置1は、そのときの状態のモデルに基づいて、自然言語の翻訳処理を行う。
【0023】
原言語文入力部21、文数指定部22、翻訳処理部23、翻訳結果出力部24という直列のつながりは、翻訳装置1が翻訳実行モードで動作するときの処理の流れに対応する。以下では、原言語文入力部21、文数指定部22、翻訳処理部23、翻訳結果出力部24の各部の機能を、翻訳実行モードで動作と関連付けて説明する。
【0024】
原言語文入力部21は、翻訳対象である原言語文を取得し、文数指定部22に渡す。原言語文入力部21は、原言語文を、例えば外部から取得したり、翻訳装置1からアクセス可能な記憶部から読み出したりする。原言語文は、例えば、テキストデータとして翻訳装置1内で存在する。ここで入力される原言語文を、入力原言語文と呼ぶ。また、この入力原言語文に対応する出力用の目的言語文(翻訳結果)を出力目的言語文と呼ぶ。
【0025】
文数指定部22は、原言語文入力部21から受け取った原言語文を翻訳した結果における、目的言語文の文数を指定する。文数指定部22は、例えば、外部から取得した数値や、翻訳装置1内の所定の記憶部から読み出した数値等に基づいて、目的言語文の文数を指定する。文数指定部22は、目的言語文の文数の情報を、前記原言語文に付加する。文数指定部22は、目的言語文の文数の情報を付加した状態の原言語文を、翻訳処理部23に渡す。文数指定部22が目的言語文の文数の情報を原言語文に付加する具体的な方法の例については、後述する。つまり、文数指定部22は、入力された入力原言語文に、当該入力原言語文に対応する出力用の出力目的言語文の文数の情報を付加して、翻訳処理部23に渡す。
【0026】
文数指定部22は、後で例示するように、テキストデータである入力原言語文の先頭部分に、出力目的言語文の文数の情報を付加してよい。この場合、学習用データにおいても、原言語文の先頭部分に目的言語文の文数の情報を付加するようにする。原言語文の先頭に文数の情報を付加することにより、原言語文のテキストが可変長であっても、文数の情報は常に固定の位置に付加される。これは、文数の情報に基づく機械学習を行う際に有利である。
【0027】
翻訳処理部23は、入力される原言語文を基に、翻訳処理を行い、目的言語文を出力する。翻訳処理部23は、内部に翻訳用のモデルを持っている。このモデルは、学習用データを用いて学習可能なものである。モデルは、例えば、ニューラルネットワークを用いて実現される。より具体的には、モデルは、RNN(再帰型ニューラルネットワーク、Recurrent Neural Network)や、Transformer(トランスフォーマー)等を用いて実現されてよい。ただし、モデルを実現するための具体的な構成は、ここに例示したものには限定されない。なお、ここで挙げたニューラルネットワーク、RNN、Transformerといった技術自体は、利用可能な既存技術である。翻訳処理部23の内部のモデルが適切に学習されていた場合、翻訳処理部23は、入力される原言語文の翻訳文である目的言語文(複数の文である場合もある)を生成して出力することが期待される。また、翻訳処理部23の内部のモデルが適切に学習されていた場合、翻訳処理部23は、文数指定部22によって指定された数の(あるいは少なくとも、指定された数に近い数の)目的言語文を生成して出力することが期待される。つまり、翻訳処理部23は、モデルを備え、学習用データを用いてそのモデルの学習を行うとともに、出力目的言語文の文数の情報を付加した入力原言語文を、モデルに入力することによって、モデルが求めた出力目的言語文を出力するものである。また、翻訳処理部23は、上記の通りモデルの学習を行うものであり、「学習処理部」と呼んでもよい。
【0028】
なお、翻訳処理部23の、学習モードにおける動作と、翻訳実行モードにおける動作とは、次の通りである。
【0029】
学習モードにおいては、翻訳処理部23は、学習用データ供給部34から提供される学習用データに基づいて、モデルの学習処理を行う。学習用データは、モデルへの入力データと出力データとの対の集合である。本実施形態において、モデルへの入力データは、出力データである目的言語文の文数(推定値)が付加された、原言語文のテキストデータである。また、学習用データに含まれる出力データは、目的言語文の正解のテキストデータである。ニューラルネットワークで実現されているモデルは、この入力データを基に、ネットワークの各ノードでの演算を行い、出力データを求める。モデルが求めた出力データは、目的言語文に対応するものである。翻訳処理部23は、入力データに基づいてモデルが算出した出力データ(推定データ)と、学習用データ内の出力データとの、差(ロス)を算出する。そして、翻訳処理部23は、算出された差に基づいて、誤差逆伝播法(バックプロパゲーション)によりモデルの内部パラメーターを更新する。誤差逆伝播法によるニューラルネットワークの内部パラメーターの更新は、既存の技術により実行可能である。翻訳処理部23は、更新後のモデルの内部パラメーターの値を、適宜、記憶部(不図示)に書き込む。翻訳処理部23は、学習用データに含まれる多数の文対のそれぞれについてこのような処理を繰り返すことにより、モデルの学習を行う。
【0030】
翻訳処理部23が翻訳実行モードで動作する場合には、少なくとも所定量の学習処理が完了していることが前提である。翻訳実行モードにおいては、翻訳処理部23は、文数指定部22から渡される入力データを受け取る。この入力データは、原言語文のテキストデータと、文数を指定するデータ(例えば、タグとして表現された数値)とを含む。翻訳処理部23は、入力データを基に、モデル内部の演算を行い、モデルからの出力データを求める。なお、翻訳処理部23は、必要に応じてモデル内部のパラメーター(学習済みのパラメーター集合の値)を記憶部(不図示)等から読み出してよい。翻訳処理部23が求めた出力データは、翻訳結果としての目的言語文のテキストであることが期待される。翻訳処理部23は、その出力データ(目的言語文)を、翻訳結果出力部24に渡す。
【0031】
翻訳結果出力部24は、翻訳処理部23から出力される目的言語文を外部に出力する。翻訳結果出力部24は、翻訳結果の目的言語文を、例えば、外部装置に向けて送信したり、ディスプレイ装置に表示したり、記録媒体(ハードディスクや、半導体メモリー等)に記録したり、などといった形で出力する。翻訳結果出力部24が、その他の形態で目的言語文を出力してもよい。
【0032】
文対供給部31、文数推定部32、文数情報付与部33、学習用データ供給部34という機能群は、翻訳装置1の学習モードで使用するための学習用データを生成して、翻訳処理部23内のモデルに供給するための機能群である。以下では、文対供給部31、文数推定部32、文数情報付与部33、学習用データ供給部34の各部の機能を、学習用データの生成の動作と関連付けて説明する。
【0033】
文対供給部31は、原言語文と目的言語文との対(文対)を供給する。ここでの原言語文を学習用言語文と呼ぶ。また、ここでの目的言語文を学習用目的言語文と呼ぶ。つまり、文対供給部31は、学習用原言語文と学習用目的言語文との対のデータを供給するものである。文対供給部31は、例えば外部から取得した文対や、翻訳装置1内の記憶部(不図示)等から読み出した文対を、1対ずつ処理して、文数推定部32、文数情報付与部33、学習用データ供給部34に渡す。具体的には、文対供給部31は、文対内の原言語文を、文数情報付与部33に渡す。また、文対供給部31は、文対内の目的言語文を、文数推定部32と、学習用データ供給部34とに渡す。
【0034】
文対供給部31が供給する文対は、同じ意味を持つ原言語文と目的言語文との対である。言い換えれば、ある文対内において、原言語文を翻訳した結果が目的言語文である。また、基本的にたいていの場合において、ある文対内において、目的言語文を翻訳した結果は原言語文であり得る。ある文対内における原言語文は、1つまたは複数の文であってよい。また、ある文対内における目的言語文は、1つまたは複数の文であってよい。このような文対は、既存の言語コーパスを基に得ることができる。あるいは、原言語文を人手で翻訳することによって目的言語文を得て、これら両者を文対としてもよい。
【0035】
なお、文対を構成する際に、原言語と目的言語の対は、学習しようとするモデルに整合するものとする。翻訳用のモデル(翻訳処理部23の内部のモデル)に整合する限りにおいて、原言語の種類や目的言語の種類は任意である。一例として、翻訳装置1に日英翻訳の処理を行わせるためには、原言語を日本語とし、目的言語を英語とする。
【0036】
文数推定部32は、文対供給部31から供給された目的言語文に含まれる文の数を推定し、出力する。つまり、文数推定部32は、ある文対における学習用目的言語文に含まれる文数を求める。文数推定部32は、目的言語の種類に応じた方法を用いて文の数を推定する。例えば、文数推定部32は、欧米系の言語(英語、フランス語、ドイツ語等)に関しては、一文の終わりはピリオドやクエスションマークで終わるという特徴に基づいて、ピリオドやクエスションマークの数を数えることにより、文数を推定する。ただし、ピリオドやクエスションマークは、文末以外において現れる場合もある。例えば英語における「Mr.」(「mister」の省略表記)といった表現にピリオドが含まれるが、この例におけるピリオドは文末であることを表さない。このため、文数推定部32は、推定精度を上げるため、他の方法を用いてもよい。
【0037】
例えば、文数推定部32は、バイト対符号化(Byte pair encoding、BPE)の手法を用いて、目的言語文(例えば、英語文)を分割する。バイト対符号化の手法自体は、既存技術である。文数推定部32は、例えば、バイト対符号化によってピリオドが単体で分割された場合のピリオドの数を数えることにより、文数を推定する。
【0038】
また、例えば、文数推定部32は、目的言語文の構文解析処理を行うことにより、文数を推定してもよい。例えば、目的言語が英語である場合、目的言語文の一文は、SV、SVO、SVC、SVOCなどといった基本構造を持つ。ここで、Sは主語、Vは述語、Oは目的語、Cは補語である。文数推定部32は、このような構文解析結果に基づいて、文数を数え上げ、その結果を推定された文数とする。英語以外の各言語においても、基本的に、構文解析処理による文数の推定は有効である。なお、さらに推定精度を上げるため、文数推定部32は、構文解析の結果と、ピリオドやクエスションマークの数との、両方に基づいて文数を推定するようにしてもよい。
【0039】
また、例えば、文数推定部32は、目的言語文に対応して外部から与えられる数値を、文数の推定結果としてもよい。例えば、人が判断することによって、目的言語文ごとにその文数を入力し、文数推定部32がその数値を文数の推定結果としてもよい。あるいは、目的言語文に対応付けて記憶部(不図示)等に記憶されている数値を、文数推定部32が読み出して、文数の推定結果としてもよい。
【0040】
例えば英語における前述のピリオドやクエスションマーク等は、文末であることを示す記号である。このように文末であることを示す記号を、文末記号と呼ぶ。例えば日本語においては、句点(まる)やピリオドは、文末記号である。また、他の言語においても、文末記号に基づいて、文数推定部32は、文数を求めてもよいつまり、文数推定部32は、供給された前記学習用目的言語文に含まれる文末記号の数をカウントすることによって、学習用目的言語文に含まれる文数を求めてよい。
【0041】
文数情報付与部33は、文対供給部31から原言語文を受け取るとともに、文数推定部32から目的言語文の文数(上記の推定値)を受け取る。文数情報付与部33は、文対供給部31から受け取った原言語文のデータに、文数推定部32から受け取った文数の情報を付加して、出力する。つまり、文数情報付与部33は、学習用原言語文に、文数推定部32が求めた文数の情報を付加して、学習用目的言語文の文数の情報が付加された学習用原言語文のデータを出力する。文数情報付与部33は、目的言語文の文数(推定値)の情報が付加された原言語文のデータを、学習用データ供給部34に渡す。文数情報付与部33が文数の情報を付加する方法の一例は、目的言語文の文数を表すタグを、原言語文のテキストに付加することである。なお、文数情報付与部33は、テキストデータである学習用原言語文の先頭部分に、学習用目的言語文の文数の情報を付加してよい。文数情報付与部33が文数の情報を付加する位置は、文数指定部22のそれに合わせる。原言語文の先頭部分に文数の情報を付加することの利点は、既に説明した通りである。
【0042】
なお、目的言語文の文数(推定値)の情報が付加された原言語文のデータの実例については、後で、別の図を参照しながら説明する。
【0043】
学習用データ供給部34は、文対供給部31から渡された目的言語文のデータと、文数情報付与部33から渡された原言語文のデータ(ただし、目的言語文の文数の推定値付き)とを、対として、翻訳処理部23に渡す。この対は、翻訳処理部23が持つ前記モデルの、学習用データとして使用することができる。つまり、学習用データ供給部34は、学習用目的言語文の文数の情報が付加された学習用原言語文のデータと、学習用目的言語文のデータとの対を、学習用データとして供給する。
【0044】
文対供給部31は、多数の文対を供給してよい。文対供給部31が供給する文対のそれぞれに対応して、学習用データ供給部34は、原言語文(文数の推定値付き)と目的言語文との対を、翻訳処理部23に渡す。これらそれぞれの対を用いて、翻訳処理部23の内部のモデルの機械学習処理を行うことが可能である。学習用データとして学習用データ供給部34が供給する文対の数は、任意である。学習用データ供給部34は、大量の文対を供給してよい。学習用データとして供給される文対の数は、例えば、数十万対あるいは数百万対に達するものであってもよい。
【0045】
次に、学習用データの構成のしかた等について説明する。
【0046】
図2は、文対供給部31が供給する文対のデータの例を示す概略図である。図示する文対において、原言語文は日本語文であり、目的言語文は英語文である。原言語文は、「全国一の生産量を誇る広島特産のカキを夏にも観光客らに楽しんでもらおうと、広島県は新たに生食用のカキを開発し、16日、関係者を集めて試食会を開きました。」というテキストのデータである。この原言語文に対応する目的言語文は、「Hiroshima is the number one producer of oysters in the country.」という文と、「The prefecture has newly developed oysters for eating raw so that tourists can enjoy oysters, a specialty of Hiroshima, also in summer.」という文と、「Officials held a tasting event on July 16, inviting people concerned.」という文の3つの文を含むテキストのデータである。
【0047】
図3は、学習用データ供給部34が翻訳処理部23に渡す学習用データ(文対)の例を示す概略図である。
図3に示すデータは、
図2のデータに基づいて作成されたものである。
図3に示すデータが、
図2に示したデータと異なる点は、原言語文側のテキストの先頭に、<3>というタグが付加されていることである。このタグは、目的言語側の文数が3であることに対応する。言い換えれば、このタグは、目的言語側の文数を表すタグである。目的言語側の文数が3であることは、前述の通り、文数推定部32による推定結果に基づく。また、その推定結果にしたがって<3>というタグを原言語文データに付加したのは、文数情報付与部33である。つまり、
図3に示すデータにおいて、原言語文データは「<3>全国一の生産量を誇る広島特産のカキを夏にも観光客らに楽しんでもらおうと、広島県は新たに生食用のカキを開発し、16日、関係者を集めて試食会を開きました。」というテキストのデータである。
図3に示す目的言語文データは、
図2におけるそれと同一のテキストデータである。
【0048】
図3に示すような学習用データを用いて機械学習を行うことにより、翻訳処理部23内の翻訳モデルは、原言語文そのものと目的言語文との対応関係を学習するだけではなく、「3」という数値(推定された文数)と目的言語文との対応関係をも学習する。
【0049】
図4は、翻訳装置1の翻訳処理部23が機械学習を行うための学習用データを生成する処理の手順を示すフローチャートである。このフローチャートは、1対の入出力データを生成するための手順である。このフローチャートの処理は、入出力データ対ごとに繰り返して実行され得る。以下、このフローチャートに沿って動作手順を説明する。
【0050】
まず、ステップS11において、文対供給部31は、原言語文と目的言語文とから成る1対の言語対を取得し、翻訳装置1内に供給する。前述の通り、文対供給部31は、文対に含まれる原言語文を、文数情報付与部33に供給する。また、文対供給部31は、文対に含まれる目的言語文を、文数推定部32および学習用データ供給部34に供給する。
【0051】
次に、ステップS12において、文数推定部32は、ステップS11で文対供給部31から渡された目的言語文に含まれる文の数を推定する。文数推定部32が具体的に用いる推定手法の例については、既に説明した通りである。文数推定部32は、推定結果である文数を、文数情報付与部33に通知する。
【0052】
次に、ステップS13において、文数情報付与部33は、ステップS11で文対供給部31から渡された原言語文に、ステップS12において推定された目的言語文の文数の情報を付加する。具体的な例としては、文数情報付与部33は、目的言語文の文数を表すタグを、原言語文のデータに付加する。目撃言語文の文数の推定値が付加された原言語文のデータの例については、既に説明した通りである(
図3を参照)。
【0053】
次に、ステップS14において、文数情報付与部33は、目撃言語文の文数の推定値が付加された原言語文のデータを、学習用データ供給部34に渡す。学習用データ供給部34は、目撃言語文の文数の推定値が付加された原言語文のデータを、学習用データの入力側のデータとする。
【0054】
次に、ステップS15において、学習用データ供給部34は、ステップS11で文対供給部31から渡された目的言語文のデータを、学習用データの出力側のデータとする。
【0055】
次に、ステップS16において、学習用データ供給部34は、上記の入力側データ(目的言語文の文数の推定値が付加された原言語文のデータ)と、出力側データ(目的言語文のデータ)との対を、出力する。この1対のデータは、翻訳処理部23における学習処理に用いられるものである。
【0056】
図5は、翻訳装置1の内部構成の例を示すブロック図である。翻訳装置1は、コンピューターを用いて実現され得る。図示するように、そのコンピューターは、中央処理装置901と、RAM902と、入出力ポート903と、入出力デバイス904や905等と、バス906と、を含んで構成される。コンピューター自体は、既存技術を用いて実現可能である。中央処理装置901は、RAM902等から読み込んだプログラムに含まれる命令を実行する。中央処理装置901は、各命令にしたがって、RAM902にデータを書き込んだり、RAM902からデータを読み出したり、算術演算や論理演算を行ったりする。RAM902は、データやプログラムを記憶する。RAM902に含まれる各要素は、アドレスを持ち、アドレスを用いてアクセスされ得るものである。なお、RAMは、「ランダムアクセスメモリー」の略である。入出力ポート903は、中央処理装置901が外部の入出力デバイス等とデータのやり取りを行うためのポートである。入出力デバイス904や905は、入出力デバイスである。入出力デバイス904や905は、入出力ポート903を介して中央処理装置901との間でデータをやりとりする。バス906は、コンピューター内部で使用される共通の通信路である。例えば、中央処理装置901は、バス906を介してRAM902のデータを読んだり書いたりする。また、例えば、中央処理装置901は、バス906を介して入出力ポートにアクセスする。
【0057】
翻訳装置1(学習装置)の少なくとも一部の機能をコンピューターで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0058】
以上、実施形態を説明したが、さらに次のような変形例で実施してもよい。なお複数の変形例を、組み合わせることが可能な限りにおいて、組み合わせて実施してもよい。
【0059】
[第1変形例]
上記の実施形態では、翻訳装置1は、学習モードと翻訳実行モードの両方で動作し得るものであった。第1変形例では、翻訳装置1は、学習モードで動作せず、翻訳実行モードでのみ動作する。この場合、翻訳処理部23の中の翻訳モデルは、学習用データに基づく機械学習処理を完了済みである。あるいは、翻訳モデルの学習済みの内部パラメーターの値を、翻訳モデルが外部からインポートできるようにしてもよい。第1変形例の翻訳装置1は、
図1に示した機能構成のうちの、少なくとも、原言語文入力部21、文数指定部22、翻訳処理部23、翻訳結果出力部24のすべてを備える。また、その翻訳装置1は、文対供給部31、文数推定部32、文数情報付与部33、学習用データ供給部34の一部または全部を備えない構成としてもよい。第1変形例の翻訳装置1は、学習済みのモデルを用いて、指定された数の文からなる目的言語文を出力する処理を行うことが期待される。
【0060】
上記のような第1変形例の翻訳装置1は、つまり、入力された入力原言語文に、当該入力原言語文に対応する出力用の出力目的言語文の文数の情報を付加する文数指定部22と、モデルを備え、前記出力目的言語文の文数の情報を付加した前記入力原言語文を、前記モデルに入力することによって、前記モデルが求めた出力目的言語文を出力する翻訳処理部23と、を備え、前記モデルは、学習用目的言語文の文数の情報が付加された学習用原言語文のデータと、学習用目的言語文のデータと、の対である学習用データを用いて学習済みである、というものである。
【0061】
[第2変形例]
上記の実施形態では、翻訳装置1は、学習モードと翻訳実行モードの両方で動作し得るものであった。第2変形例では、翻訳装置1は、翻訳実行モードで動作せず、学習モードでのみ動作する。つまり、第2変形例の翻訳装置1は、学習処理のみを行うものであり、「学習装置」と呼んでもよい。この場合、翻訳処理部23の中の翻訳モデルは、学習処理によって内部パラメーターを更新する。学習後のモデルを、例えば、外部の装置にエクスポートすることができる。この際、翻訳装置1とその外部の装置が同一のネットワーク構造を予め持っている場合には、学習後のモデルの内部パラメーターの値の集合のみをエクスポートするようにしてもよい。これにより、第2変形例の翻訳装置1(学習装置)で学習した結果に基づいて、その外部の装置が、翻訳処理を行うことができる。その外部の装置は、指定された数の文からなる目的言語文を出力する翻訳処理を行うことが期待される。第2変形例の翻訳装置1(学習装置)は、
図1に示した機能構成のうちの、少なくとも、文対供給部31、文数推定部32、文数情報付与部33、学習用データ供給部34、翻訳処理部23のすべてを備える。また、その翻訳装置1(学習装置)は、原言語文入力部21、文数指定部22、翻訳結果出力部24の一部または全部を備えない構成としてもよい。
【0062】
上記のような第2変形例の翻訳装置1は、つまり、学習用原言語文と学習用目的言語文との対のデータを供給する文対供給部31と、供給された前記学習用目的言語文に含まれる文数を求める文数推定部32と、前記学習用原言語文に、前記文数推定部が求めた前記文数の情報を付加して、前記学習用目的言語文の文数の情報が付加された前記学習用原言語文のデータを出力する文数情報付与部33と、前記学習用目的言語文の文数の情報が付加された学習用原言語文のデータと、前記学習用目的言語文のデータとの対を、学習用データとして供給する学習用データ供給部34と、前記学習用データを用いてモデルの学習を行う翻訳処理部23(学習処理部)と、を備えるものである。
【0063】
[第3変形例]
上記の実施形態では、文数推定部32が推定した文数の情報を用いて、学習用データを生成した。第3変形例においては、推定値ではなく、文数推定部32に確定的な文数の情報を与えてもよい。その場合には、文数推定部32は、与えられたその文数を推定値として用いる。第3変形例の学習用データ供給部34は、そのように作成された学習用データを、翻訳処理部23に提供する。翻訳処理部23は、そのように作成された学習用データを用いて、モデルの学習処理を行う。
【0064】
[第4変形例]
上記の実施形態では、文数情報付与部33は、推定された文数の情報を、角括弧<>で囲われたタグの形式のデータとして、原言語文の先頭に付加した。第4実施形態では、付加する文数の情報の形態はこれには限られない。第4変形例における文数情報付与部33は、上記のタグ以外の形態で、文数の情報を原言語文に付加する。また、第4変形例における文数情報付与部33が文数の情報を付加する位置は、原言語文の先頭には限らず、他の場所であってもよい。いずれの場合も、文数情報付与部33は、原言語文のテキストの情報と、文数の数値に対応する情報とを含んだデータを、学習用のモデルへの入力データとして、学習用データ供給部34に渡す。翻訳処理部23は、そのように作成された学習用データを用いて、モデルの学習処理を行う。
【0065】
以上、この発明の実施形態(変形例を含む)について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0066】
[実施例と評価]
以下では、上記実施形態の翻訳装置1を実施した例と、その評価結果について説明する。
【0067】
図6は、翻訳装置1を用いて翻訳処理を行った結果の例を示す概略図である。本例において、原言語は日本語であり、目的言語は英語である。同図は、日本語の入力文と、英語の5種類の出力文とを示している。入力文の文数は、1である。目的言語文のAは、比較対象であり、人手による翻訳を行った結果である。Aの翻訳結果の文数は3である。出力文のBは、翻訳装置1における目的言語文の文数として1を指定した場合の翻訳結果である。Bの翻訳結果の文数は、指定した通り、1である。出力文のCは、目的言語文の文数として2を指定した場合の翻訳結果である。Cの翻訳結果の文数は、指定した通り、2である。出力文のDは、目的言語文の文数として3を指定した場合の翻訳結果である。Dの翻訳結果の文数は、指定した通り、3である。出力文のEは、比較対象として、目的言語文の文数を指定しない形の機械翻訳処理を行った場合の結果である。Eの翻訳結果の文数は、2となった。一方、本実施形態の翻訳装置1で出力文数を1、2、3とそれぞれ指定した場合には、指定した通りの文数の結果が得られた。
【0068】
なお、出力文数の指定を行わなかった場合には、出力文数は、望ましい数よりは少なくなる(一文の長さが長くなりがちである)ことが、本実験によりわかった。つまり、本実施形態の翻訳装置1において出力文数を指定できることは、有用である。
【0069】
また、以下の方法により、本実施形態の翻訳装置1が有効であることを定量的に評価した。具体的には、出力文数(目的言語文の文数)を指定する情報を付与する場合(本実施形態)と付与しない場合(比較対象)との翻訳結果を比較した。両方の場合とも、学習用データとしては、日本語(原言語文)の各文に対応する人手英訳文(目的言語文)の、約10万文対を用いた。また、開発データおよび評価データとも同様のデータセットで、それぞれ3000文対および5001文対を用いた。
【0070】
(1)出力文数情報付与ありの場合には、原言語文データに文数タグを付与し、本実施形態の翻訳処理部23で学習した翻訳モデル(ネットワーク)を用いた。その場合の翻訳時には、評価用日本語テキストデータに対応する英語テキストデータに基づいて、本実施形態の文数推定部32で文数の推定を行った。そして、その推定結果の文数を表すタグを、評価用日本語テキストデータの文頭に付与して、翻訳処理を実行した。
【0071】
(2)出力文数情報付与なしの場合には、原言語文データへの文数タグの付与を行わずに、本実施形態の翻訳処理部23で学習した翻訳モデル(ネットワーク)を用いた。翻訳時にも、原言語文データへの文数タグの付与を行わずに、翻訳処理を行った。
【0072】
両方の場合の実験結果は次の通りである。評価数値としては、出力した文数の元の評価用英文(目的言語文)の文数との一致率、およびBLEU値による翻訳性能を用いた。評価数値の結果を、下の表1および表2に示す。
【0073】
【0074】
【0075】
表1に示しように、出力文数の指定を行わなかった場合には文数の一致率が60.4%であったのに対して、出力文数の指定を行った場合の文数の一致率は96.6%であった。つまり、本実施形態の翻訳装置1は、非常に高い確率で、翻訳結果として指定した文数の目的言語文を出力できることが確認できた。
【0076】
また、表2に示しように、出力文数の指定を行わなかった場合のBLEU値が18.38であったのに対して、出力文数の指定を行って翻訳した場合のBLEU値は19.14であった。つまり、本実施形態の翻訳装置1のように出力文数の指定を行って翻訳処理を行った場合にも、そうでない場合と比較して、翻訳精度は少なくとも悪くならないことが確認できた。また、上記の通り、出力文数の指定を行って翻訳した場合のBLEU値は、出力文数の指定を行わなかった場合のそれよりも0.76高くなっている。この差が優位なものであるか否かは今後のさらなる検証が必要であるが、一つの可能性としては、出力文数を指定したことにより、出力文のパターンが元のデータセットの目的言語文のパターンに近づくように作用したためであるとも推察される。
【0077】
以上、説明したように、本実施形態によれば、翻訳性能を劣化させることなく指定した文数を出力するような翻訳処理が可能である。言い換えれば、本実施形態により、翻訳性能を劣化させることなく出力文数を制御することが可能となった。本実施形態の検証にはニューラルネットワークを利用したため、そのようなメリットが得られる理由は必ずしも明示的に得られたわけではない。しかし、可能性として、ピリオドの数が合うようにモデルが翻訳結果を制御したことや、あるいは指定した文数になるようにモデルが深層において構文構造を制御したことが考えられる。
【産業上の利用可能性】
【0078】
本発明は、例えば、自然言語の翻訳処理を利用する産業において利用することができる。一例として、報道あるいはコンテンツ提供の事業において、ニュースの文章を自動的に翻訳する業務に利用できる。但し、本発明の利用範囲はここに例示したものには限られない。
【符号の説明】
【0079】
1 翻訳装置(学習装置)
21 原言語文入力部
22 文数指定部
23 翻訳処理部(学習処理部)
24 翻訳結果出力部
31 文対供給部
32 文数推定部
33 文数情報付与部
34 学習用データ供給部
901 中央処理装置
902 RAM
903 入出力ポート
904,905 入出力デバイス
906 バス