図面 (/)

技術 フレーズテーブル生成装置およびプログラム

出願人 国立研究開発法人情報通信研究機構
発明者 マリバンジャマン藤田篤
出願日 2017年1月16日 (3年7ヶ月経過) 出願番号 2017-004791
公開日 2018年7月26日 (2年1ヶ月経過) 公開番号 2018-116324
状態 未査定
技術分野 機械翻訳
主要キーワード 部分集合データ 改善幅 分散表現 選別ステップ 要素レベル 加算法 スコア取得 フレーズ対
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年7月26日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (9)

課題

翻訳原言語および目的言語の各々に関する大規模な単言語コーパス小規模対訳辞書とから全自動フレーズテーブルを生成するフレーズテーブル生成装置を実現する。

解決手段

フレーズ対候補生成部3は、原言語フレーズ抽出部1が生成した原言語フレーズ集合と、目的言語フレーズ抽出部2が生成した目的言語フレーズの集合からフレーズ対の候補集合のデータを取得する。対訳負例サンプル生成部4は、フレーズ対候補生成部3が生成したフレーズ対の候補集合のデータを用いて、対訳負例データを生成する。選別モデルパラメータ取得部6は、対訳負例データと、対訳正例データ保持部5が保持している対訳正例データとを用いて選別モデル機械学習を行い、最適パラメータを取得する。フレーズ対選別部7では、最適パラメータによる選別モデルを用いて、フレーズ対候補生成部3が生成したフレーズ対の候補集合のデータから、精度の高いフレーズテーブルを取得する。

概要

背景

統計的機械翻訳では、所与フレーズ(1語以上の語の列)に対する訳の候補を生成するためのフレーズテーブルが不可欠である。フレーズテーブルは対訳コーパスから自動的に構築できるが、頑健かつ精緻なフレーズテーブルを得るには数十万〜数千万文の規模の対訳コーパスが必要である。このような規模の対訳コーパスは極めて高価であるため、機械翻訳(Machine Translation;MT)の多言語展開、多分野展開(例えば、医学分野工学分野等の多様な分野への展開)は容易ではない。

SMTでは、一般に次の2種類のモデル(データベース)を用いて翻訳を生成、選択する(非特許文献1)。
(1)フレーズテーブル:
フレーズテーブルは、所与の入力に対して翻訳候補を生成するために用いられる。フレーズテーブルは、一般に対訳関係にある文の対を集めた対訳コーパスから、語の対応付け、翻訳関係にあるフレーズ対の抽出等の処理を経て自動的に構築される。
(2)言語モデル
言語モデルは、所与の翻訳候補の流暢さを定量化するために用いられる。言語モデルは、一般に単言語コーパスから自動的に構築される。

翻訳の入力文に対する頑健性、可能な対訳を生成する際の頑健性、語の対応付けやそれに基づいて抽出できるフレーズ対の統計情報信頼性などの観点で、フレーズテーブルを構築する際の資源である対訳コーパスは大規模であることが望ましい。例えば、欧州言語を主な対象とする国際会議WMTの翻訳タスク(非特許文献2)やアジア言語を対象とする国際会議WATの翻訳タスク(非特許文献3)では、数百万文規模の対訳コーパスが配布され、これを用いたモデルがベースライン位置付けられている。しかしながら、このような規模の対訳コーパスを構築するには膨大な人的・金銭的コストがかかるため、新たな言語対、新たな分野において高精度なSMTを実現することは容易ではない。一方、単言語コーパスは、対訳コーパスに比して容易に入手可能であり、言語や分野によっては数億文の規模のものも存在するため、頑健性の面で有用である。しかしながら、SMTにおいて単言語コーパスは、もっぱら言語モデルの構築に用いられるに留まっており、フレーズテーブルの生成には使われてこなかった。

上記問題に対処する既存の手法は次の3種類に大別できる。各々について、特徴と課題を示す。
(1)分野適応
対象とは別の分野の相対的に大規模な対訳コーパスと、対象分野の相対的に小規模な対訳コーパスを組み合わせて、当該分野におけるSMTの性能を向上させる(非特許文献4)。ただし、対象分野の対訳コーパスも数万〜数十万文程度のものが必要である。
(2)コンパラブルコーパスからの対訳抽出:
Wikipediaに代表されるコンパラブルコーパス(対訳とは限らないが文書レベルでの内容の類似性保証されているコーパス)から対訳関係にある語の対を抽出する(非特許文献5)。また、そのような語レベルの訳を組み合わせることによって、翻訳関係にあるフレーズ対を生成することもできる(非特許文献6)。しかしながら、膨大な計算量を要するため、現実的には3語程度のフレーズに対する訳しか生成できていない。より本質的には、構成語間の対訳関係を前提とするため、構成的なフレーズ対しか生成できないという問題がある。
(3)言い換えによるフレーズテーブルの拡張
翻訳の原言語あるいは目的言語における同一言語内の同義表現(言い換え)と既存のフレーズテーブル中のフレーズ対を組み合わせて新たなフレーズ対を生成する(非特許文献7)。他の手法とは異なり、単言語コーパスを活用することによって、対象言語における表現カバレージの向上に貢献する。ただし、この手法で生成できるフレーズ対のもう一方は、既存のフレーズテーブルに収録されている表現、すなわち対訳コーパスに出現している表現に限定される。

概要

翻訳の原言語および目的言語の各々に関する大規模な単言語コーパスと小規模な対訳辞書とから全自動でフレーズテーブルを生成するフレーズテーブル生成装置を実現する。フレーズ対候補生成部3は、原言語フレーズ抽出部1が生成した原言語フレーズの集合と、目的言語フレーズ抽出部2が生成した目的言語フレーズの集合からフレーズ対の候補集合のデータを取得する。対訳負例サンプル生成部4は、フレーズ対候補生成部3が生成したフレーズ対の候補集合のデータを用いて、対訳負例データを生成する。選別モデルパラメータ取得部6は、対訳負例データと、対訳正例データ保持部5が保持している対訳正例データとを用いて選別モデルの機械学習を行い、最適パラメータを取得する。フレーズ対選別部7では、最適パラメータによる選別モデルを用いて、フレーズ対候補生成部3が生成したフレーズ対の候補集合のデータから、精度の高いフレーズテーブルを取得する。

目的

本発明は、上記課題に鑑み、翻訳の原言語および目的言語の各々に関する大規模な単言語コーパスと小規模な対訳辞書とから全自動でフレーズテーブルを生成するフレーズテーブル生成装置およびプログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

原言語目的言語機械翻訳するときに用いられるフレーズテーブルを生成するフレーズテーブル生成装置であって、原言語の単言語コーパスから原言語のフレーズのデータを抽出する原言語フレーズ抽出部と、目的言語の単言語コーパスから目的言語のフレーズのデータを抽出する目的言語フレーズ抽出部と、前記原言語フレーズ抽出部が抽出した原言語のフレーズのデータと、目的言語フレーズ抽出部が抽出した目的言語のフレーズのデータとから、フレーズ対候補集合のデータを生成するフレーズ対候補生成部と、前記フレーズ対候補生成部が生成した前記フレーズ対の候補集合のデータから、原言語のフレーズのデータと目的言語のフレーズのデータを組とする対訳負例データを生成する対訳負例サンプル生成部と、原言語のフレーズのデータと、当該原言語のフレーズに対応する目的言語のフレーズのデータを組とする対訳正例データを保持する対訳正例データ保持部と、前記対訳負例データと前記対訳正例データとを用いて機械学習することで、選別モデル最適パラメータを取得する選別モデルパラメータ取得部と、前記最適パラメータにより設定された選別モデルを用いて、前記フレーズ対候補生成部が生成したフレーズ対の候補集合のデータから、フレーズ対のデータ集合であるフレーズテーブルを生成するフレーズ対選別部と、を備えるフレーズテーブル生成装置。

請求項2

前記選別モデルパラメータ取得部は、フレーズ対に含まれる各フレーズの分散表現類似度である言語横断的意味類似度と、フレーズ対に含まれる両フレーズの構成語間翻訳確率を示す語彙的翻訳確率と、フレーズ対に含まれる各フレーズのフレーズ長に関する情報と、フレーズ対に含まれる原言語のフレーズの原言語の単言語コーパス中の出現頻度に関する情報と、フレーズ対に含まれる目的言語のフレーズの目的言語の単言語コーパス中の出現頻度に関する情報と、の少なくとも1つを要素とする素性ベクトル取得し、取得した当該素性ベクトルから、フレーズ対の対訳らしさを示すスコアを取得する処理について機械学習することで、前記選別モデルの最適パラメータを取得する、請求項1に記載のフレーズテーブル生成装置。

請求項3

前記フレーズ対選別部は、前記最適パラメータにより設定された前記選別モデルから出力されるフレーズ対の対訳らしさを示すスコアが所定の閾値を超える場合、当該フレーズ対のデータを前記フレーズテーブルに含めるように処理する、請求項1又は2に記載のフレーズテーブル生成装置。

