(57)【要約】【課題】複数の機械翻訳システムの翻訳結果から精度の高い翻訳結果を得られなかった。【解決手段】２以上の機械翻訳システムの２以上の翻訳結果を構文解析し、２以上の構文解析木を取得する構文解析部と、２以上の構文解析木からルールの集合を取得するルール取得部と、トップノードが共通するルールのトップノードを共通化して構文森を構成する構文森構成部と、構文森において、トップノードが共通であるルールに対して、スコアを算出するスコア算出部と、トップノードが共通であるルールのうち、スコア算出部が算出したスコアが最も高い一のルールに対応するサブツリーを選択し構文解析木を取得するルール選択部と、構文解析木から翻訳文を取得する翻訳文取得部と、翻訳文を出力する翻訳文出力部とを具備する翻訳装置により、複数の機械翻訳システムの翻訳結から精度の高い翻訳結果を得ることができる。【選択図】図１
2012185621.tif 000002
【特許請求の範囲】
【請求項１】
同一の原言語の文を２以上の各機械翻訳システムに入力して得られる２以上の目的言語の文のである２以上の翻訳結果を格納し得る翻訳結果格納部と、
前記２以上の各翻訳結果を構文解析し、２以上の構文解析木を取得する構文解析部と、
前記２以上の各構文解析木から、当該各構文解析木を構成するサブツリーであり、局所的な文法であるルールの集合を取得するルール取得部と、
前記ルールの集合のうち、トップノードが同一である２以上のルールのトップノードを共通化して、前記２以上の構文解析木が連結された構文森を構成する構文森構成部と、
前記構文森を構成する２以上のルールであり、トップノードが共通である２以上のルールに対して、スコアを算出するスコア算出部と、
前記構文森から、トップノードが共通である２以上のルールのうち、前記スコア算出部が算出したスコアが最も高い一のルールに対応するサブツリーを選択し、構文解析木を取得するルール選択部と、
前記ルール選択部が取得した構文解析木から翻訳文を取得する翻訳文取得部と、
前記翻訳文を出力する翻訳文出力部とを具備する翻訳装置。
【請求項２】
２以上の機械翻訳システムを格納し得る機械翻訳システム格納部と、
前記原言語の文を受け付ける受付部と、
前記２以上の各機械翻訳システムに前記原言語の文を入力し、２以上の翻訳結果を得る機械翻訳実行部と、
前記２以上の翻訳結果が、前記翻訳結果格納部の２以上の翻訳結果である請求項１記載の翻訳装置。
【請求項３】
前記スコア算出部は、
ルールに対する２以上の素性をパラメータとするスコアを算出する算出式を格納し得る算出式格納手段と、
前記２以上の各ルールに対して、２以上の素性を取得する素性取得手段と、
前記素性取得手段が取得した２以上の素性を、前記算出式に代入し、前記２以上の各ルールに対応するスコアを取得するスコア取得手段とを具備する請求項１または請求項２記載の翻訳装置。
【請求項４】
記憶媒体に、
同一の原言語の文を２以上の各機械翻訳システムに入力して得られる２以上の目的言語の文のである２以上の翻訳結果を格納しており、
構文解析部、ルール取得部、構文森構成部、スコア算出部、ルール選択部、翻訳文取得部、および翻訳文出力部とにより実現される翻訳方法であって、
前記構文解析部が、前記２以上の各翻訳結果を構文解析し、２以上の構文解析木を取得する構文解析ステップと、
前記ルール取得部が、前記２以上の各構文解析木から、当該各構文解析木を構成するサブツリーであり、局所的な文法であるルールの集合を取得するルール取得ステップと、
前記構文森構成部が、前記ルールの集合のうち、トップノードが同一であるルールのトップノードを共通化して、前記２以上の構文解析木が連結された構文森を構成する構文森構成ステップと、
前記スコア算出部が、前記構文森を構成するルールであり、トップノードが共通であるルールに対して、スコアを算出するスコア算出ステップと、
前記ルール選択部が、前記構文森から、トップノードが共通であるルールのうち、前記スコア算出ステップで算出されたスコアが最も大きい一のルールに対応するサブツリーを選択し、構文解析木を取得するルール選択ステップと、
前記翻訳文取得部が、前記ルール選択ステップで取得された構文解析木から翻訳文を取得する翻訳文取得ステップと、
前記翻訳文出力部が、前記翻訳文を出力する翻訳文出力ステップとを具備する翻訳方法。
【請求項５】
記憶媒体に、
ルールに対する２以上の素性をパラメータとするスコアを算出する算出式をさらに格納しており、
前記スコア算出ステップは、
前記２以上の各ルールに対して、２以上の素性を取得する素性取得ステップと、
前記素性取得ステップで取得された２以上の素性を、前記算出式に代入し、前記２以上の各ルールに対応するスコアを取得するスコア取得ステップとを具備する請求項４記載の翻訳方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原言語の文を目的言語の文に自動翻訳する翻訳装置等に関するものである。
【背景技術】
【０００２】
従来、複数の翻訳システムの出力を組み合わせる場合、Confusion Networkと呼ばれるグラフ構造を構築し、このグラフの最適経路を計算することにより新しい翻訳を生成する技術があった。（例えば、非特許文献１、非特許文献２、非特許文献３参照）。かかる技術で使用されるConfusion Networkは、単語単位の近さに基づき構築される。具体的には、まず各出力のうち、基準となる出力を選択し（それをスケルトンと呼ぶ）、このスケルトンに対し、他の出力との単語単位のアライメントを計算する。
【０００３】
また、非特許文献３に記載の技術では、統計的にアライメントを計算するのに対し、非特許文献２に記載の技術では、編集距離を用いてアライメントを計算している。これらの従来技術において、このアライメントの情報を基にして、各エッジに単語のラベルが付与されたネットワークが形成される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】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.
【非特許文献２】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.
【非特許文献３】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.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術で使用されるConfusion Networkは、最初のスケルトンの選択に大きく依存している。例えば、英語の場合、受動態と能動態といった大幅に異なる文法構造を持つシステムの出力を組み合わせる際に、もし能動態の文をスケルトンとして選択した場合、そのネットワークは基本的に能動態の文を表現したものとなる。受動態の文は無理やりアライメントを計算され、ネットワークが作成される。このような問題点に鑑みて、非特許文献２に記載の技術では、各出力をスケルトンとしてネットワークを構築し、当該複数のネットワークを組み合わせ、大きなネットワークを作成するが、根本的な解決にはなっていない。また、単語単位のアライメントの精度に依存しており、非特許文献２に記載の技術では類語辞典などを使用して単語を近似しているが、上記のような全く異なる文法構造を組み合わせる場合に有効な手法ではない。
【０００６】
つまり、従来技術において、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができない、という課題があった。
【課題を解決するための手段】
【０００７】
本第一の発明の翻訳装置は、同一の原言語の文を２以上の各機械翻訳システムに入力して得られる２以上の目的言語の文のである２以上の翻訳結果を格納し得る翻訳結果格納部と、２以上の各翻訳結果を構文解析し、２以上の構文解析木を取得する構文解析部と、２以上の各構文解析木から、各構文解析木を構成する２以上のサブツリーであり、局所的な文法である２以上のルールを取得するルール取得部と、２以上の各ルールのうち、トップノードが同一である２以上のルールのトップノードを共通化して、２以上の構文解析木を連結した構文森を構成する構文森構成部と、構文森を構成する２以上のルールであり、トップノードが共通である２以上の各ルールに対して、スコアを算出するスコア算出部と、構文森から、トップノードが共通である２以上のルールのうち、スコア算出部が算出したスコアが最も高い一のルールに対応するサブツリーを選択し、構文解析木を取得するルール選択部と、ルール選択部が取得した構文解析木から翻訳文を取得する翻訳文取得部と、翻訳文を出力する翻訳文出力部とを具備する翻訳装置である。
【０００８】
かかる構成により、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができる。
【０００９】
また、本第二の発明の翻訳装置は、第一の発明に対して、２以上の機械翻訳システムを格納し得る機械翻訳システム格納部と、原言語の文を受け付ける受付部と、２以上の各機械翻訳システムに原言語の文を入力し、２以上の翻訳結果を得る機械翻訳実行部と、２以上の翻訳結果が、翻訳結果格納部の２以上の翻訳結果である翻訳装置である。
【００１０】
かかる構成により、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができる。
【００１１】
また、本第三の発明の翻訳装置は、第一または第二の発明に対して、スコア算出部は、ルールに対する２以上の素性をパラメータとするスコアを算出する算出式を格納し得る算出式格納手段と、２以上の各ルールに対して、２以上の素性を取得する素性取得手段と、素性取得手段が取得した２以上の素性を、算出式に代入し、２以上の各ルールに対応するスコアを取得するスコア取得手段とを具備する翻訳装置である。
【００１２】
かかる構成により、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができる。
【発明の効果】
【００１３】
このように、本発明による翻訳装置によれば、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１における翻訳装置のブロック図
【図２】実施の形態１における構文解析部が取得した構文解析木の例を示す図
【図３】実施の形態１における翻訳装置の動作について説明するフローチャート
【図４】実施の形態１における構文森を構成する動作について説明するフローチャート
【図５】実施の形態１におけるスコア算出処理について説明するフローチャート
【図６】実施の形態１における構文解析部が取得した構文解析木の例を示す図
【図７】実施の形態１における構文解析木の例を示す図
【図８】実施の形態１における構文解析木の例を示す図
【図９】実施の形態１における構文解析木の例を示す図
【図１０】実施の形態１における非終端記号の書き換え例を示す図
【図１１】実施の形態１における非終端記号の書き換え例を示す図
【図１２】実施の形態１における推論規則として表現された生成アルゴリズムを示す図
【図１３】実施の形態１における構文森の例を示す図
【図１４】実施の形態１における最終的な構文解析木の例を示す図
【図１５】実施の形態１におけるコンピュータシステムの概観図
【図１６】実施の形態１におけるコンピュータシステムのブロック図
【発明を実施するための形態】
【００１５】
以下、翻訳装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
（実施の形態１）
【００１６】
本実施の形態において、２以上の機械翻訳システムが取得した２以上の翻訳結果から構文森を構成し、当該構文森において、トップノードが共通である２以上のルールのうち、スコアが最も高い一のルールに対応するサブツリー（導出木と言っても良い。）を選択し、構文解析木を取得することにより一の翻訳文を取得する翻訳装置について説明する。
【００１７】
図１は、本実施の形態における翻訳装置１のブロック図である。翻訳装置１は、機械翻訳システム格納部１０１、翻訳結果格納部１０２、受付部１０３、機械翻訳実行部１０４、構文解析部１０５、ルール取得部１０６、構文森構成部１０７、スコア算出部１０８、ルール選択部１０９、翻訳文取得部１１０、および翻訳文出力部１１１を備える。
【００１８】
スコア算出部１０８は、算出式格納手段１０８１、素性取得手段１０８２、およびスコア取得手段１０８３を備える。
【００１９】
機械翻訳システム格納部１０１は、２以上の機械翻訳システムを格納し得る。機械翻訳システムは、通常、実行可能な機械翻訳プログラムである。機械翻訳システムは、原言語文を目的言語文に自動翻訳する。２以上の各機械翻訳システムの一部は統計的機械翻訳を行うシステムであり、一部は知識ベース機械翻訳システムである等、２以上の各機械翻訳システムは、異なる方法の機械翻訳を行うシステムであることが好適である。
【００２０】
翻訳結果格納部１０２は、同一の原言語の文を２以上の各機械翻訳システムに入力して得られる２以上の目的言語の文のである２以上の翻訳結果を格納し得る。なお、ここで原言語の文や目的言語の文とは、原言語の句等や目的言語の句等を含むように広く解する。
【００２１】
受付部１０３は、原言語の文を受け付ける。また、受付部１０３は、機械翻訳の開始指示や、２以上の機械翻訳システムの実行指示等を受け付けても良い。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。原言語の文等の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。受付部１０３は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００２２】
機械翻訳実行部１０４は、２以上の各機械翻訳システムに原言語の文を入力し、当該２以上の各機械翻訳システムを実行し、２以上の翻訳結果を得る。
【００２３】
構文解析部１０５は、翻訳結果格納部１０２に格納されている２以上の各翻訳結果を構文解析し、２以上の構文解析木（構文木とも言う）を取得する。各言語の文に対して、構文解析する技術は公知技術であるので詳細な説明を省略する。例えば、目的言語文が英語である場合、英語を構文解析する技術として、例えば、Stanford Parser（http://nlp.nagaokaut.ac.jp/Stanford_Parser  参照）、Enju（http://www-tsujii.is.s.u-tokyo.ac.jp/enju/index.ja.html  参照）などがある。構文解析部１０５は、例えば、目的言語文（英語の文）「I saw the forest」から、図２に示すような構文解析木を取得する。図２において、Ｓは文、ＮＰは名詞句、ＶＰは動詞句、ＰＲＰは代名詞、ＶＢＤは動詞、ＤＴは冠詞、ＮＮは名詞を示す。
【００２４】
ルール取得部１０６は、２以上の各構文解析木から、ルールの集合を取得する。ルール取得部１０６は、２以上の構文解析からルールを抽出して、ユニーク処理を行って、ルールの集合を得る。ルールとは、構文解析木を構成する２以上のサブツリーであり、局所的な文法である。ルールは、通常、構文解析木の中の一のノードと当該ノードの子のノード（１階層下位のノード）とからなる。
【００２５】
構文森構成部１０７は、ルールの集合に含まれるルールのうち、ルールが有するトップノード（親ノード）が同一であるルールのトップノード（親ノード）を共通化して、２以上の構文解析木が連結された構文森を構成する。構文森は構文解析や機械翻訳で使用されるハイパーグラフとして表現される（Dan Klein and Christopher D. Manning. Parsing and hypergraphs.In Proc. of IWPT, pp. 123-134, 2001.参照）。
【００２６】
スコア算出部１０８は、構文森を構成する２以上のルールであり、トップノードが共通である２以上の各ルールに対して、スコアを算出する。このスコア算出部１０８におけるスコアの算出方法は問わない。スコア算出部１０８は、例えば、後述する算出式格納手段１０８１の算出式を用いて、スコアを算出する。なお、スコア算出部１０８は、構文森において、ボトムアップで、トップノードが共通である２以上の各ルールを検出し、当該検出した２以上の各ルールに対して、スコアを算出することは好適である。
【００２７】
スコア算出部１０８を構成している算出式格納手段１０８１は、ルールに対する２以上の素性をパラメータとするスコアを算出する算出式を格納し得る。
【００２８】
素性取得手段１０８２は、２以上の各ルールに対して、２以上の素性を取得する。素性は、例えば、English Gigaword、109コーパス、news commentaryの三つの5-gram言語モデルである。また、素性は、例えば、終端記号の数、ハイパーエッジの数、各システムの信頼度を表し、dの中でm番目のシステムから得られたルール（ルール）の数、各システムの出力ｅｍを参照訳として計算された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.参照）などである。なお、２以上の各ルールについて、上記の素性を取得する技術は公知技術であるので、説明を省略する。また、上記のハイパーエッジとは、１階層のノードの集合である。また、ｄは導出木である。
【００２９】
スコア取得手段１０８３は、素性取得手段１０８２が取得した２以上の素性を、算出式格納手段１０８１に格納されている算出式に代入し、２以上の各ルールに対応するスコアを取得する。
【００３０】
ルール選択部１０９は、構文森から、トップノードが共通である２以上のルールのうち、スコア算出部１０８が算出したスコアが最も高い一のルールに対応するサブツリーを選択し、構文解析木を取得する。
【００３１】
翻訳文取得部１１０は、ルール選択部１０９が取得した構文解析木から翻訳文を取得する。
【００３２】
翻訳文出力部１１１は、翻訳文取得部１１０が取得した翻訳文を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【００３３】
機械翻訳システム格納部１０１、翻訳結果格納部１０２、および算出式格納手段１０８１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００３４】
機械翻訳システム格納部１０１に機械翻訳システム（実行可能なプログラム）等が記憶される過程は問わない。例えば、記録媒体を介して機械翻訳システム等が機械翻訳システム格納部１０１等で記憶されるようになってもよく、通信回線等を介して送信された機械翻訳システム等が機械翻訳システム格納部１０１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された機械翻訳システム等が機械翻訳システム格納部１０１等で記憶されるようになってもよい。
【００３５】
機械翻訳実行部１０４、構文解析部１０５、ルール取得部１０６、構文森構成部１０７、スコア算出部１０８、ルール選択部１０９、および翻訳文取得部１１０は、通常、ＭＰＵやメモリ等から実現され得る。機械翻訳実行部１０４等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３６】
翻訳文出力部１１１は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。翻訳文出力部１１１は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００３７】
次に、翻訳装置１の動作について、図３のフローチャートを用いて説明する。なお、図３のフローチャートの処理の前に、受付部１０３は、一の原言語文を受け付け、機械翻訳実行部１０４は、機械翻訳システム格納部１０１に格納されている２以上の機械翻訳システムに一の原言語文を与え、２以上の機械翻訳システムを実行し、２以上の翻訳結果を得た、とする。そして、この２以上の翻訳結果は、翻訳結果格納部１０２に格納されている、とする。
【００３８】
（ステップＳ３０１）構文解析部１０５は、カウンタｉに１を代入する。
【００３９】
（ステップＳ３０２）構文解析部１０５は、翻訳結果格納部１０２に、ｉ番目の翻訳結果が存在するか否かを判断する。ｉ番目の翻訳結果が存在すればステップＳ３０３に行き、ｉ番目の翻訳結果が存在しなければステップＳ３０５に行く。
【００４０】
（ステップＳ３０３）構文解析部１０５は、ｉ番目の翻訳結果を翻訳結果格納部１０２から読み出し、当該翻訳結果に対して構文解析を行い、構文解析木を取得する。そして、構文解析部１０５は、ｉまたは翻訳結果等と対応付けて、取得した構文解析木を図示しないバッファに一時蓄積する。
【００４１】
（ステップＳ３０４）構文解析部１０５は、カウンタｉを１、インクリメントし、ステップＳ３０２に戻る。
【００４２】
（ステップＳ３０５）ルール取得部１０６、および構文森構成部１０７は、バッファに一時蓄積されている２以上の構文解析木から、構文森を構成する。構文森を構成する技術については、図４のフローチャートを用いて説明する。
【００４３】
（ステップＳ３０６）スコア算出部１０８は、カウンタｉに１を代入する。
【００４４】
（ステップＳ３０７）スコア算出部１０８は、トップノードを共有するｉ組目のルールの集合（ルール群という）が存在するか否かを判断する。ｉ組目のルール群が存在すればステップＳ３０８に行き、存在しなければステップＳ３１４に行く。なお、ここでスコア算出部１０８は、ボトムアップで、ｉ組目のルールの集合を探索することは好適である。
【００４５】
（ステップＳ３０８）スコア算出部１０８は、カウンタｊに１を代入する。
【００４６】
（ステップＳ３０９）スコア算出部１０８は、ｉ組目のルール群の中に、ｊ番目のルールが存在するか否かを判断する。ｊ番目のルールが存在すればステップＳ３１０に行き、存在しなければステップＳ３１２に行く。
【００４７】
（ステップＳ３１０）スコア算出部１０８は、ｊ番目のルールに対するスコアを算出する。スコア算出処理については、図５のフローチャートを用いて説明する。なお、スコア算出部１０８は、ｊ番目のルールに対応付けて、スコアをバッファに一時蓄積する。
【００４８】
（ステップＳ３１１）スコア算出部１０８は、カウンタｊを１、インクリメントし、ステップＳ３０９に戻る。
【００４９】
（ステップＳ３１２）ルール選択部１０９は、ｉ組目のルール群の中の、最もスコアが大きいルールに対応するサブツリーを選択する。なお、ルール選択部１０９は、構文森から、ｉ組目のルール群の中の、最もスコアが大きいルールを除いたルールに対応するサブツリーを削除する処理を行っても良い。かかる処理も最もスコアが大きいルールに対応するサブツリーの選択である。
【００５０】
（ステップＳ３１３）スコア算出部１０８は、カウンタｉを１、インクリメントし、ステップＳ３０７に戻る。
【００５１】
（ステップＳ３１４）翻訳文取得部１１０は、ルール選択部１０９が選択したルールに対応するサブツリーを用いて構成された構文解析木から翻訳文を取得する。
【００５２】
（ステップＳ３１５）翻訳文出力部１１１は、翻訳文取得部１１０が取得した翻訳文を出力し、処理を終了する。
【００５３】
次に、ステップＳ３０５の構文森構成技術について、図４のフローチャートを用いて説明する。
【００５４】
（ステップＳ４０１）ルール取得部１０６は、カウンタｉに１を代入する。
【００５５】
（ステップＳ４０２）ルール取得部１０６は、ｉ番目の構文解析木が存在するか否かを判断する。ｉ番目の構文解析木が存在すればステップＳ４０３に行き、ｉ番目の構文解析木が存在しなければステップＳ４０５に行く。
【００５６】
（ステップＳ４０３）ルール取得部１０６は、ｉ番目の構文解析木から、１以上のルールを取得し、ｉ番目の構文解析木に対応付けて、１以上のルールを図示しないバッファに一時蓄積する。
【００５７】
（ステップＳ４０４）ルール取得部１０６は、カウンタｉを１、インクリメントし、ステップＳ４０２に戻る。
【００５８】
（ステップＳ４０５）構文森構成部１０７は、カウンタｉに１を代入する。
【００５９】
（ステップＳ４０６）構文森構成部１０７は、２以上の各構文解析木に対応する２以上のルール群の中で、トップノードが共通のｉ組目のルール群（２以上のルール）が存在するか否かを判断する。ｉ組目のルール群が存在すればステップＳ４０７に行き、存在しなければ上位処理（ステップＳ３０６）にリターンする。
【００６０】
（ステップＳ４０７）構文森構成部１０７は、トップノードが共通のｉ組目のルール群のトップノードを共通化する処理を行う。２以上のルールのトップノードを共通化する処理とは、２以上のすべてのルールのトップノードを、一のルールのトップノードとする処理である。
【００６１】
（ステップＳ４０８）構文森構成部１０７は、カウンタｉを１、インクリメントし、ステップＳ４０６に戻る。
【００６２】
なお、構文森構成部１０７は、後述するアーリー法により構文森を構成することは好適である。
【００６３】
次に、ステップＳ３１０のスコア算出処理について、図５のフローチャートを用いて説明する。
【００６４】
（ステップＳ５０１）スコア算出部１０８の素性取得手段１０８２は、カウンタｉに１を代入する。
【００６５】
（ステップＳ５０２）素性取得手段１０８２は、算出式格納手段１０８１に格納されている算出式のパラメータであるｉ番目の素性が存在するか否かを判断する。ｉ番目の素性が存在すればステップＳ５０３に行き、ｉ番目の素性が存在しなければステップＳ５０５に行く。
【００６６】
（ステップＳ５０３）素性取得手段１０８２は、ルールのｉ番目の素性を取得し、図示しないバッファに一時蓄積する。
【００６７】
（ステップＳ５０４）素性取得手段１０８２は、カウンタｉを１、インクリメントし、ステップＳ５０２に戻る。
【００６８】
（ステップＳ５０５）スコア取得手段１０８３は、算出式格納手段１０８１に格納されている算出式を読み出す。次に、スコア取得手段１０８３は、バッファに一時蓄積されている１以上の素性を算出式に代入し、算出式を実行する。そして、スコア取得手段１０８３は、ルールのスコアを得て、上位処理（ステップＳ３１１）にリターンする。
【００６９】
以下、本実施の形態における翻訳装置１の具体的な動作について説明する。今、機械翻訳システム格納部１０１に、４つの機械翻訳システムの実行モジュールが格納されている、とする。そして、４つの機械翻訳システムは、例えば、統計的機械翻訳の方式を採用システムであったり、知識ベース機械翻訳の方式を採用システムであったりする、とする。また、４つの機械翻訳システムは日英翻訳を行うシステムである、とする。
【００７０】
次に、ユーザは、日本語の文「森を歩いた」を有する翻訳指示を入力すると、受付部１０３は、「森を歩いた」を有する翻訳指示を受け付ける。
【００７１】
次に、機械翻訳実行部１０４は、機械翻訳システム格納部１０１の４つの機械翻訳システムを順次、読み出し、「森を歩いた」を与え、実行する。そして、機械翻訳実行部１０４は、４つの英文「I saw the forest」「I walked the blue forest」「I saw the green trees」「the forest was found」を得る。
【００７２】
次に、構文解析部１０５は、上記の４つの各英文を構文解析し、図６から図９の構文解析木を取得する。図６は「I saw the forest」の構文解析木である。図７は「I walked the blue forest」の構文解析木である。図８は「I saw the green trees」の構文解析木である。図９は「the forest was found」の構文解析木である。なお、構文解析木のデータ構造は問わない。構文解析木のリンクは、各ノードの変数へのポインタでも良いし、親子関係にあるノードを一の配列に格納しているデータ構造等でも良い。
【００７３】
次に、ルール取得部１０６は、図６から図９の構文解析木から、ルールを抽出して、ユニークをとって、ルールの集合を得る。なお、図６の構文解析木から抽出できるルールは、（Ｓ→ＮＰ  ＶＰ）、（ＮＰ→ＰＲＰ）、（ＰＲＰ→Ｉ）、（ＶＰ→ＶＢＤ  ＮＰ）、（ＶＢＤ→ｓａｗ）、（ＮＰ→ＤＴ  ＮＮ）、（ＤＴ→ｔｈｅ）、（ＮＮ→ｆｏｒｅｓｔ）である。また、図７の構文解析木から抽出できるルールは、（Ｓ→ＮＰ  ＶＰ）、（ＮＰ→ＰＲＰ）、（ＰＲＰ→Ｉ）、（ＶＰ→ＶＢＤ  ＮＰ）、（ＶＢＤ→ｗａｌｋｅｄ）、（ＮＰ→ＤＴ  ＪＪ  ＮＮ）、（ＤＴ→ｔｈｅ）、（ＪＪ→ｂｌｕｅ）、（ＮＮ→ｆｏｒｅｓｔ）である。また、図８の構文解析木から抽出できるルールは（Ｓ→ＮＰ  ＶＰ）、（ＮＰ→ＰＲＰ）、（ＰＲＰ→Ｉ）、（ＶＰ→ＶＢＤ  ＮＰ）、（ＶＢＤ→ｓａｗ）、（ＮＰ→ＤＴ  ＪＪ  ＮＮ）、（ＤＴ→ｔｈｅ）、（ＪＪ→ｇｒｅｅ）、（ＮＮ→ｔｒｅｅｓ）を取得する。さらに、図９の構文解析木から抽出できるルールは（Ｓ→ＮＰ  ＶＰ）、（ＮＰ→ＤＴ  ＮＮ）、（ＤＴ→ｔｈｅ）、（ＮＮ→ｆｏｒｅｓｔ）、（ＶＰ→ＶＢＤ  ＶＰ）、（ＶＢＤ→ｗａｓ）、（ＶＰ→ＶＢＤ）、（ＶＢＤ→ｆｏｕｎｄ）である。
【００７４】
さらに具体的には、ルール取得部１０６は、ルール獲得時に、構文木の各ノードに割り当てられている非終端記号に元々の木構造の形を符号化することにより、ルールの曖昧性を減らす。まず、ルール取得部１０６は、水平的なMarkovization（Dan Klein and Christopher D. Manning. Accurate unlexicalized parsing. In Proc. of ACL, pp. 423-430, July 2003.参照）により、各ノードの非終端記号に、その左右の兄弟ノードの非終端記号を符号化する。例えば、図１０では、ＶＰ＠２をルートとした木構造に対するラベルの書き換え例を示す。例えばＮＰ＠２．２に対して、その左にある兄弟ノードＶＢＤ＠２．１のラベルを組み合わせ、・で元々のノードのラベルの位置を示す。続いて、垂直的なMarkovization（Dan Klein and Christopher D. Manning. Accurate unlexicalized parsing. In Proc. of ACL, pp. 423-430, July 2003.参照）により、親ノードのラベルを組み合わせる。図１１では、＠２．２のノードがその親である＠２のノードのラベルと組み合わされ、（ＮＰ：・ＶＰ＋ＶＢＤ：・ＮＰ）のようなラベルが得られる。このようにラベルの書き換えを行った後に、各ハイパーエッジをルールとみなして文法を学習する。
【００７５】
次に、構文森構成部１０７は、ルールの集合うち、２以上のルールが有するトップノード（親ノード）が同一である２以上のルールのトップノード（親ノード）を共通化して、２以上の構文解析木が連結された構文森を構成する。
【００７６】
さらに具体的には、構文森構成部１０７は、ルール取得部１０６が取得したルールの集合に対して、公知のアーリー法（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.）として表現された生成アルゴリズムを図１２に示す。図１２において、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でインデックスされるものとしている。
【００７７】
なお、本例では、一般的なアーリー法とは異なり、各非終端記号に割り当てられるスパンの情報は無視され、各導出に対する高さをhとして保持する。Scanステップは必ず成功し、このため、深い構文森が生成される。この深さは、Predictステップにおけるh<Hにより制限される。ここでは、Hは構文解析されたシステムの出力のうち最大の深さの1.5倍としている。以上の処理により、例えば、図１３に示す構文森が得られる。
【００７８】
次に、スコア算出部１０８は、構文森を構成する２以上のルールであり、トップノードが共通である２以上の各ルールに対して、スコアを算出する。ルール選択部１０９は、構文森から、トップノードが共通である２以上のルールのうち、スコア算出部１０８が算出したスコアが最も高い一のルールを選択し、構文解析木を取得する。なお、スコア算出部１０８およびルール選択部１０９は、構文森において、ボトムアップで、ルールを選択していくことは好適である。
【００７９】
さらに具体的には、スコア算出部１０８は、図１３の構文森から、構文森に基づくk-best構文解析アルゴリズム（Liang Huang and David Chiang. Better k-best parsing. InProc. of IWPT, pp. 53-64, October 2005.参照）を使用して、数式１を用いて、k-bestの導出dを求める。
【数１】
2012185621.tif 000003
【００８０】
ここで、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のアルゴリズム３を用いる（Liang Huang and David Chiang. Better k-best parsing. In Proc. of IWPT, pp. 53-64, October 2005.参照）。なお、h(d,F)のhは素性のベクトル、dは導出木、Fは構文森である。また、Ｄは、構文森から得られる導出木の集合である。
【００８１】
上記の処理を繰り返し、図１４の構文解析木が得られた、とする。そして、次に、翻訳文取得部１１０は、図１４の構文解析木から翻訳文「Ｉ  ｗａｌｋｅｄ  ｔｈｅ  ｆｏｒｅｓｔ」を取得する。そして、翻訳文出力部１１１は、翻訳文取得部１１０が取得した翻訳文「Ｉ  ｗａｌｋｅｄ  ｔｈｅ  ｆｏｒｅｓｔ」を出力する。
【００８２】
以上、本実施の形態によれば、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができる。
【００８３】
なお、上記の具体例において、ボトムアップにより、数式１を用いて、k-bestの導出木dを求めた。しかし、以下のようにトップダウンにより、導出木を求めても良い。つまり、ルール選択部１０９は、構文森から、トップノードが共通である２以上のルールのうち、スコア算出部１０８が算出したスコアが最も高い一のルールを選択し、構文解析木を取得する。つまり、例えば、ルール選択部１０９は、ルール（ＮＰ→ＰＲＰ→Ｉ）とルール（ＮＰ→ＤＴ→ｔｈｅ  ＮＰ→ＮＮ→ｆｏｒｅｓｔ）とのスコアが高い方であった（ＮＰ→ＰＲＰ→Ｉ）を選択する。また、例えば、ルール選択部１０９は、ルール（ＶＢＤ→ｗａｌｋｅｄ）とルール（ＶＢＤ→ｓａｗ）とのスコアが高い方であった（ＶＢＤ→ｗａｌｋｅｄ）を選択する。
【００８４】
また、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。
【００８５】
また、図１５は、本明細書で述べた翻訳装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図１１は、このコンピュータシステム３４０の概観図であり、図１６は、コンピュータシステム３４０の内部構成を示す図である。
【００８６】
図１５において、コンピュータシステム３４０は、ＦＤドライブ３４１１、ＣＤ−ＲＯＭドライブ３４１２を含むコンピュータ３４１と、キーボード３４２と、マウス３４３と、モニタ３４４とを含む。
【００８７】
図１６において、コンピュータ３４１は、ＦＤドライブ３４１１、ＣＤ−ＲＯＭドライブ３４１２に加えて、ＭＰＵ３４１３と、ＣＤ−ＲＯＭドライブ３４１２及びＦＤドライブ３４１１に接続されたバス３４１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３４１５とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３４１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３４１７とを含む。ここでは、図示しないが、コンピュータ３４１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【００８８】
コンピュータシステム３４０に、上述した実施の形態の翻訳装置の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３５０１、またはＦＤ３５０２に記憶されて、ＣＤ−ＲＯＭドライブ３４１２またはＦＤドライブ３４１１に挿入され、さらにハードディスク３４１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３４１に送信され、ハードディスク３４１７に記憶されても良い。プログラムは実行の際にＲＡＭ３４１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３５０１、ＦＤ３５０２またはネットワークから直接、ロードされても良い。
【００８９】
プログラムは、コンピュータ３４１に、上述した実施の形態の翻訳装置の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３４０がどのように動作するかは周知であり、詳細な説明は省略する。
【００９０】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【００９１】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【００９２】
以上のように、本発明にかかる翻訳装置は、複数の機械翻訳システムの翻訳結果を組み合わせて、精度の高い翻訳結果を得ることができる、という効果を有し、機械翻訳装置等として有用である。
【符号の説明】
【００９３】
１  翻訳装置
１０１  機械翻訳システム格納部
１０２  翻訳結果格納部
１０３  受付部
１０４  機械翻訳実行部
１０５  構文解析部
１０６  ルール取得部
１０７  構文森構成部
１０８  スコア算出部
１０９  ルール選択部
１１０  翻訳文取得部
１１１  翻訳文出力部
１０８１  算出式格納手段
１０８２  素性取得手段
１０８３  スコア取得手段
【図１】
2012185621.tif 000004
【図２】
2012185621.tif 000005
【図３】
2012185621.tif 000006
【図４】
2012185621.tif 000007
【図５】
2012185621.tif 000008
【図６】
2012185621.tif 000009
【図７】
2012185621.tif 000010
【図８】
2012185621.tif 000011
【図９】
2012185621.tif 000012
【図１０】
2012185621.tif 000013
【図１１】
2012185621.tif 000014
【図１２】
2012185621.tif 000015
【図１３】
2012185621.tif 000016
【図１４】
2012185621.tif 000017
【図１５】
2012185621.tif 000018
【図１６】
2012185621.tif 000019