(57)【特許請求の範囲】
【請求項１】
対訳学習データ中の翻訳元言語の単語列または翻訳先言語の単語列を構成する構文木上での上位下位関係から定義される単語ペア毎に二値素性を定義した階層的素性と、前記対訳学習データ中の翻訳先言語の単語列を構成する単語に対応する単語が翻訳元言語の単語列に含まれていないときに前記翻訳先言語の単語列に挿入されている単語と前記翻訳元言語の単語列に含まれる各単語とのペアを二値のうちの一方で表しそれ以外の単語ペアに対して二値のうちの他方で表した翻訳先言語挿入素性とのうちの少なくとも一方と、翻訳元言語の単語列と翻訳先言語の単語列との対応の確からしさを定義する翻訳モデルとを利用して、入力された翻訳元言語の単語列の翻訳結果である前記入力に対応する翻訳先言語の単語列として、所定の部分仮説からそれよりも長い新たな部分仮説を順次作成して前記所定の部分仮説を拡張することによって最終的に生成された部分仮説である仮説を出力する機械翻訳装置であって、
前記階層的素性と前記翻訳先言語挿入素性とのうちの少なくとも一方と前記翻訳モデルとを含む素性に対応した重みを、素性重み学習用対訳学習データに基づいて学習し、学習結果を素性重みとして記憶手段に格納する素性重み学習手段と、
前記階層的素性と前記翻訳先言語挿入素性とのうちの少なくとも一方と前記翻訳モデルとを要素として含む素性ベクトルと、前記素性重みを示す重みベクトルとの内積を、前記作成された部分仮説の評価値を示す部分仮説スコアとして算出する部分仮説スコア算出手段と、
前記入力された翻訳元言語の単語列に対して適用可能な所定の部分仮説を探索し、前記所定の部分仮説を拡張することによって最終的に生成された部分仮説のうちで、前記部分仮説スコアが最大となる部分仮説を、前記仮説として探索する仮説探索手段とを備えることを特徴とする機械翻訳装置。
【請求項２】
対訳学習データ中の翻訳元言語の単語列または翻訳先言語の単語列を構成する構文木上での上位下位関係から定義される単語ペア毎に二値素性を定義した階層的素性と、前記対訳学習データ中の翻訳先言語の単語列を構成する単語に対応する単語が翻訳元言語の単語列に含まれていないときに前記翻訳先言語の単語列に挿入されている単語と前記翻訳元言語の単語列に含まれる各単語とのペアを二値のうちの一方で表しそれ以外の単語ペアに対して二値のうちの他方で表した翻訳先言語挿入素性とのうちの少なくとも一方と、翻訳元言語の単語列と翻訳先言語の単語列との対応の確からしさを定義する翻訳モデルとを利用して、入力された翻訳元言語の単語列の翻訳結果である前記入力に対応する翻訳先言語の単語列として、所定の部分仮説からそれよりも長い新たな部分仮説を順次作成して前記所定の部分仮説を拡張することによって最終的に生成された部分仮説である仮説を出力する機械翻訳装置の機械翻訳方法であって、
素性重み学習手段によって、前記階層的素性と前記翻訳先言語挿入素性とのうちの少なくとも一方と前記翻訳モデルとを含む素性に対応した重みを、素性重み学習用対訳学習データに基づいて学習し、学習結果を素性重みとして記憶手段に格納する素性重み学習ステップと、
部分仮説スコア算出手段によって、前記階層的素性と前記翻訳先言語挿入素性とのうちの少なくとも一方と前記翻訳モデルとを要素として含む素性ベクトルと、前記素性重みを示す重みベクトルとの内積を、前記作成された部分仮説の評価値を示す部分仮説スコアとして算出する部分仮説スコア算出ステップと、
仮説探索手段によって、前記入力された翻訳元言語の単語列に対して適用可能な所定の部分仮説を探索し、前記所定の部分仮説を拡張することによって最終的に生成された部分仮説のうちで、前記部分仮説スコアが最大となる部分仮説を、前記仮説として探索する仮説探索ステップとを有することを特徴とする機械翻訳方法。
【請求項３】
請求項２に記載の機械翻訳方法をコンピュータに実行させるための機械翻訳プログラム。
【請求項４】
請求項３に記載の機械翻訳プログラムが記録されたことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械翻訳装置、機械翻訳方法、およびそのプログラムならびに記録媒体に関する。
【背景技術】
【０００２】
従来、統計モデルを用いて機械翻訳を実現する技術（統計的機械翻訳）が知られている（例えば、非特許文献１、非特許文献２、非特許文献３）。
統計的機械翻訳は、翻訳元言語の単語列（文）が与えられたとき、翻訳確率を最大化するような翻訳先言語の単語列（文）を探索する問題として定式化される。ここで、翻訳確率を対数線形モデルで表現すると、最終的に統計的機械翻訳は式（１）で定式化される。
【０００３】
【数１】
0005180522.tif 000002
【０００４】
式（１）は、ベクトルを使って式（２）のように書き換えることもできる。
【０００５】
【数２】
0005180522.tif 000003
【０００６】
翻訳元言語の単語列には、各単語位置に整数「１」〜「Ｊ」の識別符号が付与されている。すなわち、翻訳元言語の単語列は、「Ｊ」個の単語から構成される。なお、翻訳元言語が日本語の場合には、翻訳元言語の単語列は、「Ｊ」個の自立語、付属語、句読点（。、）から構成されることとなる。また、翻訳先言語の単語列には、各単語位置に整数「１」〜「Ｉ」の識別符号が付与されている。すなわち、翻訳先言語の単語列は、「Ｉ」個の単語から構成される。また、ｍ（１≦ｍ≦Ｍ）は、素性関数を識別するための整数を示し、Ｍは、素性関数の個数を示す。また、各素性関数は、翻訳としての確からしさを表すものや、翻訳先言語としての確からしさを表すもの等である。単語列集合Ｅは、翻訳先言語の単語のあらゆる組み合わせで生成可能なすべての単語列集合を表す。各素性重みλmは、誤り最小化学習法等を用いて素性重み学習用対訳コーパスにおける翻訳精度の値が最大になるように設定される（例えば、非特許文献４参照）。
【０００７】
翻訳元言語の文から翻訳先言語の文への翻訳に対して、重み付き同期文脈自由文法（weighted synchronous context-free grammar）を利用して、翻訳元言語の文と翻訳先言語の文との対応付けをモデル化する方法が知られている（例えば、非特許文献２、非特許文献３参照）。
重み付き同期文脈自由文法は、式（３）に示す生成規則に、重みが付いたものの集合からなるものである。
【０００８】
【数３】
0005180522.tif 000004
【０００９】
ここで、矢印の左辺のＸは、非終端記号を示す。矢印の右辺のγは、終端記号または非終端記号から構成された記号列であって翻訳元言語に対応している。また、αは、終端記号または非終端記号から構成された記号列であって翻訳先言語に対応している。また、「〜」は、記号列γに含まれる非終端記号と、記号列αに含まれる非終端記号との一対一の対応関係を表している。ここでは、記号列γに含まれる非終端記号の個数と、記号列αに含まれる非終端記号の個数とは同じものとする。
【００１０】
式（３）に示した生成規則の具体例を表１に示す。ここで、Ｘ(k)は、非終端記号であり、ｋは、非終端記号の対応関係をあらわす。
【００１１】
【表１】
0005180522.tif 000005
【００１２】
重み付き同期文脈自由文法を利用した従来のモデル化では、重み付き同期文脈自由文法の導出Ｄを用いて、翻訳元言語の単語列と翻訳先言語の単語列とをそれぞれｆ（Ｄ）、ｅ（Ｄ）と記述する。ここで、例えば、翻訳元言語の単語列ｆ（Ｄ）の「ｉ」番目の単語から「ｊ」番目単語を被う生成規則をｒとすると、導出Ｄは、三つ組＜ｒ，ｉ，ｊ＞の集合で表される。
【００１３】
そして、非特許文献２のモデル化では、統計的機械翻訳を定式化した式（１）を導出ベースに修正した式（４）を用いる。この定式化では、翻訳元言語の単語列が与えられたとき、素性関数と素性重みとの積の線形和が最大となるような導出Ｄ＾を求めたときに、それに対応するｅ（Ｄ＾）が翻訳結果となる。ここで、記号「＾（ハット）」は、文字「Ｄ」の上に付される記号を示し、本明細書では、以下、記号「＾（ハット）」を同様な意味で使用する。なお、ｓ．ｔ．はsuch thatの略である。
【００１４】
【数４】
0005180522.tif 000006
【００１５】
式（４）に示す各素性関数の値ｈm（Ｄ）に何を用いるかについては様々なバリエーションが考えられる。例えば、以下の６つの関数の値の自然対数logeを用いる場合がある（例えば、非特許文献１参照）。これら６つの関数の値とは、式（５）および式（６）に示す翻訳確率Ｐe｜f（Ｄ），Ｐf｜e（Ｄ）と、式（７）および式（８）に示すレキシカル重みLexe｜f（Ｄ），Lexf｜e（Ｄ）と、n-gram言語モデルの確率ＰLM（ｅ（Ｄ））と、フレーズペナルティexp（length（ｅ（Ｄ）））である。ここで、length（・）は、単語数を返す関数を示す。
【００１６】
【数５】
0005180522.tif 000007
【００１７】
翻訳確率Ｐe｜f（Ｄ），Ｐf｜e（Ｄ）と、レキシカル重みLexe｜f（Ｄ），Lexf｜e（Ｄ）とは、翻訳としての確からしさを評価するための値であり、翻訳モデルとも呼ばれている。詳細には、例えば、翻訳確率Ｐe｜f（Ｄ）は、式（５）に示すように、導出Ｄに含まれる生成規則ｒごとの確率Ｐ（α｜γ）を生成規則ごとのスコアとして、導出Ｄに含まれるすべての生成規則ｒについて生成規則ごとのスコアを積算したものである。
【００１８】
例えば、非特許文献２に記載された方法では、翻訳における解探索を次の手順で行う。まず、ＣＫＹ（Cocke-Kasami-Younger）法に基づくボトムアップ構文解析において、同期文脈自由文法の翻訳元言語側の生成規則を、翻訳元言語の単語列に適用し、翻訳元言語の構文解析木を得る。そして、翻訳元言語の構文解析木に対応する同期文脈自由文法の最適な導出Ｄ＾を、前記した式（４）に基づいて求め、その最適な導出Ｄ＾に基づいて翻訳先言語の単語列を生成する。ただし、統計的機械翻訳の解探索において解の候補（以下、仮説と呼ぶ）は膨大であるため、計算量の観点から、全探索をして真の最適解を求めることは事実上不可能となっている。そこで、従来、解探索の過程で部分的に構成された、同期文脈自由文法の部分木の導出Ｄに対して所定の枝刈りを実行しながら処理をすすめて準最適解を求めることとしている。
【非特許文献１】Philipp Koehn, Franz Josef Och, and Daniel Marcu、Statistical phrase-based translation、In Proc. of NAACL 2003、p. 48-54、Edmonton、Canada、2003
【非特許文献２】David Chiang、A hierarchical phrase-based model for statistical machine translation、In Proc. of ACL 2005、p. 263-270、Ann Arbor、Michigan、June 2005
【非特許文献３】Taro Watanabe, Hajime Tsukada, and Hideki Isozaki、Left-to-right target generation for hierarchical phrase-based trans1ation、In Proc. of COLING/ACL2006、p. 777-784、Sydney、Australia、Jully 2006
【非特許文献４】Franz Josef Och、Minimum error rate training in statistical machine translation、In Proc.of ACL 2003、p. 160-167、Sapporo、Japan、July 2003
【発明の開示】
【発明が解決しようとする課題】
【００１９】
前記した従来技術では、翻訳元言語の部分木と翻訳先言語の部分木との対応は、同期文脈依存文法の各規則ｒごとに定義された翻訳確率Ｐe｜f（ｒ），Ｐf｜e（ｒ）と、レキシカル重みLexe｜f（ｒ），Lexf｜e（ｒ）とによってモデル化される。しかしながら、翻訳元、翻訳先のいずれにおいても、非終端記号をどの規則で展開することが尤もらしいかについては、明示的にモデル化されておらず、翻訳先言語の言語モデルによって間接的に制約されているだけに過ぎない。特に、非特許文献２や非特許文献３に記載された手法は、自動獲得される同期文脈依存文法に基づいており、グルー規則を除くと、非終端記号は事実上一種類しかないため、規則展開に関するモデル化の粗さは深刻である。
【００２０】
前記した非終端記号をどの規則で展開することが尤もらしいかということについての具体例として、従来の同期文脈依存文法を用いた手法の誤訳例と正解翻訳例を、図１２および図１３にそれぞれ示す。この例では、日本語から英語への翻訳について以下の文を示している。
（１）翻訳元言語（日本語）の文：
「中国  の  措置  に対する  日本  の抗議  は  当然  だ  。」
（２）翻訳先言語（英語）の文（誤訳例）：
「It is natural for China’s action to protest Japan.」
（３）翻訳先言語（英語）の文（正解翻訳例）：
「It is natural for Japan to protest China’s action.」
【００２１】
図１２の誤訳例に示すように、翻訳元言語側の「Ｘ→Ｘ(1)  は  当然だ  Ｘ(2)」のＸ(1)は、「Ｘ→Ｘ(1)  に対する  Ｘ(2)」のルールで展開されている。
一方、図１３の正解翻訳例に示すように、翻訳元言語側の「Ｘ→Ｘ(1)  は  当然だ  Ｘ(2)」のＸ(1)は、「Ｘ→Ｘ(1)  に対する  日本  の  Ｘ(2)」のルールで展開されている。
前記した（３）の正解翻訳例のスコアを、前記した（２）の誤訳例のスコアよりも有利にする（高くする）ためには、後者のルールによる展開が、より尤もらしいことをモデル化すればよいと考えられる。しかしながら、従来のそれぞれの方法では、このようなモデル化を明示的には行っていなかった。したがって、従来の方法は翻訳精度が低いという問題がある。なお、図１２および図１３では、非終端記号を「Ｘ１，Ｘ２，Ｘ８，Ｘ６，…」等で表記した。
【００２２】
また、一般に、翻訳結果には、翻訳元の単語に対応しない単語が現れることがある。例えば、日本語では、しばしば主語が省略される。そのため、日英翻訳において、翻訳先言語「英語」の主語に対応する翻訳元言語「日本語」の単語が存在しない場合が生じる。同様に、日本語には冠詞がないので、翻訳先言語「英語」の冠詞に対応する翻訳元言語「日本語」の単語がないことが多い。このような場合に正解翻訳例のスコアを誤訳例のスコアよりも有利にする（高くする）ためには、翻訳結果に現れて、翻訳元の単語に対応する単語がない単語を素性としてモデル化すればよいと考えられる。しかしながら、従来のそれぞれの方法では、このようなモデル化を明示的には行っていなかった。したがって、従来の方法は翻訳精度が低いという問題がある。
【００２３】
そこで、本発明では、前記した問題を解決し、翻訳精度を向上させることのできる機械翻訳技術を提供することを目的とする。
【課題を解決するための手段】
【００２４】
前記課題を解決するため、本発明に係る機械翻訳装置は、対訳学習データ中の翻訳元言語の単語列または翻訳先言語の単語列を構成する構文木上での上位下位関係から定義される単語ペア毎に二値素性を定義した階層的素性と、前記対訳学習データ中の翻訳先言語の単語列を構成する単語に対応する単語が翻訳元言語の単語列に含まれていないときに前記翻訳先言語の単語列に挿入されている単語と前記翻訳元言語の単語列に含まれる各単語とのペアを二値のうちの一方で表しそれ以外の単語ペアに対して二値のうちの他方で表した翻訳先言語挿入素性とのうちの少なくとも一方と、翻訳元言語の単語列と翻訳先言語の単語列との対応の確からしさを定義する翻訳モデルとを利用して、入力された翻訳元言語の単語列の翻訳結果である前記入力に対応する翻訳先言語の単語列として、所定の部分仮説からそれよりも長い新たな部分仮説を順次作成して前記所定の部分仮説を拡張することによって最終的に生成された部分仮説である仮説を出力する機械翻訳装置であって、前記階層的素性と前記翻訳先言語挿入素性とのうちの少なくとも一方と前記翻訳モデルとを含む素性に対応した重みを、素性重み学習用対訳学習データに基づいて学習し、学習結果を素性重みとして記憶手段に格納する素性重み学習手段と、前記階層的素性と前記翻訳先言語挿入素性とのうちの少なくとも一方と前記翻訳モデルとを要素として含む素性ベクトルと、前記素性重みを示す重みベクトルとの内積を、前記作成された部分仮説の評価値を示す部分仮説スコアとして算出する部分仮説スコア算出手段と、前記入力された翻訳元言語の単語列に対して適用可能な所定の部分仮説を探索し、前記所定の部分仮説を拡張することによって最終的に生成された部分仮説のうちで、前記部分仮説スコアが最大となる部分仮説を、前記仮説として探索する仮説探索手段とを備えることを特徴とする。
【００２５】
また、前記課題を解決するために、本発明に係る機械翻訳方法は、対訳学習データ中の翻訳元言語の単語列または翻訳先言語の単語列を構成する構文木上での上位下位関係から定義される単語ペア毎に二値素性を定義した階層的素性と、前記対訳学習データ中の翻訳先言語の単語列を構成する単語に対応する単語が翻訳元言語の単語列に含まれていないときに前記翻訳先言語の単語列に挿入されている単語と前記翻訳元言語の単語列に含まれる各単語とのペアを二値のうちの一方で表しそれ以外の単語ペアに対して二値のうちの他方で表した翻訳先言語挿入素性とのうちの少なくとも一方と、翻訳元言語の単語列と翻訳先言語の単語列との対応の確からしさを定義する翻訳モデルとを利用して、入力された翻訳元言語の単語列の翻訳結果である前記入力に対応する翻訳先言語の単語列として、所定の部分仮説からそれよりも長い新たな部分仮説を順次作成して前記所定の部分仮説を拡張することによって最終的に生成された部分仮説である仮説を出力する機械翻訳装置の機械翻訳方法であって、素性重み学習手段によって、前記階層的素性と前記翻訳先言語挿入素性とのうちの少なくとも一方と前記翻訳モデルとを含む素性に対応した重みを、素性重み学習用対訳学習データに基づいて学習し、学習結果を素性重みとして記憶手段に格納する素性重み学習ステップと、部分仮説スコア算出手段によって、前記階層的素性と前記翻訳先言語挿入素性とのうちの少なくとも一方と前記翻訳モデルとを要素として含む素性ベクトルと、前記素性重みを示す重みベクトルとの内積を、前記作成された部分仮説の評価値を示す部分仮説スコアとして算出する部分仮説スコア算出ステップと、仮説探索手段によって、前記入力された翻訳元言語の単語列に対して適用可能な所定の部分仮説を探索し、前記所定の部分仮説を拡張することによって最終的に生成された部分仮説のうちで、前記部分仮説スコアが最大となる部分仮説を、前記仮説として探索する仮説探索ステップとを有することを特徴とする。
【００２６】
かかる構成の機械翻訳装置またはかかる手順の機械翻訳方法によれば、機械翻訳装置は、階層的素性と翻訳先言語挿入素性とのうちの少なくとも一方と翻訳モデルとを含む素性に対応した重みを、素性重み学習用対訳学習データに基づいて学習する。ここで、素性に、言語モデルやフレーズペナルティをさらに含んでいてもよい。階層的素性は、正解データの翻訳元または翻訳先の文を構成する部分木の階層的特徴を表現する素性なので、この素性を従来利用していた素性に加えた素性の重みを学習することで、入力された翻訳元文に対して、正解翻訳として尤もらしい展開の仕方で翻訳文を生成することが可能となる。また、翻訳先言語挿入素性は、正解データの翻訳元の文に含まれておらずに翻訳先の文に挿入された単語を表現する素性なので、この素性を従来利用していた素性に加えた素性の重みを学習することで、例えば、日本語のように主語を省略することが多い言語や、冠詞の存在しない言語から冠詞の存在する言語に翻訳する場合に、正解翻訳として尤もらしい展開の仕方で翻訳文を生成することが可能となる。
【００２７】
そして、機械翻訳装置は、従来のように翻訳モデルや言語モデル、フレーズペナルティのみを素性としてスコアを算出する場合に比べて、より高次元の素性および重みを利用して、より精緻なモデル化をすることができる。機械翻訳装置は、従来の装置のように翻訳モデルや言語モデル、フレーズペナルティのみを素性として重みを学習する場合と比較して、翻訳先言語の単語列の翻訳精度を向上させることができる。
【００３１】
また、本発明に係る機械翻訳プログラムは、前記した機械翻訳方法をコンピュータに実行させることを特徴とする。このように構成されることにより、このプログラムをインストールされたコンピュータは、このプログラムに基づいた各機能を実現することができる。
【００３３】
また、本発明に係るコンピュータ読み取り可能な記録媒体は、前記した機械翻訳プログラムが記録されたことを特徴とする。このように構成されることにより、この記録媒体を装着されたコンピュータは、この記録媒体に記録されたプログラムに基づいた各機能を実現することができる。
【発明の効果】
【００３４】
本発明によれば、翻訳精度を向上させることが可能となる。
【発明を実施するための最良の形態】
【００３５】
以下、図面を参照して本発明の機械翻訳装置および機械翻訳方法、並びに、本発明の参考例に係る生成規則作成装置および生成規則作成方法を実施するための最良の形態（以下「実施形態」という）について詳細に説明する。以下では、生成規則作成装置および生成規則作成方法と、機械翻訳装置および機械翻訳方法とに分けて順次説明を行う。
【００３６】
［生成規則作成装置の構成］
図１は、本発明の参考例に係る生成規則作成装置の構成を示すブロック図である。
生成規則作成装置１は、翻訳元言語の単語列を翻訳先言語の単語列に機械的に翻訳する機械翻訳装置で利用する素性と生成規則とを作成するものである。以下では、翻訳元言語を日本語、翻訳先言語を英語として説明することとする。
生成規則作成装置１は、例えば、ＣＰＵ（Central Processing Unit）と、ＲＡＭ（Random Access Memory）と、ＲＯＭ（Read Only Memory）と、ＨＤＤ（Hard Disk Drive）と、入出力インタフェース等から構成され、図１に示すように、入出力手段１０と、記憶手段１１と、制御手段１２とを備えている。
【００３７】
入出力手段１０は、対訳コーパス（対訳学習データ）１５０を制御手段１２に入力したり、演算処理の結果や記憶手段１１に記憶されたデータ等を出力装置Ｄに出力したりするものである。また、入出力手段１０は、入力装置Ｋから、所定のコマンド（モード選択コマンドや動作コマンド等）を制御手段１２に入力する。本実施形態では、モード選択コマンドは、「単語対応作成」モードを選択するコマンドと、「ルールテーブル作成」モードを選択するコマンドと、「言語モデル作成」モードを選択するコマンドとを含む。
対訳コーパス１５０は、互いに同じ意味を有する翻訳元言語の単語列と翻訳先言語の単語列との組合せのデータを複数備える。
【００３８】
記憶手段１１は、例えば、ＣＰＵによる演算処理等に利用されるＲＡＭや、例えば、所定のプログラム、各種データベース、処理結果等を格納するＲＯＭやＨＤＤを備えている。例えば、記憶手段１１には、処理結果として、単語対応１１１と、フレーズペア１１２と、ルール１１３と、ルールテーブル１１４と、言語モデル１１５と、翻訳先言語bigram素性１１６と、単語ペア素性１１７と、翻訳先言語挿入素性１１８と、階層的素性１１９とが格納される。
【００３９】
制御手段１２は、モード判定手段１２１と、言語モデル学習手段１２２と、単語対応作成手段１２３と、言語間対応素性抽出手段１２４と、フレーズペア抽出手段１２５と、生成規則作成手段１２６と、翻訳スコア計算手段１２７と、階層的素性抽出手段１２８とを備えている。
【００４０】
モード判定手段１２１は、入力装置Ｋから入出力手段１０を介して入力したモード選択コマンドの示すモードを判定するものである。モード判定手段１２１は、モードが「単語対応作成」モードの場合には、単語対応作成手段１２３に対して対訳コーパス１５０を入力するように指示する。また、モード判定手段１２１は、モードが「ルールテーブル作成」モードの場合には、フレーズペア抽出手段１２５に対して対訳コーパス１５０を入力するように指示する。また、モード判定手段１２１は、モードが「言語モデル作成」モードの場合には、言語モデル学習手段１２２に対して翻訳先言語コーパス１４０を入力するように指示する。
【００４１】
言語モデル学習手段１２２は、翻訳先言語コーパス１４０を読み込み、翻訳先言語としての確からしさを表すn-gramを計算し、言語モデル１１５に格納する。また、言語モデル学習手段１２２は、読み込んだ翻訳先言語コーパス１４０から翻訳先言語bigram素性１１６を抽出する。この翻訳先言語bigram素性１１６の詳細については後記する。
【００４２】
単語対応作成手段１２３は、「単語対応作成」モードを選択するコマンドが入力されたときに、対訳コーパス１５０から得られる単語共起に関する統計量を活用し、多対多（翻訳元言語または翻訳先言語の単語がどこにも対応付かないことを含む）の単語対応１１１を自動的に求めるものである。単語対応作成手段１２３は、多対多の単語対応１１１を求めるために、例えば、単語単位の翻訳モデルを活用して、文全体で最適な１対多対応と多対１対応とを求め、その両者を組み合わせる。組み合わせ方の一例としては、１対多対応と多対１対応とのインターセクションを使い、それに隣接する１対多対応と多対１対応とのユニオンの要素を追加する方法がある（非特許文献１参照）。なお、単語単位の翻訳モデルについては、「Peter F. Brown, Stephen A. Della Pietra, Vincent J. Della Pietra, and Robert L. Mercer、The mathematics of statistical machine translation: Parameter estimation、Computatinal Linguistics、19(2):263-311、1993」に記載されている。また、対訳コーパス１５０自体が単語対応１１１の情報を保持している場合には、単語対応作成手段１２３を省略した構成としてもよい。
【００４３】
図２に、日英の対訳の単語対応の例を示す。８個の単語および句点（ピリオド）を示す黒丸が単語対応である。
「違憲  の  問題  について  は  、  連邦  憲法  裁判所  が  決定  する  。」
「The Federal Constitutional Court decides on the question of unconstitutionality  .」
【００４４】
言語間対応素性抽出手段１２４は、単語ペア素性抽出手段１３１と、翻訳先言語挿入素性抽出手段１３２とを備えている。
単語ペア素性抽出手段１３１は、単語対応１１１から単語ペア素性１１７を抽出するものである。単語ペア素性１１７は、翻訳元言語／翻訳先言語の単語ペアに基づく素性である。
翻訳先言語挿入素性抽出手段１３２は、単語対応１１１に基づいて、翻訳先言語挿入素性１１８を抽出するものである。
翻訳先言語挿入素性１１８は、単語対応１１１において、翻訳先言語の単語列を構成する単語に対応する単語が翻訳元言語の単語列に含まれていないときに翻訳先言語の単語列に挿入されている単語と翻訳元言語の単語列に含まれる単語との関係を表現する素性を示す。これら単語ペア素性１１７および翻訳先言語挿入素性１１８の詳細については後記する。
【００４５】
フレーズペア抽出手段１２５は、翻訳元言語の単語と翻訳先言語の単語との単語対応１１１に基づき、対訳コーパス１５０から、翻訳元言語と翻訳先言語において互いに同じ意味を有する単語または句の組合せをフレーズペア１１２として抽出するものである。抽出されたフレーズペア１１２は記憶手段１１に格納される。フレーズペア抽出手段１２５は、式（１）に示した翻訳元言語の単語列と翻訳先言語の単語列との対訳文に対して、ある単語対応ａが計算されたとき、式（９）に示すフレーズペアを抽出する。ここで、単語対応ａは、翻訳先言語の単語位置と翻訳元言語の単語位置の組の集合である。式（９）の「ｉ，ｍ，ｊ，ｎ」は整数を示し、単語対応ａとの間で式（１０）〜式（１２）の関係を満たすものである。
【００４６】
【数６】
0005180522.tif 000008
【００４７】
例えば、図２に示した対訳文の単語対応からは、フレーズペア抽出手段１２５によって表２に示すようなフレーズペアが抽出され、フレーズペア１１２に格納される。
このとき、フレーズペア内の各単語の対応、例えば、表２に示す最初の（１行目の）フレーズペア内において、（違憲，unconstitutionality），（問題，question）などの単語対応もフレーズペア１１２に同時に格納されるものとする。つまり、表２は、実際には、各行に、フレーズペアの格納された列の他に、（違憲，unconstitutionality），（問題，question）などの単語対応が格納された列（図示を省略する）を備える。
【００４８】
【表２】
0005180522.tif 000009
【００４９】
生成規則作成手段１２６は、対訳コーパス１５０の中の対訳文ペア（対訳文の組合わせ）ごとに、その対訳文ペアから抽出されたフレーズペア１１２内に格納されたフレーズペアのリストをもとに、同期文脈自由文法の生成規則を作成し、ルール１１３に格納するものである。ここで、作成する生成規則では、翻訳先言語側は終端記号で始まらなければならないという制約を設ける。また、ルール１１３に格納する生成規則は、重複を許すものとする。こうして作成される生成規則においては、非特許文献２で用いられる以下のようなグルー規則は用いない。なお、グルー規則とは、Ｓを開始記号、Ｘを非終端記号としたときに、以下の２つの規則のことを示す。
Ｓ → ＜Ｓ(1)Ｘ(1) ，Ｓ(1)Ｘ(1)＞
Ｓ → ＜Ｘ(1) ，Ｘ(1)＞
【００５０】
生成規則作成手段１２６は、フレーズペア
0005180522.tif 000010
に対応して、式（１３）〜式（１７）の生成規則を生成する。このうち、式（１４）〜式（１７）の生成規則は、式（１３）の生成規則から自動的に生成することができる。また、式（１４）〜式（１７）の生成規則に付与されるスコアについても、式（１３）の生成規則と同一値を用いることができる。このような理由から、実装上は、式（１４）〜式（１７）の生成規則は明示的にストレージに格納する必要がない。式（１４）〜式（１７）の生成規則は、非特許文献２で用いられるグルー規則の非終端記号Ｘを、Ｘを左辺とする個々の規則で１回書き換えたものに対応している。
【００５１】
【数７】
0005180522.tif 000011
【００５２】
生成規則作成手段１２６は、式（１８）で示す生成規則が生成され、かつ、式（１３）の右辺のフレーズペアが、式（１９）および式（２０）の関係を満たす場合、式（２１）で示す生成規則を生成する。
【００５３】
【数８】
0005180522.tif 000012
【００５４】
ここで、αには終端記号で始まらなければならないという制約を設ける。なお、本実施形態に必須のものではないが、生成規則作成手段１２６は、例えば、以下の制約も採用する。第１に、γとαの両方とも、少なくとも１つの終端記号を含まなければならない。第２に、生成規則は、最大２つの非終端記号を有することができる。しかし、翻訳元言語側のγで、非終端記号は隣接してはならない。
【００５５】
翻訳スコア計算手段１２７は、ルール１１３に重複を許して格納されている生成規則を数え上げ、各生成規則ｒに対応する翻訳確率Ｐe｜f（ｒ），Ｐf｜e（ｒ）と、レキシカル重みLex e｜f（ｒ），Lex f｜e（ｒ）とを計算し、計算結果を素性として、各生成規則ｒに対応づけてルールテーブル１１４に格納する。図３に、ルールテーブルの一例を示す。また、表３に生成規則ｒに対応した各翻訳確率、レキシカル重みの計算式を示す。このスコア計算は非特許文献２に倣ったものである。
【００５６】
なお、フレーズペア１１２と同様に、ルール１１３およびルールテーブル１１４に格納される規則について、翻訳元単語と翻訳先単語の対応も一緒に格納されているものとする。同じ規則でも、単語対応は複数のバリエーションが考えられるが、各規則に対し、ルール１１３の中で最も多く現れた単語対応をルールテーブル１１４では用いる。
【００５７】
【表３】
0005180522.tif 000013
【００５８】
階層的素性抽出手段１２８は、生成規則作成手段１２６がルールテーブル１１４を作成する際に翻訳元言語の単語列または翻訳先言語の単語列を構成する部分木の階層的特徴を表現する素性を示す階層的素性１１９を素性の１つとして抽出するものである。本実施形態では、翻訳元言語の単語列を構成する部分木の階層的特徴を表現する素性を階層的素性１１９として抽出する。階層的素性１１９の詳細については後記する。なお、階層的素性抽出手段１２８は、生成規則作成手段１２６の動作に依存せずに、ルールテーブル１１４中の単語対応に基づいて階層的素性１１９を抽出するように構成することも可能である。
【００５９】
［具体例］
具体的には、生成規則作成手段１２６は、図２に示した対訳文から表４に示すような規則（右辺だけ示す）を生成する。表４の例では、各生成規則の右辺の翻訳先言語側は必ず終端記号（単語）で始まっている。なお、表４は、実際には、各行に、各生成規則の右辺の格納された列の他に、（連邦，Federal）などの単語対応が格納された列（図示を省略する）を備える。
【００６０】
【表４】
0005180522.tif 000014
【００６１】
前記した式（１）や前記した式（２）で仮定する素性としては、前記した表３に示す翻訳確率やレキシカル重みのような実数値をとるものが従来から用いられてきた。本実施形態では、このような実数値をとる素性だけでなく、例えば、式（２２）に示すような単純な「０」か「１」の値をとる二値素性を使用する。
【００６２】
【数９】
0005180522.tif 000015
ここで、ｉは多次元の素性ベクトルｈ（ｆ，ｅ）の次元をあらわす。
【００６３】
従来から用いられている素性に対して、どのような二値素性を加えると、最終的に翻訳精度が効果的に向上するかということは、自明ではない。そこで、本実施形態では、以下に示すように、大別して４種類の二値素性を用いることができるように構成した。
【００６４】
＜単語ペア素性＞
単語ペア素性１１７（図１参照）について図４を参照して説明する。ここでは、図４に示すように、翻訳先言語の単語列４０１と、翻訳元言語の単語列４０２とから、フレーズペア４０３（４０３ａ，４０３ｂ，４０３ｃ）が抽出され、フレーズペア１１２に格納されているものとする。また、例えば、フレーズペア４０３ｂに含まれる単語対応４０４，４０５，４０６が単語対応１１１に格納されているものとする。ここでは、単語対応４０４は（ｅi，ｆj+1）であり、単語対応４０５は（ｅi，ｆj+1）、単語対応４０６は（ｅi+3，ｆj）である。このとき、単語対応（ｗe，ｗf）ごとに、式（２３）に示す素性ｈi（ｆ，ｅ）を定義する。なお、フレーズペア４０３ａに含まれる単語対応４０７は（ｅi-1，ｅj-1）である。
【００６５】
【数１０】
0005180522.tif 000016
【００６６】
この式（２３）に示す素性は、ある種の翻訳モデルであると見ることができる。
この素性を実現するために、言語間対応素性抽出手段１２４の単語ペア素性抽出手段１３１（図１参照）は、単語ペア素性１１７に、（ｅi，ｆj+1）、（ｅi+2，ｆj+2）、（ｅi+3，ｆj）を格納する。
【００６７】
また、単語ペア素性１１７は、前記した式（２３）に示す素性によるものに限定されるものではなく、さらに、単語ペアの連接関係を表現した、単語ペアbigramに基づく素性によるものを用いてもよい。ここでは、単語ペアの連接関係を、翻訳先言語側の順序で表現して素性を定義することとする。例えば、図４に示すように、翻訳先言語の単語列４０１の順序に基づき、翻訳元言語の単語列４０２の各単語に、矢印で示すような順序が定義される。この例では、（（ｅi-1，ｆj-1）,（ｅi，ｆj+1）、（ｅi，ｆj+1）、（ｅi+2，ｆj+2）、（ｅi+2，ｆj+2）、（ｅi+3，ｆj））のような単語ペアbigramが定義できる。そこで、単語ペアbigram（（ｅ1，ｆ1）、（ｅ2，ｆ2））に対して、式（２４）に示す素性ｈi（ｆ，ｅ）を定義する。
【００６８】
【数１１】
0005180522.tif 000017
【００６９】
前記した式（２４）に示す素性を用いた単語ペアbigram素性を利用する場合、単語ペア素性抽出手段１３１（図１参照）は、単語ペア素性１１７に、（（ｅi-1，ｆj-1）、（ｅi，ｆj+1）、（ｅi，ｆj+1）、（ｅi+2，ｆj+2）、（ｅi+2，ｆj+2）、（ｅi+3，ｆj））を追加する。このように単語対応に加えて翻訳先言語側の順序で二次の素性を定義することで、単語の翻訳としての確からしさと同時に単語の並び替えをモデル化することができる。さらに、図４に示すように、例えば、フレーズペア４０３ａとフレーズペア４０３ｂとの境界線をまたぐ単語ペアbigram（（ｅi-1，ｆj-1）、（ｅi，ｆj+1））によって、句の並び替えもモデル化することができる。
【００７０】
＜翻訳先言語挿入素性＞
翻訳先言語挿入素性１１８（図１参照）は、翻訳先言語にはあるが翻訳元言語に対応する単語がないものをモデル化するものである。一般に、翻訳結果には、翻訳元の単語に対応しないものが現れることがある。例えば、日本語では、しばしば主語が省略される。そのため、日英翻訳において、翻訳先言語「英語」の主語に対応する翻訳元言語「日本語」の単語が存在しない場合が生じる。同様に、日本語には冠詞がないので、翻訳先言語「英語」の冠詞に対応する翻訳元言語「日本語」の単語がないことが多い。このような背景を考慮した翻訳先言語挿入素性１１８（図１参照）について図４を参照して説明する。
【００７１】
図４に示すように、例えば、翻訳先言語の単語列４０１において、単語ｅi+1に対応する単語は、翻訳元言語の単語列４０２に存在していない。本実施形態では、このような翻訳先言語の単語に関して、すべての翻訳元言語の単語と関連付けた素性を定義する。例えば、Ｊ単語からなる翻訳元言語ｆ1Jに対して、（ｅi+1，ｆ1），…，（ｅi+1，ｆJ）のような単語ペアが定義できる。そして、各単語ペア（ｗe，ｗf）に対して、式（２５）に示す素性ｈi（ｆ，ｅ）を定義する。
【００７２】
【数１２】
0005180522.tif 000018
【００７３】
式（２５）で定義された素性ｈi（ｆ，ｅ）を用いた翻訳先言語挿入素性１１８の具体例を示すために、前記した図１３に示した正解翻訳データが学習データに存在したと仮定する。図１３において、実線の矢印は単語対応を示したものである。例えば、英語「for」は対応する日本語の単語を有していないため、この例からは、単語ペア（for，中国）、（for，の）、（for，措置）、（for，に対する）、（for，日本）、（for，抗議）、（for，は）、（for，当然）、（for，だ）および（for，。）にそれぞれ対応した１０個の素性が定義される。
【００７４】
この翻訳先言語挿入素性１１８を利用する場合、言語間対応素性抽出手段１２４の翻訳先言語挿入素性抽出手段１３２（図１参照）は、翻訳先言語挿入素性１１８に、単語ペア（for，中国）、（for，の）、（for，措置）、（for，に対する）、（for，日本）、（for，抗議）、（for，は）、（for，当然）、（for，だ）および（for，。）を追加する。なお、逆に、翻訳元言語側に対応する翻訳先言語がないことを示す削除素性も考えられる。この場合、デコーダは、まだ生成されていない翻訳先語に対して素性を計算する必要があり、デコーディングが複雑になるので、本実施形態では用いないものとする。
【００７５】
＜翻訳先言語bigram素性＞
翻訳先言語bigram素性１１６（図１参照）は、翻訳先言語の流暢さを表現するために用いる素性であり、従来の言語モデル素性を補強するものである。例えば、図４に示すように、翻訳先言語の単語列４０１において、単語ペア（ｅi-1，ｅi）、（ｅi，ｅi+1）、（ｅi+1，ｅi+2）、…といった各単語ペア（ｅ1，ｅ2）に対して、式（２６）に示す素性ｈi（ｆ，ｅ）を定義する。
【００７６】
【数１３】
0005180522.tif 000019
【００７７】
この翻訳先言語bigram素性１１６を利用する場合、言語モデル学習手段１２２（図１参照）は翻訳先言語bigram素性１１６に、単語ペア（ｅi-1，ｅi）、（ｅi，ｅi+1）、（ｅi+1，ｅi+2）…を追加する。
【００７８】
＜階層的素性＞
階層的素性１１９（図１参照）は、同期文脈自由文法の上位下位関係を規定する素性である。例えば、生成規則作成手段１２６（図１参照）で作成される同期文脈自由文法の規則ｒ１，ｒ２において、ｒ１の非終端記号がｒ２で展開されるとき、（ｒ１，ｒ２）という規則の組に対して式（２７）に示す素性ｈi（ｆ，ｅ）を定義する。
【００７９】
【数１４】
0005180522.tif 000020
【００８０】
なお、さらに簡易な素性の定義として、同期依存文法の翻訳元もしくは翻訳先の規則だけを用いるバリエーションもある。
【００８１】
前記した式（２７）に示すような同期文脈自由文法規則に基づく階層的素性を利用する場合、階層的素性抽出手段１２８（図１参照）は、階層的素性１１９に規則（ｒ１，ｒ２）を追加する。
【００８２】
規則の組み合わせで素性を定義すると、素性数があまりに多くなり過ぎる場合が考えられる。そこで、本実施形態では、素性数の低減のために、翻訳元もしくは翻訳先の単語についての構文木上での上位下位関係で階層的素性を定義する。この場合の階層的素性について図５を参照して説明する。図５は、翻訳元言語側の木構造の一例を示す。図５に示すように、符号５０１で示す非終端記号Ｘ(1)が、導出規則「Ｘ(1)→ ｆj-1 Ｘ(2) ｆj+3」、「Ｘ(2) →ｆjｆj+1Ｘ(3)」、「Ｘ(3)→ ｆj+2」によって、符号５０２〜５０４の順序で示すように展開される構造を示したものである。この例では、親の規則のすべての単語から、子の規則のすべての単語を組み合わせた単語ペアとして、単語ペア（ｆj-1，ｆj）、（ｆj-1，ｆj+1）、（ｆj+3，ｆj）、（ｆj+3，ｆj+1）、（ｆj，ｆj+2）、（ｆj+1，ｆj+2）が定義できる。このような各単語ペア（ｆ1，ｆ2）ごとに、式（２８）に示す素性ｈi（ｆ，ｅ）を定義する。
【００８３】
【数１５】
0005180522.tif 000021
【００８４】
さらに、素性の数を減らす工夫として、翻訳先言語へと対応付けられた翻訳元言語の単語に限定して階層的素性を定義するように構成することもできる。このように定義した階層的素性の具体例を示すために、前記した図１３に示した正解翻訳データが学習データに存在したと仮定する。この場合、単語ペア（に対する，中国）、（日本，中国）、（に対する，抗議）、（日本，抗議）に対応して素性が定義される。本実施形態では、このように単語に基づく階層的素性（単語ベースの階層的素性）を定義した。したがって、階層的素性抽出手段１２８は、単語ペア（に対する，中国）、（日本，中国）、（に対する，抗議）、（日本，抗議）を階層的素性１１９に格納する。なお、この説明では、翻訳元言語側で階層的素性を定義したが、同様に翻訳先言語側でも階層的素性を定義することができる。
【００８５】
＜単語の正規化について＞
従来の素性では、単語の表層形を仮定していた。しかしながら、このような表層形を仮定した素性だけでは、過学習の問題を起こす可能性がある。なお、学習に用いなかったデータに対する汎化誤差が大きくなってしまう現象は過学習と呼ばれている。本実施形態では、過学習を避けるため、正規化された単語を併用する。正規化の方法は、限定されないが、例えば、以下に示すような方法を用いることができる。
【００８６】
（１）単語クラス  −  クラスタリングにより各単語についてクラスを学習、そのクラスを単語の正規形とする。
（２）品詞  −  形態素解析システムによって与えられた品詞を正規形とする。
（３）接頭辞／接尾辞  −  ４文字のprefixあるいはsuffixを正規形とする。例えば、英語において、“violate”は、４文字のprefix/suffixをとることで、“viol+”、“+late”として、正規化される。
（４）stem  −  stemmingアルゴリズムにより、様々な表層型を正規化する。
（５）数字  −  数字を正規化する。例えば、“2007/6/27”であれば、数字の部分を“＠”で置き換えることにより、“＠＠＠＠/＠/＠＠”として正規化される。
【００８７】
本実施形態では、学習データにおいて、すべての素性に対して、そこに現れるすべての単語の可能な正規化を考え、正規化された単語の素性を追加する。例えば、（threat，脅威）という単語ペア素性に対して、４文字のprefix/suffixで正規化することにより、（thre+，脅威）（+reat，脅威）といった、素性を追加することができる。ここで示した正規化は一例であり、翻訳対象とする各言語に適した正規化を容易に取り入れることが可能である。
【００８８】
なお、前記したモード判定手段１２１と、言語モデル学習手段１２２と、単語対応作成手段１２３と、言語間対応素性抽出手段１２４と、フレーズペア抽出手段１２５と、生成規則作成手段１２６と、翻訳スコア計算手段１２７と、階層的素性抽出手段１２８とは、ＣＰＵが記憶手段１１のＨＤＤ等に格納された所定のプログラムをＲＡＭに展開して実行することにより実現されるものである。
【００８９】
［生成規則作成装置の動作］
図１に示した生成規則作成装置の動作について図６を参照（適宜図１参照）して説明する。図６は、図１に示した生成規則作成装置の動作を示すフローチャートである。
生成規則作成装置１は、モード判定手段１２１によって、モードを判定する（ステップＳ１）。判定の結果、モードが「単語対応作成」モードの場合には、生成規則作成装置１は、入出力手段１０を介して、対訳コーパス１５０を単語対応作成手段１２３に入力し（ステップＳ２）、単語対応作成手段１２３によって、単語対応を作成する（ステップＳ３）。作成された単語対応１１１は、記憶手段１１に格納される。
【００９０】
そして、生成規則作成装置１は、単語ペア素性抽出手段１３１によって、単語対応１１１から単語ペア素性を抽出し（ステップＳ４）、翻訳先言語挿入素性抽出手段１３２によって、単語対応１１１から翻訳先言語挿入素性１１８を抽出する（ステップＳ５：翻訳先言語挿入素性抽出ステップ）。なお、ステップＳ４およびステップＳ５の処理順序は任意であり、並列に処理してもよい。
【００９１】
また、ステップＳ１での判定の結果、モードが「ルールテーブル作成」モードの場合には、生成規則作成装置１は、入出力手段１０を介して、対訳コーパス１５０を制御手段１２に入力し（ステップＳ６）、フレーズペア抽出手段１２５によって、対訳コーパス１５０からフレーズペアを抽出する（ステップＳ７：フレーズペア抽出ステップ）。抽出されたフレーズペア１１２は、記憶手段１１に格納される。
【００９２】
続いて、生成規則作成装置１は、生成規則作成手段１２６によって、フレーズペア１１２に基づいて、同期文脈自由文法の生成規則の右辺の翻訳先言語の記号列が終端記号から始まるという制約を加えた生成規則を作成し、この際に、階層的素性抽出手段１２８によって、単語対応１１１から階層的素性を抽出する（ステップＳ８：生成規則作成ステップ、階層的素性抽出ステップ）。作成されたルール１１３、および、抽出された階層的素性１１９は、記憶手段１１にそれぞれ格納される。そして、生成規則作成装置１は、翻訳スコア計算手段１２７によって、ルール１１３の各生成規則から計算した各翻訳スコアを各生成規則に対応付ける（ステップＳ９：翻訳スコア計算ステップ）。対応付けられた生成規則と翻訳スコアとは、ルールテーブル１１４として記憶手段１１に格納される。
【００９３】
また、ステップＳ１での判定の結果、モードが「言語モデル作成」モードの場合には、生成規則作成装置１は、入出力手段１０を介して、翻訳先言語コーパス１４０を制御手段１２に入力し（ステップＳ１０）、言語モデル学習手段１２２によって、言語モデルを作成する（ステップＳ１１）。作成された言語モデル１１５は、記憶手段１１に格納される。そして、生成規則作成装置１は、言語モデル学習手段１２２によって、読み込んだ翻訳先言語コーパス１４０から翻訳先言語bigram素性１１６を抽出する（ステップＳ１２）。抽出された翻訳先言語bigram素性１１６は記憶手段１１に格納される。なお、翻訳先言語bigram素性１１６は、言語モデルを作成する際に抽出される。
【００９４】
なお、生成規則作成装置１は、一般的なコンピュータに、前記した各ステップを実行させる生成規則作成プログラムを実行することで実現することもできる。このプログラムは、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【００９５】
本発明の参考例に係る生成規則作成装置１によれば、同期文脈自由文法の生成規則に対して、右辺の翻訳先言語の記号列が終端記号から始まるという制約を加えた生成規則を作成し、この生成規則に対応する翻訳確率を素性として算出するだけではなく、生成規則に基づいて階層的素性や翻訳先言語挿入素性といった二値素性を抽出することができる。したがって、この生成規則作成装置１において求められた生成規則や素性を用いて統計的機械翻訳を行うことで、正解翻訳として尤もらしい展開の仕方で翻訳文を生成することが可能となる。
【００９６】
[機械翻訳装置の構成]
図７は、本発明の実施形態に係る機械翻訳装置の構成を示す機能ブロック図である。
機械翻訳装置２は、前記した階層的素性と前記した翻訳先言語挿入素性とのうちの少なくとも一方と、翻訳元言語の単語列と翻訳先言語の単語列との対応の確からしさを定義する翻訳モデルとを利用して、入力された翻訳元言語の単語列を、入力に対応する翻訳先言語の単語列に機械的に翻訳するものである。本実施形態では、機械翻訳装置２は、翻訳モデルとして、生成規則作成装置１（図１参照）で作成されたルールテーブルを利用することとした。機械翻訳装置２は、入力された翻訳元言語の単語列の翻訳結果である、入力に対応する翻訳先言語の単語列として、所定の部分仮説からそれよりも長い新たな部分仮説を順次作成して所定の部分仮説を拡張することによって最終的に生成された部分仮説である仮説を出力する。機械翻訳装置２は、例えば、ＣＰＵと、ＲＡＭと、ＲＯＭと、ＨＤＤと、入出力インタフェース等から構成され、図７に示すように、入出力手段２０と、記憶手段２１と、制御手段２２とを備えている。
【００９７】
入出力手段２０は、入力装置Ｋから翻訳元言語の単語列を制御手段２２に入力したり、制御手段２２から、翻訳結果である翻訳先言語の単語列を出力装置Ｄに出力したりするものである。また、入出力手段２０は、素性重み学習用対訳コーパス２５０を素性重み学習手段２２１に入力する。
素性重み学習用対訳コーパス２５０は、生成規則作成装置１（図１参照）が生成規則を作成する際に利用する対訳コーパス１５０とは別に用意するものである。
【００９８】
記憶手段２１は、例えば、ＣＰＵによる演算処理等に利用されるＲＡＭや、例えば、所定のプログラム、各種データベース、処理結果等を格納するＲＯＭやＨＤＤを備えている。例えば、記憶手段２１には、処理結果として、素性重み２１１と、単語情報２１２と、単語範囲付きルール２１３と、部分仮説２１４と、部分仮説スコア２１５とが格納される。また、記憶手段２１には、生成規則作成装置１（図１参照）でそれぞれ作成されたルールテーブル１１４と、言語モデル１１５と、翻訳先言語bigram素性１１６と、単語ペア素性１１７と、翻訳先言語挿入素性１１８と、階層的素性１１９とが格納される。
【００９９】
制御手段２２は、素性重み学習手段２２１と、単語情報抽出手段２２２と、翻訳制御手段２２３とを備えている。
【０１００】
素性重み学習手段２２１は、素性重み学習用対訳コーパス２５０と、ルールテーブル１１４に格納された翻訳モデルと、言語モデル１１５と、翻訳先言語bigram素性１１６と、単語ペア素性１１７と、翻訳先言語挿入素性１１８と、階層的素性１１９とから、後記するオンラインマージン最大化学習法により各素性に対応した重みを学習し、学習結果を素性重み２１１として記憶手段２１に格納するものである。
【０１０１】
単語情報抽出手段２２２は、入出力手段２０を介して入力装置Ｋから入力する翻訳元言語の文を単語単位に分割して、翻訳元言語の文を構成する単語についての情報（単語情報）を抽出するものである。単語情報は、例えば、単語列、単語位置、単語数等を含む。抽出された単語情報２１２は記憶手段２１に格納される。なお、入力装置Ｋから入力する翻訳元言語の文が単語分割済みの場合には、単語情報抽出手段２２２を省略することもできる。
【０１０２】
翻訳制御手段２２３は、後記する手順で部分仮説を展開しながら文全体を被う仮説を求め、その中で最適（実際は準最適）なものを求めるものであり、生成規則探索手段２４１と、単語範囲付き生成規則生成手段２４２と、部分仮説スコア算出手段２４３と、仮説探索手段２４４とを備えている。
【０１０３】
生成規則探索手段２４１は、所定の部分仮説を拡張するために適用可能な生成規則をルールテーブル１１４からそれぞれ探索するものである。
【０１０４】
単語範囲付き生成規則生成手段２４２は、生成規則探索手段２４１で探索された生成規則に対して、入力された翻訳元言語の単語列を構成する単語の単語数と単語位置とに基づいて、探索された生成規則の非終端記号が被う翻訳元言語の単語列の範囲を示す単語範囲を付加して、適用可能な単語範囲付き生成規則をそれぞれ生成するものである。
【０１０５】
ここでは、入力された翻訳元言語の単語列の変換対象部分（非終端記号が被う範囲）を、その単語位置の左端（left）と右端（right）で、［ｌ，ｒ］のように表記することとする。初期段階では、例えば、入力が１１単語であれば、[ｌ，ｒ]＝[１，１１]となる。この場合、生成規則の翻訳元言語側の各非終端記号の単語範囲（未翻訳の単語範囲）を［ｌ1，ｒ1］，［ｌ2，ｒ2］，…のように表記する。例えば、［ｌ1，ｒ1］＝[１，２]等となる。なお、ある生成規則の翻訳元言語側の非終端記号が２つあれば、単語範囲も２つ設定される。また、ある生成規則の翻訳元言語側の非終端記号に対して、「ｌ1」の値や「ｒ1」の値として、複数の可能性がある。
【０１０６】
部分仮説スコア算出手段２４３は、単語範囲付き生成規則に含まれる翻訳先言語側の翻訳済み単語と単語範囲とを、新たな部分仮説として作成すると共に、適用可能な生成規則をトップダウンに適用し且つ適用可能な生成規則において翻訳先言語側の非終端記号が文頭から文末に亘って並べられた順序で、新たな部分仮説を拡張し、作成された部分仮説Ｈ′の評価値を示す部分仮説スコアを算出するものである。
本実施形態では、部分仮説スコア算出手段２４３は、ルールテーブル１１４に格納された翻訳モデルと、翻訳先言語bigram素性１１６と、単語ペア素性１１７と、翻訳先言語挿入素性１１８と、階層的素性１１９とを要素として含む素性ベクトルと、素性重み２１１を示す重みベクトルとの内積を部分仮説スコアＳ（Ｈ′）として算出する。
【０１０７】
具体的には、部分仮説スコア算出手段２４３は、「翻訳先言語の文頭からの単語列」と「翻訳元言語の単語列のうち未翻訳の単語の範囲を保持するスタック」の二つ組みからなる部分仮説Ｈをもとに、適用可能な単語範囲付き生成規則を使って、新たな部分仮説Ｈ′を作成するということを繰り返す。ＨをもとにＨ′を作成することを部分仮説の拡張と呼ぶ。部分仮説が拡張されるに従い、部分仮説中の「翻訳先言語の文頭からの単語列は文頭から文末にかけて逐次的に追加される。また、部分仮説スコア算出手段２４３は、メモリを節約するため、他の部分仮説との間で単語列の共有を行う。なお、翻訳元言語の単語数がＪの場合、初期部分仮説（部分仮説の初期値）は、「空列」と、「［１，Ｊ］だけが積まれたスタック」とからなる。
【０１０８】
部分仮説スコア算出手段２４３は、部分仮説Ｈ′の翻訳元言語の翻訳されている単語数をｍ（０≦ｍ≦Ｊ）とすると、優先度付きキューＱ0，Ｑ1，…，ＱJに部分仮説Ｈ′を入れる。つまり、部分仮説スコア算出手段２４３は、Ｑ0＝｛初期部分仮説｝から始めて、翻訳された翻訳元言語の単語数に同期して優先度付きキューＱmに格納する部分仮説を拡張していく。
【０１０９】
部分仮説スコア算出手段２４３は、ある部分仮説を拡張するとき、そのスタックの先頭から（積まれた上方から）翻訳されていない翻訳元言語の単語範囲［ｌ，ｒ］をポップする。翻訳元言語の入力文に対応する生成規則はEarley法のチャート構造で管理する。チャート構造を用いることにより、部分仮説に対して適用可能な生成規則を効率良く見つけることが可能となる。例えば、部分仮説スコア算出手段２４３は、前記した式（１７）から生成された式（２９）に示すような単語範囲つき生成規則から部分仮説を抽出する場合には、単語範囲［ｌ2，ｒ2］，［ｌ1，ｒ1］の順序でスタックにプッシュして、［ｌ1，ｒ1］が先に処理されるようにする。こうして、翻訳先言語側は、常に文頭から翻訳が生成されることが保証されることになる。
【０１１０】
【数１６】
0005180522.tif 000022
【０１１１】
部分仮説スコア算出手段２４３は、式（３０）に示すように、もととなった部分仮説ＨのスコアＳ（Ｈ）に差分スコアを加算することで、拡張された部分仮説Ｈ′のスコアＳ（Ｈ′）を算出する。
【０１１２】
【数１７】
0005180522.tif 000023
【０１１３】
ここで、ｈm（ｒ）として、例えば、表５に示す素性を用いる。なお、仮説を生成する際に、部分仮説の展開により新たに生成された翻訳先言語の単語列を、
0005180522.tif 000024
と表記する。ここで、生成された翻訳先言語の単語列は、「ｉ」番目の単語から「ｉ＋ε」番目の単語で構成されている。
【０１１４】
【表５】
0005180522.tif 000025
【０１１５】
ここで、Ｐe｜f（ｒ）、Ｐf｜e（ｒ）、Lexe｜f（ｒ）、Lexf｜e（ｒ）は、記憶手段２１のルールテーブル１１４に規定されている生成規則ｒに対応した素性である。また、前記した式（３０）中の素性重みλmは、記憶手段２１に格納された素性重み２１１に予め規定されているものとする。表５に示した最後の４つの素性（ｈ7（ｒ）〜ｈl（ｒ））は二値素性であり，一般に高次元素性となる。なお、表５に記載した「ｉ」，「ｊ」，「ｋ」，「ｌ」は、各二値素性の個数によって定まる整数を示す。
【０１１６】
本実施形態では、前記した式（３０）と表５とから、部分仮説スコア算出手段２４３は、最終的に、部分仮説Ｈ′のスコアＳ（Ｈ′）を、式（３１）で算出する。また、部分仮説スコア算出手段２４３は、優先度付きキューＱ0，Ｑ1，…，ＱJには、最大Ｙ個（例えば、1000個）の部分仮説しか保持しない。また、部分仮説スコア算出手段２４３は、部分仮説スコアＳ（Ｈ′）が優先度付きキューＱ0，Ｑ1，…，ＱJ内の最大の部分仮説スコアとある定数との積よりも小さい場合、その部分仮説Ｈ′を捨てる。これにより、部分仮説スコア算出手段２４３は、優先度付きキューＱ0，Ｑ1，…，ＱJに格納される各部分仮説に対して効果的な枝刈りを行うことができる。
【０１１７】
【数１８】
0005180522.tif 000026
【０１１８】
仮説探索手段２４４は、入力された翻訳元言語の単語列に対して適用可能な所定の部分仮説を探索し、所定の部分仮説を拡張することによって最終的に生成された翻訳元言語の文全体に対応する部分仮説（これを仮説と呼ぶ）のうちで、部分仮説スコアが最大となる仮説を探索するものである。具体的には、仮説探索手段２４４は、翻訳元言語の文全体から得られる所定数の仮説のうちで、仮説スコアが最大となる仮説Ｈ＾を、式（３２）の関係から探索する。式（３２）に示す仮説Ｈは、優先度付きキューＱJに含まれる部分仮説Ｈのことなので、式（３２）で求める仮説Ｈ＾は、部分仮説スコアＳ（Ｈ）の値を最大とする部分仮説Ｈ（つまり仮説Ｈ）を求めることで実現できる。
【０１１９】
【数１９】
0005180522.tif 000027
【０１２０】
また、仮説探索手段２４４は、求めた仮説に対応する翻訳先言語の文頭から文末までの単語列を翻訳結果として、入出力手段２０を介して出力装置Ｄに出力する。
【０１２１】
＜オンラインマージン最大化学習法＞
ここで、素性重み学習手段２２１が行うオンラインマージン最大化学習（Online Large-Margin Training）について説明する。素性重み学習手段２２１は、図８に示すオンライン学習アルゴリズムを実行する。このオンライン学習アルゴリズムは、デコーダ（仮説探索手段２４４）が生成可能な準正解データを活用する点が、一般的なオンライン学習アルゴリズムと相違している。
【０１２２】
行番号「３」に示すbestk(・)は、デコーダにより、学習サンプル（ｆt，ｅt）から重みベクトルｗiを用いてk-bestリストＣt（ｋ個の翻訳先言語文データ）を生成する関数を示す。ここで、各学習サンプルは、あるｔについての１つの翻訳元言語文ｆtに対して、複数の翻訳先言語文ｅtを持っているものとする。したがって、「ｅt」は、複数の参照訳を示すベクトルを表す。
【０１２３】
行番号「４」に示すoraclem(・)は、k-bestリストＣtと以前の準正解データＯtとをマージ（merge）して、ｍ個の準正解データを生成する（更新する）。なお、新たに生成された準正解データＯtを用いて後記する過程を経て正解データが決定される。
【０１２４】
行番号「５」に示すように、以前の重みベクトルｗiは、行番号「３」で生成されたk-bestリストＣtと、行番号「４」で生成された準正解データＯtとを用いて更新されることによって、新しい重みベクトルｗi+1が生成される。なお、w.r.t.は、with respect toの略である。素性重み学習手段２２１は、行番号「３」から行番号「６」までの処理を、内側ループとして、学習サンプル（ｆt，ｅt）に亘ってＴ回繰り返し、さらに、行番号「２」から行番号「７」までの処理を、外側ループとしてＮ回繰り返し、行番号「９」に示すように、重みベクトルｗiの平均値を返す。
【０１２５】
本実施形態では、素性重み学習手段２２１は、行番号「５」の処理において、式（３３）を用いて、オンラインマージン最大化学習を用い、最適な重みベクトルｗiを求める。なお、オンラインマージン最大化法については、「Koby Crammer, Ofer Dekel, Joseph Keshet, Shai Shalev-Shwartz, and Yoram Singer、Online passive-aggressive algorithms、Journal of Machine Learning Research、 7:551-585、March 2006（以下、参考文献という）」に記載されている。
【０１２６】
【数２０】
0005180522.tif 000028
【０１２７】
式（３４）中のロス関数は、参照訳ｅtに基づき、ｅ＾とｅ′との違いを計算する関数である。ロス関数としては、例えば、n-gramの正解率に基づく指標であるＢＬＥＵなどの指標を用いることができる。ＢＬＥＵについては、「Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu、BLEU: a method for automatic evaluation of machine translation、In Proc. of ACL 2002、p. 311-318、Philadelphia、Pennsylvania、2002」に記載されている。
【０１２８】
素性重み学習手段２２１は、式（３４）に示すように、複数の正しい翻訳（ｅ＾）と、デコーダの出力する複数の誤った候補（ｅ′）との間のマージン（margin）を形成し、そのマージンがロス関数の値よりも大きくなるようにする。一般に、オンラインマージン最大化学習では、正解データは一つである（例えば、前記した参考文献を参照）。しかし、翻訳においては、正解を一意に決定できないため、素性重み学習手段２２１は、複数の正解データ（準正解データ）を用いる。さらに、オンラインマージン最大化学習で用いるロス関数Ｌによっては真の正解（ｅ＾）を定義できないため、素性重み学習手段２２１は、デコーダの出力するk-bestリストＣtから正解（ｅ＾）に近いものを正解データ（準正解データＯt）として用いる。前記した式（３３）の左辺を示す最適な重みベクトルｗi+1は、例えば、二次計画法により導出可能である。
【０１２９】
本手法（図８に示したアルゴリズム）によって、素性重み学習手段２２１は、複数の正解へ向けて学習しており、少量の学習データに対しても、最適なモデルのパラメータを学習することが可能である。また、そのための重み付けは、二次計画法により決定されることから、本手法によれば、柔軟な制約を設計することが可能である。例えば、ＢＬＥＵなどのロス関数以外に、ＮＩＳＴといったロス関数を追加することにより、ＢＬＥＵの正解と同時に、ＮＩＳＴを最適化するといった制約を加えることが可能である。なお、ＮＩＳＴについては、「George Doddington、Automatic evaluation of machine translation quality using n-gram co-occurrence statistics、In Proc. ARPA Workshop on Human Language Technology、2002」に記載されている。
【０１３０】
なお、素性重み学習手段２２１と、単語情報抽出手段２２２と、翻訳制御手段２２３（生成規則探索手段２４１、単語範囲付き生成規則生成手段２４２、部分仮説スコア算出手段２４３および仮説探索手段２４４）とは、ＣＰＵが記憶手段２１のＨＤＤ等に格納された所定のプログラムをＲＡＭに展開して実行することにより実現されるものである。
【０１３１】
［機械翻訳装置の動作］
図７に示した機械翻訳装置２の動作について図９を参照（適宜図７参照）して説明する。図９は、図７に示した機械翻訳装置の動作を示すフローチャートである。予め、機械翻訳装置２は、素性重み学習手段２２１によって、素性重み学習用対訳コーパス２５０と、ルールテーブル１１４と、言語モデル１１５と、翻訳先言語bigram素性１１６と、単語ペア素性１１７と、翻訳先言語挿入素性１１８と、階層的素性１１９とに基づいて、素性関数の値の重みを学習し、学習結果である素性重み２１１を記憶手段２１に格納しておく（ステップＳ２１：素性重み学習ステップ）。
【０１３２】
そして、機械翻訳装置２は、入力装置Ｋから入出力手段２０を介して入力された翻訳元言語の文を単語情報抽出手段２２２に入力する（ステップＳ２２）。機械翻訳装置２は、単語情報抽出手段２２２によって、入力された翻訳元言語の文（入力文）を単語に分割し、単語列、単語数Ｊやそれぞれの単語の単語位置を抽出する（ステップＳ２３）。抽出された単語列、単語列単語数Ｊや単語位置は、単語情報２１２として記憶手段２１に格納される。
【０１３３】
機械翻訳装置２は、仮説探索手段２４４によって、初期部分仮説Ｈ0を作成し、入力単語数Ｊに合わせて、Ｊ個の優先度付きキューＱ0，…，ＱJを空にして、そのうちの優先度付きキューＱ0に初期部分仮説Ｈ0を格納する（ステップＳ２４）。そして、機械翻訳装置２は、仮説探索手段２４４によって、初期部分仮説Ｈ0に対する部分仮説スコアＳ（Ｈ0）と、優先度付きキューの識別変数ｍとを初期化する。すなわち、Ｓ（Ｈ0）＝０，ｍ＝０とする（ステップＳ２５）。続いて、機械翻訳装置２は、生成規則探索手段２４１によって、ｍ番目の優先度付きキューＱmから、そこに格納されている適用可能なそれぞれの部分仮説Ｈを順次ポップし、それぞれの部分仮説Ｈを拡張できるような適用可能なそれぞれの生成規則ｒをルールテーブル１１４から探索する。そして、探索結果であるそれぞれの生成規則ｒの翻訳元言語側に記述されている翻訳済単語の個数（翻訳済単語個数）Ｖ（ｒ）を取得し、現在の優先度付きキューの識別変数ｍの値に加算することによって、処理対象の部分仮説Ｈに対する翻訳済単語数ｎの値を更新する。すなわち、ｎ＝ｍ＋Ｖ（ｒ）とする（ステップＳ２６：生成規則探索ステップ）。
【０１３４】
そして、機械翻訳装置２は、単語範囲付き生成規則生成手段２４２によって、探索した生成規則に対して適用可能なそれぞれの単語範囲付き生成規則ｒ′を生成する（ステップＳ２７：単語範囲付き生成規則生成ステップ）。そして、機械翻訳装置２は、部分仮説スコア算出手段２４３によって、処理対象の部分仮説Ｈを、それぞれの単語範囲付き生成規則ｒ′で展開して部分仮説Ｈ′をそれぞれ作成し、作成した部分仮説Ｈ′について前記した式（３１）に基づいて部分仮説スコアＳ（Ｈ′）を算出する。そして、作成した部分仮説Ｈ′を、ｎ番目の優先度付きキューＱnに格納し、所定の枝刈りを行う（ステップＳ２８：部分仮説スコア算出ステップ）。ここで、枝刈りによって不要となった部分仮説Ｈ′は、優先度付きキューＱnから削除される。また、算出された部分仮説スコアＳ（Ｈ′）は記憶手段２１の部分仮説スコア２１５に格納されるが、枝刈りによって削除された部分仮説Ｈ′に対する部分仮説スコアＳ（Ｈ′）は削除されることとなる。
【０１３５】
そして、機械翻訳装置２は、仮説探索手段２４４によって、適用可能な単語範囲付き生成規則ｒ′をすべて選択したか否かを判別する（ステップＳ２９）。適用可能なｒ′がまだ存在する場合（ステップＳ２９：Ｎｏ）、機械翻訳装置２は、ステップＳ２７に戻る。一方、ｒ′をすべて選択した場合（ステップＳ２９：Ｙｅｓ）、仮説探索手段２４４は、適用可能な生成規則ｒをすべて選択したか否かを判別する（ステップＳ３０）。適用可能なｒがまだ存在する場合（ステップＳ３０：Ｎｏ）、機械翻訳装置２は、ステップＳ２６に戻る。一方、ｒをすべて選択した場合（ステップＳ３０：Ｙｅｓ）、仮説探索手段２４４は、適用可能な部分仮説Ｈをすべて選択したか否かを判別する（ステップＳ３１）。適用可能なＨがまだ存在する場合（ステップＳ３１：Ｎｏ）、機械翻訳装置２は、ステップＳ２６に戻る。一方、Ｈをすべて選択した場合（ステップＳ３１：Ｙｅｓ）、仮説探索手段２４４は、現在の優先度付きキューの識別変数ｍの値が入力単語数Ｊと等しい（ｍ＝Ｊ）か否かを判別する（ステップＳ３２）。ｍ≠Ｊである場合（ステップＳ３２：Ｎｏ）、機械翻訳装置２は、仮説探索手段２４４によって、優先度付きキューの識別変数ｍをインクリメントする。すなわち、ｍ＝ｍ＋１とする（ステップＳ３３）。続いて、ステップＳ２６に戻る。
【０１３６】
一方、ｍ＝Ｊである場合（ステップＳ３２：Ｙｅｓ）、Ｊ番目の優先度付きキューＱJには、翻訳元言語の文全体を被う部分仮説Ｈが複数格納されている。これら部分仮説Ｈは、翻訳元言語の文に対する仮説Ｈとみなすことができる。同様に、優先度付きキューＱJに格納された部分仮説Ｈに対する部分仮説スコアＳ（Ｈ）は、この意味で、仮説スコアＳ（Ｈ）と呼ぶ。そして、この場合、機械翻訳装置２は、仮説探索手段２４４によって、Ｊ番目の優先度付きキューＱJから仮説スコアＳ（Ｈ）の値が最大となる仮説Ｈを探索する（ステップＳ３４：仮説探索ステップ）。そして、機械翻訳装置２は、仮説探索手段２４４によって、探索された仮説を翻訳先言語の文として出力する（ステップＳ３５）。これにより、探索された仮説に対応する翻訳先言語の文頭から文末までの単語列が出力装置Ｄに出力される。
【０１３７】
なお、機械翻訳装置２は、一般的なコンピュータに、前記した各ステップを実行させる機械翻訳プログラムを実行することで実現することもできる。このプログラムは、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【０１３８】
［具体例］
図１０と、表６と、表７と、表８とを参照して具体例について説明する。
図１０は、図７に示した部分仮説から仮説への拡張例を示す図である。表６は、１１単語からなる翻訳元言語文を示し、表７は、表６に示した翻訳元言語文に対応して適用可能な生成規則を示す。なお、表７中の「生成規則の種類」とは、前記した式（１３）〜式（１７）のいずれに対応するかを示すものである。表８は、表７に示した生成規則の適用順とそれに基づく単語範囲付き生成規則を示すものである。
【０１３９】
【表６】
0005180522.tif 000029
【０１４０】
【表７】
0005180522.tif 000030
【０１４１】
【表８】
0005180522.tif 000031
【０１４２】
初期状態において、部分仮説スコア算出手段２４３は、スタックを空にし、図１０に示すように、状態「０」で翻訳元言語の単語列（文）全体を被う単語範囲［１，１１］をプッシュする。状態「０」では、部分仮説Ｈ′（０）は、初期部分仮説なので、スタックにプッシュした単語範囲［１，１１］と空列との組である。部分仮説Ｈ′（０）の部分仮説スコアＳ（Ｈ′）は「０」とする。
【０１４３】
次に、状態「１」で、部分仮説スコア算出手段２４３は、スタックから範囲［１，１１］をポップし、生成規則探索手段２４１は、表７から、ポップされた範囲に適用可能な生成規則ｒ（３）を選択する。生成規則ｒ（３）における翻訳解「The」に対応した「は」の入力文における単語位置は、「３」なので、単語範囲付き生成規則生成手段２４２は、表８に示すように、生成規則ｒ（３）における非終端記号Ｘ(1)および非終端記号Ｘ(2)の単語範囲が、それぞれ［１，２］、［４，１１］となるような単語範囲付き生成規則ｒ′（３）を生成する。この単語範囲付き生成規則ｒ′（３）では、翻訳先言語側において非終端記号Ｘ(1)が非終端記号Ｘ(2)より先に処理されなければならない。そのため、部分仮説スコア算出手段２４３は、図１０に示すように、単語範囲付き生成規則ｒ′（３）において、非終端記号Ｘ(2)に対応する単語範囲［４，１１］をスタックにプッシュしてから、非終端記号Ｘ(1)に対応する単語範囲［１，２］をプッシュする。部分仮説スコア算出手段２４３は、スタックにプッシュした単語範囲［１，２］、［４，１１］と、翻訳先言語の文頭からの単語列としての翻訳解「The」とを部分仮説Ｈ′（１）とする。部分仮説スコア算出手段２４３は、部分仮説Ｈ′（１）について部分仮説スコアを算出する。
【０１４４】
次に、状態「２」で、部分仮説スコア算出手段２４３は、スタックから単語範囲［１，２］をポップし、生成規則探索手段２４１は、表７から、この単語範囲に適用可能な生成規則ｒ（１）を選択する。生成規則ｒ（１）における翻訳解「international」に対応した「国際」の入力文における単語位置は、「１」なので、単語範囲付き生成規則生成手段２４２は、表８に示すように、生成規則ｒ（１）における非終端記号Ｘ(1)の単語範囲が［２，２］となるような単語範囲付き生成規則ｒ′（１）を生成する。部分仮説スコア算出手段２４３は、図１０に示すように、単語範囲付き生成規則ｒ′（１）において、単語範囲［２，２］をスタックにプッシュする。部分仮説スコア算出手段２４３は、スタックにプッシュした単語範囲［２，２］と、以前プッシュした単語範囲［４，１１］と、翻訳先言語の文頭からの単語列としての翻訳解「The international」とを部分仮説Ｈ′（２）とする。部分仮説スコア算出手段２４３は、部分仮説Ｈ′（２）について部分仮説スコアを算出する。
【０１４５】
次に、状態「３」で、部分仮説スコア算出手段２４３は、スタックから単語範囲［２，２］をポップし、生成規則探索手段２４１は、表７から、この単語範囲に適用可能な生成規則ｒ（２）を選択する。生成規則ｒ（２）には「テロ」に対応した翻訳解「terrorism」が記述されているが、非終端記号が無いので、単語範囲付き生成規則生成手段２４２は、生成規則ｒ（２）をそのまま単語範囲付き生成規則ｒ′（２）とする。部分仮説スコア算出手段２４３は、単語範囲付き生成規則ｒ′（２）において単語範囲が指定されていないのでスタックに対する操作を行わない。部分仮説スコア算出手段２４３は、図１０に示すように、スタックに以前プッシュした単語範囲［４，１１］と、翻訳先言語の文頭からの単語列としての翻訳解「The international terrorism」とを部分仮説Ｈ′（３）とする。部分仮説スコア算出手段２４３は、部分仮説Ｈ′（３）について部分仮説スコアを算出する。
【０１４６】
以下、同様にして、表８に記載した適用順に、状態「４」から状態「９」に対応する操作を行うと、スタックが空になるので、部分仮説スコア算出手段２４３は、部分仮説の展開を終了し、仮説を生成する。このとき、翻訳先言語の文頭からの単語列としての翻訳解は、以下のように、１０単語の単語列となる。
「The international terrorism also is a possible threat in Japan」
【０１４７】
ここで、生成規則ｒ（９）は、２つの終端記号（単語）「で  ある，is a」を有しているため、部分仮説スコア算出手段２４３は、９回の状態遷移で１０単語を訳出する。図１０では、部分仮説展開の過程で、翻訳先言語側が文頭から文末にかけて生成されたことが示されている。
【０１４８】
図１１は、図１０に示した仮説への拡張例に対応した同期文脈自由文法の木構造を示す図である。これは部分仮説展開に用いた生成規則の系列を木として表現したものである。図１１において、（１）〜（９）は同期文脈自由文法の生成規則の展開順序を表す。生成規則は、右辺の翻訳先言語側は終端記号で始まっており、木はトップダウンかつ翻訳先言語の文頭から文末の順序に展開されるので、翻訳先言語の単語は必ず文頭から文末にかけて逐次的に生成される。これとは対照的に翻訳元言語側は必ずしも文頭から文末にかけて解析されるわけではない。
【０１４９】
表８に示した単語範囲付き生成規則と異なる例を表９に示す。表９では、適用順「１」，「２」の内容が異なる以外は表８と同じである。この場合には、状態「１」で、生成規則ｒ（１）を選択し、状態「２」で生成規則ｒ（３）を選択する。このとき、翻訳先言語の文頭からの単語列としての翻訳解は、以下のように、より不自然な英語となるため、この場合の仮説の仮説スコアは、表８の場合の仮説の仮説スコアよりも小さくなる。
「international The terrorism also is a possible threat in Japan」
【０１５０】
【表９】
0005180522.tif 000032
【０１５１】
本実施形態の機械翻訳装置２によれば、ルールテーブル１１４に格納された生成規則ごとの翻訳モデルに加え、階層的素性１１９や翻訳先言語挿入素性１１８といった二値素性を含む素性に対応した重みを、素性重み学習用対訳コーパス２５０に基づいて学習し、これらの素性ベクトルおよび素性重みベクトルに基づいて部分仮説スコアを算出し、部分仮説スコア（この場合には仮説スコア）が最大となる仮説を翻訳先言語の単語列として探索する。したがって、正解翻訳として尤もらしい展開の仕方で翻訳文を生成することが可能となる。その結果、翻訳先言語の単語列の翻訳精度を向上させることができる。
【０１５２】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、本実施形態では、日本語から英語への日英翻訳を例に説明したが、言語の組み合わせはこれに限定されるものではない。生成規則作成装置により生成規則を作成すれば、任意の多言語間でこの翻訳装置を使用することが可能である。
【０１５３】
また、本発明の参考例に係る生成規則作成装置１は、階層的素性抽出手段１２８と翻訳先言語挿入素性抽出手段１３２との両方を備える構成としたが、階層的素性抽出手段１２８と翻訳先言語挿入素性抽出手段１３２とのうちのいずれか一方のみを備えるように構成してもよい。この場合にも同等の効果を奏することができる。
また、本実施形態では、機械翻訳装置２は、階層的素性１１９と翻訳先言語挿入素性１１８との両方を含んで統計的機械翻訳を行うものとして構成したが、階層的素性１１９と翻訳先言語挿入素性１１８とのうちのいずれか一方のみを含むように構成してもよい。この場合にも同等の効果を奏することができる。さらに、機械翻訳装置２は、翻訳モデルとして、生成規則作成装置１（図１参照）で作成されたルールテーブルを利用することとしたが、利用する翻訳モデルはルールテーブルに限定されるものではない。
【実施例】
【０１５４】
本発明の効果を確認するために、翻訳元言語を「アラビア語」とすると共に、翻訳先言語を「英語」として、アラビア語から英語への翻訳実験を行った。
具体的には、対訳コーパス１５０（図１参照）として、ＬＤＣ（Linguistic Data Consortium：米国の言語データ研究機構）から配布されている「アラビア語／英語のコーパス」を用いた。この対訳コーパス（training set）１５０は、約３８０万文からなる。
また、素性重み学習用対訳コーパス２５０（図７参照）として、MT2003評価セット（663文：development set）を用い、テストに、MT2004（707文：open test set）およびMT2005（1,056文：open test set）を用いた。
また、翻訳先言語コーパス１４０（図１参照）として、ＬＤＣから配布されている「English Gigaword」を用いた。つまり、「English Gigaword」が、言語モデル１１５の学習や翻訳先言語bigram素性１１６の抽出に用いられた。
【０１５５】
＜単語の正規化に関する実験＞
単語の正規化に関する実験として、単語の表層形（surface form）を仮定した素性と、単語を正規化することを仮定した素性とを比較する実験を行った。
（実施例１）単語の表層形（surface form）のみを仮定した。
（実施例２）単語の表層形（surface form）に加えて、接頭辞および接尾辞の正規化（prefix／suffix）を仮定した。
（実施例３）単語の表層形（surface form）に加えて、単語クラスの正規化（word class）を仮定した。
（実施例４）単語の表層形（surface form）に加えて、数字の正規化（digits）を仮定した。
（実施例５）単語の表層形（surface form）に加えて、接頭辞および接尾辞の正規化と、単語クラスの正規化と、数字の正規化とを総合した正規化（all token types）を仮定した。
【０１５６】
実施例１〜実施例５に関する共通の実験条件は以下の通りである。
素性重み学習手段２２１は、オンラインマージン最大化学習において繰り返し回数を、５０回とした（Ｎ＝５０）。
各学習サンプルごとに、仮説探索手段２４４（デコーダ）は、1000-bestを出力し、そこから、上位１０の翻訳および１０の正解データを抽出した。
ロス関数としては、ＢＬＥＵを用い、ＢＬＥＵとＮＩＳＴの両方で評価した。
この場合の実験結果を表１０に示す。
【０１５７】
【表１０】
0005180522.tif 000033
【０１５８】
実施例１と実施例２とを比較すると、MT2003評価セット（2003（dev）と表記）に対しては、実施例２は、実施例１に比べて性能が大幅に向上したが、MT2004（2004と表記）およびMT2005（2005と表記）に対しては、性能が低下した。そのため、実施例２は、過学習を起こしている。一方、実施例１と実施例３とを比較すると、実施例３は、過学習を起こさずに、実施例１に比べて性能が向上した。同様に、実施例４および実施例５も、過学習を起こさずに、実施例１に比べて性能が向上した。
【０１５９】
＜二値素性の組み合わせに関する実験＞
実施例５の総合した正規化を仮定した素性を用いた上で、二値素性の組み合わせを比較する実験を行った。
（実施例６）単語ペア素性（word pairs）のみを利用した。
（実施例７）実施例６の素性（word pairs）に加えて、翻訳先言語bigram素性（target bigram）を利用した。
（実施例８）実施例７の素性（word pairs、target bigram）に加えて、翻訳先言語挿入素性（insertion）を利用した。
（実施例９）実施例８の素性（word pairs、target bigram、insertion）に加えて、単語ベースの階層的素性（hierarchical）を利用した。
この場合の実験結果を表１１に示す。
【０１６０】
【表１１】
0005180522.tif 000034
【０１６１】
実施例６と実施例７とを比較すると、実施例７は、過学習を起こしている。一方、実施例６と実施例８とを比較すると、実施例８は、過学習を起こさずに、実施例６に比べて性能が向上した。同様に、実施例９も、過学習を起こさずに、実施例６に比べて性能が向上した。
【０１６２】
＜二値素性の有無に関する実験＞
実施例９のように４種類の素性を用いたもの（二値素性あり）と、二値素性を用いないもの（二値素性なし）とを比較する実験を行った。具体的には、MT2003評価セット、MT2004およびMT2005を合わせたセット（総計セット）について、２分割交差検定法（2-fold cross validation）を用いた。すなわち、総計セットの半分を素性重み学習用コーパスに用いると共に、残り半分をテストセットとして用いて、これを交互に行って平均を求めた。ここでは、４種類の素性を用いたものを実施例１０（online）とする。また、二値素性を用いない比較例（baseline）として、非特許文献４に記載された従来の方法を用いた。この場合の実験結果を表１２に示す。表１２に示すように、実施例１０は、比較例よりも性能が大幅に向上した。
【０１６３】
【表１２】
0005180522.tif 000035
【図面の簡単な説明】
【０１６４】
【図１】本発明の参考例に係る生成規則作成装置の構成を示すブロック図である。
【図２】日英の対訳の単語対応の例を示す図である。
【図３】図１に示したルールテーブルの例を示す図である。
【図４】図１に示した単語ペア素性の例を示す図である。
【図５】図１に示した階層的素性の例を示す図である。
【図６】図１に示した生成規則作成装置の動作を示すフローチャートである。
【図７】本発明の実施形態に係る機械翻訳装置の構成を示すブロック図である。
【図８】オンライン学習アルゴリズムを示す図である。
【図９】図７に示した機械翻訳装置の動作を示すフローチャートである。
【図１０】図７に示した部分仮説から仮説への拡張例を示す図である。
【図１１】図１０に示した仮説への拡張例に対応した同期文脈自由文法の木構造を示す図である。
【図１２】誤訳例の木構造を示す図である。
【図１３】正解翻訳例の木構造を示す図である。
【符号の説明】
【０１６５】
１      生成規則作成装置
２      機械翻訳装置
１０    入出力手段
１１    記憶手段
１１１  単語対応
１１２  フレーズペア
１１３  ルール
１１４  ルールテーブル
１１５  言語モデル
１１６  翻訳先言語bigram素性
１１７  単語ペア素性
１１８  翻訳先言語挿入素性
１１９  階層的素性
１２    制御手段
１２１  モード判定手段
１２２  言語モデル学習手段
１２３  単語対応作成手段
１２４  言語間対応素性抽出手段
１２５  フレーズペア抽出手段
１２６  生成規則作成手段
１２７  翻訳スコア計算手段
１２８  階層的素性抽出手段
１３１  単語ペア素性抽出手段
１３２  翻訳先言語挿入素性抽出手段
１４０  翻訳先言語コーパス
１５０  対訳コーパス
２０    入出力手段
２１    記憶手段
２１１  素性重み
２１２  単語情報
２１３  単語範囲付きルール
２１４  部分仮説
２１５  部分仮説スコア
２２    制御手段
２２１  素性重み学習手段
２２２  単語情報抽出手段
２４１  生成規則探索手段
２４２  単語範囲付き生成規則生成手段
２４３  部分仮説スコア算出手段
２４４  仮説探索手段
２５０  素性重み学習用対訳コーパス
【図１】
0005180522.tif 000036
【図２】
0005180522.tif 000037
【図３】
0005180522.tif 000038
【図４】
0005180522.tif 000039
【図５】
0005180522.tif 000040
【図６】
0005180522.tif 000041
【図７】
0005180522.tif 000042
【図８】
0005180522.tif 000043
【図９】
0005180522.tif 000044
【図１０】
0005180522.tif 000045
【図１１】
0005180522.tif 000046
【図１２】
0005180522.tif 000047
【図１３】
0005180522.tif 000048