請求項4

前記フレーズ対選別部は、各原言語フレーズに対して、前記最適パラメータにより設定された前記選別モデルから出力されるフレーズ対の対訳らしさを示すスコアが高い順に上位k個のフレーズ対を抽出し、抽出したフレーズ対のデータ前記フレーズテーブルに含めるように処理する、請求項1又は2に記載のフレーズテーブル生成装置。

請求項5

原言語を目的言語に機械翻訳するときに用いられるフレーズテーブルを生成するフレーズテーブル生成方法コンピュータに実行させるプログラムであって、原言語の単言語コーパスから原言語のフレーズのデータを抽出する原言語フレーズ抽出ステップと、目的言語の単言語コーパスから目的言語のフレーズのデータを抽出する目的言語フレーズ抽出ステップと、前記原言語フレーズ抽出ステップが抽出した原言語のフレーズのデータと、目的言語フレーズ抽出ステップが抽出した目的言語のフレーズのデータとから、フレーズ対の候補集合のデータを生成するフレーズ対候補生成ステップと、前記フレーズ対候補生成ステップが生成した前記フレーズ対の候補集合のデータから、原言語のフレーズのデータと目的言語のフレーズのデータを組とする対訳負例データを生成する対訳負例サンプル生成ステップと、原言語のフレーズのデータと、当該原言語のフレーズに対応する目的言語のフレーズのデータを組とする対訳正例データを保持する対訳正例データ保持部から前記対訳正例データを取得する対訳正例データ取得ステップと、前記対訳負例データと前記対訳正例データとを用いて機械学習することで、選別モデルの最適パラメータを取得する選別モデルパラメータ取得ステップと、前記最適パラメータにより設定された選別モデルを用いて、前記フレーズ対候補生成ステップが生成したフレーズ対の候補集合のデータから、フレーズ対のデータ集合であるフレーズテーブルを生成するフレーズ対選別ステップと、を備えるフレーズテーブル生成方法をコンピュータに実行させるためのプログラム。

技術分野

0001

本発明は、統計的機械翻訳(Statistical Machine Translation;SMT)で用いられるフレーズテーブルを生成するための技術に関する。

背景技術

0002

統計的機械翻訳では、所与フレーズ(1語以上の語の列)に対する訳の候補を生成するためのフレーズテーブルが不可欠である。フレーズテーブルは対訳コーパスから自動的に構築できるが、頑健かつ精緻なフレーズテーブルを得るには数十万〜数千万文の規模の対訳コーパスが必要である。このような規模の対訳コーパスは極めて高価であるため、機械翻訳(Machine Translation;MT)の多言語展開、多分野展開(例えば、医学分野工学分野等の多様な分野への展開)は容易ではない。

0003

SMTでは、一般に次の2種類のモデル(データベース)を用いて翻訳を生成、選択する(非特許文献1)。
(1)フレーズテーブル:
フレーズテーブルは、所与の入力に対して翻訳候補を生成するために用いられる。フレーズテーブルは、一般に対訳関係にある文の対を集めた対訳コーパスから、語の対応付け、翻訳関係にあるフレーズ対の抽出等の処理を経て自動的に構築される。
(2)言語モデル
言語モデルは、所与の翻訳候補の流暢さを定量化するために用いられる。言語モデルは、一般に単言語コーパスから自動的に構築される。

0004

翻訳の入力文に対する頑健性、可能な対訳を生成する際の頑健性、語の対応付けやそれに基づいて抽出できるフレーズ対の統計情報信頼性などの観点で、フレーズテーブルを構築する際の資源である対訳コーパスは大規模であることが望ましい。例えば、欧州言語を主な対象とする国際会議WMTの翻訳タスク(非特許文献2)やアジア言語を対象とする国際会議WATの翻訳タスク(非特許文献3)では、数百万文規模の対訳コーパスが配布され、これを用いたモデルがベースライン位置付けられている。しかしながら、このような規模の対訳コーパスを構築するには膨大な人的・金銭的コストがかかるため、新たな言語対、新たな分野において高精度なSMTを実現することは容易ではない。一方、単言語コーパスは、対訳コーパスに比して容易に入手可能であり、言語や分野によっては数億文の規模のものも存在するため、頑健性の面で有用である。しかしながら、SMTにおいて単言語コーパスは、もっぱら言語モデルの構築に用いられるに留まっており、フレーズテーブルの生成には使われてこなかった。

0005

上記問題に対処する既存の手法は次の3種類に大別できる。各々について、特徴と課題を示す。
(1)分野適応
対象とは別の分野の相対的に大規模な対訳コーパスと、対象分野の相対的に小規模な対訳コーパスを組み合わせて、当該分野におけるSMTの性能を向上させる(非特許文献4)。ただし、対象分野の対訳コーパスも数万〜数十万文程度のものが必要である。
(2)コンパラブルコーパスからの対訳抽出:
Wikipediaに代表されるコンパラブルコーパス(対訳とは限らないが文書レベルでの内容の類似性保証されているコーパス)から対訳関係にある語の対を抽出する(非特許文献5)。また、そのような語レベルの訳を組み合わせることによって、翻訳関係にあるフレーズ対を生成することもできる(非特許文献6)。しかしながら、膨大な計算量を要するため、現実的には3語程度のフレーズに対する訳しか生成できていない。より本質的には、構成語間の対訳関係を前提とするため、構成的なフレーズ対しか生成できないという問題がある。
(3)言い換えによるフレーズテーブルの拡張
翻訳の原言語あるいは目的言語における同一言語内の同義表現(言い換え)と既存のフレーズテーブル中のフレーズ対を組み合わせて新たなフレーズ対を生成する(非特許文献7)。他の手法とは異なり、単言語コーパスを活用することによって、対象言語における表現カバレージの向上に貢献する。ただし、この手法で生成できるフレーズ対のもう一方は、既存のフレーズテーブルに収録されている表現、すなわち対訳コーパスに出現している表現に限定される。

先行技術

0006

Peter E. Brown, Stephen A. Della Pietra, Vincent J. Della Pietra, Robert L. Mercer (1993). The Mathematics of Statistical Machine Translation: Parameter Estimation. Computational Linguistics, Vol. 19, No. 2, pp. 263-311.
Ondrej Bojar, Rajen Chatterjee, Christian Federmann, Barry Haddow, Matthias Huck, Chris Hokamp, Philipp Koehn, Varvara Logacheva, Christof Monz, Matteo Negri, Matt Post, Carolina Scarton, Lucia Specia, and Marco Turchi (2015). Findings of the 2015 Workshop on Statistical Machine Translation. In Proceedings of the 2015 Workshop on Statistical Machine Translation (WMT), pp. 1-46.
Toshiaki Nakazawa, Hideya Mino, Isao Goto, Graham Neubig, Sadao Kurohashi, and Eiichiro Sumita (2015). Overview of the 2nd Workshop on Asian Translation. In Proceedings of the 2nd Workshop on Asian Translation (WAT), pp. 1-28.
George Foster and Roland Kuhn (2007). Mixture-model Adaptation forSMT. In Proceedings of the 2nd Workshop on Statistical Machine Translation (WMT), pp. 128-135.
Pascale Fung (1995). Compiling Bilingual Lexicon Entries From a Non-Parallel English-Chinese Corpus. In Proceedings of the 3rd Workshop on Very Large Corpora, pp. 173-183.
Ann Irvine and Chris Callison-Burch (2014). Hullcinating Phrase Translations for Low Resource MT. In Proceedings of the 18th Conference on Computational Natural Language Learning (CoNLL), pp. 160-170.
Atsushi Fujita and Marine Carpuat (2013). FUN-NRC: Paraphrase-augmented Phrase-based SMT Systems forNTCIR-10 PatentMT. In Proceedings of the 10th NTCIR Conference on Evaluation of Information Access Technologies, pp. 327-334.

発明が解決しようとする課題

0007

上記で説明したように、大規模な対訳コーパスを構築するには膨大な人的・金銭的コストがかかるため、新たな言語対、新たな分野において高精度なSMTを実現することは容易ではない。新たな言語対、新たな分野において、ごく小規模な対訳コーパスしか得られない場合でも翻訳の精度を向上させることができる、効果的な手法が必要である。

0008

そこで本発明は、上記課題に鑑み、翻訳の原言語および目的言語の各々に関する大規模な単言語コーパスと小規模な対訳辞書とから全自動でフレーズテーブルを生成するフレーズテーブル生成装置およびプログラムを提供することを目的とする。

課題を解決するための手段

0009

