JP2004102946A - 統計的機械翻訳におけるデコーディング方法 - Google Patents

統計的機械翻訳におけるデコーディング方法 Download PDF

Info

Publication number
JP2004102946A
JP2004102946A JP2002267525A JP2002267525A JP2004102946A JP 2004102946 A JP2004102946 A JP 2004102946A JP 2002267525 A JP2002267525 A JP 2002267525A JP 2002267525 A JP2002267525 A JP 2002267525A JP 2004102946 A JP2004102946 A JP 2004102946A
Authority
JP
Japan
Prior art keywords
hypothesis
word
translation
stack
sentence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002267525A
Other languages
English (en)
Inventor
Taro Watanabe
渡辺 太郎
Eiichiro Sumida
隅田 英一郎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2002267525A priority Critical patent/JP2004102946A/ja
Publication of JP2004102946A publication Critical patent/JP2004102946A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

【課題】この発明は、出力単語どうしの結合、出力単語とフレーズとの結合およびフレーズどうしの結合によってフレーズを構築していくことにより出力文を生成する、新規な統計的機械翻訳におけるデコーディング方法を提供することを目的とする。
【解決手段】統計的機械翻訳方法におけるデコーディング方法において、入力文を構成する各入力単語に対応する出力単語を生成していくステップ、および出力単語どうしを結合してフレーズを生成していくとともに、出力単語とフレーズとの結合およびフレーズどうしの結合を行っていくことにより、フレーズを構築していくステップを備えている。
【選択図】 図4

Description

