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

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

▶ 国立大学法人 奈良先端科学技術大学院大学の特許一覧

特許7570666機械翻訳学習方法、装置及びプログラム、並びに、機械翻訳方法、装置及びプログラム
<>
  • 特許-機械翻訳学習方法、装置及びプログラム、並びに、機械翻訳方法、装置及びプログラム 図1
  • 特許-機械翻訳学習方法、装置及びプログラム、並びに、機械翻訳方法、装置及びプログラム 図2
  • 特許-機械翻訳学習方法、装置及びプログラム、並びに、機械翻訳方法、装置及びプログラム 図3
  • 特許-機械翻訳学習方法、装置及びプログラム、並びに、機械翻訳方法、装置及びプログラム 図4
  • 特許-機械翻訳学習方法、装置及びプログラム、並びに、機械翻訳方法、装置及びプログラム 図5
  • 特許-機械翻訳学習方法、装置及びプログラム、並びに、機械翻訳方法、装置及びプログラム 図6
  • 特許-機械翻訳学習方法、装置及びプログラム、並びに、機械翻訳方法、装置及びプログラム 図7
  • 特許-機械翻訳学習方法、装置及びプログラム、並びに、機械翻訳方法、装置及びプログラム 図8
  • 特許-機械翻訳学習方法、装置及びプログラム、並びに、機械翻訳方法、装置及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-11
(45)【発行日】2024-10-22
(54)【発明の名称】機械翻訳学習方法、装置及びプログラム、並びに、機械翻訳方法、装置及びプログラム
(51)【国際特許分類】
   G06F 40/44 20200101AFI20241015BHJP
   G06N 3/08 20230101ALI20241015BHJP