上記課題を解決するための第1の発明は、原言語を目的言語に機械翻訳するときに用いられるフレーズテーブルを生成するフレーズテーブル生成装置であって、原言語フレーズ抽出部と、目的言語フレーズ抽出部と、フレーズ対候補生成部と、対訳負例サンプル生成部と、対訳正例データ保持部と、選別モデルパラメータ取得部と、フレーズ対選別部と、を備える。

0010

原言語フレーズ抽出部は、原言語の単言語コーパスから原言語のフレーズのデータを抽出する。

0011

目的言語フレーズ抽出部は、目的言語の単言語コーパスから目的言語のフレーズのデータを抽出する。

0012

フレーズ対候補生成部は、原言語フレーズ抽出部が抽出した原言語のフレーズのデータと、目的言語フレーズ抽出部が抽出した目的言語のフレーズのデータとから、フレーズ対の候補集合のデータを生成する。なお、フレーズ対の候補集合のデータには、翻訳としては適切でないフレーズの対も含まれている。

0013

対訳負例サンプル生成部は、フレーズ対候補生成部が生成したフレーズ対の候補集合のデータから、原言語のフレーズのデータと目的言語のフレーズのデータを組とする対訳負例データを生成する。なお、対訳負例データとは、"1"に相当する正例と"-1"に相当する負例のみを用いる教師あり学習によってフレーズ対選別部で用いる最適パラメータ推定する際に用いられる負例のデータである。

0014

対訳正例データ保持部は、原言語のフレーズのデータと、当該原言語のフレーズに対応する目的言語のフレーズのデータを組とする対訳正例データを保持する。なお、対訳正例データとは、"1"に相当する正例と"-1"に相当する負例のみを用いる教師あり学習によってフレーズ対選別部で用いる最適パラメータを推定する際に用いられる正例のデータである。

0015

選別モデルパラメータ取得部は、対訳負例データと対訳正例データとを用いて機械学習することで、選別モデルの最適パラメータを取得する。

0016

フレーズ対選別部は、最適パラメータにより設定された選別モデルを用いて、フレーズ対候補生成部が生成したフレーズ対の候補集合のデータから、フレーズ対のデータ集合であるフレーズテーブルを生成する。

0017

このフレーズテーブル生成装置では、選別モデルを最適化するための機械学習に使用する教師データの対訳負例データを原言語コーパスデータから抽出した原言語フレーズと目的言語コーパスデータから抽出した目的言語フレーズとのフレーズ対から生成する。したがって、対訳負例データは、偏りのないデータとすることが可能となる。そして、このフレーズテーブル生成装置では、当該対訳負例データと、信頼性の高い対訳正例データを用いて、選別モデルを最適化するための機械学習を行うので、性能の高い選別モデルを容易に構築することができる。

0018

このフレーズテーブル生成装置では、上記のようにして構築された選別モデルを用いて、フレーズ対候補生成部が取得したフレーズ対のデータを選別し、フレーズテーブルを取得する。したがって、このフレーズテーブル生成装置では、精度の高いフレーズテーブルを取得することができる。

0019

このように、このフレーズテーブル生成装置では、翻訳の原言語および目的言語の各々に関する大規模な単言語コーパスと小規模な対訳辞書(信頼性の高い対訳データ)とから全自動で精度の高いフレーズテーブルを生成することができる。

0020

第2の発明は、第1の発明であって、選別モデルパラメータ取得部は、フレーズ対(e,f)に含まれる各フレーズの分散表現類似度である言語横断的意味類似度と、フレーズ対(e,f)に含まれる両フレーズの構成語間の翻訳確率に基づく語彙的翻訳確率と、フレーズ対(e,f)に含まれる各フレーズのフレーズ長に関する情報と、フレーズ対(e,f)に含まれる原言語のフレーズの原言語の単言語コーパス中の出現頻度に関する情報と、フレーズ対(e,f)に含まれる目的言語のフレーズの目的言語の単言語コーパス中の出現頻度に関する情報と、の少なくとも1つを要素とする素性ベクトル取得する。そして、選別モデルパラメータ取得部は、取得した当該素性ベクトルから、フレーズ対(e,f)の対訳らしさを示すスコアを取得するためのモデル(選別モデル)の最適パラメータを機械学習によって取得する。

0021

これにより、このフレーズテーブル生成装置では、言語横断的意味類似度、語彙的翻訳確率、フレーズ長に関する情報、および、出現頻度に関する情報の少なくとも1つを要素とする素性ベクトル取得することができる。

0022

第3の発明は、第1または第2の発明であって、フレーズ対選別部は、最適パラメータにより設定された選別モデルから出力されるフレーズ対の対訳らしさを示すスコアが所定の閾値を超える場合、当該フレーズ対のデータをフレーズテーブルに含めるように処理する。

0023

これにより、このフレーズテーブル生成装置では、フレーズ対選別部による閾値処理により、精度の高いフレーズ対のデータを抽出して生成したフレーズテーブルを取得することができる。

0024

第4の発明は、第1または第2の発明であって、フレーズ対選別部は、各原言語フレーズに対して、最適パラメータにより設定された選別モデルから出力されるフレーズ対の対訳らしさを示すスコアが高い順に上位k個のフレーズ対を抽出し、抽出したフレーズ対のデータフレーズテーブルに含めるように処理する。

0025

これにより、このフレーズテーブル生成装置では、スコア値の高いフレーズ対のデータを効率良く抽出することができる。その結果、このフレーズテーブル生成装置では、精度の高いフレーズ対のデータを抽出して生成したフレーズテーブルを取得することができる。

0026

第5の発明は、原言語を目的言語に機械翻訳するときに用いられるフレーズテーブルを生成するフレーズテーブル生成方法コンピュータに実行させるプログラムである。フレーズテーブル生成方法は、原言語フレーズ抽出ステップと、目的言語フレーズ抽出ステップと、フレーズ対候補生成ステップと、対訳負例サンプル生成ステップと、対訳正例データ取得ステップと、選別モデルパラメータ取得ステップと、フレーズ対選別ステップと、を備える。

0027

原言語フレーズ抽出ステップは、原言語の単言語コーパスから原言語のフレーズのデータを抽出する。

0028

目的言語フレーズ抽出ステップは、目的言語の単言語コーパスから目的言語のフレーズのデータを抽出する。

0029

フレーズ対候補生成ステップは、原言語フレーズ抽出ステップが抽出した原言語のフレーズのデータと、目的言語フレーズ抽出ステップが抽出した目的言語のフレーズのデータとから、フレーズ対の候補集合のデータを生成する。

0030

対訳負例サンプル生成ステップは、フレーズ対候補生成ステップが生成したフレーズ対の候補集合のデータから、原言語のフレーズのデータと目的言語のフレーズのデータを組とする対訳負例データを生成する。

0031

対訳正例データ取得ステップは、原言語のフレーズのデータと、当該原言語のフレーズに対応する目的言語のフレーズのデータを組とする対訳正例データを保持する対訳正例データ保持部から対訳正例データを取得する。

0032

選別モデルパラメータ取得ステップは、対訳負例データと対訳正例データとを用いて機械学習することで、選別モデルの最適パラメータを取得する。

0033

フレーズ対選別ステップは、最適パラメータにより設定された選別モデルを用いて、フレーズ対候補生成ステップが生成したフレーズ対の候補集合のデータから、フレーズ対のデータ集合であるフレーズテーブルを生成する。

0034

これにより、第1の発明と同様の効果を奏するフレーズテーブル生成方法をコンピュータに実行させるためのプログラムを実現することができる。

発明の効果

0035

本発明によれば、翻訳の原言語および目的言語の各々に関する大規模な単言語コーパスと小規模な対訳辞書とから全自動でフレーズテーブルを生成するフレーズテーブル生成装置、およびプログラムを実現することができる。

図面の簡単な説明

0036

第1実施形態に係るフレーズテーブル生成システム1000の概略構成図。
第1実施形態に係る選別モデルパラメータ取得部6の概略構成図。
第1実施形態に係るフレーズ対選別部7の概略構成図。
第1実施形態に係るフレーズ対評価部71の概略構成図。
第1実施形態に係るフレーズテーブル生成システム1000で実行される処理のフローチャート
翻訳結果BLEUスコアおよびMETEORスコアの表を示す図(実施例1)。
翻訳結果のBLEUスコアおよびMETEORスコアの表を示す図(実施例2)。
CPUバス構成を示す図。

実施例

0037

[第1実施形態]
第1実施形態について、図面を参照しながら、以下説明する。

0038

<1.1:フレーズテーブル生成システムの構成>
図1は、第1実施形態に係るフレーズテーブル生成システム1000の概略構成図である。

0039

図2は、第1実施形態に係る選別モデルパラメータ取得部6の概略構成図である。

0040

図3は、第1実施形態に係るフレーズ対選別部7の概略構成図である。

0041

図4は、第1実施形態に係るフレーズ対評価部71の概略構成図である。

0042

