(57)【特許請求の範囲】
【請求項１】
第一言語の１以上の単語を有する第一言語フレーズと、第二言語の１以上の単語を有する第二言語フレーズとの対であり、第一言語文と第二言語文との対である対訳文と当該対訳文の木構造とを有する１以上の対訳情報を格納している対訳コーパスから取得されたフレーズペアと当該フレーズペアの出現確率に関する情報であるスコアとを有する１以上のスコア付きフレーズペアを格納し得るフレーズテーブルと、
フレーズペアと、当該フレーズペアの出現頻度に関する情報であるＦ出現頻度情報とを有する１以上のフレーズ出現頻度情報を格納し得るフレーズ出現頻度情報格納部と、
新しいフレーズペアを生成する方法を識別する記号と、当該記号の出現頻度に関する情報であるＳ出現頻度情報とを有する１以上の記号出現頻度情報を格納し得る記号出現頻度情報格納部と、
前記対訳コーパスに格納されている１以上の各対訳文の木構造を構成する１以上の各フレーズペアから、前記１以上のフレーズ出現頻度情報に含まれるＦ出現頻度情報であり、前記１以上の各フレーズペアに対応するＦ出現頻度情報を用いて取得される前記１以上の各フレーズペアの確率分布を用いて、フレーズペアを取得しようとする生成フレーズペア取得部と、
フレーズペアを取得できた場合、当該フレーズペアに対応するＦ出現頻度情報を、予め決められた値だけ増加するフレーズ出現頻度情報更新部と、
フレーズペアを取得できなかった場合、１以上の記号出現頻度情報が有するＳ出現頻度情報を用いて取得される前記１以上の記号の確率分布を用いて、一の記号を取得する記号取得部と、
前記記号取得部が取得した記号に対応するＳ出現頻度情報であり、前記記号出現頻度情報格納部に格納されているＳ出現頻度情報を、予め決められた値だけ増加する記号出現頻度情報更新部と、
フレーズペアを取得できなかった場合、前記取得しようとしたフレーズペアより小さい２つのフレーズペアを生成する部分フレーズペア生成部と、
前記記号取得部が取得した記号に対応する処理であり、１以上の各フレーズペアに対応するＦ出現頻度情報を用いて取得されるフレーズペアの事前確率を用いて、新しいフレーズペアを生成する第一の処理、または、２つのより小さいフレーズペアを生成し、前記１以上のフレーズ出現頻度情報を用いて、前記生成した２つのフレーズペアを構成する２つの第一言語フレーズを順に連結した新しい第一言語フレーズと、２つのフレーズペアを構成する２つの第二言語フレーズを順に連結した新しい第二言語フレーズとを有する一つのフレーズペアを生成する第二の処理、または、２つのより小さいフレーズペアを生成し、前記１以上のフレーズ出現頻度情報を用いて、生成した２つのフレーズペアを構成する２つの第一言語フレーズを順に連結した新しい第一言語フレーズと、２つのフレーズペアを構成する２つの第二言語フレーズを逆順に連結した新しい第二言語フレーズとを有する一つのフレーズペアを生成する第三の処理のいずれかを行う新フレーズペア生成部と、
前記新フレーズペア生成部が前記第二の処理の処理により取得した２つの各フレーズペア、および前記新フレーズペア生成部が前記第三の処理の処理により取得した２つの各フレーズペアに対して、前記フレーズ出現頻度情報更新部、前記記号取得部、前記記号出現頻度情報更新部、前記部分フレーズペア生成部、および前記新フレーズペア生成部の処理を再帰的に行う制御部と、
前記フレーズ出現頻度情報格納部に格納されている１以上のフレーズ出現頻度情報を用いて、前記生成フレーズペア取得部が取得したフレーズペア、前記新フレーズペア生成部が前記第一の処理により取得した新しいフレーズペア、前記新フレーズペア生成部が前記第二の処理により連結して取得したフレーズペア、および前記新フレーズペア生成部が前記第三の処理により連結して取得したフレーズペアに対するスコアを算出するスコア算出部と、
前記スコア算出部が算出した各スコアを前記各フレーズペアに対応付けて、前記フレーズテーブルに蓄積するフレーズテーブル更新部とを具備する対訳フレーズ学習装置。
【請求項２】
前記生成フレーズペア取得部は、
前記対訳コーパスに格納されている１以上の各対訳文の木構造を構成する１以上の各フレーズペアから、前記１以上のフレーズ出現頻度情報に含まれるＦ出現頻度情報であり、前記１以上の各フレーズペアに対応するＦ出現頻度情報を用いて取得されるフレーズペアの確率分布を用いて、第一言語フレーズと第二言語フレーズとを有する生成フレーズペアを取得し、
前記記号取得部は、
フレーズペアを取得できなかった場合、記号の確率分布を用いて、一の記号を取得し、
前記部分フレーズペア生成部は、
フレーズペアを取得できなかった場合、基底測度を用いて、前記生成しようとしたフレーズペアより小さい２つのフレーズペアを生成し、
前記第一の処理は、フレーズペアの基底測度を用いて、新しいフレーズペアを生成する処理であり、
前記スコア算出部は、
前記フレーズ出現頻度情報格納部に格納されている１以上のフレーズ出現頻度情報を用いて、ノンパラメトリックベイズ法に基づいて、フレーズテーブルの各フレーズペアに対するスコアを算出する請求項１記載の対訳フレーズ学習装置。
【請求項３】
請求項１または請求項２記載の対訳フレーズ学習装置が学習したフレーズテーブルと、
１以上の単語を有する第一言語の文を受け付ける受付部と、
前記受付部が受け付けた文から１以上のフレーズを抽出し、前記フレーズテーブルのスコアを用いて、前記フレーズテーブルから第二言語の１以上のフレーズを取得するフレーズ取得部と、
前記フレーズ取得部が取得した１以上のフレーズから第二言語の文を構成する文構成部と、
前記文構成部が構成した文を出力する出力部とを具備するフレーズベース統計的機械翻訳装置。
【請求項４】
記憶媒体に、
第一言語の１以上の単語を有する第一言語フレーズと、第二言語の１以上の単語を有する第二言語フレーズとの対であり、第一言語文と第二言語文との対である対訳文と当該対訳文の木構造とを有する１以上の対訳情報を格納している対訳コーパスから取得されたフレーズペアと当該フレーズペアの出現確率に関する情報であるスコアとを有する１以上のスコア付きフレーズペアであるフレーズテーブルと、
フレーズペアと、当該フレーズペアの出現頻度に関する情報であるＦ出現頻度情報とを有する１以上のフレーズ出現頻度情報と、
新しいフレーズペアを生成する方法を識別する記号と、当該記号の出現頻度に関する情報であるＳ出現頻度情報とを有する１以上の記号出現頻度情報とを格納しており、
生成フレーズペア取得部、フレーズ出現頻度情報更新部、記号取得部、記号出現頻度情報更新部、部分フレーズペア生成部、新フレーズペア生成部、制御部、スコア算出部、およびフレーズテーブル更新部により実現される対訳フレーズ学習方法であって、
前記生成フレーズペア取得部が、前記対訳コーパスに格納されている１以上の各対訳文の木構造を構成する１以上の各フレーズペアから、前記１以上のフレーズ出現頻度情報に含まれるＦ出現頻度情報であり、前記１以上の各フレーズペアに対応するＦ出現頻度情報を用いて、フレーズペアを取得しようとする生成フレーズペア取得ステップと、
前記フレーズ出現頻度情報更新部が、フレーズペアを取得できた場合、当該フレーズペアに対応するＦ出現頻度情報を、予め決められた値だけ増加するフレーズ出現頻度情報更新ステップと、
前記記号取得部が、フレーズペアを取得できなかった場合、１以上の記号出現頻度情報が有するＳ出現頻度情報を用いて、一の記号を取得する記号取得ステップと、
前記記号出現頻度情報更新部が、前記記号取得ステップで取得された記号に対応するＳ出現頻度情報であり、前記記号出現頻度情報格納部に格納されているＳ出現頻度情報を、予め決められた値だけ増加する記号出現頻度情報更新ステップと、
前記部分フレーズペア生成部が、フレーズペアを取得できなかった場合、前記取得しようとしたフレーズペアより小さい２つのフレーズペアを生成する部分フレーズペア生成ステップと、
前記新フレーズペア生成部が、前記記号取得ステップで取得された記号に対応する処理であり、新しいフレーズペアを生成する第一の処理、または、２つのより小さいフレーズペアを生成し、前記１以上のフレーズ出現頻度情報を用いて、前記生成した２つのフレーズペアを構成する２つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、２つのフレーズペアを構成する２つの第二言語フレーズを順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第二の処理、または、２つのより小さいフレーズペアを生成し、前記１以上のフレーズ出現頻度情報を用いて、生成した２つのフレーズペアを構成する２つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、２つのフレーズペアを構成する２つの第二言語フレーズを逆順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第三の処理のいずれかを行う新フレーズペア生成ステップと、
前記制御部が、前記新フレーズペア生成ステップで生成されたフレーズペアに対して、前記フレーズ出現頻度情報更新ステップ、前記記号取得ステップ、前記記号出現頻度情報更新ステップ、前記部分フレーズペア生成ステップ、および前記新フレーズペア生成ステップの処理を再帰的に行う制御ステップと、
前記スコア算出部が、前記記憶媒体に格納されている１以上のフレーズ出現頻度情報を用いて、前記生成フレーズペア取得部が取得したフレーズペアに対するスコアを算出するスコア算出ステップと、
前記フレーズテーブル更新部が、前記スコア算出ステップで算出されたスコアを前記各フレーズペアに対応付けて、前記フレーズテーブルに蓄積するフレーズテーブル更新ステップとを具備する対訳フレーズ学習方法。
【請求項５】
記憶媒体に、
第一言語の１以上の単語を有する第一言語フレーズと、第二言語の１以上の単語を有する第二言語フレーズとの対であり、第一言語文と第二言語文との対である対訳文と当該対訳文の木構造とを有する１以上の対訳情報を格納している対訳コーパスから取得されたフレーズペアと当該フレーズペアの出現確率に関する情報であるスコアとを有する１以上のスコア付きフレーズペアであるフレーズテーブルと、
フレーズペアと、当該フレーズペアの出現頻度に関する情報であるＦ出現頻度情報とを有する１以上のフレーズ出現頻度情報と、
新しいフレーズペアを生成する方法を識別する記号と、当該記号の出現頻度に関する情報であるＳ出現頻度情報とを有する１以上の記号出現頻度情報とを格納しており、
生成フレーズペア取得部、フレーズ出現頻度情報更新部、記号取得部、記号出現頻度情報更新部、部分フレーズペア生成部、新フレーズペア生成部、制御部、スコア算出部、およびフレーズテーブル更新部により実現される対訳フレーズの生産方法であって、
前記生成フレーズペア取得部が、前記対訳コーパスに格納されている１以上の各対訳文の木構造を構成する１以上の各フレーズペアから、前記１以上のフレーズ出現頻度情報に含まれるＦ出現頻度情報であり、前記１以上の各フレーズペアに対応するＦ出現頻度情報を用いて取得される前記１以上の各フレーズペアの確率分布を用いて、フレーズペアを取得しようとする生成フレーズペア取得ステップと、
前記フレーズ出現頻度情報更新部が、フレーズペアを取得できた場合、当該フレーズペアに対応するＦ出現頻度情報を、予め決められた値だけ増加するフレーズ出現頻度情報更新ステップと、
前記記号取得部が、フレーズペアを取得できなかった場合、１以上の記号出現頻度情報が有するＳ出現頻度情報を用いて取得される前記１以上の記号の確率分布を用いて、一の記号を取得する記号取得ステップと、
前記記号出現頻度情報更新部が、前記記号取得ステップで取得された記号に対応するＳ出現頻度情報であり、前記記号出現頻度情報格納部に格納されているＳ出現頻度情報を、予め決められた値だけ増加する記号出現頻度情報更新ステップと、
前記部分フレーズペア生成部が、フレーズペアを取得できなかった場合、前記取得しようとしたフレーズペアより小さい２つのフレーズペアを生成する部分フレーズペア生成ステップと、
前記新フレーズペア生成部が、前記記号取得ステップで取得された記号に対応する処理であり、１以上の各フレーズペアに対応するＦ出現頻度情報を用いて取得されるフレーズペアの事前確率を用いて、新しいフレーズペアを生成する第一の処理、または、２つのより小さいフレーズペアを生成し、前記１以上のフレーズ出現頻度情報を用いて、前記生成した２つのフレーズペアを構成する２つの第一言語フレーズを順に連結した新しい第一言語フレーズと、２つのフレーズペアを構成する２つの第二言語フレーズを順に連結した新しい第二言語フレーズとを有する一つのフレーズペアを生成する第二の処理、または、２つのより小さいフレーズペアを生成し、前記１以上のフレーズ出現頻度情報を用いて、生成した２つのフレーズペアを構成する２つの第一言語フレーズを順に連結した新しい第一言語フレーズと、２つのフレーズペアを構成する２つの第二言語フレーズを逆順に連結した新しい第二言語フレーズとを有する一つのフレーズペアを生成する第三の処理のいずれかを行う新フレーズペア生成ステップと、
前記制御部が、前記新フレーズペア生成ステップで前記第二の処理の処理により取得された２つの各フレーズペア、および前記新フレーズペア生成部が前記第三の処理の処理により取得された２つの各フレーズペアに対して、前記フレーズ出現頻度情報更新ステップ、前記記号取得ステップ、前記記号出現頻度情報更新ステップ、前記部分フレーズペア生成ステップ、および前記新フレーズペア生成ステップの処理を再帰的に行う制御ステップと、
前記スコア算出部が、前記記憶媒体に格納されている１以上のフレーズ出現頻度情報を用いて、前記生成フレーズペア取得部が取得したフレーズペアに対するスコアを算出するスコア算出ステップと、
前記フレーズテーブル更新部が、前記スコア算出ステップで算出されたスコアを前記各フレーズペアに対応付けて、前記フレーズテーブルに蓄積するフレーズテーブル更新ステップとを具備する対訳フレーズの生産方法。
【請求項６】
記憶媒体に、
第一言語の１以上の単語を有する第一言語フレーズと、第二言語の１以上の単語を有する第二言語フレーズとの対であり、第一言語文と第二言語文との対である対訳文と当該対訳文の木構造とを有する１以上の対訳情報を格納している対訳コーパスから取得されたフレーズペアと当該フレーズペアの出現確率に関する情報であるスコアとを有する１以上のスコア付きフレーズペアであるフレーズテーブルと、
フレーズペアと、当該フレーズペアの出現頻度に関する情報であるＦ出現頻度情報とを有する１以上のフレーズ出現頻度情報と、
新しいフレーズペアを生成する方法を識別する記号と、当該記号の出現頻度に関する情報であるＳ出現頻度情報とを有する１以上の記号出現頻度情報とを格納しており、
コンピュータを、
前記対訳コーパスに格納されている１以上の各対訳文の木構造を構成する１以上の各フレーズペアから、前記１以上のフレーズ出現頻度情報に含まれるＦ出現頻度情報であり、前記１以上の各フレーズペアに対応するＦ出現頻度情報を用いて取得される前記１以上の各フレーズペアの確率分布を用いて、フレーズペアを取得しようとする生成フレーズペア取得部と、
フレーズペアを取得できた場合、当該フレーズペアに対応するＦ出現頻度情報を、予め決められた値だけ増加するフレーズ出現頻度情報更新部と、
フレーズペアを取得できなかった場合、１以上の記号出現頻度情報が有するＳ出現頻度情報を用いて取得される前記１以上の記号の確率分布を用いて、一の記号を取得する記号取得部と、
前記記号取得部が取得した記号に対応するＳ出現頻度情報であり、前記記号出現頻度情報格納部に格納されているＳ出現頻度情報を、予め決められた値だけ増加する記号出現頻度情報更新部と、
フレーズペアを取得できなかった場合、前記取得しようとしたフレーズペアより小さい２つのフレーズペアを生成する部分フレーズペア生成部と、
前記記号取得部が取得した記号に対応する処理であり、１以上の各フレーズペアに対応するＦ出現頻度情報を用いて取得されるフレーズペアの事前確率を用いて、新しいフレーズペアを生成する第一の処理、または、２つのより小さいフレーズペアを生成し、前記１以上のフレーズ出現頻度情報を用いて、前記生成した２つのフレーズペアを構成する２つの第一言語フレーズを順に連結した新しい第一言語フレーズと、２つのフレーズペアを構成する２つの第二言語フレーズを順に連結した新しい第二言語フレーズとを有する一つのフレーズペアを生成する第二の処理、または、２つのより小さいフレーズペアを生成し、前記１以上のフレーズ出現頻度情報を用いて、生成した２つのフレーズペアを構成する２つの第一言語フレーズを順に連結した新しい第一言語フレーズと、２つのフレーズペアを構成する２つの第二言語フレーズを逆順に連結した新しい第二言語フレーズとを有する一つのフレーズペアを生成する第三の処理のいずれかを行う新フレーズペア生成部と、
前記新フレーズペア生成部が前記第二の処理の処理により取得した２つの各フレーズペア、および前記新フレーズペア生成部が前記第三の処理の処理により取得した２つの各フレーズペアに対して、前記フレーズ出現頻度情報更新部、前記記号取得部、前記記号出現頻度情報更新部、前記部分フレーズペア生成部、および前記新フレーズペア生成部の処理を再帰的に行う制御部と、
前記記憶媒体に格納されている１以上のフレーズ出現頻度情報を用いて、前記生成フレーズペア取得部が取得したフレーズペア、前記新フレーズペア生成部が前記第一の処理により取得した新しいフレーズペア、前記新フレーズペア生成部が前記第二の処理により連結して取得したフレーズペア、および前記新フレーズペア生成部が前記第三の処理により連結して取得したフレーズペアに対するスコアを算出するスコア算出部と、
前記スコア算出部が算出した各スコアを前記各フレーズペアに対応付けて、前記フレーズテーブルに蓄積するフレーズテーブル更新部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対訳フレーズを学習する対訳フレーズ学習装置等に関するものである。
【背景技術】
【０００２】
従来の第一の手法において、単語アライメントの後、ヒューリスティックな句単位のアライメントを網羅的に行い、フレーズベース統計的機械翻訳のためのフレーズテーブルを作成する（例えば、非特許文献１参照）。この第一の手法では、長いフレーズで語彙的曖昧性を解消し、同時に短いフレーズによりスパースなデータに対応している。
【０００３】
このヒューリスティックな手法（第一の手法）に対し、対訳データから直接句単位のアライメントを計算する手法が提案されている（例えば、非特許文献２から５参照）。非特許文献２および３に記載の手法では、フレーズを網羅的に計算するのに対し、非特許文献４および５に記載の手法では、Inversion Transduction Grammar(ITG)の制約を利用している。
【０００４】
また、非特許文献３から５に記載の手法では、ノンパラメトリックベイズ法に基づく確率過程を用いて簡潔なフレーズに高い確率を割り当てることにより、短いフレーズの抽出を可能としている。
【０００５】
さらに詳細には、ITGは同期文脈自由文法の一種で、非終端記号を生成する時に単語の並べ換えを行うことが特徴である。ITG制限を利用することにより計算量を減らし、多項式時間でアライメントの最尤解や周辺確率が計算できる。ITGにおいて、あるフレーズペアの生成確率をPflat(<e,f>;θx,θt)とし、フレーズペア確率θtと記号確率θxでパラメータ化する。従来のITGモデルは、以下の生成過程を利用する。なお、<e，f>は、第一言語（例えば、英語）のフレーズeと第二言語（例えば、日本語）のフレーズfのペアを示す。
【０００６】
つまり、従来のITGモデルにおいて、第一に、シンボル（記号）xを多項式分布Px(x;θx)に従って生成する。xが取り得る値はterm、reg、またはinvである。ここで、Termは終端記号、regは普通非終端記号、invは倒置非終端記号である。
【０００７】
第二に、xの値に従って、「x=term（終端記号）」の場合、フレーズペア確率Pt(<e,f>;θt)に従ってフレーズペアを生成する。また、「x=reg（普通非終端記号）」の場合、Pflatに従って、フレーズペア<e1，f1>と<e2，f2>を生成し、<e1e2,f1f2>で１つのフレーズペアに融合する。さらに、「x=inv（倒置非終端記号）」の場合、Pflatに従って、２つのフレーズペア<e1，f1>と<e2，f2>を生成するが、f1とf2を逆順に並べて<e1e2,f2f1>を得る。
【０００８】
そして、各文に対するPflatの積を取り、数式１に示すように、コーパス尤度が計算できる。
【数１】
0005791097.tif 000002
【０００９】
従来のITGモデル（FLATと言う。）は、そのまま最尤推定で学習できるが、最尤解では非常に長いフレーズペア（１文１フレーズ）が得られてしまう。そこで、簡潔なフレーズ辞書に高い確率を与える事前確率P(θ)=P(θx,θt)を利用することで、長いフレーズの問題を解決する（非特許文献５参照）。
【００１０】
ここでは、θxの事前確率にDirichlet分布を利用し、θtにはノンパラメトリックベイズ法に基づくPitman-Yor過程（非特許文献６参照）を利用する。なお、Pitman-Yor過程を数式２に示す。
【数２】
0005791097.tif 000003
【００１１】
数式２において、dはPitman-Yor過程の割引パラメータ、ｓは強さパラメータである。また、数式２において、非特許文献６に記載の技術を用いて、割引パラメータd、強さパラメータsを推定する。また、数式２において、Pbaseは後述する基底測度（base measure)である。さらに、数式２において、Dirichlet分布は公知技術であるので説明を省略する。
【００１２】
Pitman-Yor過程による事前分布を用いる利点は、生成されたフレーズペアを記憶するという確率過程の性質にある。分布から頻繁に生成されるフレーズペアの確率が高くなり、さらに生成されやすくなる（かかる効果を「rich-gets-richer効果」という。）。Pitman-Yor過程を用いた学習によって、より少ない、より役に立つフレーズから構成されるフレーズテーブルが構築できる。また、Pt（フレーズペアの確率分布）から生成されるフレーズのみが記憶される。また、flat（ITGモデル）では、終端記号の最小フレーズペアのみがPtから生成されるため、記憶されるのも最小フレーズペアのみである。
【００１３】
また、数式２のPbaseはモデルにおけるフレーズペアの事前確率であり、適切に決めることでフレーズのアライメントしやすさに関する事前知識をモデルに組み込める。ここで、Pbaseは対応なしのフレーズ（|e|=0または|f|=0）を生成するかどうかを一定の確率Puで選び、対応なしのフレーズをPbuから生成し、対応ありのフレーズペアをPbaから生成する。
Pbaは非特許文献７に記載されている通り、以下の数式３で算出できる。
【数３】
0005791097.tif 000004
【００１４】
数式３において、Ppoisは平均長パラメータλを持つポアソン分布である。長いフレーズを避けるために、λに小さい値を利用する。Pm1は単語確率に基づくIBMモデル1確率である（非特許文献８参照）。これを利用することで、フレーズを構成する単語の翻訳確率が高ければフレーズの確率も高くなる。両方向の条件付き確率の相乗平均を利用することで、両モデルが一致するフレーズを優先的にアライメントする。また、数式３において、eというフレーズを構成する単語がe1・・・e_nである場合、Puni(e)は、それぞれの単語のユニグラム確率の積である。
【００１５】
Pbuでは、eとfの中から空でない単語列をgとし、確率を以下の数式４のように定義する。
【数４】
0005791097.tif 000005
【００１６】
なお、数式４において、eとfを両方考慮するため、Pbuを2で割っている。また、数式４において、gというフレーズを構成する単語がg1・・・g_nである場合、Puni(g)は、それぞれの単語のユニグラム確率の積である。
【先行技術文献】
【非特許文献】
【００１７】
【非特許文献１】P. Koehn, F. J. Och, and D. Marcu. Statistical phrase-based translation. In Proc. NAACL, pp. 48-54, 2003.
【非特許文献２】Daniel Marcu and William Wong. 2002. A phrase-based, joint probability model for statistical machine transla- tion. pages 133-139.
【非特許文献３】J. DeNero and D. Klein. The complexity of phrase alignment problems. In Proc. ACL, pp. 25-28, 2008.
【非特許文献４】P. Blunsom and T. Cohn. Inducing synchronous gram- mars with slice sampling. In Proc. NAACL, 2010.
【非特許文献５】H. Zhang, C. Quirk, R. C. Moore, and D. Gildea. Bayesian learning of non-compositional phrases with synchronous parsing. Proc. ACL, pp. 97-105, 2008.
【非特許文献６】Y. W. Teh. A hierarchical Bayesian language model based on Pitman-Yor processes. In Proc. ACL, 2006.
【非特許文献７】J. DeNero, A. Bouchard-C^ot_e, and D. Klein. Sam-pling alignment structure under a Bayesian translation model. In Proc. EMNLP, pp. 314-323, 2008.
【非特許文献８】J. DeNero and D. Klein. Discriminative modeling of extraction sets for machine translation. In Proc. ACL,pp. 1453-1463, 2010.
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、従来の第一の手法では、翻訳に最適なフレーズが得られているとは限らず、翻訳の精度の向上のため数多くのフレーズを抽出する必要があった。
【００１９】
また、非特許文献２に記載の手法における最尤推定では、非常に長いフレーズペアのみしか抽出できない。
【００２０】
また、非特許文献３から５に記載の手法では、上述したように、最小単位のフレーズの抽出のみ記憶し、複数の粒度のフレーズを直接モデル化できなかった。そのため、最小単位のフレーズアライメントの計算後、ヒューリスティックにより網羅的にフレーズの抽出を行っており、結局、二段階の手法を用いなければならなかった。また、網羅的にフレーズの抽出を行うため、不適切なフレーズペアを学習したりしていた。
【００２１】
具体的には、従来のITGモデルを用いた場合、例えば、フレーズペア「Mrs.Smith's red cookbook／スミスさんの赤い料理本」に対して、図１１に示すように、最小単位のフレーズ「Mrs.／さん」「Smith／スミス」「's／の」「red／赤い」「cookbook／料理  本」のみが取得できる。
【課題を解決するための手段】
【００２２】
本第一の発明の対訳フレーズ学習装置は、第一言語の１以上の単語を有する第一言語フレーズと、第二言語の１以上の単語を有する第二言語フレーズとの対であるフレーズペアとフレーズペアの出現確率に関する情報であるスコアとを有する１以上のスコア付きフレーズペアを格納し得るフレーズテーブルと、フレーズペアと、フレーズペアの出現頻度に関する情報であるＦ出現頻度情報とを有する１以上のフレーズ出現頻度情報を格納し得るフレーズ出現頻度情報格納部と、新しいフレーズペアを生成する方法を識別する記号と、記号の出現頻度に関する情報であるＳ出現頻度情報とを有する１以上の記号出現頻度情報を格納し得る記号出現頻度情報格納部と、１以上のフレーズ出現頻度情報を用いて、第一言語フレーズと第二言語フレーズとを有するフレーズペアを取得する生成フレーズペア取得部と、フレーズペアを取得できた場合、フレーズペアに対応するＦ出現頻度情報を、予め決められた値だけ増加するフレーズ出現頻度情報更新部と、フレーズペアを取得できなかった場合、１以上の記号出現頻度情報を用いて、一の記号を取得する記号取得部と、記号取得部が取得した記号に対応するＳ出現頻度情報を、予め決められた値だけ増加する記号出現頻度情報更新部と、フレーズペアを取得できなかった場合、取得しようとしたフレーズペアより小さい２つのフレーズペアを生成する部分フレーズペア生成部と、記号取得部が取得した記号に従って、新しいフレーズペアを生成する第一の処理、または、２つのより小さいフレーズペアを生成し、１以上のフレーズ出現頻度情報を用いて、生成した２つのフレーズペアを構成する２つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、２つのフレーズペアを構成する２つの第二言語フレーズを順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第二の処理、または、２つのより小さいフレーズペアを生成し、１以上のフレーズ出現頻度情報を用いて、生成した２つのフレーズペアを構成する２つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、２つのフレーズペアを構成する２つの第二言語フレーズを逆順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する第三の処理のいずれかを行う新フレーズペア生成部と、新フレーズペア生成部が生成したフレーズペアに対して、フレーズ出現頻度情報更新部、記号取得部、記号出現頻度情報更新部、部分フレーズペア生成部、および新フレーズペア生成部の処理を再帰的に行う制御部と、フレーズ出現頻度情報格納部に格納されている１以上のフレーズ出現頻度情報を用いて、フレーズテーブルの各フレーズペアに対するスコアを算出するスコア算出部と、スコア算出部が算出したスコアを各フレーズペアに対応付けて蓄積するフレーズテーブル更新部とを具備する対訳フレーズ学習装置である。
【００２３】
かかる構成により、多数の適切なフレーズペアを学習できる。
【００２４】
また、本第二の発明の対訳フレーズ学習装置は、第一の発明に対して、生成フレーズペア取得部は、フレーズペアの確率分布を用いて、第一言語フレーズと第二言語フレーズとを有する生成フレーズペアを取得し、記号取得部は、フレーズペアを取得できなかった場合、記号の確率分布を用いて、一の記号を取得し、部分フレーズペア生成部は、フレーズペアを取得できなかった場合、基底測度を用いて、生成しようとしたフレーズペアより小さい２つのフレーズペアを生成し、第一の処理は、フレーズペアの基底測度を用いて、新しいフレーズペアを生成する処理であり、スコア算出部は、フレーズ出現頻度情報格納部に格納されている１以上のフレーズ出現頻度情報を用いて、ノンパラメトリックベイズ法に基づいて、フレーズテーブルの各フレーズペアに対するスコアを算出する対訳フレーズ学習装置である。
【００２５】
かかる構成により、多数の適切なフレーズペアを学習できる。
【００２６】
また、本第三の発明のフレーズベース統計的機械翻訳装置は、第一または第二の発明に対して、対訳フレーズ学習装置が学習したフレーズテーブルと、１以上の単語を有する第一言語の文を受け付ける受付部と、受付部が受け付けた文から１以上のフレーズを抽出し、フレーズテーブルのスコアを用いて、フレーズテーブルから第二言語の１以上のフレーズを取得するフレーズ取得部と、フレーズ取得部が取得した１以上のフレーズから第二言語の文を構成する文構成部と、文構成部が構成した文を出力する出力部とを具備するフレーズベース統計的機械翻訳装置である。
【００２７】
かかる構成により、多数の適切なフレーズペアを用いて、精度の良い機械翻訳が可能となる。
【発明の効果】
【００２８】
本発明による対訳フレーズ学習装置によれば、多数の適切なフレーズペアを学習できる。
【図面の簡単な説明】
【００２９】
【図１】実施の形態１における対訳フレーズ学習装置のブロック図
【図２】同対訳フレーズ学習装置の動作について説明するフローチャート
【図３】同フレーズ生成処理の動作について説明するフローチャート
【図４】同学習できるフレーズペアを説明する図
【図５】同コーパスの諸元を示す図
【図６】同実験結果を示す図
【図７】同モデル確率に基づくフレーズ抽出と従来法との比較示す図
【図８】実施の形態２におけるフレーズベース統計的機械翻訳装置のブロック図
【図９】上記実施の形態におけるコンピュータシステムの概観図
【図１０】上記実施の形態におけるコンピュータシステムのブロック図
【図１１】従来技術において学習できるフレーズペアを説明する図
【発明を実施するための形態】
【００３０】
以下、対訳フレーズ学習装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００３１】
（実施の形態１）
本実施の形態において、複数の階層の対訳フレーズを蓄積する対訳フレーズ学習装置について説明する。
【００３２】
また、本実施の形態において、階層的なITGモデルを利用することにより、複数の粒度のフレーズを直接、確率モデルで表現する。このため、本実施の形態における対訳フレーズ学習装置では、ヒューリスティックスに基づくフレーズ抽出を行わずに高い翻訳精度を実現できる。
【００３３】
図１は、本実施の形態における対訳フレーズ学習装置１のブロック図である。対訳フレーズ学習装置１は、対訳コーパス１００、フレーズテーブル１０１、フレーズ出現頻度情報格納部１０２、記号出現頻度情報格納部１０３、フレーズテーブル初期化部１１３、生成フレーズペア取得部１０４、フレーズ出現頻度情報更新部１０５、記号取得部１０６、記号出現頻度情報更新部１０７、部分フレーズペア生成部１０８、新フレーズペア生成部１０９、制御部１１０、スコア算出部１１１、パージング部１１４、フレーズテーブル更新部１１２、および木更新部１１５を具備する。
【００３４】
対訳コーパス１００は、対訳文と対訳文の木構造とを有する１以上の対訳情報を格納し得る。対訳文とは、第一言語文と第二言語文との対である。第一言語文は、第一言語の文である。第二言語文は、第二言語の文である。ここで、文は、１以上の単語の意味であり、フレーズも含む。対訳文の木構造とは、２つの各言語の文を分割したフレーズ（単語も含む）の対応を木構造で表した情報である。対訳文の木構造は、例えば、図４に示すような情報である。
【００３５】
フレーズテーブル１０１は、１以上のスコア付きフレーズペアを格納し得る。スコア付きフレーズペアは、フレーズペアとスコアとを有する。フレーズペアは、第一言語フレーズと第二言語フレーズとの対である。第一言語フレーズは、第一言語の１以上の単語を有するフレーズである。第二言語フレーズは、第二言語の１以上の単語を有するフレーズである。フレーズは、文も含むとして、広く解する。また、スコアは、フレーズペアの出現確率に関する情報である。また、スコアとは、例えば、フレーズペア確率θｔである。
【００３６】
フレーズ出現頻度情報格納部１０２は、１以上のフレーズ出現頻度情報を格納し得る。フレーズ出現頻度情報は、フレーズペアとＦ出現頻度情報とを有する。Ｆ出現頻度情報は、フレーズペアの出現頻度に関する情報である。Ｆ出現頻度情報は、フレーズペアの出現頻度であることが好適であるが、フレーズペアの出現確率等でも良い。なお、Ｆ出現頻度情報の初期値は、例えば、すべて０である。
【００３７】
記号出現頻度情報格納部１０３は、１以上の記号出現頻度情報を格納し得る。記号出現頻度情報は、記号とＳ出現頻度情報とを有する。記号とは、新しいフレーズペアを生成する方法を識別する情報である。記号は、例えば、BASE、REG、INVのいずれかである。ここで、BASEとは基底測度からフレーズペアを生成することを示す記号、REGとは普通非終端記号、INVとは倒置非終端記号である。また、Ｓ出現頻度情報は、記号の出現頻度に関する情報である。Ｓ出現頻度情報は、記号の出現頻度であることが好適であるが、記号の出現確率等でも良い。また、Ｓ出現頻度情報の初期値は、例えば、３つの記号すべてに対して０である。
【００３８】
フレーズテーブル初期化部１１３は、対訳コーパス１００の１以上の対訳情報から、１以上のスコア付きフレーズペアの初期の情報を生成し、フレーズテーブル１０１に蓄積する。なお、フレーズテーブル初期化部１１３は、例えば、１以上の対訳情報が有する対訳文の木構造に出現するフレーズペアとその出現回数をスコア付きフレーズペアとして取得し、フレーズテーブル１０１に蓄積する。なお、かかる場合、スコアは出現回数である。
【００３９】
生成フレーズペア取得部１０４は、対訳コーパス１００に格納されている１以上の各対訳文を取得し、当該各対訳文の木構造を構成する１以上の各フレーズペアの出現分（通常、出現頻度の「１」）を、フレーズテーブル１０１に存在するフレーズペアのスコアから引く。次に、生成フレーズペア取得部１０４は、１以上のフレーズ出現頻度情報を用いて、第一言語フレーズと第二言語フレーズとを有するフレーズペアを取得する（正確には、取得しようとする）。ここで、１以上のフレーズ出現頻度情報を用いることは、例えば、フレーズペアの確率分布Ｐｔを用いることであっても良い。つまり、生成フレーズペア取得部１０４は、フレーズペアの確率分布Ｐｔを用いて、第一言語フレーズと第二言語フレーズとを有するフレーズペアを取得することは好適である。
【００４０】
フレーズ出現頻度情報更新部１０５は、生成フレーズペア取得部１０４等がフレーズペアが取得できた場合、当該フレーズペアに対応するＦ出現頻度情報を、予め決められた値だけ増加する。ここでのＦ出現頻度情報とは、通所、フレーズペアの出現頻度である。また、予め決められた値とは、通常、１である。なお、生成フレーズペア取得部１０４等とは、生成フレーズペア取得部１０４と新フレーズペア生成部１０９である。
【００４１】
記号取得部１０６は、生成フレーズペア取得部１０４等がフレーズペアを取得できなかった場合、１以上の記号出現頻度情報を用いて、一の記号を取得する。ここで、１以上の記号出現頻度情報を用いることは、記号の確率分布Px(x;θx)を用いることが好適である。つまり、記号取得部１０６は、生成フレーズペア取得部１０４が生成フレーズペアを取得できなかった場合、記号の確率分布を用いて、一の記号を取得することが好適である。なお、一の記号とは、例えば、BASE、REG、INVのいずれかである。
【００４２】
記号出現頻度情報更新部１０７は、記号取得部１０６が取得した記号に対応するＳ出現頻度情報を、予め決められた値だけ増加する。また、予め決められた値とは、通常、１である。
【００４３】
部分フレーズペア生成部１０８は、生成フレーズペア取得部１０４等がフレーズペアを取得できなかった場合、取得しようとしたフレーズペアより小さい２つのフレーズペアを生成する。また、部分フレーズペア生成部１０８は、フレーズペアを取得できなかった場合、通常、フレーズペアの事前確率を用いて、取得しようとしたフレーズペアより小さい２つのフレーズペアを生成する。さらに詳細には、例えば、部分フレーズペア生成部１０８は、フレーズペアの事前確率から取得される基底測度Ｐdacを用いて、取得しようとしたフレーズペアより小さい２つのフレーズペアを生成する。また、基底測度Ｐdacのdacとは、（"divide-and-conquer")の略であり、長いフレーズペアを短いフレーズペアに分割する仕組みによる確率である。例えば、取得しようとしたフレーズペアが<red cookbook,赤い  料理  本>の場合、「Ｐdac(<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,赤い  料理  本>)」である。
【００４４】
新フレーズペア生成部１０９は、記号取得部１０６が取得した記号に従って、第一の処理、または第二の処理、または第三の処理のいずれかを行う。新フレーズペア生成部１０９は、記号取得部１０６が取得した記号がBASEである場合に第一の処理を行い、記号がREGである場合に第二の処理を行い記号がINVである場合に第三の処理を行う。
【００４５】
ここで、第一の処理は、新しいフレーズペアを生成する処理である。また、第一の処理は、フレーズペアの事前確率を用いて、新しいフレーズペアを生成する処理である。また、第一の処理は、公知技術であるので、説明を省略する。
【００４６】
また、第二の処理は、２つのより小さいフレーズペアを生成し、１以上のフレーズ出現頻度情報を用いて、生成した２つのフレーズペアを構成する２つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、２つのフレーズペアを構成する２つの第二言語フレーズを順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する処理である。さらに、第三の処理は、２つのより小さいフレーズペアを生成し、１以上のフレーズ出現頻度情報を用いて、生成した２つのフレーズペアを構成する２つの第一言語フレーズを順に繋げた新しい第一言語フレーズと、２つのフレーズペアを構成する２つの第二言語フレーズを逆順に繋げた新しい第二言語フレーズとを有する一つのフレーズペアを生成する処理である。ここで、１以上のフレーズ出現頻度情報を用いることは、フレーズペアの生成確率（Phier）を用いる意味でも良い。
【００４７】
制御部１１０は、新フレーズペア生成部１０９が生成したフレーズペアに対して、フレーズ出現頻度情報更新部１０５、記号取得部１０６、記号出現頻度情報更新部１０７、部分フレーズペア生成部１０８、新フレーズペア生成部１０９の処理を再帰的に行う。なお、再帰的に行うとは、通常、処理対象が単語ペアになった時点で、再帰的な処理が終了する意味である。なお、再帰処理は、処理対象がPtから直接（基底測度を用いずに）フレーズを生成した場合に終了する。また、再帰処理は、P_xからBASEを生成して、P_baseからフレーズペアを生成した場合に終了する。
【００４８】
スコア算出部１１１は、フレーズ出現頻度情報格納部１０２に格納されている１以上のフレーズ出現頻度情報を用いて、フレーズテーブル１０１の各フレーズペアに対するスコアを算出する。ここで、１以上のフレーズ出現頻度情報を用いてとは、例えば、数式５に示すように、ノンパラメトリックベイズ法に基づくPitman-Yor過程を利用することである。つまり、スコア算出部１１１は、フレーズ出現頻度情報格納部１０２に格納されている１以上のフレーズ出現頻度情報を用いて、ノンパラメトリックベイズ法に基づいて、フレーズテーブル１０１の各フレーズペアに対するスコアを算出することは好適である。
【数５】
0005791097.tif 000006
【００４９】
なお、数式５は、フレーズペアの確率分布が、d、s、PdacをパラメータとするPitman-Yor過程から生成される、ことを意味する。
【００５０】
パージング部１１４は、スコア算出部１１１で算出したスコアが最大になるような対訳文（フレーズも含む）の木構造を取得する。さらに、詳細には、パージング部１１４は、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.」に記載されている。
【００５１】
木更新部１１５は、パージング部１１４が取得した木構造を、対訳コーパス１００に蓄積する。ここで、通常、木更新部１１５は、木構造を上書きする。つまり、対訳コーパス１００中の古い木構造は、新しい木構造に更新される。
【００５２】
フレーズテーブル更新部１１２は、スコア算出部１１１が算出したスコアを各フレーズペアに対応付けて蓄積する。また、フレーズテーブル更新部１１２は、スコア算出部１１１が算出したスコアに対応するフレーズペアがフレーズテーブル１０１に存在しない場合、スコア算出部１１１が算出したスコアとフレームペアとを有するスコア付きフレーズペアを、フレーズテーブル１０１に蓄積しても良い。
【００５３】
フレーズテーブル１０１、フレーズ出現頻度情報格納部１０２、記号出現頻度情報格納部１０３、または対訳コーパス１００は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００５４】
フレーズテーブル１０１等にスコア付きフレーズペア等が記憶される過程は問わない。例えば、記録媒体を介してスコア付きフレーズペア等がフレーズテーブル１０１等で記憶されるようになってもよく、通信回線等を介して送信されたスコア付きフレーズペア等がフレーズテーブル１０１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたスコア付きフレーズペア等がフレーズテーブル１０１等で記憶されるようになってもよい。
【００５５】
生成フレーズペア取得部１０４、フレーズ出現頻度情報更新部１０５、記号取得部１０６、記号出現頻度情報更新部１０７、部分フレーズペア生成部１０８、新フレーズペア生成部１０９、制御部１１０、スコア算出部１１１、フレーズテーブル更新部１１２、フレーズテーブル初期化部１１３、パージング部１１４、および木更新部１１５は、通常、ＭＰＵやメモリ等から実現され得る。生成フレーズペア取得部１０４等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００５６】
次に、対訳フレーズ学習装置１の動作について、図２のフローチャートを用いて説明する。なお、図２のフローチャートの動作の前に、フレーズテーブル初期化部１１３は、初期段階のフレーズテーブル１０１を生成している、とする。また、図２、図３のフローチャートでは、対訳コーパス１００内の一の対訳情報を用いて、スコア付きフレーズペアを取得する処理を説明している。つまり、通常、対訳コーパス１００内の多数の各対訳情報に対して、繰り返し、スコア付きフレーズペアを取得する。また、一の対訳情報に対しても、繰り返し、スコア付きフレーズペアを取得することは好適である。
【００５７】
（ステップＳ２０１）生成フレーズペア取得部１０４は、対訳コーパス１００に格納されている１以上の各対訳文を取得し、当該各対訳文の木構造を構成する１以上の各フレーズペアの出現分（通常、出現頻度の「１」）を、フレーズテーブル１０１に存在するフレーズペアのスコアから引く。次に、生成フレーズペア取得部１０４は、フレーズペアの確率分布Ｐｔを用いて、一つのフレーズペアを生成しようとする。また、フレーズペアの確率分布Ｐｔは、フレーズ出現頻度情報格納部１０２のフレーズペア頻度（Ｆ出現頻度情報）を用いて、例えば、Pitman-Yor過程によって算出され得る。なお、Pitman-Yor過程に基づいた確率の算出は公知技術であるので、説明を省略する。
【００５８】
（ステップＳ２０２）部分フレーズペア生成部１０８等は、フレーズ生成処理を行い、処理を終了する。フレーズ生成処理とは、階層的ITGを用いた、２階層以上のフレーズの生成処理である。フレーズ生成処理については、図３のフローチャートを用いて説明する。
【００５９】
次に、ステップＳ１０２のフレーズ生成処理について、図３のフローチャートを用いて説明する。
【００６０】
（ステップＳ３０１）部分フレーズペア生成部１０８は、先のフレーズペアの生成の処理において、フレーズペアが生成できたか否かを判断する。フレーズペアが生成できればステップＳ３０２に行き、生成できなければステップＳ３０５に行く。
【００６１】
（ステップＳ３０２）フレーズ出現頻度情報更新部１０５は、先のフレーズペアの生成の処理において生成されたフレーズペアに対応するＦ出現頻度情報を予め決められた値（通常、「１」）だけ増加する。なお、フレーズペアがフレーズ出現頻度情報格納部１０２に存在しない場合は、フレーズ出現頻度情報更新部１０５は、生成されたフレーズペアとＦ出現頻度情報とを対応付けて、フレーズ出現頻度情報格納部１０２に蓄積する。
【００６２】
（ステップＳ３０３）スコア算出部１１１は、更新されたフレーズ出現頻度情報に対応するフレーズペアのスコアを算出する。
【００６３】
（ステップＳ３０４）フレーズテーブル更新部１１２は、ステップＳ３０３で算出されたスコアを有するスコア付きフレーズペアを構成し、フレーズテーブル１０１に書き込む。なお、フレーズテーブル１０１に当該フレーズペアが存在しない場合は、フレーズテーブル更新部１１２は、スコア付きフレーズペアを構成し、新たにフレーズテーブル１０１に追記する。また、フレーズテーブル１０１に当該フレーズペアが存在する場合は、フレーズテーブル更新部１１２は、当該フレーズペアに対応するスコアを、ステップＳ３０３で算出されたスコアに更新する。そして、上位処理（ステップS２０２等）にリターンする。
【００６４】
（ステップＳ３０５）部分フレーズペア生成部１０８は、基底測度Ｐdacを用いて、生成しようとしたフレーズペアより小さい２つのフレーズペアを生成する。
【００６５】
（ステップＳ３０６）記号取得部１０６は、１以上の記号出現頻度情報を用いて、一の記号ｘを取得する。
【００６６】
（ステップＳ３０７）記号出現頻度情報更新部１０７は、記号取得部１０６が取得した記号ｘに対応するＳ出現頻度情報を、予め決められた値（通常、「１」）だけ増加する。
【００６７】
（ステップＳ３０８）新フレーズペア生成部１０９は、ステップＳ３０６で取得された記号ｘが「BASE」であるか否かを判断する。記号ｘが「BASE」であればステップＳ３０９に行き、「BASE」でなければステップＳ３１０に行く。
【００６８】
（ステップＳ３０９）新フレーズペア生成部１０９は、フレーズペアの事前確率を用いて、新しいフレーズペアを生成し、ステップＳ３０２にジャンプする。
【００６９】
（ステップＳ３１０）新フレーズペア生成部１０９は、ステップＳ３０６で取得された記号ｘが「REG」であるか否かを判断する。記号ｘが「REG」であればステップＳ３１１に行き、「REG」でなければステップＳ３１５に行く。なお、記号ｘが「REG」でなければ、記号ｘは「INV」である。
【００７０】
（ステップＳ３１１）新フレーズペア生成部１０９は、より小さい２つのフレーズペアを生成する。なお、ここでの２つのフレーズペアを第一フレーズペア、と第二フレーズペアとする。
【００７１】
（ステップＳ３１２）ステップＳ３１１で生成された第一フレーズペアに対して、図３のフレーズ生成処理を行う。
【００７２】
（ステップＳ３１３）ステップＳ３１１で生成された第二フレーズペアに対して、図３のフレーズ生成処理を行う。
【００７３】
（ステップＳ３１４）新フレーズペア生成部１０９は、ステップＳ３１２とステップＳ３１３で生成された２つのフレーズペアを順に連結し、一つのフレーズペアを生成し、ステップＳ３０２にジャンプする。
【００７４】
（ステップＳ３１５）新フレーズペア生成部１０９は、より小さい２つのフレーズペアを生成する。なお、ここでの２つのフレーズペアを第一フレーズペア、と第二フレーズペアとする。
【００７５】
（ステップＳ３１６）ステップＳ３１５で生成された第一フレーズペアに対して、図３のフレーズ生成処理を行う。
【００７６】
（ステップＳ３１７）ステップＳ３１５で生成された第二フレーズペアに対して、図３のフレーズ生成処理を行う。
【００７７】
（ステップＳ３１８）新フレーズペア生成部１０９は、ステップＳ３１６とステップＳ３１７で生成された２つのフレーズペアを逆順に連結し、一つのフレーズペアを生成し、ステップＳ３０２にジャンプする。
【００７８】
なお、図２、図３のフローチャートにおいて、ステップＳ３０４の後、リターンの前に、パージング部１１４による木構造の生成、および木更新部１１５による木構造（対訳コーパス１００内の木構造）の更新処理が行われることは好適である。
【００７９】
以下、本実施の形態における対訳フレーズ学習装置１の具体的な動作について説明する。
【００８０】
今、フレーズテーブル１０１には、多数のスコア付きフレーズペアが格納されており、フレーズペアの確率分布がPtである、とする。
【００８１】
また、フレーズ出現頻度情報格納部１０２には、フレーズペアと出現頻度の組である１以上のフレーズ出現頻度情報が格納されている。
【００８２】
さらに、記号出現頻度情報格納部１０３には、記号「BASE」「REG」「INV」と、各記号の出現頻度の組である３つの記号出現頻度情報が格納されている。
【００８３】
かかる状況において、まず、対訳フレーズ学習装置１の生成フレーズペア取得部１０４は、対訳コーパス１００から一の対訳文を取得する。次に、生成フレーズペア取得部１０４は、取得した対訳文の木構造を構成する１以上の各フレーズペアの出現分（通常、出現頻度の「１」）を、フレーズテーブル１０１に存在するフレーズペアのスコアから引く。次に、生成フレーズペア取得部１０４は、当該対訳文であるフレーズペア<e,f>を、フレーズペアの確率分布Ptから生成しようとする。
【００８４】
そして、部分フレーズペア生成部１０８は、先のフレーズペアの生成の処理において、フレーズペアが生成できなかった、と判断した場合、以下のように処理を行う。
【００８５】
つまり、部分フレーズペア生成部１０８は、基底測度Ｐdacを用いて、再帰的に、生成しようとしたフレーズペアより小さい２つのフレーズペアを生成する。そして、生成したより小さい２つのフレーズペアを組み合わせることで新たなフレーズペアを生成する。なお、基底測度Pdacを定義し、θtの式は数式５に示したとおりである。
【００８６】
また、Pdacの生成過程は、以下のようなITGに基づく生成過程となる。
【００８７】
つまり、記号取得部１０６は、３つの記号出現頻度情報を用いて、記号の確率分布Px(x;θx)に従って、記号を生成する。そして、記号出現頻度情報更新部１０７は、記号「ｘ＝reg」に対応するＳ出現頻度情報を１だけ増加する。
【００８８】
次に、生成した記号ｘが「x=base」の場合、新フレーズペア生成部１０９は、新しいフレーズペアをPbaseから直接生成する。また、生成した記号ｘが「x=reg」の場合、新フレーズペア生成部１０９は、<e1,f1>と<e2,f2>をPhierから生成し、１つのフレーズペア<e1e2,f1f2>を作成する。また、生成した記号ｘが「x=inv」の場合、新フレーズペア生成部１０９は、<e1,f1>と<e2,f2>をPhierから生成し、f1とf2を逆順に並べて、１つのフレーズペア<e1e2,f2f1>を作成する。
【００８９】
そして、フレーズ出現頻度情報更新部１０５は、新たに作成されたフレーズペアのフレーズ出現頻度情報を更新する。
【００９０】
また、スコア算出部１１１は、更新されたフレーズ出現頻度情報に対応するフレーズペアのスコアを算出する。
【００９１】
そして、フレーズテーブル更新部１１２は、フレーズテーブルを更新する。
【００９２】
また、パージング部１１４は、スコア算出部１１１が算出したスコアを用いて、木構造のスコアが最大になるような新しい木構造を取得する。そして、木更新部１１５は、取得された木構造を、対訳コーパス１００に蓄積し、古い木構造を新しい木構造に更新する。
【００９３】
以上の処理により、フレーズペア「Mrs.Smith's red cookbook／スミスさんの赤い料理本」に対して、図４に示すように、多階層の粒度のフレーズペアが学習できることとなる。
【００９４】
なお、本具体例におけるフレーズテーブル１０１の構築法は、例えば、以下である。
【００９５】
フレーズテーブルの素性として、条件付き確率Pt(f|e)とPt(e|f)や、lexical weight-ing確率、フレーズペナルティなどを利用する。ここでは、モデル確率Ptを使って条件付き確率を計算する。つまり、数式６、数式７を用いて、条件付き確率を算出する。そして、スコア算出部１１１は、例えば、フレーズテーブルの各素性に予め決められた重みを乗算し、それらの値の和をとることによりスコアを算出する。また、lexical weighting確率は、フレーズを構成する単語を利用して算出できる。かかる算出は公知技術（P. Koehn, F. J. Och, and D. Marcu.Statistical phrase-based translation.In Proc. NAACL, pp. 48-54, 2003.参照）
である。また、フレーズペナルティは、例えば、すべてのフレーズに対して「１」である。
【数６】
0005791097.tif 000007
【数７】
0005791097.tif 000008
【００９６】
なお、フレーズテーブル更新部１１２は、サンプルに１回以上現れるフレーズペアのみをフレーズテーブル１０１に入れる。さらに、２つの素性を加える。１つ目はモデルによるフレーズペアの同時確率Pt(<e,f>)である。２つ目はinside-outside アルゴリズムで計算されたスパンの事後確率に基づいて、あるフレーズペア<e,f>が入っているスパンの平均事後確率を素性とする。スパン確率は頻繁に起こるフレーズペア、または頻繁に起こるフレーズペアを元に構成されるフレーズペアで高くなるため、フレーズペアがどの程度信頼できるかを判定するのに有用である。このモデル確率に基づくフレーズ抽出をMODと呼ぶ。なお、スパン確率は、ITGのチャートパーサによって算出できる。
（実験）
【００９７】
以下、対訳フレーズ学習装置１の実験結果について説明する。本実験において、対訳フレーズ学習装置１の手法を、仏英翻訳と日英翻訳のタスクで評価した。
【００９８】
仏英翻訳においてWorkshop on Statistical Machine Translation(WMT)（C. Callison-Burch, et al. Findings of the 2010 joint workshop on statistical machine translation and metrics for machine translation. In Proc.WMT/MetricsMATR, pp. 17{53, 2010.参照）のデータを用い、翻訳モデル学習にnews commentaryのコーパス、言語モデル学習にnews commentaryとEuroparlのコーパスを利用した。日英翻訳はNTCIRの特許翻訳タスク（A.Fujii,M.Utiyama,M.Yamamoto, and T.Utsuro.Overview of the patent translation task at the NTCIR-7 workshop. In Proc. NTCIR-7, pp. 389-400, 2008.）のデータを用い、翻訳モデルにパラレルコーパスの最初の１０万文、言語モデルにパラレルコーパス全体を利用した。コーパスの諸元を図５に示す。データの前処理として単語分割（トークン化）と小文字化を行い、翻訳モデルの学習に４０単語以下の文のみを利用する。デコーダとしてMoses（P. Koehn,et al. Moses: Open source toolkit for statistical machine translation. In Proc. ACL, 2007.参照）を利用する。フレーズの最大長を７とし、言語モデルはKneser-Ney平滑化を用いた5-gramモデルである。評価基準は4-gramまでのBLEUスコアとする。最初の実験では、flatとhierのモデル確率を利用したフレーズ抽出（mod）と、GIZA++から得られたアライメント（giza）とヒューリスティックスに基づくフレーズ抽出の精度を比べる。gizaの場合はModel4までの標準的な学習設定を用いて、grow-diag-final-andで両方向のアライメント結果で組み合わせる。対訳フレーズ学習装置１の手法では１００イタレーションの学習を行い、最後のサンプルを利用する。実際には１００イタレーション目まで尤度が単調増加したが、翻訳精度は５〜１０イタレーション目以降ほぼ同等となった。１イタレーションは１コアで約１．３時間かかったため、良い翻訳精度は６．５〜１３時間で実現することができた。
【００９９】
実験結果を図６に示す。図６において、BLEUスコアとフレーズテーブルサイズを示す。図６において、仏英・日英ともに、階層的モデルの確率を利用したフレーズテーブルはGIZA++とヒューリスティックスに基づくフレーズ抽出の精度をわずかに上回った。つまり、完全な確率モデルが、ヒューリスティックスに基づくフレーズ抽出を上回った。さらに、対訳フレーズ学習装置１の手法で得られたフレーズテーブルのサイズも従来法の２０%弱に収まった。また、モデル確率を用いた場合、hier（本手法）はflat（ITGモデルによる従来手法）を大きく上回った。これは、最小フレーズのみを利用すると高い精度が得られないからである。
【０１００】
さらに、モデル確率に基づくフレーズ抽出と従来法の比較を図７に示す。図７において、種々のフレーズ抽出法による翻訳精度とフレーズテーブルサイズを示す。図７では、hierやflatのアライメントを利用し、モデル確率を用いる提案手法modに加えて、フレーズheur-p、ブロックheur-b、単語heur-wを最小単位とするヒューリスティック抽出を比較した。hierとmodの組み合わせはヒューリスティック抽出とほぼ同等、またはより高い精度を示しながら、フレーズテーブルのサイズを大幅に削減していることが、図７から分かる。
【０１０１】
以上、本実施の形態によれば、対訳フレーズ学習装置１で作成したフレーズテーブルを用いた機械翻訳の精度を保ちながら、フレーズテーブルのサイズを大幅に削減できる。つまり、本実施の形態によれば、多数の適切なフレーズペアを学習できる。
【０１０２】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。
【０１０３】
（実施の形態２）
本実施の形態において、実施の形態１における対訳フレーズ学習装置１が学習したフレーズテーブル１０１を用いたフレーズベース統計的機械翻訳装置について説明する。
【０１０４】
図８は、本実施の形態におけるフレーズベース統計的機械翻訳装置２のブロック図である。
【０１０５】
フレーズベース統計的機械翻訳装置２は、フレーズテーブル１０１、受付部２０１、フレーズ取得部２０２、文構成部２０３、および出力部２０４を具備する。
【０１０６】
フレーズテーブル１０１は、対訳フレーズ学習装置１が学習したフレーズテーブルである。
【０１０７】
受付部２０１は、１以上の単語を有する第一言語の文を受け付ける。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。第一言語の文の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部２０１は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【０１０８】
フレーズ取得部２０２は、受付部２０１が受け付けた文から１以上のフレーズを抽出し、フレーズテーブル１０１のスコアを用いて、フレーズテーブル１０１から第二言語の１以上のフレーズを取得する。なお、フレーズ取得部２０２の処理は公知技術である。
【０１０９】
文構成部２０３は、フレーズ取得部２０２が取得した１以上のフレーズから第二言語の文を構成する。なお、文構成部２０３の処理は公知技術である。
【０１１０】
出力部２０４は、文構成部２０３が構成した文を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【０１１１】
フレーズ取得部２０２、および文構成部２０３は、通常、ＭＰＵやメモリ等から実現され得る。フレーズ取得部２０２等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１１２】
出力部２０４は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部２０４は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０１１３】
また、フレーズベース統計的機械翻訳装置２の動作については、公知のフレーズベースの統計的機械翻訳処理を行うことで足りるので、詳細な説明を省略する。
【０１１４】
以上、本実施の形態によれば、少ない記憶領域で実現可能なフレーズテーブルを用いて、精度の高い機械翻訳が可能となる。
【０１１５】
また、図９は、上述した実施の形態の対訳フレーズ学習装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図９は、このコンピュータシステム３４０の概観図であり、図１０は、コンピュータシステム３４０のブロック図である。
【０１１６】
図９において、コンピュータシステム３４０は、ＦＤドライブ、ＣＤ−ＲＯＭドライブを含むコンピュータ３４１と、キーボード３４２と、マウス３４３と、モニタ３４４とを含む。
【０１１７】
図１０において、コンピュータ３４１は、ＦＤドライブ３４１１、ＣＤ−ＲＯＭドライブ３４１２に加えて、ＭＰＵ３４１３と、ＣＤ−ＲＯＭドライブ３４１２及びＦＤドライブ３４１１に接続されたバス３４１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３４１５とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３４１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３４１７とを含む。ここでは、図示しないが、コンピュータ３４１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０１１８】
コンピュータシステム３４０に、上述した実施の形態の対訳フレーズ学習装置等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３５０１、またはＦＤ３５０２に記憶されて、ＣＤ−ＲＯＭドライブ３４１２またはＦＤドライブ３４１１に挿入され、さらにハードディスク３４１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３４１に送信され、ハードディスク３４１７に記憶されても良い。プログラムは実行の際にＲＡＭ３４１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３５０１、ＦＤ３５０２またはネットワークから直接、ロードされても良い。
【０１１９】
プログラムは、コンピュータ３４１に、上述した実施の形態の対訳フレーズ学習装置等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３４０がどのように動作するかは周知であり、詳細な説明は省略する。
【０１２０】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１２１】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１２２】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１２３】
以上のように、本発明にかかる対訳フレーズ学習装置は、多数の適切なフレーズペアを学習できる、という効果を有し、対訳フレーズ学習装置、機械翻訳装置等として有用である。
【符号の説明】
【０１２４】
１  対訳フレーズ学習装置
２  フレーズベース統計的機械翻訳装置
１０１  フレーズテーブル
１０２  フレーズ出現頻度情報格納部
１０３  記号出現頻度情報格納部
１０４  生成フレーズペア取得部
１０５  フレーズ出現頻度情報更新部
１０６  記号取得部
１０７  記号出現頻度情報更新部
１０８  部分フレーズペア生成部
１０９  新フレーズペア生成部
１１０  制御部
１１１  スコア算出部
１１２  フレーズテーブル更新部
２０１  受付部
２０２  フレーズ取得部
２０３  文構成部
２０４  出力部
【図１】
0005791097.tif 000009
【図２】
0005791097.tif 000010
【図３】
0005791097.tif 000011
【図５】
0005791097.tif 000012
【図６】
0005791097.tif 000013
【図７】
0005791097.tif 000014
【図８】
0005791097.tif 000015
【図９】
0005791097.tif 000016
【図１０】
0005791097.tif 000017
【図４】
0005791097.tif 000018
【図１１】
0005791097.tif 000019