(57)【特許請求の範囲】
【請求項１】
語順の入れ替えが発生する二分木の文脈自由文法規則を示す情報である１以上のスワップオペレータを格納し得るスワップオペレータ格納部と、
原言語文を受け付ける受付部と、
前記原言語文を構文解析し、当該構文解析の結果を用いて、１以上の二分木を取得する二分木取得部と、
前記１以上の各二分木に対して、前記スワップオペレータ格納部のスワップオペレータを適用し、いずれかのスワップオペレータに対応するか否かを判断する判断部と、
前記判断部がいずれかのスワップオペレータに対応すると判断した二分木の葉の部分の語順を入れ替える入替部と、
前記入替部の処理結果に対して、目的言語への機械翻訳を実行し、目的言語文を取得する機械翻訳部と、
前記機械翻訳部が取得した目的言語文を出力する出力部とを具備する機械翻訳装置。
【請求項２】
枝分かれが３以上のｎ分木であり、二分木を構成しないことを示す情報である１以上の例外情報を格納し得る例外情報格納部をさらに具備し、
前記二分木取得部は、
前記原言語文を構文解析した結果のうち、前記１以上のいずれかの例外情報に対応しない部分に対してのみ、１以上の二分木を取得し、
前記判断部は、
前記原言語文を構文解析した結果のうち、前記１以上のいずれかの例外情報に対応する部分について、いずれかのスワップオペレータに対応するか否かを判断しない請求項１記載の機械翻訳装置。
【請求項３】
原言語文と目的言語文とを対応付けた１組以上の対応文を格納し得る対訳コーパスと、
原言語の単語または句と目的言語の単語または句とのアライメントの情報であるアライメント情報を格納し得るアライメント情報格納部と、
語順の入れ替えが発生する二分木の文脈自由文法規則を示す情報であるスワップオペレータの候補である１以上のスワップオペレータ候補を格納し得るスワップオペレータ候補格納部と、
前記対訳コーパスの１以上の原言語文を構文解析し、原言語文の１以上の二分木を取得する構文解析部と、
前記構文解析部が取得した原言語文の１以上の二分木に対して、前記１以上の各スワップオペレータ候補を適用し、スワップオペレータ候補に対応する二分木の葉の部分を語順変換して、原言語の目的言語の語順の文である１以上の目的言語語順文を取得する目的言語語順文取得部と、
前記アライメント情報を用いて、前記対訳コーパスが有する１以上の目的言語文と、前記目的言語語順文取得部が取得した１以上の目的言語語順文との順位相関を算出する順位相関算出部と、
前記順位相関算出部が算出した順位相関が所定の条件を満たすほど大きい場合、当該順位相関に対応するスワップオペレータ候補をスワップオペレータとして取得するスワップオペレータ取得部と、
前記スワップオペレータ取得部が取得したスワップオペレータを、前記スワップオペレータ格納部に蓄積するスワップオペレータ蓄積部とをさらに具備する請求項１または請求項２記載の機械翻訳装置。
【請求項４】
前記スワップオペレータ候補格納部は、
重要度の順にソートされた２以上のスワップオペレータ候補を格納しており、
前記目的言語語順文取得部は、
前記構文解析部が取得した原言語文の１以上の二分木に対して、初期値が空であるスワップオペレータ格納部の各スワップオペレータを適用し、当該各スワップオペレータに対応する二分木の葉の部分を語順変換して、原言語の目的言語の語順の文である１以上の第一目的言語語順文を取得する第一目的言語語順文取得手段と、
前記構文解析部が取得した原言語文の１以上の二分木に対して、初期値が空であるスワップオペレータ格納部の各スワップオペレータおよび前記重要度の順の上位から順次取り出されたスワップオペレータ候補を適用し、前記各スワップオペレータまたは前記スワップオペレータ候補に対応する二分木の葉の部分を語順変換して、原言語の目的言語の語順の文である１以上の第二目的言語語順文を取得する第二目的言語語順文取得手段とを具備し、
前記順位相関算出部は、
前記アライメント情報を用いて、前記対訳コーパスが有する１以上の目的言語文と、前記第一目的言語語順文取得手段が取得した１以上の第一目的言語語順文との第一順位相関を算出する第一順位相関算出手段と、
前記アライメント情報を用いて、前記対訳コーパスが有する１以上の目的言語文と、前記第二目的言語語順文取得手段が取得した１以上の第二目的言語語順文との第二順位相関を算出する第二順位相関算出手段とを具備し、
前記スワップオペレータ取得部は、
前記第一順位相関と前記第二順位相関とを比較し、所定の条件を満たすほど前記第二順位相関が大きい場合、前記スワップオペレータ候補をスワップオペレータとして取得し、
前記スワップオペレータ蓄積部は、
前記スワップオペレータ取得部が取得したスワップオペレータを、前記スワップオペレータ格納部に蓄積し、
前記スワップオペレータ候補格納部のすべてのスワップオペレータ候補に対する処理を終了するまで、前記目的言語語順文取得部、前記順位相関算出部、前記スワップオペレータ取得部、および前記スワップオペレータ蓄積部の処理を継続させる制御部をさらに具備する請求項３記載の機械翻訳装置。
【請求項５】
記録媒体に、
語順の入れ替えが発生する二分木の文脈自由文法規則を示す情報である２以上のスワップオペレータを格納しており、
受付部、二分木取得部、判断部、入替部、機械翻訳部、および出力部により実現される機械翻訳方法であって、
前記受付部が、原言語文を受け付ける受付ステップと、
前記二分木取得部が、前記原言語文を構文解析し、当該構文解析の結果を用いて、１以上の二分木を取得する二分木取得ステップと、
前記判断部が、前記１以上の各二分木に対して、前記記録媒体のスワップオペレータを適用し、いずれかのスワップオペレータに対応するか否かを判断する判断ステップと、
前記入替部が、前記判断ステップでいずれかのスワップオペレータに対応すると判断された二分木の葉の部分の語順を入れ替える入替ステップと、
前記機械翻訳部が、前記入替ステップにおける処理結果に対して、目的言語への機械翻訳を実行し、目的言語文を取得する機械翻訳ステップと、
前記出力部が、前記機械翻訳ステップで取得された目的言語文を出力する出力ステップとを具備する機械翻訳方法。
【請求項６】
語順の入れ替えが発生する二分木の文脈自由文法規則を示す情報である２以上のスワップオペレータを格納し得るスワップオペレータ格納部にアクセス可能なコンピュータを、
原言語文を受け付ける受付部と、
前記原言語文を構文解析し、当該構文解析の結果を用いて、１以上の二分木を取得する二分木取得部と、
前記１以上の各二分木に対して、前記スワップオペレータ格納部のスワップオペレータを適用し、いずれかのスワップオペレータに対応するか否かを判断する判断部と、
前記判断部がいずれかのスワップオペレータに対応すると判断した二分木の葉の部分の語順を入れ替える入替部と、
前記入替部の処理結果に対して、目的言語への機械翻訳を実行し、目的言語文を取得する機械翻訳部と、
前記機械翻訳部が取得した目的言語文を出力する出力部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械翻訳装置等に関するものである。
【背景技術】
【０００２】
原言語を機械翻訳により目的言語に翻訳する時の技術的な大きな課題は、原言語と目的言語とで語順が異なることである。この課題を克服する方法の一つとして、原言語を言語学的に構文解析して、その構文解析結果を参考にして、原言語の語順を、目的言語の語順に並べ替える方法がある。この方法を原言語語順変換と呼ぶ。
【０００３】
原言語語順変換は、統計的機械翻訳において、幅広く用いられている技術であり、言語学的な構文解析技術を用いた原言語語順変換の方法も、非特許文献１、非特許文献２、非特許文献３等に示すように多数ある。
【０００４】
特許文献１、非特許文献１に記載されている技術は、原言語を言語学的に構文解析し、その構文構造を人手で記述した規則により変更し、その変更結果を利用して統計的機械翻訳をするものである。また、非特許文献２、３に記載されている技術は、原言語を言語学的に構文解析し、その構文構造を自動学習した規則により変更し、その変更結果を利用して統計的機械翻訳をするものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１７５５００号公報
【非特許文献】
【０００６】
【非特許文献１】Chao Wang, Michael Collins, and Philipp Koehn. 2007.  Chinese Syntactic Reordering for Statistical Machine Translation. In Proceedings of the EMNLP-CoNLL), pages 737-745, Prague, Czech Republic, June. Association for Computational Linguistics
【非特許文献２】Fei Xia and Michael McCord. 2004. Improving a Statistical MT System with Automatically Learned Rewrite Patterns. In Proceedings of Coling, pages 508-514, Geneva, Switzerland, Aug 23-Aug 27. COLING.
【非特許文献３】Xianchao Wu, Katsuhito Sudoh, Kevin Duh, Hajime Tsukada, and Masaaki Nagata. 2011. Extracting Preordering Rules from Chunk-based Dependency Trees for Japanese-to-English Translation. In Proceedings of the 13th Machine Translation Summit, pages 300-307
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１等のように人手規則を利用する方法は、高精度の語順変換を達成可能であるが、翻訳したい言語間に特有の規則を人手で記述する必要がある。そのため、多数の言語間にこの方法を利用するのは困難である。たとえば、特許文献１の方法は、英語を日本語に翻訳するときには有効であるが、日本語を英語に翻訳するときには利用不可能である。
【０００８】
また、非特許文献２、３等の自動学習された規則を利用する方法は、任意の言語間に適用可能であるが、これまでは、人手規則に比べて語順変換精度が低かった。その精度の低い原因としては、以下の２つの理由が挙げられる。第一に、言語学的な構文解析器が多分木を出力するため、その変換規則を学習するのが困難であった。第二に、自動学習された変換規則が多量なため、人手で規則を追加するのが困難かつ人手追加規則の影響が少ないため、自動学習された規則を改良して高精度にすることが困難であった。
【０００９】
以上により、従来の機械翻訳装置においては、任意の二言語間で、高精度な機械翻訳ができなかった。
【課題を解決するための手段】
【００１０】
本第一の発明の機械翻訳装置は、語順の入れ替えが発生する二分木の文脈自由文法規則を示す情報である２以上のスワップオペレータを格納し得るスワップオペレータ格納部と、原言語文を受け付ける受付部と、原言語文を構文解析し、構文解析の結果を用いて、１以上の二分木を取得する二分木取得部と、１以上の各二分木に対して、スワップオペレータ格納部のスワップオペレータを適用し、いずれかのスワップオペレータに対応するか否かを判断する判断部と、判断部がいずれかのスワップオペレータに対応すると判断した二分木の葉の部分の語順を入れ替える入替部と、入替部の処理結果に対して、目的言語への機械翻訳を実行し、目的言語文を取得する機械翻訳部と、機械翻訳部が取得した目的言語文を出力する出力部とを具備する機械翻訳装置である。
【００１１】
かかる構成により、任意の二言語間で、高精度な機械翻訳ができる。
【００１２】
また、本第二の発明の機械翻訳装置は、第一の発明に対して、枝分かれが３以上のｎ分木であり、二分木を構成しないことを示す情報である１以上の例外情報を格納し得る例外情報格納部をさらに具備し、二分木取得部は、原言語文を構文解析した結果のうち、１以上のいずれかの例外情報に対応しない部分に対してのみ、１以上の二分木を取得し、判断部は、原言語文を構文解析した結果のうち、１以上のいずれかの例外情報に対応する部分について、いずれかのスワップオペレータに対応するか否かを判断しない機械翻訳装置である。
【００１３】
かかる構成により、任意の二言語間で、さらに高精度な機械翻訳ができる。
【００１４】
また、本第三の発明の機械翻訳装置は、第一または第二の発明に対して、原言語文と目的言語文とを対応付けた１組以上の対応文を格納し得る対訳コーパスと、原言語の単語または句と目的言語の単語または句とのアライメントの情報であるアライメント情報を格納し得るアライメント情報格納部と、語順の入れ替えが発生する二分木の文脈自由文法規則を示す情報であるスワップオペレータの候補である１以上のスワップオペレータ候補を格納し得るスワップオペレータ候補格納部と、対訳コーパスの１以上の原言語文を構文解析し、原言語文の１以上の二分木を取得する構文解析部と、構文解析部が取得した原言語文の１以上の二分木に対して、１以上の各スワップオペレータ候補を適用し、スワップオペレータ候補に対応する二分木の葉の部分を語順変換して、原言語の目的言語の語順の文である１以上の目的言語語順文を取得する目的言語語順文取得部と、アライメント情報を用いて、対訳コーパスが有する１以上の目的言語文と、目的言語語順文取得部が取得した１以上の目的言語語順文との順位相関を算出する順位相関算出部と、順位相関算出部が算出した順位相関が所定の条件を満たすほど大きい場合、順位相関に対応するスワップオペレータ候補をスワップオペレータとして取得するスワップオペレータ取得部と、スワップオペレータ取得部が取得したスワップオペレータを、スワップオペレータ格納部に蓄積するスワップオペレータ蓄積部とをさらに具備する機械翻訳装置である。
【００１５】
かかる構成により、任意の二言語間で、高精度な機械翻訳を行うためのスワップオペレータを自動生成できる。
【００１６】
また、本第四の発明の機械翻訳装置は、第三の発明に対して、スワップオペレータ候補格納部は、重要度の順にソートされた２以上のスワップオペレータ候補を格納しており、目的言語語順文取得部は、構文解析部が取得した原言語文の１以上の二分木に対して、初期値が空であるスワップオペレータ格納部の各スワップオペレータを適用し、各スワップオペレータに対応する二分木の葉の部分を語順変換して、原言語の目的言語の語順の文である１以上の第一目的言語語順文を取得する第一目的言語語順文取得手段と、構文解析部が取得した原言語文の１以上の二分木に対して、初期値が空であるスワップオペレータ格納部の各スワップオペレータおよび重要度順の上位から順次取り出されたスワップオペレータ候補を適用し、各スワップオペレータまたはスワップオペレータ候補に対応する二分木の葉の部分を語順変換して、原言語の目的言語の語順の文である１以上の第二目的言語語順文を取得する第二目的言語語順文取得手段とを具備し、順位相関算出部は、アライメント情報を用いて、対訳コーパスが有する１以上の目的言語文と、第一目的言語語順文取得手段が取得した１以上の第一目的言語語順文との第一順位相関を算出する第一順位相関算出手段と、アライメント情報を用いて、対訳コーパスが有する１以上の目的言語文と、第二目的言語語順文取得手段が取得した１以上の第二目的言語語順文との第二順位相関を算出する第二順位相関算出手段とを具備し、スワップオペレータ取得部は、第一順位相関と第二順位相関とを比較し、所定の条件を満たすほど第二順位相関が大きい場合、スワップオペレータ候補をスワップオペレータとして取得し、スワップオペレータ蓄積部は、スワップオペレータ取得部が取得したスワップオペレータを、スワップオペレータ格納部に蓄積し、スワップオペレータ候補格納部のすべてのスワップオペレータ候補に対する処理を終了するまで、目的言語語順文取得部、順位相関算出部、スワップオペレータ取得部、およびスワップオペレータ蓄積部の処理を継続させる制御部をさらに具備する機械翻訳装置である。
【００１７】
かかる構成により、任意の二言語間で、高精度な機械翻訳を行うためのスワップオペレータを自動生成できる。
【発明の効果】
【００１８】
本発明による機械翻訳装置によれば、任意の二言語間で、高精度な機械翻訳ができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態１における機械翻訳装置１のブロック図
【図２】同機械翻訳装置１が行う翻訳処理の動作を説明するフローチャート
【図３】同機械翻訳装置１のスワップオペレータの取得動作を説明するフローチャート
【図４】同スワップオペレータを示す図
【図５】同コンピュータシステムの概観図
【図６】同コンピュータシステムのブロック図
【発明を実施するための形態】
【００２０】
以下、機械翻訳装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２１】
（実施の形態１）
本実施の形態において、受け付けた原言語文を二分木にし、スワップオペレータを用いて、原言語の二分木を入れ替えることにより、任意の二言語間で、高精度な機械翻訳ができる機械翻訳装置１について説明する。なお、機械翻訳装置１では、原言語の二分木を入れ替えた後、機械翻訳を行い、目的言語文を取得する。
【００２２】
また、本実施の形態において、３以上のｎ分木（ｎは３以上の自然数）であり、語順を入れ替えない例外を格納しており、当該例外情報を用いて、さらに精度高く機械翻訳を行う機械翻訳装置１について説明する。
【００２３】
さらに、本実施の形態において、スワップオペレータの自動抽出の方法について説明する。
【００２４】
図１は、本実施の形態における機械翻訳装置１のブロック図である。
【００２５】
機械翻訳装置１は、アライメント情報格納部１０１、対訳コーパス１０２、スワップオペレータ候補格納部１０３、スワップオペレータ格納部１０４、例外情報格納部１０５、受付部１０６、二分木取得部１０７、判断部１０８、入替部１０９、機械翻訳部１１０、出力部１１１、構文解析部１１２、目的言語語順文取得部１１３、順位相関算出部１１４、スワップオペレータ取得部１１５、スワップオペレータ蓄積部１１６、および制御部１１７を備える。
【００２６】
目的言語語順文取得部１１３は、第一目的言語語順文取得手段１１３１、および第二目的言語語順文取得手段１１３２を備える。
【００２７】
順位相関算出部１１４は、第一順位相関算出手段１１４１、および第二順位相関算出手段１１４２を備える。
【００２８】
アライメント情報格納部１０１は、１以上のアライメント情報を格納し得る。アライメント情報とは、原言語の単語または句と目的言語の単語または句とのアライメントの情報である。なお、原言語の単語または句と目的言語の単語または句とのアライメントの情報を取得する技術は、公知技術である。そして、例えば、日本語の単語または句と英語の単語または句のアライメントの情報は、例えば、ＧＩＺＡ＋＋（ＵＲＬ：http://code.google.com/p/giza-pp/  参照）により取得される。
【００２９】
対訳コーパス１０２は、１組以上の対応文を格納し得る。対応文とは、原言語文と目的言語文とを対応付けた情報である。対応文は、原言語文と目的言語文の組でも良いし、原言語文と目的言語文との対応を示す情報のみでも良い。対応文は、原言語文と目的言語文とを取り出すための情報であれば、どのような構造でも良い。
【００３０】
スワップオペレータ候補格納部１０３は、１以上のスワップオペレータ候補を格納し得る。スワップオペレータ候補とは、語順の入れ替えが発生する二分木の文脈自由文法規則を示す情報の候補である。
【００３１】
スワップオペレータ候補格納部１０３は、重要度の順にソートされた２以上のスワップオペレータ候補を格納していることは好適である。ここで、重要度とは、出現頻度でも良いし、他の指標でも良い。他の指標とは、出現確率等である。なお、重要度が出現頻度である場合、重要度の順にソートされた２以上のスワップオペレータ候補とは、出現頻度の大きい順にソートされた２以上のスワップオペレータ候補である。
【００３２】
スワップオペレータ候補格納部１０３の１以上のスワップオペレータ候補は、図示しない手段が対訳コーパス１０２から取得される。図示しない手段は、対訳コーパス１０２の中のすべての原言語文を構文解析し、それを二分木に変換する。次に、図示しない手段は、すべての二分木から、右辺のシンボルが２つの文脈自由文法規則を抽出し、それを頻度順にソートする。このとき、各々の文脈自由文法規則をスワップオペレータ候補と呼ぶ。なお、ここでは、重要度順は、例えば、頻度順である。なお、このときのスワップオペレータ候補を構成する文法記号は、英語が原言語の場合には、周知のPenn Treebankコーパスの文法記号を利用するのが簡便であるが、この文法記号を、自動的に複数の文法記号に分割したものを利用してもよいし("Learning Accurate, Compact, and Interpretable Tree Annotation" Slav Petrov, Leon Barrett, Romain Thibaux and Dan Klein in COLING-ACL 2006)、この文法記号に語彙情報を付加してもよい。また、NP-SBJのように、そのNPが主語であることを示すSBJのような文法機能タグを付与しても良い。
【００３３】
スワップオペレータ格納部１０４は、１または２以上のスワップオペレータを格納し得る。スワップオペレータは、語順の入れ替えが発生する二分木の文脈自由文法規則を示す情報である。スワップオペレータ格納部１０４のスワップオペレータは、後述するように自動的に取得されることは好適であるが、人手で抽出されても良い。人手で抽出する方法としては、あるスワップオペレータ候補について、その候補が適用可能な部分木を人手で調べてみて、もしその部分木の左右の子ノードをスワップすることにより、原言語の語順が目的言語の語順に近くなるようであれば、その候補をスワップオペレータとして採用する。
【００３４】
例外情報格納部１０５は、１以上の例外情報を格納し得る。例外情報は、枝分かれが３以上のｎ分木であり、二分木を構成しないことを示す情報である。例外情報は、語順の入れ替えを行わないことを示す情報である、と捕らえても良い。例外情報は、例えば、文のうちの、「Ａ  ａｎｄ  Ｂ」などの並列構造の部分を示す情報や、文のうちの括弧（""）の部分を示す情報などである。
【００３５】
受付部１０６は、原言語文を受け付ける。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付け、他のプログラムや関数から渡されることなどを含む概念である。原言語文の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。
【００３６】
二分木取得部１０７は、原言語文を構文解析し、１以上の二分木を取得する。通常、二分木取得部１０７は、原言語文を構文解析し、当該構文解析の結果を用いて、１以上の二分木を取得する。原言語が英語である場合、二分木取得部１０７は、例えば、構文解析器「Berkeley Parser ("Learning Accurate, Compact, and Interpretable Tree Annotation" Slav Petrov, Leon Barrett, Romain Thibaux and Dan Klein in COLING-ACL 2006)」を含む。
【００３７】
二分木取得部１０７は、原言語文を構文解析した結果のうち、例外情報格納部１０５に格納されている１以上のいずれかの例外情報に対応しない部分に対してのみ、１以上の二分木を取得することは好適である。
【００３８】
判断部１０８は、二分木取得部１０７が取得した１以上の各二分木に対して、スワップオペレータ格納部１０４のスワップオペレータを適用し、いずれかのスワップオペレータに対応するか否かを判断する。
【００３９】
なお、判断部１０８は、原言語文を構文解析した結果のうち、１以上のいずれかの例外情報に対応する部分について、いずれかのスワップオペレータに対応するか否かを判断しないことは好適である。
【００４０】
入替部１０９は、判断部１０８がいずれかのスワップオペレータに対応すると判断した二分木の葉の部分の語順を入れ替える。なお、二分木は、一つの根（ルート）の部分と、二つの葉（リーフ）の部分を有する。また、二分木を構成する二つの葉（リーフ）の部分は、順序を有する。
【００４１】
また、具体的には、例えば、スワップオペレータ「Ａ→Ｂ  Ｃ」は、次のように入力文（受付部１０６が受け付ける原言語文）に適用される。つまり、入力文を二分木にしたものについて、判断部１０８は、（Ａ（Ｂ…）（Ｃ…））という部分木があることを検出する。そして、入替部１０９は、その部分木を（Ａ（Ｃ…）（Ｂ…．））に語順変換する。そして、入替部１０９は、与えられた入力文について、その全ての部分木に適用可能なすべてのスワップオペレータを適用したあとで、その変換された２分木の葉にあたる単語を先頭から順番に出力することで、語順を変換する。
【００４２】
機械翻訳部１１０は、入替部１０９の処理結果に対して、目的言語への機械翻訳を実行し、目的言語文を取得する。機械翻訳部１１０は公知技術でも実現可能であるので、詳細な説明を省略する。機械翻訳部１１０は、例えば、統計ベースの機械翻訳処理を行う。
【００４３】
出力部１１１は、機械翻訳部１１０が取得した目的言語文を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【００４４】
構文解析部１１２は、対訳コーパス１０２の１以上の原言語文を構文解析し、原言語文の１以上の二分木を取得する。
【００４５】
構文解析部１１２は、二分木取得部１０７と同じ処理を行う。つまり、二分木取得部１０７で代用しても良い。かかる場合、構文解析部１１２は、実質上、存在しない、と考えて良い。
【００４６】
目的言語語順文取得部１１３は、構文解析部１１２が取得した原言語文の１以上の二分木に対して、１以上の各スワップオペレータ候補を適用し、スワップオペレータ候補に対応する二分木の葉の部分を語順変換して、１以上の目的言語語順文を取得する。目的言語語順文は、原言語の文であり、目的言語の語順の文である。目的言語語順文取得部１１３は、例えば、対訳コーパス１０２を用いて、１以上の目的言語語順文を取得する。
【００４７】
目的言語語順文取得部１１３を構成する第一目的言語語順文取得手段１１３１は、構文解析部１１２が取得した原言語文の１以上の二分木に対して、初期値が空であるスワップオペレータ格納部１０４の各スワップオペレータを適用し、各スワップオペレータに対応する二分木の葉の部分を語順変換して、１以上の目的言語語順文を取得する。この目的言語語順文を第一目的言語語順文という。
【００４８】
第二目的言語語順文取得手段１１３２は、構文解析部１１２が取得した原言語文の１以上の二分木に対して、初期値が空であるスワップオペレータ格納部１０４の各スワップオペレータおよび重要度順の上位から順次取り出されたスワップオペレータ候補を適用し、各スワップオペレータまたはスワップオペレータ候補に対応する二分木の葉の部分を語順変換して、１以上の目的言語語順文を取得する。この目的言語語順文を第二目的言語語順文という。
【００４９】
順位相関算出部１１４は、アライメント情報格納部１０１のアライメント情報を用いて、対訳コーパス１０２が有する１以上の目的言語文と、目的言語語順文取得部１１３が取得した１以上の目的言語語順文との順位相関を算出する。順位相関の算出方法は公知技術である。例えば、順位相関の求め方は、「Automatic Evaluation of Translation Quality for Distant Language Pairs. Hideki Isozaki, Tsutomu Hirao, Kevin Duh, Katsuhito Sudoh, Hajime Tsukada. Proceedings of the 2010 Conference on Empirical Methods in Natural Language Processing, pages 944-952,MIT, Massachusetts, USA, 9-11 October 2010」に記載されている。また、「A Lightweight Evaluation Framework for Machine Translation Reordering David Talbot, Hideto Kazawa, Hiroshi Ichikawa, Jason Katz-Brown, Masakazu Seno and Franz Och. EMNLP-2011 6th workshop on statistical machine translation. 2011.」の（１）式の値を計算し、順位相関の代わりに、用いてもよい。なお、この（１）式の値は、厳密には順位相関でないが、順位相関と捕らえても良い。
【００５０】
順位相関算出部１１４を構成する第一順位相関算出手段１１４１は、アライメント情報格納部１０１のアライメント情報を用いて、対訳コーパス１０２が有する１以上の目的言語文と、第一目的言語語順文取得手段１１３１が取得した１以上の第一目的言語語順文との第一順位相関を算出する。
【００５１】
第二順位相関算出手段１１４２は、アライメント情報格納部１０１のアライメント情報を用いて、対訳コーパス１０２が有する１以上の目的言語文と、第二目的言語語順文取得手段１１３２が取得した１以上の第二目的言語語順文との第二順位相関を算出する。
【００５２】
スワップオペレータ取得部１１５は、順位相関算出部１１４が算出した順位相関が所定の条件を満たすほど大きい場合、順位相関に対応するスワップオペレータ候補をスワップオペレータとして取得する。
【００５３】
また、スワップオペレータ取得部１１５は、第一順位相関と第二順位相関とを比較し、所定の条件を満たすほど第二順位相関が大きい場合、スワップオペレータ候補をスワップオペレータとして取得することは好適である。
【００５４】
さらに、スワップオペレータ取得部１１５は、第一順位相関と第二順位相関とに対して、周知の符号検定を適用し、その結果、第二順位相関が統計的に優位に大きい場合、スワップオペレータ候補をスワップオペレータとして取得することは好適である。
【００５５】
スワップオペレータ蓄積部１１６は、スワップオペレータ取得部１１５が取得したスワップオペレータを、スワップオペレータ格納部１０４に蓄積する。
【００５６】
制御部１１７は、スワップオペレータ候補格納部１０３のすべてのスワップオペレータ候補に対する処理を終了するまで、目的言語語順文取得部１１３、順位相関算出部１１４、スワップオペレータ取得部１１５、およびスワップオペレータ蓄積部１１６の処理を継続させる。なお、制御部１１７は、必須ではない。
【００５７】
アライメント情報格納部１０１、対訳コーパス１０２、スワップオペレータ候補格納部１０３、スワップオペレータ格納部１０４、および例外情報格納部１０５は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００５８】
アライメント情報格納部１０１等にアライメント情報等が記憶される過程は問わない。例えば、記録媒体を介してアライメント情報等がアライメント情報格納部１０１等で記憶されるようになってもよく、通信回線等を介して送信されたアライメント情報等がアライメント情報格納部１０１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたアライメント情報等がアライメント情報格納部１０１等で記憶されるようになってもよい。
【００５９】
受付部１０６は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００６０】
二分木取得部１０７、判断部１０８、入替部１０９、機械翻訳部１１０、構文解析部１１２、目的言語語順文取得部１１３、順位相関算出部１１４、スワップオペレータ取得部１１５、スワップオペレータ蓄積部１１６、および制御部１１７は、通常、ＭＰＵやメモリ等から実現され得る。二分木取得部１０７等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００６１】
出力部１１１は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部１１１は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００６２】
次に、機械翻訳装置１の動作について説明する。まず、機械翻訳装置１が行う翻訳処理の動作について、図２のフローチャートを用いて説明する。
【００６３】
（ステップＳ２０１）受付部１０６は、原言語文を受け付けたか否かを判断する。原言語文を受け付ければステップＳ２０２に行き、原言語文を受け付けなければステップＳ２０１に戻る。
【００６４】
（ステップＳ２０２）二分木取得部１０７は、ステップＳ２０１で受け付けられた原言語文に対して、構文解析を行う。
【００６５】
（ステップＳ２０３）二分木取得部１０７は、ステップＳ２０２で行った構文解析の結果から、１以上の二分木を取得する。
【００６６】
（ステップＳ２０４）判断部１０８は、カウンタｉに１を代入する。
【００６７】
（ステップＳ２０５）判断部１０８は、ステップＳ２０３で取得された１以上の二分木の中の、ｉ番目の二分木が存在するか否かを判断する。ｉ番目の二分木が存在すればステップＳ２０６に行き、存在しなければステップＳ２１２に行く。
【００６８】
（ステップＳ２０６）判断部１０８は、カウンタｊに１を代入する。
【００６９】
（ステップＳ２０７）判断部１０８は、スワップオペレータ格納部１０４に、ｊ番目のスワップオペレータが存在するか否かを判断する。ｊ番目のスワップオペレータが存在すればステップＳ２０８に行き、存在しなければステップＳ２１０に行く。
【００７０】
（ステップＳ２０８）判断部１０８は、ｉ番目の二分木がｊ番目のスワップオペレータに対応するか否かを判断する。ｉ番目の二分木がｊ番目のスワップオペレータに対応する場合はステップＳ２０９に行き、対応しない場合はステップＳ２１１に行く。
【００７１】
（ステップＳ２０９）入替部１０９は、ｉ番目の二分木の葉の部分の順序を入れ替える。
【００７２】
（ステップＳ２１０）判断部１０８は、カウンタｉを１、インクリメントし、ステップＳ２０５に戻る。
【００７３】
（ステップＳ２１１）判断部１０８は、カウンタｊを１、インクリメントし、ステップＳ２０７に戻る。
【００７４】
（ステップＳ２１２）機械翻訳部１１０は、スワップオペレータに対応する二分木を入れ替えた原言語文に対して、機械翻訳を行う。スワップオペレータに対応する二分木を入れ替えた原言語文とは、語順が目的言語の語順となった原言語の文である。なお、語順が目的言語の語順となった原言語の文は、通常、二分木の葉の部分を先頭から取り出した文であり、語順が目的言語の語順であり、単語や句が原言語の文である。
【００７５】
（ステップＳ２１３）出力部１１１は、ステップＳ２１２における機械翻訳結果を出力し、処理を終了する。
【００７６】
なお、図２のフローチャートにおいて、多数の文が受け付けられた場合は、上記の処理が繰り返して行われる。
【００７７】
また、図２のフローチャートのステップＳ２０３において、二分木取得部１０７は、原言語文を構文解析した結果のうち、例外情報格納部１０５に格納されている１以上のいずれかの例外情報に対応しない部分に対してのみ、１以上の二分木を取得しても良い。
【００７８】
次に、機械翻訳装置１のスワップオペレータを取得する動作について、図３のフローチャートを用いて説明する。
【００７９】
（ステップＳ３０１）構文解析部１１２は、対訳コーパス１０２の中の全ての原言語文を構文解析し、１以上の二分木を取得する。なお、この１以上の二分木をＥとする。
【００８０】
（ステップＳ３０２）目的言語語順文取得部１１３は、対訳コーパス１０２の中の全ての目的言語文を読み出す。この全ての目的言語文をＪとする。
【００８１】
（ステップＳ３０３）目的言語語順文取得部１１３は、アライメント情報格納部１０１から、ＥとＪの単語をアライメントした情報を取得する。このアライメントした情報をＡとする。
【００８２】
（ステップＳ３０４）目的言語語順文取得部１１３は、重要度順にソートされたスワップオペレータ候補リストを、スワップオペレータ候補格納部１０３から読み出す。スワップオペレータ候補リストとは、スワップオペレータ候補格納部１０３の１以上のスワップオペレータ候補である。なお、このスワップオペレータ候補リストをＣとする。
【００８３】
（ステップＳ３０５）目的言語語順文取得部１１３は、スワップオペレータ格納部１０４を空にする。なお、スワップオペレータ格納部１０４をＬとする。
【００８４】
（ステップＳ３０６）制御部１１７は、カウンタｉに１を代入する。
【００８５】
（ステップＳ３０７）目的言語語順文取得部１１３は、ｉ番目のスワップオペレータ候補がスワップオペレータ候補格納部１０３に存在するか否かを判断する。ｉ番目のスワップオペレータ候補が存在すればステップＳ３０８に行き、存在しなければ処理を終了する。
【００８６】
（ステップＳ３０８）目的言語語順文取得部１１３は、Ｅに対してＬを適用し、Ｌに対応する二分木の葉の語順を変更する。そして、目的言語語順文取得部１１３は、二分木の語順を変更した情報を取得する。かかる情報をＦとする。
【００８７】
（ステップＳ３０９）順位相関算出部１１４は、Ａを用いて、ＦとＪの各対訳文間の順位相関を取得する。かかる順位相関を第一順位相関とする。
【００８８】
（ステップＳ３１０）目的言語語順文取得部１１３は、Ｌにｉ番目のスワップオペレータ候補を加えてＭを作成する。
【００８９】
（ステップＳ３１１）目的言語語順文取得部１１３は、Ｅに対してＭを適用し、Ｍに対応する二分木の葉の語順を変更する。そして、目的言語語順文取得部１１３は、二分木の語順を変更した情報を取得する。かかる情報をＧとする。
【００９０】
（ステップＳ３１２）順位相関算出部１１４は、Ａを用いて、ＧとＪの各対訳文間の順位相関を取得する。かかる順位相関を第二順位相関とする。
【００９１】
（ステップＳ３１３）スワップオペレータ取得部１１５は、
第一順位相関と第二順位相関とを比較し、所定の条件を満たすほど第二順位相関が大きいか否かを判断する。条件を満たす場合はステップＳ３１４に行き、条件を満たさない場合はステップＳ３１５に行く。
【００９２】
（ステップＳ３１４）スワップオペレータ蓄積部１１６は、ｉ番目のスワップオペレータ候補をスワップオペレータ格納部１０４に蓄積する。つまり、本ステップで、Ｌにｉ番目のスワップオペレータ候補が加えられる。
【００９３】
（ステップＳ３１５）制御部１１７は、カウンタｉを１、インクリメントし、ステップＳ３０７に戻る。
【００９４】
なお、図３のフローチャートにおいて、ステップＳ３０５の処理は無くても良い。
【００９５】
また、図３のフローチャートにおいて、通常、ステップＳ３０６からステップＳ３１５におけるループ処理は、制御部１１７により制御される。
【００９６】
以下、本実施の形態における機械翻訳装置１の具体的な動作について説明する。ここで、機械翻訳装置１は英日翻訳を行う、とする。
【００９７】
今、スワップオペレータ格納部１０４に、図４に示すスワップオペレータが格納されている、とする。スワップオペレータ「ＶＰ→ＶＢＤ  ＮＰ」は、ルートが「ＶＰ」で、葉が「ＶＢＤ」「ＮＰ」の二分木であり、葉の順序が「ＶＢＤ」「ＮＰ」の順である二分木を示す。そして、スワップオペレータ「ＶＰ→ＶＢＤ  ＮＰ」は、「ＶＰ→ＶＢＤ  ＮＰ」に対応する二分木について、葉の順序を「ＮＰ」「ＶＢＤ」の順に入れ替えることを示す。
【００９８】
そして、例えば、受付部１０６は、原言語文「I gave him apples.」を受け付けた、とする。
【００９９】
次に、二分木取得部１０７は、原言語文「I gave him apples.」を構文解析し、(S (NP (PRP I)) (VP (VBD gave) (NP (PRP him)) (NP (NNS apples))) (. .))という構文解析結果を得る。なお、構文解析結果は、ここでは句構造である。
【０１００】
次に、二分木取得部１０７は、上記の句構造を、１以上の二分木に変換する。なお、句構造から１以上の二分木を取得するために、二分木取得部１０７は、例えば、(Probabilistic CFG with latent annotations. T. Matsuzaki, Y. Miyao and J. Tsujii. ACL '05 Proceedings of the 43rd Annual Meeting on Association for Computational Linguistics.2005)の Figure.6のいずれかの方法を利用しても良いし、また、Binarizing Syntax Trees to Improve Syntax-Based Machine Translation Accuracy. W. Wang, K. Knight, D. Marcuで提案されているEM法を利用してもよい。さらに、人手もしくは自動で作成した規則を利用して、句構造を二分木に変換しても良い。なお、Enju (Feature forest models for probabilistic HPSG parsing. Y. Miyao and J. Tsujii. Computational Linguistics, vol. 34, no.1, pp. 35-80, 2008)は、２分木を出力するので、二分木取得部１０７は、Berkeley Parser ではなくてEnjuと同一の処理を行ってもよい。
【０１０１】
また、日本語や英語で、句構造解析ではなくて、依存構造解析がしてある構文解析結果については、例えば、二分木取得部１０７は、Xianchao Wu, Katsuhito Sudoh, Kevin Duh, Hajime Tsukada, and Masaaki Nagata. 2011. Extracting Preordering Rules from Chunk-based Dependency Trees for Japanese-to-English Translation. In Proceedings of the 13th Machine Translation Summit, pages 300-307の方法により句構造にしてから二分木にしても良い。
【０１０２】
次に、判断部１０８は、上記の構文解析結果から、「Ｓ→ＮＰ  ＶＰ」「ＶＰ→ＶＢＤ  ＮＰ」「ＶＢＤ→ＶＢＤ  ＮＰ」等の二分木（ここでは、文脈自由文法規則）を取得する。
【０１０３】
そして、判断部１０８は、構文解析結果から取得された各二分木に対して、図４のスワップオペレータを適用する。
【０１０４】
そして、判断部１０８は、「ＶＰ→ＶＢＤ  ＮＰ」「ＶＢＤ→ＶＢＤ  ＮＰ」は、図４のスワップオペレータの一つに対応する（一致する）と判断する。
【０１０５】
次に、入替部１０９は、「ＶＰ→ＶＢＤ  ＮＰ」、および「ＶＢＤ→ＶＢＤ  ＮＰ」の二分木の葉の語順を入れ替える。
【０１０６】
そして、入替部１０９は、目的言語の語順の、原言語文の二分木の集合「(S (S (NP (PRP I)) (VP (NP (NNS apples)) (VBD (NP (PRP him)) (VBD gave)))) (. .))」を得る。
【０１０７】
次に、入替部１０９は、この二分木の葉の部分を先頭から取り出し、「I apples him gave .」を得る。
【０１０８】
次に、機械翻訳部１１０は、入替部１０９の処理結果「I apples him gave .」に対して、目的言語への機械翻訳を実行し、目的言語文「私はリンゴを彼にあげた」を取得する。
【０１０９】
以上、本実施の形態によれば、スワップオペレータリストを利用することにより、日英翻訳を含む任意の２言語間の翻訳を簡易に行うことができる。さらに詳細には、本実施の形態によれば、日本語→英語、英語→日本語、日本語→中国語、中国語→日本語、英語→フランス語など、原言語の構文解析システムが利用可能な任意の言語間の機械翻訳について、原言語語順変換を適用することにより、機械翻訳の性能が向上する。
【０１１０】
また、本実施の形態によれば、特に、日本語→英語、英語→日本語のように、語順の違いが大きい言語間の翻訳において発明の効果が最も発揮される。
【０１１１】
また、本実施の形態によれば、上述したように、スワップオペレータを人手で抽出することが可能である。これは、スワップオペレータ候補が３つの文法記号のみからなるという非常に簡単な規則であり、かつ、抽出される規則の総数が数百程度と少ないためである。なお、例えば、Xianchao Wu, Katsuhito Sudoh, Kevin Duh, Hajime Tsukada, and Masaaki Nagata. 2011a. Extracting Preordering Rules from Chunk-based Dependency Trees for Japanese-to-English Translation. In Proceedings of the 13th Machine Translation Summit, pages 300-307では６８２８３７個の語順規則が抽出されており、人手で管理することは困難である。
【０１１２】
また、本実施の形態によれば、二分木に特化したスワップオペレータリストを用いることにより、スワップオペレータの数が、三分木以上から語順規則を自動生成する場合と比べて、大幅に少なくなり、人手でそのリストを管理するとともに、人手により追加した規則により原言語語順変換精度を向上することが可能になった。このことは、語順変換の精度向上にとって、きわめて重要なことである。
【０１１３】
なお、本実施の形態によれば、主として、原言語は英語の例で説明したが、原言語および目的言語は問わない。原言語が日本語の場合、例えば、スワップオペレータは「形容詞句→名詞句  形容詞」である。
【０１１４】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における機械翻訳装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体である、語順の入れ替えが発生する二分木の文脈自由文法規則を示す情報である１以上のスワップオペレータを格納し得るスワップオペレータ格納部にアクセス可能なコンピュータを、原言語文を受け付ける受付部と、前記原言語文を構文解析し、当該構文解析の結果を用いて、１以上の二分木を取得する二分木取得部と、前記１以上の各二分木に対して、前記スワップオペレータ格納部のスワップオペレータを適用し、いずれかのスワップオペレータに対応するか否かを判断する判断部と、前記判断部がいずれかのスワップオペレータに対応すると判断した二分木の葉の部分の語順を入れ替える入替部と、前記入替部の処理結果に対して、目的言語への機械翻訳を実行し、目的言語文を取得する機械翻訳部と、前記機械翻訳部が取得した目的言語文を出力する出力部として機能させるためのプログラム、である。
【０１１５】
また、記録媒体に、枝分かれが３以上のｎ分木であり、二分木を構成しないことを示す情報である１以上の例外情報をさらに格納しており、上記プログラムにおいて、前記二分木取得部は、前記原言語文を構文解析した結果のうち、前記１以上のいずれかの例外情報に対応しない部分に対してのみ、１以上の二分木を取得し、前記判断部は、前記原言語文を構文解析した結果のうち、前記１以上のいずれかの例外情報に対応する部分について、いずれかのスワップオペレータに対応するか否かを判断しないものとして、コンピュータを機能させることは好適である。
【０１１６】
また、記憶媒体に、原言語文と目的言語文とを対応付けた１組以上の対応文を格納し得る対訳コーパスと、原言語の単語または句と目的言語の単語または句とのアライメントの情報である１以上のアライメント情報と、語順の入れ替えが発生する二分木の文脈自由文法規則を示す情報であるスワップオペレータの候補である１以上の候補スワップオペレータとをさらに格納しており、上記プログラムにおいて、前記対訳コーパスの１以上の原言語文を構文解析し、原言語文の１以上の二分木を取得する構文解析部と、前記構文解析部が取得した原言語文の１以上の二分木に対して、前記１以上の各候補スワップオペレータを適用し、候補スワップオペレータに対応する二分木の葉の部分を語順変換して、原言語の目的言語の語順の文である１以上の目的言語語順文を取得する目的言語語順文取得部と、前記アライメント情報を用いて、前記対訳コーパスが有する１以上の目的言語文と、前記目的言語語順文取得部が取得した１以上の目的言語語順文との順位相関を算出する順位相関算出部と、前記順位相関算出部が算出した順位相関が所定の条件を満たすほど大きい場合、当該順位相関に対応する候補スワップオペレータをスワップオペレータとして取得するスワップオペレータ取得部と、前記スワップオペレータ取得部が取得したスワップオペレータを、前記スワップオペレータ格納部に蓄積するスワップオペレータ蓄積部として、コンピュータをさらに機能させることは好適である。
【０１１７】
また、前記記憶媒体は、重要度の順にソートされた２以上の候補スワップオペレータを格納しており、上記プログラムにおいて、前記目的言語語順文取得部は、前記構文解析部が取得した原言語文の１以上の二分木に対して、初期値が空であるスワップオペレータ格納部の各スワップオペレータを適用し、当該各スワップオペレータに対応する二分木の葉の部分を語順変換して、原言語の目的言語の語順の文である１以上の第一目的言語語順文を取得する第一目的言語語順文取得手段と、前記構文解析部が取得した原言語文の１以上の二分木に対して、初期値が空であるスワップオペレータ格納部の各スワップオペレータおよび前記重要度順の上位から順次取り出された候補スワップオペレータを適用し、前記各スワップオペレータまたは前記候補スワップオペレータに対応する二分木の葉の部分を語順変換して、原言語の目的言語の語順の文である１以上の第二目的言語語順文を取得する第二目的言語語順文取得手段とを具備し、前記順位相関算出部は、前記アライメント情報を用いて、前記対訳コーパスが有する１以上の目的言語文と、前記第一目的言語語順文取得手段が取得した１以上の第一目的言語語順文との第一順位相関を算出する第一順位相関算出手段と、前記アライメント情報を用いて、前記対訳コーパスが有する１以上の目的言語文と、前記第二目的言語語順文取得手段が取得した１以上の第二目的言語語順文との第二順位相関を算出する第二順位相関算出手段とを具備し、前記スワップオペレータ取得部は、前記第一順位相関と前記第二順位相関とを比較し、所定の条件を満たすほど前記第二順位相関が大きい場合、前記候補スワップオペレータをスワップオペレータとして取得し、前記スワップオペレータ蓄積部は、前記スワップオペレータ取得部が取得したスワップオペレータを、前記スワップオペレータ格納部に蓄積し、前記候補スワップオペレータ格納部のすべての候補スワップオペレータに対する処理を終了するまで、前記目的言語語順文取得部、前記順位相関算出部、前記スワップオペレータ取得部、および前記スワップオペレータ蓄積部の処理を継続させる制御部をさらに具備するものとして、コンピュータを機能させることは好適である。
【０１１８】
また、図５は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の機械翻訳装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図５は、このコンピュータシステム３００の概観図であり、図６は、システム３００のブロック図である。
【０１１９】
図５において、コンピュータシステム３００は、ＣＤ−ＲＯＭドライブを含むコンピュータ３０１と、キーボード３０２と、マウス３０３と、モニタ３０４とを含む。
【０１２０】
図６において、コンピュータ３０１は、ＣＤ−ＲＯＭドライブ３０１２に加えて、ＭＰＵ３０１３と、ＭＰＵ３０１３、ＣＤ−ＲＯＭドライブ３０１２に接続されたバス３０１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３０１５と、ＭＰＵ３０１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３０１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３０１７とを含む。ここでは、図示しないが、コンピュータ３０１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０１２１】
コンピュータシステム３００に、上述した実施の形態の機械翻訳装置の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３１０１に記憶されて、ＣＤ−ＲＯＭドライブ３０１２に挿入され、さらにハードディスク３０１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３０１に送信され、ハードディスク３０１７に記憶されても良い。プログラムは実行の際にＲＡＭ３０１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３１０１またはネットワークから直接、ロードされても良い。
【０１２２】
プログラムは、コンピュータ３０１に、上述した実施の形態の機械翻訳装置の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３００がどのように動作するかは周知であり、詳細な説明は省略する。
【０１２３】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
【０１２４】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１２５】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１２６】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１２７】
以上のように、本発明にかかる機械翻訳装置は、任意の二言語間で、高精度な機械翻訳ができる、という効果を有し、機械翻訳装置等として有用である。
【符号の説明】
【０１２８】
１  機械翻訳装置
１０１  アライメント情報格納部
１０２  対訳コーパス
１０３  スワップオペレータ候補格納部
１０４  スワップオペレータ格納部
１０５  例外情報格納部
１０６  受付部
１０７  二分木取得部
１０８  判断部
１０９  入替部
１１０  機械翻訳部
１１１  出力部
１１２  構文解析部
１１３  目的言語語順文取得部
１１４  順位相関算出部
１１５  スワップオペレータ取得部
１１６  スワップオペレータ蓄積部
１１７  制御部
１１３１  第一目的言語語順文取得手段
１１３２  第二目的言語語順文取得手段
１１４１  第一順位相関算出手段
１１４２  第二順位相関算出手段
【図１】
0005924677.tif 000002
【図２】
0005924677.tif 000003
【図３】
0005924677.tif 000004
【図４】
0005924677.tif 000005
【図５】
0005924677.tif 000006
【図６】
0005924677.tif 000007