フレーズテーブル生成システム1000は、図1に示すように、原言語コーパスデータ格納部DBeと、目的言語コーパスデータ格納部DBfと、フレーズテーブル生成装置100とを備える。

0043

原言語コーパスデータ格納部DBeには、翻訳元の言語である原言語の単言語コーパスデータが格納されている。例えば、既存のデータベース等のデータを利用することで、原言語コーパスデータ格納部DBeに、多量の原言語の単言語コーパスデータを格納することができる。これにより、容易に、大規模な原言語の単言語コーパスデータのデータベースを構築することができる。

0044

目的言語コーパスデータ格納部DBfには、翻訳先の言語である目的言語の単言語コーパスデータが格納されている。例えば、既存のデータベース等のデータを利用することで、目的言語コーパスデータ格納部DBfに、多量の目的言語の単言語コーパスデータを格納することができる。これにより、容易に、大規模な目的言語の単言語コーパスデータのデータベースを構築することができる。

0045

フレーズテーブル生成装置100は、図1に示すように、原言語フレーズ抽出部1と、目的言語フレーズ抽出部2と、フレーズ対候補生成部3と、対訳負例サンプル生成部4と、対訳正例データ保持部5と、選別モデルパラメータ取得部6と、フレーズ対選別部7とを備える。

0046

原言語フレーズ抽出部1は、原言語コーパスデータ格納部DBeから、原言語の単言語コーパスデータを取得し、取得した原言語の単言語コーパスデータからフレーズの集合Se(原言語フレーズの集合Se)を抽出し、フレーズ対候補生成部3に出力する。

0047

目的言語フレーズ抽出部2は、目的言語コーパスデータ格納部DBfから、目的言語の単言語コーパスデータを取得し、取得した目的言語の単言語コーパスデータからフレーズの集合Sf(目的言語フレーズの集合Sf)を抽出し、フレーズ対候補生成部3に出力する。

0048

フレーズ対候補生成部3は、原言語と目的言語の各々の単言語コーパスから抽出した2つのフレーズの集合Se、Sfの直積{(e,f)|e∈Se∧f∈Sf}をフレーズ対の候補集合として取得する。フレーズ対候補生成部3は、取得したフレーズ対の候補集合のデータを、データD1(e,f)として、フレーズ対選別部7に出力する。

0049

また、フレーズ対候補生成部3は、対訳負例サンプル生成部4の要求に応じて対訳負例サンプル生成部4に、フレーズ対の候補集合のデータD1(e,f)またはフレーズ対の候補集合の一部のデータを出力する。

0050

対訳負例サンプル生成部4は、フレーズ対候補生成部3から出力されるフレーズ対の候補集合のデータまたはフレーズ対の候補集合のデータの一部を入力し、当該データから疑似負例サンプルデータである対訳負例データSn(e,f)を生成する。そして、対訳負例サンプル生成部4は、生成した対訳負例データSn(e,f)を選別モデルパラメータ取得部6に出力する。

0051

対訳正例データ保持部5は、対訳正例データを保持する。なお、対訳正例データとして、例えば、原言語と目的言語の対訳辞書のデータを用いる。対訳辞書のデータは、対象とする言語対(原言語と目的言語の対)および特定分野の対訳辞書を人間が作成することで生成してもよい。また、対訳辞書のデータは、何らかの方法で自動的に構築できるフレーズレベルの対訳辞書を用いてもよい。このようにして生成された対訳正例データは、対訳正例データ保持部5に記憶・保持される。対訳正例データ保持部5は、対訳正例データをデータSp(e,f)として、選別モデルパラメータ取得部6に出力する。

0052

選別モデルパラメータ取得部6は、図2に示すように、学習データ取得部61と、選別モデル62と、パラメータ更新部63とを備える。

0053

学習データ取得部61は、対訳負例サンプル生成部4から出力される対訳負例データSn(e,f)と、対訳正例データ保持部5から出力される対訳正例データSp(e,f)とを入力する。また、学習データ取得部61は、原言語コーパスデータ格納部DBeから学習データを取得するために必要なデータをデータdata_eとして入力し、目的言語コーパスデータ格納部DBfから学習データを取得するために必要なデータをデータdata_fとして入力する。また、学習データ取得部61は、原言語フレーズ抽出部1から学習データを取得するために必要なデータをデータdata_Seとして入力し、目的言語フレーズ抽出部2から学習データを取得するために必要なデータをデータdata_Sfとして入力する。

0054

学習データ取得部61は、入力された上記データ(集合のデータ)から、個々のフレーズ対について素性ベクトルを取得するために必要なデータを取得する。具体的には、学習データ取得部61は、以下の(1)〜(6)のデータを取得する。
(1)データe:原言語フレーズのデータ。データeは、対訳正例データSp(e,f)または対訳負例データSn(e,f)から取得される。
(2)データf:目的言語フレーズのデータ。データfは、対訳正例データSp(e,f)または対訳負例データSn(e,f)から取得される。
(3)データdata1_e:データdata_eから取得されるデータ(例えば、素性ベクトルを取得するために原言語フレーズを数学的に表現したデータ)。
(4)データdata1_f:データdata_fから取得されるデータ(例えば、素性ベクトルを取得するために目的言語フレーズを数学的に表現したデータ)。
(5)データdata1_Se:データdata_Seから取得されるデータ(例えば、原言語の単言語コーパスから抽出したフレーズの集合Seから取得したフレーズを数学的に表現したデータ)。
(6)データdata1_Sf:データdata_Sfから取得されるデータ(例えば、目的言語の単言語コーパスから抽出したフレーズの集合Sfから取得したフレーズを数学的に表現したデータ)。

0055

学習データ取得部61は、取得した上記(1)〜(6)のデータを選別モデル62に出力する。

0056

選別モデル62は、図2に示すように、素性ベクトル取得部621と、スコア取得部622とを備える。

0057

素性ベクトル取得部621は、学習データ取得部61から出力される上記(1)〜(6)のデータを入力し、当該データに基づいて、N次元(N:自然数)の素性ベクトルVsを取得し、スコア取得部622に出力する。

0058

スコア取得部622は、素性ベクトル取得部621から出力される素性ベクトルVsを入力し、当該素性ベクトルVsを用いて、設定されているパラメータθにより、スコアScr0(対訳らしさを表す数値)を取得し、パラメータ更新部63に出力する。なお、スコアScr0は、その値が大きい程、対訳らしさが高いことを示すものとする。また、パラメータθは、スカラーベクトル、またはテンソルである。

0059

パラメータ更新部63は、スコア取得部622から出力されるスコアScr0を入力し、当該スコアSrc0を評価し、パラメータ更新の要否を判断する。そして、パラメータ更新部63は、パラメータの更新が必要であると判定した場合、パラメータを更新し、更新したパラメータθをスコア取得部622に出力し、スコア取得部622のパラメータを更新する。

0060

一方、パラメータ更新部63は、パラメータ更新が不要であると判定した場合、現在、スコア取得部622に設定されているパラメータを最適パラメータθ_optとして、フレーズ対選別部7に出力する。

0061

フレーズ対選別部7は、図3に示すように、フレーズ対評価部71と、対訳フレーズ選別部72とを備える。

0062

フレーズ対評価部71は、図4に示すように、処理データ取得部711と、選別モデル712とを備える。

0063

処理データ取得部711は、フレーズ対候補生成部3からフレーズ対の候補集合のデータD1(e,f)を入力する。また、処理データ取得部711は、原言語コーパスデータ格納部DBeから処理データを取得するために必要なデータをデータdata_eとして入力し、目的言語コーパスデータ格納部DBfから処理データを取得するために必要なデータをデータdata_fとして入力する。また、処理データ取得部711は、原言語フレーズ抽出部1から処理データを取得するために必要なデータをデータdata_Seとして入力し、目的言語フレーズ抽出部2から学習データを取得するために必要なデータをデータdata_Sfとして入力する。

0064

処理データ取得部711は、入力された上記データ(集合のデータ)から、個々のフレーズ対について素性ベクトルを取得するために必要なデータを取得する。具体的には、処理データ取得部711は、以下の(1)〜(6)のデータを取得する。
(1)データe:原言語フレーズのデータ。データeは、フレーズ対の候補集合のデータD1(e,f)から取得される。
(2)データf:目的言語フレーズのデータ。データfは、フレーズ対の候補集合のデータD1(e,f)から取得される。
(3)データdata1_e:データdata_eから取得されるデータ。
(4)データdata1_f:データdata_fから取得されるデータ。
(5)データdata1_Se:データdata_Seから取得されるデータ。
(6)データdata1_Sf:データdata_Sfから取得されるデータ。

0065

処理データ取得部711は、取得した上記(1)〜(6)のデータを選別モデル712に出力する。

0066

選別モデル712は、選別モデルパラメータ取得部6により取得された最適パラメータθ_optによりパラメータ設定されたモデルである。選別モデル712は、図4に示すように、素性ベクトル取得部7121と、スコア取得部7122とを備える。

