説明

翻訳装置、および翻訳方法

【課題】複数の機械翻訳システムの翻訳結果から精度の高い翻訳結果を得られなかった。
【解決手段】2以上の機械翻訳システムの2以上の翻訳結果を構文解析し、2以上の構文解析木を取得する構文解析部と、2以上の構文解析木からルールの集合を取得するルール取得部と、トップノードが共通するルールのトップノードを共通化して構文森を構成する構文森構成部と、構文森において、トップノードが共通であるルールに対して、スコアを算出するスコア算出部と、トップノードが共通であるルールのうち、スコア算出部が算出したスコアが最も高い一のルールに対応するサブツリーを選択し構文解析木を取得するルール選択部と、構文解析木から翻訳文を取得する翻訳文取得部と、翻訳文を出力する翻訳文出力部とを具備する翻訳装置により、複数の機械翻訳システムの翻訳結から精度の高い翻訳結果を得ることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、原言語の文を目的言語の文に自動翻訳する翻訳装置等に関するものである。
【背景技術】
【0002】
従来、複数の翻訳システムの出力を組み合わせる場合、Confusion Networkと呼ばれるグラフ構造を構築し、このグラフの最適経路を計算することにより新しい翻訳を生成する技術があった。(例えば、非特許文献1、非特許文献2、非特許文献3参照)。かかる技術で使用されるConfusion Networkは、単語単位の近さに基づき構築される。具体的には、まず各出力のうち、基準となる出力を選択し(それをスケルトンと呼ぶ)、このスケルトンに対し、他の出力との単語単位のアライメントを計算する。
【0003】
また、非特許文献3に記載の技術では、統計的にアライメントを計算するのに対し、非特許文献2に記載の技術では、編集距離を用いてアライメントを計算している。これらの従来技術において、このアライメントの情報を基にして、各エッジに単語のラベルが付与されたネットワークが形成される。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Srinivas Bangalore, German Bordel, and Giuseppe Ric- cardi. Computing consensus translation from multiple ma- chine translation systems. In Proc. of ASRU, pp. 351 - 354, 2001.
【非特許文献2】Antti-Veikko Rosti, Bing Zhang, Spyros Matsoukas, and Richard Schwartz. Incremental hypothesis alignment for building confusion networks with application to machine translation system combination. In Proc. of WMT, pp. 183-186, June 2008.
【非特許文献3】Evgeny Matusov, Nicola Ueffing, and Hermann Ney. 2006. Computing consensus translation from multiple machine translation systems using enhanced hypothe- ses alignment. In Proceedings of the 11th Conference of the European Chapter of the Association for Com- putational Linguistics, pages 33-40.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術で使用されるConfusion Networkは、最初のスケルトンの選択に大きく依存している。例えば、英語の場合、受動態と能動態といった大幅に異なる文法構造を持つシステムの出力を組み合わせる際に、もし能動態の文をスケルトンとして選択した場合、そのネットワークは基本的に能動態の文を表現したものとなる。受動態の文は無理やりアライメントを計算され、ネットワークが作成される。このような問題点に鑑みて、非特許文献2に記載の技術では、各出力をスケルトンとしてネットワークを構築し、当該複数のネットワークを組み合わせ、大きなネットワークを作成するが、根本的な解決にはなっていない。また、単語単位のアライメントの精度に依存しており、非特許文献2に記載の技術では類語辞典などを使用して単語を近似しているが、上記のような全く異なる文法構造を組み合わせる場合に有効な手法ではない。
【0006】
つまり、従来技術において、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができない、という課題があった。
【課題を解決するための手段】
【0007】
本第一の発明の翻訳装置は、同一の原言語の文を2以上の各機械翻訳システムに入力して得られる2以上の目的言語の文のである2以上の翻訳結果を格納し得る翻訳結果格納部と、2以上の各翻訳結果を構文解析し、2以上の構文解析木を取得する構文解析部と、2以上の各構文解析木から、各構文解析木を構成する2以上のサブツリーであり、局所的な文法である2以上のルールを取得するルール取得部と、2以上の各ルールのうち、トップノードが同一である2以上のルールのトップノードを共通化して、2以上の構文解析木を連結した構文森を構成する構文森構成部と、構文森を構成する2以上のルールであり、トップノードが共通である2以上の各ルールに対して、スコアを算出するスコア算出部と、構文森から、トップノードが共通である2以上のルールのうち、スコア算出部が算出したスコアが最も高い一のルールに対応するサブツリーを選択し、構文解析木を取得するルール選択部と、ルール選択部が取得した構文解析木から翻訳文を取得する翻訳文取得部と、翻訳文を出力する翻訳文出力部とを具備する翻訳装置である。
【0008】
かかる構成により、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができる。
【0009】
また、本第二の発明の翻訳装置は、第一の発明に対して、2以上の機械翻訳システムを格納し得る機械翻訳システム格納部と、原言語の文を受け付ける受付部と、2以上の各機械翻訳システムに原言語の文を入力し、2以上の翻訳結果を得る機械翻訳実行部と、2以上の翻訳結果が、翻訳結果格納部の2以上の翻訳結果である翻訳装置である。
【0010】
かかる構成により、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができる。
【0011】
また、本第三の発明の翻訳装置は、第一または第二の発明に対して、スコア算出部は、ルールに対する2以上の素性をパラメータとするスコアを算出する算出式を格納し得る算出式格納手段と、2以上の各ルールに対して、2以上の素性を取得する素性取得手段と、素性取得手段が取得した2以上の素性を、算出式に代入し、2以上の各ルールに対応するスコアを取得するスコア取得手段とを具備する翻訳装置である。
【0012】
かかる構成により、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができる。
【発明の効果】
【0013】
このように、本発明による翻訳装置によれば、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができる。
【図面の簡単な説明】
【0014】
【図1】実施の形態1における翻訳装置のブロック図
【図2】実施の形態1における構文解析部が取得した構文解析木の例を示す図
【図3】実施の形態1における翻訳装置の動作について説明するフローチャート
【図4】実施の形態1における構文森を構成する動作について説明するフローチャート
【図5】実施の形態1におけるスコア算出処理について説明するフローチャート
【図6】実施の形態1における構文解析部が取得した構文解析木の例を示す図
【図7】実施の形態1における構文解析木の例を示す図
【図8】実施の形態1における構文解析木の例を示す図
【図9】実施の形態1における構文解析木の例を示す図
【図10】実施の形態1における非終端記号の書き換え例を示す図
【図11】実施の形態1における非終端記号の書き換え例を示す図
【図12】実施の形態1における推論規則として表現された生成アルゴリズムを示す図
【図13】実施の形態1における構文森の例を示す図
【図14】実施の形態1における最終的な構文解析木の例を示す図
【図15】実施の形態1におけるコンピュータシステムの概観図
【図16】実施の形態1におけるコンピュータシステムのブロック図
【発明を実施するための形態】
【0015】
以下、翻訳装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
【0016】
本実施の形態において、2以上の機械翻訳システムが取得した2以上の翻訳結果から構文森を構成し、当該構文森において、トップノードが共通である2以上のルールのうち、スコアが最も高い一のルールに対応するサブツリー(導出木と言っても良い。)を選択し、構文解析木を取得することにより一の翻訳文を取得する翻訳装置について説明する。
【0017】
図1は、本実施の形態における翻訳装置1のブロック図である。翻訳装置1は、機械翻訳システム格納部101、翻訳結果格納部102、受付部103、機械翻訳実行部104、構文解析部105、ルール取得部106、構文森構成部107、スコア算出部108、ルール選択部109、翻訳文取得部110、および翻訳文出力部111を備える。
【0018】
スコア算出部108は、算出式格納手段1081、素性取得手段1082、およびスコア取得手段1083を備える。
【0019】
機械翻訳システム格納部101は、2以上の機械翻訳システムを格納し得る。機械翻訳システムは、通常、実行可能な機械翻訳プログラムである。機械翻訳システムは、原言語文を目的言語文に自動翻訳する。2以上の各機械翻訳システムの一部は統計的機械翻訳を行うシステムであり、一部は知識ベース機械翻訳システムである等、2以上の各機械翻訳システムは、異なる方法の機械翻訳を行うシステムであることが好適である。
【0020】
翻訳結果格納部102は、同一の原言語の文を2以上の各機械翻訳システムに入力して得られる2以上の目的言語の文のである2以上の翻訳結果を格納し得る。なお、ここで原言語の文や目的言語の文とは、原言語の句等や目的言語の句等を含むように広く解する。
【0021】
受付部103は、原言語の文を受け付ける。また、受付部103は、機械翻訳の開始指示や、2以上の機械翻訳システムの実行指示等を受け付けても良い。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。原言語の文等の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。受付部103は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0022】
機械翻訳実行部104は、2以上の各機械翻訳システムに原言語の文を入力し、当該2以上の各機械翻訳システムを実行し、2以上の翻訳結果を得る。
【0023】
構文解析部105は、翻訳結果格納部102に格納されている2以上の各翻訳結果を構文解析し、2以上の構文解析木(構文木とも言う)を取得する。各言語の文に対して、構文解析する技術は公知技術であるので詳細な説明を省略する。例えば、目的言語文が英語である場合、英語を構文解析する技術として、例えば、Stanford Parser(http://nlp.nagaokaut.ac.jp/Stanford_Parser 参照)、Enju(http://www-tsujii.is.s.u-tokyo.ac.jp/enju/index.ja.html 参照)などがある。構文解析部105は、例えば、目的言語文(英語の文)「I saw the forest」から、図2に示すような構文解析木を取得する。図2において、Sは文、NPは名詞句、VPは動詞句、PRPは代名詞、VBDは動詞、DTは冠詞、NNは名詞を示す。
【0024】
ルール取得部106は、2以上の各構文解析木から、ルールの集合を取得する。ルール取得部106は、2以上の構文解析からルールを抽出して、ユニーク処理を行って、ルールの集合を得る。ルールとは、構文解析木を構成する2以上のサブツリーであり、局所的な文法である。ルールは、通常、構文解析木の中の一のノードと当該ノードの子のノード(1階層下位のノード)とからなる。
【0025】
構文森構成部107は、ルールの集合に含まれるルールのうち、ルールが有するトップノード(親ノード)が同一であるルールのトップノード(親ノード)を共通化して、2以上の構文解析木が連結された構文森を構成する。構文森は構文解析や機械翻訳で使用されるハイパーグラフとして表現される(Dan Klein and Christopher D. Manning. Parsing and hypergraphs.In Proc. of IWPT, pp. 123-134, 2001.参照)。
【0026】
スコア算出部108は、構文森を構成する2以上のルールであり、トップノードが共通である2以上の各ルールに対して、スコアを算出する。このスコア算出部108におけるスコアの算出方法は問わない。スコア算出部108は、例えば、後述する算出式格納手段1081の算出式を用いて、スコアを算出する。なお、スコア算出部108は、構文森において、ボトムアップで、トップノードが共通である2以上の各ルールを検出し、当該検出した2以上の各ルールに対して、スコアを算出することは好適である。
【0027】
スコア算出部108を構成している算出式格納手段1081は、ルールに対する2以上の素性をパラメータとするスコアを算出する算出式を格納し得る。
【0028】
素性取得手段1082は、2以上の各ルールに対して、2以上の素性を取得する。素性は、例えば、English Gigaword、109コーパス、news commentaryの三つの5-gram言語モデルである。また、素性は、例えば、終端記号の数、ハイパーエッジの数、各システムの信頼度を表し、dの中でm番目のシステムから得られたルール(ルール)の数、各システムの出力eを参照訳として計算されたdのBLEU値(Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. Bleu: a method for automatic evaluation of machine translation. In Proc. of ACL, pp. 311-318, July 2002.参照)などである。なお、2以上の各ルールについて、上記の素性を取得する技術は公知技術であるので、説明を省略する。また、上記のハイパーエッジとは、1階層のノードの集合である。また、dは導出木である。
【0029】
スコア取得手段1083は、素性取得手段1082が取得した2以上の素性を、算出式格納手段1081に格納されている算出式に代入し、2以上の各ルールに対応するスコアを取得する。
【0030】
ルール選択部109は、構文森から、トップノードが共通である2以上のルールのうち、スコア算出部108が算出したスコアが最も高い一のルールに対応するサブツリーを選択し、構文解析木を取得する。
【0031】
翻訳文取得部110は、ルール選択部109が取得した構文解析木から翻訳文を取得する。
【0032】
翻訳文出力部111は、翻訳文取得部110が取得した翻訳文を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【0033】
機械翻訳システム格納部101、翻訳結果格納部102、および算出式格納手段1081は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0034】
機械翻訳システム格納部101に機械翻訳システム(実行可能なプログラム)等が記憶される過程は問わない。例えば、記録媒体を介して機械翻訳システム等が機械翻訳システム格納部101等で記憶されるようになってもよく、通信回線等を介して送信された機械翻訳システム等が機械翻訳システム格納部101等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された機械翻訳システム等が機械翻訳システム格納部101等で記憶されるようになってもよい。
【0035】
機械翻訳実行部104、構文解析部105、ルール取得部106、構文森構成部107、スコア算出部108、ルール選択部109、および翻訳文取得部110は、通常、MPUやメモリ等から実現され得る。機械翻訳実行部104等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0036】
翻訳文出力部111は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。翻訳文出力部111は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0037】
次に、翻訳装置1の動作について、図3のフローチャートを用いて説明する。なお、図3のフローチャートの処理の前に、受付部103は、一の原言語文を受け付け、機械翻訳実行部104は、機械翻訳システム格納部101に格納されている2以上の機械翻訳システムに一の原言語文を与え、2以上の機械翻訳システムを実行し、2以上の翻訳結果を得た、とする。そして、この2以上の翻訳結果は、翻訳結果格納部102に格納されている、とする。
【0038】
(ステップS301)構文解析部105は、カウンタiに1を代入する。
【0039】
(ステップS302)構文解析部105は、翻訳結果格納部102に、i番目の翻訳結果が存在するか否かを判断する。i番目の翻訳結果が存在すればステップS303に行き、i番目の翻訳結果が存在しなければステップS305に行く。
【0040】
(ステップS303)構文解析部105は、i番目の翻訳結果を翻訳結果格納部102から読み出し、当該翻訳結果に対して構文解析を行い、構文解析木を取得する。そして、構文解析部105は、iまたは翻訳結果等と対応付けて、取得した構文解析木を図示しないバッファに一時蓄積する。
【0041】
(ステップS304)構文解析部105は、カウンタiを1、インクリメントし、ステップS302に戻る。
【0042】
(ステップS305)ルール取得部106、および構文森構成部107は、バッファに一時蓄積されている2以上の構文解析木から、構文森を構成する。構文森を構成する技術については、図4のフローチャートを用いて説明する。
【0043】
(ステップS306)スコア算出部108は、カウンタiに1を代入する。
【0044】
(ステップS307)スコア算出部108は、トップノードを共有するi組目のルールの集合(ルール群という)が存在するか否かを判断する。i組目のルール群が存在すればステップS308に行き、存在しなければステップS314に行く。なお、ここでスコア算出部108は、ボトムアップで、i組目のルールの集合を探索することは好適である。
【0045】
(ステップS308)スコア算出部108は、カウンタjに1を代入する。
【0046】
(ステップS309)スコア算出部108は、i組目のルール群の中に、j番目のルールが存在するか否かを判断する。j番目のルールが存在すればステップS310に行き、存在しなければステップS312に行く。
【0047】
(ステップS310)スコア算出部108は、j番目のルールに対するスコアを算出する。スコア算出処理については、図5のフローチャートを用いて説明する。なお、スコア算出部108は、j番目のルールに対応付けて、スコアをバッファに一時蓄積する。
【0048】
(ステップS311)スコア算出部108は、カウンタjを1、インクリメントし、ステップS309に戻る。
【0049】
(ステップS312)ルール選択部109は、i組目のルール群の中の、最もスコアが大きいルールに対応するサブツリーを選択する。なお、ルール選択部109は、構文森から、i組目のルール群の中の、最もスコアが大きいルールを除いたルールに対応するサブツリーを削除する処理を行っても良い。かかる処理も最もスコアが大きいルールに対応するサブツリーの選択である。
【0050】
(ステップS313)スコア算出部108は、カウンタiを1、インクリメントし、ステップS307に戻る。
【0051】
(ステップS314)翻訳文取得部110は、ルール選択部109が選択したルールに対応するサブツリーを用いて構成された構文解析木から翻訳文を取得する。
【0052】
(ステップS315)翻訳文出力部111は、翻訳文取得部110が取得した翻訳文を出力し、処理を終了する。
【0053】
次に、ステップS305の構文森構成技術について、図4のフローチャートを用いて説明する。
【0054】
(ステップS401)ルール取得部106は、カウンタiに1を代入する。
【0055】
(ステップS402)ルール取得部106は、i番目の構文解析木が存在するか否かを判断する。i番目の構文解析木が存在すればステップS403に行き、i番目の構文解析木が存在しなければステップS405に行く。
【0056】
(ステップS403)ルール取得部106は、i番目の構文解析木から、1以上のルールを取得し、i番目の構文解析木に対応付けて、1以上のルールを図示しないバッファに一時蓄積する。
【0057】
(ステップS404)ルール取得部106は、カウンタiを1、インクリメントし、ステップS402に戻る。
【0058】
(ステップS405)構文森構成部107は、カウンタiに1を代入する。
【0059】
(ステップS406)構文森構成部107は、2以上の各構文解析木に対応する2以上のルール群の中で、トップノードが共通のi組目のルール群(2以上のルール)が存在するか否かを判断する。i組目のルール群が存在すればステップS407に行き、存在しなければ上位処理(ステップS306)にリターンする。
【0060】
(ステップS407)構文森構成部107は、トップノードが共通のi組目のルール群のトップノードを共通化する処理を行う。2以上のルールのトップノードを共通化する処理とは、2以上のすべてのルールのトップノードを、一のルールのトップノードとする処理である。
【0061】
(ステップS408)構文森構成部107は、カウンタiを1、インクリメントし、ステップS406に戻る。
【0062】
なお、構文森構成部107は、後述するアーリー法により構文森を構成することは好適である。
【0063】
次に、ステップS310のスコア算出処理について、図5のフローチャートを用いて説明する。
【0064】
(ステップS501)スコア算出部108の素性取得手段1082は、カウンタiに1を代入する。
【0065】
(ステップS502)素性取得手段1082は、算出式格納手段1081に格納されている算出式のパラメータであるi番目の素性が存在するか否かを判断する。i番目の素性が存在すればステップS503に行き、i番目の素性が存在しなければステップS505に行く。
【0066】
(ステップS503)素性取得手段1082は、ルールのi番目の素性を取得し、図示しないバッファに一時蓄積する。
【0067】
(ステップS504)素性取得手段1082は、カウンタiを1、インクリメントし、ステップS502に戻る。
【0068】
(ステップS505)スコア取得手段1083は、算出式格納手段1081に格納されている算出式を読み出す。次に、スコア取得手段1083は、バッファに一時蓄積されている1以上の素性を算出式に代入し、算出式を実行する。そして、スコア取得手段1083は、ルールのスコアを得て、上位処理(ステップS311)にリターンする。
【0069】
以下、本実施の形態における翻訳装置1の具体的な動作について説明する。今、機械翻訳システム格納部101に、4つの機械翻訳システムの実行モジュールが格納されている、とする。そして、4つの機械翻訳システムは、例えば、統計的機械翻訳の方式を採用システムであったり、知識ベース機械翻訳の方式を採用システムであったりする、とする。また、4つの機械翻訳システムは日英翻訳を行うシステムである、とする。
【0070】
次に、ユーザは、日本語の文「森を歩いた」を有する翻訳指示を入力すると、受付部103は、「森を歩いた」を有する翻訳指示を受け付ける。
【0071】
次に、機械翻訳実行部104は、機械翻訳システム格納部101の4つの機械翻訳システムを順次、読み出し、「森を歩いた」を与え、実行する。そして、機械翻訳実行部104は、4つの英文「I saw the forest」「I walked the blue forest」「I saw the green trees」「the forest was found」を得る。
【0072】
次に、構文解析部105は、上記の4つの各英文を構文解析し、図6から図9の構文解析木を取得する。図6は「I saw the forest」の構文解析木である。図7は「I walked the blue forest」の構文解析木である。図8は「I saw the green trees」の構文解析木である。図9は「the forest was found」の構文解析木である。なお、構文解析木のデータ構造は問わない。構文解析木のリンクは、各ノードの変数へのポインタでも良いし、親子関係にあるノードを一の配列に格納しているデータ構造等でも良い。
【0073】
次に、ルール取得部106は、図6から図9の構文解析木から、ルールを抽出して、ユニークをとって、ルールの集合を得る。なお、図6の構文解析木から抽出できるルールは、(S→NP VP)、(NP→PRP)、(PRP→I)、(VP→VBD NP)、(VBD→saw)、(NP→DT NN)、(DT→the)、(NN→forest)である。また、図7の構文解析木から抽出できるルールは、(S→NP VP)、(NP→PRP)、(PRP→I)、(VP→VBD NP)、(VBD→walked)、(NP→DT JJ NN)、(DT→the)、(JJ→blue)、(NN→forest)である。また、図8の構文解析木から抽出できるルールは(S→NP VP)、(NP→PRP)、(PRP→I)、(VP→VBD NP)、(VBD→saw)、(NP→DT JJ NN)、(DT→the)、(JJ→gree)、(NN→trees)を取得する。さらに、図9の構文解析木から抽出できるルールは(S→NP VP)、(NP→DT NN)、(DT→the)、(NN→forest)、(VP→VBD VP)、(VBD→was)、(VP→VBD)、(VBD→found)である。
【0074】
さらに具体的には、ルール取得部106は、ルール獲得時に、構文木の各ノードに割り当てられている非終端記号に元々の木構造の形を符号化することにより、ルールの曖昧性を減らす。まず、ルール取得部106は、水平的なMarkovization(Dan Klein and Christopher D. Manning. Accurate unlexicalized parsing. In Proc. of ACL, pp. 423-430, July 2003.参照)により、各ノードの非終端記号に、その左右の兄弟ノードの非終端記号を符号化する。例えば、図10では、VP@2をルートとした木構造に対するラベルの書き換え例を示す。例えばNP@2.2に対して、その左にある兄弟ノードVBD@2.1のラベルを組み合わせ、・で元々のノードのラベルの位置を示す。続いて、垂直的なMarkovization(Dan Klein and Christopher D. Manning. Accurate unlexicalized parsing. In Proc. of ACL, pp. 423-430, July 2003.参照)により、親ノードのラベルを組み合わせる。図11では、@2.2のノードがその親である@2のノードのラベルと組み合わされ、(NP:・VP+VBD:・NP)のようなラベルが得られる。このようにラベルの書き換えを行った後に、各ハイパーエッジをルールとみなして文法を学習する。
【0075】
次に、構文森構成部107は、ルールの集合うち、2以上のルールが有するトップノード(親ノード)が同一である2以上のルールのトップノード(親ノード)を共通化して、2以上の構文解析木が連結された構文森を構成する。
【0076】
さらに具体的には、構文森構成部107は、ルール取得部106が取得したルールの集合に対して、公知のアーリー法(Jay Earley. An efficient context-free parsing algorithm.Communications of the Association for Computing Machinery,Vol. 13, pp. 94-102, February 1970.参照)を適用し、構文森を取得する。推論規則(Joshua Goodman. Semiring parsing. Computational Linguistics,Vol. 25, pp. 573-605, December 1999.)として表現された生成アルゴリズムを図12に示す。図12において、X∈Nは非終端記号とし、x∈Tを終端記号とする。αとβ、γは終端記号、非終端記号の記号列(T∪N)?であり、uとvは、各項目に割り当てられる重みである。アーリー法において、agendaと呼ばれる待ち行列、およびその待ち行列へ挿入される、あるいはとり出されるactive item、同時に作成されるhypegraphからなる。また、各itemに対して、操作を行った結果「線」の下にある新しいactive itemが作成され、agendaへ操作される。初期化(Initializationステップ)で、まず、Sのitemをagenda入れる。その後、そのagendaが空になるまで、agendaから取り出されたactive itemに対して、Scanステップを行う。Scanステップ(scanning)において、もし、ドットの右が終端記号の場合、ドットを進めたactive itemを作成し、agendaへ挿入する。もし、ドットがitemの右端に来た場合、「passive item」を作成、hypergraphへ挿入する。Predictステップ(prediction)において、もし、ドットの右が非終端記号の場合、その非終端記号を左辺に持つルールから新しいactive itemを作成し、agendaへ挿入する。また、Completeステップ(completion)において、もし、ドットの右が非終端記号であり、hypergraphへ挿入されたpassive itemの左辺とマッチしたら、ドットを右へ進めたactive itemを作成し、agendaへ挿入する。また、もし、ドットがitemの右端に来た場合、「passive item」を作成し、hypergraph へ挿入する。ここで、hypergraphの各ノードは、ルールの左辺とその高さhでインデックスされるものとしている。
【0077】
なお、本例では、一般的なアーリー法とは異なり、各非終端記号に割り当てられるスパンの情報は無視され、各導出に対する高さをhとして保持する。Scanステップは必ず成功し、このため、深い構文森が生成される。この深さは、Predictステップにおけるh<Hにより制限される。ここでは、Hは構文解析されたシステムの出力のうち最大の深さの1.5倍としている。以上の処理により、例えば、図13に示す構文森が得られる。
【0078】
次に、スコア算出部108は、構文森を構成する2以上のルールであり、トップノードが共通である2以上の各ルールに対して、スコアを算出する。ルール選択部109は、構文森から、トップノードが共通である2以上のルールのうち、スコア算出部108が算出したスコアが最も高い一のルールを選択し、構文解析木を取得する。なお、スコア算出部108およびルール選択部109は、構文森において、ボトムアップで、ルールを選択していくことは好適である。
【0079】
さらに具体的には、スコア算出部108は、図13の構文森から、構文森に基づくk-best構文解析アルゴリズム(Liang Huang and David Chiang. Better k-best parsing. InProc. of IWPT, pp. 53-64, October 2005.参照)を使用して、数式1を用いて、k-bestの導出dを求める。
【数1】

【0080】
ここで、h(d,F)は素性の集合であり、wにより重み付けされる。Cube Pruning により、nグラム言語モデルなどの非局所的な素性との近似的な結合を行う(David Chiang. Hierarchical phrase-based translation.Computational Linguistics, Vol. 33, No. 2, pp. 201-228,2007.、およびLiang Huang and David Chiang. Forest rescoring: Faster decoding with integrated language models. In Proc. Of ACL, pp. 144-151, June 2007.参照)。そして、k-best導出には、HuangとChiangのアルゴリズム3を用いる(Liang Huang and David Chiang. Better k-best parsing. In Proc. of IWPT, pp. 53-64, October 2005.参照)。なお、h(d,F)のhは素性のベクトル、dは導出木、Fは構文森である。また、Dは、構文森から得られる導出木の集合である。
【0081】
上記の処理を繰り返し、図14の構文解析木が得られた、とする。そして、次に、翻訳文取得部110は、図14の構文解析木から翻訳文「I walked the forest」を取得する。そして、翻訳文出力部111は、翻訳文取得部110が取得した翻訳文「I walked the forest」を出力する。
【0082】
以上、本実施の形態によれば、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができる。
【0083】
なお、上記の具体例において、ボトムアップにより、数式1を用いて、k-bestの導出木dを求めた。しかし、以下のようにトップダウンにより、導出木を求めても良い。つまり、ルール選択部109は、構文森から、トップノードが共通である2以上のルールのうち、スコア算出部108が算出したスコアが最も高い一のルールを選択し、構文解析木を取得する。つまり、例えば、ルール選択部109は、ルール(NP→PRP→I)とルール(NP→DT→the NP→NN→forest)とのスコアが高い方であった(NP→PRP→I)を選択する。また、例えば、ルール選択部109は、ルール(VBD→walked)とルール(VBD→saw)とのスコアが高い方であった(VBD→walked)を選択する。
【0084】
また、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。
【0085】
また、図15は、本明細書で述べた翻訳装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図11は、このコンピュータシステム340の概観図であり、図16は、コンピュータシステム340の内部構成を示す図である。
【0086】
図15において、コンピュータシステム340は、FDドライブ3411、CD−ROMドライブ3412を含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
【0087】
図16において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、MPU3413と、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM3415とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0088】
コンピュータシステム340に、上述した実施の形態の翻訳装置の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
【0089】
プログラムは、コンピュータ341に、上述した実施の形態の翻訳装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
【0090】
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0091】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0092】
以上のように、本発明にかかる翻訳装置は、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができる、という効果を有し、機械翻訳装置等として有用である。
【符号の説明】
【0093】
1 翻訳装置
101 機械翻訳システム格納部
102 翻訳結果格納部
103 受付部
104 機械翻訳実行部
105 構文解析部
106 ルール取得部
107 構文森構成部
108 スコア算出部
109 ルール選択部
110 翻訳文取得部
111 翻訳文出力部
1081 算出式格納手段
1082 素性取得手段
1083 スコア取得手段

【特許請求の範囲】
【請求項1】
同一の原言語の文を2以上の各機械翻訳システムに入力して得られる2以上の目的言語の文のである2以上の翻訳結果を格納し得る翻訳結果格納部と、
前記2以上の各翻訳結果を構文解析し、2以上の構文解析木を取得する構文解析部と、
前記2以上の各構文解析木から、当該各構文解析木を構成するサブツリーであり、局所的な文法であるルールの集合を取得するルール取得部と、
前記ルールの集合のうち、トップノードが同一である2以上のルールのトップノードを共通化して、前記2以上の構文解析木が連結された構文森を構成する構文森構成部と、
前記構文森を構成する2以上のルールであり、トップノードが共通である2以上のルールに対して、スコアを算出するスコア算出部と、
前記構文森から、トップノードが共通である2以上のルールのうち、前記スコア算出部が算出したスコアが最も高い一のルールに対応するサブツリーを選択し、構文解析木を取得するルール選択部と、
前記ルール選択部が取得した構文解析木から翻訳文を取得する翻訳文取得部と、
前記翻訳文を出力する翻訳文出力部とを具備する翻訳装置。
【請求項2】
2以上の機械翻訳システムを格納し得る機械翻訳システム格納部と、
前記原言語の文を受け付ける受付部と、
前記2以上の各機械翻訳システムに前記原言語の文を入力し、2以上の翻訳結果を得る機械翻訳実行部と、
前記2以上の翻訳結果が、前記翻訳結果格納部の2以上の翻訳結果である請求項1記載の翻訳装置。
【請求項3】
前記スコア算出部は、
ルールに対する2以上の素性をパラメータとするスコアを算出する算出式を格納し得る算出式格納手段と、
前記2以上の各ルールに対して、2以上の素性を取得する素性取得手段と、
前記素性取得手段が取得した2以上の素性を、前記算出式に代入し、前記2以上の各ルールに対応するスコアを取得するスコア取得手段とを具備する請求項1または請求項2記載の翻訳装置。
【請求項4】
記憶媒体に、
同一の原言語の文を2以上の各機械翻訳システムに入力して得られる2以上の目的言語の文のである2以上の翻訳結果を格納しており、
構文解析部、ルール取得部、構文森構成部、スコア算出部、ルール選択部、翻訳文取得部、および翻訳文出力部とにより実現される翻訳方法であって、
前記構文解析部が、前記2以上の各翻訳結果を構文解析し、2以上の構文解析木を取得する構文解析ステップと、
前記ルール取得部が、前記2以上の各構文解析木から、当該各構文解析木を構成するサブツリーであり、局所的な文法であるルールの集合を取得するルール取得ステップと、
前記構文森構成部が、前記ルールの集合のうち、トップノードが同一であるルールのトップノードを共通化して、前記2以上の構文解析木が連結された構文森を構成する構文森構成ステップと、
前記スコア算出部が、前記構文森を構成するルールであり、トップノードが共通であるルールに対して、スコアを算出するスコア算出ステップと、
前記ルール選択部が、前記構文森から、トップノードが共通であるルールのうち、前記スコア算出ステップで算出されたスコアが最も大きい一のルールに対応するサブツリーを選択し、構文解析木を取得するルール選択ステップと、
前記翻訳文取得部が、前記ルール選択ステップで取得された構文解析木から翻訳文を取得する翻訳文取得ステップと、
前記翻訳文出力部が、前記翻訳文を出力する翻訳文出力ステップとを具備する翻訳方法。
【請求項5】
記憶媒体に、
ルールに対する2以上の素性をパラメータとするスコアを算出する算出式をさらに格納しており、
前記スコア算出ステップは、
前記2以上の各ルールに対して、2以上の素性を取得する素性取得ステップと、
前記素性取得ステップで取得された2以上の素性を、前記算出式に代入し、前記2以上の各ルールに対応するスコアを取得するスコア取得ステップとを具備する請求項4記載の翻訳方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2012−185621(P2012−185621A)
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願番号】特願2011−47587(P2011−47587)
【出願日】平成23年3月4日(2011.3.4)
【出願人】(301022471)独立行政法人情報通信研究機構 (1,071)
【Fターム(参考)】