【0001】
【発明の属する技術分野】
この発明は、統計的機械翻訳におけるデコーディング方法に関する。
【0002】
【従来の技術】
近年、コーパスを用いた手法の一つである統計的機械翻訳システムの研究が盛んに行われるようになってきた。この統計的機械翻訳においては、原言語が与えられたときに目的言語へと翻訳する問題を、最大尤度の解を発見する問題として捉えられている。この問題はベーズルールにより最大事後確率の問題としてとらえられ、統計的機械翻訳システムは、チャネルソース言語がチャネルターゲット言語へと翻訳される確率を表す翻訳モデル、チャネルソース言語の尤度を表す言語モデル、さらに、入力文が与えられたときに出力を発見するデコーダの3つの要素で構成される(文献1参照)。
【0003】
文献1:Peter F.Brown,Stephen A.Della Pietra, Vincent J.Della Pietra,and Robert L.Mercer. The  mathematics of statistical machine translation:Parameter estimation, Computational Linguistics, Vol.19, No.2,pp.263−311, 1993.
【0004】
翻訳モデルの確率値を推定する効率的なアルゴリズムが知られているが、デコーディングはNP_Completeな問題であることが知られており(文献2参照)、主要な問題の一つとされてきた。
【0005】
文献2:Kevin Knight.  Decoding complexity in word−replacement translation models, Computational Linguistics, Vol.25, No.4, pp.607−615, 1999.
【0006】
デコーディングアルゴリズムとして、現在まで様々なアルゴリズム、例えばスタックデコーディングアルゴリズム(文献3参照)、a* 探索アルゴリズム(文献4,5参照)、DPアルゴリズム(文献6,7参照)が提唱されてきた。
【0007】
文献3: A. Berger, P. Brown, S. Pietra, V. Pietra, J. Gillett, A. Kehler and R. Mercer.  Language tlanslation apparatus and method of using context−based translation models. Technical report, United States Patent,Patent Number 5510981, April 1996.
文献4: Franz Josef Och, Nicola Ueffing, and Hermann Ney. An efficient  a* search algorithm for statistical machine translation. In Proc. of the ACL−2001 Workshop on  Data−Driven Machine Translation, pages 55−62, Toulouse, France, July 2001.
文献5:Ye−Yi Wang and Alex Waibel. Decoding algorithm in statistical machine translation. In Proceedings of the 35th Annual Meeting of the Association for Computational Linguistics, 1997.
文献6: Iameal Garcia−Varea and Francisco Casacuberta.  Seach algorithms for statistical machine translation based on dynamic programming andpruning techniques. In MT Summit VIII, Santiago de Compostela, Galicia,Spain, september 2001.
文献7:Christoph Tillmann and Hermann Ney. Word re−ordering and dp−based search in stational machine translation. In  Proc. of the COLING 2000, July−August 2000.
【0008】
これらは、入力文に対して出力文を文頭から文末へと生成し、原言語文と目的言語文とがほぼ線形に対応づけられることを仮定したプルーニング戦略を取り入れたものであった。このようなアルゴリズムにおいては、言語学上性質の異なる言語の翻訳、例えば日本語と英語、には対応できなかった。
【0009】
また、Germamm らはヒルクライミングアルゴリズムとインテジャープログラムによる解を示しているが(文献8参照)、前者の手法では、同様に満足な解が得られない。また、後者の手法では実用上、解を得ることができない。
【0010】
文献8: Ulrich German, Michael Jahr, Kevin Knight, Daniel Marcu and Kenji Yamada. Fast decoding and optimal decoding for machine translation.In  Proc. of ACL−01, Toulouse, France 2001.
【0011】
【発明が解決しようとする課題】
この発明は、出力単語どうしの結合、出力単語とフレーズとの結合およびフレーズどうしの結合によってフレーズを構築していくことにより出力文を生成する、新規な統計的機械翻訳におけるデコーディング方法を提供することを目的とする。
【0012】
【課題を解決するための手段】
この発明による統計的機械翻訳方法におけるデコーディング方法は、入力文を構成する各入力単語に対応する出力単語を生成していくステップ、および出力単語どうしを結合してフレーズを生成していくとともに、出力単語とフレーズとの結合およびフレーズどうしの結合を行っていくことにより、フレーズを構築していくステップを備えていることを特徴とする。
【0013】
【発明の実施の形態】
以下、図面を参照して、この発明の実施の形態について説明する。
【0014】
〔1〕統計的機械翻訳の概要についての説明
【0015】
統計的機械翻訳においては、ある原言語のテキストWS が与えられているときにある目的言語のテキストWT へと翻訳する問題を、最大尤度の確率の出力を発見する問題としてとらえられており、次式(1)のように表現される。
【0016】
【数1】
Figure 2004102946
【0017】
上記式(1)にベーズルールを適用することにより、上記の問題は、次式(2)に示すように、チャネルモデルにおける最大事後確率の解を求める問題に置き換えられる。
【0018】
【数2】
Figure 2004102946
【0019】
このため、翻訳の過程は、図1(a)に示すように「翻訳家の知識P(WT |WS )を基にして原言語のテキストWS を翻訳」するのではなく、暗号作成/解読の過程と同様に扱われ、図1(b)に示すように「ある確率P(WT )で起こりうる目的言語のテキストWT を、ノイズにより( P(WT |WS ) )から出力されたWS から推定する」という問題として扱われるようになった(上記文献1参照)。
【0020】
P(WT ) は言語モデル(事前確立)であり、目的言語のテキストWT の尤度を示す。P(WT |WS )は翻訳モデル(事後確立)であり、目的言語のテキストWT が原言語のテキストWS へと翻訳される確率を表す。また、翻訳モデルに、目的言語のテキストWT の各単語が原言語のテキストWS のどの単語のインデックスに対応するかを表すアライメントAという概念が導入されることにより、翻訳モデルは、次式(3)のように表される。
【0021】
【数3】
Figure 2004102946
【0022】
図2は、目的言語のテキストWT である英語の文”Could you recommed another hotel”と、原言語のテキストWS である日本語文の「他のホテルを紹介していただけますか」とにおける、アライメントの例を示している。例えば、日本語文におけるインデックス1の「他」とインデックス2の「の」が、英語文のインデックス4の” another”へと対応づけられている。
【0023】
また、英語文のインデックス0にあるNULLシンボルも単語の一つであり、「ます」や「か」のように、原言語のテキストWS である日本語文に対応する単語がない場合に対応づけられている。
【0024】
〔1.1〕翻訳モデルの構成
【0025】
上記式(3)の翻訳モデルP(WS ,A|WT )を表現するために様々な翻訳モデルが提唱されているが、ここでは一例としてIBM Model 4 を使用する。この翻訳モデルは、図3に示すように、4つのモデルから構成されている(上記文献1参照)。
【0026】
(1)Lexical モデル:t(WSAi |WTi
ある目的言語の単語WTiが原言語の単語WSAi へと翻訳される確率。
【0027】
(2)Fertility モデル:n(φi |WTi
ある目的言語の単語WTiがφi 個の原言語の単語と対応される確率。
【0028】
(3)Distortionモデル:d
T とWS が与えられたときのアライメントがAである確率。IBM Model 4 では、次の2つのモデルに分割される。
【0029】
・d(j−cpi|A( WTi),B( WSj) )
Headにある単語に対するアライメント(並び替え)の確率。Headにある単語とは、チャネルソースにある、fertility (出力文の1つの単語に対応付けられる入力文の単語の数)が1以上の単語WTi(cept と呼ぶ) から対応付けられたチャネルターゲットの単語の中で、最も左にあるものを指す。IBM Model 4 では、前のceptと対応している単語のセットの中心(cpi) からの相対的な位置に対して確率を定義しており、チャネルソース単語WTiの単語クラスAとチャネルターゲット単語WSjの単語クラスBに依存している。
【0030】
・ d>1(j−j’ |B(WSj) )
Head でない単語(Non−head)に対するアライメントの確率(文献1参照)。
【0031】
(4)NULLモデル:Q(式(4)参照)
【0032】
【数4】
Figure 2004102946
【0033】
ある原言語のφ0 個の単語が NULL へと対応づけられる確率。
【0034】
〔1.2〕探索問題
【0035】
統計的機械翻訳における探索問題は、入力文WS が与えられたときに、翻訳モデルP(WS |WT )=ΣP(WS ,A|WT )と言語モデルP(WT )とから最大尤度の出力文WT を発見する問題として扱われている。ただし、可能なAの空間は、次式(5)で示されるように、非常に大きく、翻訳を決定する場合、その近似値、P(WS |WT )≒P(WS ,A|WT   が用いられる。
【0036】
【数5】
Figure 2004102946
【0037】
統計的機械翻訳における探索問題は、単語の単位の翻訳だけでなく、並び替えの問題も含んでいることからNP_Completeであることが知られている(上記文献2参照)。過去の研究においては、出力の方向を文頭から文末へと生成するという制約を加え、プルーニング(剪定)を行うことによりデコーディングアルゴリズムを実現している(上記文献3〜8参照)。ただし、プルーニングも原言語と目的言語とがほぼ線形に対応づけられていることを仮定しており、日本語と英語間の翻訳といった語順の相違が大きい言語間の翻訳を想定していない。
【0038】
〔2〕デコーディングアルゴリズム
【0039】
本発明によるデコーディングアルゴリズムをフレーズデコーディングアルゴリズムと呼ぶことにする。フレーズデコーディングアルゴリズムは、探索空間を幅優先で探索を行なうビームサーチアルゴリズムに基づいている(上記文献4参照)。
【0040】
まず、フレーズデコーディングアルゴリズムで用いられる仮説およびマルチスタックについて説明する。
【0041】
仮説hは、(WT ,A,C,s) のように表現される。仮説の各要素は次のように定義される。
【0042】
T :部分出力文
A :アライメント(入力文と同じ長さを持つ)
C :既に処理された入力文のインデックスの集合
s :スコア
【0043】
マルチスタックは、スタックの集合であり、入力文の単語のインデックスの部分集合から空集合{}を除くいた、各部分集合(各組み合わせ)に対応したスタックが存在している。例えば、入力文が、インデックス1の単語、インデックス2の単語およびインデックス3の単語の3つの単語から構成されている場合には、C={1}、C={2}、C={3}、C={1,2}、C={1,3}、C={2,3}、C={1,2,3}それぞれに対応した6個のスタックが用意される。
【0044】
各スタックには、デコーディングアルゴリズムによって生成された仮説が格納される。各スタックにおいては、スコアの高い順に、仮説がソートされる。スタックに格納されている仮説の数が所定の閾値(max−stack−size) に達している場合に、新たな仮説を格納しようとする場合には、それらの仮説の中でスコアの最も低い仮説を捨てることにより、常にmax−stack−sizeの数の仮説を格納するようにしている。
【0045】
〔2.1〕全体フロー
【0046】
図4は、フレーズデコーディングアルゴリズムの全体的な処理手順を示している。
【0047】
まず、入力文Ws =Ws1, Ws2, …WSmを入力する(ステップ1)。入力文Ws の入力長(単語数)はmである。次にcept生成処理を行う(ステップ2)。つまり、入力文を構成する各単語から出力単語(cept)を生成する。この後、フレーズ構築処理を行なう(ステップ3)。つまり、出力単語(cept)どうしを結合してフレーズを生成していくとともに、出力単語(cept)とフレーズとの結合およびフレーズどうしの結合を行っていくことにより、フレーズを構築していく。
【0048】
〔2.2〕cept生成処理
図5は、cept生成処理(図4のステップ2の処理)の詳細な手順を示している。
【0049】
以下の説明において、|C|は、入力文の単語のインデックスの部分集合Cの要素数を表すものとする。
【0050】
まず、入力文を構成する単語をWSj(j=0,1,…,m)で表すことにし、変数jに1を設定する(ステップ11)。
【0051】
そして、fertility が1である仮説の生成処理を行なう(ステップ2)。この処理について説明する。まず、仮説の要素であるCを{j}とする(C←{j})。また、仮説の要素であるアライメントA中のj番目の部分アライメントA{j}を1に設定する(A:A{j}=1)。
【0052】
次に、仮説の要素である部分出力文WT (ここでは、cept(出力単語))を、次のようにして生成する。まず、入力単語WSjに対応する翻訳単語の候補を生成する。翻訳候補は、Lexical モデルから得られる逆翻訳確率(t(WT |WS ))と、WT の分布から得られる(上記文献3および下記文献9参照)。
【0053】
文献9: Yaser Al−Onaizan, Jan Curin, Michael Jahr, Kevin Knight, JohnLafferty, Dan Melamed, Frantz−Josef Och, David Purdy, Noah A. Smith, and David Yarowsky. Statistical machine translation final report, jhu workshop 1999,12 1999.
【0054】
逆翻訳確率(t(WT |WS ))は、次式(6)で表される。
【0055】
【数6】
Figure 2004102946
【0056】
この逆翻訳確率(t(WT |WS ))から得られた候補のうち、上位n個をcept(出力単語WT )として用いる。
【0057】
各cept(出力単語WT )毎に、仮説の要素であるスコアsを次式(7)に基づいて算出する。
【0058】
【数7】
Figure 2004102946
【0059】
上記式(7)においてφ=|C|である。
【0060】
各cept(出力単語WT )毎に得られた仮説hを、仮説h内のCに対応するスタックに格納する。
【0061】
このようにして、現在設定されているjに対して、fertility が1である仮説が生成されると、jを1だけインクリメント(j←j+1)する(ステップ13)。そして、jがmより大きくなった(j>m)か否かを判別する(ステップ14)。jがm以下(j≦m)である場合には、ステップ12に戻って、fertility が1である仮説の生成処理を行なう。したがって、j=1,j=2,…,j=mである場合それぞれに対して、fertility が1である仮説の生成処理が行なわれる。
【0062】
この結果、例えば、入力文Wsの入力長mが3である場合には、ステップ11〜ステップ14の処理によって、C={1}に対応するスタック、C={2}に対応するスタックおよびC={3}に対応するスタックに、部分出力文WT が1個の出力単語からなる仮説が格納されることになる。
【0063】
上記ステップ14において、j>mであると判別されると、変数cが1に設定される(ステップ15)。そして、|C|=cであるスタック(要素数がc個である部分集合に対応するスタック)でまだ選択されていないスタックが存在するか否かを判別する(ステップ16)。
【0064】
|C|=cであるスタックでまだ選択されていないスタックが存在する場合には、そのうちの1つのスタックを選択する(ステップ17)。そして、選択したスタック内にまだ読み出されていない仮説が存在するか否かを判別する(ステップ18)。選択したスタック内にまだ読み出されてない仮説が存在する場合には、まだ読み出されてない仮説hを1つだけ読み出す(ステップ19)。
【0065】
次に、変数jに1を設定する(ステップ20)。そして、読み出された仮説(以下、注目仮説という)h内のCに、jが含まれていないか否かを判別する(ステップ21)。
【0066】
jが注目仮説h内のCに含まれていない場合には、fertility が(|C|+1)である仮説の生成処理を行う(ステップ22)。この処理について説明する。まず、新仮説の要素であるCとして、C∪{j}が設定される(C←C∪{j})。なお、C∪{j}は、例えば、注目仮説j内のCが{1}でかつjが2であれば、{1}∪{2}={1,2}となり、注目仮説j内のCが{1,2}でかつjが3であれば、{1,2}∪{3}={1,2,3}となる。
【0067】
また、新仮説の要素であるアライメントA中のj番目の部分アライメントA{j}を1に設定する(A:A{j}=1)。なお、新仮説の要素である部分出力文WT としては、注目仮説h内の部分出力文WT をそのまま用いる。新仮説の要素であるスコアsを、上記式(7)に基づいて算出する。
【0068】
このようにして生成された新仮説を、新仮説内のCに対応するスタックに格納する。
【0069】
なお、|C|=mである場合には、さらに、部分出力文WT に、fertility がゼロの単語列を前後に追加した部分出力文WT を生成する。そして、新たに生成した部分出力文WT 毎にスコアを算出することにより、仮説を生成して対応するスタックに格納する。
【0070】
このようにして、現在設定されているjに対して、fertility が(|C|+1)である仮説が生成されると、ステップ23に移行する。上記ステップ21において、jが注目仮説h内のCに含まれていると判別した場合には、ステップ23に移行する。
【0071】
ステップ23では、jを1だけインクリメント(j←j+1)する。そして、jがmより大きくなった(j>m)か否かを判別する(ステップ24)。jがm以下(j≦m)である場合には、ステップ21に戻る。したがって、1つの注目仮説hに対して、j=1,j=2,…,j=mのうち、jが注目仮説h内のCに含まれていない値である場合それぞれに対して、fertility が(|C|+1)である仮説の生成処理が行なわれる。
【0072】
上記ステップ24において、j>mであると判別されると、ステップ18に戻る。なお、ステップ18において、上記ステップ17で選択したスタック内にまだ読み出されてない仮説が存在しないと判別された場合には、ステップ16に戻る。
【0073】
また、上記ステップ16において、|C|=cであるスタック(要素数がc個である部分集合に対応するスタック)でまだ選択されていないスタックが存在していない場合には、変数cを1だけインクリメント(c←c+1)する(ステップ25)。そして、cが予め定められたmax _fertility に達したか否かを判別する(ステップ26)。max _fertility は、例えば、mの平均が6程度の場合には、4に設定される。
【0074】
cが予め定められたmax _fertility に達していない場合には、ステップ16に戻る。cが予め定められたmax _fertility に達している場合には、今回のcept生成処理を終了し、フレーズ構築処理に移行する。
【0075】
例えば、入力文Wsの入力長mが3であり、max _fertility が2である場合には、ステップ15〜ステップ24の処理によって、C={1,2}に対応するスタック、C={1,3}に対応するスタックおよびC={2,3}に対応するスタックに、fertility が2である仮説が格納されることになる。また、max _fertility が3である場合には、さらに、C={1,2,3)に対応するスタックに、fertility が3である仮説が格納されることになる。
【0076】
〔2.3〕フレーズ構築処理
【0077】
図6は、フレーズ構築処理(図4のステップ3の処理)の詳細な手順を示している。
【0078】
まず、変数cに1を設定する(ステップ31)。そして、|C|=cであるスタック(要素数がc個である部分集合に対応するスタック)でまだ選択されていないスタックが存在するか否かを判別する(ステップ32)。
【0079】
|C|=cであるスタックでまだ選択されていないスタックが存在する場合には、そのうちの1つのスタックを選択する(ステップ33)。そして、選択したスタック内にまだ読み出されていない仮説が存在するか否かを判別する(ステップ34)。選択したスタック内にまだ読み出されてない仮説が存在する場合には、まだ読み出されてない仮説hを1つだけ読み出す(ステップ35)。そして、NULLへの対応付けおよび仮説結合処理を行なう(ステップ36)。この処理の詳細については、後述する。NULLへの対応付けおよび仮説結合処理が行なわれると、ステップ34に戻る。
【0080】
ステップ34において、上記ステップ33で選択したスタック内にまだ読み出されてない仮説が存在しない場合には、ステップ32に戻る。
【0081】
また、上記ステップ32において、|C|=cであるスタック(要素数がc個である部分集合に対応するスタック)でまだ選択されていないスタックが存在していない場合には、変数cを1だけインクリメント(c←c+1)する(ステップ37)。そして、cがmに達したか否かを判別する(ステップ38)。cがmに達していない場合には、ステップ32に戻る。cがmに達している場合には、今回のフレーズ構築処理を終了する。つまり、デコーディング処理が終了する。この時点において、|C|=mであるスタックの中に解が存在することになる。
【0082】
図7は、図6のステップ36の処理(NULLへの対応付けおよび仮説結合処理)の詳細な手順を示している。
【0083】
上記ステップ35で読み出された仮説hを入力する(ステップ41)。変数jに1を設定する(ステップ42)。そして、入力された仮説(以下、注目仮説という)h内のCに、jが含まれていないか否かを判別する(ステップ43)。
【0084】
jが注目仮説h内のCに含まれていない場合には、WSjをNULLへ対応付けるための処理を行なう(ステップ44)。この処理について説明する。
【0085】
新仮説の要素であるCとして、C∪{j}を設定する(C←C∪{j})。なお、C∪{j}は、例えば、注目仮説j内のCが{1}でかつjが2であれば、{1}∪{2}={1,2}となり、注目仮説j内のCが{1,2}でかつjが3であれば、{1,2}∪{3}={1,2,3}となる。
【0086】
また、新仮説の要素であるアライメントA中のj番目の部分アライメントA{j}を0に設定する(A:A{j}=0)。なお、新仮説の要素である部分出力文WT としては、注目仮説h内の部分出力文WT をそのまま用いる。新仮説の要素であるスコアsを、次の式(8)に基づいて算出する。
【0087】
【数8】
Figure 2004102946
【0088】
このようにして生成された新仮説を、新仮説内のCに対応するスタックに格納する。
【0089】
このようにして、現在設定されているjに対して、WSjをNULLへ対応付けるための処理が実行されると、ステップ45に移行する。上記ステップ43において、jが注目仮説h内のCに含まれていると判別した場合には、ステップ43に移行する。
【0090】
ステップ43では、jを1だけインクリメント(j←j+1)する。そして、jがmより大きくなった(j>m)か否かを判別する(ステップ46)。jがm以下(j≦m)である場合には、ステップ43に戻る。したがって、1つの注目仮説hに対して、j=1,j=2,…,j=mのうち、jが注目仮説h内のCに含まれていない値である場合それぞれに対して、WSjをNULLへ対応付けるための処理が行なわれる。
【0091】
上記ステップ46において、j>mであると判別されると、変数c’に注目仮説h内のCの要素数|C|が設定される(ステップ47)。そして、|C’|=c’であるスタック(要素数がc’個である部分集合に対応するスタック)でまだ選択されていないスタックが存在するか否かを判別する(ステップ48)。
【0092】
|C’|=c’であるスタックでまだ選択されていないスタックが存在する場合には、そのうちの1つのスタックを選択する(ステップ49)。そして、仮説結合処理が行なわれる(ステップ50)。仮説結合処理について説明する。
【0093】
つまり、上記ステップ49で選択されたスタックに格納されている各仮説h’毎に次のような処理を行なう。注目仮説h内の各要素を(WT ,A,C,s)で表し、仮説h’内の各要素を(WT ’,A’,C’,s’)で表すことにする。仮説h内の注目仮説h内のCと仮説h’内のC’とが、C∩C’={}であるか否かを判別する。つまり、CとC’とに共通する要素が存在しないか存在するかを判別する。C’={}でない場合には、つまり、CとC’とに共通する要素が存在する場合には、注目仮説hと仮説h’との結合を行わない。
【0094】
C’={}である場合には、つまり、CとC’とに共通する要素が存在しない場合には、次のようにして、注目仮説hと仮説h’とを結合した新仮説h”を生成する。新仮説h”内の各要素を(WT ”,A”,C”,s”)で表すことにする。新仮説h”の要素であるC”として、C∪C’を設定する(C←C∪C’)。また、新仮説h”の要素であるアライメントA”として、A+A’を設定する(A”←A+A’)。
【0095】
また、新仮説h”の要素である部分出力文WT ”として、WT +WTinsert +WT ’を設定する。ここで、WTinsert は、WT とWT ’との間に挿入されるfertility がゼロの単語列であり、Lexical モデルとFertility モデルとから計算可能である。または、トレーニングの結果得られるビデルビアライメントから候補を得ることができる( 上記文献3,9参照) 。
【0096】
新仮説h”の要素であるスコアs”を、次式(9)に基づいて算出する。
【0097】
【数9】
Figure 2004102946
【0098】
上記式(9)において、WcT=WT +WTinsert +WT ’である。
【0099】
このようにして生成された新仮説h”を、新仮説h”内のC”に対応するスタックに格納する。
【0100】
なお、|C|=mである場合には、さらに、部分出力文WT ”に、fertility がゼロの単語列を前後に追加した出力文を生成する。そして、新たに生成した出力文毎にスコアを算出することにより、仮説を作成して対応するスタックに格納する。
【0101】
なお、上記は、h+h’の新仮説h”を生成する場合について説明したが、h’+hの新仮説h”をも同様にして生成する。
【0102】
このようにして、上記ステップ49で選択された1つのスタックに対する仮説結合処理が行なわれると、ステップ48に戻る。
【0103】
また、上記ステップ48において、|C’|=c’であるスタック(要素数がc’個である部分集合に対応するスタック)でまだ選択されていないスタックが存在していない場合には、変数c’を1だけインクリメント(c’←c’+1)する(ステップ51)。そして、c’がmに達したか否かを判別する(ステップ52)。c’がmに達していない場合には、ステップ48に戻る。c’がmに達している場合には、今回のNULLへの対応付けおよびフレーム結合処理を終了し、図6のステップ34に戻る。
【0104】
〔4〕実験
【0105】
今回行った実験のコーパスは、大規模旅行会話集(文献10参照)から抽出した172,481 の日英の対訳文であり、その統計情報を表1に示す。コーパスを、152,183 文からなるトレーニングセット、10,148文からなる検証セットおよび10,150文からなるテストセットに分けて取り出した。
【0106】
文献10:Toshiyuki Takezawa, Eiichiro Sumita, Fumiaki Sugaya, Hirofumi Yamamoto and Seiichi Yamamoto.  Toward a broad−coverage bilingual corpus for speech translation of travel conversations in the real world. In Proc. of LREC 2002, pages 147−152, Las Palmas, Canary Islands, Spain, May 2002.
【0107】
【表1】
Figure 2004102946
【0108】
翻訳モデルは日英、英日方向、どちらもIBM Model−1 からIBM Model _l からIBM Model _4 までブートストラップしてトレーニングを行い、途中にHMM Model によるトレーニングを行っている(文献11参照)。また、検証セットによるクロスバリデーションを行いながらトレーニングを繰り返した。IBM Model _4 においては、品詞(POS) を単語クラスとして用いた。
【0109】
文献11:Franz Josef Och, Christoph Tillmann and Hermann Ney. Improved alignment models for statistical machine translation. In Proceedings of the Joint Conf. of  Empirical Methods in Natural Language Processing and Very Large Corpora, University of Maryland, College Park, MD, June 1999.
【0110】
トレーニングコーパスのビテルビアライメントから、fertility がゼロとなる単語列を取り出し、頻度が10未満のものを取り除いた。また、テストセットから文長が6 、8 、10である、それぞれ50文、合計150 の日本語、英語の文を取り出した。翻訳実験において、上記実施の形態のフレーズデコーディングアルゴリズム(PD)と、上記文献4に基づいたビームサーチアルゴリズム(BS)で、デコーディングを行った。
【0111】
翻訳結果は、単語誤り率(WER; Word−error−rate)、位置独立単語誤り率(PER; Position independent word−error−rate)によって評価を行なった(上記文献4参照と文献12参照)。
【0112】
・単語誤り率(WER )は、挿入、削除、置き換えをそれぞれ1としてペナルティを計算するものであり、それに対して位置独立単語誤り率(PER )  は、単語位置の誤りを無視、入力単語に対する出力単語の正しさを評価するものである。
【0113】
さらに、翻訳結果を人手でAランクからDランクへと評価づける主観評価(SE)も行った(文献13参照)。
【0114】
文献13:Eiichiro Sumita,  Setsuo Yamada, Kazuhide Yamamoto, Michael Paul, Hideki Kashioka, Kai Ishikawa and Satoshi Shirai. Solutions to problems inherent in spoken−language translation: The ATR−MATRIX Approch. In Machine Translation Summit VII, Pages 229−235, 1999.
【0115】
デコーディングの平均処理時間を表2に示す。また、表3に翻訳結果の評価結果をまとめた。また、探索エラー率を表4に示す。また、2つのデコーディングアルゴリズムの出力例を、日英、英日翻訳それぞれについて図8、図9に示す。
【0116】
【表2】
Figure 2004102946
【0117】
【表3】
Figure 2004102946
【0118】
【表4】
Figure 2004102946
【0119】
〔5〕考察
表2から、フレーズデコーディングアルゴリズム(PD)は、ビームサーチアルゴリズム(BS)より、処理時間が大幅に増大していることが分かった。ただし、入力長が6の場合、英日翻訳ではPDの方が減少している。これは、3−gram言語モデルによるフレーズの制約によって適切なフレーズが残り、スコアが著しく低い仮説が取り除かれたことを示す。
【0120】
フレーズデコーディングアルゴリズムでは、日英、英日翻訳共にWER の減少が若干見られ、また、PER では日英翻訳での減少が見られたが英日翻訳ではほぼ同じであった(表3参照)。直観的には、両言語の言語学的特徴の差を反映しており、英語は日本語よりも構造を重視しており、従って、フレーズを構築していくフレーズデコーディングアルゴリズムに優位な結果となっている。ただし、SEによるスコアリングでは、Aランクの文が減少し、また、全体的な accectable な文の数(AランクからCランクまで)が減少している。
【0121】
フレーズデコーディングアルゴリズムでは探索の途中経過で文頭、文末による言語モデルの制約がないために、サーチエラーを起こしているものと考えられる(表4参照)。このため、表2のように、デコーディングにさらに時間がかかっている。
【0122】
今回実験で用いたプルーニングは、フレーズデコーディングアルゴリズムを実行するには、非常に弱いものであり他の情報源を用いたプルーニング戦略が必要となる。言語モデル以外でフレーズに制約を加えることができる、テンプレートベースのプルーニング(文献14参照)や、FSA を用いた手法(上記文献7参照)、あるいは句アライメント(文献15参照)による制約等が考えられる。
【0123】
文献14:F.J.Och and H.Ney. Improved statistical alignment models. InACL 2000, pages 440−447, Hongkong, China, October 2000.文献15:Kenji Imamura. Hierachical phrase alignment harmonized with parsing. In Proc. of NLPRS 2001,Tokyo,2001.
【0124】
また、言語モデルも標準的な n−gram であり、局所的な確率を与えるものであり、フレーズ単位での確率を計算するには不向きであったと考えられる。例えば、最大エントロピーを用いて、句に関する素性を導入する手法等が考えられ、探索空間を狭めるのに有効であると思われる(文献16参照)。
【0125】
文献16:Ronald Rosenfeld. A maximum entropy approach to adaptive statistical language modeling. Computer, Speech and Language, 10: 187−228,1996.
【0126】
【発明の効果】
この発明によれば、出力単語どうしの結合、出力単語とフレーズとの結合およびフレーズどうしの結合によってフレーズを構築していくことにより出力文を生成する、新規な統計的機械翻訳におけるデコーディング方法が得られる。
【図面の簡単な説明】
【図1】統計的機械翻訳モデルを説明するための模式図である。
【図2】アライメントの例を示す模式図である。
【図3】翻訳モデル(IBM Model 4)の構成を示す模式図である。
【図4】フレーズデコーディングアルゴリズムを示すフローチャートである。
【図5】cept生成処理(図4のステップ2の処理)の詳細な手順を示すフローチャートである。
【図6】フレーズ構築処理(図4のステップ3の処理)の詳細な手順を示すフローチャートである。
【図7】図6のステップ36の処理(NULLへの対応付けおよび仮説結合処理)の詳細な手順を示すフローチャートである。
【図8】実験によって得られた日英翻訳結果の例を示す模式図である。
【図9】実験によって得られた英日翻訳結果の例を示す模式図である。

Claims (1)

  1. 入力文を構成する各入力単語に対応する出力単語を生成していくステップ、および出力単語どうしを結合してフレーズを生成していくとともに、出力単語とフレーズとの結合およびフレーズどうしの結合を行っていくことにより、フレーズを構築していくステップを備えている統計的機械翻訳におけるデコーディング方法。
JP2002267525A 2002-09-13 2002-09-13 統計的機械翻訳におけるデコーディング方法 Pending JP2004102946A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002267525A JP2004102946A (ja) 2002-09-13 2002-09-13 統計的機械翻訳におけるデコーディング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002267525A JP2004102946A (ja) 2002-09-13 2002-09-13 統計的機械翻訳におけるデコーディング方法

Publications (1)

Publication Number Publication Date
JP2004102946A true JP2004102946A (ja) 2004-04-02

Family

ID=32265994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002267525A Pending JP2004102946A (ja) 2002-09-13 2002-09-13 統計的機械翻訳におけるデコーディング方法

Country Status (1)

Country Link
JP (1) JP2004102946A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7505893B2 (en) 2005-11-11 2009-03-17 Panasonic Corporation Dialogue supporting apparatus
JP2011028754A (ja) * 2009-07-27 2011-02-10 Xerox Corp 一般化された巡回セールスマン問題としてのフレーズ−ベースの統計的機械翻訳

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7505893B2 (en) 2005-11-11 2009-03-17 Panasonic Corporation Dialogue supporting apparatus
JP2011028754A (ja) * 2009-07-27 2011-02-10 Xerox Corp 一般化された巡回セールスマン問題としてのフレーズ−ベースの統計的機械翻訳

Similar Documents

Publication Publication Date Title
Och et al. An efficient A* search algorithm for statistical machine translation
US7454326B2 (en) Phrase to phrase joint probability model for statistical machine translation
US7797148B2 (en) Systems and methods for fast and memory efficient machine translation using statistical integrated phase lattice
US7536295B2 (en) Machine translation using non-contiguous fragments of text
De Gispert et al. Hierarchical phrase-based translation with weighted finite-state transducers and shallow-n grammars
US20090150139A1 (en) Method and apparatus for translating a speech
Vogel SMT decoder dissected: Word reordering
US20080154577A1 (en) Chunk-based statistical machine translation system
Bertoldi et al. A new decoder for spoken language translation based on confusion networks
Alqudsi et al. A hybrid rules and statistical method for Arabic to English machine translation
JP2004102946A (ja) 統計的機械翻訳におけるデコーディング方法
Bertoldi et al. The ITC-irst statistical machine translation system for IWSLT-2004.
Federico et al. A word-to-phrase statistical translation model
JP2006127405A (ja) バイリンガルパラレルテキストをアライメントする方法及びそのためのコンピュータで実行可能なプログラム
Kääriäinen Sinuhe–statistical machine translation using a globally trained conditional exponential family translation model
Salameh et al. Lattice desegmentation for statistical machine translation
JP4006297B2 (ja) 統計的機械翻訳装置
Saon et al. Lattice-based Viterbi decoding techniques for speech translation
JP2003263433A (ja) 統計的機械翻訳機における翻訳モデルの生成方法
He et al. Ict system description for the 2006 tc-star run# 2 slt evaluation
Garcia-Varea et al. Maximum Entropy Modeling: A Suitable Framework to Learn Context-Dependent Lexicon Models for Statistical Machine Translation: Basic Instructions
Khalilov New statistical and syntactic models for machine translation
Zhang et al. Joint alignment and artificial data generation: An empirical study of pivot-based machine transliteration
Van Gompel et al. Extending memory-based machine translation to phrases
Lee et al. IBM Chinese-to-English PatentMT System for NTCIR-9.