0067

素性ベクトル取得部7121は、処理データ取得部711から出力される上記(1)〜(6)のデータを入力し、当該データに基づいて、N次元(N:自然数)の素性ベクトルを取得し、素性ベクトルVsとして、スコア取得部7122に出力する。

0068

スコア取得部7122は、素性ベクトル取得部7121から出力される素性ベクトルVsを入力し、当該素性ベクトルVsを用いて、設定されている最適パラメータθ_optにより、スコアScr1を取得し、対訳フレーズ選別部72に出力する。なお、スコアScr1は、その値が大きい程、対訳らしさが高いことを示すものとする。

0069

対訳フレーズ選別部72は、フレーズ対候補生成部3が生成した原言語フレーズと目的言語フレーズとのフレーズ対データD1(e,f)と、フレーズ対評価部71から出力されたフレーズ対データD1(e,f)についてのスコアScr1とを入力する。対訳フレーズ選別部72は、スコアScr1に基づいて、フレーズ対データD1(e,f)が有効なデータであるか否かを判定する。対訳フレーズ選別部72は、有効なデータであると判定したフレーズ対データD1(e,f)を記憶保持する。このようにして、対訳フレーズ選別部72は、有効なデータであると判定したフレーズ対データD1(e,f)の部分集合データを生成し、フレーズ対集合データDout(e,f)として出力する。

0070

<1.2:フレーズテーブル生成システムの動作>
以上のように構成されたフレーズテーブル生成システム1000の動作について説明する。

0071

図5は、フレーズテーブル生成システム1000で実行される処理のフローチャートである。

0072

以下では、図1図5を参照しながら、フレーズテーブル生成システム1000の動作について説明する。

0073

原言語コーパスデータ格納部DBeには、翻訳元の言語である原言語(例えば、英語)の単言語コーパスデータが格納されている。原言語コーパスデータ格納部DBeに保存するデータとして、例えば、既存のデータベース等のデータを利用する。これにより、容易に、大規模な原言語(例えば、英語)の単言語コーパスデータのデータベースを構築することができる。

0074

目的言語コーパスデータ格納部DBfには、翻訳先の言語である目的言語(例えば、フランス語)の単言語コーパスデータが格納されている。目的言語コーパスデータ格納部DBfに保存するデータとして、例えば、既存のデータベース等のデータを利用する。これにより、容易に、大規模な目的言語(例えば、フランス語)の単言語コーパスデータのデータベースを構築することができる。

0075

なお、原言語コーパスデータ格納部DBeに保存するデータと、目的言語コーパスデータ格納部DBfに保存するデータとは、同一の特定分野のデータとすることが好ましい。例えば、原言語コーパスデータ格納部DBeに保存するデータを医学分野のデータとしたとき、目的言語コーパスデータ格納部DBfに保存するデータも同じ医学分野のデータとすることが好ましい。

0076

原言語フレーズ抽出部1は、原言語コーパスデータ格納部DBeから、原言語の単言語コーパスデータを取得し、取得した原言語の単言語コーパスデータからフレーズの集合Se(原言語フレーズの集合Se)を抽出する。

0077

具体的な処理内容について、以下説明する。

0078

SMTでは、フレーズ抽出処理を実行する際、語レベルの対応付けを制約として用いることにより、フレーズの最大長をある程度大きな値に設定した場合でも、実際の翻訳の際に有用なフレーズのみを効率的に抽出できる。一方、フレーズの最大長を極端に大きな値に設定しても翻訳の性能の改善幅が限定的であることから、フレーズの最大長を6〜8語とするのが一般的である。単言語コーパスから特段の制約を用いずにそのような長さの任意のフレーズを取り出すと膨大な規模になる。後段の処理では2言語の任意のフレーズ対を処理対象とするので、この時点で十分にコンパクト、かつある程度長いフレーズを含む集合を得る必要がある。

0079

これを実現する方法として、Mikolovらによる手法("Tomas Mikolov, Quoc V. Le, and Ilya Sutskever (2013). Exploiting Similarities among Languages for Machine Translation. CoRR, abs/1309.4168."に開示されている手法)が利用できる。この手法は、次のアルゴリズムボトムアップにフレーズを認定、抽出する。
(1)単言語コーパスに出現する個々の2語からなるフレーズwiwjについて、次式によりスコアを計算する。




ここで、freq(・)は与えられたフレーズの単言語コーパスにおける頻度、δは低頻度語から構成されるフレーズが抽出されるのを抑制するための割引定数である。
(2)スコアが閾値Th1を超えるwiwjを1つのフレーズと認定する。単言語コーパス中の、フレーズと認定されたすべてのwiwjのすべての出現を1つの語とみなす。この処理は例えば、wiとwjの間のスペースを”_”(アンダースコア)等で置換することで容易に実現できる。
(3)処理(1)に戻る。

0080

上記(1)〜(3)の処理をT回繰り返した後で、各回における長さL以下のフレーズをすべて抽出する。

0081

例えば、2.6億語の仏語医療コーパスに上記のアルゴリズム(δ=60、Th1=100、L=6、T=4)を適用した場合、47万種類のフレーズが得られた。これは1〜6語のフレーズを網羅的に抽出した場合に得られる4.8億種類の約1000分の1であった。

0082

上記処理により、原言語フレーズ抽出部1は、原言語の単言語コーパスデータからフレーズの集合Se(原言語フレーズの集合Se)を抽出する(ステップS1)。

0083

そして、原言語フレーズ抽出部1は、抽出した原言語フレーズの集合Seをフレーズ対候補生成部3に出力する。

0084

目的言語フレーズ抽出部2は、目的言語コーパスデータ格納部DBfから、目的言語の単言語コーパスデータを取得し、取得した目的言語の単言語コーパスデータからフレーズの集合Sf(目的言語フレーズの集合Sf)を抽出する(ステップS2)。

0085

目的言語フレーズ抽出部2での具体的な処理内容は、原言語フレーズ抽出部1での処理と同様である。

0086

目的言語フレーズ抽出部2は、上記で説明したフレーズ抽出処理により、目的言語の単言語コーパスデータからフレーズの集合Sf(目的言語フレーズの集合Sf)を抽出する。

0087

そして、目的言語フレーズ抽出部2は、抽出した目的言語フレーズの集合Sfをフレーズ対候補生成部3に出力する。

0088

フレーズ対候補生成部3は、原言語と目的言語の各々の単言語コーパスから抽出した2つのフレーズの集合Se、Sfの直積{(e,f)|e∈Se∧f∈Sf}をフレーズ対の候補集合として取得する(ステップS3)。このようにして生成されるフレーズ対(e,f)は、ほぼすべて対訳としては不適切であるが、対訳として適切なフレーズ対も含まれうる。また、従来手法(例えば、非特許文献6に開示されている手法)では得られない、非構成的なフレーズ対も含まれうる。

0089

フレーズ対候補生成部3は、取得したフレーズ対の候補集合のデータを、データD1(e,f)として、フレーズ対選別部7に出力する。

0090

また、フレーズ対候補生成部3は、対訳負例サンプル生成部4の要求に応じて対訳負例サンプル生成部4に、フレーズ対の候補集合のデータD1(e,f)またはフレーズ対の候補集合の一部のデータを出力する。

0091

対訳負例サンプル生成部4は、フレーズ対候補生成部3から出力されるフレーズ対の候補集合のデータD1(e,f)またはフレーズ対の候補集合の一部のデータから疑似負例サンプルデータである対訳負例データSn(e,f)を生成する。例えば、対訳負例サンプル生成部4は、フレーズ対候補生成部3が生成したフレーズ対の候補集合のデータD1(e,f)またはフレーズ対の候補集合のデータの一部から、ランダムにフレーズ対を抽出し対訳負例データSn(e,f)を生成する(ステップS4)。

0092

そして、対訳負例サンプル生成部4は、生成した対訳負例データSn(e,f)を選別モデルパラメータ取得部6に出力する。

0093

対訳正例データ保持部5は、保持している対訳正例データSp(e,f)を選別モデルパラメータ取得部6に出力する(ステップS5)。対訳正例データ保持部5で保持されている対訳正例データSp(e,f)は、フレーズレベルの信頼できる対訳データであり、例えば、原言語と目的言語の対訳辞書のデータを用いて生成されたデータである。あるいは、対象言語対、対象分野の対訳コーパスが存在する場合は、それを用いて自動的に構築したフレーズテーブルからフレーズ対を抽出して用いることも考えられる。

0094

選別モデルパラメータ取得部6では、機械学習により、フレーズ対候補生成部3が生成したフレーズ対の候補集合から適切なフレーズ対のみを選別するためのモデル(選別モデル)を構築するための処理が実行される。つまり、選別モデルパラメータ取得部6では、対訳正例データSp(e,f)と対訳負例データSn(e,f)とを用いて教師あり学習を行い、選別モデルの最適パラメータを取得する(ステップS6)。