【FI】
G06F40/44
G06N3/08
【請求項の数】 7
(21)【出願番号】P 2020137677
(22)【出願日】2020-08-17
(65)【公開番号】P2022033658
(43)【公開日】2022-03-02
【審査請求日】2023-06-16
【新規性喪失の例外の表示】特許法第30条第2項適用 1)刊行物名 情報処理学会研究報告 Vol.2019-NL-241 No.20 発行日 2019年8月22日 発行所 一般社団法人情報処理学会 2)ウェブサイトのアドレス https://arxiv.org/abs/1911.11933 ウェブサイトの掲載日 2019年11月27日
(73)【特許権者】
【識別番号】504143441
【氏名又は名称】国立大学法人 奈良先端科学技術大学院大学
(74)【代理人】
【識別番号】110000822
【氏名又は名称】弁理士法人グローバル知財
(72)【発明者】
【氏名】帖佐 克己
(72)【発明者】
【氏名】須藤 克仁
(72)【発明者】
【氏名】中村 哲
【審査官】長 由紀子
(56)【参考文献】
【文献】特開2018-028848(JP,A)
【文献】米国特許出願公開第2020/0104371(US,A1)
【文献】須藤 克仁 外6名,漸進的な音声認識・機械翻訳・テキスト音声合成に基づく音声から音声への同時翻訳,言語処理学会第26回年次大会 発表論文集 [online] ,日本,言語処理学会,2020年03月09日,pp.1015-1018,Internet<URL:https://www.anlp.jp/proceedings/annual_meeting/2020/pdf_dir/E4-3.pdf>
【文献】帖佐 克己 外2名,英日同時通訳におけるニューラル機械翻訳の検討,言語処理学会第25回年次大会 発表論文集[online] ,日本,言語処理学会,2019年03月04日,pp.534-537,Internet<URL:http://www.anlp.jp/proceedings/annual_meeting/2019/pdf_dir/P3-6.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/44
G06N 3/00-99/00,180
G10L 13/00
(57)【特許請求の範囲】
【請求項1】
原言語文の入力完了を待たずに目的言語への翻訳と出力を行うニューラル機械翻訳における翻訳モデルの学習方法であって、
原言語文のトークン化により分割された記号列と、原言語文との対訳となっている目的言語文のトークン化により分割された記号列との対を入力する学習文対入力ステップと、
前記翻訳モデルを含む学習器に対して、前記記号列に基づく入力系列を入力して、翻訳出力できるタイミングで前記翻訳モデルによる前記入力系列の翻訳をなす目的言語の記号を予測した系列を出力し、前記入力系列の個々の翻訳出力を遅延させる遅延記号が目的言語側の予測記号に追加され、翻訳出力できないタイミングで前記遅延記号を出力系列中に出力する学習時出力予測ステップと、
前記入力系列の目的言語側の正解記号列と前記出力系列の予測記号列との比較において、前記遅延記号を無視して計算される第1の誤差損失と、前記入力系列の目的言語側の正解記号列と前記出力系列の予測記号列との比較において、正解記号列と遅延記号の位置または回数のみが異なる予測記号列仮説を統合して計算される第2の誤差損失と、前記遅延記号の出力ステップ数に基づく第3の誤差損失とに基づく目的関数を最適化指標として用いる目的関数計算ステップと、
前記目的関数の計算値に基づいて前記翻訳モデルを含む学習器のパラメタを更新するパラメタ更新ステップ、
を備えることを特徴とする機械翻訳学習方法。
【請求項2】
前記第1の誤差損失において、前記入力系列が入力されている間に前記遅延記号を出力された場合には、前記遅延記号の誤差は0とし、
前記第2の誤差損失において、前記遅延記号の出力タイミングについて探索可能な経路をすべて考慮した正解確率に基づいて誤差損失が算出されることを特徴とする請求項1に記載の機械翻訳学習方法。
【請求項3】
前記第2の誤差損失において、CTC(Connectionist Temporal Classification)の損失関数を用い、前記遅延記号の出力タイミングについて探索可能な経路のうち正解となる経路の確率の総和に基づいて誤差損失が算出されることを特徴とする請求項1又は2に記載の機械翻訳学習方法。
【請求項4】
原言語文の入力完了を待たずに目的言語への翻訳と出力を行うニューラル機械翻訳における翻訳モデルの学習装置であって、
原言語文のトークン化により分割された記号列と、原言語文との対訳となっている目的言語文のトークン化により分割された記号列との対を入力する学習文対入力部と、
前記翻訳モデルを含む学習器に対して、前記記号列に基づく入力系列を入力して、翻訳出力できるタイミングで前記翻訳モデルによる前記入力系列の翻訳をなす目的言語の記号を予測した系列を出力し、前記入力系列の個々の翻訳出力を遅延させる遅延記号が目的言語側の予測記号に追加され、翻訳出力できないタイミングで前記遅延記号を出力系列中に出力する学習時出力予測部と、
前記入力系列の目的言語側の正解記号列と前記出力系列の予測記号列との比較において、前記遅延記号を無視して計算される第1の誤差損失と、前記入力系列の目的言語側の正解記号列と前記出力系列の予測記号列との比較において、正解記号列と遅延記号の位置または回数のみが異なる予測記号列仮説を統合して計算される第2の誤差損失と、前記遅延記号の出力ステップ数に基づく第3の誤差損失とに基づく目的関数を最適化指標として用いる目的関数計算部と、
前記目的関数の計算値に基づいて前記翻訳モデルを含む学習器のパラメタを更新するパラメタ更新部、
を備えることを特徴とする機械翻訳学習装置。
【請求項5】
請求項1~3の何れかの機械翻訳学習方法における前記学習文対入力ステップと前記学習時出力予測ステップと前記目的関数計算ステップと前記パラメタ更新ステップを、コンピュータに実行させるための機械翻訳学習プログラム。
【請求項6】
請求項1~3の何れかの機械翻訳学習方法、又は、請求項4の機械翻訳学習装置を用いて学習した前記翻訳モデルを含む学習器を読み込むモデル読み込みステップと、
翻訳対象文のトークン化により分割された記号列を入力する翻訳対象文入力ステップと、
読み込んだ前記学習器に対して、前記記号列に基づく入力系列を入力して、翻訳出力できるタイミングで前記翻訳モデルによる前記入力系列の翻訳をなす目的言語の記号を予測した系列を出力し、翻訳出力できないタイミングで前記遅延記号を出力系列中に出力する出力予測ステップと、
コンピュータが行うことを特徴とする機械翻訳方法。
【請求項7】
請求項1~3の何れかの機械翻訳学習方法、又は、請求項4の機械翻訳学習装置を用いて学習した前記翻訳モデルを含む学習器を読み込むモデル読み込み部と、
翻訳対象文のトークン化により分割された記号列を入力する翻訳対象文入力部と、
読み込んだ前記学習器に対して、前記記号列に基づく入力系列を入力して、翻訳出力できるタイミングで前記翻訳モデルによる前記入力系列の翻訳をなす目的言語の記号を予測した系列を出力し、翻訳出力できないタイミングで前記遅延記号を出力系列中に出力する出力予測部と、
を備えることを特徴とする機械翻訳装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータを使って言語の翻訳を行うニューラル機械翻訳技術に関し、自然言語文を単語が出現する順にしたがって解析し、文を途中まで入力した段階で意味を解析する漸進的な入力に対して実時間で翻訳を行う同時機械翻訳技術に関するものである。
【背景技術】
【0002】
同時翻訳は、文の入力が終了する前にその文の翻訳を開始するコンピュータの処理タスクである。同時翻訳は、話し言葉による講演や会話などに求められる発話理解のリアルタイム性を実現する助けとなり、円滑なコミュニケーションを推進することができる。
従来の機械翻訳装置では、文の終端が入力されるまで翻訳を行わないといった処理が行われている。しかし、話し言葉ではしばしば文境界が明らかでない場合があり、文を統一的な処理単位としようとすると文同定の不整合が生じやすいといったことから、機械翻訳装置に対して、複数文が結合されたものや不完全な文が入力として与えられる場合があり、文単位かつ文の終端まで入力されることを仮定している従来の装置では、学習時と異なった環境で翻訳を行うことになり翻訳精度の低下を招くといった問題がある。
【0003】
かかる問題に対して、従来の機械翻訳装置では、同時翻訳において、文を小さいチャンクに分割して翻訳することにより、翻訳結果が得られるまでの遅延時間を削減する試みが行われてきた(例えば、特許文献1を参照)。
しかし、逆に遅延時間を小さくすればするほど、訳出の際に参照できる文内文脈が限られてくるため、翻訳精度が低下するという問題も発生する。このように、同時翻訳においては、入力に対して対応する内容の翻訳を低遅延で行うことが求められる一方で、遅延削減のために即時翻訳を行おうとすると文脈情報の不足により訳質が低下する可能性がある。そのため、同時翻訳の処理タスクでは、遅延時間の低減と翻訳精度の向上のトレードオフを考慮した訳出開始タイミングの制御が求められ、翻訳装置を構築する際には、翻訳を行うタイミングを適切に決定する必要がある。
【0004】
上記の問題を解決するニューラル機械翻訳(Neural Machine Translation;以下、NMTともいう)のモデルとして幾つかの手法が提案されている。Guらは既存の翻訳モデルに対して1単語を入力するREADと1単語を訳出するWRITEの2つのアクションを定義し、各タイムステップにおいてモデルがどちらのアクションを行うべきであるかを決定する分類器を強化学習によって学習する手法を提案している(非特許文献1を参照)。Guらの手法は、一定の翻訳精度を保ったまま遅延を削減することに成功しているが、翻訳装置が文の部分的な情報から翻訳することに対して最適化されていないという問題がある。
【0005】
また、Maらは、“Wait-k”モデルと呼ばれる非常にシンプルな翻訳モデルを提案している。Maらが提案する翻訳モデルでは、原言語側の文の入力に対して常にkトークン遅れた状態で翻訳文の生成を行う(非特許文献2を参照)。kトークンのみの遅延では訳出に必要な語句がまだ入力されていない状況が起こり得るが、そうした場合でも強制的に訳語を予測し生成することになる。この方法により翻訳を行う機構と単語の予測を行う機構の両方を統合して扱うことが可能になり、それを入力から出力までが単一のモデルで完結するような枠組み(End-to-End)で学習することができる。この手法は非常にシンプルにも拘らず、英語からドイツ語、中国語から英語の同時翻訳タスクにおいて高い精度を達成している。また、kを変化させることで遅延の大きさを直感的に調整することができるという利点もある。
しかしながら、かかる手法では遅延を適応的に調節することが出来ないため、英語と日本語のような語順が大きく異なる言語対では、1つのフレーズの長さがkよりも大きい場合などに翻訳を失敗してしまうという問題がある。
【0006】
また、帖佐克己らは、英語と日本語のような語順が大きく異なる言語対での翻訳において、特に遅延時間が大きくなる傾向にあるため、同時翻訳において翻訳精度を落とすことなく遅延を小さくすることが難しいことを指摘している(非特許文献3を参照)。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2016-71761号公報
【非特許文献】
【0008】
【文献】Jiatao Gu et al., “Learning to Translate in Real-time with Neural Machine Translation, Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics”, Volume 1 (Long Papers), pp. 1053-1062 (2017).
【文献】Mingbo Ma et al.,”STACL: Simultaneous Translation with Implicit Anticipation and Controllable Latency using Prefix-to-Prefix Framework”, Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 3025-3036 (2019).
【文献】帖佐克己ら,「英日同時通訳におけるニューラル機械翻訳の検討」,言語処理学会第25回年次大会発表論文集, pp.462-465 (2019).
【発明の概要】
【発明が解決しようとする課題】
【0009】
上述したとおり、同時翻訳における訳出開始タイミングの決定についての従来技術として、非特許文献1に記載の強化学習に基づく方法、非特許文献2に記載の固定長の遅延に基づく方法の2つが挙げられる。
しかしながら、非特許文献1に記載の方法では、訳出開始のタイミングは適応的に決定できるものの、機械翻訳モデルのパラメタは遅延を考慮せずに学習するため、漸進的処理を行う同時機械翻訳に適した訳語選択を行えないといった問題がある。また、非特許文献2に記載の方法では、固定長の遅延に基づいた漸進的処理に最適化された機械翻訳モデルのパラメタが学習できるものの、遅延の設定が過剰であれば訳出が過度に遅れ、過小であれば訳語選択の精度が低下するといった問題がある。さらに、非特許文献3では、非特許文献2に記載の方法を英日翻訳に適用する際には語順の違いに起因する翻訳誤りを抑制するために遅延を大きく設定しなければならないといった問題がある。
【0010】
かかる状況に鑑みて、本発明は、漸進的な入力に対して適応的な訳出開始タイミングの決定が可能であり、かつ漸進的処理に最適化された機械翻訳モデルのパラメタが学習可能である機械翻訳学習方法、装置及びプログラム、並びに、遅延時間の低減と翻訳精度の向上のトレードオフを考慮した訳出開始タイミングの制御を可能とする機械翻訳方法、装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決すべく、本発明の機械翻訳学習方法は、原言語文の入力完了を待たずに目的言語への翻訳と出力を行うニューラル機械翻訳における翻訳モデルの学習方法であって、下記1a~4aのステップを備える。
ステップ1a)原言語文のトークン化により分割された記号列と、原言語文との対訳となっている目的言語文のトークン化により分割された記号列との対を入力する学習文対入力ステップ。ここで、トークン化により分割された記号列とは、文を形態素解析などの構文解析により、入力文または出力文の最小単位(トークン)に変換し、トークン単位に分割した記号列をいう。トークンは、文字や記号、単語であっても、任意の文字列が2文字だけ続いた文字バイグラムであってもよい。
ステップ2a)翻訳モデルを含む学習器に対して、記号列に基づく入力系列を入力して、翻訳出力できるタイミングで翻訳モデルによる入力系列の翻訳をなす目的言語の記号を予測した系列を出力し、入力系列の個々の翻訳出力を遅延させる遅延記号が目的言語側の予測記号に追加され、翻訳出力できないタイミングで遅延記号を出力系列中に出力する学習時出力予測ステップ。
本発明では、目的言語側の予測記号に新たなメタトークン(遅延記号)が追加され、訳出するべきでないタイミングでは翻訳モデルが遅延記号を出力することにより、訳出タイミングを適応的に決定する。訳出タイミングを適応的に決定することにより、日本語と英語のような語順が大きく異なる言語対における同時翻訳の処理タスクで一定の遅延を保ったまま翻訳精度を向上させることができる。
【0012】
ステップ3a)第1の誤差損失と第2の誤差損失と第3の誤差損失とに基づく目的関数を最適化指標として用いる目的関数計算ステップ。
ここで、第1の誤差損失とは、入力系列の目的言語側の正解記号列と出力系列の予測記号列との比較において、遅延記号を無視して計算される誤差損失である。第2の誤差損失とは、入力系列の目的言語側の正解記号列と出力系列の予測記号列との比較において、正解記号列と遅延記号の位置または回数のみが異なる予測記号列仮説を統合して計算される誤差損失である。すなわち、第2の誤差損失の場合、正解記号列と遅延記号の位置または回数のみが異なる予測記号列は、後述の実施例で説明するように、複数の系列が存在し、それぞれの系列を「仮説」と言うことから、それら複数の系列を「予測記号列仮説」といい、予測記号列仮説の個々の確率の総和に基づいて第2の誤差損失を計算する。そして、第3の誤差損失は、遅延記号の出力ステップ数に基づく誤差損失である。目的関数は、第1の誤差損失と第2の誤差損失と第3の誤差損失を単純に足し合わせることでもよく、また、3つの誤差損失の重み付け加算とすることでもよい。
ステップ4a)目的関数の計算値に基づいて翻訳モデルを含む学習器のパラメタを更新するパラメタ更新ステップ。
【0013】
上記の第1の誤差損失において、入力系列が入力されている間に遅延記号を出力された場合には、遅延記号の誤差は0とし、第2の誤差損失において、遅延記号の出力タイミングについて探索可能な経路をすべて考慮した正解確率に基づいて誤差損失が算出されることが好ましい態様である。
【0014】
また、上記の第2の誤差損失において、具体的には、CTC(Connectionist Temporal Classification)の損失関数を用い、遅延記号の出力タイミングについて探索可能な経路のうち正解となる経路の確率の総和に基づいて誤差損失が算出される。
遅延記号を、どのタイミングで出力すべきであるかという正解データが無いという問題を解決するために、CTCと呼ばれるアルゴリズムを損失関数として導入する。CTCは、発話音声の音素予測のような出力タイミングが不定な系列のモデリングなどに用いられる誤差関数であり、この誤差関数を用いることによって、遅延記号を含む正解系列に対して最適化を行うことが可能となる。
【0015】
次に、本発明の機械翻訳学習装置について説明する。
本発明の機械翻訳学習装置は、原言語文の入力完了を待たずに目的言語への翻訳と出力を行うニューラル機械翻訳における翻訳モデルの学習装置であって、下記の1b~4bを備える。
1b)原言語文のトークン化により分割された記号列と、原言語文との対訳となっている目的言語文のトークン化により分割された記号列との対を入力する学習文対入力部。
2b)翻訳モデルを含む学習器に対して、記号列に基づく入力系列を入力して、翻訳出力できるタイミングで翻訳モデルによる入力系列の翻訳をなす目的言語の記号を予測した系列を出力し、入力系列の個々の翻訳出力を遅延させる遅延記号が目的言語側の予測記号に追加され、翻訳出力できないタイミングで遅延記号を出力系列中に出力する学習時出力予測部。
3b)入力系列の目的言語側の正解記号列と出力系列の予測記号列との比較において、遅延記号を無視して計算される第1の誤差損失と、入力系列の目的言語側の正解記号列と出力系列の予測記号列との比較において、正解記号列と遅延記号の位置または回数のみが異なる予測記号列仮説を統合して計算される第2の誤差損失と、遅延記号の出力ステップ数に基づく第3の誤差損失とに基づく目的関数を最適化指標として用いる目的関数計算部。
4b)目的関数の計算値に基づいて翻訳モデルを含む学習器のパラメタを更新するパラメタ更新部。
【0016】
本発明の機械翻訳学習プログラムは、本発明の機械翻訳学習方法における学習文対入力ステップと学習時出力予測ステップと目的関数計算ステップとパラメタ更新ステップを、コンピュータに実行させるためのプログラムである。
【0017】
次に、本発明の機械翻訳方法、機械翻訳装置、及び機械翻訳プログラムについて説明する。
本発明の機械翻訳方法は、上述の本発明の機械翻訳学習方法、又は、本発明の機械翻訳学習装置を用いて学習した翻訳モデルを含む学習器を読み込むモデル読み込みステップと、翻訳対象文のトークン化により分割された記号列を入力する翻訳対象文入力ステップと、読み込んだ学習器に対して、記号列に基づく入力系列を入力して、翻訳出力できるタイミングで翻訳モデルによる入力系列の翻訳をなす目的言語の記号を予測した系列を出力し、翻訳出力できないタイミングで遅延記号を出力系列中に出力する出力予測ステップをコンピュータが行う
【0018】
本発明の機械翻訳装置は、上述の本発明の機械翻訳学習方法、又は、本発明の機械翻訳学習装置を用いて学習した翻訳モデルを含む学習器を読み込むモデル読み込み部と、翻訳対象文のトークン化により分割された記号列を入力する翻訳対象文入力部と、読み込んだ学習器に対して、記号列に基づく入力系列を入力して、翻訳出力できるタイミングで翻訳モデルによる入力系列の翻訳をなす目的言語の記号を予測した系列を出力し、翻訳出力できないタイミングで遅延記号を出力系列中に出力する出力予測部を備える。
【0019】
本発明の機械翻訳プログラムは、上述の本発明の機械翻訳方法における出力予測ステップを、コンピュータに実行させるためのプログラムである。
【発明の効果】
【0020】
本発明の機械翻訳学習方法、装置及びプログラムによれば、漸進的な入力に対して適応的な訳出開始タイミングの決定が可能であり、かつ漸進的処理に最適化された機械翻訳モデルのパラメタが学習できるといった効果がある。
また、本発明の機械翻訳方法、装置及びプログラムによれば、遅延時間の低減と翻訳精度の向上のトレードオフを考慮した訳出開始タイミングの制御ができるといった効果がある。
【図面の簡単な説明】
【0021】
図1】NMTにおけるエンコーダー・デコーダーモデルの模式図
図2】同時翻訳モデルの説明図
図3】先行技術の“Wait-k”モデル(3トークン遅延のケース)の説明図
図4】エンコーダー・デコーダーモデルにおけるRNNの説明図
図5】本発明の機械翻訳学習方法の学習処理フロー及び機械翻訳方法の翻訳処理フロー
図6】本発明の機械翻訳学習装置及び機械翻訳装置の機能ブロック図
図7】日英翻訳における入力系列と出力系列の説明例1
図8】日英翻訳における入力系列と出力系列の説明例2
図9】第2の誤差損失における複数の予測記号列についての説明図
【発明を実施するための最良の形態】
【0022】
先ず、NMTにおける公知の翻訳モデルおよび上述の非特許文献2に示すMaらが提案する翻訳モデルである“Wait-k”モデルによる同時翻訳について説明し、その後、本発明の機械翻訳学習方法及び機械翻訳方法について説明する。
NMTは、ニューラルネットワークに深層学習させて機械翻訳を行うものである。NMTは、ニューラルネットワークが言語の素性(特徴)を自動的に学習し、原言語と目的言語の2言語の対応付けを数値ベクトルで表現し、エンコーダー・デコーダーモデルで機械翻訳を行う。図1にエンコーダー・デコーダーモデルの模式図を示す。なお、図1においては、後述するアテンション機構付きデコーダーを示している。
【0023】
NMTでは、2言語間の大量の訳文テキストを構造化した対訳データ(対訳コーパス)を用いて、ニューラルネットワークが原言語の学習を行い(学習処理)、学習が完了後に、以下に説明するように、学習済のニューラルネットワークのモデルが、入力した原言語文を目的言語文に翻訳する(翻訳処理)。学習済のニューラルネットワークのモデルでは、まず、原言語文を形態素解析などの構文解析によりトークン化したものを分割して入力系列(記号列)にする。図1に示すように、エンコーダーは、入力系列(記号列)を入力し、記号列を分散表現(原言語文の特徴を数値の並びで表現したもの)に変換し、数値ベクトル化して原言語文のベクトルを作成する。そして、エンコーダーとデコーダーは、どちらも再帰型ニューラルネットワーク(Recurrent Neural Network:以下、RNN)を用いて構成され、中間層において、作成したベクトル群がRNNによって処理される。
アテンション機構(Attention Mechanism)付きのデコーダーでは、アテンション機構が、原言語文の訳文の各単語(記号)を生成する際に、原言語文のどの単語(記号)に注目しているかを同定し、次に訳出すべき入力文中の部分を推定する。デコーダーは、原言語文のベクトルとアテンション情報に基づいて、目的言語文の記号列を順に生成し、目的言語文のベクトルを生成し、可変長の出力系列(記号列)を出力する。
本明細書において、原言語文(入力系列)Xおよび目的言語文(出力系列)Yを、以下のとおり定義する。
【0024】
【数1】
【0025】
ここで、x(i=1,2,3,・・・,I)は、原言語文(入力系列)のi番目の入力記号を表すone-hotベクトル(i番目の要素のみが1でその他の要素が0であるようなベクトル表現)、Iは入力系列の長さであり、y(j=1,2,3,・・・,J)は、目的言語文(出力系列)のj番目の出力予測記号を表すone-hotベクトル(j番目の要素のみが1でその他の要素が0であるようなベクトル表現)、Jは出力系列の長さを表す。このとき、原言語文から目的言語文への翻訳という問題は、下記式1で示される文に対する条件付き確率p(Y|X)を最大化する目的言語文を求めることによって解くことができる。
図2に示す例では、原言語文(入力系列)が長さ7(時刻ステップ1~7)の記号列であり、目的言語文(出力系列)が長さ8(時刻ステップ1~8)の記号列を示しており、中間層において、隠れ状態と過去の出力系列に基づいて各時刻ステップにおける出力系列の予測記号を出力する。
【0026】
【数2】
【0027】
上記式1で示す条件付き確率p(Y|X)は、原言語文Xと時間ステップjまでに生成した目的言語文y<jから単語yに対する条件付き確率の積の形として分解される。この条件付き確率p(Y|X)は、従来のNMTの翻訳モデルでは、下記式2のように分解されるのに対して、“Wait-k”モデルでは文の先頭から途中までの記号のみが入力された状態から訳出を行う必要があることから下記式3のように分解される。
【0028】
【数3】
【0029】
ここで、x<g(j)は、時間ステップjまでに入力された入力系列を表す。また、g(j)は、デコーダーが時間ステップjまでトークンを生成したときに、エンコーダーによって処理されているトークン数を表し、下記式4のように定義される。
【0030】
【数4】
【0031】
上記式4において、kは、目的言語文の生成が原言語文の入力よりも、kトークン遅延していることを表すパラメタであり、“Wait-k”モデルでは、kは固定値である。“Wait-k”モデルは、エンコーダーと、アテンション機構付きデコーダーとから構成され、そのどちらも再帰型ニューラルネットワーク(RNN)を用いて構成される。すなわち、図3に示すように、“Wait-k”モデル(k=3)を用いた場合には、3トークン遅延して、翻訳出力されることになる。
図4に示すように、エンコーダーは、原言語文Xの入力系列における時刻ステップtの入力記号xを入力し、中間層のRNNを通じて、1つ前(i-1番目)の隠れ状態ベクトルhi-1に基づいて、下記式5で示される順方向の隠れ状態ベクトルh(1≦i≦I)を出力し、デコーダーが隠れ状態と過去の出力系列に基づいて時刻ステップtの予測記号yを出力する。
【0032】
【数5】
【0033】
従来のNMTの翻訳モデルでは、入力文を逆順に並べたものを同様に入力することにより、逆方向の隠れ状態ベクトルを計算するが、同時翻訳の処理タスクでは文末が確定しない状況で文を処理する必要があるため、順方向のベクトルのみを用いる。
【0034】
また、アテンション機構付きデコーダーは、エンコーダーで計算された入力文の隠れ状態ベクトルから翻訳文の単語を1つずつ生成する。デコーダーのRNN層は、隠れ状態と過去の出力系列から自己再帰的に単語を生成する。出力単語yの生成確率pθ(y|y<j,x≦g(j))は、下記式6~8のように定義される。
【0035】
【数6】
【0036】
ここで、W,Wは重み行列であり、学習される翻訳モデルのパラメタである。また、cは文脈ベクトル(コンテキストベクトル)であり、アテンション機構を用いてcを求める。すなわち、上記式8に示すように、1つ前(j-1番目)のデコーダーの情報と、j-1番目の出力系列に基づいてdが計算され、上記式7に示すように、文脈ベクトルcとdとを結合して、j番目のアテンションベクトルを求める。なお、ソフトマックス(softmax)関数は、出力値の合計が1になるようにし、出力を確率に変換する活性化関数であり、ハイパボリックタンジェント(tanh)関数はベクトルの各入力要素に対して、-1.0~1.0の範囲の数値に変換し出力する活性化関数である。
【0037】
アテンション機構では、下記式10のように、入力系列の各隠れ状態ベクトルhに対応する時間ステップjにおいて、アテンションスコアと呼ばれる重みαijを計算する。重みαijは、デコーダーの状態dj Tにおいて、隠れ状態ベクトルhに対する重要度を表す。また、文脈ベクトルcは、下記式9のように、重みαijとその隠れ状態ベクトルhとの重み付き平均を算出することにより求められる。
【0038】
【数7】
【0039】
以上のとおり、NMTにおける公知の翻訳モデルおよび“Wait-k”モデルについて簡単に説明したが、以下では、本発明の実施形態の一例を、図面を参照しながら詳細に説明していく。なお、本発明の範囲は、以下の実施例や図示例に限定されるものではなく、幾多の変更及び変形が可能である。
【実施例1】
【0040】
本発明の機械翻訳学習方法は、原言語文の入力完了を待たずに目的言語への翻訳と出力を行えるように翻訳モデルを学習する方法である。以下の説明では、日本語から英語への翻訳例(原言語文が和文、目的言語が英文)を用いる。学習処理では、予め学習用の学習文対データベース(日英対訳コーパス)が用意されているとする。日本語から英語への翻訳学習における学習文対とは、和文とそれに対応する英文であり、例えば、「ブッシュ大統領はプーチンと会談する」と「President Bush meets with Putin」のような対である。
本発明の機械翻訳学習方法の学習処理と機械翻訳方法の翻訳処理は、基本的には上述した“Wait-k”モデルと同様の仕組みであるが、上述した“Wait-k”モデルでは原言語側の文の入力に対して常にkトークン遅れた状態で翻訳文の生成を行う(kは固定値)のに対して、本発明では翻訳出力を遅延させる遅延記号のステップ数と位置が固定されていない点が特徴である。
以下では、本発明の機械翻訳学習方法における学習処理と、本発明の機械翻訳方法における翻訳処理の各実施形態について、それぞれ図5を参照して説明する。
【0041】
本発明の機械翻訳学習方法における学習処理フローは、図5の左のフロー図に示すとおり、学習文対入力ステップ、学習時出力予測ステップ、目的関数計算ステップ、及びパラメタ更新ステップを備える。以下、各ステップについて詳細に説明する。
<ステップ1a:学習文対入力ステップ>
学習文対入力ステップでは、原言語文(和文)のトークン化により分割された記号列と、原言語文(和文)との対訳となっている目的言語文(英文)のトークン化により分割された記号列との対を入力する。和文の「ブッシュ大統領はプーチンと会談する」の場合には、そのトークン化により分割された記号列は、“ブッシュ”,“大統領”,“は”,“プーチン”,“と”,“会談”,“する”となる。一方、英文の「President Bush meets with Putin」の場合には、そのトークン化により分割された記号列は、“President”,“Bush”,“meets”,“with”,“Putin”となる。
【0042】
<ステップ2a:学習時出力予測ステップ>
学習時出力予測ステップでは、まず、翻訳モデルを含む学習器に対して、記号列に基づく入力系列を入力する。上記の例では、入力系列として、“ブッシュ”,“大統領”,“は”,“プーチン”,“と”,“会談”,“する”が出現順序に従って順に入力されることになる。
そして、翻訳出力できるタイミングでは、翻訳モデルによる入力系列の翻訳をなす目的言語(英単語)の記号を予測した系列を出力する。入力系列を最後まで入力したタイミングであれば、正しく翻訳出力できるはずであるが、翻訳出力するまでの遅延時間を低減するため、できるだけ早いタイミングで翻訳出力するのが好ましい。しかしながら、翻訳出力するタイミングが早すぎると、正しく翻訳出力できない場合がある。上記の例では、入力系列として、“ブッシュ”,“大統領”,“は”,“プーチン”,“と”,“会談”,“する”が出現順序に従って順に入力されるが、“ブッシュ”が入力されたタイミングで、“Bush”と翻訳出力したとすると、次に、“大統領”が入力されたタイミングでは、「Bush President」となり、正しく翻訳出力できない。また、例えば、“ブッシュ”,“大統領”,“は”,“プーチン”が入力されたタイミングで、翻訳出力したとすると、「President Bush is Putin」となり、正しく翻訳出力できない。
【0043】
そこで、入力系列の個々の翻訳出力を遅延させる遅延記号(特殊記号)が目的言語(英語)側の予測記号に追加され、学習時出力予測ステップでは、翻訳出力できないタイミングで遅延記号を出力系列中に出力する。ここで、目的言語(英語)側の語彙に追加された遅延記号は、メタトークン<wait>である。学習時出力予測ステップは、訳出に必要な情報が不足し、訳出することのできないタイミングでは、翻訳モデルが<wait>を出力することにより、追加入力を待つことで訳出タイミングを適応的に決定する。すなわち、訳語の出力の代わりに、図7に示すように、遅延記号の<wait>を出力して、入力系列の次入力を待って翻訳出力する。
【0044】
図7では、入力系列として、“ブッシュ”,“大統領”,“は”,“プーチン”,“と”,“会談”,“する”が出現順序に従って順に入力されるが、“ブッシュ”,“大統領”が入力されたタイミングでは、翻訳モデルが<wait>を2回出力し、その後、入力系列の次入力の“は”が入力されたタイミングで、“大統領”の訳語の“President”を出力している。その後、“プーチン”が入力されたタイミングで、“Bush”を出力し、その後、“と”が入力されたタイミングでは、再び、翻訳モデルが<wait>を出力することにより、追加入力を待つ。さらにその後、“会談”が入力されたタイミングで、“meets”を出力し、“する”が入力されたタイミングで、“with”を出力し、入力系列の入力が終わり、最後に“Putin”を出力する。
【0045】
図8に示すように、入力系列の最初の“ブッシュ”が入力されたタイミングでは、「ブッシュ」が主語かどうか未だ不明であることから、訳出に必要な情報が不足し、訳出することのできないタイミングであるため、翻訳モデルが<wait>を出力する。そして、“大統領”が入力されたタイミングにおいても、「ブッシュ大統領」が主語かどうか未だ不明であることから、翻訳モデルが<wait>を出力する。また、“と”が入力されたタイミングにおいては、動詞が不明であるので、訳出することのできないタイミングであることから、翻訳モデルが<wait>を出力する。
【0046】
<ステップ3a:目的関数計算ステップ>
目的関数計算ステップでは、第1の誤差損失と第2の誤差損失と第3の誤差損失とに基づく目的関数を最適化指標として用いて、最適化計算を行う。第1~第3の3種類の誤差損失を混合して目的関数とし、それを最小化する。
まず、第1の誤差損失は、入力系列の目的言語側の正解記号列と出力系列の予測記号列との比較において、遅延記号を無視して計算される誤差損失であり、公知の機械翻訳に用いられるものと同様である。遅延記号を無視して誤差損失を計算するとは、上述の例で説明すると、翻訳モデルが遅延記号の<wait>を出力して、図8に示すように、出力系列が「<wait> <wait> President Bush <wait> meets with Putin」である場合、遅延記号の3箇所の<wait>に基づく誤差損失を0(ゼロ)とし、正解記号列との誤差損失を計算することである。つまり、出力系列の予測記号列として「President Bush meets with Putin」が翻訳出力されたものとして、正解記号列と比較し誤差損失を計算することと同じである。
第1の誤差損失を計算する具体的な誤差関数は、Softmax Cross-Entropy(SCE)を用いることができる。SCEは、機械翻訳などの多クラス分類問題に対して一般的に用いられる誤差関数であり、下記式11のように定義される。
【0047】
【数8】
【0048】
ここでyjkは、目的言語文(英文)のj番目の単語に対応する1-hotベクトルのk番目の要素を表し、p(yjk|・)はyjkの生成確率を表す。SCEを誤差関数として用いる場合には、出力系列に対して1対1で対応付けられる正解系列が必要となるが、翻訳モデルが遅延記号の<wait>をどのタイミングで出力するか明らかでないため、<wait>を出力可能なタイムステップt(t≦g(I))、すなわち、原言語文が入力されている間に<wait>が出力された場合にはトークンに対する誤差を0とし、正解記号列との誤差損失を計算する。
【0049】
次に、第2の誤差損失について説明する。第2の誤差損失は、入力系列の目的言語側の正解記号列と出力系列の予測記号列との比較において、正解記号列と遅延記号の位置または回数のみが異なる予測記号列仮説を統合して計算される誤差損失である。
出力系列の予測記号列において、遅延記号の<wait>の位置や回数は、翻訳結果に影響しない。図9に、遅延記号の<wait>の位置や回数が異なる複数の出力系列が示されているが、いずれも、翻訳結果は「President Bush meets with Putin」であり、翻訳結果に影響するものではない。「President Bush meets with Putin」が正解記号列とすると、遅延記号の<wait>が出力される可能性がある位置や回数は、図9に示す以外に多数の系列が存在する。最も回数が多い場合は、入力系列の“ブッシュ”,“大統領”,“は”,“プーチン”,“と”,“会談”,“する”の7ステップの入力が完了後に翻訳出力するものであり、「<wait> <wait> <wait> <wait> <wait> <wait> <wait> President Bush meets with Putin」のとおり、遅延記号の<wait>が時刻ステップ1~7の位置に7回出力されるものである。
図9に示す出力系列では、出力系列1の場合、<wait>が時刻ステップ1,2の位置に2回出力され、出力系列2の場合、<wait>が時刻ステップ1,2,5の位置に3回出力され、出力系列3の場合、<wait>が時刻ステップ1,2,4の位置に3回出力され、出力系列4の場合、<wait>が時刻ステップ1,3,5の位置に3回出力され、出力系列5の場合、<wait>が時刻ステップ1,3,5,6の位置に4回出力され、出力系列6の場合、<wait>が時刻ステップ1,2,3の位置に3回出力される。出力系列1~6以外にも多数の系列が存在するが、これらの出力系列が予測記号列仮説であり、予測記号列仮説の個々の確率の総和に基づいて第2の誤差損失を計算する。
【0050】
上述の第1の誤差損失では、SCEを誤差関数として用いるが、<wait>に基づく誤差損失を0(ゼロ)とし正解記号列との誤差損失を計算することから、<wait>を訳出する正解タイミングが不明であり、<wait>の生成に関しては学習が行われないという問題がある。そこで、正解記号列と<wait>の位置または回数のみが異なる全ての可能性を列記し、その確率の総和に基づき誤差損失を計算する。これにより、翻訳モデルの学習において、遅延と精度のバランスをとった最適化を行う。
【0051】
第2の誤差損失を計算する具体的な誤差関数は、「Connectionist Temporal Classification」(CTC)を用いて系列単位での学習を行うことができる。CTCの損失関数は、<wait>などのトークンを挿入、もしくは各記号が連続して出力されることを許すことにより、パスπと呼ばれる出力系列を長さTに拡張できる。ここで、パスπは全てのトークンの繰り返しと、<wait>を消去することによって、元の出力系列y=Ω-1(y)が復元される。CTCの損失関数はπ∈Ω(y)の全てのパスの確率の和として下記式12のように定義され、forward-backwardアルゴリズムによって計算される。下記式12において、πはπの時間ステップtの出力である。
【0052】
【数9】
【0053】
次に、第3の誤差損失は、遅延記号の<wait>の出力ステップ数に基づく誤差損失である。<wait>の出力ステップ数が多いほど誤差損失は大きくなり、<wait>の出力ステップ数が少ないほど誤差損失は小さくなる。第3の誤差損失は、直接的に遅延の大きさを調節するためのものであり、<wait>が出力された場合にのみ計算を行う。具体的には、下記式13,14に示す計算を行う。
【0054】
【数10】
【0055】
以上説明した3つの誤差関数を組み合わせて、下記式15の誤差関数を最適化に用いた。ここで、αは遅延に対するペナルティの大きさを調整するためのハイパーパラメータである。なお、第1及び第2の誤差損失の重みを調整することでも構わない。
【0056】
【数11】
【0057】
<ステップ4a:パラメタ更新ステップ>
上述の第1の誤差損失と第2の誤差損失と第3の誤差損失とに基づく目的関数(上記式15)を最適化指標として用いて、最適化計算を行い、その計算値に基づいて翻訳モデルを含む学習器のパラメタを更新する。
【0058】
次に、本発明の機械翻訳方法の翻訳処理フローについて説明する。本発明の機械翻訳方法は、図5の右のフロー図に示すとおり、モデル読み込みステップ、翻訳対象文入力ステップ、出力予測ステップ、及び翻訳出力ステップを備える。モデル読み込みステップは、学習済みの翻訳モデルを含む学習器の設定パラメタを読み込むものであり、翻訳対象文入力ステップは、翻訳対象の入力系列を、ファイル、標準入力デバイス、又はネットワークから入力するものである。そして、出力予測ステップは、上述の本発明の機械翻訳学習方法における学習時出力予測ステップと同じである。翻訳出力ステップは、予測記号から翻訳文の出力系列を出力するものである。
【0059】
また、本発明の機械翻訳学習装置における学習機能ブロックと、本発明の機械翻訳装置における翻訳機能ブロックの各実施形態について、それぞれ図6を参照して説明する。
機械翻訳学習装置は、学習文対入力部、モデル初期化部、モデル学習部、及びモデル書き出し部から構成される。モデル学習部は、学習時出力予測部、目的関数計算部、及びパラメタ更新部から構成される。学習文対入力部、学習時出力予測部、目的関数計算部、及びパラメタ更新部は、それぞれ、本発明の機械翻訳学習方法における学習文対入力ステップ、学習時出力予測ステップ、目的関数計算ステップ、及びパラメタ更新ステップと同じ処理を行う機能を有しているものである。モデル初期化部は、翻訳モデルのパラメタを初期化する機能を有し、モデル設定値ファイルや実行時パラメタをメモリやディスクなどの記憶装置から読み込むものである。また、モデル書き出し部は、モデル学習部で学習した重み行列等のモデルパラメタをメモリやディスクなどの記憶装置に書き出すものである。
一方、機械翻訳装置は、モデル読み込み部、翻訳対象文入力部、出力予測部、及び翻訳出力部から構成される。モデル読み込み部、翻訳対象文入力部、出力予測部、及び翻訳出力部は、それぞれ、本発明の機械翻訳方法におけるモデル読み込みステップ、翻訳対象文入力ステップ、出力予測ステップ、及び翻訳出力ステップと同じ処理を行う機能を有しているものである。
【0060】
(翻訳精度の実験結果について)
本発明の機械翻訳学習方法及び機械翻訳方法の評価を行うため、英語から日本語への自動同時翻訳の実験を行った結果について、以下に説明する。
機械翻訳学習方法において、翻訳モデルの実装には、Python(人工知能の汎用プログラミング言語)向けのオープンソース機械学習ライブラリであるPyTorchを使用した。また、エンコーダーとデコーダーのRNNは、それぞれ2層の単方向LSTM(Long short-term memory)とし、input feedingを行った。単語埋め込みベクトルや隠れ状態ベクトルの次元数は512とし、ミニバッチのサイズは64とした。最適化アルゴリズムにはAdamを使用し、learning rateは10-3、gradient clippingは50に設定して学習を行った。ドロップアウトの確率pは0.3とし、learning rateにはepoch毎にテストデータへの適合値(validation loss)が減少しない場合にのみ1/√2を掛けることによって減衰を行った。
【0061】
また、テストは最も小さいvalidation lossを記録したモデルによって行った。英語から日本語への同時翻訳タスクでの実験を行うにあたり、比較的短い文で構成されている機械翻訳用の日英対訳コーパスである「small_parallel_enja」(以下「コーパスA」ともいう。詳細については、“https://github.com/odashi/small_parallel_enja”を参照。)と、長い文で構成されている「ASPEC(Asian Scientific Paper Excerpt Corpus)」(以下「コーパスB」ともいう。詳細については、“Toshiaki Nakazawa et al.,「Aspec: Asian scientic paper excerpt corpus. In Proceedings of LREC 2016, pp.2204-2208,Portoro, Slovenia, 2016.5.”を参照。)の2種類のコーパスを用いて、2つの実験を実施した。コーパスAは、小規模なコーパスで、4単語から16単語までの一般的なドメインの文から構成されている。また、コーパスBは、中規模のコーパスで、比較的長文で専門用語が多いなどの特徴がある複雑な文章から構成されている。
【0062】
下記表1に、其々のコーパスの詳細情報を示す。英語および日本語の入力単位はサブワードとし、Sentencepiece(詳細は、“https://github.com/google/sentencepiece”を参照)を用いて入力系列のトークン化を行った。また、語彙は原言語と目的言語でそれぞれ別に用意し、語彙サイズは、コーパスAでは4000、コーパスBでは8000としてそれぞれ作成を行った。また、文の長さが60トークンを超えるもの、文の長さの比が9を超える対訳ペアに関しては、そのペアを学習データから削除を行った。
【0063】
【表1】
【0064】
ベースラインには、単方向LSTMによるアテンション機構付きエンコーダー・デコーダーモデルによる全文翻訳(Full sentence)および“Wait-k”モデルを用いた。また、翻訳精度の評価尺度には、機械翻訳の自動評価尺度として一般的に使用されているBLEU(Bilingual Evaluation Understudy)およびRIBES(Rank-based Intuitive Bilingual Evaluation Score)を使用した。評価の際のトークン化には形態素解析ツールのkytea(詳細については、”https://www.aclweb.org/anthology/P11-2093/”を参照)を用いた。
【0065】
(実験1について)
実験1では、比較的短い文でのモデルの性能を確認するためにコーパスAを用い、1文単位で翻訳処理する方法(比較例1)、“Wait-k”のモデルを用いて翻訳処理する方法(比較例2)、本発明の機械翻訳方法(実施例1)の3通りの翻訳性能を比較した。比較例2における“Wait-k”モデルの遅延トークン数kは、k=3とk=5に設定した。また、実施例1(本発明の機械翻訳方法)において、上述の式15に示すハイパーパラメータαは、α={0,0.01,0.03,0.05}と設定した。αが大きいと遅延に対するペナルティが大きくなり、翻訳品質の低下が予想されることから、遅延に対するペナルティ無し(α=0)と3種類の大きさのペナルティの設定として比較を行った。本実験1における自動評価尺度および遅延の大きさによる評価結果を下記表2に示す。表2では、遅延はトークン数の平均及び標準偏差(括弧内に示す)で表されている。
【0066】
【表2】
【0067】
Full sentenceのスコアを、モデルの取り得る評価の上界であると仮定すると、実施例1(本発明の機械翻訳方法)は、ほぼ同じ性能で小さな遅延を実現できていることが分かる。また、実施例1(本発明の機械翻訳方法)と平均遅延が同程度の比較例2(“Wait-k”モデル)とを比較すると、少し精度が減少している、もしくは同程度の精度が得られていることが分かる。すなわち、比較例2(k=3)と実施例1(α=0.03)との比較では、遅延時間が同程度であり、BLEUとRIBESの値は、実施例1の方が比較例2よりも若干精度が減少しており、比較例2(k=5)と実施例1(α=0.01)との比較では、遅延時間が同程度であり、BLEUとRIBESの値は、同程度の精度が得られている。この精度の減少は、比較例2の“Wait-k”モデルでの遅延が固定で分散が0であるのに対して、実施例1(本発明の機械翻訳方法)では訳出タイミングを適応的に決定できることから、遅延の分散が生じ、遅延が少ない文での翻訳精度が減少していると推察する。
【0068】
(実験2について)
実験2では、長文かつ1つのフレーズが非常に長いものとなる状況でのモデルの性能を確認するためにコーパスBを用い、1文単位で翻訳処理する方法(比較例3)、“Wait-k”のモデルを用いて翻訳処理する方法(比較例4)、本発明の機械翻訳方法(実施例2)の3通りの翻訳性能を比較した。比較例4における“Wait-k”モデルの遅延トークン数kは、k=5とk=7に設定した。また、実施例2(本発明の機械翻訳方法)におけるハイパーパラメータαは、α={0.03,0.05,0.1}に設定した。実験2における自動評価尺度および遅延の大きさによる評価結果を下記表3に示す。表3では、遅延はトークン数の平均及び標準偏差(括弧内に示す)で表されている。
【0069】
【表3】
【0070】
実験2の結果より、実施例2(本発明の機械翻訳方法)における遅延は、比較例4(“Wait-k”モデル)と比較して非常に大きいものになっていることが分かる。これは、コーパスB(ASPEC)のドメインが科学技術論文でありデータ中に長いフレーズが多く含まれていることが原因であると推察する。名詞句などの長いフレーズを訳す際にはフレーズ全体が入力される必要があることが多いが、比較例4(“Wait-k”モデル)では遅延の大きさが固定(kが固定値)なので予測をするなどして無理やりにでも訳出を行うために遅延を小さく維持できる。それに対して、実施例2(本発明の機械翻訳方法)では、CTCによってフレーズ全体が入力されるまで遅延を発生させるパスも探索可能であるため、その結果<wait>などが出力されやすくなり、それが原因となり遅延が大きくなっていると推察する。
【0071】
以上の実験結果より、本発明の機械翻訳方法は、長文では遅延が大きくなる傾向にあるが、訳出タイミングを適応的に決定することが可能であり、文全体を入力するよりも小さな遅延において一定の翻訳精度を実現できたことが分かる。下記表4に、実験1における翻訳結果の例を示す。
【0072】
【表4】
【0073】
上記表4に示す実験1における翻訳結果の例から、実施例(本発明の機械翻訳方法)では、訳出タイミングを適応的に決定することにより正しく翻訳できたことが分かる。この例では、原言語文で文末に入力される“swimming”という単語が参照訳では「水泳」という単語として非常に早い段階で訳出されている。比較例(”Wait-k"モデル)では遅延の大きさが固定(k=3)であるため、この例のような語順の入れ替えの幅がkを超える場合にうまく訳出することができなくなり、間違った翻訳を出力してしまった可能性がある。
これに対して、実施例(本発明の機械翻訳方法)では、“swimming”が入力されるまで、<wait>を出力して訳出タイミングを調整することによって、「泳ぐ」という単語を訳出することができている。
【0074】
一方で、本発明の機械翻訳方法(実施例)の翻訳結果には、下記表5に示すような文の入力まで、<wait>を出力し続けるようなものが多く見られる。この例では、遅くともピリオドが入力されたタイミングで何かしらの訳出が行えるはずであるのにも拘らず、<wait>を出力している。これは、英語と日本語のような語順が大きく異なる言語対では遅延を出力することに対するペナルティよりも、全文から翻訳を行ってSCEやCTCでの誤差を小さくする方が、誤差関数全体としては誤差が小さくなることがあるために起こるものと推察する。
【0075】
【表5】
【0076】
特に、現状の学習や評価に用いているコーパスは、一般の機械翻訳の処理タスクに用いられているものであり、同時翻訳に最適化されたものでない。そのため、人間の同時通訳者の翻訳文などに見られる原言語文と語順が大きく変わらない参照訳を学習データとして学習を行うことでこの問題を緩和できるであろう。
【0077】
以上述べたとおり、本発明の機械翻訳方法は、訳出タイミングを適応的に決定することが可能であり、比較的短い文においては非常に小さな遅延で一定の翻訳精度を実現できることが分かった。
【産業上の利用可能性】
【0078】
本発明は、入力に対して実時間で翻訳を行う同時機械翻訳機に有用である。
図1
図2
図3
図4
図5
図6
図7
図8
図9