(57)【特許請求の範囲】
【請求項１】
原言語による原言語文を入力する入力部と、
前記原語文を形態素解析し、前記原語文の形態素列を出力する形態素解析部と、
前記原言語文の形態素列を構文解析し、前記原言語文の形態素列の構文構造を出力する構文解析部と、
前記構文構造に含まれる第１節点それぞれに対して、前記第１節点を最上位の節点とし、前記第１節点より下位のすべての節点を含む第１部分構造に対応する第１形態素列を、前記構文構造から抽出する第１抽出部と、
前記第１節点より下位の第２節点を最上位の節点とし、前記第２節点より下位のすべての節点を含む部分構造と、前記第１部分構造と、の差分を表す第２部分構造に対応する第２形態素列を、前記構文構造から抽出する第２抽出部と、
前記第１形態素列および前記第２形態素列を、複数の翻訳方式のそれぞれで目的言語に翻訳し、翻訳の確からしさを表す翻訳スコアと翻訳結果とを対応づけた部分訳情報を生成する翻訳部と、
前記部分訳情報の組み合わせのうち、前記組み合わせ内の前記部分訳情報それぞれに含まれる翻訳結果の翻訳元である前記第１形態素列または前記第２形態素列が重複せず、かつ、前記原言語文に含まれるすべての形態素が、前記組み合わせ内の前記部分訳情報に含まれる翻訳結果の翻訳元である前記第１形態素列または前記第２形態素列のいずれかと一致し、かつ、前記部分訳情報に含まれる前記翻訳スコアに基づいて算出される前記組み合わせの確からしさを表す第１尤度が最大となる前記組み合わせを選択する選択部と、
選択された前記組み合わせ内の前記部分訳情報に含まれる前記翻訳結果を含む目的言語による目的言語文を前記原言語文の翻訳結果として生成する生成部と、
前記目的言語文を出力する出力部と、
を備えたことを特徴とする機械翻訳装置。
【請求項２】
前記構文構造は、前記原言語文が構文解析で用いる予め定められた文法規則に基づいて取り得る、複数の構文木を含む構文森であること、
を特徴とする請求項１に記載の機械翻訳装置。
【請求項３】
前記構文解析部は、前記構文木の確からしさを表す第２尤度を対応づけた前記構文木を含む前記構文森を生成し、
前記第１抽出部は、前記構文森に含まれる前記構文木のうち、前記第２尤度が予め定められた第１閾値より大きい前記構文木から、前記第１形態素列を抽出し、
前記第２抽出部は、前記構文森に含まれる前記構文木のうち、前記第２尤度が前記第１閾値より大きい前記構文木から、前記第２形態素列を抽出すること、
を特徴とする請求項２に記載の機械翻訳装置。
【請求項４】
前記構文構造は、対応する形態素の文法範疇が対応づけられた前記節点を含み、
前記第１抽出部は、前記第１節点のうち、特定の前記文法範疇に対応づけられた前記第１節点を最上位の節点とする前記第１部分構造に対応する前記第１形態素列を前記構文構造から抽出すること、
を特徴とする請求項１に記載の機械翻訳装置。
【請求項５】
前記第１抽出部は、さらに、抽出した前記第１形態素列のうち、原言語のコーパス内での生起確率が予め定められた第２閾値より大きい前記第１形態素列を抽出し、
前記第２抽出部は、さらに、抽出した前記第２形態素列のうち、原言語のコーパス内での生起確率が前記第２閾値より大きい前記第２形態素列を抽出すること、
を特徴とする請求項１に記載の機械翻訳装置。
【請求項６】
前記翻訳部は、前記翻訳方式ごとに予め定められた算出方法で算出された前記翻訳スコアを対応づけた前記翻訳結果を生成すること、
を特徴とする請求項１に記載の機械翻訳装置。
【請求項７】
前記翻訳部は、目的言語のコーパス内での前記翻訳結果の生起確率である前記翻訳スコアを対応づけた前記翻訳結果を生成すること、
を特徴とする請求項１に記載の機械翻訳装置。
【請求項８】
前記翻訳部は、予め定められた翻訳モデルに基づく前記翻訳結果の翻訳確率である前記翻訳スコアを対応づけた前記翻訳結果を生成すること、
を特徴とする請求項１に記載の機械翻訳装置。
【請求項９】
前記選択部は、前記組み合わせのうち、前記組み合わせ内の前記部分訳情報それぞれに含まれる翻訳結果の翻訳元の形態素が重複せず、かつ、前記原言語文に含まれるすべての形態素が、前記組み合わせ内の前記部分訳情報に含まれる翻訳結果の翻訳元の形態素のいずれかに対応する前記組み合わせを生成し、生成した前記組み合わせのそれぞれについて前記第１尤度を算出し、算出した前記第１尤度が最大となる前記組み合わせを選択すること、
を特徴とする請求項１に記載の機械翻訳装置。
【請求項１０】
前記生成部は、選択された前記組み合わせ内の前記部分訳情報に含まれる前記翻訳結果を、前記翻訳結果の翻訳元の形態素の前記原言語文での語順に応じて結合することにより、前記目的言語文を生成すること、
を特徴とする請求項１に記載の機械翻訳装置。
【請求項１１】
入力部が、原言語による原言語文を入力する入力ステップと、
形態素解析部が、前記原語文を形態素解析し、前記原語文の形態素列を出力する形態素解析ステップと、
構文解析部が、前記原言語文の形態素列を構文解析し、前記原言語文の形態素列の構文構造を出力する構文解析ステップと、
抽出部が、前記構文構造に含まれる第１節点それぞれに対して、前記第１節点を最上位の節点とし、前記第１節点より下位のすべての節点を含む第１部分構造に対応する第１形態素列を、前記構文構造から抽出する第１抽出ステップと、
抽出部が、前記第１節点より下位の第２節点を最上位の節点とし、前記第２節点より下位のすべての節点を含む部分構造と、前記第１部分構造と、の差分を表す第２部分構造に対応する第２形態素列を、前記構文構造から抽出する第２抽出ステップと、
翻訳部が、前記第１形態素列および前記第２形態素列を、複数の翻訳方式のそれぞれで目的言語に翻訳し、翻訳の確からしさを表す翻訳スコアと翻訳結果とを対応づけた部分訳情報を生成する翻訳ステップと、
選択部が、前記部分訳情報の組み合わせのうち、前記組み合わせ内の前記部分訳情報それぞれに含まれる翻訳結果の翻訳元である前記第１形態素列または前記第２形態素列が重複せず、かつ、前記原言語文に含まれるすべての形態素が、前記組み合わせ内の前記部分訳情報に含まれる翻訳結果の翻訳元である前記第１形態素列または前記第２形態素列のいずれかと一致し、かつ、前記部分訳情報に含まれる前記翻訳スコアに基づいて算出される前記組み合わせの確からしさを表す第１尤度が最大となる前記組み合わせを選択する選択ステップと、
生成部が、選択された前記組み合わせ内の前記部分訳情報に含まれる前記翻訳結果を含む目的言語による目的言語文を前記原言語文の翻訳結果として生成する生成ステップと、
出力部が、前記目的言語文を出力する出力ステップと、
を備えたことを特徴とする機械翻訳方法。
【請求項１２】
コンピュータを、
原言語による原言語文を入力する入力部と、
前記原語文を形態素解析し、前記原語文の形態素列を出力する形態素解析部と、
前記原言語文の形態素列を構文解析し、前記原言語文の形態素列の構文構造を出力する構文解析部と、
前記構文構造に含まれる第１節点それぞれに対して、前記第１節点を最上位の節点とし、前記第１節点より下位のすべての節点を含む第１部分構造に対応する第１形態素列を、前記構文構造から抽出する第１抽出部と、
前記第１節点より下位の第２節点を最上位の節点とし、前記第２節点より下位のすべての節点を含む部分構造と、前記第１部分構造と、の差分を表す第２部分構造に対応する第２形態素列を、前記構文構造から抽出する第２抽出部と、
前記第１形態素列および前記第２形態素列を、複数の翻訳方式のそれぞれで目的言語に翻訳し、翻訳の確からしさを表す翻訳スコアと翻訳結果とを対応づけた部分訳情報を生成する翻訳部と、
前記部分訳情報の組み合わせのうち、前記組み合わせ内の前記部分訳情報それぞれに含まれる翻訳結果の翻訳元である前記第１形態素列または前記第２形態素列が重複せず、かつ、前記原言語文に含まれるすべての形態素が、前記組み合わせ内の前記部分訳情報に含まれる翻訳結果の翻訳元である前記第１形態素列または前記第２形態素列のいずれかと一致し、かつ、前記部分訳情報に含まれる前記翻訳スコアに基づいて算出される前記組み合わせの確からしさを表す第１尤度が最大となる前記組み合わせを選択する選択部と、
選択された前記組み合わせ内の前記部分訳情報に含まれる前記翻訳結果を含む目的言語による目的言語文を前記原言語文の翻訳結果として生成する生成部と、
前記目的言語文を出力する出力部と、
として機能させる機械翻訳プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力された原言語の文を目的言語の文に機械翻訳する装置および方法に関する。
【背景技術】
【０００２】
自然言語処理技術の進展に伴い、第一の言語（原言語）で記述された原言語文を入力し、所望の第二の言語（目的言語）に変換して出力する機械翻訳装置が開発されている。例えば、日本語で記述されたテキストなどを、英語や中国語など他言語に翻訳する機械翻訳システムが実用化されている。この機械翻訳装置が用いる翻訳方式として、これまで種々のものが提案されているが、未だにすべての文に対して適切な訳文を生成できるような方式は実現されていない。
【０００３】
機械翻訳では、形態素解析や構文解析（係り受け解析）などの自然言語処理技術が利用される。このため、高精度な機械翻訳装置を実現する方法の一つとして、これらの個々の技術の処理精度を向上することも重要である。例えば、特許文献１では、構文森に含まれる構文木を個々に評価することなく、一括して効率的に係り受け解析を施すことで、取り得る複数の解釈の内、最尤のものを局所解に陥ることなく選択することが可能となり、精度の高い翻訳処理ができる自然言語解析装置が提案されている。
【０００４】
また、高精度な翻訳を実現する方法の一例として、複数の翻訳方式を組み合わせて原言語文を翻訳する機械翻訳装置が提案されている。例えば、特許文献２では、入力された原文の表層パタンに基づいて入力文を部分列に分割し、部分列ごとに最も適切な翻訳方式を選択的に切り替えて動作させ、それら翻訳結果を統合することで、全体の翻訳結果を得る技術が提案されている。
【０００５】
【特許文献１】特開２００６−５３６７９号公報
【特許文献２】特開２００１−２２２５２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献２では、句や節などの表層パタンを単位として入力文を分割する一次元的な分割方法を使用するため、分割のパタンが制限されることや、翻訳に適さない単位で分割することにより、翻訳の質が十分改善されない場合があるという問題があった。
【０００７】
本発明は、上記に鑑みてなされたものであって、複数の翻訳方式を組み合わせて翻訳する場合の翻訳精度を向上させることができる装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、原言語による原言語文を入力する入力部と、前記原語文を形態素解析し、前記原語文の形態素列を出力する形態素解析部と、前記原言語文の形態素列を構文解析し、前記原言語文の形態素列の構文構造を出力する構文解析部と、前記構文構造に含まれる第１節点それぞれに対して、前記第１節点を最上位の節点とし、前記第１節点より下位のすべての節点を含む第１部分構造に対応する第１形態素列を、前記構文構造から抽出する第１抽出部と、前記第１節点より下位の第２節点を最上位の節点とし、前記第２節点より下位のすべての節点を含む部分構造と、前記第１部分構造と、の差分を表す第２部分構造に対応する第２形態素列を、前記構文構造から抽出する第２抽出部と、前記第１形態素列および前記第２形態素列を、複数の翻訳方式のそれぞれで目的言語に翻訳し、翻訳の確からしさを表す翻訳スコアと翻訳結果とを対応づけた部分訳情報を生成する翻訳部と、前記部分訳情報の組み合わせのうち、前記組み合わせ内の前記部分訳情報それぞれに含まれる翻訳結果の翻訳元である前記第１形態素列または前記第２形態素列が重複せず、かつ、前記原言語文に含まれるすべての形態素が、前記組み合わせ内の前記部分訳情報に含まれる翻訳結果の翻訳元である前記第１形態素列または前記第２形態素列のいずれかと一致し、かつ、前記部分訳情報に含まれる前記翻訳スコアに基づいて算出される前記組み合わせの確からしさを表す第１尤度が最大となる前記組み合わせを選択する選択部と、選択された前記組み合わせ内の前記部分訳情報に含まれる前記翻訳結果を含む目的言語による目的言語文を前記原言語文の翻訳結果として生成する生成部と、前記目的言語文を出力する出力部と、を備えたことを特徴とする。
【０００９】
また、本発明は、上記装置を実行することができる方法およびプログラムである。
【発明の効果】
【００１０】
本発明によれば、複数の翻訳方式を組み合わせて翻訳する場合の翻訳精度を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、この発明にかかる装置、方法およびプログラムの最良な実施の形態を詳細に説明する。なお、以下では、日本語と英語との間の翻訳を例に説明するが、翻訳処理対象の言語はこれら二言語に限られることなく、あらゆる言語の組み合わせを対象とすることができる。
【００１２】
本実施の形態にかかる機械翻訳装置は、入力された原言語文（以下、原言語入力文という）を構文解析し、構文解析の結果として得られた構文情報を利用することにより、翻訳に適した単位で原言語入力文を分割する。そして、分割で得られた文字列（以下、部分入力文字列という）を、複数の翻訳方式それぞれで翻訳し、翻訳の確からしさを表す尤度（翻訳スコア）が最大となる翻訳結果を統合することにより、原言語入力文を高精度に翻訳する。
【００１３】
なお、上記特許文献２では、複数の翻訳方式から適切な翻訳方式を切り替えて翻訳している。しかし、特許文献２の方法は、あらゆる原言語入力文を想定した上で、部分入力文字列の切り出し方法と、これを最良に訳出できる翻訳方式を事前に選定しておく必要がある。このため、この方法を利用した機械翻訳装置の開発には多大な労力を要する。さらに、いずれかの翻訳方式が更新された場合、すべての規則を見直す必要があるため、個々の翻訳方式の改善が機械翻訳装置全体の改善に反映されにくい。
【００１４】
これに対し、本実施の形態にかかる機械翻訳装置では、すべての翻訳方式で部分入力文字列を翻訳し、翻訳スコアが最大の翻訳方式による翻訳結果を統合して翻訳している。このため、切り出した部分入力文字列ごとの翻訳方式を事前に定める必要がない。これにより、複数の翻訳方式の能力を最大限に引き出し、かつ、個々の翻訳方式の性能改善が、全体の翻訳品質の改善に直接寄与することが可能となる。
【００１５】
図１は、本実施の形態にかかる機械翻訳装置１００の構成を示すブロック図である。図１に示すように、機械翻訳装置１００は、入力部１０１と、形態素解析部１０２と、辞書記憶部１２１と、規則記憶部１２２と、構文解析部１０３と、抽出部１０４と、翻訳部１１０と、部分訳記憶部１２３と、最尤構造選択部１０５と、生成部１０６と、出力部１０７と、を備えている。
【００１６】
入力部１０１は、ユーザが入力した原言語入力文を受付ける。原言語入力文の入力には、キーボード、ポインティングデバイス、手書き文字認識、ＯＣＲ、音声認識など、一般的に用いられるあらゆる入力方法を適用することができる。
【００１７】
形態素解析部１０２は、受け付けた原言語入力文を形態素解析し、解析結果として原言語入力文の形態素列を出力する。形態素解析部１０２による形態素解析処理では、接続コスト最小法、単語分割モデルを用いて動的計画法により分割確率を最大化する手法などの、従来から広く利用されているあらゆる形態素解析技術を適用できる。
【００１８】
図２は、形態素解析部１０２による解析結果の一例を示す図である。図２は、「私はサイズが大きいので気に入ったけどやめます」を意味する日本語の原言語入力文２０１に対する解析結果である形態素列２０２の例を表している。なお、形態素列２０２は、記号「・」によって形態素の区切りを表している。
【００１９】
図１に戻り、辞書記憶部１２１は、構文解析部１０３（後述）が構文解析処理を実行するときに参照する語彙辞書を記憶する。図３は、辞書記憶部１２１に記憶された語彙辞書のデータ構造の一例を示す図である。なお、図３は、図２の形態素列２０２内の各形態素に対する文法範疇の例を表している。
【００２０】
図３に示すように、語彙辞書は、語彙と、当該語彙の文法範疇とを対応づけて記憶している。例えば、「私」を意味する日本語の単語３０１は、名詞を表す文法範疇Ｎ（Noun）と対応づけられている。各語彙に対応する文法範疇には、Ｎ（Noun）の他に、ＣＭ（Case Marker（格助詞））、ＡＤＪ（Adjective（形容詞））、ＣＪＰ（Conjunctive Particle（接続助詞））、Ｖ（Verb（動詞））、およびＡＵＸ（Auxiliary Verb（助動詞））などが含まれる。
【００２１】
図１に戻り、規則記憶部１２２は、構文解析部１０３（後述）が構文解析処理を実行するときに参照する文法規則を記憶する。図４は、規則記憶部１２２に記憶された文法規則のデータ構造の一例を示す図である。
【００２２】
図４に示すように、規則記憶部１２２は、「（文法範疇）→（文法範疇１  文法範疇２）」の形式で表された文法規則を記憶している。この文法規則は、矢印の左側の文法範疇は、矢印の右側の文法範疇１および文法範疇２から構成されることを表している。
【００２３】
例えば、文法規則４０１は、文（文法範疇Ｓ（Sentence））は、名詞句（文法範疇ＮＰ（Noun Phrase））と動詞句（文法範疇ＶＰ（Verb Phrase））とからなることを示している。また、例えば、文法規則４０２は、文（Ｓ）は、さらに、従属句（文法範疇ＳＰ（Subordinate Phrase））と、動詞句（文法範疇ＶＰ）とからなることを示している。また、例えば、文法規則４０３は、従属句（文法範疇ＳＰ）は、さらに、形容詞句（文法範疇ＡＰ（Adjective Phrase））と、接続助詞（文法範疇ＣＪＰ）とからなることを示している。
【００２４】
なお、辞書記憶部１２１および規則記憶部１２２は、ＨＤＤ（Hard Disk Drive）、光ディスク、メモリカード、ＲＡＭ（Random Access Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００２５】
図１に戻り、構文解析部１０３は、形態素解析部１０２が出力した形態素列を受け取り、受け取った形態素列に対して構文解析処理を実行し、原言語入力文の構文構造を表すグラフを出力する。構文解析部１０３は、辞書記憶部１２１に記憶された語彙辞書や、規則記憶部１２２に記憶された文方規則を参照して構文解析処理を実行する。構文解析部１０３による構文解析処理では、チャート法、一般化ＬＲ法などによる構文解析方法などの従来から用いられているあらゆる方法を適用できる。
【００２６】
構文解析部１０３は、形態素列の統語的・意味的な関係を表す少なくとも１つの構文構造を表すグラフを出力する。構文木として現れる構造は、形態素列が持ち得る各形態素間の関係を表す一つの解釈に相当する。そのため、形態素列、および、この形態素列を解析するための文法規則によっては、一つの原言語入力文に対して複数の解釈、すなわち、複数の構文木を想定することができる場合がある。
【００２７】
そこで本実施の形態では、このような構文的・意味的曖昧性に対する頑健さを提供するために、一般化ＬＲ法による構文解析を例として説明する。一般化ＬＲ法は、文脈自由文法を参照しながら、入力文が同文法的に解釈可能なすべての構文候補を同時並行的に解析し、入力文の構文情報を圧縮共有構文森（packed shared forest、以下、単純に構文森と呼ぶ）構造で出力する解析手法である。
【００２８】
図５は、構文解析部１０３が出力する構文森の一例を示す図である。図５は、図２の形態素列２０２を構文解析した結果として得られる構文森の例を示している。図５に示すように、構文森構造を構成するノード（節点）のうち、葉となるノード（節点）は、形態素列中の各形態素に対応している。同図は、このような形態素に対して、文法規則に基づいて構成された複数の構文木を圧縮共有して表現した構文森構造を表している。
【００２９】
同図に示すとおり、構文森を構成する各節点は、図４に示した文法規則によって導かれた文法範疇が対応付けられている。また、説明を容易にする目的で、各節点には、節点を区別するための識別子が付与されている。以降の説明では、各節点を区別して呼称する際には、節点Ｓ２４のように、節点の持つ文法範疇と識別子とを対にして呼称する。
【００３０】
ところで、先に説明したとおり、構文森は、一つの原言語入力文が文法規則に照らして取り得る、複数の構文木を効率よく保持するためのデータ構造である。例えば、図５に示した構文森は、図６〜図１０に示す５つの構文木を内包している。
構文森では、複数の構文木が同じ部分構造（部分木）を持つならば、これを共有（部分木共有）する。例えば、図５の節点ＡＰ１４は、同図の節点ＡＰ１５と節点ＳＰ１６とにより共有されている。これは、図６の構文木と図８の構文木が、共に節点ＡＰ１４を根とする部分構造を持つことに起因する。
【００３１】
さらに構文森では、同じ形態素列に対する２つ以上の部分木の根が、それぞれ同じ文法範疇に対応づけられている場合、それらの部分木の根を一つに併合する（局所曖昧性圧縮する）ことで、データの保持効率をさらに高めている。例えば、図５の節点ＳＰ２１は、節点ＮＰ１２と節点ＳＰ２０とを子として持つ節点ＳＰ２１ａと、節点ＳＰ１７と節点ＳＰ１９とを子として持つ節点ＳＰ２１ｂの２つを併合した構造となっている。これは、図９の節点ＳＰ２１と図１０の節点ＳＰ２１が、それぞれ同一の形態素列（「私・は・サイズ・が・大きい・ので」）に対応し、かつ、文法範疇が共にＳＰであることに起因する。
【００３２】
構文解析部１０３は、さらに、構文森が含む意味的な解釈曖昧性を解決し、構造の確からしさを表す尤度（優先度）がより高い構造のみを残した構文森を最終的に出力する。
【００３３】
例えば、図５の構文森で、その構成要素の１つである図８に示す構文木は、「私はサイズが大きい」を意味する解釈、すなわち「わたし」が「大きい」を修飾する意味構造を含む。例えば、この解釈が生起する頻度が、「わたし」が「気に入っ（た）」を修飾する解釈が生起する頻度や、「わたし」が「やめ（ます）」を修飾する解釈が生起する頻度に比べて小さい場合、構文解析部１０３は、この解釈は相対的に妥当ではないと判断することができる。その結果、構文解析部１０３は、図８に示す構文木を棄却し、それ以外の構文木のみを残し、図１１のような解釈の曖昧性を減じた構文森を出力することができる。
【００３４】
このように、構文森が内包する構文木の意味的な優先度を判定し、解釈の曖昧性を解決する手法としては、文法規則の適用確率を大規模なコーパスから学習し、ある一つの構文木が形成される時の確率を、文法規則の適用確率の積として与えるような確率文脈自由文法を用いる方法や、特許文献１に記載の方法などの従来から用いられているあらゆる方法を使用できる。
【００３５】
このように、構文解析部１０３は、文法規則に則って一般化ＬＲ法により解析された構文構造のうち、意味的な観点から解釈曖昧性を解消している。この結果、すべての解釈曖昧性を解決できれば、構文解析部１０３は、単一の解釈を表す構文木を出力する。他方、解決不能な曖昧性が含まれる場合には、構文解析部１０３は、複数の構文木を内包する構文森を出力する。
【００３６】
なお、構文解析部１０３が意味的な解釈曖昧性を解消せず、文法規則から得られたすべての構文木を含む構文森を出力するように構成してもよい。
【００３７】
図１に戻り、抽出部１０４は、構文森を構成する各節点に対し、当該節点を最上位の節点とする部分木に対応する形態素を抽出することにより原言語入力文を分割した分割情報を生成する。具体的には、抽出部１０４は、構文解析部１０３が出力した構文森を構成する各節点を注目する節点（第１節点）とし、第１節点がその葉方向の下位構造（部分木）として支配する領域（第１部分構造）を切り出し、切り出した第１部分構造に対応する原言語入力文の範囲を、第１部分構造に対応する部分入力文字列を表す第１形態素列として同定する。そして、抽出部１０４は、第１節点と、第１節点から同定した第１形態素列とを対応づけた分割情報を生成する。以降、このようにして生成した分割情報を基本部分情報と呼ぶことにする。
【００３８】
また、抽出部１０４は、構文解析部１０３が出力した構文森を構成する２つの節点の組み合わせのうち、一方の節点が支配する領域が他方の構文構造を完全に内包する組み合わせに対して、２つの節点の支配する領域の差分を切り出し、切り出した領域に対応する原言語入力文の範囲（形態素）を部分入力文字列として同定する。すなわち、抽出部１０４は、上記第１節点のそれぞれに対して、第１節点より下位の第２節点がその葉方向の下位構造（部分木）として支配する領域を切り出し、切り出した領域と、第１節点が支配する第１部分構造との差分を表す第２部分構造に対応する原言語入力文の範囲を、第２部分構造に対応する部分入力文字列を表す第２形態素列として同定する。
【００３９】
以下では、他方の構造を内包する構造を支配する節点を親節点、内包される構造を支配する節点を子節点と呼ぶ。抽出部１０４は、親節点と子節点、および切り出される第２部分構造と対応する原言語入力文の範囲（第２形態素列）とを対応づけた分割情報を生成する。以降、このようにして生成した分割情報を差分部分情報と呼ぶことにする。
【００４０】
なお、基本部分情報を抽出する機能および差分部分情報を抽出する機能をそれぞれ別の構成部（例えば第１抽出部および第２抽出部）で実行するように構成してもよい。
【００４１】
図１２は、抽出部１０４が出力する分割情報（基本部分情報および差分部分情報）のデータ構造の一例を示す図である。図１２の上部に示すように、基本部分情報は、「（節点の文法範疇と識別子）、（対応する部分入力文字列）」の形式で表される。
【００４２】
例えば、図５に示すように、節点ＡＰ１５は、節点ＮＰ１２、節点Ｎ１、節点ＣＭ２、節点ＡＰ１４、節点ＮＰ１３、節点Ｎ３、節点ＣＭ４、および節点ＡＤＪ５からなる下位構造を支配する節点である。そして、節点ＡＰ１５は、原言語入力文のうち、「私はサイズが大きい」を意味する文字列に対応する。したがって、抽出部１０４は、節点ＡＰ１５に対して、図１２の基本部分情報１２０１（ＡＰ１５、私はサイズが大きい）を生成する。
【００４３】
また、図１２の下部に示すように、差分部分情報は、「（親節点の文法範疇と識別子）、（子節点の文法範疇と識別子）、（対応する部分入力文字列）」の形式で表される。
【００４４】
例えば、図５の節点Ｓ２５ａと節点ＳＰ１６との組み合わせに対して差分部分情報を生成する場合を考える。節点Ｓ２５ａは、節点ＮＰ１２、節点Ｎ１、節点ＣＭ２、節点ＶＰ２４（節点ＶＰ２４ａおよび節点ＶＰ２４ｂの局所曖昧性圧縮節点）、節点ＳＰ１６、節点ＣＪＰ６、節点ＡＰ１４、節点ＮＰ１３、節点Ｎ３、節点ＣＭ４、節点ＡＤＪ５、節点ＳＰ２０、節点ＳＰ１９、節点ＶＰ１８、節点Ｖ７、節点ＡＵＸ８、節点ＣＪＰ９、節点ＶＰ２３、節点ＶＰ２２、節点Ｖ１０、および節点ＡＵＸ１１からなる下位構造、すなわち、図５の領域５０１を支配する節点である。
【００４５】
同様に、節点ＳＰ１６は、節点ＣＪＰ６、節点ＡＰ１４、節点ＮＰ１３、節点Ｎ３、節点ＣＭ４、および節点ＡＤＪ５からなる下位構造、すなわち、図５の領域５０２を支配する節点である。
【００４６】
ここで、節点Ｓ２５ａは、節点ＳＰ１６が支配する領域を完全に内包している。したがって、節点Ｓ２５ａが親節点となり、節点ＳＰ１６が子節点となる。
【００４７】
そこで、抽出部１０４は、節点Ｓ２５ａの支配領域と節点ＳＰ１６の支配領域との差分であり、節点ＮＰ１２、節点Ｎ１、節点ＣＭ２、節点ＶＰ２４（節点ＶＰ２４ａおよび節点ＶＰ２４ｂの局所曖昧性圧縮節点）、節点ＳＰ２０、節点ＳＰ１９、節点ＶＰ１８、節点Ｖ７、節点ＡＵＸ８、節点ＣＪＰ９、節点ＶＰ２３、節点ＶＰ２２、節点Ｖ１０、節点ＡＵＸ１１から構成される図５の領域５０３を切り出す。そして、抽出部１０４は、領域５０３に対応する入力文の範囲（「私は気に入ったけどやめます」）を同定する。
【００４８】
この結果、抽出部１０４は、節点Ｓ２５ａと節点ＳＰ１６との組み合わせに対して、図１２の差分部分情報１２０２（Ｓ２５ａ、ＳＰ１６、私は気に入ったけどやめます）を生成する。
【００４９】
このようにして、抽出部１０４は、基本部分情報および差分部分情報という２種類の分割情報を、それぞれすべての節点およびすべての２節点の組み合わせに対して生成する。そして、抽出部１０４は、生成した分割情報の集合である分割情報集合を出力する。
【００５０】
なお、すべての節点またはすべての２節点の組み合わせに対して分割情報を生成する代わりに、切り出し対象となる節点が取り得る文法範疇を制限するように構成してもよい。例えば、図４に示した名詞句や動詞句などのように句に相当する領域のみを切り出すため、切り出し対象となる節点が取り得る文法範疇をＳ（文）、従属句（ＳＰ）、ＶＰ（動詞句）、ＮＰ（名詞句）、ＡＰ（形容詞句）に限定するように構成してもよい。これにより、原言語入力文の分割粒度を変えることができる。
【００５１】
また、抽出部１０４によって生成される分割情報に含まれる部分入力文字列の生起確率をコーパスから計算し、所定の確率値より小さい部分入力文字列を含む分割情報を削除することにより、不自然な分割を抑制するように構成してもよい。また、構文森が保持する構文木のうち、優先度の高いものだけに限定して構造分割の処理対象にすることにより、処理量を削減するように構成してもよい。
【００５２】
図１に戻り、翻訳部１１０は、与えられた原言語の文字列を、所定の複数の翻訳方式のそれぞれで目的言語へ翻訳し、翻訳結果と翻訳スコアと含む部分訳情報を生成する。図１３は、翻訳部１１０の詳細な構成の一例を示すブロック図である。図１３に示すように、翻訳部１１０は、複数の翻訳方式それぞれ実現する翻訳エンジン１１１〜１１ｎを備えている。
【００５３】
翻訳エンジン１１１〜１１ｎは、例えば、規則ベース方式、用例ベース方式、および統計ベース方式などに代表される一般的な機械翻訳方式のうち、いずれか事前に定められた方式により与えられた文字列を翻訳する。翻訳部１１０は、入力された文字列を、各翻訳エンジン１１１〜１１ｎに配布する。そして、各翻訳エンジン１１１〜１１ｎが、文字列を翻訳した翻訳文字列と、計算した翻訳スコアとを出力する。
【００５４】
例えば、用例ベースの翻訳方式であれば、入力文字列と用例との類似度を翻訳スコアとすることができる。また、統計ベースの翻訳方式であれば、言語モデルに基づく翻訳の生成確率を翻訳スコアとすることができる。また、規則ベースの翻訳方式であれば、構文の尤度や、用いられた規則の優先度などに基づく値を翻訳スコアとすることができる。このように、翻訳スコアは、各翻訳方式に応じた所定の算出方法で計算した値を利用することができる。なお、翻訳方式ごとに異なる方法で翻訳スコアを算出するのではなく、例えば各翻訳方式で出力された翻訳文字列の生起確率を共通の言語モデル（コーパス）に基づいて計算し、この生起確率を翻訳スコアとして用いるように構成してもよい。あるいは、各翻訳方式で出力された翻訳文字列と原言語入力文の組について、予め対訳コーパスなどから学習した翻訳モデルに基づいて、その翻訳確率を計算し、翻訳スコアとして用いるように構成しても良い。
【００５５】
翻訳部１１０は、抽出部１０４によって生成された分割情報と、分割情報に含まれる部分入力文字列を翻訳した結果である部分訳文と、部分訳文と共に出力される翻訳スコアと、元となった分割情報に含まれる節点の情報と、翻訳に用いた翻訳方式を識別する識別子とを対応付けた部分訳情報を生成し、部分訳記憶部１２３に保存する。
【００５６】
なお、分割情報には基本部分情報と差分部分情報の２種類が存在するため、翻訳部１１０は、分割情報の種類に対応する２種類の部分訳情報を生成する。
【００５７】
まず、基本部分情報は、部分構造を切り出すときに着目した節点と、切り出した部分構造に対応する部分入力文字列とを含んでいる。よって、翻訳部１１０は、節点と、部分入力文字列と、部分入力文字列を翻訳部１１０が翻訳した結果である部分訳文と、部分訳文と共に出力される翻訳スコアと、が対応付けられた部分訳情報を生成する。以下では、このようにして基本部分情報から生成される部分訳情報を、基本部分訳情報と呼ぶ。
【００５８】
一方、差分部分情報は、部分構造を切り出す時に着目した親節点および子節点と、切り出した部分構造に対応する部分入力文字列とを含んでいる。よって、翻訳部１１０は、親節点と、子節点と、部分入力文字列と、部分入力文字列を翻訳部１１０が翻訳した結果である部分訳文と、部分訳文と共に出力される翻訳スコアと、が対応付けられた部分訳情報を生成する。以下では、このようにして差分部分情報から生成される部分訳情報を差分部分訳情報と呼ぶ。
【００５９】
図１に戻り、部分訳記憶部１２３は翻訳部１１０によって生成された部分訳情報を記憶する。以下に、部分訳情報の詳細についてさらに説明する。
【００６０】
図１４は、部分訳記憶部１２３に記憶される部分訳情報のデータ構造の一例を示す図である。図１４に示すように、部分訳情報は、基本部分情報に含まれる節点または差分部分情報に含まれる親節点のいずれかを表す節点（親）と、差分部分情報に含まれる子節点を表す節点（子）と、基本部分情報または差分部分情報に含まれる部分入力文字列と、部分訳文と、翻訳スコアと、翻訳方式を識別する識別子とを含んでいる。
【００６１】
基本部分訳情報の場合、節点（子）の欄は常に空欄となる。部分訳文は、切り出された部分入力文字列を訳出した結果を表す。識別子は、説明の便宜上、異なる翻訳方式から得られた訳出結果であることを明示するための補助的な要素であり、同識別子の有無が、本実施の形態の機械翻訳装置１００の動作に影響することはない。
【００６２】
同図の基本部分訳情報１４０１は、基本部分訳情報の一例を示している。基本部分訳情報１４０１は、節点Ｓ２５ａに着目して切り出された基本部分情報を翻訳方式１（例えば、翻訳エンジン１１１）により訳出した結果、部分訳文として「Since I am large size large, although it is pleased, I stop.」が、翻訳スコア０．６で得られたことを示している。
【００６３】
同図の基本部分訳情報１４０２も基本部分訳情報の一例を示している。基本部分訳情報１４０２は、基本部分訳情報１４０１と同様に、節点Ｓ２５ａに着目して切り出された基本部分情報に対する翻訳処理結果を表しているが、翻訳方式２（例えば、翻訳エンジン１１２）では、部分訳文が得られず、翻訳スコアが０であったことを示している。これは、例えば翻訳方式２が用例ベース方式であり、類似する用例が検索されなかった場合などが該当する。
【００６４】
同図の差分部分訳情報１４０５は、差分部分訳情報の一例を示している。差分部分訳情報１４０５は、節点Ｓ２５ａに着目し、節点ＳＰ１６以下の構造を除いて切り出された差分部分情報を翻訳方式２（例えば、翻訳エンジン１１２）により訳出した結果、部分訳文として「Although I love it, I give it up.」が、翻訳スコア０．５で得られたことを示している。
【００６５】
図１に戻り、最尤構造選択部１０５は、部分訳記憶部１２３に保持されている部分訳情報のすべての組合せのうち、部分訳情報に含まれる節点が同一の構文木上に存在し、かつ、部分訳情報に含まれる部分入力文字列が、不足も重複もすることなく原言語入力文全体を構成することが可能であり、かつ、組み合わせの確からしさを表す尤度、すなわち、組み合わせた部分訳情報によって生成される文全体の翻訳スコアを表す総合翻訳スコアが最大となる組み合わせを選択する。そして、最尤構造選択部１０５は、選択した組み合わせに含まれる部分訳構造からなる最尤部分訳情報集合を出力する。
【００６６】
最尤構造選択部１０５は、例えば、部分訳情報の組み合わせのうち、部分訳情報に含まれる節点が同一の構文木上に存在し、かつ、部分訳情報に含まれる部分入力文字列が過不足なく原言語入力文全体を構成できる組み合わせをすべて生成し、生成した組み合わせごとに総合翻訳スコアを算出し、算出した総合翻訳スコアが最大の組み合わせを選択する。なお、動的計画法などを用いることにより、最尤構造選択部１０５がすべての組み合わせを生成せずに最尤部分訳情報集合を選択するように構成することもできる。
【００６７】
最尤構造選択部１０５は、総合翻訳スコアとして、部分訳情報に含まれる翻訳スコアの平均値を用いる。総合翻訳スコアの算出方法はこれに限られず、部分木の尤度を考慮して算出する方法などのあらゆる方法を適用できる。例えば、各部分訳情報の生成元となった分割情報に対応する構文森内の部分木の尤度として、確率文脈自由文法に基づく構文構造の生成確率を計算し、この生成確率を掛け合わせた翻訳スコアの平均値を総合翻訳スコアとするように構成してもよい。
【００６８】
ところで、図１４の差分部分訳情報１４０６は、節点Ｓ２５ａに注目した際に得られた基本部分情報から得られた部分訳情報である。一方、節点Ｓ２５ａは、原言語入力文全体を支配する節点である。したがって、この節点に対応する文字列を訳出することは、原言語入力文全体を訳出することを意味する。すなわち、差分部分訳情報１４０６の部分訳文は、原言語入力文全体を翻訳方式１（例えば、翻訳エンジン１１１）で訳出した翻訳結果を表している。
【００６９】
このように、原言語入力文全体を支配する節点に注目して得られる基本部分情報を、各翻訳方式で訳出した部分訳文を含む部分訳情報は、各翻訳方式が原言語入力文全体に対して与えることができる最善の翻訳結果と、その翻訳スコア（全体翻訳スコア）とを保持していると言える。したがって、翻訳部１１０に含まれるすべての翻訳エンジンによる翻訳結果の組み合わせのうち、対応する翻訳スコアの平均値が、この全体翻訳スコアより大きい組み合わせを探索することができれば、原言語入力文全体の翻訳の質を高めた翻訳結果を得ることができる。
【００７０】
図１に戻り、生成部１０６は、最尤構造選択部１０５が出力した最尤部分訳情報集合と、構文解析部１０３が出力した構文森とに従って、原言語入力文全体の翻訳結果である目的言語文を生成する。
【００７１】
最尤部分訳情報集合に含まれる部分訳情報が差分部分訳構造であった場合、生成部１０６は、部分訳情報に含まれる親節点がその葉方向に支配する領域のうち、部分訳情報に含まれる子節点がその葉方向に支配する領域を除いた領域に対応する形態素列を、部分訳情報に含まれる部分訳文で置換する。さらに、生成部１０６は、置換した形態素列のみを支配領域とする節点を構文森から削除し、部分訳文を部分訳情報に含まれる親節点が直接支配する領域とする。なお、親節点が既に他の節点を支配している場合は、他の節点に対応する形態素と、部分訳文とが適切な語順になるように並び替える必要がある。そこで、生成部１０６は、削除した形態素列のうち原言語入力文の末尾により近い形態素を基準として、他の節点が支配する領域に対応する形態素列の順に従って、親節点が直接支配する節点を並び替える。
【００７２】
また、最尤部分訳情報集合に含まれる部分訳情報が基本部分訳構造であった場合、生成部１０６は、部分訳情報に含まれる節点がその葉方向に支配する領域に対応する形態素列を部分訳情報に含まれる部分訳文で置換する。さらに、生成部１０６は、置換した形態素列を支配領域に含み、かつ、部分訳情報に含まれる節点を支配領域に含まない節点を構文森から削除し、部分訳文を部分訳情報に含まれる節点が直接支配する領域とする。
【００７３】
このように、生成部１０６は、部分訳情報を構文森に埋め込むことにより、原言語入力文の部分文字列を適切な翻訳方式で訳出した結果を、統語的・意味的な関係を保持した構文木の形式で出力する。そして、生成部１０６は、出力した構文木の葉節点を左から右に連結することにより、目的言語文を生成する。
【００７４】
なお、生成部１０６が、構文木の形式で出力した翻訳結果に対して、例えば、規則ベースの翻訳方式を再度適用することにより、出力する目的言語文を調整するなど、さらに高次の訳文生成手法を適用するように構成してもよい。
【００７５】
出力部１０７は、生成部１０６によって生成された目的言語文を出力する。出力部１０７による出力方法は、例えば、ディスプレイ装置による画像出力、プリンタ装置による印字出力、音声合成装置による合成音声出力など、従来から用いられているあらゆる方式により実現できる。また、このような方式を、必要に応じて切り替えるように構成してもよいし、複数の方式を併用するように構成してもよい。
【００７６】
次に、このように構成された本実施の形態にかかる機械翻訳装置１００による機械翻訳処理について図１５を用いて説明する。図１５は、本実施の形態における機械翻訳処理の全体の流れを示すフローチャートである。
【００７７】
まず、入力部１０１が、原言語入力文Ｓを受け付ける（ステップＳ１５０１）。次に、形態素解析部１０２が、原言語入力文Ｓを形態素解析し、形態素列Ｍを生成する（ステップＳ１５０２）。次に、構文解析部１０３が、形態素列Ｍを構文解析し、構文森Ｆを生成する（ステップＳ１５０３）。
【００７８】
次に、抽出部１０４が、構文森Ｆから基本部分情報を生成し、分割情報集合Ｄに追加する（ステップＳ１５０４）。さらに、抽出部１０４が、構文森Ｆから差分部分情報を生成し、分割情報集合Ｄに追加する（ステップＳ１５０５）。
【００７９】
次に、翻訳部１１０が、分割情報集合Ｄ内の各部分情報に対応する部分文字列を、翻訳部１１０内のすべての翻訳エンジン１１１〜１１ｎで翻訳し、翻訳結果を含む部分訳情報を生成して部分訳記憶部１２３に保存する（ステップＳ１５０６）。
【００８０】
次に、最尤構造選択部１０５が、保存された部分訳情報の組み合わせのうち、部分訳情報に含まれる節点が同一の構文木上に存在し、かつ、部分訳情報に含まれる部分入力文字列が、過不足なく原言語入力文全体を構成し、かつ、総合翻訳スコアが最大となる組み合わせを最尤部分訳情報集合Ｃとして選択する（ステップＳ１５０７）。
【００８１】
次に、生成部１０６が、選択された最尤部分訳情報集合Ｃから目的言語文Ｔを生成する統合翻訳処理を実行する（ステップＳ１５０８）。統合翻訳処理の詳細については後述する。次に、出力部１０７が、生成された目的言語文Ｔを出力し（ステップＳ１５０９）、機械翻訳処理を終了する。
【００８２】
次に、ステップＳ１５０８の統合翻訳処理の詳細について図１６〜図１８を用いて説明する。図１６は、本実施の形態における統合翻訳処理の全体の流れを示すフローチャートである。
【００８３】
まず、生成部１０６は、最尤部分訳情報集合Ｃに属する部分訳情報が持つ、全ての節点を持つ構文木を構文森Ｆから抜き出して構文木Ｓｔとする（ステップＳ１６０１）。ここで、抜き出される構文木Ｓｔは最尤部分訳情報集合Ｃの性質上、原言語入力文全体の解釈を表す、必ず１つの構文木に定まる。次に、最尤部分訳情報集合Ｃから、未処理の部分訳情報ｐを取得（ステップＳ１６０２）し、生成部１０６は、部分訳情報ｐが基本部分訳情報か否かを判断する（ステップＳ１６０３）。部分訳情報ｐが基本部分訳情報の場合（ステップＳ１６０３：ＹＥＳ）、生成部１０６は、基本部分訳情報を構文木Ｓｔに適用する基本部分訳適用処理を実行する（ステップＳ１６０４）。基本部分訳適用処理の詳細については後述する。
【００８４】
部分訳情報ｐが基本部分訳情報でない場合、すなわち、部分訳情報ｐが差分部分訳情報の場合（ステップＳ１６０３：ＮＯ）、生成部１０６は、差分部分訳情報を構文木Ｓｔに適用する差分部分訳適用処理を実行する（ステップＳ１６０５）。差分部分訳適用処理の詳細については後述する。
【００８５】
次に、生成部１０６は、最尤部分訳情報集合Ｃ内のすべての部分訳情報を処理したか否かを判断し（ステップＳ１６０６）、処理していない場合は（ステップＳ１６０６：ＮＯ）、次の未処理の部分訳情報ｐを取得して処理を繰り返す（ステップＳ１６０２）。
【００８６】
すべての部分訳情報を処理した場合は（ステップＳ１６０６：ＹＥＳ）、生成部１０６は、最終的に得られた構文木Ｓｔの葉に対応する形態素を連結した目的言語文Ｔを生成し（ステップＳ１６０７）、統合翻訳処理を終了する。
【００８７】
次に、ステップＳ１６０４の基本部分訳適用処理の詳細について図１７を用いて説明する。図１７は、本実施の形態における基本部分訳適用処理の全体の流れを示すフローチャートである。
【００８８】
まず、生成部１０６は、部分訳情報ｐに含まれる節点ｎを取得する（ステップＳ１７０１）。具体的には、生成部１０６は、部分訳情報ｐの節点（親）欄から節点ｎを取得する。次に、生成部１０６は、節点ｎが支配する領域に対応する形態素を、部分訳情報ｐに含まれる部分訳文ｔで置換する（ステップＳ１７０２）。次に、生成部１０６は、節点ｎが支配する領域の節点を構文木Ｓｔから削除する（ステップＳ１７０３）。次に、生成部１０６は、節点ｎが支配する領域として部分訳文ｔを追加する（ステップＳ１７０４）。次に、生成部１０６は、節点ｎを支配領域内に含まない節点を構文木Ｓｔから削除し（ステップＳ１７０５）、基本部分訳適用処理を終了する。
【００８９】
次に、ステップＳ１６０５の差分部分訳適用処理の詳細について図１８を用いて説明する。図１８は、本実施の形態における差分部分訳適用処理の全体の流れを示すフローチャートである。
【００９０】
まず、生成部１０６は、部分訳情報ｐに含まれる親節点ｎｐと子節点ｎｃとを取得する（ステップＳ１８０１）。具体的には、生成部１０６は、部分訳情報ｐの節点（親）欄から親節点ｎｐを取得し、節点（子）欄から節点ｎｃを取得する。次に、生成部１０６は、親節点ｎｐと子節点ｎｃの支配領域の差分に対応する形態素を、部分訳情報ｐに含まれる部分訳文ｔで置換する（ステップＳ１８０２）。次に、生成部１０６は、置換した形態素のみを支配領域とする節点を構文木Ｓｔから削除する（ステップＳ１８０３）。次に、生成部１０６は、親節点ｎｐが支配する領域として部分訳文ｔを追加する（ステップＳ１８０４）。次に、生成部１０６は、置換した形態素のうち最も右の形態素と、他の形態素との位置関係に応じて、親節点ｎｐが直接支配する節点を並び替え（ステップＳ１８０５）、差分部分訳適用処理を終了する。
【００９１】
次に、本実施の形態の機械翻訳処理の具体例について図１９〜図２１を用いて説明する。図１９〜図２１は、機械翻訳処理の過程で生成される構文森の一例を示す図である。なお、以下では、翻訳部１１０が有する翻訳方式は２種類であり、それぞれの翻訳方式の識別子が「１」および「２」であるものとする。
【００９２】
まず、図２の日本語の原言語入力文２０１（「私はサイズが大きいので気に入ったけどやめます」）が入力されたとする（ステップＳ１５０１）。形態素解析部１０２は、入力された原言語入力文２０１を形態素解析し、例えば、図２の形態素列２０２を形態素列Ｍとして得る（ステップＳ１５０２）。
【００９３】
構文解析部１０３は、形態素列Ｍを入力として、図３に示すような語意辞書と、図４に示すような文法規則に基づいて一般化ＬＲ解析を実行し、図５に示すような構文森を生成する。なお、ここでは、構文解析部１０３がさらに意味的な解釈曖昧性を解決し、より優先度の高い構造のみを残した図１１に示す構文森Ｆを出力したものとする（ステップＳ１５０３）。
【００９４】
抽出部１０４は、この構文森Ｆから、基本部分情報および差分部分情報を抽出し、例えば、図１２に示す分割情報Ｄを出力する（ステップＳ１５０４、ステップＳ１５０５）。次に、翻訳部１１０が、分割情報集合Ｄに含まれるすべての分割情報に含まれる部分入力文字列をすべての翻訳方式で訳出し、訳出結果および翻訳スコアを、翻訳元の分割情報と組み合わせた部分訳情報を順次生成し、図１４に示すような部分訳情報を部分訳記憶部１２３に保存する（ステップＳ１５０６）。
【００９５】
ここで、最尤構造選択部１０５が、図１４の基本部分訳情報１４０３、基本部分訳情報１４０４、および差分部分訳情報１４０６の組合せを、最尤部分訳情報集合Ｃとして選択したとする（ステップＳ１５０７）。
【００９６】
この場合、最尤部分訳情報集合Ｃに属する部分訳情報の翻訳スコアの平均値は、（０．８＋０．４＋０．９）／３＝０．７である。この平均値は、原言語入力文全体を翻訳方式１で訳したことを示す基本部分訳情報１４０１の翻訳スコア０．６、および、原言語入力文全体を翻訳方式２で訳したことを示す基本部分訳情報１４０２の翻訳スコア０のいずれよりも大きい。これは、本実施の形態の方法によれば、複数の翻訳方式のいずれかが単独で訳出する手法や、翻訳スコアの高い翻訳方式の翻訳結果を選択して翻訳する手法に比べて、より高精度な翻訳結果が得られることを示している。
【００９７】
次に、生成部１０６が、構文森Ｆと、最尤部分訳情報集合Ｃとから、最終的な目的言語文を生成するために統合翻訳処理を実行する（ステップＳ１５０８）。
【００９８】
まず、生成部１０６は、最尤部分訳情報集合Ｃに属する部分訳情報に含まれる全ての節点を持つ構文木Ｓｔを構文森Ｆから抜き出す（ステップＳ１６０１）。この場合の構文木Ｓｔは、図１１の構文森Ｆのうち、節点Ｓ２５ａが支配する構文木に相当する。次に、生成部１０６は、最尤部分訳情報集合Ｃの未処理の部分訳情報、すなわち、図１４の基本部分訳情報１４０３、基本部分訳情報１４０４、および差分部分訳情報１４０６から、例えば、差分部分訳情報１４０６を部分訳情報ｐとして取得する（ステップＳ１６０２）。
【００９９】
この部分訳情報ｐは基本部分訳情報でないため（ステップＳ１６０３：ＮＯ）、生成部１０６は、差分部分訳適用処理を実行する（ステップＳ１６０５）。
【０１００】
差分部分訳適用処理では、生成部１０６は、部分訳情報ｐ、すなわち、差分部分訳情報１４０６に含まれる親節点Ｓ２５ａを親節点ｎｐとして取得し、子節点ＳＰ２０を子節点ｎｃとして取得する（ステップＳ１８０１）。
【０１０１】
親節点ｎｐと子節点ｎｃの支配領域の差分に対応する形態素列とは、図１２の差分部分情報１２０３に含まれる部分入力文字列（「わたしはやめます」）に対応する形態素列に他ならない。このため、、図１１の節点Ｎ１、節点ＣＭ２、節点Ｖ１０、および節点ＡＵＸ１１に対応する形態素を含む形態素列（「わたし・は・やめ・ます」）が、部分訳情報ｐに含まれる部分訳文である「I just can’t buy it」と置換される（ステップＳ１８０２）。
【０１０２】
次に、生成部１０６は、置換された形態素列（「わたし・は・やめ・ます」）に注目して、これら形態素のみを支配する節点を構文木Ｓｔから探す。図１１の構文森Ｆに含まれる構文木Ｓｔで、この条件を満たす節点は、節点Ｎ１、節点ＣＭ２、節点ＮＰ１２、節点Ｖ１０、節点ＡＵＸ１１、節点ＶＰ２２であるため、生成部１０６は、これらの節点を構文木Ｓｔから削除する（ステップＳ１８０３）。さらに、生成部１０６は、親節点ｎｐが支配する領域として部分訳文ｔを追加する（ステップＳ１８０４）。以上の処理を実行した後の構文木Ｓｔは図１９のようになる。
【０１０３】
ところで、親節点ｎｐは既に節点ＶＰ２４をその直接の支配節点として保持しており、この節点ＶＰ２４が支配する領域で最も右に存在する形態素は節点ＣＪＰ９に対応する形態素（「けど」）である。また、置換された形態素列で最も右に存在する形態素は節点ＡＵＸ１１に対応する形態素（「ます」）である。この形態素は、原言語入力文の入力順では、節点ＣＪＰ９に対応する形態素（「けど」）より後方に存在するため、ステップＳ１８０４で追加される支配領域は、節点ＶＰ２４より後方にソートされる（ステップＳ１８０５）。したがって、ここでは、構文木Ｓｔは図１９のままで変化しない。
【０１０４】
以上で差分部分訳適用処理が終了するため、生成部１０６は、ステップＳ１６０６を実行する。最尤部分訳情報集合Ｃには、未処理の部分訳情報として図１４の基本部分訳情報１４０３および基本部分訳情報１４０４が存在するため、生成部１０６は、例えば次に処理する部分訳情報ｐとして、基本部分訳情報１４０４を取得する（ステップＳ１６０２）。
【０１０５】
この部分訳情報ｐは基本部分訳情報であるため（ステップＳ１６０３：ＹＥＳ）、生成部１０６は、基本部分訳適用処理を実行する（ステップＳ１６０４）。
【０１０６】
基本部分訳適用処理では、生成部１０６は、部分訳情報ｐ、すなわち、基本部分訳情報１４０４に含まれる節点Ｓ１９を節点ｎとして取得する（ステップＳ１７０１）。
【０１０７】
節点ｎの支配領域に対応する形態素列とは、図１２の基本部分情報１２０４に含まれる部分入力文字列（「気に入ったけど」）に対応する形態素列に他ならない。このため、図１１の節点Ｖ７、節点ＡＵＸ８、および節点ＣＪＰ９に対応する形態素を含む形態素列（「気に入っ・た・けど」）が、部分訳情報ｐに含まれる部分訳文である「I like it, but.」と置換される（ステップＳ１７０２）。
【０１０８】
次に、生成部１０６は、節点ｎが支配する領域の節点を構文木Ｓｔから探す。図１１の構文森Ｆに含まれる構文木Ｓｔで、この条件を満たす節点は、節点Ｖ７、節点ＡＵＸ８、節点ＣＪＰ９、および節点ＶＰ１８であるため、生成部１０６は、これらの節点を構文森Ｆから削除する（ステップＳ１７０３）。さらに、生成部１０６は、節点ｎが支配する領域として部分訳文ｔを追加する（ステップＳ１７０４）。以上の処理を実行した後の構文木Ｓｔは図２０のようになる。
【０１０９】
なお、図２０では、節点ｎすなわち節点ＳＰ１９を含まない構造が構文木Ｓｔに存在しないため、ステップＳ１７０５ではいずれの節点も削除されない。
【０１１０】
以上で基本部分訳適用処理が終了するため、生成部１０６は、ステップＳ１６０６を実行する。最尤部分訳情報集合Ｃには、未処理の部分訳情報として図１４の基本部分訳情報１４０３が存在するため、生成部１０６は、次に処理する部分訳情報ｐとして、基本部分訳情報１４０３を取得する（ステップＳ１６０２）。
【０１１１】
この部分訳情報ｐは基本部分訳情報であるため（ステップＳ１６０３：ＹＥＳ）、生成部１０６は、基本部分訳適用処理を実行する（ステップＳ１６０４）。
【０１１２】
以降、基本部分訳情報１４０３に関する基本部分訳適用処理は、基本部分訳情報１４０４における動作と同じである。基本部分訳情報１４０３に対して基本部分訳適用処理を実行した後の構文木Ｓｔは、図２１のようになる。
【０１１３】
最尤部分訳情報集合Ｃが保持するすべての部分訳情報が処理されたため（ステップＳ１６０６：ＹＥＳ）、生成部１０６は、構文木Ｓｔの葉節点に対応する形態素を連結し、目的言語文Ｔとして「It’s so big for me, I like it, but I just can’t buy it」を生成する（ステップＳ１６０７）。
【０１１４】
以上で統合翻訳処理が終了するため、出力部１０７が目的言語文Ｔをが出力し（ステップＳ１５０９）、機械翻訳処理を終了する。
【０１１５】
このように、本実施の形態にかかる機械翻訳装置では、原言語入力文を構文情報を利用することにより原言語入力文を部分入力文字列に分割し、部分入力文字列を複数の翻訳方式それぞれで翻訳し、翻訳スコアの平均値が最大となる翻訳結果を統合した目的言語文を生成することができる。これにより、原言語入力文全体を複数の翻訳方式のいずれで翻訳しても十分な翻訳結果が得られない場合であっても、分割した部分文字列ごとに選択された最良の翻訳方式で翻訳された結果を統合した高精度な翻訳結果を得ることが可能となる。
【０１１６】
また、本実施の形態によれば、原言語入力文に対する構文構造を利用して二次元的な観点から原言語入力文を分割し、分割した部分文字列間の関係を生かして翻訳を実行することができる。このため、原言語入力文の表層パタンによって一次元的に分割する方法と比較して、高精度な翻訳結果が得られる可能性が高くなり、最終的な目的言語文を高精度に生成することができる。
【０１１７】
また、構文情報に基づいた統合処理を実行することで、各部分訳間の関係を保持したまま目的言語文を生成処理が可能となるため、より高精度な翻訳結果を得ることができる。また、分割処理と翻訳処理とが独立しているため、個々の翻訳方式の性能改善が、全体の翻訳品質の改善に直接寄与することが可能となる。さらに、構文解析時に構文森構造を扱うことができるため、一つの原言語入力文に対して複数の構文木が存在する場合、すなわち、原言語入力文の統語的・意味的解釈が複数存在する場合であっても、同時並行的な処理が可能となる。これにより、機械翻訳処理の処理効率および可用性を向上させることができる。
【０１１８】
次に、本実施の形態にかかる機械翻訳装置のハードウェア構成について図２２を用いて説明する。図２２は、本実施の形態にかかる機械翻訳装置のハードウェア構成を示す説明図である。
【０１１９】
本実施の形態にかかる機械翻訳装置は、ＣＰＵ（Central Processing Unit）５１などの制御装置と、ＲＯＭ（Read Only Memory）５２やＲＡＭ５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、ＨＤＤ（Hard Disk Drive）、ＣＤ（Compact Disc）ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス６１を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１２０】
本実施の形態にかかる機械翻訳装置で実行される機械翻訳プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact Disk Recordable）、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１２１】
また、本実施の形態にかかる機械翻訳装置で実行される機械翻訳プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態にかかる機械翻訳装置で実行される機械翻訳プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１２２】
また、本実施の形態の機械翻訳プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１２３】
本実施の形態にかかる機械翻訳装置で実行される機械翻訳プログラムは、上述した各部（入力部、形態素解析部、構文解析部、抽出部、翻訳部、最尤構造選択部、生成部、出力部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ５１（プロセッサ）が上記記憶媒体から機械翻訳プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０１２４】
以上のように、本発明にかかる装置、方法およびプログラムは、文字入力または音声出力した原言語文を目的言語に翻訳して文字出力または音声出力する機械翻訳装置に適している。
【図面の簡単な説明】
【０１２５】
【図１】本実施の形態にかかる機械翻訳装置の構成を示すブロック図である。
【図２】形態素解析部による解析結果の一例を示す図である。
【図３】辞書記憶部に記憶された語彙辞書のデータ構造の一例を示す図である。
【図４】規則記憶部に記憶された文法規則のデータ構造の一例を示す図である。
【図５】構文解析部が出力する構文森の一例を示す図である。
【図６】図５の構文森に内包される構文木の一例を示す図である。
【図７】図５の構文森に内包される構文木の一例を示す図である。
【図８】図５の構文森に内包される構文木の一例を示す図である。
【図９】図５の構文森に内包される構文木の一例を示す図である。
【図１０】図５の構文森に内包される構文木の一例を示す図である。
【図１１】解釈の曖昧性を減じた構文森の一例を示す図である。
【図１２】抽出部が出力する分割情報のデータ構造の一例を示す図である。
【図１３】翻訳部の詳細な構成の一例を示すブロック図である。
【図１４】部分訳記憶部に記憶される部分訳情報のデータ構造の一例を示す図である。
【図１５】本実施の形態における機械翻訳処理の全体の流れを示すフローチャートである。
【図１６】本実施の形態における統合翻訳処理の全体の流れを示すフローチャートである。
【図１７】本実施の形態における基本部分訳適用処理の全体の流れを示すフローチャートである。
【図１８】本実施の形態における差分部分訳適用処理の全体の流れを示すフローチャートである。
【図１９】機械翻訳処理の過程で生成される構文森の一例を示す図である。
【図２０】機械翻訳処理の過程で生成される構文森の一例を示す図である。
【図２１】機械翻訳処理の過程で生成される構文森の一例を示す図である。
【図２２】本実施の形態にかかる機械翻訳装置のハードウェア構成を示す説明図である。
【符号の説明】
【０１２６】
５１    ＣＰＵ
５２    ＲＯＭ
５３    ＲＡＭ
５４    通信Ｉ／Ｆ
６１    バス
１００  機械翻訳装置
１０１  入力部
１０２  形態素解析部
１０３  構文解析部
１０４  抽出部
１０５  最尤構造選択部
１０６  生成部
１０７  出力部
１１０  翻訳部
１１１〜１１ｎ  翻訳エンジン
１２１  辞書記憶部
１２２  規則記憶部
１２３  部分訳記憶部
２０１  原言語入力文
２０２  形態素列
３０１  単語
４０１〜４０３  文法規則
５０１、５０２、５０３  領域
１２０１、１２０４  基本部分情報
１２０２、１２０３  差分部分情報
１４０１〜１４０４  基本部分訳情報
１４０５、１４０６  差分部分訳情報
【図１】
0005112116.tif 000002
【図２】
0005112116.tif 000003
【図３】
0005112116.tif 000004
【図４】
0005112116.tif 000005
【図５】
0005112116.tif 000006
【図６】
0005112116.tif 000007
【図７】
0005112116.tif 000008
【図８】
0005112116.tif 000009
【図９】
0005112116.tif 000010
【図１０】
0005112116.tif 000011
【図１１】
0005112116.tif 000012
【図１２】
0005112116.tif 000013
【図１３】
0005112116.tif 000014
【図１４】
0005112116.tif 000015
【図１５】
0005112116.tif 000016
【図１６】
0005112116.tif 000017
【図１７】
0005112116.tif 000018
【図１８】
0005112116.tif 000019
【図１９】
0005112116.tif 000020
【図２０】
0005112116.tif 000021
【図２１】
0005112116.tif 000022
【図２２】
0005112116.tif 000023