(57)【特許請求の範囲】
【請求項１】
第１言語と第２言語との対訳辞書を記憶する対訳辞書記憶部と、
前記対訳辞書記憶部に記憶された前記対訳辞書を参照しながら、前記第１言語により記述された第１文書データと、前記第２言語により記述された第２文書データとの間で、前記第１文書データにおける文の順序を維持し且つ前記第２文書データにおける文の順序を維持しながら、文単位のアラインメント推定を行う第１アラインメント推定部と、
前記第１アラインメント推定部による推定結果において前記第２文書データ内の前記第１文書データに対応付いていない文と、前記第１文書データ内の文との、前記第２文書データ内の前記第１文書データに対応付いていない文の前記第２文書データ内における順序を維持したままの、アラインメント推定を行う第２アラインメント推定部と、
を具備することを特徴とするアラインメント推定装置。
【請求項２】
前記第２アラインメント推定部による推定結果に基づいて、前記第１文書データに含まれる文と前記第２文書データに含まれる文との間で順序が一致するように並べ替えを行う並べ替え処理部と、
前記対訳辞書記憶部に記憶された前記対訳辞書を参照しながら、前記並べ替え処理部によって並べ替えられた結果の前記第１文書データ内の文と、前記第２文書データ内の文との間でアラインメント推定を行う第３アラインメント推定部と、
をさらに具備することを特徴とする請求項１に記載のアラインメント推定装置。
【請求項３】
前記第１アラインメント推定部および前記第２アラインメント推定部による推定結果に基づいて、前記第１文書データに含まれる文と前記第２文書データに含まれる文との対を対訳表現対として出力する推定結果出力部、
をさらに具備することを特徴とする請求項１に記載のアラインメント推定装置。
【請求項４】
前記第１アラインメント推定部および前記第２アラインメント推定部のそれぞれは、ダイナミックプログラミングを用いて前記アラインメント推定を行う、
ことを特徴とする請求項１から３までのいずれか一項に記載のアラインメント推定装置。
【請求項５】
コンピューターを、
請求項１から４までのいずれか一項に記載のアラインメント推定装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語による表現のアラインメントを行うための、アラインメント推定装置、およびそのプログラムに関する。
【背景技術】
【０００２】
異なる言語（例えば、日本語と英語）で書かれた文書対から、パラレル表現対（例えば、パラレル文対）を自動的に獲得することは、効率性の観点から有益である。パラレル表現対とは、異なる言語間で対訳の関係にある対である。統計的機械翻訳技術は、パラレル表現対を利用するが、そのようなパラレル表現対を大量に収集することにより、機械翻訳の精度を上げることができる。以下では、「表現」が文（sentence）である場合について説明する。
【０００３】
対訳の文書対においては、パラレル文対を成す各言語の文は、それぞれの文書内においてほぼ同一の順序で並ぶことが期待される。そのため、従来技術によってパラレル文対を自動獲得する場合には、ダイナミックプログラミング（ＤＰ，dynamic programing）に基づいたアルゴリズムを用いて、文の順番に関する制約を与えていた。即ち、従来技術では、原言語（source language）と目的言語（target language）との間で対応する文の順番が同じであるという制約を与えることにより、文の順番の情報を活用して文アラインメントを推定していた。
【０００４】
非特許文献１，２，および３には、それぞれ、ダイナミックプログラミングに基づいたアルゴリズムを用いて、原言語文書と目的言語文書との間で対応する文対の順番が一致しているという条件によって、文アラインメントを推定する技術が記載されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】William A. Gale，Kenneth W. Church，A PROGRAM FOR ALIGNING SENTENCES IN BILINGUAL CORPORA，In Proceedings of the 29th Annual Meeting of the Association for Computational Linguistics, pp. 17-184,１９９１年．
【非特許文献２】Masao Utiyama，Hitoshi Isahara，Reliable Measures for Aligning Japanese-English News Articles and Sentences，In Proceedings of the 41st Annual Meeting of the Association for Computational Linguistics，２００３年
【非特許文献３】Xiaoyi Ma. Champollion，A Robust Parallel Text Sentence Aligner，In Proceedings of the 5th edition of the International Conference on Language Resources and Evaluation，２００６年．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、対訳の文書間で、対応する文の順番が一致しない場合も存在し得る。そのような場合、従来技術（非特許文献１〜３）のアルゴリズムに基づく方法では、正しく対訳の文アラインメントを推定することができないという問題が生じる。
【０００７】
具体的な例の第１を以下に示す。この例では、原言語文書が日本語で書かれ、目的言語文書が英語で書かれている。
原言語文書：「彼は本を読む。彼女は東京へ行く。犬が走る。」
目的言語文書：「He reads a book. A dog runs. She goes to Tokyo」
上記の例の第１に対して、従来技術のダイナミックプログラミングに基づくアルゴリズムで文アラインメントを推定すると、例えば、次のような結果が得られる。即ち、原言語文書における第１文「彼は本を読む。」が、目的言語文書における第１文「He reads a book.」と対であると推定される。また、原言語文書におけるnull（ヌル，空）が、目的言語文書における第２文「A dog runs.」と対であると推定される。また、原言語文書における第２文「彼女は東京へ行く。」が、目的言語文書における第３文「She goes to Tokyo.」と対であると推定される。また、原言語文書における第３文「犬が走る。」が、目的言語文書におけるnull（ヌル）と対であると推定される。
なお、推定された文対の片方がnull（ヌル）であるということは、その言語の側において対応する文がないことを意味する。
【０００８】
具体的な例の第２を以下に示す。この例でも、原言語文書が日本語で書かれ、目的言語文書が英語で書かれている。
原言語文書：「彼は本を読み、彼女は東京へ行く。犬が公園で走る。」
目的言語文書：「He reads a book. A dog runs at a park. She goes to Tokyo.」
上記の例の第２に対して、従来技術で同様に文アラインメントを推定すると、例えば、次のような結果が得られる。即ち、原言語文書における第１文「彼は本を読み、彼女は東京へ行く。」が、目的言語文書における第１文「He reads a book.」と対であると推定される。原言語文書における第２文「犬が公園で走る。」が、目的言語文書における第２文「A dog runs at a park.」と対であると推定される。原言語文書におけるnull（ヌル）が、目的言語文書における第３文「She goes to Tokyo.」と対であると推定される。
本例においても、推定された文対の片方がnull（ヌル）であるということは、その言語の側において対応する文がないことを意味する。
【０００９】
以上、例示したように、従来技術では、文のアラインメントを正しく推定できない場合がある。
本発明は、このような事情を考慮して為されたものであり、二言語による文書間で対応する文の順序が一致しない場合にも正しくアラインメント推定をすることのできるアラインメント推定装置およびプログラムを提供しようとするものである。
【課題を解決するための手段】
【００１０】
上記の課題を解決するため、本発明の一態様によるアラインメント推定装置は、第１言語と第２言語との対訳辞書を記憶する対訳辞書記憶部と、前記対訳辞書記憶部に記憶された前記対訳辞書を参照しながら、前記第１言語により記述された第１文書データと、前記第２言語により記述された第２文書データとの間でアラインメント推定を行う第１アラインメント推定部と、前記第１アラインメント推定部による推定結果において前記第２文書データ内の前記第１文書データに対応付いていない部分と、前記第１文書データとのアラインメント推定を行う第２アラインメント推定部と、を具備することを特徴とする。
【００１１】
また、本発明の一態様は、上記のアラインメント推定装置において、前記第２アラインメント推定部による推定結果に基づいて、前記第１文書データに含まれる表現と前記第２文書データに含まれる表現との間で順序が一致するように並べ替えを行う並べ替え処理部と、前記対訳辞書記憶部に記憶された前記対訳辞書を参照しながら、前記並べ替え処理部によって並べ替えられた結果の前記第１文書データと前記第２文書データとの間でさらにアラインメント推定を行う第３アラインメント推定部と、をさらに具備することを特徴とする。
【００１２】
また、本発明の一態様は、上記のアラインメント推定装置において、前記第１アラインメント推定部および前記第２アラインメント推定部による推定結果に基づいて、前記第１文書データに含まれる表現と前記第２文書データに含まれる表現との対を対訳表現対として出力する推定結果出力部、をさらに具備することを特徴とする。
【００１３】
本発明の一態様は、上記のアラインメント推定装置において、前記第１アラインメント推定部および前記第２アラインメント推定部は、それぞれ、文単位でのアラインメント推定を行い、前記推定結果出力部は、前記第１文書データに含まれる１つの文または複数の文の列と、前記第２文書データに含まれる１つの文または複数の文の列、との対を前記対訳表現対として出力する、ことを特徴とする。
【００１４】
また、本発明の一態様は、コンピューターを、上記のいずれかのアラインメント推定装置として機能させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、対訳文書同士のアラインメントにおいて、表現（文等の単位）の順序が一致しない箇所についても、正しいアラインメントを推定することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施形態によるアラインメント推定装置の概略機能構成を示すブロック図である。
【図２】同実施形態による原言語文書記憶部および目的言語文書記憶部、それぞれのデータ構成を示す概略図である。
【図３】同実施形態によるアラインメント推定の結果を表すデータの構成を示す概略図である。
【図４】同実施形態によるアラインメント推定装置の処理手順を示すフローチャートである。
【図５】第２実施形態によるアラインメント推定装置の概略機能構成を示すブロック図である。
【図６】同実施形態によるアラインメント推定装置の処理手順を示すフローチャートである。
【図７】第１実施形態および第２実施形態によるアラインメント推定処理の実例を示す概略図である。
【発明を実施するための形態】
【００１７】
次に、図面を参照しながら、本発明の実施形態について説明する。
［第１実施形態］
図１は、本実施形態によるアラインメント推定装置の概略機能構成を示すブロック図である。同図に示すように、アラインメント推定装置１は、第１アラインメント推定部１００と、第２アラインメント推定部１０１と、並べ替え処理部１０２と、第３アラインメント推定部１０３と、原言語文書記憶部１１１と、目的言語文書記憶部１１２と、推定結果記憶部１２１および１２２と、並べ替え済目的言語文書記憶部１３１と、対訳辞書記憶部１４１と、推定結果出力部１５１と、を含んで構成される。
これら各部は、デジタルデータとして表されるデータを処理するものであり、電子回路を用いて実現される。また、原言語文書記憶部１１１と、目的言語文書記憶部１１２と、推定結果記憶部１２１および１２２と、並べ替え済目的言語文書記憶部１３１と、対訳辞書記憶部１４１は、それぞれ、半導体メモリまたは磁気ハードディスク装置等を用いて構成され、デジタルデータを記憶する。アラインメント推定装置１を構成する各部の機能は、次に述べるとおりである。
【００１８】
本実施形態では、次の４段階の処理により課題を解決する。
（第１段階）ダイナミックプログラミングのアルゴリズムを用いて、文アラインメントを推定する。この際に両言語で文の順番が入れ替わっている文は対応する文が無いと推定される。
（第２段階）対応が無いと推定された目的言語文と原言語文との間で文アラインメントを推定する。
（第３段階）ここまでで得られた文アラインメントを用いて、目的言語文を対応する原言語文の順番と同じになるように並べ替える。
（第４段階）再度、ダイナミックプログラミングのアルゴリズムを用いて、文アラインメントを推定する。
【００１９】
第１アラインメント推定部１００は、原言語文書記憶部１１１から読み出した原言語文書（第１言語により記述された第１文書データ）と、目的言語文書記憶部１１２から読み出した目的言語文書（第２言語により記述された第２文書データ）とのアラインメント推定処理を行う。具体的には、第１アラインメント推定部１００は、対訳辞書記憶部１４１から読み出す対訳辞書のデータを参照して、両文書内の対応しあう単語対を特定しながら、ダイナミックプログラミングを用いて、文書内の表現のアラインメントを行う。このとき、第１アラインメント推定部１００は、原言語文書内における文の順序を維持し、且つ、目的言語文書内における文の順序を維持する、という制約下でアラインメント推定を行う。そして、より具体的には、第１アラインメント推定部１００は、文単位でのアラインメントを行う。第１アラインメント推定部１００は、推定結果である文アラインメントのデータを出力し、推定結果記憶部１２１に書きこむ。文アラインメントのデータは、両文書間でどの文同士が対応しあうものであるかを表すデータであり、その詳細については後述する。
【００２０】
第２アラインメント推定部１０１は、推定結果記憶部１２１を参照し、対応先を持たない目的言語文の集合と、原言語文書内の文の集合との間で、文アラインメントを推定する処理を行う。対応先を持たない目的言語文とは、第１アラインメント推定部１００による推定の結果として、原言語文が対応しなかった目的言語文である。なお、第２アラインメント推定部１０１は、対応先を持たない目的言語文の集合に関して元の文書内における順序を維持したまま（つまり、順序を有する目的言語文の列として扱いながら）、原言語文書内の文の列とのアラインメント推定を行う。つまり、第２アラインメント推定部１０１は、第１アラインメント推定部１００による推定結果において、原言語文書内の部分（文）と、目的言語文書内の原言語文書に対応付いていない部分（文）とのアラインメント推定を行う。
【００２１】
なお、第２アラインメント推定部１０１はまた、対訳辞書記憶部１４１から読み出す対訳辞書のデータに基づいて両文書内の対応しあう単語対を特定しながら、アラインメント推定を行う。第２アラインメント推定部１０１は、推定結果である文アラインメントのデータを出力し、推定結果記憶部１２２に書きこむ。
【００２２】
第２アラインメント推定部１０１が用いるアラインメント推定手法として、第１アラインメント推定部１００が用いる手法と同じ手法を用いても良いし、異なる手法を用いても良い。第１アラインメント推定部１００と異なる手法として、例えば、第１アラインメント推定部１００が用いるスコアと同様のアラインメントスコアに基づきながら、文の順番を考慮せず、スコアが高い文を対応先と推定する手法を用いることができる。さらに、第２アラインメント推定部１０１は、意味が対応しあう語の割合についての閾値を設定し、両言語間で意味が対応する語の割合がその閾値以上の場合のみアラインメントするようにしてもよい。これにより対訳ではない文を対応付けてアラインメントしてしまうことを避けることができる。
【００２３】
並べ替え処理部１０２は、第２アラインメント推定部１０１による推定結果に基づいて、原言語文書に含まれる文（表現）と目的言語文書に含まれる文（表現）との間で順序が一致するように並べ替えを行う。具体的には、並べ替え処理部１０２は、推定結果記憶部１２１および１２２に記憶されている推定結果のデータをそれぞれ読み出し、それらに基づいて、目的言語の文の順序を並べ替える。なお、並べ替え処理部１０２は、目的言語の文の順序が、対応する原言語の文の順序に合うように、目的言語の文の順序を並べ替える。なお、推定結果記憶部１２１は第１アラインメント推定部１００による推定結果のデータを記憶しており、推定結果記憶部１２２は第２アラインメント推定部１０１による推定結果のデータを記憶している。
【００２４】
並べ替え処理部１０２は、具体的な操作として、目的言語文書内の各文に対して対応する原言語文書内の文の番号を一時的に付与し、その一時的に付与された文番号の昇順に目的言語文をソートする（並べ替える）処理を行う。このとき、対応先がない目的言語文（即ち、対応先の原言語文がヌルであるような目的言語文）に関しては、当該目的言語文の直前の目的言語文に付与されている原言語文の番号を付与する。また、ある目的言語文に複数の原言語文が対応付いている場合には、それら複数の原言語文のうちの１つの原言語文の文番号を、当該目的言語文に一時的に付与してからソート処理を行うようにする。
なお、並べ替え処理部１０２は、並べ替えた結果の順序による目的言語文書を、並べ替え済目的言語文書記憶部１３１に書きこむ。
なお、並べ替え処理部１０２は、文のテキストを構成する文字列のデータを記憶装置内で物理的に並べ替える処理を行っても良く、またはその代わりに、文を指標する数値等のデータのみを記憶装置内で並べ替える処理を行っても良い。
【００２５】
第３アラインメント推定部１０３は、第１アラインメント推定部１００と同じ機能を有する。ただし、第１アラインメント推定部１００が元々の順序で並べられた原言語の文と目的言語の文を処理の対象とするのに対して、第３アラインメント推定部１０３は目的言語文書に関しては、並べ替え処理部１０２によって並べ替えられた順序の文を処理対象とする。なお、第３アラインメント推定部１０３は、並べ替え済目的言語文書記憶部１３１から、並べ替え済の目的言語の文を読み出す。つまり、第３アラインメント推定部１０３は、並べ替え処理部１０２によって並べ替えられた結果の原言語文書と目的言語文書との間でさらにアラインメント推定を行う。
なお、この第３アラインメント推定部１０３を実現するために、第１アラインメント推定部１００と共通の機能部（回路、あるいはプログラムにおける共通ルーチンなど）を用いるようにしても良い。
【００２６】
なお、並べ替え済みの文書に対して、さらに第３アラインメント推定部１０３がアラインメント推定を行うことにより、１つの文アラインメントの中に複数の目的言語文が含まれる場合などにも、アラインメント推定の本来の性能が発揮できる状態で処理を行えるようになる。
【００２７】
原言語文書記憶部１１１は、原言語（第１言語）により書かれた文書のデータを記憶する。原言語は、自然言語の一つであり、例えば、日本語、英語、ドイツ語、フランス語、ロシア語、スペイン語、中国語等である。原言語文書は、原言語による表現の列である。表現の一例は文であり、本実施形態では原言語文書を文の列として扱う。なお、原言語文書記憶部１１１は、外部から入力された原言語文書のデータを記憶する。原言語文書記憶部１１１のより具体的な構成については、後で図面を参照しながらさらに説明する。
【００２８】
目的言語文書記憶部１１２は、目的言語（第２言語）により書かれた文書のデータを記憶する。目的言語は、原言語とは異なる自然言語の一つである。目的言語文書は、目的言語による表現の列である。表現の一例は文であり、本実施形態では目的言語文書を文の列として扱う。なお、目的言語文書記憶部１１２は、外部から入力された目的言語文書のデータを記憶する。目的言語文書記憶部１１２のより具体的な構成については、後で図面を参照しながらさらに説明する。
【００２９】
推定結果記憶部１２１および１２２は、それぞれ、第１アラインメント推定部１００および第２アラインメント推定部１０１によるアラインメント推定の結果を記憶するものである。推定結果記憶部１２１および１２２の詳細については、後で図面を参照しながら説明する。
【００３０】
並べ替え済目的言語文書記憶部１３１は、並べ替え処理部１０２によって並べ替えられた目的言語文書を記憶するものである。並べ替え済目的言語文書記憶部１３１のデータ構造自体は、目的言語文書記憶部１１２のデータ構造と同様のものである。
【００３１】
対訳辞書記憶部１４１は、原言語（第１言語）と目的言語（第２言語）の間の単語レベルまたはそれに準じるレベルでの対訳辞書のデータを記憶している。この対訳辞書のデータは、第１アラインメント推定部１００と第２アラインメント推定部１０１と第３アラインメント推定部１０３の処理の際に、参照される。
【００３２】
推定結果出力部１５１は、第３アラインメント推定部１０３による推定結果に基づき、文の対訳を出力する。
つまり、推定結果出力部１５１は、第１アラインメント推定部１００と第２アラインメント推定部１０１と第３アラインメント推定部１０３による推定結果に基づいて、原言語文書に含まれる表現と目的言語文書に含まれる表現との対を対訳文対（対訳表現対）として出力する。
【００３３】
図２は、原言語文書記憶部１１１および目的言語文書記憶部１１２、それぞれのデータ構成を示す概略図である。
図示するように、原言語文書記憶部１１１は、表形式のデータ構造を有しており、文番号と文の２つの項目を有する。文番号は、原言語文書内の文の順序を表すデータである。図示する例では、プレフィクス「Ｓ」を付して、Ｓ１，Ｓ２，Ｓ３，・・・という文番号を用いている。なお、このような「Ｓ」で始まる文番号に限らず、文の順序（全順序）を特定できるデータであれば他の形式の文番号を用いても良い。また、文は、各文番号に対応して、原言語により表された文を格納する項目である。図示する例では、原言語文書は、「彼は本を読む。」、「彼女は東京へ行く。」、「犬が走る。」、・・・という順序で並ぶ文の列である。また、目的言語文書記憶部１１２も、表形式のデータ構造を有しており、文番号と文の２つの項目を有する。文番号は、目的言語文書内の文の順序を表すデータである。図示する例では、プレフィクス「Ｔ」を付して、Ｔ１，Ｔ２，Ｔ３，・・・という文番号を用いている。なお、このような「Ｔ」で始まる文番号に限らず、文の順序（全順序）を特定できるデータであれば他の形式の文番号を用いても良い。また、文は、各文番号に対応して、目的言語により表された文を格納する項目である。図示する例では、目的言語文書は、「He reads a book.」、「A dog runs and a rabbit hops.」、「She goes to Tokyo.」、・・・という順序で並ぶ文の列である。
【００３４】
なお、並べ替え済目的言語文書記憶部１３１が記憶するデータの構造も、図２に示した目的言語文書記憶部１１２のデータ構造と同様のものである。
【００３５】
図３は、アラインメント推定の結果を表すデータ構成を示す概略図である。推定結果記憶部１２１および１２２は、それぞれ、同図に示すデータを記憶する。
図示するように、アラインメント推定結果のデータは、原言語側の文番号（または複数の文番号の列、またはｎｕｌｌ）と目的言語側の文番号（または複数の番号の列、またはｎｕｌｌ）との対応関係の列として表される。同図においては、左側に、参照用の行番号を付している。そして、このデータの各行が原言語側と目的言語側との間の対応関係の一つを表している。
【００３６】
図示する例では、第１行目、第３行目、第５行目、第６行目のデータでは、原言語側の単一の文と目的言語側の単一の文とが対応している。即ち、Ｓ１とＴ１が対応し、Ｓ２とＴ３が対応し、Ｓ５とＴ４が対応し、Ｓ６とＴ５が対応している。
また、第２行目のデータでは、原言語側がｎｕｌｌである。つまり、目的言語側の文であるＴ２に対応する原言語側の文が存在しない。
また、第４行目のデータでは、原言語側の複数の文の列であり、目的言語側がｎｕｌｌである。即ち、原言語側の（Ｓ３，Ｓ４）の列に対応する目的言語側の文が存在しない。
また、第７行目のデータでは、原言語側の複数の文の列と、目的言語側の複数の文の列とが対応している。即ち、原言語側の２文の列である（Ｓ７，Ｓ８）と、目的言語側の３文の列である（Ｔ６、Ｔ７，Ｔ８）が対応している。
また、第８行目のデータでは、原言語側の単一の文と目的言語側の複数の文の列が対応している。即ち、Ｓ９と、（Ｔ９，Ｔ１０）の列が対応している。
【００３７】
なお、推定結果記憶部１２１に格納されるデータは、第１アラインメント推定部１００によって推定された結果のアラインメントを表すものである。したがって、原言語側においても目的言語側においてもそれぞれ、文番号の逆転は生じていない。つまり、原言語側または目的言語側のいずれに関しても、文番号の前後関係は維持されたままである。
一方で、推定結果記憶部１２２に格納されるデータでは、第１アラインメント推定部１００によって対応付かなかった原言語文を、第２アラインメント推定部１０１が全目的言語文の中のいずれかに対応付けた結果が含まれる。したがって、推定結果記憶部１２２に格納されるデータでは、目的言語側においては文番号の逆転が生じている場合があり得る。
【００３８】
ここで、ダイナミックプログラミングを用いた、文書内の表現（文）をアラインメント推定する手法について説明する。第１アラインメント推定部１００、第２アラインメント推定部１０１、第３アラインメント推定部１０３のいずれもが、下記の手法を用いることができる。この手法では、アラインメントが交差しない範囲で、文アラインメントを自動指定する。つまり、推定結果において原言語文書と目的言語文書との間で、対象となる文の順序の逆転がない。そして、この手法は、上記のように対応する文対の文の順序を維持するという制約を維持したまま、文の削除（省略）、文の追加、連続する複数文（連続する文の列）を対の一方として対応させることを許容し、アラインメントを推定する。
【００３９】
この手法では、アラインメントの良さを評価するスコアを用いて、そのスコアが最大となる文アラインメントを探索する処理を行う。
原言語文書をＤｓとする。また、目的言語文書をＤｔとする。
原言語文書Ｄｓに含まれる文をｆｉとする。ここで、ｉは文番号であり、ｉ∈｛１，・・・，Ｉ｝である。文の先頭のほうが文番号ｉは小さい。
目的言語文書Ｄｔに含まれる文をｅｊとする。ここで、ｊは文番号であり、ｊ∈｛１，・・・，Ｊ｝である。文の先頭のほうが文番号ｊは小さい。
文アラインメントは、前の文アラインメントの最後の（即ちｋ−１番目の）文番号対（ｉｋ−１，ｊｋ−１）から着目している文アラインメントの最後の（即ちｋ番目の）文番号対（ｉｋ，ｊｋ）で表すことができる。ここで、ｉｋ−１とｉｋは、いずれも原言語文書の文番号である。なお、アラインメントの際に文の順序が維持されるという制約により、ｉｋ−１≦ｉｋである。また、ｊｋ−１とｊｋは、いずれも目的言語文書の文番号である。なお、アラインメントの際に文の順序が維持されるという制約により、ｊｋ−１≦ｊｋである。
【００４０】
ここで、ｓを、アラインメントを評価するためのスコアを求める関数とする。
そして、Ｓ（ｉｋ，ｊｋ）を、原言語文書中の文の並びｆ１，・・・，ｆｉｋ（ここでｋはｉの添え字）と、目的言語文書中の文の並びｅ１，・・・，ｅｊｋ（ここでｋはｊの添え字）との間の最大スコアとする。
このＳ（ｉｋ，ｊｋ）は、Ｓ（０，０）＝０を初期値として、次の式（１）で再帰的に表すことができる。
【００４１】
【数１】
0006646977.tif 000002
【００４２】
なお、スコア関数ｓ（ｉｋ−１，ｊｋ−１，ｉｋ，ｊｋ，Ｄｓ，Ｄｔ）は、一致する単語の頻度や、文書中の単語数や、各アラインメント中の文数や単語数に基づく値を返すよう適切に定義されるものである。
なお、ここで述べたアラインメントの手法自体は、既存技術に属するものである。
【００４３】
図４は、アラインメント推定装置１の処理手順を示すフローチャートである。以下、このフローチャートに沿って、処理手順を説明する。
まずステップＳ１１において、第１アラインメント推定部１００は、原言語文書記憶部１１１から読み出した原言語文書と、目的言語文書記憶部１１２から読み出した目的言語文書との間の、アラインメント推定を行う。そして、第１アラインメント推定部１００は、その推定結果のデータを推定結果記憶部１２１に書き込む。
【００４４】
次に、ステップＳ１２において、第２アラインメント推定部１０１は、推定結果記憶部１２１のデータを参照し、対応先を持たない目的言語文を抽出する。つまり、第２アラインメント推定部１０１は、対応先がヌルである目的言語文の番号を抽出し、それらの番号に対応する目的言語文を目的言語文書記憶部１１２から読み出す。そして、第２アラインメント推定部１０１は、対応先を持たない目的言語文の集合と、原言語文書内の文書の集合との間のアラインメント推定を行う。そして、第２アラインメント推定部１０１は、その推定結果のデータを推定結果記憶部１２２に書き込む。
【００４５】
次に、ステップＳ１３において、並べ替え処理部１０２は、推定結果記憶部１２２のデータを参照し、原言語文の順序と対応する目的言語文の順序とが逆転しなくなるように、目的言語文の順序を並べ替える。そして、並べ替えた結果を、並べ替え済目的言語文書記憶部１３１に書き込む。
【００４６】
次に、ステップＳ１４において、第３アラインメント推定部１０３は、原言語文書記憶部１１１から読み出した原言語文書と、並べ替え済目的言語文書記憶部１３１から読み出した並べ替え済の目的言語文書との間の、アラインメント推定を行う。そして、第３アラインメント推定部１０３は、その推定結果のアラインメントにしたがって、対訳文対を生成し、推定結果出力部１５１に渡す。なお、１つの対訳文対は、０個以上の原言語文の列と、０個以上の目的言語文の列との対である。そして、第３アラインメント推定部１０３は、アラインメント推定結果に含まれるすべての対訳文対を、推定結果出力部１５１に渡す。
【００４７】
次に、ステップＳ１５において、推定結果出力部１５１は、第３アラインメント推定部１０３から渡された対訳文対の集合を、外部に出力する。
そして、アラインメント推定装置１は、このフローチャート全体の処理を終了する。
【００４８】
［第２実施形態］
次に、第２実施形態について説明する。なお、第１実施形態で説明したのと同様の機能を有する部については、同一の符号を付している。また、第１実施形態と同様の事項については説明を省略する場合があり、本実施形態に特有の事項を中心に説明する。
【００４９】
本実施形態では、次の２段階の処理により課題を解決する。
（第１段階）ダイナミックプログラミングのアルゴリズムを用いて、文アラインメントを推定する。この際に両言語で文の順番が入れ替わっている文は対応する文が無いと推定される。
（第２段階）対応が無いと推定された目的言語文と原言語文どの間で文アラインメントを推定する。
【００５０】
図５は、本実施形態によるアラインメント推定装置の概略機能構成を示すブロック図である。図示するように、アラインメント推定装置２は、第１アラインメント推定部１００と、第２アラインメント推定部１０１と、原言語文書記憶部１１１と、目的言語文書記憶部１１２と、推定結果記憶部１２１および１２２と、対訳辞書記憶部１４１と、推定結果出力部１５２と、を含んで構成される。
【００５１】
つまり、アラインメント推定装置２は、第１実施形態で説明した並べ替え処理部１０２や、第３アラインメント推定部１０３や、並べ替え済目的言語文書記憶部１３１の機能を有していない。したがって、アラインメント推定装置２は、目的言語文の並べ替え、並べ替えた結果を用いて再度第３アラインメント推定部１０３によるアラインメント推定を行うといった処理を行わない。
【００５２】
本実施形態において、推定結果出力部１５２は、第１アラインメント推定部１００による推定結果のデータを推定結果記憶部１２１から読み出し、また、第２アラインメント推定部１０１による推定結果のデータを推定結果記憶部１２２から読み出す。そして、推定結果出力部１５２は、これらの推定結果に基づいて、原言語文書記憶部１１１から読み出した文と目的言語文書記憶部１１２から読み出した文とを用いて対訳文対を生成し、それらの対訳文対を外部に出力する。
つまり、推定結果出力部１５２は、第１アラインメント推定部１００と第２アラインメント推定部１０１による推定結果に基づいて、原言語文書に含まれる表現と目的言語文書に含まれる表現との対を対訳文対（対訳表現対）として出力する。
【００５３】
図６は、アラインメント推定装置２の処理手順を示すフローチャートである。以下、このフローチャートに沿って、アラインメント推定装置２による処理手順について説明する。
まずステップＳ２１において、第１アラインメント推定部１００は、原言語文書記憶部１１１から読み出した原言語文書と、目的言語文書記憶部１１２から読み出した目的言語文書との間の、アラインメント推定を行う。そして、第１アラインメント推定部１００は、その推定結果のデータを推定結果記憶部１２１に書き込む。
【００５４】
次に、ステップＳ２２において、第２アラインメント推定部１０１は、推定結果記憶部１２１のデータを参照し、対応先を持たない目的言語文を抽出する。そして、第２アラインメント推定部１０１は、対応先を持たない目的言語文の集合と、原言語文書内の文書の集合との間のアラインメント推定を行う。そして、第２アラインメント推定部１０１は、その推定結果のデータを推定結果記憶部１２２に書き込む。
【００５５】
次に、ステップＳ２３において、推定結果出力部１５２は、上記の推定結果に基づく対訳文対を出力する。具体的には、推定結果出力部１５２は、推定結果記憶部１２１および１２２のそれぞれから、アラインメント推定結果のデータを読み出す。そして、推定結果出力部１５２は、推定結果のアラインメントにしたがって対訳文対を生成し、出力する。なお、１つの対訳文対は、０個以上の原言語文の列と、０個以上の目的言語文の列との対である。そして、推定結果出力部１５２は、アラインメント推定結果に含まれるすべての対訳文対を、外部に出力する。
【００５６】
なお、上述した各実施形態におけるアラインメント推定装置の機能をコンピューターで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００５７】
以上、複数の実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。
【００５８】
上記実施形態では、原言語と目的言語とを区別してアラインメント推定を行い、その結果として対訳表現対を出力した。変形例として、原言語と目的言語とを逆転させて前述の実施形態と同様の処理を行っても良い。また、原言語と目的言語とを区別せずに、２言語を対等に扱って同様の処理を行っても良い。
【００５９】
また、上記実施形態では、文（sentence）単位でアラインメント推定を行った。しかしながら、変形例として、文以外の単位でアラインメント推定の処理を行うようにしても良い。文以外の単位とは、例えば、段落や、複数の文から成る文の塊や、文を構成するより小さい単位（節や句など）である。
【００６０】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【００６１】
［処理例］
第１実施形態および第２実施形態による処理の実例について説明する。図７は、第１実施形態および第２実施形態による処理結果の例を示す概略図である。以下の説明において、この図を参照する。
【００６２】
［第１実施形態による処理例］
図７（Ａ）は、入力された原言語文書および目的言語文書を示す。つまり、処理の初期の状態において、原言語文書記憶部１１１は、原言語文書を構成する４つの文Ｓ１〜Ｓ４を記憶している。また、目的言語文書記憶部１１２は、目的言語文書を構成する３つの文Ｔ１〜Ｔ３を記憶している。
図７（Ｂ）は、第１アラインメント推定部１００が、図７（Ａ）に示した原言語文書と目的言語文書とのアラインメント推定を行った結果である。つまり、文Ｓ１は文Ｔ１に対応する。文Ｔ２に対応する原言語文は存在しない。文Ｓ２は文Ｔ３に対応する。文Ｓ３に対応する目的言語文は存在しない。そして、文Ｓ４に対応する目的言語文は存在しない。
【００６３】
ここで、第２アラインメント推定部１０１は、原言語文に対応していない目的言語文の集合と、原言語文書内の文の集合との間で、アラインメント推定を行う。図７（Ｂ）においてヌルと対応付いている目的言語文は、文番号Ｔ２の文である。つまり、第２アラインメント推定部１０１は、原言語文書と、目的言語文Ｔ２との間のアラインメント推定を行う。
図７（Ｃ）は、その第２アラインメント推定部１０１による推定結果である。原言語文Ｓ３が目的言語文Ｔ２に対応している。なお、依然として原言語文Ｓ４の対応先はない。
【００６４】
図７（Ｄ）は、並べ替え処理部１０２が目的言語文の順序を並べ替えた結果を示している。つまり、図７（Ａ）で示した目的言語文「A dog runs and a rabbit hops.」と「She goes to Tokyo.」の順序が入れ替わっている。なお、ここで、並べ替え後の文の順序にしたがって目的言語文の番号を付与し直している。即ち、「She goes to Tokyo.」の文番号がＴ２であり、「A dog runs and a rabbit hops.」の文番号がＴ３である。
そして、アラインメント推定結果のデータにおいても、目的言語文の文番号を更新しているため、  図７（Ｄ）においては、文Ｓ２が文Ｔ２に対応し、文Ｓ３が文Ｔ３に対応している。なお、依然、文Ｓ４は目的言語文に対応していない。
【００６５】
図７（Ｅ）は、第３アラインメント推定部１０３が、図７（Ｄ）に示した原言語文書と並べ替え済の目的言語文書とのアラインメント推定を行った結果である。即ち、文Ｓ１は文Ｔ１に対応し、文Ｓ２は文Ｔ２に対応し、文Ｓ３とＳ４の列が文Ｔ３に対応している。このように、本例では、図７（Ｅ）の段階で、目的言語文に対応しない原言語文が存在せず、また、原言語文に対応しない目的言語文も存在しない状態になった。
【００６６】
図７（Ｆ）は、推定結果出力部１５１が図７（Ｅ）の推定結果に基づいて出力する対訳文対である。つまり、出力される対訳文対は３つあり、下記の通りである。
第１の対訳文対：Ｓ１とＴ１が対応：「彼は本を読む。」−「He reads a book.」
第２の対訳文対：Ｓ２とＴ２が対応：「彼女は東京へ行く。」−「She goes to Tokyo.」
第３の対訳文対：（Ｓ３，Ｓ４）とＴ３が対応：「犬が走る。ウサギがはねる。」−「A dog runs and a rabbit hops.」
出力されるこれらの対訳文対は、対訳文書対を基に自動的に抽出されたものであり、統計的翻訳に利用することができる。
【００６７】
［第２実施形態による処理例］
第２実施形態による処理結果の例は、上述した図７（Ａ），図７（Ｂ），図７（Ｃ）までは、同一である。
そして、第２実施形態では、並べ替え処理部１０２による処理と、第３アラインメント推定部１０３による処理とを行わない。
つまり、第２実施形態による推定結果出力部１５２は、図７（Ｃ）に示す対応関係に基づいて、図７（Ａ）に示す文から、対訳文対を生成して出力する。つまり、出力される対訳文対は３つあり、下記の通りである。
第１の対訳文対：Ｓ１とＴ１が対応：「彼は本を読む。」−「He reads a book.」
第２の対訳文対：Ｓ２とＴ３が対応：「彼女は東京へ行く。」−「She goes to Tokyo.」
第３の対訳文対：Ｓ３とＴ２が対応：「犬が走る。」−「A dog runs and a rabbit hops.」
出力されるこれらの対訳文対は、対訳文書対を基に自動的に抽出されたものであり、統計的翻訳に利用することができる。
【００６８】
なお、第１実施形態による処理結果例と、第２実施形態による処理結果例とを比較すると、第２実施形態で出力される第３の対訳文対が、第１実施形態で出力される対訳文対とは異なる。つまり、第２実施形態で出力される第３の対訳文対には、原言語文書内に存在していた「ウサギがはねる。」という表現は存在しない。つまり、ここに示した例に関して言うと、第１実施形態のほうが出力される対訳文対の精度が高い。一方で、第２実施形態は、より少ない処理量で、統計的機械翻訳に用いるのに有用な量の対訳文対を出力している。
【産業上の利用可能性】
【００６９】
本発明は、機械翻訳処理に利用することができる。本発明は、一例として、放送等のコンテンツに関係する翻訳処理に利用することができる。
【符号の説明】
【００７０】
１，２  アラインメント推定装置
１００  第１アラインメント推定部
１０１  第２アラインメント推定部
１０２  並べ替え処理部
１０３  第３アラインメント推定部
１１１  原言語文書記憶部
１１２  目的言語文書記憶部
１２１，１２２  推定結果記憶部
１３１  並べ替え済目的言語文書記憶部（目的言語文書記憶部）
１４１  対訳辞書記憶部
１５１，１５２  推定結果出力部
【図１】
0006646977.tif 000003
【図２】
0006646977.tif 000004
【図３】
0006646977.tif 000005
【図４】
0006646977.tif 000006
【図５】
0006646977.tif 000007
【図６】
0006646977.tif 000008
【図７】
0006646977.tif 000009