0095

学習データ取得部61は、対訳負例サンプル生成部4から出力される対訳負例データSn(e,f)と、対訳正例データ保持部5から出力される対訳正例データSp(e,f)とを入力する。また、学習データ取得部61は、原言語コーパスデータ格納部DBeから学習データを取得するために必要なデータをデータdata_eとして入力し、目的言語コーパスデータ格納部DBfから学習データを取得するために必要なデータをデータdata_fとして入力する。また、学習データ取得部61は、原言語フレーズ抽出部1から学習データを取得するために必要なデータをデータdata_Seとして入力し、目的言語フレーズ抽出部2から学習データを取得するために必要なデータをデータdata_Sfとして入力する。

0096

学習データ取得部61は、入力された上記データ(集合のデータ)から、個々のフレーズ対について素性ベクトルを取得するために必要なデータを取得する。具体的には、学習データ取得部61は、以下の(1)〜(6)のデータを取得する。
(1)データe:原言語フレーズのデータ。データeは、対訳正例データSp(e,f)または対訳負例データSn(e,f)から取得される。
(2)データf:目的言語フレーズのデータ。データfは、対訳正例データSp(e,f)または対訳負例データSn(e,f)から取得される。
(3)データdata1_e:データdata_eから取得されるデータ。
(4)データdata1_f:データdata_fから取得されるデータ。
(5)データdata1_Se:データdata_Seから取得されるデータ。
(6)データdata1_Sf:データdata_Sfから取得されるデータ。

0097

学習データ取得部61は、取得した上記(1)〜(6)のデータを選別モデル62に出力する。

0098

選別モデル62の素性ベクトル取得部621は、学習データ取得部61から出力される上記(1)〜(6)のデータを入力し、当該データに基づいて、N次元(N:自然数)の素性ベクトルを取得する。

0099

ここでは、N=10、すなわち、10次元の素性ベクトルVsを取得する場合を一例として説明する。10次元の素性ベクトルVsの各要素(Vs_1〜Vs_10)は、以下のものあるとする。

0100

≪素性ベクトルVs≫
(1)Vs_1:言語横断的意味類似度(S→T)
(2)Vs_2:言語横断的意味類似度(T→S)
(3)Vs_3:語彙的翻訳確率(S→T)
(4)Vs_4:語彙的翻訳確率(T→S)
(5)Vs_5:フレーズ長(S)
(6)Vs_6:フレーズ長(T)
(7)Vs_7:フレーズ長の比(SとTの比)
(8)Vs_8:フレーズの相対頻度(S)
(9)Vs_9:フレーズの相対頻度(T)
(10)Vs_10:フレーズの相対頻度(SとTの比)
なお、上記において、「S」は原言語を表しており、「T」は目的言語を表している。

0101

上記素性ベクトルVsの各要素(Vs_1〜Vs_10)を取得するために、素性ベクトル取得部621は、「(a)言語横断的意味類似度」、「(b)語彙的翻訳確率」、「(c)フレーズ長」、「(d)フレーズの相対頻度」を取得する処理を行う。以下では、これらの処理について、説明する。

0102

(a)言語横断的意味類似度
所与のフレーズ対(e,f)に含まれる両フレーズを各々分散表現で表し、それらの類似度を当該フレーズ対の対訳らしさとすることが考えられる。語の分散表現は、例えば、Word2Vec(”Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean (2013). Distributed Representations of Wordsand Phrases and their Compositionality. In Proceedings of Advances in Neural Information Processing Systems (NIPS).”を参照)によって得られる。語の分散表現に基づいてフレーズの分散表現を得る方法には種々ある。例えば、フレーズを構成する語のベクトル(分散表現)を加算する要素レベル加算法(Element−wise addition)によって取得されるフレーズの分散表現は、安価に得られるにも関わらず性能が良いことが報告されている(例えば、”Tomas Mikolov, Quoc V. Le, and Ilya Sutskever (2013). Exploiting Similarities among Languages for Machine Translation. CoRR, abs/1309.4168.”:この文献を「参考文献1」という)。

0103

言語が異なる2つのフレーズの類似度を計算するために、線形写像を用いる手法(参考文献1に開示されている手法)を用いることが考えられる。これは、対訳辞書を用い、次の最適化問題解くことによって得られる。




ここで、xiは対訳辞書中のi番目エントリ原言語表現eiに対する分散表現、ziは同エントリの目的言語表現fiに対する分散表現、Wは原言語における分散表現を目的言語における分散表現に写像する写像行列である。写像先の空間上での分散表現のずれが最小となるような最適な写像行列Woptを得るという最適化問題は、例えば確率的勾配降下法によって解くことができる。逆方向の、すなわち目的言語における分散表現を原言語における分散表現に写像する写像行列も同様にして得られる。任意の2つの分散表現間の類似度は、例えば余弦類似度によって得られる。

0104

素性ベクトル取得部621は、上記処理により、原言語表現eに対する分散表現を目的言語における分散表現に写像したものと目的言語表現fに対する分散表現との余弦類似度を取得し、取得した値を素性ベクトルVsの要素「Vs_1」(言語横断的意味類似度(S→T))に設定する。また、素性ベクトル取得部621は、同様にして、目的言語表現fに対する分散表現を原言語における分散表現に写像したものと原言語表現eに対する分散表現との余弦類似度を取得し、取得した値を素性ベクトルVsの要素「Vs_2」(言語横断的意味類似度(T→S))に設定する。

0105

(b)語彙的翻訳確率
所与のフレーズ対(e,f)の対訳としての適切さを定量化する方法として、構成語間の翻訳確率を用いることが考えられる。この語レベルの翻訳確率は、比較的小規模な対訳コーパスからでも計算することができ、特に高頻度語については信頼性も高い。原言語のフレーズeに対する目的言語のフレーズfの語彙的翻訳確率Plex(e|f)は、具体的には次式によって与えられる(例えば、”Almut Silja Hildebrand and Stephan Vogel (2008). Combination of Machine Translation Systems via Hypothesis Selection from Combined n-Best Lists. In Proceedings of the 8th Biennial Conference of the Association for Machine Translation in the Americas (AMTA), pp. 254-261.”を参照)。




ここで、IとJは各々、目的言語のフレーズ、原言語のフレーズの語数を表す。p(ei|fj)は、原言語のフレーズ中のj番目の語に対する目的言語のフレーズ中のi番目の語の翻訳確率を表す。

0106

素性ベクトル取得部621は、上記処理により、原言語のフレーズeに対する目的言語のフレーズfの語彙的翻訳確率Plex(e|f)を取得し、取得した値を素性ベクトルVsの要素「Vs_3」(語彙的翻訳確率(S→T))に設定する。

0107

同様にして、目的言語のフレーズに対する原言語のフレーズの語彙的翻訳確率Plex(f|e)も下記数式により計算できる。




素性ベクトル取得部621は、上記処理により、目的言語のフレーズfに対する原言語のフレーズeの語彙的翻訳確率Plex(f|e)を取得し、取得した値を素性ベクトルVsの要素「Vs_4」(語彙的翻訳確率(T→S))に設定する。

0108

(c)フレーズ長
例えば英仏の(potato, pomme de terre)のような例外はあるものの、フレーズ対が対訳であるならば、それらに含まれる語の数も比較的近くなる。そこで、各フレーズに含まれる語の数(フレーズ長)、それらの比や差の情報を、対訳らしさを推定する手がかり一種とすることが考えられる。

0109

素性ベクトル取得部621は、原言語のフレーズeのフレーズ長を取得し、取得したフレーズ長を示す値を素性ベクトルVsの要素「Vs_5」(フレーズ長(S))に設定する。

0110

また、素性ベクトル取得部621は、目的言語のフレーズfのフレーズ長を取得し、取得したフレーズ長を示す値を素性ベクトルVsの要素「Vs_6」(フレーズ長(T))に設定する。

0111

また、素性ベクトル取得部621は、原言語のフレーズeのフレーズ長と目的言語のフレーズfのフレーズ長との比を取得し、当該比を示す値を素性ベクトルVsの要素「Vs_7」(フレーズ長の比(SとTの比))に設定する。

0112

(d)フレーズの相対頻度
ある言語において極めて稀にしか出現しない表現が他の言語で高頻度の表現の対訳になることは考えにくい。従って、単言語コーパスにおける各フレーズの出現頻度も、対訳らしさを推定する上で有用な情報である。頻度の値そのもの、あるいは逆数を取って(0,1]の値に変換したものを用いることなどが考えられる。また、素性の組み合わせを明示的に扱うために、原言語のフレーズeの頻度freq_e、目的言語のフレーズfの頻度freq_f、および、2言語間(原言語、目的言語間)の相対頻度の差異Diff_freq_efを次式のようにして定量化することも考えられる(例えば、非特許文献6を参照)。








