(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、対訳の文書間で、対応する文の順番が一致しない場合も存在し得る。そのような場合、従来技術(非特許文献1〜3)のアルゴリズムに基づく方法では、正しく対訳の文アラインメントを推定することができないという問題が生じる。
【0007】
具体的な例の第1を以下に示す。この例では、原言語文書が日本語で書かれ、目的言語文書が英語で書かれている。
原言語文書:「彼は本を読む。彼女は東京へ行く。犬が走る。」
目的言語文書:「He reads a book. A dog runs. She goes to Tokyo」
上記の例の第1に対して、従来技術のダイナミックプログラミングに基づくアルゴリズムで文アラインメントを推定すると、例えば、次のような結果が得られる。即ち、原言語文書における第1文「彼は本を読む。」が、目的言語文書における第1文「He reads a book.」と対であると推定される。また、原言語文書におけるnull(ヌル,空)が、目的言語文書における第2文「A dog runs.」と対であると推定される。また、原言語文書における第2文「彼女は東京へ行く。」が、目的言語文書における第3文「She goes to Tokyo.」と対であると推定される。また、原言語文書における第3文「犬が走る。」が、目的言語文書におけるnull(ヌル)と対であると推定される。
なお、推定された文対の片方がnull(ヌル)であるということは、その言語の側において対応する文がないことを意味する。
【0008】
具体的な例の第2を以下に示す。この例でも、原言語文書が日本語で書かれ、目的言語文書が英語で書かれている。
原言語文書:「彼は本を読み、彼女は東京へ行く。犬が公園で走る。」
目的言語文書:「He reads a book. A dog runs at a park. She goes to Tokyo.」
上記の例の第2に対して、従来技術で同様に文アラインメントを推定すると、例えば、次のような結果が得られる。即ち、原言語文書における第1文「彼は本を読み、彼女は東京へ行く。」が、目的言語文書における第1文「He reads a book.」と対であると推定される。原言語文書における第2文「犬が公園で走る。」が、目的言語文書における第2文「A dog runs at a park.」と対であると推定される。原言語文書におけるnull(ヌル)が、目的言語文書における第3文「She goes to Tokyo.」と対であると推定される。
本例においても、推定された文対の片方がnull(ヌル)であるということは、その言語の側において対応する文がないことを意味する。
【0009】
以上、例示したように、従来技術では、文のアラインメントを正しく推定できない場合がある。
本発明は、このような事情を考慮して為されたものであり、二言語による文書間で対応する文の順序が一致しない場合にも正しくアラインメント推定をすることのできるアラインメント推定装置およびプログラムを提供しようとするものである。
【課題を解決するための手段】
【0010】
上記の課題を解決するため、本発明の一態様によるアラインメント推定装置は、第1言語と第2言語との対訳辞書を記憶する対訳辞書記憶部と、前記対訳辞書記憶部に記憶された前記対訳辞書を参照しながら、前記第1言語により記述された第1文書データと、前記第2言語により記述された第2文書データとの間でアラインメント推定を行う第1アラインメント推定部と、前記第1アラインメント推定部による推定結果において前記第2文書データ内の前記第1文書データに対応付いていない部分と、前記第1文書データとのアラインメント推定を行う第2アラインメント推定部と、を具備することを特徴とする。
【0011】
また、本発明の一態様は、上記のアラインメント推定装置において、前記第2アラインメント推定部による推定結果に基づいて、前記第1文書データに含まれる表現と前記第2文書データに含まれる表現との間で順序が一致するように並べ替えを行う並べ替え処理部と、前記対訳辞書記憶部に記憶された前記対訳辞書を参照しながら、前記並べ替え処理部によって並べ替えられた結果の前記第1文書データと前記第2文書データとの間でさらにアラインメント推定を行う第3アラインメント推定部と、をさらに具備することを特徴とする。
【0012】
また、本発明の一態様は、上記のアラインメント推定装置において、前記第1アラインメント推定部および前記第2アラインメント推定部による推定結果に基づいて、前記第1文書データに含まれる表現と前記第2文書データに含まれる表現との対を対訳表現対として出力する推定結果出力部、をさらに具備することを特徴とする。
【0013】
本発明の一態様は、上記のアラインメント推定装置において、前記第1アラインメント推定部および前記第2アラインメント推定部は、それぞれ、文単位でのアラインメント推定を行い、前記推定結果出力部は、前記第1文書データに含まれる1つの文または複数の文の列と、前記第2文書データに含まれる1つの文または複数の文の列、との対を前記対訳表現対として出力する、ことを特徴とする。
【0014】
また、本発明の一態様は、コンピューターを、上記のいずれかのアラインメント推定装置として機能させるためのプログラムである。
【発明の効果】
【0015】
本発明によれば、対訳文書同士のアラインメントにおいて、表現(文等の単位)の順序が一致しない箇所についても、正しいアラインメントを推定することが可能となる。
【発明を実施するための形態】
【0017】
次に、図面を参照しながら、本発明の実施形態について説明する。
[第1実施形態]
図1は、本実施形態によるアラインメント推定装置の概略機能構成を示すブロック図である。同図に示すように、アラインメント推定装置1は、第1アラインメント推定部100と、第2アラインメント推定部101と、並べ替え処理部102と、第3アラインメント推定部103と、原言語文書記憶部111と、目的言語文書記憶部112と、推定結果記憶部121および122と、並べ替え済目的言語文書記憶部131と、対訳辞書記憶部141と、推定結果出力部151と、を含んで構成される。
これら各部は、デジタルデータとして表されるデータを処理するものであり、電子回路を用いて実現される。また、原言語文書記憶部111と、目的言語文書記憶部112と、推定結果記憶部121および122と、並べ替え済目的言語文書記憶部131と、対訳辞書記憶部141は、それぞれ、半導体メモリまたは磁気ハードディスク装置等を用いて構成され、デジタルデータを記憶する。アラインメント推定装置1を構成する各部の機能は、次に述べるとおりである。
【0018】
本実施形態では、次の4段階の処理により課題を解決する。
(第1段階)ダイナミックプログラミングのアルゴリズムを用いて、文アラインメントを推定する。この際に両言語で文の順番が入れ替わっている文は対応する文が無いと推定される。
(第2段階)対応が無いと推定された目的言語文と原言語文との間で文アラインメントを推定する。
(第3段階)ここまでで得られた文アラインメントを用いて、目的言語文を対応する原言語文の順番と同じになるように並べ替える。
(第4段階)再度、ダイナミックプログラミングのアルゴリズムを用いて、文アラインメントを推定する。
【0019】
第1アラインメント推定部100は、原言語文書記憶部111から読み出した原言語文書(第1言語により記述された第1文書データ)と、目的言語文書記憶部112から読み出した目的言語文書(第2言語により記述された第2文書データ)とのアラインメント推定処理を行う。具体的には、第1アラインメント推定部100は、対訳辞書記憶部141から読み出す対訳辞書のデータを参照して、両文書内の対応しあう単語対を特定しながら、ダイナミックプログラミングを用いて、文書内の表現のアラインメントを行う。このとき、第1アラインメント推定部100は、原言語文書内における文の順序を維持し、且つ、目的言語文書内における文の順序を維持する、という制約下でアラインメント推定を行う。そして、より具体的には、第1アラインメント推定部100は、文単位でのアラインメントを行う。第1アラインメント推定部100は、推定結果である文アラインメントのデータを出力し、推定結果記憶部121に書きこむ。文アラインメントのデータは、両文書間でどの文同士が対応しあうものであるかを表すデータであり、その詳細については後述する。
【0020】
第2アラインメント推定部101は、推定結果記憶部121を参照し、対応先を持たない目的言語文の集合と、原言語文書内の文の集合との間で、文アラインメントを推定する処理を行う。対応先を持たない目的言語文とは、第1アラインメント推定部100による推定の結果として、原言語文が対応しなかった目的言語文である。なお、第2アラインメント推定部101は、対応先を持たない目的言語文の集合に関して元の文書内における順序を維持したまま(つまり、順序を有する目的言語文の列として扱いながら)、原言語文書内の文の列とのアラインメント推定を行う。つまり、第2アラインメント推定部101は、第1アラインメント推定部100による推定結果において、原言語文書内の部分(文)と、目的言語文書内の原言語文書に対応付いていない部分(文)とのアラインメント推定を行う。
【0021】
なお、第2アラインメント推定部101はまた、対訳辞書記憶部141から読み出す対訳辞書のデータに基づいて両文書内の対応しあう単語対を特定しながら、アラインメント推定を行う。第2アラインメント推定部101は、推定結果である文アラインメントのデータを出力し、推定結果記憶部122に書きこむ。
【0022】
第2アラインメント推定部101が用いるアラインメント推定手法として、第1アラインメント推定部100が用いる手法と同じ手法を用いても良いし、異なる手法を用いても良い。第1アラインメント推定部100と異なる手法として、例えば、第1アラインメント推定部100が用いるスコアと同様のアラインメントスコアに基づきながら、文の順番を考慮せず、スコアが高い文を対応先と推定する手法を用いることができる。さらに、第2アラインメント推定部101は、意味が対応しあう語の割合についての閾値を設定し、両言語間で意味が対応する語の割合がその閾値以上の場合のみアラインメントするようにしてもよい。これにより対訳ではない文を対応付けてアラインメントしてしまうことを避けることができる。
【0023】
並べ替え処理部102は、第2アラインメント推定部101による推定結果に基づいて、原言語文書に含まれる文(表現)と目的言語文書に含まれる文(表現)との間で順序が一致するように並べ替えを行う。具体的には、並べ替え処理部102は、推定結果記憶部121および122に記憶されている推定結果のデータをそれぞれ読み出し、それらに基づいて、目的言語の文の順序を並べ替える。なお、並べ替え処理部102は、目的言語の文の順序が、対応する原言語の文の順序に合うように、目的言語の文の順序を並べ替える。なお、推定結果記憶部121は第1アラインメント推定部100による推定結果のデータを記憶しており、推定結果記憶部122は第2アラインメント推定部101による推定結果のデータを記憶している。
【0024】
並べ替え処理部102は、具体的な操作として、目的言語文書内の各文に対して対応する原言語文書内の文の番号を一時的に付与し、その一時的に付与された文番号の昇順に目的言語文をソートする(並べ替える)処理を行う。このとき、対応先がない目的言語文(即ち、対応先の原言語文がヌルであるような目的言語文)に関しては、当該目的言語文の直前の目的言語文に付与されている原言語文の番号を付与する。また、ある目的言語文に複数の原言語文が対応付いている場合には、それら複数の原言語文のうちの1つの原言語文の文番号を、当該目的言語文に一時的に付与してからソート処理を行うようにする。
なお、並べ替え処理部102は、並べ替えた結果の順序による目的言語文書を、並べ替え済目的言語文書記憶部131に書きこむ。
なお、並べ替え処理部102は、文のテキストを構成する文字列のデータを記憶装置内で物理的に並べ替える処理を行っても良く、またはその代わりに、文を指標する数値等のデータのみを記憶装置内で並べ替える処理を行っても良い。
【0025】
第3アラインメント推定部103は、第1アラインメント推定部100と同じ機能を有する。ただし、第1アラインメント推定部100が元々の順序で並べられた原言語の文と目的言語の文を処理の対象とするのに対して、第3アラインメント推定部103は目的言語文書に関しては、並べ替え処理部102によって並べ替えられた順序の文を処理対象とする。なお、第3アラインメント推定部103は、並べ替え済目的言語文書記憶部131から、並べ替え済の目的言語の文を読み出す。つまり、第3アラインメント推定部103は、並べ替え処理部102によって並べ替えられた結果の原言語文書と目的言語文書との間でさらにアラインメント推定を行う。
なお、この第3アラインメント推定部103を実現するために、第1アラインメント推定部100と共通の機能部(回路、あるいはプログラムにおける共通ルーチンなど)を用いるようにしても良い。
【0026】
なお、並べ替え済みの文書に対して、さらに第3アラインメント推定部103がアラインメント推定を行うことにより、1つの文アラインメントの中に複数の目的言語文が含まれる場合などにも、アラインメント推定の本来の性能が発揮できる状態で処理を行えるようになる。
【0027】
原言語文書記憶部111は、原言語(第1言語)により書かれた文書のデータを記憶する。原言語は、自然言語の一つであり、例えば、日本語、英語、ドイツ語、フランス語、ロシア語、スペイン語、中国語等である。原言語文書は、原言語による表現の列である。表現の一例は文であり、本実施形態では原言語文書を文の列として扱う。なお、原言語文書記憶部111は、外部から入力された原言語文書のデータを記憶する。原言語文書記憶部111のより具体的な構成については、後で図面を参照しながらさらに説明する。
【0028】
目的言語文書記憶部112は、目的言語(第2言語)により書かれた文書のデータを記憶する。目的言語は、原言語とは異なる自然言語の一つである。目的言語文書は、目的言語による表現の列である。表現の一例は文であり、本実施形態では目的言語文書を文の列として扱う。なお、目的言語文書記憶部112は、外部から入力された目的言語文書のデータを記憶する。目的言語文書記憶部112のより具体的な構成については、後で図面を参照しながらさらに説明する。
【0029】
推定結果記憶部121および122は、それぞれ、第1アラインメント推定部100および第2アラインメント推定部101によるアラインメント推定の結果を記憶するものである。推定結果記憶部121および122の詳細については、後で図面を参照しながら説明する。
【0030】
並べ替え済目的言語文書記憶部131は、並べ替え処理部102によって並べ替えられた目的言語文書を記憶するものである。並べ替え済目的言語文書記憶部131のデータ構造自体は、目的言語文書記憶部112のデータ構造と同様のものである。
【0031】
対訳辞書記憶部141は、原言語(第1言語)と目的言語(第2言語)の間の単語レベルまたはそれに準じるレベルでの対訳辞書のデータを記憶している。この対訳辞書のデータは、第1アラインメント推定部100と第2アラインメント推定部101と第3アラインメント推定部103の処理の際に、参照される。
【0032】
推定結果出力部151は、第3アラインメント推定部103による推定結果に基づき、文の対訳を出力する。
つまり、推定結果出力部151は、第1アラインメント推定部100と第2アラインメント推定部101と第3アラインメント推定部103による推定結果に基づいて、原言語文書に含まれる表現と目的言語文書に含まれる表現との対を対訳文対(対訳表現対)として出力する。
【0033】
図2は、原言語文書記憶部111および目的言語文書記憶部112、それぞれのデータ構成を示す概略図である。
図示するように、原言語文書記憶部111は、表形式のデータ構造を有しており、文番号と文の2つの項目を有する。文番号は、原言語文書内の文の順序を表すデータである。図示する例では、プレフィクス「S」を付して、S1,S2,S3,・・・という文番号を用いている。なお、このような「S」で始まる文番号に限らず、文の順序(全順序)を特定できるデータであれば他の形式の文番号を用いても良い。また、文は、各文番号に対応して、原言語により表された文を格納する項目である。図示する例では、原言語文書は、「彼は本を読む。」、「彼女は東京へ行く。」、「犬が走る。」、・・・という順序で並ぶ文の列である。また、目的言語文書記憶部112も、表形式のデータ構造を有しており、文番号と文の2つの項目を有する。文番号は、目的言語文書内の文の順序を表すデータである。図示する例では、プレフィクス「T」を付して、T1,T2,T3,・・・という文番号を用いている。なお、このような「T」で始まる文番号に限らず、文の順序(全順序)を特定できるデータであれば他の形式の文番号を用いても良い。また、文は、各文番号に対応して、目的言語により表された文を格納する項目である。図示する例では、目的言語文書は、「He reads a book.」、「A dog runs and a rabbit hops.」、「She goes to Tokyo.」、・・・という順序で並ぶ文の列である。
【0034】
なお、並べ替え済目的言語文書記憶部131が記憶するデータの構造も、
図2に示した目的言語文書記憶部112のデータ構造と同様のものである。
【0035】
図3は、アラインメント推定の結果を表すデータ構成を示す概略図である。推定結果記憶部121および122は、それぞれ、同図に示すデータを記憶する。
図示するように、アラインメント推定結果のデータは、原言語側の文番号(または複数の文番号の列、またはnull)と目的言語側の文番号(または複数の番号の列、またはnull)との対応関係の列として表される。同図においては、左側に、参照用の行番号を付している。そして、このデータの各行が原言語側と目的言語側との間の対応関係の一つを表している。
【0036】
図示する例では、第1行目、第3行目、第5行目、第6行目のデータでは、原言語側の単一の文と目的言語側の単一の文とが対応している。即ち、S1とT1が対応し、S2とT3が対応し、S5とT4が対応し、S6とT5が対応している。
また、第2行目のデータでは、原言語側がnullである。つまり、目的言語側の文であるT2に対応する原言語側の文が存在しない。
また、第4行目のデータでは、原言語側の複数の文の列であり、目的言語側がnullである。即ち、原言語側の(S3,S4)の列に対応する目的言語側の文が存在しない。
また、第7行目のデータでは、原言語側の複数の文の列と、目的言語側の複数の文の列とが対応している。即ち、原言語側の2文の列である(S7,S8)と、目的言語側の3文の列である(T6、T7,T8)が対応している。
また、第8行目のデータでは、原言語側の単一の文と目的言語側の複数の文の列が対応している。即ち、S9と、(T9,T10)の列が対応している。
【0037】
なお、推定結果記憶部121に格納されるデータは、第1アラインメント推定部100によって推定された結果のアラインメントを表すものである。したがって、原言語側においても目的言語側においてもそれぞれ、文番号の逆転は生じていない。つまり、原言語側または目的言語側のいずれに関しても、文番号の前後関係は維持されたままである。
一方で、推定結果記憶部122に格納されるデータでは、第1アラインメント推定部100によって対応付かなかった原言語文を、第2アラインメント推定部101が全目的言語文の中のいずれかに対応付けた結果が含まれる。したがって、推定結果記憶部122に格納されるデータでは、目的言語側においては文番号の逆転が生じている場合があり得る。
【0038】
ここで、ダイナミックプログラミングを用いた、文書内の表現(文)をアラインメント推定する手法について説明する。第1アラインメント推定部100、第2アラインメント推定部101、第3アラインメント推定部103のいずれもが、下記の手法を用いることができる。この手法では、アラインメントが交差しない範囲で、文アラインメントを自動指定する。つまり、推定結果において原言語文書と目的言語文書との間で、対象となる文の順序の逆転がない。そして、この手法は、上記のように対応する文対の文の順序を維持するという制約を維持したまま、文の削除(省略)、文の追加、連続する複数文(連続する文の列)を対の一方として対応させることを許容し、アラインメントを推定する。
【0039】
この手法では、アラインメントの良さを評価するスコアを用いて、そのスコアが最大となる文アラインメントを探索する処理を行う。
原言語文書をD
sとする。また、目的言語文書をD
tとする。
原言語文書D
sに含まれる文をf
iとする。ここで、iは文番号であり、i∈{1,・・・,I}である。文の先頭のほうが文番号iは小さい。
目的言語文書D
tに含まれる文をe
jとする。ここで、jは文番号であり、j∈{1,・・・,J}である。文の先頭のほうが文番号jは小さい。
文アラインメントは、前の文アラインメントの最後の(即ちk−1番目の)文番号対(i
k−1,j
k−1)から着目している文アラインメントの最後の(即ちk番目の)文番号対(i
k,j
k)で表すことができる。ここで、i
k−1とi
kは、いずれも原言語文書の文番号である。なお、アラインメントの際に文の順序が維持されるという制約により、i
k−1≦i
kである。また、j
k−1とj
kは、いずれも目的言語文書の文番号である。なお、アラインメントの際に文の順序が維持されるという制約により、j
k−1≦j
kである。
【0040】
ここで、sを、アラインメントを評価するためのスコアを求める関数とする。
そして、S(i
k,j
k)を、原言語文書中の文の並びf
1,・・・,f
ik(ここでkはiの添え字)と、目的言語文書中の文の並びe
1,・・・,e
jk(ここでkはjの添え字)との間の最大スコアとする。
このS(i
k,j
k)は、S(0,0)=0を初期値として、次の式(1)で再帰的に表すことができる。
【0042】
なお、スコア関数s(i
k−1,j
k−1,i
k,j
k,D
s,D
t)は、一致する単語の頻度や、文書中の単語数や、各アラインメント中の文数や単語数に基づく値を返すよう適切に定義されるものである。
なお、ここで述べたアラインメントの手法自体は、既存技術に属するものである。
【0043】
図4は、アラインメント推定装置1の処理手順を示すフローチャートである。以下、このフローチャートに沿って、処理手順を説明する。
まずステップS11において、第1アラインメント推定部100は、原言語文書記憶部111から読み出した原言語文書と、目的言語文書記憶部112から読み出した目的言語文書との間の、アラインメント推定を行う。そして、第1アラインメント推定部100は、その推定結果のデータを推定結果記憶部121に書き込む。
【0044】
次に、ステップS12において、第2アラインメント推定部101は、推定結果記憶部121のデータを参照し、対応先を持たない目的言語文を抽出する。つまり、第2アラインメント推定部101は、対応先がヌルである目的言語文の番号を抽出し、それらの番号に対応する目的言語文を目的言語文書記憶部112から読み出す。そして、第2アラインメント推定部101は、対応先を持たない目的言語文の集合と、原言語文書内の文書の集合との間のアラインメント推定を行う。そして、第2アラインメント推定部101は、その推定結果のデータを推定結果記憶部122に書き込む。
【0045】
次に、ステップS13において、並べ替え処理部102は、推定結果記憶部122のデータを参照し、原言語文の順序と対応する目的言語文の順序とが逆転しなくなるように、目的言語文の順序を並べ替える。そして、並べ替えた結果を、並べ替え済目的言語文書記憶部131に書き込む。
【0046】
次に、ステップS14において、第3アラインメント推定部103は、原言語文書記憶部111から読み出した原言語文書と、並べ替え済目的言語文書記憶部131から読み出した並べ替え済の目的言語文書との間の、アラインメント推定を行う。そして、第3アラインメント推定部103は、その推定結果のアラインメントにしたがって、対訳文対を生成し、推定結果出力部151に渡す。なお、1つの対訳文対は、0個以上の原言語文の列と、0個以上の目的言語文の列との対である。そして、第3アラインメント推定部103は、アラインメント推定結果に含まれるすべての対訳文対を、推定結果出力部151に渡す。
【0047】
次に、ステップS15において、推定結果出力部151は、第3アラインメント推定部103から渡された対訳文対の集合を、外部に出力する。
そして、アラインメント推定装置1は、このフローチャート全体の処理を終了する。
【0048】
[第2実施形態]
次に、第2実施形態について説明する。なお、第1実施形態で説明したのと同様の機能を有する部については、同一の符号を付している。また、第1実施形態と同様の事項については説明を省略する場合があり、本実施形態に特有の事項を中心に説明する。
【0049】
本実施形態では、次の2段階の処理により課題を解決する。
(第1段階)ダイナミックプログラミングのアルゴリズムを用いて、文アラインメントを推定する。この際に両言語で文の順番が入れ替わっている文は対応する文が無いと推定される。
(第2段階)対応が無いと推定された目的言語文と原言語文どの間で文アラインメントを推定する。
【0050】
図5は、本実施形態によるアラインメント推定装置の概略機能構成を示すブロック図である。図示するように、アラインメント推定装置2は、第1アラインメント推定部100と、第2アラインメント推定部101と、原言語文書記憶部111と、目的言語文書記憶部112と、推定結果記憶部121および122と、対訳辞書記憶部141と、推定結果出力部152と、を含んで構成される。
【0051】
つまり、アラインメント推定装置2は、第1実施形態で説明した並べ替え処理部102や、第3アラインメント推定部103や、並べ替え済目的言語文書記憶部131の機能を有していない。したがって、アラインメント推定装置2は、目的言語文の並べ替え、並べ替えた結果を用いて再度第3アラインメント推定部103によるアラインメント推定を行うといった処理を行わない。
【0052】
本実施形態において、推定結果出力部152は、第1アラインメント推定部100による推定結果のデータを推定結果記憶部121から読み出し、また、第2アラインメント推定部101による推定結果のデータを推定結果記憶部122から読み出す。そして、推定結果出力部152は、これらの推定結果に基づいて、原言語文書記憶部111から読み出した文と目的言語文書記憶部112から読み出した文とを用いて対訳文対を生成し、それらの対訳文対を外部に出力する。
つまり、推定結果出力部152は、第1アラインメント推定部100と第2アラインメント推定部101による推定結果に基づいて、原言語文書に含まれる表現と目的言語文書に含まれる表現との対を対訳文対(対訳表現対)として出力する。
【0053】
図6は、アラインメント推定装置2の処理手順を示すフローチャートである。以下、このフローチャートに沿って、アラインメント推定装置2による処理手順について説明する。
まずステップS21において、第1アラインメント推定部100は、原言語文書記憶部111から読み出した原言語文書と、目的言語文書記憶部112から読み出した目的言語文書との間の、アラインメント推定を行う。そして、第1アラインメント推定部100は、その推定結果のデータを推定結果記憶部121に書き込む。
【0054】
次に、ステップS22において、第2アラインメント推定部101は、推定結果記憶部121のデータを参照し、対応先を持たない目的言語文を抽出する。そして、第2アラインメント推定部101は、対応先を持たない目的言語文の集合と、原言語文書内の文書の集合との間のアラインメント推定を行う。そして、第2アラインメント推定部101は、その推定結果のデータを推定結果記憶部122に書き込む。
【0055】
次に、ステップS23において、推定結果出力部152は、上記の推定結果に基づく対訳文対を出力する。具体的には、推定結果出力部152は、推定結果記憶部121および122のそれぞれから、アラインメント推定結果のデータを読み出す。そして、推定結果出力部152は、推定結果のアラインメントにしたがって対訳文対を生成し、出力する。なお、1つの対訳文対は、0個以上の原言語文の列と、0個以上の目的言語文の列との対である。そして、推定結果出力部152は、アラインメント推定結果に含まれるすべての対訳文対を、外部に出力する。
【0056】
なお、上述した各実施形態におけるアラインメント推定装置の機能をコンピューターで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0057】
以上、複数の実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。
【0058】
上記実施形態では、原言語と目的言語とを区別してアラインメント推定を行い、その結果として対訳表現対を出力した。変形例として、原言語と目的言語とを逆転させて前述の実施形態と同様の処理を行っても良い。また、原言語と目的言語とを区別せずに、2言語を対等に扱って同様の処理を行っても良い。
【0059】
また、上記実施形態では、文(sentence)単位でアラインメント推定を行った。しかしながら、変形例として、文以外の単位でアラインメント推定の処理を行うようにしても良い。文以外の単位とは、例えば、段落や、複数の文から成る文の塊や、文を構成するより小さい単位(節や句など)である。
【0060】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0061】
[処理例]
第1実施形態および第2実施形態による処理の実例について説明する。
図7は、第1実施形態および第2実施形態による処理結果の例を示す概略図である。以下の説明において、この図を参照する。
【0062】
[第1実施形態による処理例]
図7(A)は、入力された原言語文書および目的言語文書を示す。つまり、処理の初期の状態において、原言語文書記憶部111は、原言語文書を構成する4つの文S1〜S4を記憶している。また、目的言語文書記憶部112は、目的言語文書を構成する3つの文T1〜T3を記憶している。
図7(B)は、第1アラインメント推定部100が、
図7(A)に示した原言語文書と目的言語文書とのアラインメント推定を行った結果である。つまり、文S1は文T1に対応する。文T2に対応する原言語文は存在しない。文S2は文T3に対応する。文S3に対応する目的言語文は存在しない。そして、文S4に対応する目的言語文は存在しない。
【0063】
ここで、第2アラインメント推定部101は、原言語文に対応していない目的言語文の集合と、原言語文書内の文の集合との間で、アラインメント推定を行う。
図7(B)においてヌルと対応付いている目的言語文は、文番号T2の文である。つまり、第2アラインメント推定部101は、原言語文書と、目的言語文T2との間のアラインメント推定を行う。
図7(C)は、その第2アラインメント推定部101による推定結果である。原言語文S3が目的言語文T2に対応している。なお、依然として原言語文S4の対応先はない。
【0064】
図7(D)は、並べ替え処理部102が目的言語文の順序を並べ替えた結果を示している。つまり、
図7(A)で示した目的言語文「A dog runs and a rabbit hops.」と「She goes to Tokyo.」の順序が入れ替わっている。なお、ここで、並べ替え後の文の順序にしたがって目的言語文の番号を付与し直している。即ち、「She goes to Tokyo.」の文番号がT2であり、「A dog runs and a rabbit hops.」の文番号がT3である。
そして、アラインメント推定結果のデータにおいても、目的言語文の文番号を更新しているため、
図7(D)においては、文S2が文T2に対応し、文S3が文T3に対応している。なお、依然、文S4は目的言語文に対応していない。
【0065】
図7(E)は、第3アラインメント推定部103が、
図7(D)に示した原言語文書と並べ替え済の目的言語文書とのアラインメント推定を行った結果である。即ち、文S1は文T1に対応し、文S2は文T2に対応し、文S3とS4の列が文T3に対応している。このように、本例では、
図7(E)の段階で、目的言語文に対応しない原言語文が存在せず、また、原言語文に対応しない目的言語文も存在しない状態になった。
【0066】
図7(F)は、推定結果出力部151が
図7(E)の推定結果に基づいて出力する対訳文対である。つまり、出力される対訳文対は3つあり、下記の通りである。
第1の対訳文対:S1とT1が対応:「彼は本を読む。」−「He reads a book.」
第2の対訳文対:S2とT2が対応:「彼女は東京へ行く。」−「She goes to Tokyo.」
第3の対訳文対:(S3,S4)とT3が対応:「犬が走る。ウサギがはねる。」−「A dog runs and a rabbit hops.」
出力されるこれらの対訳文対は、対訳文書対を基に自動的に抽出されたものであり、統計的翻訳に利用することができる。
【0067】
[第2実施形態による処理例]
第2実施形態による処理結果の例は、上述した
図7(A),
図7(B),
図7(C)までは、同一である。
そして、第2実施形態では、並べ替え処理部102による処理と、第3アラインメント推定部103による処理とを行わない。
つまり、第2実施形態による推定結果出力部152は、
図7(C)に示す対応関係に基づいて、
図7(A)に示す文から、対訳文対を生成して出力する。つまり、出力される対訳文対は3つあり、下記の通りである。
第1の対訳文対:S1とT1が対応:「彼は本を読む。」−「He reads a book.」
第2の対訳文対:S2とT3が対応:「彼女は東京へ行く。」−「She goes to Tokyo.」
第3の対訳文対:S3とT2が対応:「犬が走る。」−「A dog runs and a rabbit hops.」
出力されるこれらの対訳文対は、対訳文書対を基に自動的に抽出されたものであり、統計的翻訳に利用することができる。
【0068】
なお、第1実施形態による処理結果例と、第2実施形態による処理結果例とを比較すると、第2実施形態で出力される第3の対訳文対が、第1実施形態で出力される対訳文対とは異なる。つまり、第2実施形態で出力される第3の対訳文対には、原言語文書内に存在していた「ウサギがはねる。」という表現は存在しない。つまり、ここに示した例に関して言うと、第1実施形態のほうが出力される対訳文対の精度が高い。一方で、第2実施形態は、より少ない処理量で、統計的機械翻訳に用いるのに有用な量の対訳文対を出力している。