特許第6646977号(P6646977)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

特許6646977アラインメント推定装置およびプログラム
<>
  • 特許6646977-アラインメント推定装置およびプログラム 図000003
  • 特許6646977-アラインメント推定装置およびプログラム 図000004
  • 特許6646977-アラインメント推定装置およびプログラム 図000005
  • 特許6646977-アラインメント推定装置およびプログラム 図000006
  • 特許6646977-アラインメント推定装置およびプログラム 図000007
  • 特許6646977-アラインメント推定装置およびプログラム 図000008
  • 特許6646977-アラインメント推定装置およびプログラム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6646977
(24)【登録日】2020年1月16日
(45)【発行日】2020年2月14日
(54)【発明の名称】アラインメント推定装置およびプログラム
(51)【国際特許分類】
   G06F 40/45 20200101AFI20200203BHJP
【FI】
   G06F17/28 627
【請求項の数】5
【全頁数】16
(21)【出願番号】特願2015-165675(P2015-165675)
(22)【出願日】2015年8月25日
(65)【公開番号】特開2017-45170(P2017-45170A)
(43)【公開日】2017年3月2日
【審査請求日】2018年7月2日
【権利譲渡・実施許諾】特許権者において、実施許諾の用意がある。
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100141139
【弁理士】
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100171446
【弁理士】
【氏名又は名称】高田 尚幸
(74)【代理人】
【識別番号】100114937
【弁理士】
【氏名又は名称】松本 裕幸
(74)【代理人】
【識別番号】100171930
【弁理士】
【氏名又は名称】木下 郁一郎
(74)【代理人】
【識別番号】100064908
【弁理士】
【氏名又は名称】志賀 正武
(74)【代理人】
【識別番号】100108578
【弁理士】
【氏名又は名称】高橋 詔男
(72)【発明者】
【氏名】後藤 功雄
【審査官】 長 由紀子
(56)【参考文献】
【文献】 特開2014−154102(JP,A)
【文献】 特開2014−153857(JP,A)
【文献】 特開2005−202509(JP,A)
【文献】 特開2009−223525(JP,A)
【文献】 特開2007−241855(JP,A)
【文献】 特開2002−215619(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/20−28
(57)【特許請求の範囲】
【請求項1】
第1言語と第2言語との対訳辞書を記憶する対訳辞書記憶部と、
前記対訳辞書記憶部に記憶された前記対訳辞書を参照しながら、前記第1言語により記述された第1文書データと、前記第2言語により記述された第2文書データとの間で、前記第1文書データにおける文の順序を維持し且つ前記第2文書データにおける文の順序を維持しながら、文単位のアラインメント推定を行う第1アラインメント推定部と、
前記第1アラインメント推定部による推定結果において前記第2文書データ内の前記第1文書データに対応付いていないと、前記第1文書データ内の文との、前記第2文書データ内の前記第1文書データに対応付いていない文の前記第2文書データ内における順序を維持したままの、アラインメント推定を行う第2アラインメント推定部と、
を具備することを特徴とするアラインメント推定装置。
【請求項2】
前記第2アラインメント推定部による推定結果に基づいて、前記第1文書データに含まれると前記第2文書データに含まれるとの間で順序が一致するように並べ替えを行う並べ替え処理部と、
前記対訳辞書記憶部に記憶された前記対訳辞書を参照しながら、前記並べ替え処理部によって並べ替えられた結果の前記第1文書データ内の文と、前記第2文書データ内の文との間でアラインメント推定を行う第3アラインメント推定部と、
をさらに具備することを特徴とする請求項1に記載のアラインメント推定装置。
【請求項3】
前記第1アラインメント推定部および前記第2アラインメント推定部による推定結果に基づいて、前記第1文書データに含まれると前記第2文書データに含まれるとの対を対訳表現対として出力する推定結果出力部、
をさらに具備することを特徴とする請求項1に記載のアラインメント推定装置。
【請求項4】
前記第1アラインメント推定部および前記第2アラインメント推定部のそれぞれは、ダイナミックプログラミングを用いて前記アラインメント推定を行う、
ことを特徴とする請求項1から3までのいずれか一項に記載のアラインメント推定装置。
【請求項5】
コンピューターを、
請求項1から4までのいずれか一項に記載のアラインメント推定装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然言語による表現のアラインメントを行うための、アラインメント推定装置、およびそのプログラムに関する。
【背景技術】
【0002】
異なる言語(例えば、日本語と英語)で書かれた文書対から、パラレル表現対(例えば、パラレル文対)を自動的に獲得することは、効率性の観点から有益である。パラレル表現対とは、異なる言語間で対訳の関係にある対である。統計的機械翻訳技術は、パラレル表現対を利用するが、そのようなパラレル表現対を大量に収集することにより、機械翻訳の精度を上げることができる。以下では、「表現」が文(sentence)である場合について説明する。
【0003】
対訳の文書対においては、パラレル文対を成す各言語の文は、それぞれの文書内においてほぼ同一の順序で並ぶことが期待される。そのため、従来技術によってパラレル文対を自動獲得する場合には、ダイナミックプログラミング(DP,dynamic programing)に基づいたアルゴリズムを用いて、文の順番に関する制約を与えていた。即ち、従来技術では、原言語(source language)と目的言語(target language)との間で対応する文の順番が同じであるという制約を与えることにより、文の順番の情報を活用して文アラインメントを推定していた。
【0004】
非特許文献1,2,および3には、それぞれ、ダイナミックプログラミングに基づいたアルゴリズムを用いて、原言語文書と目的言語文書との間で対応する文対の順番が一致しているという条件によって、文アラインメントを推定する技術が記載されている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】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,1991年.
【非特許文献2】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,2003年
【非特許文献3】Xiaoyi Ma. Champollion,A Robust Parallel Text Sentence Aligner,In Proceedings of the 5th edition of the International Conference on Language Resources and Evaluation,2006年.
【発明の概要】
【発明が解決しようとする課題】
【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】
本発明によれば、対訳文書同士のアラインメントにおいて、表現(文等の単位)の順序が一致しない箇所についても、正しいアラインメントを推定することが可能となる。
【図面の簡単な説明】
【0016】
図1】本発明の第1実施形態によるアラインメント推定装置の概略機能構成を示すブロック図である。
図2】同実施形態による原言語文書記憶部および目的言語文書記憶部、それぞれのデータ構成を示す概略図である。
図3】同実施形態によるアラインメント推定の結果を表すデータの構成を示す概略図である。
図4】同実施形態によるアラインメント推定装置の処理手順を示すフローチャートである。
図5】第2実施形態によるアラインメント推定装置の概略機能構成を示すブロック図である。
図6】同実施形態によるアラインメント推定装置の処理手順を示すフローチャートである。
図7】第1実施形態および第2実施形態によるアラインメント推定処理の実例を示す概略図である。
【発明を実施するための形態】
【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とする。また、目的言語文書をDとする。
原言語文書Dに含まれる文をfとする。ここで、iは文番号であり、i∈{1,・・・,I}である。文の先頭のほうが文番号iは小さい。
目的言語文書Dに含まれる文をeとする。ここで、jは文番号であり、j∈{1,・・・,J}である。文の先頭のほうが文番号jは小さい。
文アラインメントは、前の文アラインメントの最後の(即ちk−1番目の)文番号対(ik−1,jk−1)から着目している文アラインメントの最後の(即ちk番目の)文番号対(i,j)で表すことができる。ここで、ik−1とiは、いずれも原言語文書の文番号である。なお、アラインメントの際に文の順序が維持されるという制約により、ik−1≦iである。また、jk−1とjは、いずれも目的言語文書の文番号である。なお、アラインメントの際に文の順序が維持されるという制約により、jk−1≦jである。
【0040】
ここで、sを、アラインメントを評価するためのスコアを求める関数とする。
そして、S(i,j)を、原言語文書中の文の並びf,・・・,fik(ここでkはiの添え字)と、目的言語文書中の文の並びe,・・・,ejk(ここでkはjの添え字)との間の最大スコアとする。
このS(i,j)は、S(0,0)=0を初期値として、次の式(1)で再帰的に表すことができる。
【0041】
【数1】
【0042】
なお、スコア関数s(ik−1,jk−1,i,j,D,D)は、一致する単語の頻度や、文書中の単語数や、各アラインメント中の文数や単語数に基づく値を返すよう適切に定義されるものである。
なお、ここで述べたアラインメントの手法自体は、既存技術に属するものである。
【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実施形態は、より少ない処理量で、統計的機械翻訳に用いるのに有用な量の対訳文対を出力している。
【産業上の利用可能性】
【0069】
本発明は、機械翻訳処理に利用することができる。本発明は、一例として、放送等のコンテンツに関係する翻訳処理に利用することができる。
【符号の説明】
【0070】
1,2 アラインメント推定装置
100 第1アラインメント推定部
101 第2アラインメント推定部
102 並べ替え処理部
103 第3アラインメント推定部
111 原言語文書記憶部
112 目的言語文書記憶部
121,122 推定結果記憶部
131 並べ替え済目的言語文書記憶部(目的言語文書記憶部)
141 対訳辞書記憶部
151,152 推定結果出力部
図1
図2
図3
図4
図5
図6
図7