abs(x):xの絶対値を取得する関数
ここでは、言語や単言語コーパスの規模によって頻度が大きく異なることを考慮し、原言語フレーズ抽出部1が取得した原言語フレーズの集合Seおよび目的言語フレーズ抽出部2が取得した目的言語フレーズの集合Sfを用いて各単言語コーパスにおけるフレーズの相対頻度を算出し、それらの対数の差の絶対値を用いている。

0113

素性ベクトル取得部621は、上記数式に相当する処理により取得した原言語のフレーズeの相対頻度freq_eを、素性ベクトルVsの要素「Vs_8」(フレーズの相対頻度(S))に設定する。

0114

素性ベクトル取得部621は、上記数式に相当する処理により取得した目的言語のフレーズfの相対頻度freq_fを、素性ベクトルVsの要素「Vs_9」(フレーズの相対頻度(T))に設定する。

0115

素性ベクトル取得部621は、上記数式に相当する処理により取得した2言語間(原言語、目的言語間)の相対頻度の差異の絶対値Diff_freq_efを、素性ベクトルVsの要素「Vs_10」(フレーズの相対頻度(SとTの比))に設定する。

0116

なお、素性ベクトル取得部621は、下記数式に相当する処理を行い、原言語のフレーズeの頻度freq_e、目的言語のフレーズfの頻度freq_fを取得してもよい。






なお、上式において、Num(DBe)は、原言語コーパスデータ格納部DBeに格納されている原言語コーパス中の語の総数を示しており、Num(DBf)は、目的言語コーパスデータ格納部DBfに格納されている目的言語コーパス中の語の総数を示している。

0117

以上のようにして、取得された素性ベクトルVsは、素性ベクトル取得部621からスコア取得部622に出力される。

0118

スコア取得部622は、素性ベクトル取得部621から出力される素性ベクトルVsを用いて、設定されているパラメータθにより、スコアScr0を取得する。そして、スコア取得部622は、取得したスコアScr0をパラメータ更新部63に出力する。

0119

パラメータ更新部63は、スコア取得部622から出力されるスコアScr0を評価し、パラメータの更新の要否を判断する。そして、パラメータ更新部63は、パラメータの更新が必要であると判定した場合、パラメータを更新し、更新したパラメータθをスコア取得部622に出力し、スコア取得部622のパラメータを更新する。

0120

一方、パラメータ更新部63は、パラメータ更新が不要であると判定した場合、現在、スコア取得部622に設定されているパラメータを最適パラメータθ_optとして、フレーズ対選別部7に出力する。

0121

つまり、選別モデルパラメータ取得部6では、対訳正例データSp(e,f)が入力されたとき、より高い値のスコアが出力され、かつ、対訳負例データSn(e,f)が入力されたとき、より低い値のスコアが出力されるようにパラメータθを更新して、選別モデル62を最適化するための機械学習を行う。

0122

そして、選別モデルパラメータ取得部6は、上記機械学習を行うことで、選別モデル62を最適化するパラメータである最適パラメータθ_optを取得する。そして、取得した最適パラメータθ_optは、選別モデルパラメータ取得部6からフレーズ対選別部7に出力される。

0123

処理データ取得部711は、フレーズ対候補生成部3から、フレーズ対候補生成部3が生成した原言語フレーズと目的言語フレーズとのフレーズ対の候補集合のデータD1(e,f)を入力する。また、処理データ取得部711は、原言語コーパスデータ格納部DBeから処理データを取得するために必要なデータをデータdata_eとして入力し、目的言語コーパスデータ格納部DBfから処理データを取得するために必要なデータをデータdata_fとして入力する。また、処理データ取得部711は、原言語フレーズ抽出部1から処理データを取得するために必要なデータをデータdata_Seとして入力し、目的言語フレーズ抽出部2から学習データを取得するために必要なデータをデータdata_Sfとして入力する。

0124

処理データ取得部711は、入力された上記データ(集合のデータ)から、個々のフレーズ対について素性ベクトルを取得するために必要なデータを取得する。具体的には、処理データ取得部711は、以下の(1)〜(6)のデータを取得する。
(1)データe:原言語フレーズのデータ。データeは、フレーズ対の候補集合のデータD1(e,f)から取得される。
(2)データf:目的言語フレーズのデータ。データfは、フレーズ対の候補集合のデータD1(e,f)から取得される。
(3)データdata1_e:データdata_eから取得されるデータ。
(4)データdata1_f:データdata_fから取得されるデータ。
(5)データdata1_Se:データdata_Seから取得されるデータ。
(6)データdata1_Sf:データdata_Sfから取得されるデータ。

0125

処理データ取得部711は、取得した上記(1)〜(6)のデータを選別モデル712に出力する。

0126

選別モデル712は、選別モデルパラメータ取得部6により取得された最適パラメータθ_optによりパラメータ設定されたモデルである。

0127

素性ベクトル取得部7121は、処理データ取得部711から出力される上記(1)〜(6)のデータを入力し、当該データに基づいて、N次元(N:自然数)の素性ベクトルを取得し、素性ベクトルVsとして、スコア取得部7122に出力する。

0128

スコア取得部7122は、素性ベクトル取得部7121から出力される素性ベクトルVsを用いて、設定されている最適パラメータθ_optにより、スコアScr1を取得し、対訳フレーズ選別部72に出力する。

0129

対訳フレーズ選別部72は、フレーズ対候補生成部3が生成した原言語フレーズと目的言語フレーズとのフレーズ対データD1(e,f)と、フレーズ対評価部71から出力されたフレーズ対データD1(e,f)についてのスコアScr1とを入力する。対訳フレーズ選別部72は、スコアScr1に基づいて、フレーズ対データD1(e,f)が有効なデータであるか否かを判定する。対訳フレーズ選別部72は、有効なデータであると判定したフレーズ対データD1(e,f)を記憶保持する。

0130

例えば、対訳フレーズ選別部72は、所定の閾値th1とスコアScr1とを比較し、(1)Scr1>th1である場合、フレーズ対データD1(e,f)が有効なデータであると判定し、(2)Scr1≦th1である場合、フレーズ対データD1(e,f)が有効なデータではないと判定する。

0131

このようにして、対訳フレーズ選別部72は、有効なデータであると判定したフレーズ対データD1(e,f)の部分集合データを生成し、フレーズ対集合データDout(e,f)として出力する(ステップS7)。

0132

なお、対訳フレーズ選別部72は、各原言語フレーズに対して、スコアScr1の大きい上位k個(k:自然数)のフレーズ対データD1(e,f)を抽出し、フレーズ対集合データDout(e,f)として出力するようにしてもよい。

0133

以上のように処理することで、フレーズテーブル生成システム1000では、精度の高いフレーズテーブル(フレーズ対集合データDout(e,f))を取得することができる。

0134

フレーズテーブル生成システム1000では、上記のように処理するので、得られるフレーズテーブルは、既存の手法(例えば、非特許文献6の手法)では得られない、非構成的なフレーズ対を含みうる。例えば、非特許文献6の手法の手法では、"dans l'ensemble"という仏語フレーズに対して、"in set"、"the set"、"in the set"、"in whole"、"the whole"、"on the whole"のような、いずれも正しくない英語フレーズしか得られないが、フレーズテーブル生成システム1000を用いた本発明の手法では、"by and large"、"generally"、"in most cases"、"for the most part"、"mostly"などの、対訳として適切な非構成的な英語フレーズを得ることができる。

0135

フレーズテーブル生成システム1000では、選別モデル62を最適化するための機械学習に使用する教師データの対訳負例データを原言語コーパスデータから抽出した原言語フレーズと目的言語コーパスデータから抽出した目的言語フレーズとのフレーズ対候補から得ている。したがって、対訳負例データは、偏りのないデータとすることが可能となる。そして、フレーズテーブル生成システム1000では、当該対訳負例データと、信頼性の高い対訳正例データを用いて、選別モデル62を最適化するための機械学習を行うので、性能の高い選別モデルを容易に構築することができる。

0136

フレーズテーブル生成システム1000では、上記のようして構築された選別モデルを用いて、フレーズ対候補生成部3が取得したフレーズ対のデータを選別し、フレーズテーブルを取得する。したがって、フレーズテーブル生成システム1000では、精度の高いフレーズテーブルを取得することができる。

0137

このように、フレーズテーブル生成システム1000では、翻訳の原言語および目的言語の各々に関する大規模な単言語コーパスと小規模な対訳辞書(信頼性の高い対訳データ)とから全自動で精度の高いフレーズテーブルを生成することができる。

0138

なお、フレーズテーブル生成システム1000での処理は、図5のフローチャートに示した処理の順番に限定されるものではなく、適宜処理の順番を入れ替える、あるいは、並列処理により所定のステップの処理を実行するようにしてもよい。

0139

