JP6192098B2 - 対訳フレーズ学習装置、統計的機械翻訳装置、対訳フレーズ学習方法、およびプログラム - Google Patents

対訳フレーズ学習装置、統計的機械翻訳装置、対訳フレーズ学習方法、およびプログラム Download PDF

Info

Publication number
JP6192098B2
JP6192098B2 JP2013126490A JP2013126490A JP6192098B2 JP 6192098 B2 JP6192098 B2 JP 6192098B2 JP 2013126490 A JP2013126490 A JP 2013126490A JP 2013126490 A JP2013126490 A JP 2013126490A JP 6192098 B2 JP6192098 B2 JP 6192098B2
Authority
JP
Japan
Prior art keywords
phrase
appearance frequency
pair
frequency information
bilingual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013126490A
Other languages
English (en)
Other versions
JP2015001862A (ja
Inventor
渡辺 太郎
太郎 渡辺
チュー ツォンフィ
チュー ツォンフィ
隅田 英一郎
英一郎 隅田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2013126490A priority Critical patent/JP6192098B2/ja
Priority to PCT/JP2014/063668 priority patent/WO2014203681A1/ja
Publication of JP2015001862A publication Critical patent/JP2015001862A/ja
Application granted granted Critical
Publication of JP6192098B2 publication Critical patent/JP6192098B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Description

本発明は、対訳フレーズを学習する対訳フレーズ学習装置等に関するものである。
従来の統計的機械翻訳(非特許文献1参照)において、対訳データからフレーズテーブルなどの対訳知識を抽出し、翻訳モデルを学習する。そして、その翻訳モデルに基づき、翻訳システムを実現する。また、正確な翻訳モデルを推定するためには、大量の対訳データをバッチ学習と呼ばれる学習方法で学習する必要があった。なお、バッチ学習とは、全ての学習データについて最適化を行う学習の方法である。
また、特に、対訳データは年々増加しており、従来技術では、データを追加するたびに再学習を必要とする。しかし、この再学習の結果、より良い翻訳モデルが推定されるという保証がなかった。
かかる課題を解決するために、従来、対訳データを分野毎に分割し、各分野で局所的な翻訳モデルを学習し、その翻訳モデルを組み合わせる方法があった(非特許文献2参照)。
また、従来技術において、原言語の入力文に対し、その分野を適切に割り当てる、といった判別機による手法があった(非特許文献3参照)。
また、従来技術において、分野依存の素性を追加し、そのパラメータを分野のラベルが付与された対訳データに対して最適化する手法が用いられている(非特許文献3〜6参照)。
さらに、従来技術において、インクリメンタル学習という手法があり、かかる手法において、対訳データを追加するたびに、その追加分に応じてモデルを更新している(非特許文献7参照)。
Phillip Koehn, Franz Josef Och, and Daniel Marcu. 2003. Statistical phrase-based translation. In Proc. HLT. George Foster and Roland Kuhn. 2007. Mixture-model adaptation for smt. In Proc. of the second workshop of SMT. Jia Xu, Yonggang Deng, Yuqing Gao, and Hermann Ney. 2007. Domain dependent statistical machine translation. MT Summit XI. Wei Wang, Klaus Macherey, Wolfgang Macherey, Franz Och, and Peng Xu. 2012. Improved domain adaptation for statistical machine translation. In Proc. of AMTA. Yajuan Lu, Jin Huang, and Qun Liu. 2007. Improving statistical machine translation performance by training data selection and optimization. In Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning (EMNLP-CoNLL), pages 343-350. Jinsong Su, Hua Wu, Haifeng Wang, Yidong Chen, Xiaodong Shi, Huailin Dong, and Qun Liu. 2012. Translation model adaptation for statistical machine translation with monolingual topic information. In Proc. of ACL. Abby Levenberg, Chris Callison-Burch, and Miles Osborne. 2010. Stream-based translation models for statistical machine translation. In Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics, HLT '10, pages 394- 402, Stroudsburg, PA, USA. Association for Computational Linguistics.
しかしながら、上記の分野適用による手法では、各分野で局所的に学習した場合に、対訳データが少なくなるため、正確に翻訳モデルを推定できない、という課題があった。また、分野適用による手法では、分野ごとの重みを決定するため、または入力文の分野を判別するために、判別器を必要とする。特に、非特許文献2や3に係る技術では、入力文に対して、適切な分野を割り当てる判別器が必要とあり、翻訳の精度はその判別器の性能に依存する、という課題があった。
また、非特許文献4〜6における素性に基づく手法では、分野のラベル付けされた正確な対訳データを必要とする、という課題があった。
さらに、非特許文献7におけるインクリメンタル学習は、オンラインEMアルゴリズムなど、複雑なパラメータの調整を必要とする技術に基づいており、また、追加された翻訳モデルをさらに最適化するなど複雑なシステムとなる、という課題があった。
以上をまとめると、従来技術においては、対訳コーパスを追加するたびに、翻訳モデルを段階的に充実させる場合の処理が面倒であった。
本発明は、かかる点に鑑み、追加した対訳コーパスから生成された翻訳モデルを元の翻訳モデルに繋げて利用することにより、容易に翻訳モデルを段階的に充実させることを目的とする。
本第一の発明の対訳フレーズ学習装置は、対訳文と対訳文の木構造とを有する1以上の対訳情報を有するN(Nは2以上の自然数)の対訳コーパスを格納し得る対訳情報格納部と、第一言語の1以上の単語を有する第一言語フレーズと、第二言語の1以上の単語を有する第二言語フレーズとの対であるフレーズペアとフレーズペアの出現確率に関する情報であるスコアとを有する1以上のスコア付きフレーズペアを、対訳コーパスごとに格納し得るフレーズテーブルと、フレーズペアと、フレーズペアの出現頻度に関する情報であるF出現頻度情報とを有する1以上のフレーズ出現頻度情報を、対訳コーパスごとに格納し得るフレーズ出現頻度情報格納部と、新しいフレーズペアを生成する方法を識別する記号と、記号の出現頻度に関する情報であるS出現頻度情報とを有する1以上の記号出現頻度情報を格納し得る記号出現頻度情報格納部と、対訳コーパスごとに、1以上のフレーズ出現頻度情報を用いて、第一言語フレーズと第二言語フレーズとを有するフレーズペアを取得する生成フレーズペア取得部と、フレーズペアを取得できた場合、フレーズペアに対応するF出現頻度情報を、予め決められた値だけ増加するフレーズ出現頻度情報更新部と、フレーズペアを取得できなかった場合、1以上の記号出現頻度情報を用いて、一の記号を取得する記号取得部と、記号取得部が取得した記号に対応するS出現頻度情報を、予め決められた値だけ増加する記号出現頻度情報更新部と、フレーズペアを取得できなかった場合、取得しようとしたフレーズペアより小さい2つのフレーズペアを生成する部分フレーズペア生成部と、記号取得部が取得した記号に従って、新しいフレーズペアを生成する第一の処理、または、2つのより小さいフレーズペアを生成し、1以上のフレーズ出現頻度情報を用いて、生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第二の処理、または、2つのより小さいフレーズペアを生成し、1以上のフレーズ出現頻度情報を用いて、生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを逆順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第三の処理のいずれかを行う新フレーズペア生成部と、新フレーズペア生成部が生成したフレーズペアに対して、フレーズ出現頻度情報更新部、記号取得部、記号出現頻度情報更新部、部分フレーズペア生成部、および新フレーズペア生成部の処理を再帰的に行うことを指示する制御部と、フレーズ出現頻度情報格納部に格納されている1以上のフレーズ出現頻度情報を用いて、フレーズテーブルの各フレーズペアに対するスコアを算出するスコア算出部と、スコア算出部が算出したスコアを各フレーズペアに対応付けて蓄積するフレーズテーブル更新部とを具備し、スコア算出部は、j(2<=j<=N)番目の対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、(j−1)番目の対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、j番目の対訳コーパスに対応する各フレーズペアに対するスコアを算出する対訳フレーズ学習装置である。
かかる構成により、容易に翻訳モデルの段階的に充実させることができる。
また、本第二の発明の対訳フレーズ学習装置は、第一の発明に対して、対訳情報格納部は、1以上の対訳コーパスを格納しており、対訳コーパスを受け付ける対訳コーパス受付部と、対訳コーパス受付部が受け付けた対訳コーパスを対訳情報格納部に蓄積する対訳コーパス蓄積部とをさらに具備し、制御部は、対訳コーパス蓄積部が受け付けられた対訳コーパスを対訳情報格納部に蓄積した後、対訳コーパスに対する生成フレーズペア取得部、フレーズ出現頻度情報更新部、記号取得部、記号出現頻度情報更新部、部分フレーズペア生成部、および新フレーズペア生成部の処理を行うことを指示し、スコア算出部は、対訳コーパス受付部が受け付けた対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、対訳コーパス蓄積部が対訳コーパスを蓄積する前に対訳情報格納部に格納されていた1以上の対訳コーパスのいずれかの対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、対訳コーパス受付部が受け付けた対訳コーパスに対応する各フレーズペアに対するスコアを算出する対訳フレーズ学習装置である。
かかる構成により、容易に翻訳モデルの段階的に充実させることができる。
また、本第三の発明の対訳フレーズ学習装置は、第一の発明に対して、2以上の対訳文をNにグループに分割し、かつ各グループの対訳文から対訳文の木構造を取得して作成したNの対訳コーパスを、対訳情報格納部に蓄積する対訳コーパス生成部をさらに具備し、スコア算出部は、一の対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、一の対訳コーパスとは異なる他の対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、一の対訳コーパスに対応する各フレーズペアに対するスコアを算出する対訳フレーズ学習装置である。
かかる構成により、容易に翻訳モデルの段階的に充実させることができる。
また、本第四の発明の対訳フレーズ学習装置は、第一から第三いずれかの発明に対して、スコア算出部は、階層的な中華レストラン過程を用いて、各対訳コーパスに対応する各フレーズペアに対するスコアを算出する対訳フレーズ学習装置である。
かかる構成により、階層的な中華レストラン過程を用いて、容易に翻訳モデルを段階的に充実させることができる。
また、本第五の発明の統計的機械翻訳装置は、第一から第四いずれかの対訳フレーズ学習装置が学習したフレーズテーブルと、1以上の単語を有する第一言語の文を受け付ける受付部と、受付部が受け付けた文から1以上のフレーズを抽出し、フレーズテーブルのスコアを用いて、フレーズテーブルから第二言語の1以上のフレーズを取得するフレーズ取得部と、フレーズ取得部が取得した1以上のフレーズから第二言語の文を構成する文構成部と、文構成部が構成した文を出力する出力部とを具備する統計的機械翻訳装置である。
かかる構成により、段階的に充実させた翻訳モデルを用いて、精度の高い機械翻訳を実現できる。
本発明による対訳フレーズ学習装置によれば、容易に翻訳モデルを段階的に充実させることができる。
本発明の実施の形態1における対訳フレーズ学習装置1のブロック図 本発明の実施の形態1における対訳フレーズ学習装置1の動作を説明するフローチャート 本発明の実施の形態1におけるフレーズ生成処理を説明するフローチャート 本発明の実施の形態1における対訳情報を構成する木構造の例を示す図 本発明の実施の形態2における対訳フレーズ学習装置2のブロック図 本発明の実施の形態2における対訳フレーズ学習装置2の動作を説明するフローチャート 本発明の実施の形態3における統計的機械翻訳装置3のブロック図 本発明の実施の形態における実験で使用したデータセットを説明する図 本発明の実施の形態における実験結果を示す図 本発明の実施の形態における実験結果を示す図 本発明の実施の形態における実験結果を示す図 本発明の実施の形態におけるコンピュータシステムの概観図 本発明の実施の形態におけるコンピュータシステムのブロック図
以下、対訳フレーズ学習装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、追加した対訳コーパスから生成された翻訳モデルを元の翻訳モデルに繋げることにより、容易に翻訳モデルを段階的に充実させることができる対訳フレーズ学習装置について説明する。
図1は、本実施の形態における対訳フレーズ学習装置1のブロック図である。
対訳フレーズ学習装置1は、対訳情報格納部100、フレーズテーブル101、フレーズ出現頻度情報格納部102、記号出現頻度情報格納部103、対訳コーパス受付部104、対訳コーパス蓄積部105、フレーズテーブル初期化部106、生成フレーズペア取得部107、フレーズ出現頻度情報更新部108、記号取得部109、記号出現頻度情報更新部110、部分フレーズペア生成部111、新フレーズペア生成部112、制御部113、スコア算出部114、パージング部115、フレーズテーブル更新部116、および木更新部117を備える。
対訳情報格納部100は、N(Nは2または3以上の自然数)の対訳コーパスを格納し得る。ここでの対訳コーパスは、1以上の対訳情報を有する。対訳情報は、対訳文と当該対訳文の木構造とを有する。また、対訳文とは、第一言語文と第二言語文との対である。第一言語文は、第一言語の文である。第二言語文は、第二言語の文である。ここで、文は、1以上の単語の意味であり、フレーズも含む。対訳文の木構造とは、2つの各言語の文を分割したフレーズ(単語も含む)の対応を木構造で表した情報である。
なお、対訳情報格納部100は、処理前に、1つの対訳コーパスを格納しており、後に2つ目以降、1以上の対訳コーパスが蓄積されるようにしても良い。
フレーズテーブル101は、Nの各対訳コーパスごとに、1以上のスコア付きフレーズペアを格納し得る。スコア付きフレーズペアは、フレーズペアとスコアとを有する。フレーズペアは、第一言語フレーズと第二言語フレーズとの対である。第一言語フレーズは、第一言語の1以上の単語を有するフレーズである。第二言語フレーズは、第二言語の1以上の単語を有するフレーズである。フレーズは、文も含むとして、広く解する。また、スコアは、フレーズペアの出現確率に関する情報である。また、スコアとは、例えば、フレーズペア確率θである。なお、ここでフレーズペアは、ルールペアも含む概念であり、広く解する、とする。また、1以上のスコア付きフレーズペアは、上述した翻訳モデルと同意義である、と解しても良い。
フレーズ出現頻度情報格納部102は、対訳コーパスごとに、1以上のフレーズ出現頻度情報を格納し得る。フレーズ出現頻度情報は、フレーズペアとF出現頻度情報とを有する。F出現頻度情報は、フレーズペアの出現頻度に関する情報である。F出現頻度情報は、フレーズペアの出現頻度であることが好適であるが、フレーズペアの出現確率等でも良い。なお、F出現頻度情報の初期値は、例えば、すべて0である。
記号出現頻度情報格納部103は、1以上の記号出現頻度情報を格納し得る。記号出現頻度情報は、記号とS出現頻度情報とを有する。記号とは、新しいフレーズペアを生成する方法を識別する情報である。記号は、例えば、BASE、REG、INVのいずれかである。ここで、BASEとは基底測度からフレーズペアを生成することを示す記号、REGとは普通非終端記号、INVとは倒置非終端記号である。また、S出現頻度情報は、記号の出現頻度に関する情報である。S出現頻度情報は、記号の出現頻度であることが好適であるが、記号の出現確率等でも良い。また、S出現頻度情報の初期値は、例えば、3つの記号すべてに対して0である。なお、基底測度とは、例えば、IBM Model 1 などの単語翻訳モデルにより計算される事前確率であり、公知の技術であるので、詳細な説明を省略する。
対訳コーパス受付部104は、対訳コーパスを受け付ける。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
対訳コーパスの入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。対訳コーパス受付部104は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
対訳コーパス蓄積部105は、対訳コーパス受付部104が受け付けた対訳コーパスを対訳情報格納部100に蓄積する。
フレーズテーブル初期化部106は、対訳コーパスの1以上の対訳情報から、1以上のスコア付きフレーズペアの初期の情報を生成し、フレーズテーブル101に蓄積する。なお、フレーズテーブル初期化部106は、例えば、1以上の対訳情報が有する対訳文の木構造に出現するフレーズペアとその出現回数をスコア付きフレーズペアとして取得し、フレーズテーブル101に蓄積する。なお、かかる場合、スコアは出現回数である。フレーズテーブル初期化部106は、通常、対訳コーパスごとに、1以上のスコア付きフレーズペアの初期の情報を生成し、フレーズテーブル101に蓄積する。フレーズテーブル初期化部106は、対訳コーパス受付部104が受け付けた対訳コーパスが有する1以上の対訳情報から、1以上のスコア付きフレーズペアの初期の情報を生成し、フレーズテーブル101に蓄積しても良い。
生成フレーズペア取得部107は、対訳コーパスごとに、1以上のフレーズ出現頻度情報を用いて、第一言語フレーズと第二言語フレーズとを有するフレーズペアを取得する。
生成フレーズペア取得部107は、対訳コーパスごとに、対訳コーパスに格納されている1以上の各対訳文を取得し、当該各対訳文の木構造を構成する1以上の各フレーズペアの出現分(通常、出現頻度の「1」)を、フレーズテーブル101に存在するフレーズペアのスコアから引く。次に、生成フレーズペア取得部107は、1以上のフレーズ出現頻度情報を用いて、第一言語フレーズと第二言語フレーズとを有するフレーズペアを取得する(正確には、取得しようとする)。ここで、1以上のフレーズ出現頻度情報を用いることは、例えば、フレーズペアの確率分布Pを用いることであっても良い。つまり、生成フレーズペア取得部107は、フレーズペアの確率分布Pを用いて、第一言語フレーズと第二言語フレーズとを有するフレーズペアを取得することは好適である。
フレーズ出現頻度情報更新部108は、生成フレーズペア取得部107または新フレーズペア生成部112がフレーズペアを取得できた場合、当該フレーズペアに対応するF出現頻度情報を、予め決められた値だけ増加する。ここでのF出現頻度情報とは、通常、フレーズペアの出現頻度である。また、予め決められた値とは、通常、1である。
記号取得部109は、生成フレーズペア取得部107等がフレーズペアを取得できなかった場合、1以上の記号出現頻度情報を用いて、一の記号を取得する。ここで、1以上の記号出現頻度情報を用いることは、記号の確率分布Px(x;θx)を用いることが好適である。つまり、記号取得部109は、生成フレーズペア取得部107が生成フレーズペアを取得できなかった場合、記号の確率分布を用いて、一の記号を取得することが好適である。なお、一の記号とは、例えば、BASE、REG、INVのいずれかである。なお、Px(x;θx)の「x」は記号、(θx)は記号が採用される確率である。
記号出現頻度情報更新部110は、記号取得部109が取得した記号に対応するS出現頻度情報を、予め決められた値だけ増加する。また、予め決められた値とは、通常、1である。
部分フレーズペア生成部111は、生成フレーズペア取得部107等がフレーズペアを取得できなかった場合、取得しようとしたフレーズペアより小さい2つのフレーズペアを生成する。また、部分フレーズペア生成部111は、フレーズペアを取得できなかった場合、通常、フレーズペアの事前確率を用いて、取得しようとしたフレーズペアより小さい2つのフレーズペアを生成する。さらに詳細には、例えば、j番目の対訳コーパスにおけるフレーズペアを生成しようとする場合、部分フレーズペア生成部111は、(j−1)番目の対訳コーパスにおけるフレーズペアの事前確率Pj−1を用いて、取得しようとしたフレーズペアより小さい2つのフレーズペアを生成する。なお、j=1の場合、部分フレーズペア生成部111は、Pbase(例えば、IBM Model 1)を用いて、取得しようとしたフレーズペアより小さい2つのフレーズペアを生成する。例えば、取得しようとしたフレーズペアが<red cookbook,赤い 料理 本>の場合、「Pbase(<red cookbook,赤い 料理 本>)=Px(REG)* Pt(<red,赤い>)*P_{t}(<cookbook,料理 本>)+Px(REG)* Pt(<red,赤い 料理>)*Pt(<cookbook,本>)+Px(INV)* Pt(<red,本>)*Pt(<cookbook,赤い 料理>)+Px(INV)* Pt(<red,料理 本>)*Pt(<cookbook,赤い>)+Px(BASE)* Pbase(<red cookbook,赤い 料理 本>)」である。なお、Pbaseとは、例えばIBM Model 1などの単語翻訳モデルにより計算される事前確率である。
新フレーズペア生成部112は、記号取得部109が取得した記号に従って、第一の処理、または第二の処理、または第三の処理のいずれかを行う。新フレーズペア生成部112は、記号取得部109が取得した記号がBASEである場合に第一の処理を行い、記号がREGである場合に第二の処理を行い、記号がINVである場合に第三の処理を行う。
ここで、第一の処理は、新しいフレーズペアを生成する処理である。また、第一の処理は、フレーズペアの事前確率を用いて、新しいフレーズペアを生成する処理である。ここで、j(2<=j<=N)番目の対訳コーパスに対して処理を行っている場合に、第一の処理で利用するフレーズペアの事前確率は、(j−1)番目の対訳コーパスに対するフレーズペアの事前確率である。
また、第二の処理は、2つのより小さいフレーズペアを生成し、1以上のフレーズ出現頻度情報を用いて、生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する処理である。
さらに、第三の処理は、2つのより小さいフレーズペアを生成し、1以上のフレーズ出現頻度情報を用いて、生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを逆順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する処理である。ここで、1以上のフレーズ出現頻度情報を用いることは、フレーズペアの生成確率(Phier)を用いる意味でも良い。
制御部113は、新フレーズペア生成部112が生成したフレーズペアに対して、フレーズ出現頻度情報更新部108、記号取得部109、記号出現頻度情報更新部110、部分フレーズペア生成部111、および新フレーズペア生成部112の処理を再帰的に行うことを指示する。なお、再帰的に行うとは、通常、処理対象が単語ペアになった時点で、再帰的な処理が終了する意味である。なお、再帰処理は、処理対象がPtから直接(基底測度を用いずに)フレーズを生成した場合に終了する。また、再帰処理は、PxからBASEを生成して、Pbaseからフレーズペアを生成した場合に終了する。
また、制御部113は、対訳コーパス蓄積部105が受け付けられた対訳コーパスを対訳情報格納部100に蓄積した後、対訳コーパスに対する生成フレーズペア取得部107、フレーズ出現頻度情報更新部108、記号取得部109、記号出現頻度情報更新部110、部分フレーズペア生成部111、および新フレーズペア生成部112の処理を行うことを指示しても良い。
スコア算出部114は、フレーズ出現頻度情報格納部102に格納されている1以上のフレーズ出現頻度情報を用いて、フレーズテーブル101の各フレーズペアに対するスコアを算出する。
スコア算出部114は、j(2<=j<=N)番目の対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、(j−1)番目の対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、j番目の対訳コーパスに対応する各フレーズペアに対するスコアを算出する。
また、スコア算出部114は、対訳コーパス受付部104が受け付けた対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、対訳コーパス蓄積部105が対訳コーパスを蓄積する前に対訳情報格納部100に格納されていた1以上の対訳コーパスのいずれかの対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、対訳コーパス受付部104が受け付けた対訳コーパスに対応する各フレーズペアに対するスコアを算出しても良い。
また、スコア算出部114は、数式1により階層的な中華レストラン過程を用いて、各対訳コーパスに対応する各フレーズペアに対するスコアを算出しても良い。
以上より、対訳フレーズ学習装置1は、対訳データ<F,E>、全てについてモデルのパラメータを推定するのではなく、ある分野に特定した、対訳データの一部について学習する、と言える。さらに、対訳フレーズ学習装置1は、事前確率として、IBM Model 1などのモデルを使用するのではなく、他の分野で学習されたモデルを使用する、と言える。具体的には、対訳データ<F,E>は、J個の分野<F1,E1>…<FJ,EJ>へと分割されるものとし、j番目の分野の翻訳モデルのパラメータθt は、それ以前のj-1番目の分野で得られたモデルPj-1を事前確率として用い、j番目の分野の対訳データ<Fj,Ej>から学習される(数式2参照)。なお、数式2の翻訳モデルを階層的Pitman-Yorモデルと呼び、例えばngram言語モデルあるいは分野適用で用いられている。また、階層的Pitman-Yorモデルを、階層的な中華レストラン過程として表現した場合、数式1のように表現される。なお、対訳データ<F,E>の「F」は原言語文、「E」は目的言語文(第二言語文)である。
パージング部115は、スコア算出部114で算出したスコアが最大になるような対訳文(フレーズも含む)の木構造を取得する。さらに、詳細には、パージング部115は、ITGのチャートパーサにより、木構造を取得する。なお、ITGのチャートパーサについて、「M.Saers, J.Nivre, and D. Wu.Learning stochastic bracketing inversion transduction grammars with a cubic time biparsing algorithm.In Proc. IWPT, 2009.」に記載されている。
フレーズテーブル更新部116は、スコア算出部114が算出したスコアを各フレーズペアに対応付けて蓄積する。また、フレーズテーブル更新部116は、スコア算出部114が算出したスコアに対応するフレーズペアがフレーズテーブル101に存在しない場合、スコア算出部114が算出したスコアとフレームペアとを有するスコア付きフレーズペアを、フレーズテーブル101に蓄積しても良い。
木更新部117は、パージング部115が取得した木構造を、対訳コーパスに蓄積する。ここで、通常、木更新部117は、木構造を上書きする。つまり、対訳コーパス中の古い木構造は、新しい木構造に更新される。
対訳情報格納部100、フレーズテーブル101、フレーズ出現頻度情報格納部102、および記号出現頻度情報格納部103は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
対訳情報格納部100等に対訳コーパス等が記憶される過程は問わない。例えば、記録媒体を介して対訳コーパス等が対訳情報格納部100等で記憶されるようになってもよく、通信回線等を介して送信された対訳コーパス等が対訳情報格納部100等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された対訳コーパス等が対訳情報格納部100等で記憶されるようになってもよい。
対訳コーパス蓄積部105、フレーズテーブル初期化部106、生成フレーズペア取得部107、フレーズ出現頻度情報更新部108、記号取得部109、記号出現頻度情報更新部110、部分フレーズペア生成部111、新フレーズペア生成部112、制御部113、スコア算出部114、パージング部115、フレーズテーブル更新部116、および木更新部117は、通常、MPUやメモリ等から実現され得る。対訳コーパス蓄積部105等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、対訳フレーズ学習装置1の動作について、図2のフローチャートを用いて説明する。本フローチャートでは、対訳フレーズ学習装置1が、N(Nは2または3以上の自然数)の対訳コーパスを順次受け付け、j(j<N)番目の対訳コーパスからフレーズテーブルを構成する場合に、(j−1)番目のフレーズテーブルを使用する場合について、説明する。
(ステップS201)対訳コーパス受付部104は、カウンタiに1を代入する。
(ステップS202)対訳コーパス受付部104は、i番目の対訳コーパスを受け付けたか否かを判断する。i番目の対訳コーパスを受け付ければステップS203に行き、i番目の対訳コーパスを受け付けなければステップS202に戻る。
(ステップS203)フレーズテーブル初期化部106は、i番目の対訳コーパスが有する1以上の対訳情報から、1以上のスコア付きフレーズペアの初期の情報を生成し、iと対応付けて、フレーズテーブル101に蓄積する。
(ステップS204)生成フレーズペア取得部107は、ステップS201で受け付けられた対訳コーパスが有する1以上の各対訳文を取得し、当該各対訳文の木構造を構成する1以上の各フレーズペアの出現分(通常、出現頻度の「1」)を、フレーズテーブル101に存在するフレーズペアであり、iに対応するフレーズペアのスコアから引く。次に、生成フレーズペア取得部107は、(i−1)に対応するフレーズペアの確率分布Pi−1を用いて、一つのフレーズペアを生成しようとする。なお、「i=1」の場合は、生成フレーズペア取得部107は、確率分布Pbaseを用いて、一つのフレーズペアを生成しようとする。確率分布Pbaseとは、例えば、IBM Model 1である。また、フレーズペアの確率分布は、(i−1)に対応するフレーズペア頻度(F出現頻度情報)を用いて、例えば、Pitman-Yor過程によって算出され得る。なお、フレーズペア頻度(F出現頻度情報)はフレーズ出現頻度情報格納部102に格納されている。また、Pitman-Yor過程に基づいた確率の算出は公知技術であるので、説明を省略する。
(ステップS205)部分フレーズペア生成部111等は、フレーズ生成処理を行う。フレーズ生成処理とは、例えば、階層的ITGを用いた、2階層以上のフレーズの生成処理である。このフレーズ生成処理の詳細については、図3のフローチャートを用いて説明する。
(ステップS206)対訳コーパス受付部104は、カウンタiを1、インクリメントする。
(ステップS207)対訳コーパス受付部104は、「i<=N」を満たすか否かを判断する。「i<=N」を満たす場合はステップS202に戻り、「i<=N」を満たさない場合は処理を終了する。
次に、ステップS205のフレーズ生成処理の詳細について、図3のフローチャートを用いて説明する。
(ステップS301)部分フレーズペア生成部111は、先のフレーズペアの生成の処理において、フレーズペアが生成できたか否かを判断する。フレーズペアが生成できればステップS302に行き、生成できなければステップS305に行く。
(ステップS302)フレーズ出現頻度情報更新部108は、先のフレーズペアの生成の処理において生成されたフレーズペアに対応するF出現頻度情報を予め決められた値(通常、「1」)だけ増加する。なお、フレーズペアがフレーズ出現頻度情報格納部102に存在しない場合は、フレーズ出現頻度情報更新部108は、生成されたフレーズペアとF出現頻度情報とを対応付けて、フレーズ出現頻度情報格納部102に蓄積する。
(ステップS303)スコア算出部114は、更新されたフレーズ出現頻度情報に対応するフレーズペアのスコアを算出する。ここで、スコア算出部114は、当該フレーズペアのスコアを算出する場合に、(i−1)に対応するフレーズ出現頻度情報を使用する(数式1、数式2参照)。
(ステップS304)フレーズテーブル更新部116は、ステップS303で算出されたスコアを有するスコア付きフレーズペアを構成し、フレーズテーブル101に書き込む。なお、フレーズテーブル101に当該フレーズペアが存在しない場合は、フレーズテーブル更新部116は、スコア付きフレーズペアを構成し、新たにフレーズテーブル101に追記する。また、フレーズテーブル101に当該フレーズペアが存在する場合は、フレーズテーブル更新部116は、当該フレーズペアに対応するスコアを、ステップS303で算出されたスコアに更新し、上位処理(S206)にリターンする。
(ステップS305)部分フレーズペア生成部111は、例えば、基底測度Pdacまたは(i−1)番目の対訳コーパスに対応する確率分布Pi−1を用いて、生成しようとしたフレーズペアより小さい2つのフレーズペアを生成する。
(ステップS306)記号取得部109は、1以上の記号出現頻度情報を用いて、一の記号xを取得する。
(ステップS307)記号出現頻度情報更新部110は、記号取得部109が取得した記号xに対応するS出現頻度情報を、予め決められた値(通常、「1」)だけ増加させる。
(ステップS308)新フレーズペア生成部112は、ステップS306で取得された記号xが「BASE」であるか否かを判断する。記号xが「BASE」であればステップS309に行き、「BASE」でなければステップS310に行く。
(ステップS309)新フレーズペア生成部112は、フレーズペアの事前確率を用いて、新しいフレーズペアを生成し、ステップS302にジャンプする。
(ステップS310)新フレーズペア生成部112は、ステップS306で取得された記号xが「REG」であるか否かを判断する。記号xが「REG」であればステップS311に行き、「REG」でなければステップS315に行く。なお、記号xが「REG」でなければ、記号xは「INV」である。
(ステップS311)新フレーズペア生成部112は、より小さい2つのフレーズペアを生成する。なお、ここでの2つのフレーズペアを第一フレーズペア、と第二フレーズペアとする。
(ステップS312)ステップS311で生成された第一フレーズペアに対して、図3のフレーズ生成処理を行う。
(ステップS313)ステップS311で生成された第二フレーズペアに対して、図3のフレーズ生成処理を行う。
(ステップS314)新フレーズペア生成部112は、ステップS312とステップS313で生成された2つのフレーズペアを順に連結し、一つのフレーズペアを生成し、ステップS302にジャンプする。
(ステップS315)新フレーズペア生成部112は、より小さい2つのフレーズペアを生成する。なお、ここでの2つのフレーズペアを第三フレーズペア、と第四フレーズペアとする。
(ステップS316)ステップS315で生成された第三フレーズペアに対して、図3のフレーズ生成処理を行う。
(ステップS317)ステップS315で生成された第四フレーズペアに対して、図3のフレーズ生成処理を行う。
(ステップS318)新フレーズペア生成部112は、ステップS316とステップS317で生成された2つのフレーズペアを逆順に連結し、一つのフレーズペアを生成し、ステップS302にジャンプする。
なお、図2、図3のフローチャートにおいて、ステップS304の後、リターンの前に、パージング部115による木構造の生成、および木更新部117による木構造の更新処理が行われることは好適である。更新される木構造は、対訳コーパス内のi番目の対訳コーパスの木構造である。
以下、本実施の形態における対訳フレーズ学習装置1の具体的な動作について説明する。
今、記号出現頻度情報格納部103には、記号「BASE」「REG」「INV」と、各記号の出現頻度の組である3つの記号出現頻度情報が格納されている、とする。
かかる状況において、まず、対訳コーパス受付部104は、1番目の対訳コーパスを受け付け、対訳情報格納部100に1と対応付けて、1番目の対訳コーパスを蓄積した、とする。
次に、フレーズテーブル初期化部106は、1番目の対訳コーパスが有する1以上の対訳情報から、1以上のスコア付きフレーズペアの初期の情報を生成し、1と対応付けて、フレーズテーブル101に蓄積する。
次に、生成フレーズペア取得部107は、1番目の対訳コーパスから一の対訳文を取得する。次に、生成フレーズペア取得部107は、取得した対訳文の木構造を構成する1以上の各フレーズペアの出現分(通常、出現頻度の「1」)を、フレーズテーブル101に存在するフレーズペアのスコアから引く。次に、生成フレーズペア取得部107は、当該対訳文であるフレーズペア<f,e>を、確率分布Pbase を用いて生成しようとする。確率分布Pbase は、例えば、IBM MODEL 1 などにより、予め推定しておき、対訳フレーズ学習装置1が予め保持している、とする。
そして、部分フレーズペア生成部111は、先のフレーズペアの生成の処理において、フレーズペアが生成できなかった、と判断した場合、以下のように処理を行う。
つまり、部分フレーズペア生成部111は、Pbase を用いて、再帰的に、生成しようとしたフレーズペアより小さい2つのフレーズペアを生成する。そして、生成したより小さい2つのフレーズペアを組み合わせることで新たなフレーズペアを生成する。なお、フレーズペアの対応関係<f,e>の確率は、数式3により示される、とする。
また、θt は、翻訳モデルのパラメータであり、全ての<f,e>の確率値を表したテーブルとする。この場合、θt は、数式4のpitman-You過程で推定される。
次に、記号取得部109は、3つの記号出現頻度情報を用いて、記号の確率分布Px(x;θx)に従って、記号を生成する。そして、記号出現頻度情報更新部110は、記号「x=reg」に対応するS出現頻度情報を1だけ増加する。
次に、生成した記号xが「x=base」の場合、新フレーズペア生成部112は、新しいフレーズペアをPbase から直接生成する。また、生成した記号xが「x=reg」の場合、新フレーズペア生成部112は、<f1,e1>と<f2,e2>をフレーズペアの生成確率(Phier)から生成し、1つのフレーズペア<f1f2,e1e2>を作成する。また、生成した記号xが「x=inv」の場合、新フレーズペア生成部112は、<f1,e1>と<f2,e2>をPhierから生成し、f1とf2を逆順に並べて、1つのフレーズペア<f2f1,e1e2>を作成する。
そして、フレーズ出現頻度情報更新部108は、新たに作成されたフレーズペアのフレーズ出現頻度情報を更新する。
また、スコア算出部114は、更新されたフレーズ出現頻度情報に対応するフレーズペアのスコアを、Pbase を用いて算出する。
次に、フレーズテーブル更新部116は、フレーズテーブルを更新する。
次に、パージング部115は、スコア算出部114が算出したスコアを用いて、木構造のスコアが最大になるような新しい木構造を取得する。そして、木更新部117は、取得された木構造を、対訳コーパスに蓄積し、古い木構造を新しい木構造に更新する。
以上の処理により、例えば、フレーズペア「Mrs.Smith's red cookbook/スミスさんの赤い料理本」に対して、図4に示すように、多階層の粒度のフレーズペアが学習できることとなる。なお、図4は、対訳情報を構成する木構造の例である。
また、本具体例におけるフレーズテーブル101の構築法は、例えば、以下である。
フレーズテーブルの素性として、条件付き確率Pt(f|e)とPt(e|f)や、lexical weighting確率、フレーズペナルティなどを利用する。ここでは、モデル確率Ptを使って条件付き確率を計算する。つまり、数式5、数式6を用いて、条件付き確率を算出する。そして、スコア算出部114は、例えば、フレーズテーブルの各素性に予め決められた重みを乗算し、それらの値の和をとることによりスコアを算出する。また、lexical weighting確率は、フレーズを構成する単語を利用して算出できる。かかる算出は公知技術(P.Koehn, F.J.Och, and D.Marcu.Statistical phrase-based translation.In Proc. NAACL,pp.48-54,2003.参照)である。また、フレーズペナルティは、例えば、すべてのフレーズに対して「1」である。
なお、数式5のΣの項は、Pt(e)を表しており、全ての<e,f>のうち、頻度が1以上であり、かつeが一致しているフレーズペアを列挙して、その確率値を合計している。ここで、fはfの真上に存在する)は全ての<e,f>のうち、eが一致しているフレーズペアを構成するfである。また、数式6のΣの項は、Pt(f)を表しており、全ての<e,f>のうち、頻度が1以上であり、かつfが一致しているフレーズペアを列挙して、その確率値を合計している。ここで、eはfの真上に存在する)は全ての<e,f>のうち、fが一致しているフレーズペアを構成するeである。また、c(<e,f>)は<e,f>の頻度を示す。また、c(<e,f>)は<e,f>の頻度を示す。
なお、フレーズテーブル更新部116は、サンプルに1回以上現れるフレーズペアpのみをフレーズテーブル101に入れる。さらに、2つの素性を加える。1つ目はモデルによるフレーズペアの同時確率Pt(<f,e>)である。2つ目はinside-outside アルゴリズムで計算されたスパンの事後確率に基づいて、あるフレーズペア<f,e>が入っているスパンの平均事後確率を素性とする。スパン確率は頻繁に起こるフレーズペア、または頻繁に起こるフレーズペアを元に構成されるフレーズペアで高くなるため、フレーズペアがどの程度信頼できるかを判定するのに有用である。このモデル確率に基づくフレーズ抽出をMODと呼ぶ。なお、スパン確率は、ITGのチャートパーサによって算出できる。
そして、上記の処理を、1番目の対訳コーパスに含まれるすべての対訳文に対して行う。
次に、対訳コーパス受付部104は、2番目の対訳コーパスを受け付け、対訳情報格納部100に2と対応付けて、2番目の対訳コーパスを蓄積した、とする。
次に、フレーズテーブル初期化部106は、2番目の対訳コーパスが有する1以上の対訳情報から、1以上のスコア付きフレーズペアの初期の情報を生成し、2と対応付けて、フレーズテーブル101に蓄積する。
次に、生成フレーズペア取得部107は、2番目の対訳コーパスから一の対訳文を取得する。次に、生成フレーズペア取得部107は、取得した対訳文の木構造を構成する1以上の各フレーズペアの出現分(通常、出現頻度の「1」)を、フレーズテーブル101に存在するフレーズペアのスコアから引く。次に、生成フレーズペア取得部107は、当該対訳文であるフレーズペア<f,e>を、確率分布Pを用いて生成しようとする。確率分布Pは、1番目の対訳コーパスに対する上記処理で取得された確率分布である。
そして、部分フレーズペア生成部111は、先のフレーズペアの生成の処理において、フレーズペアが生成できなかった、と判断した場合、以下のように処理を行う。
つまり、部分フレーズペア生成部111は、Pを用いて、再帰的に、生成しようとしたフレーズペアより小さい2つのフレーズペアを生成する。そして、生成したより小さい2つのフレーズペアを組み合わせることで新たなフレーズペアを生成する。なお、2番目の翻訳モデル(θt )は、数式7のpitman-You過程で推定される、とする。
次に、記号取得部109は、3つの記号出現頻度情報を用いて、記号の確率分布Px(x;θx)に従って、記号を生成する。そして、記号出現頻度情報更新部110は、記号「x=reg」に対応するS出現頻度情報を1だけ増加する。
次に、生成した記号xが「x=base」の場合、新フレーズペア生成部112は、新しいフレーズペアをPから直接生成する。また、生成した記号xが「x=reg」の場合、新フレーズペア生成部112は、<f1,e1>と<f2,e2>をフレーズペアの生成確率(Phier)から生成し、1つのフレーズペア<f1f2,e1e2>を作成する。また、生成した記号xが「x=inv」の場合、新フレーズペア生成部112は、<f1,e1>と<f2,e2>をPhierから生成し、f1とf2を逆順に並べて、1つのフレーズペア<f2f1,e1e2>を作成する。
そして、フレーズ出現頻度情報更新部108は、新たに作成されたフレーズペアのフレーズ出現頻度情報を更新する。なお、このフレーズ出現頻度情報は、2番目の対訳コーパスに対応するフレーズ出現頻度情報である。
また、スコア算出部114は、更新されたフレーズ出現頻度情報に対応するフレーズペアのスコアを、Pを用いて算出する。
次に、フレーズテーブル更新部116は、2番目の対訳コーパスに対応するフレーズテーブルを更新する。
次に、パージング部115は、スコア算出部114が算出したスコアを用いて、木構造のスコアが最大になるような新しい木構造を取得する。そして、木更新部117は、取得された木構造を、対訳コーパスに蓄積し、古い木構造を新しい木構造に更新する。なお、この木構造は、2番目の対訳コーパスに対応する木構造である。
そして、上記の処理を、2番目の対訳コーパスに含まれるすべての対訳文に対して行う。そして、フレーズテーブル101には、2に対応付いた1以上のスコア付きフレーズペアが蓄積される。
以上の処理を、3番目以降の対訳コーパスに対しても行った、とする。そして、フレーズテーブル101には、1番目から(j−1)番目の各対訳コーパスに対応する多数のスコア付きフレーズペアが格納された、とする。そして、例えば、(j−1)番目の多数のフレーズペアの確率分布がPj−1である、とする。なお、ここでjは3以上の自然数である。
かかる状況において、対訳コーパス受付部104は、j番目の対訳コーパスを受け付け、対訳情報格納部100にjと対応付けて、j番目の対訳コーパスを蓄積した、とする。
次に、フレーズテーブル初期化部106は、j番目の対訳コーパスが有する1以上の対訳情報から、1以上のスコア付きフレーズペアの初期の情報を生成し、jと対応付けて、フレーズテーブル101に蓄積する。
次に、生成フレーズペア取得部107は、対訳コーパスから一の対訳文を取得する。次に、生成フレーズペア取得部107は、取得した対訳文の木構造を構成する1以上の各フレーズペアの出現分(通常、出現頻度の「1」)を、フレーズテーブル101に存在するフレーズペアのスコアから引く。次に、生成フレーズペア取得部107は、当該対訳文であるフレーズペア<f,e>を、(j−1)番目のフレーズペアの集合の確率分布PJ−1から生成しようとする。確率分布PJ−1は、(j−1)番目の対訳コーパスに対する処理で取得された確率分布である。
そして、部分フレーズペア生成部111は、先のフレーズペアの生成の処理において、フレーズペアが生成できなかった、と判断した場合、以下のように処理を行う。
つまり、部分フレーズペア生成部111は、確率分布Pj−1を用いて、再帰的に、生成しようとしたフレーズペアより小さい2つのフレーズペアを生成する。そして、生成したより小さい2つのフレーズペアを組み合わせることで新たなフレーズペアを生成する。なお、θ jは、数式8のpitman-You過程で推定される。
次に、記号取得部109は、3つの記号出現頻度情報を用いて、記号の確率分布Px(x;θx)に従って、記号を生成する。そして、記号出現頻度情報更新部110は、記号「x=reg」に対応するS出現頻度情報を1だけ増加する。
次に、生成した記号xが「x=base」の場合、新フレーズペア生成部112は、新しいフレーズペアをPから直接生成する。また、生成した記号xが「x=reg」の場合、新フレーズペア生成部112は、<f1,e1>と<f2,e2>をフレーズペアの生成確率(Phier)から生成し、1つのフレーズペア<f1f2,e1e2>を作成する。また、生成した記号xが「x=inv」の場合、新フレーズペア生成部112は、<f1,e1>と<f2,e2>をPhierから生成し、f1とf2を逆順に並べて、1つのフレーズペア<f2f1,e1e2>を作成する。
そして、フレーズ出現頻度情報更新部108は、新たに作成されたフレーズペアのフレーズ出現頻度情報を更新する。なお、このフレーズ出現頻度情報は、j番目の対訳コーパスに対応するフレーズ出現頻度情報である。
また、スコア算出部114は、更新されたフレーズ出現頻度情報に対応するフレーズペアのスコアを、Pj−1を用いて算出する。
次に、フレーズテーブル更新部116は、j番目の対訳コーパスに対応するフレーズテーブルを更新する。
次に、パージング部115は、スコア算出部114が算出したスコアを用いて、木構造のスコアが最大になるような新しい木構造を取得する。そして、木更新部117は、取得された木構造を、対訳コーパスに蓄積し、古い木構造を新しい木構造に更新する。なお、この木構造は、2番目の対訳コーパスに対応する木構造である。
そして、上記の処理を、j番目の対訳コーパスに含まれるすべての対訳文に対して行う。そして、フレーズテーブル101には、jに対応付いた1以上のスコア付きフレーズペアが蓄積される。
以上、本実施の形態によれば、追加した対訳コーパスから生成された翻訳モデルを元の翻訳モデルに繋げることができ、その結果、容易に翻訳モデルを段階的に充実させることができる。
また、本実施の形態によれば、対訳フレーズ学習装置1で作成したフレーズテーブルを用いた機械翻訳の精度を保ちながら、フレーズテーブルのサイズを大幅に削減できる。つまり、本実施の形態によれば、多数の適切なフレーズペアを学習できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータがアクセス可能な記録媒体は、対訳文と対訳文の木構造とを有する1以上の対訳情報を有するN(Nは2以上の自然数)の対訳コーパスを格納し得る対訳情報格納部と、第一言語の1以上の単語を有する第一言語フレーズと、第二言語の1以上の単語を有する第二言語フレーズとの対であるフレーズペアと当該フレーズペアの出現確率に関する情報であるスコアとを有する1以上のスコア付きフレーズペアを格納し得るフレーズテーブルと、フレーズペアと、当該フレーズペアの出現頻度に関する情報であるF出現頻度情報とを有する1以上のフレーズ出現頻度情報を、対訳コーパスごとに格納し得るフレーズ出現頻度情報格納部と、新しいフレーズペアを生成する方法を識別する記号と、当該記号の出現頻度に関する情報であるS出現頻度情報とを有する1以上の記号出現頻度情報を格納し得る記号出現頻度情報格納部とを具備し、コンピュータを、前記対訳コーパスごとに、前記1以上のフレーズ出現頻度情報を用いて、第一言語フレーズと第二言語フレーズとを有するフレーズペアを取得する生成フレーズペア取得部と、
フレーズペアを取得できた場合、当該フレーズペアに対応するF出現頻度情報を、予め決められた値だけ増加するフレーズ出現頻度情報更新部と、フレーズペアを取得できなかった場合、1以上の記号出現頻度情報を用いて、一の記号を取得する記号取得部と、前記記号取得部が取得した記号に対応するS出現頻度情報を、予め決められた値だけ増加する記号出現頻度情報更新部と、フレーズペアを取得できなかった場合、前記取得しようとしたフレーズペアより小さい2つのフレーズペアを生成する部分フレーズペア生成部と、前記記号取得部が取得した記号に従って、新しいフレーズペアを生成する第一の処理、または、2つのより小さいフレーズペアを生成し、前記1以上のフレーズ出現頻度情報を用いて、前記生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第二の処理、または、2つのより小さいフレーズペアを生成し、前記1以上のフレーズ出現頻度情報を用いて、生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを逆順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第三の処理のいずれかを行う新フレーズペア生成部と、前記新フレーズペア生成部が生成したフレーズペアに対して、前記フレーズ出現頻度情報更新部、前記記号取得部、前記記号出現頻度情報更新部、前記部分フレーズペア生成部、および前記新フレーズペア生成部の処理を再帰的に行うことを指示する制御部と、前記フレーズ出現頻度情報格納部に格納されている1以上のフレーズ出現頻度情報を用いて、フレーズテーブルの各フレーズペアに対するスコアを算出するスコア算出部と、前記スコア算出部が算出したスコアを前記各フレーズペアに対応付けて蓄積するフレーズテーブル更新部として機能させ、前記スコア算出部は、j(2<=j<=N)番目の対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、(j−1)番目の対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、j番目の対訳コーパスに対応する各フレーズペアに対するスコアを算出するものとして、コンピュータを機能させるプログラム、である。
また、前記対訳情報格納部は、1以上の対訳コーパスを格納しており、上位プログラムにおいて、対訳コーパスを受け付ける対訳コーパス受付部と、前記対訳コーパス受付部が受け付けた対訳コーパスを前記対訳情報格納部に蓄積する対訳コーパス蓄積部とをさらに具備し、前記制御部は、前記対訳コーパス蓄積部が前記受け付けられた対訳コーパスを前記対訳情報格納部に蓄積した後、当該対訳コーパスに対する前記生成フレーズペア取得部、前記フレーズ出現頻度情報更新部、前記記号取得部、前記記号出現頻度情報更新部、前記部分フレーズペア生成部、および前記新フレーズペア生成部の処理を行うことを指示し、前記スコア算出部は、前記対訳コーパス受付部が受け付けた対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、前記対訳コーパス蓄積部が前記対訳コーパスを蓄積する前に前記対訳情報格納部に格納されていた1以上の対訳コーパスのいずれかの対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、前記対訳コーパス受付部が受け付けた対訳コーパスに対応する各フレーズペアに対するスコアを算出するものとしてコンピュータを機能させることは好適である。
(実施の形態2)
本実施の形態において、複数の分野を独立に学習し、各分野の事前確率を他の分野で得られたモデルに入れ替え、複数個のモデルを階層的に繋げる対訳フレーズ学習装置について説明する。
図5は、本実施の形態における対訳フレーズ学習装置2のブロック図である。図5に示すように、対訳フレーズ学習装置2は、対訳フレーズ学習装置1と比較して、対訳コーパス生成部201が異なり、対訳コーパス受付部104、対訳コーパス蓄積部105を有さない。
対訳コーパス生成部201は、2以上の対訳文をNにグループに分割し、かつ各グループの対訳文から対訳文の木構造を取得して作成したNの対訳コーパスを、対訳情報格納部100に蓄積する。なお、Nは、2または3以上の自然数である。また、上記の分割の方法は問わない。対訳文にクラスを識別するクラス識別子が付与されている場合は、対訳コーパス生成部201は、当該クラス識別子を用いて、2以上の対訳文をNのグループに分割しても良い。また、対訳コーパス生成部201は、同様の数の対訳文を含むように、2以上の対訳文をNにグループに分割しても良い。
対訳コーパス生成部201は、通常、MPUやメモリ等から実現され得る。対訳コーパス生成部201の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、対訳フレーズ学習装置2の動作について、図6のフローチャートを用いて説明する。図6のフローチャートにおいて、図2のフローチャートと同一のステップについて、説明を省略する。
(ステップS601)対訳コーパス生成部201は、対訳情報格納部100に格納されている2以上の対訳文を、Nのグループに分割する。そして、各グループは、1以上の対訳文を有する対訳コーパスを有する。
(ステップS602)対訳コーパス生成部201は、各グループの1以上の各対訳文の木構造を構成し、対訳情報格納部100に蓄積する。かかる処理により、対訳情報格納部100には、Nのグループの最終的な対訳コーパスが格納された。なお、ここでの対訳コーパスは、対訳文と対訳文の木構造とを有する1以上の対訳情報を有する。
(ステップS603)フレーズテーブル初期化部106は、対訳情報格納部100からi番目の対訳コーパスを取得する。ステップS203に行く。
なお、図6のフローチャートにおいて、j番目のグループの対訳コーパスに対応するフレーズテーブルを構成する場合に、通常、(j−1)番目のグループの対訳コーパスに対応するフレーズテーブルを用いる。しかし、j番目のグループの対訳コーパスに対応するフレーズテーブルを構成する場合に、既に取得されたフレーズテーブルであり、他のグループのフレーズテーブル(例えば、3番目のグループの対訳コーパスに対応するフレーズテーブル)を用いても良い。
以上、本実施の形態によれば、追加した対訳コーパスから生成された翻訳モデルを元の翻訳モデルに繋げることができ、その結果、容易に翻訳モデルを段階的に充実させることができる。
以上、本実施の形態によれば、対訳データを、例えば、分野毎に分割し、各分野で局所的なモデルを学習することにより、並列化が容易となる。また、本実施の形態によれば、学習の結果得られた各統計モデルを結合するとき、その重み付けを再計算する必要がなく、容易に翻訳モデルを充実させることができる。
なお、上記実施の形態で説明した対訳フレーズ学習装置1を用いれば、以下のようなことが可能となる。つまり、対訳フレーズ学習装置1または対訳フレーズ学習装置2によれば、対訳データは日々新しく更新されており、すでにある大規模対訳データに新たに対訳データを追加する場合に、再学習のコストを大幅に低くすることが可能となる。特に、特許データなど新しい分野などへと対応するとき、対訳フレーズ学習装置1または対訳フレーズ学習装置2では、すでにある統計モデルを事前確率として学習し、新たにモデルのパラメータを推定することが容易になる。また、対訳フレーズ学習装置1または対訳フレーズ学習装置2では、日常会話などでも新しい表現が現れるたびに新しく対訳データを追加し、一般的なモデルを事前確率として持ち、その追加分に対してモデルを作成することが可能となる。
なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、コンピュータがアクセス可能な記録媒体は、対訳文と対訳文の木構造とを有する1以上の対訳情報を有するN(Nは2以上の自然数)の対訳コーパスを格納し得る対訳情報格納部と、第一言語の1以上の単語を有する第一言語フレーズと、第二言語の1以上の単語を有する第二言語フレーズとの対であるフレーズペアと当該フレーズペアの出現確率に関する情報であるスコアとを有する1以上のスコア付きフレーズペアを格納し得るフレーズテーブルと、フレーズペアと、当該フレーズペアの出現頻度に関する情報であるF出現頻度情報とを有する1以上のフレーズ出現頻度情報を、対訳コーパスごとに格納し得るフレーズ出現頻度情報格納部と、新しいフレーズペアを生成する方法を識別する記号と、当該記号の出現頻度に関する情報であるS出現頻度情報とを有する1以上の記号出現頻度情報を格納し得る記号出現頻度情報格納部とを具備し、このプログラムは、コンピュータを、前記対訳コーパスごとに、前記1以上のフレーズ出現頻度情報を用いて、第一言語フレーズと第二言語フレーズとを有するフレーズペアを取得する生成フレーズペア取得部と、フレーズペアを取得できた場合、当該フレーズペアに対応するF出現頻度情報を、予め決められた値だけ増加するフレーズ出現頻度情報更新部と、フレーズペアを取得できなかった場合、1以上の記号出現頻度情報を用いて、一の記号を取得する記号取得部と、前記記号取得部が取得した記号に対応するS出現頻度情報を、予め決められた値だけ増加する記号出現頻度情報更新部と、フレーズペアを取得できなかった場合、前記取得しようとしたフレーズペアより小さい2つのフレーズペアを生成する部分フレーズペア生成部と、前記記号取得部が取得した記号に従って、新しいフレーズペアを生成する第一の処理、または、2つのより小さいフレーズペアを生成し、前記1以上のフレーズ出現頻度情報を用いて、前記生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第二の処理、または、2つのより小さいフレーズペアを生成し、前記1以上のフレーズ出現頻度情報を用いて、生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを逆順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第三の処理のいずれかを行う新フレーズペア生成部と、前記新フレーズペア生成部が生成したフレーズペアに対して、前記フレーズ出現頻度情報更新部、前記記号取得部、前記記号出現頻度情報更新部、前記部分フレーズペア生成部、および前記新フレーズペア生成部の処理を再帰的に行うことを指示する制御部と、前記フレーズ出現頻度情報格納部に格納されている1以上のフレーズ出現頻度情報を用いて、フレーズテーブルの各フレーズペアに対するスコアを算出するスコア算出部と、前記スコア算出部が算出したスコアを前記各フレーズペアに対応付けて蓄積するフレーズテーブル更新部として機能させ、前記スコア算出部は、j(2<=j<=N)番目の対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、(j−1)番目の対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、j番目の対訳コーパスに対応する各フレーズペアに対するスコアを算出するものとして、コンピュータを機能させるプログラム、である。
また、上位プログラムにおいて、2以上の対訳文をNにグループに分割し、かつ各グループの対訳文から対訳文の木構造を取得して作成したNの対訳コーパスを、前記対訳情報格納部に蓄積する対訳コーパス生成部として、さらに機能させ、前記スコア算出部は、一の対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、当該一の対訳コーパスとは異なる他の対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、前記一の対訳コーパスに対応する各フレーズペアに対するスコアを算出するものとしてコンピュータを機能させることは好適である。
(実施の形態3)
本実施の形態において、対訳フレーズ学習装置1または対訳フレーズ学習装置2を用いて学習したフレーズテーブル101を利用した統計的機械翻訳装置3について説明する。
図7は、本実施の形態における統計的機械翻訳装置3のブロック図である。統計的機械翻訳装置3は、フレーズテーブル101、受付部301、フレーズ取得部302、文構成部303、出力部304を備える。
フレーズテーブル101は、対訳フレーズ学習装置1または対訳フレーズ学習装置2が学習したフレーズテーブルである。
受付部301は、1以上の単語を有する第一言語の文を受け付ける。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。第一言語の文の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部301は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
フレーズ取得部302は、受付部301が受け付けた文から1以上のフレーズを抽出し、フレーズテーブル101のスコアを用いて、フレーズテーブル101から第二言語の1以上のフレーズを取得する。なお、フレーズ取得部302の処理は公知技術である。
文構成部303は、フレーズ取得部302が取得した1以上のフレーズから第二言語の文を構成する。なお、文構成部303の処理は公知技術である。
出力部304は、文構成部303が構成した文を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
フレーズ取得部302、および文構成部303は、通常、MPUやメモリ等から実現され得る。フレーズ取得部302等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部304は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部304は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
また、統計的機械翻訳装置3の動作については、公知のフレーズベースの統計的機械翻訳処理を行うことで足りるので、詳細な説明を省略する。
以上、本実施の形態によれば、階層的に連結されたフレーズテーブルを用いて、精度の高い機械翻訳が可能となる。
以下、対訳フレーズ学習装置1または対訳フレーズ学習装置2の実験結果について説明する。
(実験)
本実験で使用したデータセットの情報を図8に示す。本実験において、中英翻訳(中国語から英語への翻訳)のタスクを用いた。また、本実験において、図8に示すそれぞれ異なるサイズの3つのデータセットを用いた。図8において、「Data set」はデータセットの名称、「Corpus」はデータセット中のコーパスの名称、「#sent.pairs」は対訳文の数である。
図8のデータセット「IWSLT」は、IWSLT2012 OLYMPICSで用いられたデータセットであり、2つのトレーニングセット(HITコーパス、BTECコーパス)からなる。HITコーパスは、2008年の北京オリンピックに密接に関連している。また、BTECコーパスは、観光関連の文を含んだ多言語音声コーパスである。
また、図8のデータセット「FBIS」は、ニュース記事の集合であり、それ自体、ドメイン(分野)の情報を有していない。そこで、PLDA(http://code.google.com/p/plda/参照のこと。)と言う潜在的ディレクレ分配法(LDA)ツールを用いて、コーパス全体を5つのドメインに分割した。そして、5つの各ドメインにおいて、ソース側(第一言語側)とターゲット側(第二言語側)を単一の文のように連結した(Zhiyuan Liu, Yuzhou Zhang, Edward Y Chang, and Maosong Sun. 2011. Plda+: Parallel latent dirichlet allocation with data placement and pipeline processing.ACM Transactions on Intelligent Systems and Technology (TIST), 2(3):1-18.参照)。
また、図8のデータセット「LDC」は、ニュース、雑誌、金融などの種々のドメインを含み、LDCから取得された5つのコーパスからなる。
また、本実験において、以下の5つのフレーズペアの抽出手法を使用し、対訳フレーズ学習装置1または対訳フレーズ学習装置2の評価を行った。なお、対訳フレーズ学習装置1または対訳フレーズ学習装置2の手法を、「Hier-combin」と言うこととする。
(1)GIZA-linear
本手法において、フレーズペアは、GIZA++(Franz Josef Och and Hermann Ney. 2003. A systematic comparison of various statistical alignment models.Computational linguistics, 29(1):19-51.参照)および最大長7の"grow-diag-final-and"手法により各ドメイン内で抽出される。また、本手法において、種々のドメインから構成されたフレーズテーブルは、特徴量を平均化することによってリニアに結合される。
(2)Pialign-linear
本手法は、GIZA-linearと似ているが、pialignツールキット(Graham Neubig, Taro Watanabe, Eiichiro Sumita,Shinsuke Mori, and Tatsuya Kawahara. 2011. An unsupervised model for joint phrase alignment and extraction. In Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics:Human Language Technologies, pages 632-641,Portland, Oregon, USA, June. Association for Computational Linguistics.参照)を使用することにより、フレーズITG手法を用いた点でGIZA-linearと異なる。本手法でも、抽出されたフレーズペアは、特徴量を平均化することによってリニアに結合される。
(3)GIZA-batch
本手法では、データセットを各ドメインに分割するのではなく、一つのコーパスとして扱われる。そして、本手法では、GIZA-linearと似た、ヒューリスティックGIZAベースのフレーズ抽出法が実行される。
(4)Pialign-batch
本手法では、GIZA-batchと同様、単一モデルは単一のマージされたコーパスとして推定される。Pialignは大規模データを扱えないので、最大のLDCデータセットでは実験できなかった。
(5)Pialign-adaptive
本手法では、アライメントとフレーズペアは、Pialign-batchと同様の方法で抽出される。本手法では、翻訳確率は、モノリンガルトピック情報を用いたアダプティブ手法により推定される。
また、対訳フレーズ学習装置1または対訳フレーズ学習装置2の手法「Hier-combin」において、「Pialign-linear」と同様の方法により、フレーズペアを抽出した。また、フレーズテーブルの連結プロセスにおいて、各フレーズペアの翻訳確率は「Hier-combin」により推定している。また、他の特徴は特徴量を平均化することによりリニアに結合されている。また、「Pialign」は、デフォルトのパラメータを使用している。パラメータ「samps」は5に設定されている。「5」とは、5つのサンプルが一つの対訳文のために生成されることを示す。
さらに、本実験において、各特徴量の重みのチューニングのためにbatch-MIRA(Colin Cherry and George Foster. 2012. Batch tuning strategies for statistical machine translation. In Proceedings of the 2012 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pages 427-436, Montr´eal, Canada, June. Association for Computational Linguistics.参照)を用いた。そして、翻訳品質の評価のために、大文字と小文字を区別しないBLEU−4メトリクス(Kishore Papineni, Salim Roukos, ToddWard, and Wei Jing Zhu. 2002. Bleu: a method for automatic evaluation of machine translation. In Proceedings of 40th Annual Meeting of the Association for Computational Linguistics, pages 311-318, Philadelphia, Pennsylvania, USA, July. Association for Computational Linguistics.参照)を用いた。
以上の環境において行った実験結果を図9に示す。図9において、「BLEU」は翻訳品質の評価値、「Size」はフレーズペアの数を示す。図9において、「Hier-combin」は、「Pialign-linear」より優れていることが分かる。なお、「Hier-combin」と「Pialign-linear」とは、翻訳確率が異なるだけであり、フレーズペア、およびフレーズペアの数は同じである。
また、「Pialign-adaptive」のパフォーマンスは、「Pialign-linear」のパフォーマンスより高く、「Hier-combin」のパフォーマンスより低い。これは、単一言語トピック情報を用いたadaptive手法はタスクで有用であることを証明している。しかし、階層的なPitman-yor過程を用いた「Hier-combin」は、様々なドメインからのすべてのデータに基づいて、より正確な翻訳確率を推定することができる。つまり、図9において、「Hier-combin」は、他の手法と比べて、比較的少ないフレーズペアの数で、種々のデータセットに対して、高い翻訳品質の評価となっていることが分かる。
また、さらに詳細には、図9において、「GIZA-batch」と比較して、「Hier-combin」は、はるかに小さいフレーズテーブルを用いて、競争力のあるパフォーマンスを実現していることが分かる。「Hier-combin」手法によって生成されたフレーズペアの数は、「GIZA-batch」のそれと比較して、各データセット毎に、73.9%、52.7%、45.4%と、非常に小さくなっている。
IWLST2012データセットにおいて、HITコーパスとBTECコーパス間に大きな差があり、「Hier-combin」手法は、「Pialign-batch」手法と比較して、0.814BLEU値の改善が見られた。一方、FBISデータセットにおいて、人為的にサブドメインに分割し、明確な割り当ての違いが明確でなかったために、「Hier-combin」手法は、「GIZA-batch」手法と比較して、0.09 BLEU値で低かった。
また、「Hier-combin」において、複数の各ドメインから、独立にフレーズペアを取得できる。そのため、「Hier-combin」において、ドメインごとに異なるマシンで処理でき、また並列処理も可能となる。
また、図10は、「FBIS」のデータセットを用いた場合の、アライメントとフレーズペアの抽出のためにかかった時間を示す。図10において、「Batch」は、batch-based ITGs sampling method(「pialign-batch」)である。図10は、2.7GHzのE5−2680CPU、128GByteのメモリを用いた実験結果である。また、図10において、「Parallel Extraction」は並列処理した場合の時間、「Integrating」は連結処理の時間、「Total」は並列処理と連結処理の合計の時間である。
「Hier-combin」と「pialign-batch」とを比較すると、図10によれば、「Hier-combin」における訓練のために費やした時間は、「pialign-batch」のほぼ四分の一よりはるかに少ない。一方、図9によれば、「Hier-combin」は「pialign-batch」と比較して、BLEU値は少し高いことが分かる。
階層的に結合する「Hier-combin」手法は、階層的なPitman-Yor過程の性質を利用している。そして、「Hier-combin」手法は、スムージング効果の優位性を得ている。また、「Hier-combin」手法を用いれば、段階的に、より正確な確率で様々なドメインからのすべてのデータに基づいた簡潔なフレーズテーブルを生成することができる。伝統的なSMTにおけるフレーズペアの抽出はバッチベースであるが、「Hier-combin」手法は非常に効率良くフレーズペアの抽出ができ、一方、翻訳精度において、伝統的なSMTの手法に劣らない、と言える。
図11は、「Hier-combin」手法において、3つの各データセットにおいて、異なる結合方法をとった場合のBLEU値を示す。図11において、類似度をキーとして並べた場合であり、「Descending」は降順、「Ascending」は昇順である。なお、データ間の類似度は、5-gram言語モデルを用いたパープレキシティ指標を用いて計算された。
また、図12は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の対訳フレーズ学習装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図12は、このコンピュータシステム300の概観図であり、図13は、システム300のブロック図である。
図12において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図13において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、MPU3013、CD−ROMドライブ3012に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の対訳フレーズ学習装置等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の対訳フレーズ学習装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(端末情報送信部、端末情報受信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上のように、本発明にかかる対訳フレーズ学習装置は、追加した対訳コーパスから生成された翻訳モデルを元の翻訳モデルに繋げて利用することにより、容易に翻訳モデルの段階的に充実させることができる、という効果を有し、機械翻訳のための装置等として有用である。
1、2 対訳フレーズ学習装置
3 統計的機械翻訳装置
100 対訳情報格納部
101 フレーズテーブル
102 フレーズ出現頻度情報格納部
103 記号出現頻度情報格納部
104 対訳コーパス受付部
105 対訳コーパス蓄積部
106 フレーズテーブル初期化部
107 生成フレーズペア取得部
108 フレーズ出現頻度情報更新部
109 記号取得部
110 記号出現頻度情報更新部
111 部分フレーズペア生成部
112 新フレーズペア生成部
113 制御部
114 スコア算出部
115 パージング部
116 フレーズテーブル更新部
117 木更新部
201 対訳コーパス生成部

Claims (7)

  1. 対訳文と対訳文の木構造とを有する1以上の対訳情報を有するN(Nは2以上の自然数)の対訳コーパスを格納し得る対訳情報格納部と、
    第一言語の1以上の単語を有する第一言語フレーズと、第二言語の1以上の単語を有する第二言語フレーズとの対であるフレーズペアと当該フレーズペアの出現確率に関する情報であるスコアとを有する1以上のスコア付きフレーズペアを、対訳コーパスごとに格納し得るフレーズテーブルと、
    フレーズペアと、当該フレーズペアの出現頻度に関する情報であるF出現頻度情報とを有する1以上のフレーズ出現頻度情報を、対訳コーパスごとに格納し得るフレーズ出現頻度情報格納部と、
    新しいフレーズペアを生成する方法を識別する記号と、当該記号の出現頻度に関する情報であるS出現頻度情報とを有する1以上の記号出現頻度情報を格納し得る記号出現頻度情報格納部と、
    前記対訳コーパスごとに、前記1以上のフレーズ出現頻度情報を用いて、第一言語フレーズと第二言語フレーズとを有するフレーズペアを取得する生成フレーズペア取得部と、
    フレーズペアを取得できた場合、当該フレーズペアに対応するF出現頻度情報を、予め決められた値だけ増加するフレーズ出現頻度情報更新部と、
    フレーズペアを取得できなかった場合、1以上の記号出現頻度情報を用いて、一の記号を取得する記号取得部と、
    前記記号取得部が取得した記号に対応するS出現頻度情報を、予め決められた値だけ増加する記号出現頻度情報更新部と、
    フレーズペアを取得できなかった場合、前記取得しようとしたフレーズペアより小さい2つのフレーズペアを生成する部分フレーズペア生成部と、
    前記記号取得部が取得した記号に従って、新しいフレーズペアを生成する第一の処理、または、2つのより小さいフレーズペアを生成し、前記1以上のフレーズ出現頻度情報を用いて、前記生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第二の処理、または、2つのより小さいフレーズペアを生成し、前記1以上のフレーズ出現頻度情報を用いて、生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを逆順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第三の処理のいずれかを行う新フレーズペア生成部と、
    前記新フレーズペア生成部が生成したフレーズペアに対して、前記フレーズ出現頻度情報更新部、前記記号取得部、前記記号出現頻度情報更新部、前記部分フレーズペア生成部、および前記新フレーズペア生成部の処理を再帰的に行うことを指示する制御部と、
    前記フレーズ出現頻度情報格納部に格納されている1以上のフレーズ出現頻度情報を用いて、フレーズテーブルの各フレーズペアに対するスコアを算出するスコア算出部と、
    前記スコア算出部が算出したスコアを前記各フレーズペアに対応付けて蓄積するフレーズテーブル更新部とを具備し、
    前記スコア算出部は、
    j(2<=j<=N)番目の対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、(j−1)番目の対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、j番目の対訳コーパスに対応する各フレーズペアに対するスコアを算出する対訳フレーズ学習装置。
  2. 前記対訳情報格納部は、
    1以上の対訳コーパスを格納しており、
    対訳コーパスを受け付ける対訳コーパス受付部と、
    前記対訳コーパス受付部が受け付けた対訳コーパスを前記対訳情報格納部に蓄積する対訳コーパス蓄積部とをさらに具備し、
    前記制御部は、
    前記対訳コーパス蓄積部が前記受け付けられた対訳コーパスを前記対訳情報格納部に蓄積した後、当該対訳コーパスに対する前記生成フレーズペア取得部、前記フレーズ出現頻度情報更新部、前記記号取得部、前記記号出現頻度情報更新部、前記部分フレーズペア生成部、および前記新フレーズペア生成部の処理を行うことを指示し、
    前記スコア算出部は、
    前記対訳コーパス受付部が受け付けた対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、前記対訳コーパス蓄積部が前記対訳コーパスを蓄積する前に前記対訳情報格納部に格納されていた1以上の対訳コーパスのいずれかの対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、前記対訳コーパス受付部が受け付けた対訳コーパスに対応する各フレーズペアに対するスコアを算出する請求項1記載の対訳フレーズ学習装置。
  3. 2以上の対訳文をNにグループに分割し、かつ各グループの対訳文から対訳文の木構造を取得して作成したNの対訳コーパスを、前記対訳情報格納部に蓄積する対訳コーパス生成部をさらに具備し、
    前記スコア算出部は、
    一の対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、当該一の対訳コーパスとは異なる他の対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、前記一の対訳コーパスに対応する各フレーズペアに対するスコアを算出する請求項1記載の対訳フレーズ学習装置。
  4. 前記スコア算出部は、
    数式9により階層的な中華レストラン過程を用いて、各対訳コーパスに対応する各フレーズペアに対するスコアを算出する請求項1から請求項3いずれか一項に記載の対訳フレーズ学習装置。
    数式9において、fは原言語のフレーズ、eは目的言語のフレーズ、Fは原言語文、Eは目的言語文、Cはj番目の対訳データ<F,E>中の全ての客、sはj番目の対訳データに対応するストレングス、dはj番目の対訳データに対応するディスカウント、Tは対訳データ<F,E>中の全てのテーブル、c <f,e>はj番目の対訳データ中の各<f,e>に対応する客の数、tはj番目の対訳データ中の各<f,e>に対応するテーブルの数、Pbase(<fi,ei>)は予め推定されているモデルの事前確率である。
  5. 請求項1から請求項4いずれか一項に記載の対訳フレーズ学習装置が学習したフレーズテーブルと、
    1以上の単語を有する第一言語の文を受け付ける受付部と、
    前記受付部が受け付けた文から1以上のフレーズを抽出し、前記フレーズテーブルのスコアを用いて、前記フレーズテーブルから第二言語の1以上のフレーズを取得するフレーズ取得部と、
    前記フレーズ取得部が取得した1以上のフレーズから第二言語の文を構成する文構成部と、
    前記文構成部が構成した文を出力する出力部とを具備する統計的機械翻訳装置。
  6. 記録媒体は、
    対訳文と対訳文の木構造とを有する1以上の対訳情報を有するN(Nは2以上の自然数)の対訳コーパスを格納し得る対訳情報格納部と、
    第一言語の1以上の単語を有する第一言語フレーズと、第二言語の1以上の単語を有する第二言語フレーズとの対であるフレーズペアと当該フレーズペアの出現確率に関する情報であるスコアとを有する1以上のスコア付きフレーズペアを格納し得るフレーズテーブルと、
    フレーズペアと、当該フレーズペアの出現頻度に関する情報であるF出現頻度情報とを有する1以上のフレーズ出現頻度情報を、対訳コーパスごとに格納し得るフレーズ出現頻度情報格納部と、
    新しいフレーズペアを生成する方法を識別する記号と、当該記号の出現頻度に関する情報であるS出現頻度情報とを有する1以上の記号出現頻度情報を格納し得る記号出現頻度情報格納部とを具備し、
    フレーズ出現頻度情報更新部、記号取得部、記号出現頻度情報更新部、部分フレーズペア生成部、新フレーズペア生成部、制御部、スコア算出部、フレーズテーブル更新部により実現され得る対訳フレーズ学習方法であって、
    前記生成フレーズペア取得部が、前記対訳コーパスごとに、前記1以上のフレーズ出現頻度情報を用いて、第一言語フレーズと第二言語フレーズとを有するフレーズペアを取得する生成フレーズペア取得ステップと、
    前記フレーズ出現頻度情報更新部が、フレーズペアを取得できた場合、当該フレーズペアに対応するF出現頻度情報を、予め決められた値だけ増加するフレーズ出現頻度情報更新ステップと、
    前記記号取得部が、フレーズペアを取得できなかった場合、1以上の記号出現頻度情報を用いて、一の記号を取得する記号取得ステップと、
    前記記号出現頻度情報更新部が、前記記号取得ステップで取得された記号に対応するS出現頻度情報を、予め決められた値だけ増加する記号出現頻度情報更新ステップと、
    前記部分フレーズペア生成部が、フレーズペアを取得できなかった場合、前記取得しようとしたフレーズペアより小さい2つのフレーズペアを生成する部分フレーズペア生成ステップと、
    前記新フレーズペア生成部が、前記記号取得ステップで取得された記号に従って、新しいフレーズペアを生成する第一の処理、または、2つのより小さいフレーズペアを生成し、前記1以上のフレーズ出現頻度情報を用いて、前記生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第二の処理、または、2つのより小さいフレーズペアを生成し、前記1以上のフレーズ出現頻度情報を用いて、生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを逆順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第三の処理のいずれかを行う新フレーズペア生成ステップと、
    前記制御部が、前記新フレーズペア生成ステップで生成したフレーズペアに対して、前記フレーズ出現頻度情報更新ステップ、前記記号取得ステップ、前記記号出現頻度情報更新ステップ、前記部分フレーズペア生成ステップ、および前記新フレーズペア生成ステップの処理を再帰的に行うことを指示する制御ステップと、
    前記が、前記フレーズ出現頻度情報格納部に格納されている1以上のフレーズ出現頻度情報を用いて、フレーズテーブルの各フレーズペアに対するスコアを算出するスコア算出ステップと、
    前記スコア算出ステップで算出されたスコアを前記各フレーズペアに対応付けて蓄積するフレーズテーブル更新ステップとを具備し、
    前記スコア算出ステップは、
    j(2<=j<=N)番目の対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、(j−1)番目の対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、j番目の対訳コーパスに対応する各フレーズペアに対するスコアを算出する対訳フレーズ学習方法。
  7. コンピュータがアクセス可能な記録媒体は、
    対訳文と対訳文の木構造とを有する1以上の対訳情報を有するN(Nは2以上の自然数)の対訳コーパスを格納し得る対訳情報格納部と、
    第一言語の1以上の単語を有する第一言語フレーズと、第二言語の1以上の単語を有する第二言語フレーズとの対であるフレーズペアと当該フレーズペアの出現確率に関する情報であるスコアとを有する1以上のスコア付きフレーズペアを格納し得るフレーズテーブルと、
    フレーズペアと、当該フレーズペアの出現頻度に関する情報であるF出現頻度情報とを有する1以上のフレーズ出現頻度情報を、対訳コーパスごとに格納し得るフレーズ出現頻度情報格納部と、
    新しいフレーズペアを生成する方法を識別する記号と、当該記号の出現頻度に関する情報であるS出現頻度情報とを有する1以上の記号出現頻度情報を格納し得る記号出現頻度情報格納部とを具備し、
    コンピュータを、
    前記対訳コーパスごとに、前記1以上のフレーズ出現頻度情報を用いて、第一言語フレーズと第二言語フレーズとを有するフレーズペアを取得する生成フレーズペア取得部と、
    フレーズペアを取得できた場合、当該フレーズペアに対応するF出現頻度情報を、予め決められた値だけ増加するフレーズ出現頻度情報更新部と、
    フレーズペアを取得できなかった場合、1以上の記号出現頻度情報を用いて、一の記号を取得する記号取得部と、
    前記記号取得部が取得した記号に対応するS出現頻度情報を、予め決められた値だけ増加する記号出現頻度情報更新部と、
    フレーズペアを取得できなかった場合、前記取得しようとしたフレーズペアより小さい2つのフレーズペアを生成する部分フレーズペア生成部と、
    前記記号取得部が取得した記号に従って、新しいフレーズペアを生成する第一の処理、または、2つのより小さいフレーズペアを生成し、前記1以上のフレーズ出現頻度情報を用いて、前記生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第二の処理、または、2つのより小さいフレーズペアを生成し、前記1以上のフレーズ出現頻度情報を用いて、生成した2つのフレーズペアを構成する2つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、2つのフレーズペアを構成する2つの第二言語フレーズを逆順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第三の処理のいずれかを行う新フレーズペア生成部と、
    前記新フレーズペア生成部が生成したフレーズペアに対して、前記フレーズ出現頻度情報更新部、前記記号取得部、前記記号出現頻度情報更新部、前記部分フレーズペア生成部、および前記新フレーズペア生成部の処理を再帰的に行うことを指示する制御部と、
    前記フレーズ出現頻度情報格納部に格納されている1以上のフレーズ出現頻度情報を用いて、フレーズテーブルの各フレーズペアに対するスコアを算出するスコア算出部と、
    前記スコア算出部が算出したスコアを前記各フレーズペアに対応付けて蓄積するフレーズテーブル更新部として機能させ、
    前記スコア算出部は、
    j(2<=j<=N)番目の対訳コーパスから取得された各フレーズペアに対するスコア算出する場合に、(j−1)番目の対訳コーパスに対応する1以上のフレーズ出現頻度情報を用いて、j番目の対訳コーパスに対応する各フレーズペアに対するスコアを算出するものとして、コンピュータを機能させるプログラム。
JP2013126490A 2013-06-17 2013-06-17 対訳フレーズ学習装置、統計的機械翻訳装置、対訳フレーズ学習方法、およびプログラム Expired - Fee Related JP6192098B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013126490A JP6192098B2 (ja) 2013-06-17 2013-06-17 対訳フレーズ学習装置、統計的機械翻訳装置、対訳フレーズ学習方法、およびプログラム
PCT/JP2014/063668 WO2014203681A1 (ja) 2013-06-17 2014-05-23 対訳フレーズ学習装置、統計的機械翻訳装置、対訳フレーズ学習方法、および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013126490A JP6192098B2 (ja) 2013-06-17 2013-06-17 対訳フレーズ学習装置、統計的機械翻訳装置、対訳フレーズ学習方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2015001862A JP2015001862A (ja) 2015-01-05
JP6192098B2 true JP6192098B2 (ja) 2017-09-06

Family

ID=52104423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013126490A Expired - Fee Related JP6192098B2 (ja) 2013-06-17 2013-06-17 対訳フレーズ学習装置、統計的機械翻訳装置、対訳フレーズ学習方法、およびプログラム

Country Status (2)

Country Link
JP (1) JP6192098B2 (ja)
WO (1) WO2014203681A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR122019026066B1 (pt) 2014-12-30 2022-01-18 Dow Agrosciences Llc Compostos de picolinamida
JP7281726B2 (ja) 2018-07-13 2023-05-26 地方独立行政法人東京都立産業技術研究センター 金属空気電池または燃料電池のガス拡散電極に使用されるガス拡散層とそれを用いたガス拡散電極およびその製造方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5791097B2 (ja) * 2011-03-04 2015-10-07 国立研究開発法人情報通信研究機構 対訳フレーズ学習装置、フレーズベース統計的機械翻訳装置、対訳フレーズ学習方法、および対訳フレーズ生産方法

Also Published As

Publication number Publication date
JP2015001862A (ja) 2015-01-05
WO2014203681A1 (ja) 2014-12-24

Similar Documents

Publication Publication Date Title
US20160132491A1 (en) Bilingual phrase learning apparatus, statistical machine translation apparatus, bilingual phrase learning method, and storage medium
US20110184723A1 (en) Phonetic suggestion engine
US9176952B2 (en) Computerized statistical machine translation with phrasal decoder
CN101707873B (zh) 机器翻译中的大语言模型
Pal et al. A neural network based approach to automatic post-editing
CN105068997B (zh) 平行语料的构建方法及装置
US8874433B2 (en) Syntax-based augmentation of statistical machine translation phrase tables
Xiao et al. A topic similarity model for hierarchical phrase-based translation
CN109213851B (zh) 对话系统中口语理解的跨语言迁移方法
CN110678868B (zh) 翻译支持系统、装置和方法以及计算机可读介质
Kumaran et al. Compositional machine transliteration
CN110969028A (zh) 用于同步翻译的系统和方法
Saluja et al. Graph-based semi-supervised learning of translation models from monolingual data
Chen et al. Utilizing dependency language models for graph-based dependency parsing models
Xu et al. Sentence segmentation using IBM word alignment model 1
Zakharov Corpora of the Russian language
Madnani et al. Generating targeted paraphrases for improved translation
Sarveswaran et al. ThamizhiUDp: A dependency parser for Tamil
JP6192098B2 (ja) 対訳フレーズ学習装置、統計的機械翻訳装置、対訳フレーズ学習方法、およびプログラム
Wu et al. Rethinking masked language modeling for chinese spelling correction
Al-Mannai et al. Unsupervised word segmentation improves dialectal Arabic to English machine translation
JP5791097B2 (ja) 対訳フレーズ学習装置、フレーズベース統計的機械翻訳装置、対訳フレーズ学習方法、および対訳フレーズ生産方法
Cuong et al. A survey of domain adaptation for statistical machine translation
Zhang et al. Topic-based dissimilarity and sensitivity models for translation rule selection
KR20120045906A (ko) 코퍼스 오류 교정 장치 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170803

R150 Certificate of patent or registration of utility model

Ref document number: 6192098

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees