(57)【要約】【課題】ニューラル機械翻訳を行う際に、訳出完了しているか否かを適切に判定することのできる翻訳装置等を提供する。【解決手段】翻訳システムは、原言語文と目的言語文の対が訳出完了状態にあるか否かを表す評価値を求めるための訳出完了判定モデルの機械学習処理を行う訳出完了判定モデル学習部と、翻訳対象入力文を取得する入力文取得部と、翻訳対象入力文のニューラル機械翻訳処理を行うことによって翻訳出力候補文を出力するニューラル機械翻訳部と、翻訳対象入力文と翻訳出力候補文の対について、翻訳対象入力文側の単語と翻訳出力候補文側の単語との対応関係を推定し、単語対応情報を出力する単語対応推定部と、単語対応情報と、訳出完了判定モデル学習部によって機械学習処理済の訳出完了判定モデルと、に基づいて、訳出完了の度合いを表す評価値を求める訳出完了確率算出部とを具備する。【選択図】図１
2019185392.tif 000002
【特許請求の範囲】
【請求項１】
機械学習処理によって構築された、原言語文と目的言語文の対が訳出完了状態にあるか訳出未完了状態にあるかを表す評価値を求めるための訳出完了判定モデルを記憶する訳出完了判定モデル記憶部と、
翻訳対象入力文と翻訳出力候補文の対について、前記翻訳対象入力文側の単語と前記翻訳出力候補文側の単語との対応関係を推定し、単語対応情報を出力する単語対応推定部と、
前記単語対応情報と、前記訳出完了判定モデル記憶部に記憶された前記訳出完了判定モデルとに基づいて、訳出完了の度合いを表す評価値を求める訳出完了確率算出部と、
を具備する訳出完了判定装置。
【請求項２】
請求項１に記載の訳出完了判定装置と、
翻訳対象である翻訳対象入力文を取得する入力文取得部と、
前記入力文取得部が取得した前記翻訳対象入力文のニューラル機械翻訳処理を行うことによって翻訳出力候補文を出力するニューラル機械翻訳部と、
を具備し、
前記単語対応推定部は、前記入力文取得部が取得した前記翻訳対象入力文と
前記ニューラル機械翻訳部が出力した前記翻訳出力候補文の対について、前記翻訳対象入力文側の単語と前記翻訳出力候補文側の単語との対応関係を推定する、
翻訳装置。
【請求項３】
前記訳出完了確率算出部が求めた前記評価値を用いて、前記ニューラル機械翻訳部が前記翻訳出力候補文を出力する際に出力した出力候補確率を補正する出力候補確率補正部、
をさらに具備する請求項２に記載の翻訳装置。
【請求項４】
原言語文と目的言語文から成る対訳文についての、前記原言語文側の単語と前記目的言語文側の単語との対応関係を基に生成された訓練データであって、訳出完了状態に対応する正例データと、訳出未完了状態に対応する負例データとを含む前記訓練データを用いて、原言語文と目的言語文の対が訳出完了状態にあるか訳出未完了状態にあるかを表す評価値を求めるための訳出完了判定モデルの機械学習処理を行う訳出完了判定モデル学習部、
を具備する訳出完了判定モデル学習装置。
【請求項５】
コンピューターを、
請求項１に記載の訳出完了判定装置、
として機能させるためのプログラム。
【請求項６】
コンピューターを、
請求項２または請求項３に記載の翻訳装置、
として機能させるためのプログラム。
【請求項７】
コンピューターを、
請求項４に記載の訳出完了判定モデル学習装置、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、訳出完了判定装置、翻訳装置、訳出完了判定モデル学習装置、およびプログラムに関する。
【背景技術】
【０００２】
自然言語で書かれた文章を翻訳する機械翻訳処理の一つとして、ニューラルネットワークを用いたニューラル機械翻訳（ＮＭＴ，Neural Machine Translation）の技術が存在する。翻訳精度の良さなどの理由で、今後、ニューラル機械翻訳がますます多用されることも予想される。
非特許文献１には、ニューラル機械翻訳の原理等が記載されている。
【０００３】
ニューラル機械翻訳を行う際の問題の一つは、訳抜けの問題である。これは、ニューラル機械翻訳によって入力文を翻訳する処理を実行したときに、入力文の内容の一部が訳出されない（訳抜けする）場合があるという問題である。
非特許文献２には、ニューラル機械翻訳での訳抜けした内容の検出について記載されている。特に、非特許文献２の第３．１節には、累積アテンション確率を用いて訳抜けを検出する方法が記載されている。また、非特許文献２の第３．２節には、逆翻訳確率を用いて訳抜けを検出する方法が記載されている。
【０００４】
また、従来の技術では、目的言語の語彙に、文末を表す特別なトークン（ＥＯＳ，end of statement）を含めておき、入力文の訳出完了の判断は、このＥＯＳの確率に基づいて行う。訳出する際にビームサーチをしない場合は、目的言語の語彙の確率の中で、ＥＯＳの確率が最も高くなった時に訳出が完了したと判断する。一方、ビームサーチする場合は、次のようになる。ビームサーチで得られる出力候補の文の生成確率の中で最も高い確率の文を出力する。ここで、文頭の出力単語からＥＯＳまでの単語列の各単語の確率の積が文の生成確率となる。この場合も、出力する文の文末はＥＯＳである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】中澤敏明，「機械翻訳の新しいパラダイム  ニューラル機械翻訳の原理」，情報管理，Vol.60，No.5，p.299-306，２０１７年．
【非特許文献２】後藤功雄，田中英輝，「ニューラル機械翻訳での訳抜けした内容の検出」，言語処理学会，第２３回年次大会  発表論文集，ｐ．１０１８−１０２１，２０１７年．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述の通り、従来のニューラル機械翻訳では、入力文を翻訳したときに入力文の内容の一部が訳出されない（訳抜けする）場合があるという問題があった。これは、入力文の内容を全て訳出していない状態で、訳出の完了を意味するトークン（ＥＯＳ）を出力してしまうことが原因であった。つまり、入力文中に訳出されていない内容があるかどうかを適切に判別することが求められる。
【０００７】
本発明は、上記のような事情を考慮して為されたものであり、ニューラル機械翻訳を行う際に、訳出完了しているか否かを適切に判定することのできる翻訳装置等を提供しようとするものである。
【課題を解決するための手段】
【０００８】
［１］本発明の一態様による訳出完了判定装置は、機械学習処理によって構築された、原言語文と目的言語文の対が訳出完了状態にあるか訳出未完了状態にあるかを表す評価値を求めるための訳出完了判定モデルを記憶する訳出完了判定モデル記憶部（２４）と、翻訳対象入力文と翻訳出力候補文の対について、前記翻訳対象入力文側の単語と前記翻訳出力候補文側の単語との対応関係を推定し、単語対応情報を出力する単語対応推定部（２２）と、前記単語対応情報と、前記訳出完了判定モデル記憶部に記憶された前記訳出完了判定モデルとに基づいて、訳出完了の度合いを表す評価値を求める訳出完了確率算出部（２５）と、を具備する。
【０００９】
［２］また、本発明の一態様による翻訳装置は、上記［５］の訳出完了判定装置と、翻訳対象である翻訳対象入力文を取得する入力文取得部（１１）と、前記入力文取得部が取得した前記翻訳対象入力文のニューラル機械翻訳処理を行うことによって翻訳出力候補文を出力するニューラル機械翻訳部（１２）と、を具備し、前記単語対応推定部は、前記入力文取得部が取得した前記翻訳対象入力文と前記ニューラル機械翻訳部が出力した前記翻訳出力候補文の対について、前記翻訳対象入力文側の単語と前記翻訳出力候補文側の単語との対応関係を推定するものである。
【００１０】
［３］また、本発明の一態様は、上記の翻訳装置において、前記訳出完了確率算出部が求めた前記評価値を用いて、前記ニューラル機械翻訳部が前記翻訳出力候補文を出力する際に出力した出力候補確率を補正する出力候補確率補正部、をさらに具備するものである。
【００１１】
［４］また、本発明の一態様による訳出完了判定モデル学習装置は、原言語文と目的言語文から成る対訳文についての、前記原言語文側の単語と前記目的言語文側の単語との対応関係を基に生成された訓練データであって、訳出完了状態に対応する正例データと、訳出未完了状態に対応する負例データとを含む前記訓練データを用いて、原言語文と目的言語文の対が訳出完了状態にあるか訳出未完了状態にあるかを表す評価値を求めるための訳出完了判定モデルの機械学習処理を行う訳出完了判定モデル学習部、を具備する。
【００１２】
［５］また、本発明の一態様は、コンピューターを、上記［１］の訳出完了判定装置、として機能させるためのプログラムである。
【００１３】
［６］また、本発明の一態様は、コンピューターを、上記［２］または［３］の翻訳装置、として機能させるためのプログラムである。
【００１４】
［７］また、本発明の一態様は、コンピューターを、上記［４］の訳出完了判定モデル学習装置、として機能させるためのプログラムである。
【００１５】
また、参考態様による翻訳システムは、原言語文と目的言語文から成る対訳文について、前記原言語文側の単語と前記目的言語文側の単語との対応関係を推定し、第１単語対応情報を出力する第１単語対応推定部（４２）と、前記単語対応情報に基づいて、訳出完了状態に対応する正例データと、訳出未完了状態に対応する負例データとを含む訓練データを生成する訳出完了判定モデル訓練データ生成部（４４）と、前記訓練データを用いて、原言語文と目的言語文の対が訳出完了状態にあるか訳出未完了状態にあるかを表す評価値を求めるための訳出完了判定モデルの機械学習処理を行う訳出完了判定モデル学習部（３３）と、翻訳対象である翻訳対象入力文を取得する入力文取得部（１１）と、前記入力文取得部が取得した前記翻訳対象入力文のニューラル機械翻訳処理を行うことによって翻訳出力候補文を出力するニューラル機械翻訳部（１２）と、前記翻訳対象入力文と前記翻訳出力候補文の対について、前記翻訳対象入力文側の単語と前記翻訳出力候補文側の単語との対応関係を推定し、第２単語対応情報を出力する第２単語対応推定部（２２）と、前記第２単語対応情報と、前記訳出完了判定モデル学習部によって機械学習処理済の前記訳出完了判定モデルとに基づいて、訳出完了の度合いを表す評価値を求める訳出完了確率算出部（２５）と、を具備する。
【００１６】
また、参考態様による訓練データ生成装置は、原言語文と目的言語文から成る対訳文について、前記原言語文側の単語と前記目的言語文側の単語との対応関係を推定し、単語対応情報を出力する単語対応推定部と、前記単語対応情報に基づいて、訳出完了状態に対応する正例データと、訳出未完了状態に対応する負例データとを含む訓練データを生成する訓練データ生成部と、を具備する。
【００１７】
また、別の参考態様は、上記の訓練データ生成装置において、前記訓練データ生成部は、前記単語対応情報から単語を削除することなく得られる前記正例データと、前記単語対応情報から前記目的言語文側の単語の一部を削除することによって得られる前記負例データと、を含む前記訓練データを生成するものである。
【発明の効果】
【００１８】
本発明によれば、ニューラル機械翻訳を行う際の、訳抜けの発生頻度を、少なくとも減少させることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態による翻訳装置および訳出完了判定モデル学習装置の概略機能構成を示すブロック図である。
【図２】同実施形態による訓練データ生成装置の概略機能構成を示すブロック図である。
【図３】同実施形態による訓練データ生成装置が、ＥＯＳモデルの学習に用いるための訓練データを生成する処理の過程において扱うデータの構成および例を示す概略図である。
【図４】同実施形態による訓練データ生成装置が、訳出完了判定モデルの機械学習処理のための訓練データを生成する処理の手順を示すフローチャートである。
【図５】同実施形態による訳出完了判定装置が算出する訳出完了確率を用いながら、翻訳装置がニューラル翻訳処理を行う処理の手順を示すフローチャートである。
【図６】同実施形態による翻訳システム全体の構成を示すブロック図である。
【図７】同実施形態の変形例における、訳出完了判定装置が算出する訳出完了確率を用いながらニューラル翻訳処理を行う処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２０】
次に、本発明の一実施形態について、図面を参照しながら説明する。
本実施形態では、ＥＯＳ（End of Sentence）の確率を計算する際に、入力文と出力の単語列との間で単語対応を推定する。そして、単語の対応関係の情報を基に、入力文中に訳出されていない内容があるかどうかを判別するためのモデル（ＥＯＳモデル）を用いて、ＥＯＳの確率を計算する。このＥＯＳモデルは、ニューラル機械翻訳のためのモデルとは独立に学習処理を行って構築する。このＥＯＳモデルをニューラル機械翻訳で利用することで、ＥＯＳの確率を補正し、訳抜けを防ぐことができる。
【００２１】
機械学習によってＥＯＳモデルを構築するために、次のような訓練データを準備する。つまり、原言語文と目的言語文（訳出完了している目的言語文）の対訳データを用いて、原言語文と目的言語文との言語間の単語対応を計算する。さらに、目的言語文の一部の内容を欠落させたデータをも生成する。欠落が無い単語対応のデータは、ＥＯＳモデル内の正例に対応するものであり、確率値の正解出力として１が付与される。一部単語が欠落した単語対応のデータは、ＥＯＳモデルの負例に対応するものであり、確率値の正解出力として０が付与される。これら、正例および負例のデータを作成し、ＥＯＳモデルを学習させるための訓練データとする。これにより、学習済のＥＯＳモデルは、入力文中に訳出されていない内容があるかどうかを判別し、確率値（評価値）を出力するようになる。
【００２２】
そして、ニューラル機械翻訳で入力文を翻訳している最中に、上記の学習済ＥＯＳモデルを用いて、入力文と出力単語列との間で単語対応を計算し、これらの情報から入力文中に訳出されていない内容があるかどうかを区別する。つまり、ＥＯＳモデルは、入力文と出力単語列が与えられると、訳出完了状態である確率値（評価値）を算出する。この確率値は、例えば、０以上且つ１以下の連続値であってもよいし、０または１の２値であってもよい。連続値とするか２値とするかは、ＥＯＳモデルの構築のしかたに依る。
そして、このような計算で求めた、訳出完了状態である度合いを表す確率値を用いて、ニューラル機械翻訳におけるＥＯＳの確率を補正する。
【００２３】
図１は、本実施形態による翻訳装置および訳出完了判定モデル学習装置の概略機能構成を示すブロック図である。図示するように、翻訳装置１は、訳出完了判定装置２と、入力文取得部１１と、ニューラル機械翻訳部１２と、出力候補記憶部１４と、出力候補確率記憶部１５と、出力候補確率補正部１６と、補正済確率記憶部１７とを含んで構成される。そして、訳出完了判定装置２は、単語対応推定モデル記憶部２１と、単語対応推定部２２と、単語対応情報記憶部２３と、訳出完了判定モデル記憶部２４と、訳出完了確率算出部２５とを含んで構成される。
また、訳出完了判定モデル学習装置３は、訓練データ記憶部３２と、訳出完了判定モデル学習部３３と、訳出完了判定モデル記憶部３４とを含んで構成される。
なお、「訳出完了判定モデル」は、訳出が完了したか否かを判定するためのモデルである。
【００２４】
これらの各機能部は、例えば、電子回路を用いて実現される。また、各機能部は、必要に応じて、半導体メモリーや磁気ハードディスク装置などといった記憶手段を内部に備えてよい。また、各機能を、コンピューターおよびソフトウェアによって実現するようにしてもよい。
【００２５】
以下では、各機能部の詳細について説明する。まず、翻訳装置１を構成する各部の機能について説明する。
訳出完了判定装置２は、出力候補文に関して、訳出が完了した状態であるか否かを推定する。具体的には、訳出完了判定装置２は、入力文と出力候補文が与えられたとき、訳出完了である度合い（確率）を表す評価値（確率値）を算出する。訳出完了判定装置２は、算出した評価値を出力候補確率補正部１６に与えることもできる。訳出完了判定装置２のより詳細な構成については、後述する。
【００２６】
入力文取得部１１は、翻訳対象である翻訳対象入力文（原言語文）を取得する。入力文取得部１１は、翻訳対象入力文を、ニューラル機械翻訳部１２と、訳出完了判定装置２の単語対応推定部２２とに渡す。
ニューラル機械翻訳部１２は、入力文取得部１１が取得した翻訳対象入力文のニューラル機械翻訳処理を行うことによって翻訳出力候補文を出力する。ニューラル機械翻訳部１２は、この翻訳出力候補文を、出力候補記憶部１４に書き込む。ニューラル機械翻訳部１２は、翻訳出力候補文に対応する出力候補確率を、出力候補確率記憶部１５に書き込む。
【００２７】
なお、ニューラル機械翻訳部１２によるニューラル機械翻訳の処理自体は、既存技術を用いて実現可能である。ニューラル機械翻訳の処理に関しては、下記の文献等に記述されている。
・［文献：Dzmitry Bahdanau ，KyungHyun Cho，Yoshua Bengio，"NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE"，Proceedings of ICLR, 2015]
・［文献：Ilya Sutskever，Oriol Vinyals，Quoc V. Le，"Sequence to Sequence Learning with Neural Networks"，Advances in Neural Information Processing Systems 27，pp.3104-3112，Curran Associates, Inc.，2014］
【００２８】
出力候補記憶部１４は、翻訳出力候補文を記憶する。
出力候補確率記憶部１５は、翻訳出力候補文に対応する出力候補確率の値を記憶する。
【００２９】
出力候補確率補正部１６は、訳出完了判定装置２の訳出完了確率算出部２５から渡される確率値を用いて、出力候補確率記憶部１５から読み出す出力候補確率を補正する。出力候補確率補正部１６は、補正済の確率値を、補正済確率記憶部１７に書き込む。
補正済確率記憶部１７は、出力候補確率補正部１６によって補正された確率値を記憶する。
【００３０】
訳出完了判定装置２を構成する各部の機能は、次の通りである。
単語対応推定モデル記憶部２１は、原言語文と目的言語文の間での単語の対応関係を推定するためのモデルである。単語対応推定モデルは、例えば、別途取得された単語対応コーパス等に基づいて、予め単語対応推定モデル記憶部２１内に記憶される。
単語対応推定部２２（第２単語対応推定部）は、入力文取得部１１から渡される翻訳対象入力文と、出力候補記憶部１４から読み出した翻訳出力候補文の対について、翻訳対象入力文側の単語と翻訳出力候補文側の単語との対応関係を推定する。単語対応推定部２２は、推定結果である単語対応情報（第２単語対応情報）を、出力する。具体的には、単語対応推定部２２は、推定結果である単語対応情報を、単語対応情報記憶部２３に書き込む。
【００３１】
なお、単語対応推定部２２（後述する単語対応推定部４２も同様）による単語対応関係の推定の処理自体は、既存技術を用いて実現可能である。原言語文と目的言語文との間での単語対応関係の推定の処理に関しては、下記の文献等に記述されている。
・［文献：Franz Josef Och，Hermann Ney，"A Systematic Comparison of Various Statistical Alignment Models"，Computational Linguistics，Volume 29，Issue 1，March 2003，p.19-51，Association for Computational Linguistics]
・［文献：Jan-Thorsten Peter, Arne Nix, Hermann Ney, Generating Alignments Using Target Foresight in Attention-Based Neural Machine Translation, The Prague Bulletin of Mathematical Linguistics, Volume 108, Issue 1, Pages 27-36, ISSN (Online) 1804-0462, DOI: https://doi.org/10.1515/pralin-2017-0006.］
【００３２】
単語対応情報記憶部２３は、上記の単語対応情報（第２単語対応情報）を記憶する。
訳出完了判定モデル記憶部２４は、訳出完了確率（評価値）を算出するための訳出完了判定モデルを記憶する。この訳出完了判定モデルを「ＥＯＳモデル」とも呼ぶ。なお、訳出完了判定モデル記憶部２４が記憶する訳出完了判定モデルは、例えば、訳出完了判定モデル学習装置３によって構築されたモデルである。
【００３３】
訳出完了確率算出部２５は、単語対応情報記憶部２３から読み出した単語対応情報と、訳出完了判定モデル記憶部２４から読み出した機械学習処理済の訳出完了判定モデルとに基づいて、訳出完了の度合いを表す確率値（評価値）を求める。
【００３４】
また、訳出完了判定モデル学習装置３を構成する各部の機能は、次の通りである。
訓練データ記憶部３２は、訳出完了判定モデルの学習処理を行うための訓練データを記憶する。例えば、訓練データ生成装置４によって生成された訓練データを、この訓練データ記憶部３２に格納する。また、訓練データ記憶部３２を、訓練データ記憶部４５と共通の記憶領域としてもよい。
【００３５】
訳出完了判定モデル学習部３３は、訓練データ記憶部３２から読み出した訓練データを用いて、原言語文と目的言語文の対が訳出完了状態にあるか訳出未完了状態にあるかを表す評価値（確率値）を求めるための訳出完了判定モデル（ＥＯＳモデル）の機械学習処理を行う。
訳出完了判定モデル記憶部３４は、訳出完了判定モデル学習部３３の処理によって構築された学習済の訳出完了判定モデルを記憶する。訳出完了判定モデル記憶部３４は、具体的には、学習処理によって得られた訳出完了判定モデル内部のパラメーター値等を記憶するものである。
【００３６】
次に、上記の訓練データを生成する装置について説明する。
図２は、訓練データ生成装置４の概略機能構成を示すブロック図である。図示するように、訓練データ生成装置４は、対訳コーパス記憶部４１と、単語対応推定部４２と、単語対応情報記憶部４３と、訳出完了判定モデル訓練データ生成部４４と、訓練データ記憶部４５とを含んで構成される。
【００３７】
対訳コーパス記憶部４１は、対訳の例を大量に記憶するものである。対訳は、原言語文と目的言語文の対のデータである。対訳コーパス記憶部４１が記憶する対訳の例が、訓練データを生成するための基として使用される。対訳の例については、後で別の図面を参照しながら説明する。
【００３８】
単語対応推定部４２は、原言語文と目的言語文から成る対訳文について、原言語文側の単語と目的言語文側の単語との対応関係を推定する。単語対応推定部４２は、推定処理を行うための対訳文を対訳コーパス記憶部４１から読み出す。単語対応推定部４２は、推定結果を、単語対応情報（第１単語対応情報）として、単語対応情報記憶部４３に書き込む。  単語対応情報記憶部４３は、単語対応推定部４２によって推定された結果である単語対応情報を記憶する。
【００３９】
訳出完了判定モデル訓練データ生成部４４は、単語対応情報記憶部４３に記憶されている単語対応情報に基づいて、訳出完了状態に対応する正例データと、訳出未完了状態に対応する負例データとを含む訓練データを生成する。なお、訳出完了判定モデル訓練データ生成部４４は、生成する訓練データには、正解値をも付加する。ここで、正解値は、訳出完了状態を表す確率値（１）や、訳出未完了状態を表す確率値（０）である。なお、ここで言う確率値を「評価値」とも呼ぶ。
【００４０】
なお、具体的には、訳出完了判定モデル訓練データ生成部４４は、単語対応情報記憶部４３から読み出した単語対応情報から、単語を削除することなく得られる正例データを生成する。また、訳出完了判定モデル訓練データ生成部４４は、単語対応情報記憶部４３から読み出した単語対応情報から目的言語文側の単語の一部を削除することによって得られる負例データを生成する。訓練データを生成する処理の詳細については、さらに後でも説明する。
【００４１】
訓練データ記憶部４５は、訳出完了判定モデル訓練データ生成部４４によって生成された訓練データを記憶する。この訓練データは、訳出完了判定モデル学習装置３にも渡される。
【００４２】
図３は、訓練データ生成装置４が、ＥＯＳモデルの学習に用いるための訓練データを生成する処理の過程において扱うデータの構成および例を示す概略図である。
図３（ａ）は、対訳コーパス記憶部４１が記憶する対訳文の例を示す。この対訳文において、文Ｓ１は原言語文のデータである。また、文Ｔ１は目的言語文のデータである。原言語文Ｓ１は、日本語の文であり、「彼  は  昨日  パリ  で  本  を  買った」というものである。ここでは、文を分かち書きして表している。目的言語文Ｔ１は、英語の文であり、「He bought a book at Paris yesterday.」というものである。目的言語文Ｔ１は、原言語文Ｓ１を翻訳したものであり、訳出完了の状態にある文である。
【００４３】
図３（ｂ）は、原言語文Ｓ１と目的言語部Ｔ１との間における単語の対応関係を表すデータを示す。単語対応情報記憶部４３が、この単語対応情報を記憶する。図示するように、単語対応情報は、（彼，HE）（は，ＮＵＬＬ）（昨日，yesterday）（パリ，Paris）（で，at）（本，book）（を，ＮＵＬＬ）（買った，bought）と言ったように、対応する単語同士を、丸括弧で括っている。各々の丸括弧内において、第１番目の要素は原言語文における単語であり、コンマで区切って、第２番目の要素は目的言語文における単語である。目的言語文において単語が存在しない箇所には「ＮＵＬＬ」が置かれている。
【００４４】
図３（ｃ）は、訓練データ記憶部４５が記憶する訓練データを示す。この訓練データは、表形式のデータとして表されており、記号と、単語対応と、確率の各項目を有する。記号は、各行を識別するために付与されているものであり、Ｂ１，Ｂ２，・・・，Ｂ６といったものである。単語対応は、原言語文内の単語と目的言語文内の単語とを括弧で括った対の集合のデータである。後述するように、単語対応は、正例のデータ（Ｂ１）と負例のデータ（Ｂ２，Ｂ３，Ｂ４，Ｂ５，Ｂ６）とを含む。負例のデータは、後述するように、正例のデータを基に、単語を削除する方法により生成され得る。確率は、正解値として与えられている数値である。つまり、正例に対しては確率値１．０が与えられ、負例に対しては確率値０．０が与えられている。  
【００４５】
図４は、訓練データ生成装置４が訳出完了判定モデルの機械学習処理のための訓練データを生成する処理の手順を示すフローチャートである。以下、このフローチャートに沿って動作手順を説明する。
【００４６】
まず、ステップＳ１０１において、訓練データ生成装置４は、対訳コーパス記憶部４１内に、未処理の対訳文があるか否かを判定する。対訳コーパス記憶部４１内に未処理の対訳文がある場合（ステップＳ１０１：ＹＥＳ）、その対訳文を基に訓練データを生成するため、ステップＳ１０２の処理に移る。対訳コーパス記憶部４１内に未処理の対訳文がない場合（ステップＳ１０１：ＮＯ）、本フローチャート全体の処理を終了する。
【００４７】
次に、ステップＳ１０２において、単語対応推定部４２は、対訳コーパス記憶部４１から、未処理の１対の対訳文を読み出す。この対訳文は、原言語文と目的言語文の対のデータである。一例として、原言語文Ｓ１は「彼  は  昨日  パリ  で  本  を  買った」という日本語の文である。また、原言語文Ｓ１と対になる目的言語文Ｔ１は「He bought a book at Paris yesterday.」という英語の文である。なお、「Ｓ１」および「Ｔ１」は、それぞれ、原言語文および目的言語文を便宜的に識別するために付与されている記号である。目的言語文Ｔ１は原言語文Ｓ１を翻訳して得られる文であり、これら両文は、同じ意味を表すものである。この対訳文（Ｓ１およびＴ１）の例は、図３（ａ）にも示したものである。
【００４８】
次に、ステップＳ１０３において、単語対応推定部４２は、単語対応推定モデル（不図示）に基づいて、対訳文間での単語の対応付けを行う。ここでの単語対応推定モデルは、訳出完了判定装置２内の単語対応推定モデル記憶部２１に記憶された単語対応推定モデルと同様のモデルである。対訳文間での単語の対応付けが行えると、単語対応推定部４２は、対訳文間での単語対応の情報を、単語対応情報記憶部４３に書き込む。本ステップで単語対応情報記憶部４３に書き込まれる情報は、訳出完了判定モデルを学習させるための訓練データに含まれる正例のデータ（図３において記号Ｂ１で示されるデータ）の元になる。上記の原言語文Ｓ１と目的言語文Ｔ１の対に関しては、次のような単語対応情報Ｂ１が得られる。即ち、Ｂ１において、原言語の単語「彼」は、目的言語の単語「He」に対応する。原言語の単語「は」は、目的言語において対応する単語を持たない（ＮＵＬＬと表される）。原言語の単語「昨日」は、目的言語の単語「yesterday」に対応する。原言語の単語「パリ」は、目的言語の単語「Paris」に対応する。原言語の単語「で」は、目的言語の単語「at」に対応する。原言語の単語「本」は、目的言語の単語「book」に対応する。原言語の単語「を」は、目的言語において対応する単語を持たない（ＮＵＬＬと表される）。原言語の単語「買った」は、目的言語の単語「bought」に対応する。
この単語対応情報Ｂ１は、図３（ｂ）にも示したものである。
【００４９】
そして、ステップＳ１０４において、訳出完了判定モデル訓練データ生成部４４は、ステップＳ１０２において取り出された対訳文の目的言語文から単語を削除したパターンを生成する。具体的には、訳出完了判定モデル訓練データ生成部４４は、単語対応情報記憶部４３から単語対応情報Ｂ１を読み出し、目的言語文に含まれる単語を削除した複数のパターンを生成する。また、訳出完了判定モデル訓練データ生成部４４は、本ステップで生成した複数のパターンの各々に確率値０．０を付加して、負例データとして、訓練データ記憶部４５に書き込む。
【００５０】
この負例データは、図３（ｃ）において、記号Ｂ２，Ｂ３，Ｂ４，Ｂ５，Ｂ６でそれぞれ示したデータである。具体的には、記号Ｂ２に関して、目的言語文から単語「He」が削除されている。よって、記号Ｂ２の単語対応においては、原言語単語「彼」に対応する目的言語単語が存在せず、ＮＵＬＬが対応付けられている。また、記号Ｂ３に関して、目的言語文から単語「bought」が削除されている。よって、記号Ｂ３の単語対応においては、原言語単語「買った」に対応する目的言語単語が存在せず、ＮＵＬＬが対応付けられている。また、記号Ｂ４に関して、目的言語文から単語「book」が削除されている。よって、記号Ｂ４の単語対応においては、原言語単語「本」に対応する目的言語単語が存在せず、ＮＵＬＬが対応付けられている。また、記号Ｂ５に関して、目的言語文から単語「at」および「Paris」が削除されている。よって、記号Ｂ５の単語対応においては、原言語単語「で」および「パリ」に対応する目的言語単語が存在せず、ＮＵＬＬが対応付けられている。また、記号Ｂ６に関して、目的言語文から単語「yesterday」が削除されている。よって、記号Ｂ６の単語対応においては、原言語単語「昨日」に対応する目的言語単語が存在せず、ＮＵＬＬが対応付けられている。
【００５１】
そして、ステップＳ１０５において、訳出完了判定モデル訓練データ生成部４４は、訳出完了判定モデルを学習させるための正例データを生成し、訓練データ記憶部４５に書き込む。この正例データは、上記の単語対応情報Ｂ１に、確率値１．０を付加したものである。また、同ステップにおいて、訳出完了判定モデル訓練データ生成部４４は、訳出完了判定モデルを学習させるための負例データを生成し、訓練データ記憶部４５に書き込む。この負例データは、上記の単語対応情報Ｂ２，Ｂ３，Ｂ４，Ｂ５，Ｂ６のそれぞれに、確率値０．０を付加したものである。
これらの訓練データ、即ち、正例データＢ１と、負例データＢ２，Ｂ３，Ｂ４，Ｂ５，Ｂ６とは、図３（ｃ）に示したデータである。
【００５２】
ステップＳ１０５の処理が終了すると、訓練データ生成装置４は、未処理の対訳文データが残っているか否かを調べるために、ステップＳ１０１の処理に戻る。
【００５３】
次に、本実施形態による翻訳処理の手順について説明する。
図５は、訳出完了判定装置２が算出する訳出完了確率を用いながらニューラル翻訳処理を行う処理の手順を示すフローチャートである。このフローチャートは、１つの入力文および対応する複数の出力候補文に関する処理を記述している。以下、このフローチャートに沿って説明する。
【００５４】
ステップＳ１１１において、翻訳装置１のニューラル機械翻訳部１２は、ニューラル機械翻訳処理を実行して出力候補文を生成する。この結果、ニューラル機械翻訳部１２は、１つの出力候補文を出力し、出力候補記憶部１４に書き込む。
【００５５】
次に、ステップＳ１１２において、単語対応推定部２２は、入力文取得部１１から原言語文（ステップＳ１１１のニューラル翻訳処理への入力文）を取得し、出力候補記憶部１４から１つの出力候補文を読み出す。そして、単語対応推定部２２は、それらの入力文と出力候補文との間の単語対応を推定する。単語対応推定部２２は、推定結果である単語対応情報を、単語対応情報記憶部２３に書き込む。
【００５６】
ステップＳ１１３において、訳出完了確率算出部２５は、単語対応情報記憶部２３から、入力文と出力候補文との間の単語対応の情報を読み出し、この対応情報を訳出完了判定モデルに適用することによって、訳出完了確率を算出する。なお、このとき、訳出完了判定モデルは既に学習済である。訳出完了確率算出部２５は、学習済の訳出完了判定モデルの情報（内部パラメーター集合の値等）を、訳出完了判定モデル記憶部２４から読み出す。訳出完了確率算出部２５は、算出された訳出完了確率の値を、出力候補確率補正部１６に渡す。
【００５７】
ステップＳ１１４において、出力候補確率補正部１６は、訳出完了確率算出部２５から渡された訳出完了確率（［０，１］の連続値、あるいは、０または１の２値）を乗じることによって、出力候補確率を補正する。
【００５８】
ステップＳ１１５において、翻訳装置１は、入力文に対応する未処理の出力候補文が残っているか否かを判定する。残っている場合（ステップＳ１１５：ＹＥＳ）、翻訳装置１は、次の出力候補文についての処理をするために、ステップＳ１１２に戻る。残っている場合（ステップＳ１１５：ＹＥＳ）、翻訳装置１は、本フローチャート全体の処理を終了する。
【００５９】
以下では、本実施形態による処理の、さらに詳細な事項について、データ例を交えながら説明する。
【００６０】
（１）ＥＯＳモデルについて。
ＥＯＳモデルは、訳出が完了したか否かを判別するためのモデルである。言い換えれば、ＥＯＳモデルは、与えられた対訳文において、まだ訳出されていない内容があるか否かを判別するためのモデルである。
ＥＯＳモデルは、［０，１］（０以上、且つ１以下）の値域をとる連続的な確率値のモデルとすることもできるし、２値判別（０または１）のモデルとすることもできる。前者の場合、ＥＯＳモデルが出力する値は、その対訳文における目的言語文（翻訳処理の出力候補文）が訳出完了しているものである度合いを表す。後者の場合、ＥＯＳモデルが出力する値が０の場合にはその出力候補文が訳出完了していない可能性が高いことを表し、値が１の場合には出力候補文が訳出完了している可能性が高いことを表す。
以下では、連続的な確率値のモデルとしてモデル化する場合について主に説明するが、２値判別のモデルとする場合にも、本質的な判別処理の方法は変わらない。
【００６１】
ＥＯＳモデルは、原言語文と対象言語文との対が与えられたとき、学習済みのパラメーターに基づいた計算を行い、その原言語文に対してその対象言語文が訳出完了の状態であるか否かを表す数値（［０，１］の連続値、あるいは、０または１の２値）を出力する。
【００６２】
（２）訓練データの生成
ＥＯＳモデルの機械学習処理を行うために、訓練データを用いる。訓練データの基となるデータの例は、前述の、原言語文Ｓ１と目的言語文Ｔ１との対である。即ち、原言語文Ｓ１は「彼  は  昨日  パリ  で  本  を  買った」であり、目的言語文Ｔ１は「He bought a book at Paris yesterday.」である。前述の通り、Ｓ１とＴ１は、文を識別するために便宜的に付与されたＩＤである。また、本例では、原言語は日本語であり、目的言語は英語である。即ち、このモデルは、日本語から英語への翻訳における、訳出完了の判定のためのモデルである。
【００６３】
上記のような対訳文（原言語文Ｓ１と目的言語文Ｔ１の対）が与えられたとき、訓練データ生成装置４の単語対応推定部４２（図２）は、対訳文に含まれる単語同士の対応関係を推定する。単語対応推定部４２による単語間の対応関係の推定自体は、単語対応推定部２２と同様に、既存技術を用いた処理である。これにより、単語対応推定部４２は、原言語文Ｓ１と目的言語文Ｔ１とに関して、「彼：HE」、「買った：bought」、「パリ：Paris」、「で：at」、「本：book」、「昨日：yesterday」といった単語対応を獲得する。与えられた対訳文は、訳出完了した対である。つまり、原言語文Ｓ１の訳出を完了したことによって得られる目的言語文がＴ１である。したがって、上記の単語対応（図３（ｃ）における記号Ｂ１）は、訳出完了判定モデル訓練データ生成部４４によって正例として生成されるものである。
【００６４】
一方、訳出完了判定モデル訓練データ生成部４４は、負例データをも生成する。具体的には、訳出完了判定モデル訓練データ生成部４４は、上記の単語対応Ｂ１から目的言語単語を１つ以上削除した文を作成して負例データとする。このとき、訳出完了判定モデル訓練データ生成部４４によって削除される単語には、原言語単語に対応付けられた目的言語単語が１つ以上含まれる。つまり、訳出完了判定モデル訓練データ生成部４４は、目的言語単語が欠落した目的言語文として、例えば、以下のＴ２，Ｔ３，Ｔ４，Ｔ５、Ｔ６のような文を作成する。
【００６５】
Ｔ２「bought a book at Paris yesterday」（単語「He」が削除されている）
Ｔ３「He a book at Paris yesterday」（単語「bought」が削除されている）
Ｔ４「He bought at Paris yesterday」（単語「a」および「book」が削除されている）
Ｔ５「He bought a book yesterday」（単語「at」および「Paris」が削除されている）
Ｔ６「He bought a book at Paris」（単語「yesterday」が削除されている）
【００６６】
なお、訳出完了判定モデル訓練データ生成部４４は、削除する単語をランダムに選択してもよいし、所定のルール等に基づいて、対応が付いている単語を順番に選択していくようにしてもよい。
【００６７】
次に、訳出完了判定モデル訓練データ生成部４４は、目的言語文（Ｔ１〜Ｔ６）のそれぞれに関して、原言語と目的言語との間で単語同士を対応させたデータを生成する。なお、ここで、原言語単語に対応する目的言語単語が存在しない場合は、目的言語単語が存在しないことを表す特別なトークン（ＮＵＬＬ）を原言語単語に対応付ける。訳出完了判定モデル訓練データ生成部４４がこのように生成するデータを、訳語付き原文と呼ぶ。
【００６８】
例えば、目的言語文Ｔ１に関する訳語付き原文Ｂ１は、次の通りである。
Ｂ１：（彼，He）（は，ＮＵＬＬ）（昨日，yesterday）（パリ，Paris）（で，at）（本，book）（を，ＮＵＬＬ）（買った，bought）
また、目的言語文Ｔ２に関する訳語付き原文Ｂ２は、次の通りである。
Ｂ２：（彼，ＮＵＬＬ）（は，ＮＵＬＬ）（昨日，yesterday）（パリ，Paris）（で，at）（本，book）（を，ＮＵＬＬ）（買った，bought）
以後、目的言語文Ｔ３、Ｔ４，Ｔ５，Ｔ６にそれぞれ関する訳語付き原文Ｂ３，Ｂ４，Ｂ５，Ｂ６は、図３（ｃ）に示した通りである。
【００６９】
また、訳出完了判定モデル訓練データ生成部４４は、訳語付き原文Ｂ１〜Ｂ６のそれぞれに、確率値を付加する。ここで、目的言語文において単語の削除を行っていない場合のＢ１（正例）の確率値として、１．０が付加される。また、目的言語文において単語の削除を行った場合のＢ２，Ｂ３，Ｂ４，Ｂ５，Ｂ６（負例）の確率値として、０．０が付加される。
他のパターンの訳語付き原文（Ｂ７以後）が存在する場合にも、訳出完了判定モデル訓練データ生成部４４は、同様に確率値を付加する。
つまり、以上の処理により、訳出完了判定モデル訓練データ生成部４４は、訳出が完了した目的言語文に関する単語対応データに確率値１．０を与える。また、訳出完了判定モデル訓練データ生成部４４は、訳出が完了していない目的言語文に関する単語対応データに、確率値０．０を与える。
そして、訓練データ生成装置４は、上に例示したような対訳文データを多数用いて、訓練データを生成する。
【００７０】
（３）学習によるＥＯＳモデルの構築
訳出完了判定モデル学習装置３は、上記の訓練データを用いた学習処理により、ＥＯＳモデルの構築を行う。
そのため、上記の処理で訓練データ記憶部４５に書き込まれた訓練データを、訳出完了判定モデル学習装置３内の訓練データ記憶部３２にコピーする。訳出完了判定モデル学習部３３は、訓練データ記憶部３２を参照し、その訓練データを用いた学習処理を行う。具体的には、訳出完了判定モデル学習部３３は、訓練データ（原言語文と対象言語文との単語対応関係のデータ、および対応する確率値）を読み込み、学習により内部のパラメーターを調整（最適化）する。
【００７１】
なお、機械学習手法自体としては、様々な既存の手法から適宜選択した手法を用いることができる。例えば、リカレントニューラルネットワーク（ＲＮＮ，Recurrent Neural Network）を用いることができる。また、畳み込みニューラルネットワーク（ＣＮＮ，Convolutional Neural Network）を用いることもできる。あるいは、サポートベクターマシン（ＳＶＭ，Support Vector Machine）を利用することもできる。これにより、訳出完了判定モデル学習部３３は、ＥＯＳモデルを構築する。訳出完了判定モデル学習部３３は、学習済のＥＯＳモデルに関するデータ（内部パラメーター）を訳出完了判定モデル記憶部３４に書き込む。学習済のＥＯＳモデルは、原言語文と訳出完了済の対象言語文が与えられたときには、１．０、または１．０に比較的近い数値を出力することとなる。また、そのＥＯＳモデルは、原言語文と訳出未完了の対象言語文が与えられたときには、０．０、または０．０に比較的近い数値を出力することとなる。
【００７２】
（４）機械翻訳中の訳出判別
次に、学習済のＥＯＳモデルを用いることによって、ニューラル機械翻訳での翻訳中に、訳出完了の状態であるか否かを判別する方法を説明する。そのため、訳出完了判定モデル学習装置３の訳出完了判定モデル記憶部３４に書き込まれているＥＯＳモデルを、訳出完了判定装置２内の訳出完了判定モデル記憶部２４にコピーしておく。
【００７３】
一例として、翻訳装置１は、次の原言語文Ｓ２を目的言語に翻訳する。
Ｓ２「彼女  は  昨日  東京  で  本  を  買った」
つまり、入力文取得部１１は、上記の原言語文Ｓ２を取得する。そして、ニューラル機械翻訳部１２は、原言語文Ｓ２の翻訳処理を行う。
ニューラル機械翻訳部１２は、出力仮説として、次の目的言語文Ｔ７を出力し、出力候補記憶部１４に書き込む。
Ｔ７「She bought a book yesterday」
この段階で、訳出完了判定装置２内の単語対応推定部２２は、入力文取得部１１から渡される原言語文Ｓ２と、出力候補記憶部１４から読み出した目的言語文Ｔ７との間での、単語対応を推定する。なお、単語対応の推定の際、単語対応推定部２２は、単語対応推定モデル記憶部２１を参照する。単語対応を推定した処理の結果として、単語対応推定部２２は、次の対応関係を得る。
「彼女：She」、「昨日：yesterday」、「本：book」、「買った：bought」
【００７４】
上記の単語対応関係に基づき、単語対応推定部２２は、下記の訳語付き原文Ｂ３を生成する。
Ｂ３：（彼女，She）（は，ＮＵＬＬ）（昨日，yesterday）（東京，ＮＵＬＬ）（で，ＮＵＬＬ）（本，book）（を，ＮＵＬＬ）（買った，bought）
単語対応推定部２２は、生成した訳語付き原文Ｂ３のデータを、単語対応情報記憶部２３に書き込む。訳出完了確率算出部２５は、単語対応情報記憶部２３から訳語付き原文Ｂ３を読み出し、学習済のＥＯＳモデルによって訳出完了の確率値を求める。具体的には、訳出完了確率算出部２５は、訳出完了判定モデル記憶部２４からＥＯＳモデルの情報（内部パラメーター等）を読み出し、訳語付き原文Ｂ３に対応する確率値を求める。なお、ＥＯＳモデルが［０，１］の連続値を前提とする場合には、訳出完了確率算出部２５が算出する値は、０．０以上且つ１．０以下の実数である。ＥＯＳモデルが０または１の２値を前提とする場合には、訳出完了確率算出部２５が算出する値は、０または１のいずれかである。
訳出完了確率算出部２５が算出したＥＯＳの確率を、ＰＥＯＳ（ＥＯＳ｜Ｓ２，Ｂ３）と表す。訳出完了確率算出部２５は、この確率の値を、出力候補確率補正部１６に渡す。
【００７５】
（５）出力確率の補正
ニューラル機械翻訳部１２は、目的言語文Ｔ７を出力したとき、出力候補の確率を出力候補確率記憶部１５に書き込む。出力の仮説がＴ７のとき、次の出力がＥＯＳである確率をＰＮＭＴ（ＥＯＳ｜Ｓ２，Ｔ７）と表す。出力候補確率補正部１６は、出力候補確率記憶部１５から、このＰＮＭＴ（ＥＯＳ｜Ｓ２，Ｔ７）を読み出すとともに、訳出完了確率算出部２５から渡されたＰＥＯＳ（ＥＯＳ｜Ｓ２，Ｂ３）の値を用いて、確率値を補正する。即ち、出力候補確率補正部１６は、補正後のＥＯＳの確率をＰＮＭＴ（ＥＯＳ｜Ｓ２，Ｔ７）×ＰＥＯＳ（ＥＯＳ｜Ｓ２，Ｂ３）とする。
そして、出力候補確率補正部１６は、上記の補正後の確率値を、補正済確率記憶部１７に書き込む。
【００７６】
図６は、本実施形態による翻訳システム全体の構成を示すブロック図である。図示するように、翻訳システム１００は、翻訳装置１と、訳出完了判定モデル学習装置３と、訓練データ生成装置４とを含んで構成される。また、翻訳装置１は、訳出完了判定装置２を内部に含んでいる。翻訳装置１と、訳出完了判定装置２と、訳出完了判定モデル学習装置３の各々の内部の機能については、図１等を参照しながら説明した通りである。訓練データ生成装置４の内部の機能については、図２等を参照しながら説明した通りである。
【００７７】
訓練データ生成装置４は、学習処理のための訓練データを生成する。訓練データ生成装置４によって生成された訓練データは、訳出完了判定モデル学習装置３に渡される。訳出完了判定モデル学習装置３は、上記訓練データを用いて、訳出完了判定モデルの学習処理を行う。訳出完了判定モデル学習装置３によって学習済の訳出完了判定モデルのデータは、訳出完了判定装置２に渡される。訳出完了判定装置２は、入力文と出力候補文との対に対して、訳出完了確率を算出する。翻訳装置１は、この訳出完了確率の値を用いて当該出力候補文の出力確率を補正する。
【００７８】
以上のように、本実施形態によると、訳出完了判定モデル学習装置３が訳出完了判定モデルの機械学習を行う。そして、学習済の訳出完了判定モデルを用いて、訳出完了判定装置２が訳出完了確率を求める。また、翻訳装置１は、求められた訳出完了確率を用いて、出力候補文の出力確率を補正する。これにより、訳出完了していない状態の出力候補文が、出力として選ばれる可能性が減る。即ち、本実施形態によると、翻訳装置１がニューラル機械翻訳を行う際の、訳抜けの発生頻度を、少なくとも減少させることができる。
【００７９】
なお、上述した実施形態における、翻訳装置や、訳出完了判定装置や、訳出完了判定モデル学習装置や、訓練データ生成装置といった装置の少なくとも一部の機能をコンピューターで実現するようにしても良い。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００８０】
［変形例］
本変形例では、翻訳装置１は、出力候補文を生成するためにビームサーチを用いる。なお、ビームサーチ自体は、既存技術であり、探索対象とする空間を絞りながら探索（ここでは、出力文の探索）処理を進めていく手法である。
【００８１】
本変形例では、翻訳装置１のニューラル機械翻訳部１２（ＮＭＴ）は、入力文を取得する。その後、ニューラル機械翻訳部１２は、出力文の文頭を表すＢＯＳ（Beginning of Sentence）を取得する。そして、ニューラル機械翻訳部１２は、ＢＯＳの次に出力する目的単語の確率を計算し、上位ｎ個（n-best）の確率を有する目的単語を求める。例えば、ビームの幅を３（ｎ＝３）とした場合、ニューラル機械翻訳部１２は、確率が上位の３単語（3-best）を求める。一例として、日英翻訳を行う場合で、入力文が日本語の「今日は晴れです」である場合、ＢＯＳに続く確率が上位３位までの単語例は、it, today , fineである。
単語：it, 確率：0.02
単語：today, 確率：0.01
単語：fine, 確率：0.001
そして、ニューラル機械翻訳部１２は、さらに、その次の単語の確率を計算する。例えば、ＢＯＳ−ｉｔという系列に関して、確率Ｐ（Ｘ｜ＢＯＳ，ｉｔ）の上位３位までの単語（3-best）の例は、次の通りである。
Ｘ＝is, 確率：0.6
Ｘ＝was, 確率：0.2
Ｘ＝will, 確率：0.1
そして、ニューラル機械翻訳部１２は、同様に、確率Ｐ（Ｘ｜ＢＯＳ，ｔｏｄａｙ）, 確率Ｐ（Ｘ｜ＢＯＳ，ｆｉｎｅ）のそれぞれに関しても、上位３位までの単語を求める。
このようにして、出力仮説長が２（ＢＯＳを含まない長さ）の場合に、ニューラル機械翻訳部１２は、計９個の仮説を求める。
なお、ビーム幅３としているため、ここで、ニューラル機械翻訳部１２は、それら９個の仮説を、確率値によりソートして、上位３位までの仮説だけを残し、他の仮説を枝刈りする。また、ニューラル機械翻訳部１２は、残った３個の仮説を、次の単語の確率の計算に用いる。
【００８２】
なお、確率の計算において、仮説全体の確率は、その仮説の系列中の単語確率の積で求められる。
また、次の単語のn-bestの中にＥＯＳが含まれた場合には、その系列が１つの出力文候補となる。例えば、Ｐ（Ｘ｜ＢＯＳ，ｉｔ，ｉｓ）に続く単語の候補が、次の３単語である場合、２番目の候補はＸ＝ＥＯＳである。
Ｘ＝fine，確率：0.4
Ｘ＝EOS，確率：0.3
Ｘ＝rain，確率：0.01
上記の２番目の候補であるＥＯＳは、この単語列の訳出終了を表している。そして、対応する出力候補は、「BOS it is EOS」である。ただし、この出力候補は訳抜けの例である。
【００８３】
本変形例では、n-bestの上位解だけを残す（例えば、仮設長が２である９個の上位解から3-bestだけを残す）。その際、本変形例による翻訳装置１は、ＥＯＳの確率を、訳出完了判定装置２が算出した確率によって補正する。そして、翻訳装置１は、補正後のＥＯＳの確率に基づいて出力候補文を探索する。なお、ある仮説内にＥＯＳが含まれている場合も、翻訳装置１は、ＥＯＳを含まない他の仮説に関しては後続する単語の探索を続ける。
【００８４】
なお、ビームサーチを用いる場合の機械翻訳の終了条件として、例えば、出力仮説長が入力文長のａ倍（ただし、ａは、パラメーター値として適宜定められる実数）に達したという条件を用いることができる。
また、訳出完了判定モデルに基づいて算出される確率値に基づいて、機械翻訳の終了条件を定めてもよい。
【００８５】
図７は、本変形例における訳出完了判定装置２が算出する訳出完了確率を用いながらニューラル翻訳処理を行う処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
【００８６】
ステップＳ２１１において、翻訳装置１のニューラル機械翻訳部１２は、ニューラル機械翻訳処理を実行してｎ−ｂｅｓｔ単語を生成する。この結果、ニューラル機械翻訳部１２は、出力文の一部となるｎ−ｂｅｓｔ単語を生成し、それらの単語の情報を出力候補記憶部１４に書き込む。
ステップＳ２１２において、ニューラル機械翻訳部１２は、ステップＳ２１１で生成されたｎ−ｂｅｓｔ単語が、ＥＯＳを含むか否かを判定する。ｎ−ｂｅｓｔ単語がＥＯＳを含む場合（ステップＳ２１２：ＹＥＳ）には、翻訳装置１は、その仮説に関してステップＳ２１３からＳ２１５までの処理を実行する。ｎ−ｂｅｓｔ単語がＥＯＳを含まない場合（ステップＳ２１２：ＮＯ）には、翻訳装置１は、ステップＳ２１６の処理に移る。
【００８７】
ステップＳ２１３において、単語対応推定部２２は、入力文取得部１１から原言語文を取得し、出力候補記憶部１４から出力候補文を読み出す。そして、単語対応推定部２２は、それらの入力文と出力候補文との間の単語対応を推定する。単語対応推定部２２は、推定結果である単語対応情報を、単語対応情報記憶部２３に書き込む。
ステップＳ２１４において、訳出完了確率算出部２５は、単語対応情報記憶部２３から、入力文と出力候補文との間の単語対応の情報を読み出し、この対応情報を訳出完了判定モデルに適用することによって、訳出完了確率を算出する。訳出完了確率算出部２５は、算出された訳出完了確率の値を、出力候補確率補正部１６に渡す。
ステップＳ２１５において、出力候補確率補正部１６は、訳出完了確率算出部２５から渡された訳出完了確率（［０，１］の連続値、あるいは、０または１の２値）を乗じることによって、出力候補確率を補正する。
【００８８】
ステップＳ２１６において、ニューラル機械翻訳部１２は、設定されているビーム幅に応じて、不要な仮説を削除する。言い換えれば、ビーム幅がｎであるとき、ニューラル機械翻訳部１２は、ｎ−ｂｅｓｔの仮説のみを残し、他の候補を枝刈りする。
ステップＳ２１７において、翻訳装置１は、前述の終了条件を満たすか否かを判定する。終了条件が満たされる場合（ステップＳ２１７：ＹＥＳ）、翻訳装置１は、本フローチャート全体の処理を終了する。終了条件が満たされない場合（ステップＳ２１７：ＮＯ）、翻訳装置１は、ステップＳ２１１に戻り、処理を続行する。
【００８９】
この変形例によれば、翻訳装置１は、訳出完了判定装置２による推定結果に基づき、ビームサーチを用いて、機械翻訳を行うことが可能となる。
【００９０】
以上、実施形態およびその変形例（ビームサーチを用いる場合）を説明したが、本発明はさらに次のような変形例でも実施することが可能である。
上記実施形態では、原言語が日本語で、目的言語が英語である場合を例にとって説明した。翻訳システムは、これに限らず、任意の言語を、原言語として、あるいは目的言語として、処理することができる。
上記実施形態における訓練データ生成装置４は、負例の訓練データを生成するために、原言語文内の単語と目的言語内の単語との対応付けを行ってから、目的言語文内の単語を削除する。
【００９１】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００９２】
本発明は、例えば、自然言語の翻訳処理等に利用することができる。但し、本発明の利用範囲はここに例示したものには限られない。
【符号の説明】
【００９３】
１  翻訳装置
２  訳出完了判定装置
３  訳出完了判定モデル学習装置
４  訓練データ生成装置
１１  入力文取得部
１２  ニューラル機械翻訳部
１４  出力候補記憶部
１５  出力候補確率記憶部
１６  出力候補確率補正部
１７  補正済確率記憶部
２１  単語対応推定モデル記憶部
２２  単語対応推定部（第２単語対応推定部）
２３  単語対応情報記憶部
２４  訳出完了判定モデル記憶部
２５  訳出完了確率算出部
３２  訓練データ記憶部
３３  訳出完了判定モデル学習部
３４  訳出完了判定モデル記憶部
４１  対訳コーパス記憶部
４２  単語対応推定部（第１単語対応推定部）
４３  単語対応情報記憶部
４４  訳出完了判定モデル訓練データ生成部
４５  訓練データ記憶部
１００  翻訳システム
【図１】
2019185392.tif 000003
【図２】
2019185392.tif 000004
【図３】
2019185392.tif 000005
【図４】
2019185392.tif 000006
【図５】
2019185392.tif 000007
【図６】
2019185392.tif 000008
【図７】
2019185392.tif 000009