以下に本発明の実施例を示す。

0140

≪実施例1≫
実施例1:SMTの分野適応
医療テキストおよび科学技術テキストの英仏・仏英翻訳における本発明の効果を確認した。実験に用いたコーパスは次の通りである。
(A)英仏対訳コーパス
1.一般分野のもの: 欧州議会文書の約200万文対
2.対象分野のもの(対訳辞書、言語モデル用):
医療約47万文対、科学技術約6万6千文対
3.対象分野のもの(パラメータ調整用): 医療2022文対、科学技術1900文対
4.対象分野のもの(評価用):医療2045文対、科学技術1982文対
(B)単言語コーパス
1.一般分野のもの
(ア)英語: Web上のニュース記事およびA1の英語側の約28億語
(イ)仏語: Web上のニュース記事およびA1の仏語側の約11億語
2.対象分野のもの
(ア)英語: 医療約2.8億語、科学技術約8200万語
(イ)仏語: 医療約2.6億語、科学技術約200万語(大規模なものが存在せず)
上記を用いて、SMTに用いる下記の各モデルを構築した。
・フレーズテーブル:複数個を併用して翻訳候補を生成する。
PT1.コーパスA1から既存の手法で得られるフレーズテーブル
PT2.コーパスA1から既存の手法で得られる語レベルの対訳辞書
PT3.コーパスA2から既存の手法で得られる語レベルの対訳辞書
PT4.上記2の対訳辞書およびコーパスB2から本発明で得られるフレーズテーブル
PT5.上記3の対訳辞書およびコーパスB2から本発明で得られるフレーズテーブル
・言語モデル:次の3つをすべて用いる。
LM1.コーパスB1から得られるもの
LM2.コーパスB1とB2を結合したものから得られるもの
LM3.コーパスB1、B2、およびA2の目的言語側を結合したものから得られるもの
コーパスA3を用いてチューニングを施し、コーパスA4を用いて行った性能評価の結果(BLEU(bilingual evaluation understudy)スコアおよびMETEOR(Metric for Evaluation of Translation with Explicit ORdering)スコア)を図6に示す。

0141

図6から分かるように、対象分野における対訳辞書(PT3)がない場合でも、一般分野の対訳コーパス(A1)から得られる対訳辞書と単言語コーパスを用いて本発明によりフレーズテーブルを構築することにより(PT1&PT4)、BLEUスコアを1.3〜2.1ポイント、METEORスコアを1.6〜2.2ポイント改善することができた。

0142

対象分野における対訳辞書(PT3)がある場合は、それをフレーズテーブルとみなして翻訳に用いること(PT1&PT3)が有効である。この場合は、単言語コーパスから本発明により構築したフレーズテーブルの効果(PT1&PT3&PT5)は若干小さくなるが、それでもBLEUスコアを0.3〜1.0ポイント改善できた。

0143

≪実施例2≫
実施例2:極めて小規模な対訳コーパスしか存在しない状況下でのSMT
極めて小規模な対訳コーパスしか存在しない言語間での翻訳における本発明の効果を確認した。実験に用いたコーパスは次の通りである。
(A)対訳コーパス
1.仏日・西日対訳コーパス(訓練用): 特定の分野でない2000文対
2.仏日・西日対訳コーパス(訓練用):旅行会話分野の約47万文対
3.仏日・西日対訳コーパス(パラメータ調整用): 特定の分野でない1000文対
4.仏日・西日対訳コーパス(評価用): 特定の分野でない3000文対
5.仏英対訳コーパス(訓練用): 欧州議会文書の約200万文対
6.西英対訳コーパス(訓練用): 欧州議会文書の約200万文対
7.英日対訳コーパス(訓練用): Webから収集した約2600万文対
(B)単言語コーパス
1.日本語: Webから収集した約47億語
2.仏語: Web上のニュース記事およびA5の仏語側の約11億語
3.西語: Web上のニュース記事およびA6の仏語側の約4.5億語
上記を用いて、SMTに用いる下記の各モデルを構築した。
・フレーズテーブル:複数個を併用して翻訳候補を生成する。
PT1.コーパスA1から既存の手法で得られるフレーズテーブル
PT2.コーパスA1から既存の手法で得られる語レベルの対訳辞書
PT3.上記2の対訳辞書およびコーパスBから本発明で得られるフレーズテーブル
PT4.コーパスA2から既存の手法で得られるフレーズテーブル
PT5.コーパスA2から既存の手法で得られる語レベルの対訳辞書
PT6.上記5の対訳辞書およびコーパスBから本発明で得られるフレーズテーブル
PT7.英語を媒介言語(ピボット言語)として、コーパスA5、A6、A7から既存の手法で得られるフレーズテーブルを合成して得られるフレーズテーブル
PT8.英語を媒介言語(ピボット言語)として、コーパスA5、A6、A7から既存の手法で得られる語レベルの対訳辞書
PT9.上記8の対訳辞書およびコーパスBから本発明で得られるフレーズテーブル
・言語モデル: コーパスBから得られるもの
コーパスA3を用いてチューニングを施し、コーパスA4を用いて行った性能評価の結果(BLEUスコアおよびMETEORスコア)を図7に示す。

0144

図7から分かるように、対訳が2000文対しか存在しない場合(PT1)はベースラインとなる翻訳精度が極めて低いため、本発明によるフレーズテーブルを併用する(PT1&PT3)ことでBLEUスコアを2.1〜2.7ポイント、METEORスコアを4.5〜6.6ポイントと大幅に改善することができた。

0145

分野は必ずしも同一ではないが、大規模な対訳コーパスが存在する場合(PT4)は、本発明による改善幅は小さくなる(PT4&PT6)。それでも、4種類のすべての言語方向について一貫して、BLEUスコア、METEORスコアを改善できた。

0146

最後に、対象とする言語対の対訳コーパスがまったくない場合のSMTの実現方法として、英語を一方とする大規模な対訳コーパスを用いて構築したピボット翻訳(PT7)の改善を試みたところ、本発明により、BLEUスコアを0.2〜1.0ポイント、METEORスコアを0.5〜1.5ポイント改善することができ(PT7&PT9)、言語対によっては対象言語対の大規模な対訳コーパスから構築したシステム(PT4)と同等以上の翻訳精度を達成することができた。

0147

[他の実施形態]
また上記実施形態のフレーズテーブル生成システム1000、フレーズテーブル生成装置100は、複数の装置により実現されるものであってもよい。

0148

また、上記実施形態において、選別モデルパラメータ取得部6の選別モデル62と、フレーズ対評価部71の選別モデル712とは、別々の構成とする場合について説明したが、これに限定されない。フレーズテーブル生成装置100において、選別モデルパラメータ取得部6の選別モデル62と、フレーズ対評価部71の選別モデル712とを1つにして共有する構成としてもよい。

0149

また上記実施形態で説明したフレーズテーブル生成装置100において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部または全部を含むように1チップ化されても良い。

0150

なおここではLSIとしたが、集積度の違いにより、IC、システムLSIスーパーLSI、ウルトラLSIと呼称されることもある。

0151

また集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブルプロセッサーを利用しても良い。

0152

また上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。

0153

また上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらにソフトウェアおよびハードウェアの混在処理により実現しても良い。

0154

例えば上記実施形態の各機能部をソフトウェアにより実現する場合、図8に示したハードウェア構成(例えばCPU、ROM、RAM、入力部、出力部、通信部、記憶部(例えば、HDDSSD等により実現される記憶部)、外部メディアドライブ等をバスBusにより接続したハードウェア構成)を用いて各機能部をソフトウェア処理により実現するようにしてもよい。

0155

また上記実施形態の各機能部をソフトウェアにより実現する場合、当該ソフトウェアは、図8に示したハードウェア構成を有する単独のコンピュータを用いて実現されるものであってもよいし、複数のコンピュータを用いて分散処理により実現されるものであってもよい。

0156

また上記実施形態における処理方法実行順序は、必ずしも上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。

0157

前述した方法をコンピュータに実行させるコンピュータプログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここでコンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。

0158

上記コンピュータプログラムは、上記記録媒体に記録されたものに限らず、電気通信回線無線または有線通信回線インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。

0159

なお本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。

0160

本発明によれば、翻訳の原言語および目的言語の各々に関する大規模な単言語コーパスと小規模な対訳辞書とから全自動でフレーズテーブルを生成するフレーズテーブル生成装置およびプログラムを実現することができる。このため本発明は、自然言語処理関連産業分野において有用であり、当該分野において実施することができる。

0161

1000フレーズテーブル生成システム
100 フレーズテーブル生成装置
1原言語フレーズ抽出部
2目的言語フレーズ抽出部
3フレーズ対候補生成部
4対訳負例サンプル生成部
5 対訳正例データ保持部
6選別モデルパラメータ取得部6
62、712 選別モデル
7 フレーズ対選別部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