(57)【要約】【課題】この発明は、出力単語どうしの結合、出力単語とフレーズとの結合およびフレーズどうしの結合によってフレーズを構築していくことにより出力文を生成する、新規な統計的機械翻訳におけるデコーディング方法を提供することを目的とする。【解決手段】統計的機械翻訳方法におけるデコーディング方法において、入力文を構成する各入力単語に対応する出力単語を生成していくステップ、および出力単語どうしを結合してフレーズを生成していくとともに、出力単語とフレーズとの結合およびフレーズどうしの結合を行っていくことにより、フレーズを構築していくステップを備えている。【選択図】　図４
2004102946.tif 000002
【特許請求の範囲】
【請求項１】
入力文を構成する各入力単語に対応する出力単語を生成していくステップ、および出力単語どうしを結合してフレーズを生成していくとともに、出力単語とフレーズとの結合およびフレーズどうしの結合を行っていくことにより、フレーズを構築していくステップを備えている統計的機械翻訳におけるデコーディング方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、統計的機械翻訳におけるデコーディング方法に関する。
【０００２】
【従来の技術】
近年、コーパスを用いた手法の一つである統計的機械翻訳システムの研究が盛んに行われるようになってきた。この統計的機械翻訳においては、原言語が与えられたときに目的言語へと翻訳する問題を、最大尤度の解を発見する問題として捉えられている。この問題はベーズルールにより最大事後確率の問題としてとらえられ、統計的機械翻訳システムは、チャネルソース言語がチャネルターゲット言語へと翻訳される確率を表す翻訳モデル、チャネルソース言語の尤度を表す言語モデル、さらに、入力文が与えられたときに出力を発見するデコーダの３つの要素で構成される（文献１参照）。
【０００３】
文献１：Ｐｅｔｅｒ　Ｆ．Ｂｒｏｗｎ，Ｓｔｅｐｈｅｎ　Ａ．Ｄｅｌｌａ　Ｐｉｅｔｒａ，　Ｖｉｎｃｅｎｔ　Ｊ．Ｄｅｌｌａ　Ｐｉｅｔｒａ，ａｎｄ　Ｒｏｂｅｒｔ　Ｌ．Ｍｅｒｃｅｒ．　Ｔｈｅ　　ｍａｔｈｅｍａｔｉｃｓ　ｏｆ　ｓｔａｔｉｓｔｉｃａｌ　ｍａｃｈｉｎｅ　ｔｒａｎｓｌａｔｉｏｎ：Ｐａｒａｍｅｔｅｒ　ｅｓｔｉｍａｔｉｏｎ，　Ｃｏｍｐｕｔａｔｉｏｎａｌ　Ｌｉｎｇｕｉｓｔｉｃｓ，　Ｖｏｌ．１９，　Ｎｏ．２，ｐｐ．２６３−３１１，　１９９３．
【０００４】
翻訳モデルの確率値を推定する効率的なアルゴリズムが知られているが、デコーディングはＮＰ＿Ｃｏｍｐｌｅｔｅな問題であることが知られており（文献２参照）、主要な問題の一つとされてきた。
【０００５】
文献２：Ｋｅｖｉｎ　Ｋｎｉｇｈｔ．　　Ｄｅｃｏｄｉｎｇ　ｃｏｍｐｌｅｘｉｔｙ　ｉｎ　ｗｏｒｄ−ｒｅｐｌａｃｅｍｅｎｔ　ｔｒａｎｓｌａｔｉｏｎ　ｍｏｄｅｌｓ，　Ｃｏｍｐｕｔａｔｉｏｎａｌ　Ｌｉｎｇｕｉｓｔｉｃｓ，　Ｖｏｌ．２５，　Ｎｏ．４，　ｐｐ．６０７−６１５，　１９９９．
【０００６】
デコーディングアルゴリズムとして、現在まで様々なアルゴリズム、例えばスタックデコーディングアルゴリズム（文献３参照）、ａ＊　探索アルゴリズム（文献４，５参照）、ＤＰアルゴリズム（文献６，７参照）が提唱されてきた。
【０００７】
文献３：　Ａ．　Ｂｅｒｇｅｒ，　Ｐ．　Ｂｒｏｗｎ，　Ｓ．　Ｐｉｅｔｒａ，　Ｖ．　Ｐｉｅｔｒａ，　Ｊ．　Ｇｉｌｌｅｔｔ，　Ａ．　Ｋｅｈｌｅｒ　ａｎｄ　Ｒ．　Ｍｅｒｃｅｒ．　　Ｌａｎｇｕａｇｅ　ｔｌａｎｓｌａｔｉｏｎ　ａｐｐａｒａｔｕｓ　ａｎｄ　ｍｅｔｈｏｄ　ｏｆ　ｕｓｉｎｇ　ｃｏｎｔｅｘｔ−ｂａｓｅｄ　ｔｒａｎｓｌａｔｉｏｎ　ｍｏｄｅｌｓ．　Ｔｅｃｈｎｉｃａｌ　ｒｅｐｏｒｔ，　Ｕｎｉｔｅｄ　Ｓｔａｔｅｓ　Ｐａｔｅｎｔ，Ｐａｔｅｎｔ　Ｎｕｍｂｅｒ　５５１０９８１，　Ａｐｒｉｌ　１９９６．
文献４：　Ｆｒａｎｚ　Ｊｏｓｅｆ　Ｏｃｈ，　Ｎｉｃｏｌａ　Ｕｅｆｆｉｎｇ，　ａｎｄ　Ｈｅｒｍａｎｎ　Ｎｅｙ．　Ａｎ　ｅｆｆｉｃｉｅｎｔ　　ａ＊　ｓｅａｒｃｈ　ａｌｇｏｒｉｔｈｍ　ｆｏｒ　ｓｔａｔｉｓｔｉｃａｌ　ｍａｃｈｉｎｅ　ｔｒａｎｓｌａｔｉｏｎ．　Ｉｎ　Ｐｒｏｃ．　ｏｆ　ｔｈｅ　ＡＣＬ−２００１　Ｗｏｒｋｓｈｏｐ　ｏｎ　　Ｄａｔａ−Ｄｒｉｖｅｎ　Ｍａｃｈｉｎｅ　Ｔｒａｎｓｌａｔｉｏｎ，　ｐａｇｅｓ　５５−６２，　Ｔｏｕｌｏｕｓｅ，　Ｆｒａｎｃｅ，　Ｊｕｌｙ　２００１．
文献５：Ｙｅ−Ｙｉ　Ｗａｎｇ　ａｎｄ　Ａｌｅｘ　Ｗａｉｂｅｌ．　Ｄｅｃｏｄｉｎｇ　ａｌｇｏｒｉｔｈｍ　ｉｎ　ｓｔａｔｉｓｔｉｃａｌ　ｍａｃｈｉｎｅ　ｔｒａｎｓｌａｔｉｏｎ．　Ｉｎ　Ｐｒｏｃｅｅｄｉｎｇｓ　ｏｆ　ｔｈｅ　３５ｔｈ　Ａｎｎｕａｌ　Ｍｅｅｔｉｎｇ　ｏｆ　ｔｈｅ　Ａｓｓｏｃｉａｔｉｏｎ　ｆｏｒ　Ｃｏｍｐｕｔａｔｉｏｎａｌ　Ｌｉｎｇｕｉｓｔｉｃｓ，　１９９７．
文献６：　Ｉａｍｅａｌ　Ｇａｒｃｉａ−Ｖａｒｅａ　ａｎｄ　Ｆｒａｎｃｉｓｃｏ　Ｃａｓａｃｕｂｅｒｔａ．　　Ｓｅａｃｈ　ａｌｇｏｒｉｔｈｍｓ　ｆｏｒ　ｓｔａｔｉｓｔｉｃａｌ　ｍａｃｈｉｎｅ　ｔｒａｎｓｌａｔｉｏｎ　ｂａｓｅｄ　ｏｎ　ｄｙｎａｍｉｃ　ｐｒｏｇｒａｍｍｉｎｇ　ａｎｄｐｒｕｎｉｎｇ　ｔｅｃｈｎｉｑｕｅｓ．　Ｉｎ　ＭＴ　Ｓｕｍｍｉｔ　ＶＩＩＩ，　Ｓａｎｔｉａｇｏ　ｄｅ　Ｃｏｍｐｏｓｔｅｌａ，　Ｇａｌｉｃｉａ，Ｓｐａｉｎ，　ｓｅｐｔｅｍｂｅｒ　２００１．
文献７：Ｃｈｒｉｓｔｏｐｈ　Ｔｉｌｌｍａｎｎ　ａｎｄ　Ｈｅｒｍａｎｎ　Ｎｅｙ．　Ｗｏｒｄ　ｒｅ−ｏｒｄｅｒｉｎｇ　ａｎｄ　ｄｐ−ｂａｓｅｄ　ｓｅａｒｃｈ　ｉｎ　ｓｔａｔｉｏｎａｌ　ｍａｃｈｉｎｅ　ｔｒａｎｓｌａｔｉｏｎ．　Ｉｎ　　Ｐｒｏｃ．　ｏｆ　ｔｈｅ　ＣＯＬＩＮＧ　２０００，　Ｊｕｌｙ−Ａｕｇｕｓｔ　２０００．
【０００８】
これらは、入力文に対して出力文を文頭から文末へと生成し、原言語文と目的言語文とがほぼ線形に対応づけられることを仮定したプルーニング戦略を取り入れたものであった。このようなアルゴリズムにおいては、言語学上性質の異なる言語の翻訳、例えば日本語と英語、には対応できなかった。
【０００９】
また、Ｇｅｒｍａｍｍ　らはヒルクライミングアルゴリズムとインテジャープログラムによる解を示しているが（文献８参照）、前者の手法では、同様に満足な解が得られない。また、後者の手法では実用上、解を得ることができない。
【００１０】
文献８：　Ｕｌｒｉｃｈ　Ｇｅｒｍａｎ，　Ｍｉｃｈａｅｌ　Ｊａｈｒ，　Ｋｅｖｉｎ　Ｋｎｉｇｈｔ，　Ｄａｎｉｅｌ　Ｍａｒｃｕ　ａｎｄ　Ｋｅｎｊｉ　Ｙａｍａｄａ．　Ｆａｓｔ　ｄｅｃｏｄｉｎｇ　ａｎｄ　ｏｐｔｉｍａｌ　ｄｅｃｏｄｉｎｇ　ｆｏｒ　ｍａｃｈｉｎｅ　ｔｒａｎｓｌａｔｉｏｎ．Ｉｎ　　Ｐｒｏｃ．　ｏｆ　ＡＣＬ−０１，　Ｔｏｕｌｏｕｓｅ，　Ｆｒａｎｃｅ　２００１．
【００１１】
【発明が解決しようとする課題】
この発明は、出力単語どうしの結合、出力単語とフレーズとの結合およびフレーズどうしの結合によってフレーズを構築していくことにより出力文を生成する、新規な統計的機械翻訳におけるデコーディング方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
この発明による統計的機械翻訳方法におけるデコーディング方法は、入力文を構成する各入力単語に対応する出力単語を生成していくステップ、および出力単語どうしを結合してフレーズを生成していくとともに、出力単語とフレーズとの結合およびフレーズどうしの結合を行っていくことにより、フレーズを構築していくステップを備えていることを特徴とする。
【００１３】
【発明の実施の形態】
以下、図面を参照して、この発明の実施の形態について説明する。
【００１４】
〔１〕統計的機械翻訳の概要についての説明
【００１５】
統計的機械翻訳においては、ある原言語のテキストＷＳ　が与えられているときにある目的言語のテキストＷＴ　へと翻訳する問題を、最大尤度の確率の出力を発見する問題としてとらえられており、次式（１）のように表現される。
【００１６】
【数１】
2004102946.tif 000003
【００１７】
上記式（１）にベーズルールを適用することにより、上記の問題は、次式（２）に示すように、チャネルモデルにおける最大事後確率の解を求める問題に置き換えられる。
【００１８】
【数２】
2004102946.tif 000004
【００１９】
このため、翻訳の過程は、図１（ａ）に示すように「翻訳家の知識Ｐ（ＷＴ　｜ＷＳ　）を基にして原言語のテキストＷＳ　を翻訳」するのではなく、暗号作成／解読の過程と同様に扱われ、図１（ｂ）に示すように「ある確率Ｐ（ＷＴ　）で起こりうる目的言語のテキストＷＴ　を、ノイズにより（　Ｐ（ＷＴ　｜ＷＳ　）　）から出力されたＷＳ　から推定する」という問題として扱われるようになった（上記文献１参照）。
【００２０】
Ｐ（ＷＴ　）　は言語モデル（事前確立）であり、目的言語のテキストＷＴ　の尤度を示す。Ｐ（ＷＴ　｜ＷＳ　）は翻訳モデル（事後確立）であり、目的言語のテキストＷＴ　が原言語のテキストＷＳ　へと翻訳される確率を表す。また、翻訳モデルに、目的言語のテキストＷＴ　の各単語が原言語のテキストＷＳ　のどの単語のインデックスに対応するかを表すアライメントＡという概念が導入されることにより、翻訳モデルは、次式（３）のように表される。
【００２１】
【数３】
2004102946.tif 000005
【００２２】
図２は、目的言語のテキストＷＴ　である英語の文”Ｃｏｕｌｄ　ｙｏｕ　ｒｅｃｏｍｍｅｄ　ａｎｏｔｈｅｒ　ｈｏｔｅｌ”と、原言語のテキストＷＳ　である日本語文の「他のホテルを紹介していただけますか」とにおける、アライメントの例を示している。例えば、日本語文におけるインデックス１の「他」とインデックス２の「の」が、英語文のインデックス４の”　ａｎｏｔｈｅｒ”へと対応づけられている。
【００２３】
また、英語文のインデックス０にあるＮＵＬＬシンボルも単語の一つであり、「ます」や「か」のように、原言語のテキストＷＳ　である日本語文に対応する単語がない場合に対応づけられている。
【００２４】
〔１．１〕翻訳モデルの構成
【００２５】
上記式（３）の翻訳モデルＰ（ＷＳ　，Ａ｜ＷＴ　）を表現するために様々な翻訳モデルが提唱されているが、ここでは一例としてＩＢＭ　Ｍｏｄｅｌ　４　を使用する。この翻訳モデルは、図３に示すように、４つのモデルから構成されている（上記文献１参照）。
【００２６】
（１）Ｌｅｘｉｃａｌ　モデル：ｔ（ＷＳＡｉ　｜ＷＴｉ）
ある目的言語の単語ＷＴｉが原言語の単語ＷＳＡｉ　へと翻訳される確率。
【００２７】
（２）Ｆｅｒｔｉｌｉｔｙ　モデル：ｎ（φｉ　｜ＷＴｉ）
ある目的言語の単語ＷＴｉがφｉ　個の原言語の単語と対応される確率。
【００２８】
（３）Ｄｉｓｔｏｒｔｉｏｎモデル：ｄ
ＷＴ　とＷＳ　が与えられたときのアライメントがＡである確率。ＩＢＭ　Ｍｏｄｅｌ　４　では、次の２つのモデルに分割される。
【００２９】
・ｄ１（ｊ−ｃｐｉ｜Ａ（　ＷＴｉ），Ｂ（　ＷＳｊ）　）
Ｈｅａｄにある単語に対するアライメント（並び替え）の確率。Ｈｅａｄにある単語とは、チャネルソースにある、ｆｅｒｔｉｌｉｔｙ　（出力文の１つの単語に対応付けられる入力文の単語の数）が１以上の単語ＷＴｉ（ｃｅｐｔ　と呼ぶ）　から対応付けられたチャネルターゲットの単語の中で、最も左にあるものを指す。ＩＢＭ　Ｍｏｄｅｌ　４　では、前のｃｅｐｔと対応している単語のセットの中心（ｃｐｉ）　からの相対的な位置に対して確率を定義しており、チャネルソース単語ＷＴｉの単語クラスＡとチャネルターゲット単語ＷＳｊの単語クラスＢに依存している。
【００３０】
・　ｄ＞１（ｊ−ｊ’　｜Ｂ（ＷＳｊ）　）
Ｈｅａｄ　でない単語（Ｎｏｎ−ｈｅａｄ）に対するアライメントの確率（文献１参照）。
【００３１】
（４）ＮＵＬＬモデル：Ｑ（式（４）参照）
【００３２】
【数４】
2004102946.tif 000006
【００３３】
ある原言語のφ０　個の単語が　ＮＵＬＬ　へと対応づけられる確率。
【００３４】
〔１．２〕探索問題
【００３５】
統計的機械翻訳における探索問題は、入力文ＷＳ　が与えられたときに、翻訳モデルＰ（ＷＳ　｜ＷＴ　）＝ΣＰ（ＷＳ　，Ａ｜ＷＴ　）と言語モデルＰ（ＷＴ　）とから最大尤度の出力文ＷＴ　を発見する問題として扱われている。ただし、可能なＡの空間は、次式（５）で示されるように、非常に大きく、翻訳を決定する場合、その近似値、Ｐ（ＷＳ　｜ＷＴ　）≒Ｐ（ＷＳ　，Ａ｜ＷＴ　）　　が用いられる。
【００３６】
【数５】
2004102946.tif 000007
【００３７】
統計的機械翻訳における探索問題は、単語の単位の翻訳だけでなく、並び替えの問題も含んでいることからＮＰ＿Ｃｏｍｐｌｅｔｅであることが知られている（上記文献２参照）。過去の研究においては、出力の方向を文頭から文末へと生成するという制約を加え、プルーニング（剪定）を行うことによりデコーディングアルゴリズムを実現している（上記文献３〜８参照）。ただし、プルーニングも原言語と目的言語とがほぼ線形に対応づけられていることを仮定しており、日本語と英語間の翻訳といった語順の相違が大きい言語間の翻訳を想定していない。
【００３８】
〔２〕デコーディングアルゴリズム
【００３９】
本発明によるデコーディングアルゴリズムをフレーズデコーディングアルゴリズムと呼ぶことにする。フレーズデコーディングアルゴリズムは、探索空間を幅優先で探索を行なうビームサーチアルゴリズムに基づいている（上記文献４参照）。
【００４０】
まず、フレーズデコーディングアルゴリズムで用いられる仮説およびマルチスタックについて説明する。
【００４１】
仮説ｈは、（ＷＴ　，Ａ，Ｃ，ｓ）　のように表現される。仮説の各要素は次のように定義される。
【００４２】
ＷＴ　：部分出力文
Ａ　：アライメント（入力文と同じ長さを持つ）
Ｃ　：既に処理された入力文のインデックスの集合
ｓ　：スコア
【００４３】
マルチスタックは、スタックの集合であり、入力文の単語のインデックスの部分集合から空集合｛｝を除くいた、各部分集合（各組み合わせ）に対応したスタックが存在している。例えば、入力文が、インデックス１の単語、インデックス２の単語およびインデックス３の単語の３つの単語から構成されている場合には、Ｃ＝｛１｝、Ｃ＝｛２｝、Ｃ＝｛３｝、Ｃ＝｛１，２｝、Ｃ＝｛１，３｝、Ｃ＝｛２，３｝、Ｃ＝｛１，２，３｝それぞれに対応した６個のスタックが用意される。
【００４４】
各スタックには、デコーディングアルゴリズムによって生成された仮説が格納される。各スタックにおいては、スコアの高い順に、仮説がソートされる。スタックに格納されている仮説の数が所定の閾値（ｍａｘ−ｓｔａｃｋ−ｓｉｚｅ）　に達している場合に、新たな仮説を格納しようとする場合には、それらの仮説の中でスコアの最も低い仮説を捨てることにより、常にｍａｘ−ｓｔａｃｋ−ｓｉｚｅの数の仮説を格納するようにしている。
【００４５】
〔２．１〕全体フロー
【００４６】
図４は、フレーズデコーディングアルゴリズムの全体的な処理手順を示している。
【００４７】
まず、入力文Ｗｓ　＝Ｗｓ１，　Ｗｓ２，　…ＷＳｍを入力する（ステップ１）。入力文Ｗｓ　の入力長（単語数）はｍである。次にｃｅｐｔ生成処理を行う（ステップ２）。つまり、入力文を構成する各単語から出力単語（ｃｅｐｔ）を生成する。この後、フレーズ構築処理を行なう（ステップ３）。つまり、出力単語（ｃｅｐｔ）どうしを結合してフレーズを生成していくとともに、出力単語（ｃｅｐｔ）とフレーズとの結合およびフレーズどうしの結合を行っていくことにより、フレーズを構築していく。
【００４８】
〔２．２〕ｃｅｐｔ生成処理
図５は、ｃｅｐｔ生成処理（図４のステップ２の処理）の詳細な手順を示している。
【００４９】
以下の説明において、｜Ｃ｜は、入力文の単語のインデックスの部分集合Ｃの要素数を表すものとする。
【００５０】
まず、入力文を構成する単語をＷＳｊ（ｊ＝０，１，…，ｍ）で表すことにし、変数ｊに１を設定する（ステップ１１）。
【００５１】
そして、ｆｅｒｔｉｌｉｔｙ　が１である仮説の生成処理を行なう（ステップ２）。この処理について説明する。まず、仮説の要素であるＣを｛ｊ｝とする（Ｃ←｛ｊ｝）。また、仮説の要素であるアライメントＡ中のｊ番目の部分アライメントＡ｛ｊ｝を１に設定する（Ａ：Ａ｛ｊ｝＝１）。
【００５２】
次に、仮説の要素である部分出力文ＷＴ　（ここでは、ｃｅｐｔ（出力単語））を、次のようにして生成する。まず、入力単語ＷＳｊに対応する翻訳単語の候補を生成する。翻訳候補は、Ｌｅｘｉｃａｌ　モデルから得られる逆翻訳確率（ｔ（ＷＴ　｜ＷＳ　））と、ＷＴ　の分布から得られる（上記文献３および下記文献９参照）。
【００５３】
文献９：　Ｙａｓｅｒ　Ａｌ−Ｏｎａｉｚａｎ，　Ｊａｎ　Ｃｕｒｉｎ，　Ｍｉｃｈａｅｌ　Ｊａｈｒ，　Ｋｅｖｉｎ　Ｋｎｉｇｈｔ，　ＪｏｈｎＬａｆｆｅｒｔｙ，　Ｄａｎ　Ｍｅｌａｍｅｄ，　Ｆｒａｎｔｚ−Ｊｏｓｅｆ　Ｏｃｈ，　Ｄａｖｉｄ　Ｐｕｒｄｙ，　Ｎｏａｈ　Ａ．　Ｓｍｉｔｈ，　ａｎｄ　Ｄａｖｉｄ　Ｙａｒｏｗｓｋｙ．　Ｓｔａｔｉｓｔｉｃａｌ　ｍａｃｈｉｎｅ　ｔｒａｎｓｌａｔｉｏｎ　ｆｉｎａｌ　ｒｅｐｏｒｔ，　ｊｈｕ　ｗｏｒｋｓｈｏｐ　１９９９，１２　１９９９．
【００５４】
逆翻訳確率（ｔ（ＷＴ　｜ＷＳ　））は、次式（６）で表される。
【００５５】
【数６】
2004102946.tif 000008
【００５６】
この逆翻訳確率（ｔ（ＷＴ　｜ＷＳ　））から得られた候補のうち、上位ｎ個をｃｅｐｔ（出力単語ＷＴ　）として用いる。
【００５７】
各ｃｅｐｔ（出力単語ＷＴ　）毎に、仮説の要素であるスコアｓを次式（７）に基づいて算出する。
【００５８】
【数７】
2004102946.tif 000009
【００５９】
上記式（７）においてφ＝｜Ｃ｜である。
【００６０】
各ｃｅｐｔ（出力単語ＷＴ　）毎に得られた仮説ｈを、仮説ｈ内のＣに対応するスタックに格納する。
【００６１】
このようにして、現在設定されているｊに対して、ｆｅｒｔｉｌｉｔｙ　が１である仮説が生成されると、ｊを１だけインクリメント（ｊ←ｊ＋１）する（ステップ１３）。そして、ｊがｍより大きくなった（ｊ＞ｍ）か否かを判別する（ステップ１４）。ｊがｍ以下（ｊ≦ｍ）である場合には、ステップ１２に戻って、ｆｅｒｔｉｌｉｔｙ　が１である仮説の生成処理を行なう。したがって、ｊ＝１，ｊ＝２，…，ｊ＝ｍである場合それぞれに対して、ｆｅｒｔｉｌｉｔｙ　が１である仮説の生成処理が行なわれる。
【００６２】
この結果、例えば、入力文Ｗｓの入力長ｍが３である場合には、ステップ１１〜ステップ１４の処理によって、Ｃ＝｛１｝に対応するスタック、Ｃ＝｛２｝に対応するスタックおよびＣ＝｛３｝に対応するスタックに、部分出力文ＷＴ　が１個の出力単語からなる仮説が格納されることになる。
【００６３】
上記ステップ１４において、ｊ＞ｍであると判別されると、変数ｃが１に設定される（ステップ１５）。そして、｜Ｃ｜＝ｃであるスタック（要素数がｃ個である部分集合に対応するスタック）でまだ選択されていないスタックが存在するか否かを判別する（ステップ１６）。
【００６４】
｜Ｃ｜＝ｃであるスタックでまだ選択されていないスタックが存在する場合には、そのうちの１つのスタックを選択する（ステップ１７）。そして、選択したスタック内にまだ読み出されていない仮説が存在するか否かを判別する（ステップ１８）。選択したスタック内にまだ読み出されてない仮説が存在する場合には、まだ読み出されてない仮説ｈを１つだけ読み出す（ステップ１９）。
【００６５】
次に、変数ｊに１を設定する（ステップ２０）。そして、読み出された仮説（以下、注目仮説という）ｈ内のＣに、ｊが含まれていないか否かを判別する（ステップ２１）。
【００６６】
ｊが注目仮説ｈ内のＣに含まれていない場合には、ｆｅｒｔｉｌｉｔｙ　が（｜Ｃ｜＋１）である仮説の生成処理を行う（ステップ２２）。この処理について説明する。まず、新仮説の要素であるＣとして、Ｃ∪｛ｊ｝が設定される（Ｃ←Ｃ∪｛ｊ｝）。なお、Ｃ∪｛ｊ｝は、例えば、注目仮説ｊ内のＣが｛１｝でかつｊが２であれば、｛１｝∪｛２｝＝｛１，２｝となり、注目仮説ｊ内のＣが｛１，２｝でかつｊが３であれば、｛１，２｝∪｛３｝＝｛１，２，３｝となる。
【００６７】
また、新仮説の要素であるアライメントＡ中のｊ番目の部分アライメントＡ｛ｊ｝を１に設定する（Ａ：Ａ｛ｊ｝＝１）。なお、新仮説の要素である部分出力文ＷＴ　としては、注目仮説ｈ内の部分出力文ＷＴ　をそのまま用いる。新仮説の要素であるスコアｓを、上記式（７）に基づいて算出する。
【００６８】
このようにして生成された新仮説を、新仮説内のＣに対応するスタックに格納する。
【００６９】
なお、｜Ｃ｜＝ｍである場合には、さらに、部分出力文ＷＴ　に、ｆｅｒｔｉｌｉｔｙ　がゼロの単語列を前後に追加した部分出力文ＷＴ　を生成する。そして、新たに生成した部分出力文ＷＴ　毎にスコアを算出することにより、仮説を生成して対応するスタックに格納する。
【００７０】
このようにして、現在設定されているｊに対して、ｆｅｒｔｉｌｉｔｙ　が（｜Ｃ｜＋１）である仮説が生成されると、ステップ２３に移行する。上記ステップ２１において、ｊが注目仮説ｈ内のＣに含まれていると判別した場合には、ステップ２３に移行する。
【００７１】
ステップ２３では、ｊを１だけインクリメント（ｊ←ｊ＋１）する。そして、ｊがｍより大きくなった（ｊ＞ｍ）か否かを判別する（ステップ２４）。ｊがｍ以下（ｊ≦ｍ）である場合には、ステップ２１に戻る。したがって、１つの注目仮説ｈに対して、ｊ＝１，ｊ＝２，…，ｊ＝ｍのうち、ｊが注目仮説ｈ内のＣに含まれていない値である場合それぞれに対して、ｆｅｒｔｉｌｉｔｙ　が（｜Ｃ｜＋１）である仮説の生成処理が行なわれる。
【００７２】
上記ステップ２４において、ｊ＞ｍであると判別されると、ステップ１８に戻る。なお、ステップ１８において、上記ステップ１７で選択したスタック内にまだ読み出されてない仮説が存在しないと判別された場合には、ステップ１６に戻る。
【００７３】
また、上記ステップ１６において、｜Ｃ｜＝ｃであるスタック（要素数がｃ個である部分集合に対応するスタック）でまだ選択されていないスタックが存在していない場合には、変数ｃを１だけインクリメント（ｃ←ｃ＋１）する（ステップ２５）。そして、ｃが予め定められたｍａｘ　＿ｆｅｒｔｉｌｉｔｙ　に達したか否かを判別する（ステップ２６）。ｍａｘ　＿ｆｅｒｔｉｌｉｔｙ　は、例えば、ｍの平均が６程度の場合には、４に設定される。
【００７４】
ｃが予め定められたｍａｘ　＿ｆｅｒｔｉｌｉｔｙ　に達していない場合には、ステップ１６に戻る。ｃが予め定められたｍａｘ　＿ｆｅｒｔｉｌｉｔｙ　に達している場合には、今回のｃｅｐｔ生成処理を終了し、フレーズ構築処理に移行する。
【００７５】
例えば、入力文Ｗｓの入力長ｍが３であり、ｍａｘ　＿ｆｅｒｔｉｌｉｔｙ　が２である場合には、ステップ１５〜ステップ２４の処理によって、Ｃ＝｛１，２｝に対応するスタック、Ｃ＝｛１，３｝に対応するスタックおよびＣ＝｛２，３｝に対応するスタックに、ｆｅｒｔｉｌｉｔｙ　が２である仮説が格納されることになる。また、ｍａｘ　＿ｆｅｒｔｉｌｉｔｙ　が３である場合には、さらに、Ｃ＝｛１，２，３）に対応するスタックに、ｆｅｒｔｉｌｉｔｙ　が３である仮説が格納されることになる。
【００７６】
〔２．３〕フレーズ構築処理
【００７７】
図６は、フレーズ構築処理（図４のステップ３の処理）の詳細な手順を示している。
【００７８】
まず、変数ｃに１を設定する（ステップ３１）。そして、｜Ｃ｜＝ｃであるスタック（要素数がｃ個である部分集合に対応するスタック）でまだ選択されていないスタックが存在するか否かを判別する（ステップ３２）。
【００７９】
｜Ｃ｜＝ｃであるスタックでまだ選択されていないスタックが存在する場合には、そのうちの１つのスタックを選択する（ステップ３３）。そして、選択したスタック内にまだ読み出されていない仮説が存在するか否かを判別する（ステップ３４）。選択したスタック内にまだ読み出されてない仮説が存在する場合には、まだ読み出されてない仮説ｈを１つだけ読み出す（ステップ３５）。そして、ＮＵＬＬへの対応付けおよび仮説結合処理を行なう（ステップ３６）。この処理の詳細については、後述する。ＮＵＬＬへの対応付けおよび仮説結合処理が行なわれると、ステップ３４に戻る。
【００８０】
ステップ３４において、上記ステップ３３で選択したスタック内にまだ読み出されてない仮説が存在しない場合には、ステップ３２に戻る。
【００８１】
また、上記ステップ３２において、｜Ｃ｜＝ｃであるスタック（要素数がｃ個である部分集合に対応するスタック）でまだ選択されていないスタックが存在していない場合には、変数ｃを１だけインクリメント（ｃ←ｃ＋１）する（ステップ３７）。そして、ｃがｍに達したか否かを判別する（ステップ３８）。ｃがｍに達していない場合には、ステップ３２に戻る。ｃがｍに達している場合には、今回のフレーズ構築処理を終了する。つまり、デコーディング処理が終了する。この時点において、｜Ｃ｜＝ｍであるスタックの中に解が存在することになる。
【００８２】
図７は、図６のステップ３６の処理（ＮＵＬＬへの対応付けおよび仮説結合処理）の詳細な手順を示している。
【００８３】
上記ステップ３５で読み出された仮説ｈを入力する（ステップ４１）。変数ｊに１を設定する（ステップ４２）。そして、入力された仮説（以下、注目仮説という）ｈ内のＣに、ｊが含まれていないか否かを判別する（ステップ４３）。
【００８４】
ｊが注目仮説ｈ内のＣに含まれていない場合には、ＷＳｊをＮＵＬＬへ対応付けるための処理を行なう（ステップ４４）。この処理について説明する。
【００８５】
新仮説の要素であるＣとして、Ｃ∪｛ｊ｝を設定する（Ｃ←Ｃ∪｛ｊ｝）。なお、Ｃ∪｛ｊ｝は、例えば、注目仮説ｊ内のＣが｛１｝でかつｊが２であれば、｛１｝∪｛２｝＝｛１，２｝となり、注目仮説ｊ内のＣが｛１，２｝でかつｊが３であれば、｛１，２｝∪｛３｝＝｛１，２，３｝となる。
【００８６】
また、新仮説の要素であるアライメントＡ中のｊ番目の部分アライメントＡ｛ｊ｝を０に設定する（Ａ：Ａ｛ｊ｝＝０）。なお、新仮説の要素である部分出力文ＷＴ　としては、注目仮説ｈ内の部分出力文ＷＴ　をそのまま用いる。新仮説の要素であるスコアｓを、次の式（８）に基づいて算出する。
【００８７】
【数８】
2004102946.tif 000010
【００８８】
このようにして生成された新仮説を、新仮説内のＣに対応するスタックに格納する。
【００８９】
このようにして、現在設定されているｊに対して、ＷＳｊをＮＵＬＬへ対応付けるための処理が実行されると、ステップ４５に移行する。上記ステップ４３において、ｊが注目仮説ｈ内のＣに含まれていると判別した場合には、ステップ４３に移行する。
【００９０】
ステップ４３では、ｊを１だけインクリメント（ｊ←ｊ＋１）する。そして、ｊがｍより大きくなった（ｊ＞ｍ）か否かを判別する（ステップ４６）。ｊがｍ以下（ｊ≦ｍ）である場合には、ステップ４３に戻る。したがって、１つの注目仮説ｈに対して、ｊ＝１，ｊ＝２，…，ｊ＝ｍのうち、ｊが注目仮説ｈ内のＣに含まれていない値である場合それぞれに対して、ＷＳｊをＮＵＬＬへ対応付けるための処理が行なわれる。
【００９１】
上記ステップ４６において、ｊ＞ｍであると判別されると、変数ｃ’に注目仮説ｈ内のＣの要素数｜Ｃ｜が設定される（ステップ４７）。そして、｜Ｃ’｜＝ｃ’であるスタック（要素数がｃ’個である部分集合に対応するスタック）でまだ選択されていないスタックが存在するか否かを判別する（ステップ４８）。
【００９２】
｜Ｃ’｜＝ｃ’であるスタックでまだ選択されていないスタックが存在する場合には、そのうちの１つのスタックを選択する（ステップ４９）。そして、仮説結合処理が行なわれる（ステップ５０）。仮説結合処理について説明する。
【００９３】
つまり、上記ステップ４９で選択されたスタックに格納されている各仮説ｈ’毎に次のような処理を行なう。注目仮説ｈ内の各要素を（ＷＴ　，Ａ，Ｃ，ｓ）で表し、仮説ｈ’内の各要素を（ＷＴ　’，Ａ’，Ｃ’，ｓ’）で表すことにする。仮説ｈ内の注目仮説ｈ内のＣと仮説ｈ’内のＣ’とが、Ｃ∩Ｃ’＝｛｝であるか否かを判別する。つまり、ＣとＣ’とに共通する要素が存在しないか存在するかを判別する。Ｃ’＝｛｝でない場合には、つまり、ＣとＣ’とに共通する要素が存在する場合には、注目仮説ｈと仮説ｈ’との結合を行わない。
【００９４】
Ｃ’＝｛｝である場合には、つまり、ＣとＣ’とに共通する要素が存在しない場合には、次のようにして、注目仮説ｈと仮説ｈ’とを結合した新仮説ｈ”を生成する。新仮説ｈ”内の各要素を（ＷＴ　”，Ａ”，Ｃ”，ｓ”）で表すことにする。新仮説ｈ”の要素であるＣ”として、Ｃ∪Ｃ’を設定する（Ｃ←Ｃ∪Ｃ’）。また、新仮説ｈ”の要素であるアライメントＡ”として、Ａ＋Ａ’を設定する（Ａ”←Ａ＋Ａ’）。
【００９５】
また、新仮説ｈ”の要素である部分出力文ＷＴ　”として、ＷＴ　＋ＷＴｉｎｓｅｒｔ　＋ＷＴ　’を設定する。ここで、ＷＴｉｎｓｅｒｔ　は、ＷＴ　とＷＴ　’との間に挿入されるｆｅｒｔｉｌｉｔｙ　がゼロの単語列であり、Ｌｅｘｉｃａｌ　モデルとＦｅｒｔｉｌｉｔｙ　モデルとから計算可能である。または、トレーニングの結果得られるビデルビアライメントから候補を得ることができる（　上記文献３，９参照）　。
【００９６】
新仮説ｈ”の要素であるスコアｓ”を、次式（９）に基づいて算出する。
【００９７】
【数９】
2004102946.tif 000011
【００９８】
上記式（９）において、ＷｃＴ＝ＷＴ　＋ＷＴｉｎｓｅｒｔ　＋ＷＴ　’である。
【００９９】
このようにして生成された新仮説ｈ”を、新仮説ｈ”内のＣ”に対応するスタックに格納する。
【０１００】
なお、｜Ｃ｜＝ｍである場合には、さらに、部分出力文ＷＴ　”に、ｆｅｒｔｉｌｉｔｙ　がゼロの単語列を前後に追加した出力文を生成する。そして、新たに生成した出力文毎にスコアを算出することにより、仮説を作成して対応するスタックに格納する。
【０１０１】
なお、上記は、ｈ＋ｈ’の新仮説ｈ”を生成する場合について説明したが、ｈ’＋ｈの新仮説ｈ”をも同様にして生成する。
【０１０２】
このようにして、上記ステップ４９で選択された１つのスタックに対する仮説結合処理が行なわれると、ステップ４８に戻る。
【０１０３】
また、上記ステップ４８において、｜Ｃ’｜＝ｃ’であるスタック（要素数がｃ’個である部分集合に対応するスタック）でまだ選択されていないスタックが存在していない場合には、変数ｃ’を１だけインクリメント（ｃ’←ｃ’＋１）する（ステップ５１）。そして、ｃ’がｍに達したか否かを判別する（ステップ５２）。ｃ’がｍに達していない場合には、ステップ４８に戻る。ｃ’がｍに達している場合には、今回のＮＵＬＬへの対応付けおよびフレーム結合処理を終了し、図６のステップ３４に戻る。
【０１０４】
〔４〕実験
【０１０５】
今回行った実験のコーパスは、大規模旅行会話集（文献１０参照）から抽出した１７２，４８１　の日英の対訳文であり、その統計情報を表１に示す。コーパスを、１５２，１８３　文からなるトレーニングセット、１０，１４８文からなる検証セットおよび１０，１５０文からなるテストセットに分けて取り出した。
【０１０６】
文献１０：Ｔｏｓｈｉｙｕｋｉ　Ｔａｋｅｚａｗａ，　Ｅｉｉｃｈｉｒｏ　Ｓｕｍｉｔａ，　Ｆｕｍｉａｋｉ　Ｓｕｇａｙａ，　Ｈｉｒｏｆｕｍｉ　Ｙａｍａｍｏｔｏ　ａｎｄ　Ｓｅｉｉｃｈｉ　Ｙａｍａｍｏｔｏ．　　Ｔｏｗａｒｄ　ａ　ｂｒｏａｄ−ｃｏｖｅｒａｇｅ　ｂｉｌｉｎｇｕａｌ　ｃｏｒｐｕｓ　ｆｏｒ　ｓｐｅｅｃｈ　ｔｒａｎｓｌａｔｉｏｎ　ｏｆ　ｔｒａｖｅｌ　ｃｏｎｖｅｒｓａｔｉｏｎｓ　ｉｎ　ｔｈｅ　ｒｅａｌ　ｗｏｒｌｄ．　Ｉｎ　Ｐｒｏｃ．　ｏｆ　ＬＲＥＣ　２００２，　ｐａｇｅｓ　１４７−１５２，　Ｌａｓ　Ｐａｌｍａｓ，　Ｃａｎａｒｙ　Ｉｓｌａｎｄｓ，　Ｓｐａｉｎ，　Ｍａｙ　２００２．
【０１０７】
【表１】
2004102946.tif 000012
【０１０８】
翻訳モデルは日英、英日方向、どちらもＩＢＭ　Ｍｏｄｅｌ−１　からＩＢＭ　Ｍｏｄｅｌ　＿ｌ　からＩＢＭ　Ｍｏｄｅｌ　＿４　までブートストラップしてトレーニングを行い、途中にＨＭＭ　Ｍｏｄｅｌ　によるトレーニングを行っている（文献１１参照）。また、検証セットによるクロスバリデーションを行いながらトレーニングを繰り返した。ＩＢＭ　Ｍｏｄｅｌ　＿４　においては、品詞（ＰＯＳ）　を単語クラスとして用いた。
【０１０９】
文献１１：Ｆｒａｎｚ　Ｊｏｓｅｆ　Ｏｃｈ，　Ｃｈｒｉｓｔｏｐｈ　Ｔｉｌｌｍａｎｎ　ａｎｄ　Ｈｅｒｍａｎｎ　Ｎｅｙ．　Ｉｍｐｒｏｖｅｄ　ａｌｉｇｎｍｅｎｔ　ｍｏｄｅｌｓ　ｆｏｒ　ｓｔａｔｉｓｔｉｃａｌ　ｍａｃｈｉｎｅ　ｔｒａｎｓｌａｔｉｏｎ．　Ｉｎ　Ｐｒｏｃｅｅｄｉｎｇｓ　ｏｆ　ｔｈｅ　Ｊｏｉｎｔ　Ｃｏｎｆ．　ｏｆ　　Ｅｍｐｉｒｉｃａｌ　Ｍｅｔｈｏｄｓ　ｉｎ　Ｎａｔｕｒａｌ　Ｌａｎｇｕａｇｅ　Ｐｒｏｃｅｓｓｉｎｇ　ａｎｄ　Ｖｅｒｙ　Ｌａｒｇｅ　Ｃｏｒｐｏｒａ，　Ｕｎｉｖｅｒｓｉｔｙ　ｏｆ　Ｍａｒｙｌａｎｄ，　Ｃｏｌｌｅｇｅ　Ｐａｒｋ，　ＭＤ，　Ｊｕｎｅ　１９９９．
【０１１０】
トレーニングコーパスのビテルビアライメントから、ｆｅｒｔｉｌｉｔｙ　がゼロとなる単語列を取り出し、頻度が１０未満のものを取り除いた。また、テストセットから文長が６　、８　、１０である、それぞれ５０文、合計１５０　の日本語、英語の文を取り出した。翻訳実験において、上記実施の形態のフレーズデコーディングアルゴリズム（ＰＤ）と、上記文献４に基づいたビームサーチアルゴリズム（ＢＳ）で、デコーディングを行った。
【０１１１】
翻訳結果は、単語誤り率（ＷＥＲ；　Ｗｏｒｄ−ｅｒｒｏｒ−ｒａｔｅ）、位置独立単語誤り率（ＰＥＲ；　Ｐｏｓｉｔｉｏｎ　ｉｎｄｅｐｅｎｄｅｎｔ　ｗｏｒｄ−ｅｒｒｏｒ−ｒａｔｅ）によって評価を行なった（上記文献４参照と文献１２参照）。
【０１１２】
・単語誤り率（ＷＥＲ　）は、挿入、削除、置き換えをそれぞれ１としてペナルティを計算するものであり、それに対して位置独立単語誤り率（ＰＥＲ　）　　は、単語位置の誤りを無視、入力単語に対する出力単語の正しさを評価するものである。
【０１１３】
さらに、翻訳結果を人手でＡランクからＤランクへと評価づける主観評価（ＳＥ）も行った（文献１３参照）。
【０１１４】
文献１３：Ｅｉｉｃｈｉｒｏ　Ｓｕｍｉｔａ，　　Ｓｅｔｓｕｏ　Ｙａｍａｄａ，　Ｋａｚｕｈｉｄｅ　Ｙａｍａｍｏｔｏ，　Ｍｉｃｈａｅｌ　Ｐａｕｌ，　Ｈｉｄｅｋｉ　Ｋａｓｈｉｏｋａ，　Ｋａｉ　Ｉｓｈｉｋａｗａ　ａｎｄ　Ｓａｔｏｓｈｉ　Ｓｈｉｒａｉ．　Ｓｏｌｕｔｉｏｎｓ　ｔｏ　ｐｒｏｂｌｅｍｓ　ｉｎｈｅｒｅｎｔ　ｉｎ　ｓｐｏｋｅｎ−ｌａｎｇｕａｇｅ　ｔｒａｎｓｌａｔｉｏｎ：　Ｔｈｅ　ＡＴＲ−ＭＡＴＲＩＸ　Ａｐｐｒｏｃｈ．　Ｉｎ　Ｍａｃｈｉｎｅ　Ｔｒａｎｓｌａｔｉｏｎ　Ｓｕｍｍｉｔ　ＶＩＩ，　Ｐａｇｅｓ　２２９−２３５，　１９９９．
【０１１５】
デコーディングの平均処理時間を表２に示す。また、表３に翻訳結果の評価結果をまとめた。また、探索エラー率を表４に示す。また、２つのデコーディングアルゴリズムの出力例を、日英、英日翻訳それぞれについて図８、図９に示す。
【０１１６】
【表２】
2004102946.tif 000013
【０１１７】
【表３】
2004102946.tif 000014
【０１１８】
【表４】
2004102946.tif 000015
【０１１９】
〔５〕考察
表２から、フレーズデコーディングアルゴリズム（ＰＤ）は、ビームサーチアルゴリズム（ＢＳ）より、処理時間が大幅に増大していることが分かった。ただし、入力長が６の場合、英日翻訳ではＰＤの方が減少している。これは、３−ｇｒａｍ言語モデルによるフレーズの制約によって適切なフレーズが残り、スコアが著しく低い仮説が取り除かれたことを示す。
【０１２０】
フレーズデコーディングアルゴリズムでは、日英、英日翻訳共にＷＥＲ　の減少が若干見られ、また、ＰＥＲ　では日英翻訳での減少が見られたが英日翻訳ではほぼ同じであった（表３参照）。直観的には、両言語の言語学的特徴の差を反映しており、英語は日本語よりも構造を重視しており、従って、フレーズを構築していくフレーズデコーディングアルゴリズムに優位な結果となっている。ただし、ＳＥによるスコアリングでは、Ａランクの文が減少し、また、全体的な　ａｃｃｅｃｔａｂｌｅ　な文の数（ＡランクからＣランクまで）が減少している。
【０１２１】
フレーズデコーディングアルゴリズムでは探索の途中経過で文頭、文末による言語モデルの制約がないために、サーチエラーを起こしているものと考えられる（表４参照）。このため、表２のように、デコーディングにさらに時間がかかっている。
【０１２２】
今回実験で用いたプルーニングは、フレーズデコーディングアルゴリズムを実行するには、非常に弱いものであり他の情報源を用いたプルーニング戦略が必要となる。言語モデル以外でフレーズに制約を加えることができる、テンプレートベースのプルーニング（文献１４参照）や、ＦＳＡ　を用いた手法（上記文献７参照）、あるいは句アライメント（文献１５参照）による制約等が考えられる。
【０１２３】
文献１４：Ｆ．Ｊ．Ｏｃｈ　ａｎｄ　Ｈ．Ｎｅｙ．　Ｉｍｐｒｏｖｅｄ　ｓｔａｔｉｓｔｉｃａｌ　ａｌｉｇｎｍｅｎｔ　ｍｏｄｅｌｓ．　ＩｎＡＣＬ　２０００，　ｐａｇｅｓ　４４０−４４７，　Ｈｏｎｇｋｏｎｇ，　Ｃｈｉｎａ，　Ｏｃｔｏｂｅｒ　２０００．文献１５：Ｋｅｎｊｉ　Ｉｍａｍｕｒａ．　Ｈｉｅｒａｃｈｉｃａｌ　ｐｈｒａｓｅ　ａｌｉｇｎｍｅｎｔ　ｈａｒｍｏｎｉｚｅｄ　ｗｉｔｈ　ｐａｒｓｉｎｇ．　Ｉｎ　Ｐｒｏｃ．　ｏｆ　ＮＬＰＲＳ　２００１，Ｔｏｋｙｏ，２００１．
【０１２４】
また、言語モデルも標準的な　ｎ−ｇｒａｍ　であり、局所的な確率を与えるものであり、フレーズ単位での確率を計算するには不向きであったと考えられる。例えば、最大エントロピーを用いて、句に関する素性を導入する手法等が考えられ、探索空間を狭めるのに有効であると思われる（文献１６参照）。
【０１２５】
文献１６：Ｒｏｎａｌｄ　Ｒｏｓｅｎｆｅｌｄ．　Ａ　ｍａｘｉｍｕｍ　ｅｎｔｒｏｐｙ　ａｐｐｒｏａｃｈ　ｔｏ　ａｄａｐｔｉｖｅ　ｓｔａｔｉｓｔｉｃａｌ　ｌａｎｇｕａｇｅ　ｍｏｄｅｌｉｎｇ．　Ｃｏｍｐｕｔｅｒ，　Ｓｐｅｅｃｈ　ａｎｄ　Ｌａｎｇｕａｇｅ，　１０：　１８７−２２８，１９９６．
【０１２６】
【発明の効果】
この発明によれば、出力単語どうしの結合、出力単語とフレーズとの結合およびフレーズどうしの結合によってフレーズを構築していくことにより出力文を生成する、新規な統計的機械翻訳におけるデコーディング方法が得られる。
【図面の簡単な説明】
【図１】統計的機械翻訳モデルを説明するための模式図である。
【図２】アライメントの例を示す模式図である。
【図３】翻訳モデル（ＩＢＭ　Ｍｏｄｅｌ　４）の構成を示す模式図である。
【図４】フレーズデコーディングアルゴリズムを示すフローチャートである。
【図５】ｃｅｐｔ生成処理（図４のステップ２の処理）の詳細な手順を示すフローチャートである。
【図６】フレーズ構築処理（図４のステップ３の処理）の詳細な手順を示すフローチャートである。
【図７】図６のステップ３６の処理（ＮＵＬＬへの対応付けおよび仮説結合処理）の詳細な手順を示すフローチャートである。
【図８】実験によって得られた日英翻訳結果の例を示す模式図である。
【図９】実験によって得られた英日翻訳結果の例を示す模式図である。
【図１】
2004102946.tif 000016
【図２】
2004102946.tif 000017
【図３】
2004102946.tif 000018
【図４】
2004102946.tif 000019
【図５】
2004102946.tif 000020
【図６】
2004102946.tif 000021
【図７】
2004102946.tif 000022
【図８】
2004102946.tif 000023
【図９】
2004102946.tif 000024