(57)【特許請求の範囲】
【請求項１】
文を受け付ける受付部と、
前記受付部が受け付けた文を構文解析し、当該文を構成する１以上の各要素と当該１以上の各要素の品詞を有する解析結果であり、品詞および要素をノードとする１以上の二分木を有する第一解析結果を取得する構文解析部と、
前記受付部が受け付けた文を構成する１以上の各要素のカテゴリを取得するカテゴリ取得部と、
前記カテゴリ取得部が取得した１以上の各カテゴリに対応する要素であり、前記第一解析結果を構成する要素と、当該要素の品詞との間に、当該要素のカテゴリが挿入された、第二解析結果を取得するカテゴリ挿入部とを具備する構文解析装置。
【請求項２】
原言語文と目的言語文との対である対訳文を有する対訳コーパスと、
原言語の要素と目的言語の要素との対である１以上の要素対を格納し得る要素対格納部と、
前記原言語文に対する請求項１記載の構文解析装置の処理の結果であり、品詞、要素、およびカテゴリをノードとする１以上の二分木を有する第二解析結果であって、請求項１記載の構文解析装置のカテゴリ挿入部が取得した第二解析結果を格納し得る第二解析結果格納部と、
前記第二解析結果を構成する１以上のノードである原言語の１以上の各要素に対応する目的言語の要素を前記要素対格納部から取得する目的言語要素取得部と、
前記第二解析結果を構成する１以上の各二分木に対して、前記目的言語要素取得部が取得した目的言語の１以上の要素と前記目的言語文を構成する１以上の要素との語順から、原言語文から目的言語文に翻訳する際に、前記１以上の各二分木をスワップするか否かを判断する判断部と、
前記判断部の判断結果であるフラグを、前記１以上の各二分木に対応付けて付加し、第三解析結果を取得するフラグ付加部とを具備する学習装置。
【請求項３】
原言語の要素と目的言語の要素との対である１以上の要素対を格納し得る要素対格納部と、
１以上の第三解析結果を格納し得る第三解析結果格納部と、
原言語文を受け付ける受付部と、
前記受付部が受け付けた原言語文を、請求項１記載の構文解析装置を用いて構文解析し、第二解析結果を取得する第二構文解析部と、
前記１以上の第三解析結果が有する二分木に付加されたフラグを用いて、前記第二解析結果を構成する１以上の各二分木をスワップするか否かを判断する判断部と、
前記判断部における判断結果に応じた語順を有する原言語文を構成する１以上の各要素に対応する目的言語の要素を前記要素対格納部から取得する目的言語要素取得部と、
前記目的言語要素取得部が取得した目的言語の１以上の要素を語順に従って連結し、目的言語文を出力する目的言語文出力部とを具備する機械翻訳装置。
【請求項４】
原言語文と目的言語文との対である対訳文を有する対訳コーパスと、
原言語の要素と目的言語の要素との対である１以上の要素対を格納し得る要素対格納部と、
原言語文の構文解析結果を構成する二分木であり、親ノードと２つの子ノードのすべてが品詞である二分木であり、原言語文から目的言語文に翻訳する際に、二分木をスワップするか否かを示すフラグを前記二分木に対応付けて有する１以上の二分木を格納し得る二分木格納部と、
前記原言語文を構文解析し、当該文を構成する１以上の各要素と当該１以上の各要素の品詞を有する解析結果であり、品詞および要素をノードとする１以上の二分木を有する第一解析結果を取得する構文解析部と、
前記第一解析結果を構成する二分木であり、親ノードと２つの子ノードのすべてが品詞である１以上の二分木を取得する処理対象二分木取得部と、
前記処理対象二分木取得部が取得した１以上の各二分木に対して、前記二分木格納部の１以上の二分木を用いて、当該１以上の各二分木をスワップするか否かを判断する判断部と、
前記１以上の各二分木の子ノードに対応する原言語の２つの各要素に対応する目的言語の要素を前記要素対格納部から取得する目的言語要素取得部と、
前記判断部の判断結果を反映させた原言語の２つの要素の語順と、当該原言語の２つの要素に対応する目的言語の２つの要素の語順とが同じであるか否かを判断する第二判断部と、
前記第二判断部の判断結果が、語順が同じではないとの判断である場合、当該判断に対応する二分木を構成する親ノードのフラグの値を逆の値に変更するフラグ変更部とを具備する学習装置。
【請求項５】
コンピュータを、
文を受け付ける受付部と、
前記受付部が受け付けた文を構文解析し、当該文を構成する１以上の各要素と当該１以上の各要素の品詞を有する解析結果であり、品詞および要素をノードとする１以上の二分木を有する第一解析結果を取得する構文解析部と、
前記受付部が受け付けた文を構成する１以上の各要素のカテゴリを取得するカテゴリ取得部と、
前記カテゴリ取得部が取得した１以上の各カテゴリに対応する要素であり、前記第一解析結果を構成する要素と、当該要素の品詞との間に、当該要素のカテゴリが挿入された、第二解析結果を取得するカテゴリ挿入部として機能させるためのプログラム。
【請求項６】
原言語文と目的言語文との対である対訳文を有する対訳コーパスと、
原言語の要素と目的言語の要素との対である１以上の要素対を格納し得る要素対格納部と、
前記原言語文に対する請求項１記載の構文解析装置の処理の結果であり、品詞、要素、およびカテゴリをノードとする１以上の二分木を有する第二解析結果であって、請求項１記載の構文解析装置のカテゴリ挿入部が取得した第二解析結果を格納し得る第二解析結果格納部とにアクセス可能なコンピュータを、
前記第二解析結果を構成する１以上のノードである原言語の１以上の各要素に対応する目的言語の要素を前記要素対格納部から取得する目的言語要素取得部と、
前記第二解析結果を構成する１以上の各二分木に対して、前記目的言語要素取得部が取得した目的言語の１以上の要素と前記目的言語文を構成する１以上の要素との語順から、原言語文から目的言語文に翻訳する際に、前記１以上の各二分木をスワップするか否かを判断する判断部と、
前記判断部の判断結果であるフラグを、前記１以上の各二分木に対応付けて付加し、第三解析結果を取得するフラグ付加部として機能させるためのプログラム。
【請求項７】
原言語の要素と目的言語の要素との対である１以上の要素対を格納し得る要素対格納部と、
１以上の第三解析結果を格納し得る第三解析結果格納部とにアクセス可能なコンピュータを、
原言語文を受け付ける受付部と、
前記受付部が受け付けた原言語文を、請求項１記載の構文解析装置を用いて構文解析し、第二解析結果を取得する第二構文解析部と、
前記１以上の第三解析結果が有する二分木に付加されたフラグを用いて、前記第二解析結果を構成する１以上の各二分木をスワップするか否かを判断する判断部と、
前記判断部における判断結果に応じた語順を有する原言語文を構成する１以上の各要素に対応する目的言語の要素を前記要素対格納部から取得する目的言語要素取得部と、
前記目的言語要素取得部が取得した目的言語の１以上の要素を語順に従って連結し、目的言語文を出力する目的言語文出力部として機能させるためのプログラム。
【請求項８】
原言語文と目的言語文との対である対訳文を有する対訳コーパスと、
原言語の要素と目的言語の要素との対である１以上の要素対を格納し得る要素対格納部と、
原言語文の構文解析結果を構成する二分木であり、親ノードと２つの子ノードのすべてが品詞である二分木であり、原言語文から目的言語文に翻訳する際に、二分木をスワップするか否かを示すフラグを前記二分木に対応付けて有する１以上の二分木を格納し得る二分木格納部とにアクセス可能なコンピュータを、
前記原言語文を構文解析し、当該文を構成する１以上の各要素と当該１以上の各要素の品詞を有する解析結果であり、品詞および要素をノードとする１以上の二分木を有する第一解析結果を取得する構文解析部と、
前記第一解析結果を構成する二分木であり、親ノードと２つの子ノードのすべてが品詞である１以上の二分木を取得する処理対象二分木取得部と、
前記処理対象二分木取得部が取得した１以上の各二分木に対して、前記二分木格納部の１以上の二分木を用いて、当該１以上の各二分木をスワップするか否かを判断する判断部と、
前記１以上の各二分木の子ノードに対応する原言語の２つの各要素に対応する目的言語の要素を前記要素対格納部から取得する目的言語要素取得部と、
前記判断部の判断結果を反映させた原言語の２つの要素の語順と、当該原言語の２つの要素に対応する目的言語の２つの要素の語順とが同じであるか否かを判断する第二判断部と、
前記第二判断部の判断結果が、語順が同じではないとの判断である場合、当該判断に対応する二分木を構成する親ノードのフラグの値を逆の値に変更するフラグ変更部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文を構文解析する構文解析装置、または二分木の学習装置等に関するものである。
【背景技術】
【０００２】
従来、原言語文を構文解析した結果が有する二分木の語順を入れ替えて、機械翻訳を行う機械翻訳装置があった。
【０００３】
かかる機械翻訳装置の第一の例は、語順の入れ替えが発生する二分木の文脈自由文法規則を示す情報である２以上のスワップオペレータを格納し得るスワップオペレータ格納部と、原言語文を受け付ける受付部と、原言語文を構文解析し、当該構文解析の結果を用いて、１以上の二分木を取得する二分木取得部と、１以上の各二分木に対して、スワップオペレータ格納部のスワップオペレータを適用し、いずれかのスワップオペレータに対応するか否かを判断する判断部と、判断部がいずれかのスワップオペレータに対応すると判断した二分木の葉の部分の語順を入れ替える入替部と、入替部の処理結果に対して、目的言語への機械翻訳を実行し、目的言語文を取得する機械翻訳部と、機械翻訳部が取得した目的言語文を出力する出力部とを具備する（特許文献１参照）。
【０００４】
また、かかる機械翻訳装置の第二の例は、原言語の語順の二分木を示す情報である学習二分木を１以上格納し得る学習二分木格納部と、受け付けた原言語文を分割し２以上の要素を取得する分割部と、２以上の各要素に対応する目的言語の２以上の要素を取得する検索部と、原言語の語順であり、目的言語の２以上の要素を有する文である構文解析対象を取得する構文解析対象取得部と、構文解析対象を構文解析し学習二分木格納部の１以上の学習二分木を用いて、語順を入れ替えるか否かを示すフラグを有する１以上の目的言語の二分木を取得する二分木取得部と、１以上の目的言語の各二分木のフラグが語順を入れ替えることを示す情報である場合に二分木の子ノードの語順を入れ替え、目的言語文を取得する入替部と、目的言語文を出力する出力部とを具備する（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２５０６０５号公報（第１頁、第１図等）
【特許文献２】特開２０１３−２１８５２４号公報（第１頁、第１図等）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術は、単語情報等が利用できないため、語順の入れ替え精度に限界があった。
【０００７】
また、特許文献２の技術は、構文解析とスワップの判定を同時に学習していたため、学習・解析に長時間を要した。
【課題を解決するための手段】
【０００８】
本第一の発明の構文解析装置は、文を受け付ける受付部と、受付部が受け付けた文を構文解析し、文を構成する１以上の各要素と１以上の各要素の品詞を有する解析結果であり、品詞または要素をノードとする１以上の二分木を有する第一解析結果を取得する構文解析部と、受付部が受け付けた文を構成する１以上の各要素のカテゴリを取得するカテゴリ取得部と、カテゴリ取得部が取得した１以上の各カテゴリに対応する要素であり、第一解析結果を構成する要素と、要素の品詞との間に、要素のカテゴリが挿入された、第二解析結果を取得するカテゴリ挿入部と、カテゴリ挿入部が取得した第二解析結果を出力する学習部とを具備する構文解析装置である。
【０００９】
かかる構成により、非常に高い精度で、原言語文を目的言語側の語順に語順変換できる二分木を学習等するための構文解析技術を提供できる。
【００１０】
また、本第二の発明の学習装置は、第一の発明に対して、原言語文と目的言語文との対である対訳文を有する対訳コーパスと、原言語の要素と目的言語の要素との対である１以上の要素対を格納し得る要素対格納部と、原言語文に対する構文解析装置の処理の結果であり、品詞または要素またはカテゴリをノードとする１以上の二分木を有する第二解析結果であって、構文解析装置の学習部が出力した第二解析結果を格納し得る第二解析結果格納部と、第二解析結果を構成する１以上のノードである原言語の１以上の各要素に対応する目的言語の要素を要素対格納部から取得する目的言語要素取得部と、第二解析結果を構成する１以上の各二分木に対して、目的言語要素取得部が取得した目的言語の１以上の要素と目的言語文を構成する１以上の要素との語順から、原言語文から目的言語文に翻訳する際に、１以上の各二分木をスワップするか否かを判断する判断部と、判断部の判断結果であるフラグを、１以上の各二分木に対応付けて付加し、第三解析結果を取得するフラグ付加部とを具備する学習装置である。
【００１１】
かかる構成により、非常に高い精度で、原言語文を目的言語側の語順に語順変換できる二分木を学習できる。
【００１２】
また、本第三の発明の機械翻訳装置は、第一の発明に対して、原言語の要素と目的言語の要素との対である１以上の要素対を格納し得る要素対格納部と、１以上の第三解析結果を格納し得る第三解析結果格納部と、原言語文を受け付ける受付部と、受付部が受け付けた原言語文を、構文解析装置を用いて構文解析し、第二解析結果を取得する第二構文解析部と、１以上の第三解析結果が有する二分木に付加されたフラグを用いて、第二解析結果を構成する１以上の各二分木をスワップするか否かを判断する判断部と、判断部における判断結果に応じた語順を有する原言語文を構成する１以上の各要素に対応する目的言語の要素を要素対格納部から取得する目的言語要素取得部と、目的言語要素取得部が取得した目的言語の１以上の要素を語順に従って連結し、目的言語文を出力する目的言語文出力部とを具備する機械翻訳装置である。
【００１３】
かかる構成により、非常に高い精度で、原言語文を目的言語側の語順に語順変換できるために、精度の高い機械翻訳が可能となる。
【００１４】
また、本第四の発明の学習装置は、原言語文と目的言語文との対である対訳文を有する対訳コーパスと、原言語の要素と目的言語の要素との対である１以上の要素対を格納し得る要素対格納部と、原言語文の構文解析結果を構成する二分木であり、親ノードと２つの子ノードのすべてが品詞である二分木であり、原言語文から目的言語文に翻訳する際に、二分木をスワップするか否かを示すフラグを二分木に対応付けて有する１以上の二分木を格納し得る二分木格納部と、原言語文を構文解析し、文を構成する１以上の各要素と１以上の各要素の品詞を有する解析結果であり、品詞または要素をノードとする１以上の二分木を有する第一解析結果を取得する構文解析部と、第一解析結果を構成する二分木であり、親ノードと２つの子ノードのすべてが品詞である１以上の二分木を取得する処理対象二分木取得部と、処理対象二分木取得部が取得した１以上の各二分木に対して、二分木格納部の１以上の二分木を用いて、１以上の各二分木をスワップするか否かを判断する判断部と、１以上の各二分木の子ノードに対応する原言語の２つの各要素に対応する目的言語の要素を要素対格納部から取得する目的言語要素取得部と、判断部の判断結果を反映させた原言語の２つの要素の語順と、原言語の２つの要素に対応する目的言語の２つの要素の語順とが同じであるか否かを判断する第二判断部と、第二判断部の判断結果が、語順が同じではないとの判断である場合、判断に対応する二分木を構成する親ノードのフラグの値を逆の値に変更するフラグ変更部とを具備する学習装置である。
【００１５】
かかる構成により、非常に高い精度で、原言語文を目的言語側の語順に語順変換できる二分木を学習できる。
【００１６】
また、本第五の発明の学習装置は、１以上の原言語の要素または１以上の各要素の品詞をノードとする二分木であり、二分木を構成する親ノードの素性であり、（１）祖父、（２）親、（３）自分、（４）自分の直前の兄弟、（５）自分の直後の兄弟、（６）左の子、（７）右の子、（８）左の子の左端の子、（９）左の子の右端の子、（１０）右の子の左端の子、（１１）右の子の右端の子、（１２）左の子が支配する単語列の左端の単語、（１３）左の子が支配する単語列の右端の単語、（１４）右の子が支配する単語列の左端の単語、（１５）右の子が支配する単語列の右端の単語、の１５の素性のうち、４以上の素性を有し、かつ二分木をスワップするか否かのフラグを二分木に対応付けて有する１以上の二分木を格納している学習二分木格納部と、原言語文を受け付ける受付部と、受付部が受け付けた原言語文を構文解析し、原言語文を構成する１以上の各要素と１以上の各要素の品詞を有する解析結果であり、品詞または要素をノードとする１以上の二分木を有する第一解析結果を取得する構文解析部と、第一解析結果が有する１以上の各二分木の親ノードの素性であり、（１）祖父、（２）親、（３）自分、（４）自分の直前の兄弟、（５）自分の直後の兄弟、（６）左の子、（７）右の子、（８）左の子の左端の子、（９）左の子の右端の子、（１０）右の子の左端の子、（１１）右の子の右端の子、（１２）左の子が支配する単語列の左端の単語、（１３）左の子が支配する単語列の右端の単語、（１４）右の子が支配する単語列の左端の単語、（１５）右の子が支配する単語列の右端の単語、の１５の素性のうち、４以上の素性を取得する素性取得部と、素性取得部が取得した４以上の素性を、学習二分木格納部に格納されている１以上の二分木に適用し、第一解析結果が有する１以上の各二分木がスワップするか否かを判断する判断部と、判断部の判断結果であるフラグを、１以上の各二分木を構成する二分木に対応付けて付加するフラグ付加部とを具備する学習装置である。
【００１７】
かかる構成により、非常に高い精度で、原言語文を目的言語側の語順に語順変換できる二分木を学習できる。
【００１８】
また、本第六の発明の学習装置は、第五の発明に対して、学習二分木格納部に格納されている１以上のいずれかの二分木は、要素のカテゴリを要素と品詞の間に有し、受付部が受け付けた原言語文を構成する１以上の各要素のカテゴリを取得するカテゴリ取得部と、構文解析部が取得した第一解析結果を構成する各要素に対して、カテゴリ取得部が取得したカテゴリを、要素と品詞との間に挿入して、第二解析結果を取得するカテゴリ挿入部とをさらに具備し、判断部は、素性取得部が取得した４以上の素性を、学習二分木格納部に格納されている１以上の二分木に適用し、第二解析結果が有する１以上の各二分木がスワップするか否かを判断する学習装置である。
【００１９】
かかる構成により、非常に高い精度で、原言語文を目的言語側の語順に語順変換できる二分木を学習できる。
【００２０】
また、本第七の発明の機械翻訳装置は、１以上の原言語の要素または１以上の各要素の品詞をノードとする二分木であり、二分木を構成する親ノードの素性であり、（１）祖父、（２）親、（３）自分、（４）自分の直前の兄弟、（５）自分の直後の兄弟、（６）左の子、（７）右の子、（８）左の子の左端の子、（９）左の子の右端の子、（１０）右の子の左端の子、（１１）右の子の右端の子、（１２）左の子が支配する単語列の左端の単語、（１３）左の子が支配する単語列の右端の単語、（１４）右の子が支配する単語列の左端の単語、（１５）右の子が支配する単語列の右端の単語、の１５の素性のうち、４以上の素性を有し、かつ二分木をスワップするか否かのフラグを二分木に対応付けて有する１以上の二分木を格納している学習二分木格納部と、原言語文を受け付ける受付部と、受付部が受け付けた原言語文を構文解析し、原言語文を構成する１以上の各要素と１以上の各要素の品詞を有する解析結果であり、品詞または要素をノードとする１以上の二分木を有する第一解析結果を取得する構文解析部と、第一解析結果が有する１以上の各二分木の親ノードの素性であり、（１）祖父、（２）親、（３）自分、（４）自分の直前の兄弟、（５）自分の直後の兄弟、（６）左の子、（７）右の子、（８）左の子の左端の子、（９）左の子の右端の子、（１０）右の子の左端の子、（１１）右の子の右端の子、（１２）左の子が支配する単語列の左端の単語、（１３）左の子が支配する単語列の右端の単語、（１４）右の子が支配する単語列の左端の単語、（１５）右の子が支配する単語列の右端の単語、の１５の素性のうち、４以上の素性を取得する素性取得部と、素性取得部が取得した４以上の素性を、学習二分木格納部に格納されている１以上の二分木に適用し、第一解析結果が有する１以上の各二分木がスワップするか否かを判断する判断部と、判断部が判断した結果に基づいた語順で、原言語文を構成する原言語の１以上の各要素に対応する目的言語の１以上の要素を取得し、目的言語文を構成する目的言語文構成部と、目的言語文を出力する目的言語文出力部とを具備する機械翻訳装置である。
【００２１】
かかる構成により、非常に高い精度で、原言語文を目的言語側の語順に語順変換できるために、精度の高い機械翻訳が可能となる。
【００２２】
また、本第八の発明の機械翻訳装置は、第七の発明に対して、学習二分木格納部に格納されている１以上のいずれかの二分木は、要素のカテゴリを要素と品詞の間に有し、受付部が受け付けた原言語文を構成する１以上の各要素のカテゴリを取得するカテゴリ取得部と、構文解析部が取得した第一解析結果を構成する各要素に対して、カテゴリ取得部が取得したカテゴリを、要素と品詞との間に挿入して、第二解析結果を取得するカテゴリ挿入部とをさらに具備し、判断部は、素性取得部が取得した４以上の素性を、学習二分木格納部に格納されている１以上の二分木に適用し、第二解析結果が有する１以上の各二分木がスワップするか否かを判断する機械翻訳装置である。
【００２３】
かかる構成により、非常に高い精度で、原言語文を目的言語側の語順に語順変換できるために、精度の高い機械翻訳が可能となる。
【発明の効果】
【００２４】
本発明による学習装置によれば、非常に高い精度で、原言語文を目的言語側の語順に語順変換できる。
【図面の簡単な説明】
【００２５】
【図１】実施の形態１における構文解析装置１１のブロック図
【図２】同構文解析装置１１を含む学習装置１のブロック図
【図３】同構文解析装置１１の動作について説明するフローチャート
【図４】同学習装置１の動作について説明するフローチャート
【図５】同第一解析結果を示す図
【図６】同第一解析結果である図的なツリー構造を示す図
【図７】同第二解析結果を示す図
【図８】同第二解析結果である図的なツリー構造を示す図
【図９】同第三解析結果を示す図
【図１０】実施の形態２における機械翻訳装置２のブロック図
【図１１】同機械翻訳装置２の動作について説明するフローチャート
【図１２】実施の形態３における学習装置３のブロック図
【図１３】同学習装置３の動作について説明するフローチャート
【図１４】同二分木を示す図
【図１５】同第一解析結果を示す図
【図１６】同原言語文と目的言語文との交差を示す図
【図１７】同フラグ付きの二分木を示す図
【図１８】実施の形態４における学習装置４のブロック図
【図１９】同学習装置４の動作について説明するフローチャート
【図２０】実施の形態５における機械翻訳装置５のブロック図
【図２１】同機械翻訳装置５の動作について説明するフローチャート
【図２２】同構成された木構造を示す図
【図２３】上記実施の形態におけるコンピュータシステムの概観図
【図２４】同コンピュータシステムのブロック図
【発明を実施するための形態】
【００２６】
以下、本発明に係る学習装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２７】
（実施の形態１）
本実施の形態において、カテゴリを品詞と単語の間に挿入する構文解析装置について説明する。
【００２８】
また、本実施の形態において、構文解析装置を用いた語順変換規則の学習装置について説明する。
【００２９】
図１は、本実施の形態における構文解析装置１１のブロック図である。構文解析装置１１は、第二解析結果格納部１１０、受付部１１１、構文解析部１１２、カテゴリ取得部１１３、カテゴリ挿入部１１４、および学習部１１５を備える。
【００３０】
図２は、本実施の形態における構文解析装置１１を含む学習装置１のブロック図である。学習装置１は、構文解析装置１１、対訳コーパス１２、要素対格納部１３、第三解析結果格納部１４、目的言語要素取得部１５、判断部１６、およびフラグ付加部１７を備える。
【００３１】
構文解析装置１１を構成する第二解析結果格納部１１０は、構文解析装置１１の学習部１１５が出力した第二解析結果を格納し得る。学習部１１５の出力とは、通常、蓄積である。ただし、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。なお、第二解析結果の詳細については後述する。
【００３２】
受付部１１１は、文を受け付ける。文は、例えば、翻訳対象の原言語文である。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。文の受け付け手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部１１１は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００３３】
構文解析部１１２は、受付部１１１が受け付けた文を構文解析し、第一解析結果を取得する。第一解析結果は、文を構成する１以上の各要素と１以上の各要素の品詞を有する解析結果であり、品詞または要素をノードとする１以上の二分木を有する。ここで、要素とは、通常、単語であるが、形態素、句等、文を構成する部分であれば良い。また、第一解析結果は、二分木ではない部分木を有しても良い。また、第一解析結果は、木構造を有する。なお、二分木は、通常、親ノードと２つの子ノードを有する。また、二分木は、子ノードの子孫の孫ノード等を有しても良い。つまり、二分木の階層は、２段とは限らず、３段以上でも良い。
【００３４】
構文解析部１１２の処理は公知技術であるので詳細な説明を省略するが、例えば構文解析部１１２は、例えば、ＣａｂｏＣｈａ（ＵＲＬ「http://code.google.com/p/cabocha/」参照）、Ｂｅｒｋｅｌｅｙ  Ｐａｒｓｅｒ（Improved inference for unlexicalized parsing. In NAACL-HLT, pages 404-411, Rochester, New York, April. Association for Computational Linguistics.）等の構文解析器により実現され得る。
【００３５】
カテゴリ取得部１１３は、受付部１１１が受け付けた文を構成する１以上の各要素のカテゴリを取得する。カテゴリを取得する方法は問わないが例えば、カテゴリ取得部１１３は、要素とそのカテゴリを対に有する１以上の要素情報を有する要素辞書から、要素をキーにして検索し、カテゴリを取得しても良い。例えば、カテゴリ取得部１１３は、カテゴリ取得ツール「mkcls」（ＵＲＬ：「http://www.statmt.org/moses/giza/mkcls.html」参照）を使用しても良い。また、カテゴリを取得できない要素に対して、カテゴリ取得部１１３は、例えば、「不明」を示すカテゴリ（例えば、「ＣＮ」）を取得する。また、単語カテゴリの取得方法は、公知技術であるので、詳細な説明を省略する。
なお、カテゴリとは、要素の種類であり、要素の属性と言っても良い。ただし、カテゴリは品詞ではない。カテゴリとは、例えば、要素のクラスを示す情報、２以上の要素の集合に付けられた情報、要素の意味的な集合に付けられた情報等と考えても良い。例えば、要素「羊」のカテゴリは「動物」であるが、カテゴリは記号「Ｃ０」「Ｃ１」等でも良い。
【００３６】
カテゴリ挿入部１１４は、第一解析結果を構成する要素と品詞との間に、要素のカテゴリが挿入された第二解析結果を取得する。
【００３７】
カテゴリ挿入部１１４は、通常、カテゴリ取得部１１３が取得した１以上の各カテゴリに対応する要素であり、第一解析結果を構成する要素と、要素の品詞との間に、要素のカテゴリを挿入し、第二解析結果を取得する。ここでの第二解析結果は、第二解析結果を構成する２以上の部分木の集合である、と考えても良い。
【００３８】
カテゴリ挿入部１１４は、通常、構文解析部１１２の構文解析処理の後にカテゴリを挿入するが、構文解析処理の前の要素にカテゴリを付加しても良い。つまり、カテゴリ挿入部１１４と処理と構文解析部１１２の処理の順序は問わない。
【００３９】
学習部１１５は、カテゴリ挿入部１１４が取得した第二解析結果を出力する。ここで、出力とは、通常、記録媒体に蓄積することである。ただし、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【００４０】
対訳コーパス１２は、１または２以上の対訳文を有する。対訳文は、原言語文と目的言語文との対である。
【００４１】
要素対格納部１３は、原言語の要素と目的言語の要素との対である１以上の要素対を格納し得る。要素対格納部１３は、例えば、原言語の単語と目的言語の単語との対である１以上の単語対を格納している辞書である。
【００４２】
第三解析結果格納部１４は、１以上の第三解析結果を格納し得る。第三解析結果は、第二解析結果が有する１以上の各二分木に対して、フラグが付加された情報である。フラグがとは、二分木をスワップすることを示す情報、または二分木をスワップしないことを示す情報である。例えば、スワップすることを示すフラグは「ＳＷ」、スワップしないことを示すフラグは「ＳＴ」である。二分木をスワップすることは、二分木を構成する子ノードの順序（語順）を入れ替えることである。フラグは、通常、二分木の親ノードに対応付けられている。ただし、フラグは、二分木に対応付いていれば良い。
【００４３】
目的言語要素取得部１５は、原言語文を構成する１以上の各要素に対応する目的言語の要素を要素対格納部１３から取得する。目的言語要素取得部１５は、通常、第二解析結果を構成する１以上のノードである要素に対応する目的言語の要素を要素対格納部１３から取得する。第二解析結果を構成するノードである要素は、原言語の要素である。
【００４４】
判断部１６は、第二解析結果を構成する１以上の各二分木に対して、スワップするか否かを判断する。具体的には、判断部１６は、着目する二分木に対して、原言語の１以上の要素の語順と目的言語の１以上の要素の語順とから、原言語文から目的言語文に翻訳する際に、１以上の各二分木をスワップするか否かを判断する。なお、目的言語の要素は、目的言語要素取得部１５が取得した情報である。また、具体的には、判断部１６は、前記目的言語要素取得部１５が取得した目的言語の１以上の要素と目的言語文を構成する１以上の要素との語順から、原言語文から目的言語文に翻訳する際に、１以上の各二分木をスワップするか否かを判断する。
【００４５】
フラグ付加部１７は、判断部１６の判断結果であるフラグを、１以上の各二分木に対応付けて付加し、第三解析結果を取得する。二分木に対応付けてフラグを付加することは、通常、二分木の親ノードに対応付けてフラグを付加することである。
【００４６】
フラグ付加部１７は、取得した第三解析結果を第三解析結果格納部１４に蓄積しても良いし、第二解析結果格納部１１０の第二解析結果を構成する１以上の各二分木に対応付けて、フラグを書き込んでも良い。
【００４７】
第二解析結果格納部１１０、対訳コーパス１２、要素対格納部１３、および第三解析結果格納部１４は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００４８】
第二解析結果格納部１１０等に第二解析結果等が記憶される過程は問わない。例えば、記録媒体を介して第二解析結果等が第二解析結果格納部１１０等で記憶されるようになってもよく、通信回線等を介して送信された第二解析結果等が第二解析結果格納部１１０等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された第二解析結果等が第二解析結果格納部１１０等で記憶されるようになってもよい。
【００４９】
構文解析部１１２、カテゴリ取得部１１３、カテゴリ挿入部１１４、学習部１１５、目的言語要素取得部１５、判断部１６、およびフラグ付加部１７は、通常、ＭＰＵやメモリ等から実現され得る。構文解析部１１２の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００５０】
次に、構文解析装置１１の動作について、図３のフローチャートを用いて説明する。
【００５１】
（ステップＳ３０１）受付部１１１は、文を受け付けたか否かを判断する。文を受け付けた場合はステップＳ３０２に行き、文を受け付けない場合はステップＳ３０１に戻る。なお、ここで受け付ける文は、通常、翻訳対象の原言語文である。
【００５２】
（ステップＳ３０２）構文解析部１１２は、ステップＳ３０１で受け付けられた文を構文解析し、第一解析結果を取得する。
【００５３】
（ステップＳ３０３）カテゴリ取得部１１３は、カウンタｉに１を代入する。
【００５４】
（ステップＳ３０４）カテゴリ取得部１１３は、ステップＳ３０１で受け付けられた文を構成するｉ番目の要素が存在するか否かを判断する。ｉ番目の要素が存在する場合はステップＳ３０５に行き、ｉ番目の要素が存在しない場合は処理を終了する。なお、ステップＳ３０１で受け付けられた文を構成する要素は、第一解析結果を構成する要素であるとも言える。
【００５５】
（ステップＳ３０５）カテゴリ取得部１１３は、ステップＳ３０１で受け付けられた文を構成するｉ番目の要素のカテゴリを取得する。
【００５６】
（ステップＳ３０６）カテゴリ挿入部１１４は、第一解析結果を構成するｉ番目の要素と品詞との間に、ステップＳ３０５で取得されたカテゴリを挿入する。
【００５７】
（ステップＳ３０７）カテゴリ取得部１１３は、カウンタｉを１、インクリメントする。ステップＳ３０４に戻る。
【００５８】
なお、図３のフローチャートのステップＳ３０６の処理により、カテゴリ挿入部１１４は、第二解析結果を取得する。
【００５９】
次に、学習装置１の動作について、図４のフローチャートを用いて説明する。
【００６０】
（ステップＳ４０１）目的言語要素取得部１５は、カウンタｉに１を代入する。
【００６１】
（ステップＳ４０２）目的言語要素取得部１５は、第二解析結果格納部１１０にｉ番目の二分木が存在するか否かを判断する。ｉ番目の二分木が存在する場合はステップＳ４０３に行き、ｉ番目の二分木が存在しない場合は処理を終了する。
【００６２】
（ステップＳ４０３）目的言語要素取得部１５は、ｉ番目の二分木を構成するノードのうち２以上の各要素（各要素は、原言語の要素である。）に対応する、目的言語の２以上の要素を要素対格納部１３から取得する。
【００６３】
（ステップＳ４０４）判断部１６は、ｉ番目の二分木を構成する原言語の２以上の要素の語順と目的言語の２以上の要素の語順とから、二分木をスワップするか否かを判断する。スワップすると判断した場合はステップＳ４０５に行き、スワップしないと判断した場合はステップＳ４０６に行く。なお、二分木を構成する原言語の２以上の要素の語順は、対訳コーパス１２の原言語文から取得できる。また、目的言語の２以上の要素の語順は、対訳コーパス１２の目的言語文から取得できる。
【００６４】
（ステップＳ４０５）フラグ付加部１７は、フラグとして、スワップすることを意味するフラグ（ここでは、「ＳＷ」）を取得する。
【００６５】
（ステップＳ４０６）フラグ付加部１７は、フラグとして、スワップしないことを意味するフラグ（ここでは、「ＳＴ」）を取得する。
【００６６】
（ステップＳ４０７）フラグ付加部１７は、ステップＳ４０５またはステップＳ４０６で取得したフラグをｉ番目の二分木に付加する。フラグ付加部１７は、通常、ｉ番目の二分木の親ノードに、フラグを付加する。
【００６７】
（ステップＳ４０８）目的言語要素取得部１５は、カウンタｉを１、インクリメントする。ステップＳ４０２に戻る。
【００６８】
なお、図４のステップＳ４０７の処理により、第三解析結果が取得される。第三解析結果は、通常、第三解析結果格納部１４に蓄積される。
【００６９】
以下、まず、本実施の形態における構文解析装置１１の具体的な動作について説明する。
【００７０】
今、原言語文「Ｔｈｉｓ  ｉｓ  ａ  ｐｅｎ．」と目的言語文「これはペンです。」との有する対訳文が対訳コーパス１２に格納されている、とする。
【００７１】
かかる状況において、構文解析装置１１は、原言語文を構文解析し、図５に示す第一解析結果を取得する。第一解析結果を図的なツリー構造で示した図が図６である。
【００７２】
次に、カテゴリ取得部１１３は、１番目の要素「Ｔｈｉｓ」のカテゴリ「Ｃ０」を取得した、とする。次に、カテゴリ挿入部１１４は、第一解析結果を構成する１番目の要素「Ｔｈｉｓ」と品詞「ＤＴ」との間にカテゴリ「Ｃ０」を挿入する。
【００７３】
次に、カテゴリ取得部１１３は、２番目の要素「ｉｓ」のカテゴリ「Ｃ１」を取得した、とする。次に、カテゴリ挿入部１１４は、第一解析結果を構成する２番目の要素「ｉｓ」と品詞「ＶＢＺ」との間にカテゴリ「Ｃ１」を挿入する。
【００７４】
次に、カテゴリ取得部１１３は、３番目の要素「ａ」のカテゴリ「Ｃ２」を取得した、とする。次に、カテゴリ挿入部１１４は、第一解析結果を構成する３番目の要素「ａ」と品詞「ＤＴ」との間にカテゴリ「Ｃ２」を挿入する。
【００７５】
さらに、カテゴリ取得部１１３は、４番目の要素「ｐｅｎ」のカテゴリ「Ｃ３」を取得した、とする。次に、カテゴリ挿入部１１４は、第一解析結果を構成する４番目の要素「ｐｅｎ」と品詞「ＮＮ」との間にカテゴリ「Ｃ３」を挿入する。
【００７６】
以上の処理により、カテゴリ挿入部１１４は、図７に示す第二解析結果を取得する。また、第二解析結果を図的なツリー構造で示した図が図８である。
【００７７】
次に、本実施の形態における学習装置１の具体的な動作について説明する。
【００７８】
まず、目的言語要素取得部１５は、１番目の二分木（ＲＯＯＴを親とする二分木）を取得する。そして、判断部１６は、対訳コーパス１２の原言語文と目的言語文とを用いて、１番目の二分木を構成する原言語の２以上の要素の順序と目的言語の２以上の要素の順序とから、二分木をスワップしないと判断する。次に、フラグ付加部１７は、フラグとして、スワップしないことを意味するフラグ（ここでは、「ＳＴ」）を取得する。そして、フラグ付加部１７は、取得したフラグ「ＳＴ」を１番目の二分木の親ノード「ＲＯＯＴ」に付加する。
【００７９】
次に、目的言語要素取得部１５は、２番目の二分木（Ｓを親とする二分木）を取得する。そして、判断部１６は、対訳コーパス１２の原言語文と目的言語文とを用いて、１番目の二分木を構成する原言語の２以上の要素の順序と目的言語の２以上の要素の順序とから、二分木をスワップしないと判断する。次に、フラグ付加部１７は、フラグ「ＳＴ」を取得する。そして、フラグ付加部１７は、取得したフラグ「ＳＴ」を２番目の二分木の親ノード「Ｓ」に付加する。
【００８０】
次に、目的言語要素取得部１５は、３番目の二分木（ＶＰを親とする二分木）を取得する。次に、目的言語要素取得部１５は、３番目の二分木を構成するノードのうち３つの各要素に対応する目的言語の要素「ペン  です」を要素対格納部１３から取得する。
【００８１】
次に、判断部１６は、対訳コーパス１２の原言語文を構成する３つの要素「ｉｓ  ａ  ｐｅｎ」の順序と目的言語文を構成する要素「ペン  です」の順序とを用いて、二分木をスワップする、と判断する。判断部１６は、「ｉｓ」に対応する「です」、「ｐｅｎ」に対応する「ペン」の語順が、原言語文と目的言語文とで逆であることを認識し、当該二分木をスワップする、と判断する。
【００８２】
次に、フラグ付加部１７は、フラグとして、スワップすることを意味するフラグ（ここでは、「ＳＷ」）を取得する。そして、フラグ付加部１７は、取得したフラグ「ＳＷ」を３番目の二分木の親ノード「ＶＰ」に付加する。
【００８３】
次に、目的言語要素取得部１５は、４番目の二分木（ＮＰを親とする二分木）を取得する。そして、判断部１６は、対訳コーパス１２の原言語文と目的言語文とを用いて、１番目の二分木を構成する原言語の２以上の要素の順序と目的言語の２以上の要素の順序とから、二分木をスワップしないと判断する。次に、フラグ付加部１７は、フラグ「ＳＴ」を取得する。そして、フラグ付加部１７は、取得したフラグ「ＳＴ」を４番目の二分木の親ノード「ＮＰ」に付加する。
【００８４】
以上の処理により、図９に示す第三解析結果が得られた。なお、第三解析結果は、第三解析結果格納部１４に蓄積された、とする。
【００８５】
以上、本実施の形態によれば、非常に高い精度で、原言語文を目的言語側の語順に語順変換できる二分木を学習等するための構文解析技術を提供できる。
【００８６】
また、本実施の形態によれば、非常に高い精度で、原言語文を目的言語側の語順に語順変換できる二分木を学習できる。
【００８７】
なお、構文解析装置１１における構文解析結果は、機械翻訳以外の処理でも利用可能である。機械翻訳以外の処理とは、例えば、音声翻訳、全文検索等である。
【００８８】
また、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における構文解析装置１１を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、文を受け付ける受付部と、前記受付部が受け付けた文を構文解析し、当該文を構成する１以上の各要素と当該１以上の各要素の品詞を有する解析結果であり、品詞または要素をノードとする１以上の二分木を有する第一解析結果を取得する構文解析部と、前記受付部が受け付けた文を構成する１以上の各要素のカテゴリを取得するカテゴリ取得部と、前記カテゴリ取得部が取得した１以上の各カテゴリに対応する要素であり、前記第一解析結果を構成する要素と、当該要素の品詞との間に、当該要素のカテゴリが挿入された、第二解析結果を取得するカテゴリ挿入部として機能させるためのプログラムである。
【００８９】
また、学習装置１を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムにおいて、コンピュータがアクセス可能な記録媒体は、原言語文と目的言語文との対である対訳文を有する対訳コーパスと、原言語の要素と目的言語の要素との対である１以上の要素対を格納し得る要素対格納部と、前記原言語文に対する請求項１記載の構文解析装置の処理の結果であり、品詞または要素またはカテゴリをノードとする１以上の二分木を有する第二解析結果であって、請求項１記載の構文解析装置の学習部が出力した第二解析結果を格納し得る第二解析結果格納部とを具備し、コンピュータを、前記第二解析結果を構成する１以上のノードである原言語の１以上の各要素に対応する目的言語の要素を前記要素対格納部から取得する目的言語要素取得部と、前記第二解析結果を構成する１以上の各二分木に対して、前記目的言語要素取得部が取得した目的言語の１以上の要素と前記目的言語文を構成する１以上の要素との語順から、原言語文から目的言語文に翻訳する際に、前記１以上の各二分木をスワップするか否かを判断する判断部と、前記判断部の判断結果であるフラグを、前記１以上の各二分木に対応付けて付加し、第三解析結果を取得するフラグ付加部として機能させるためのプログラムである。
【００９０】
（実施の形態２）
本実施の形態において、実施の形態１の学習装置１で学習した二分木を用いて、機械翻訳を行う機械翻訳装置について説明する。
【００９１】
図１０は、本実施の形態における機械翻訳装置２のブロック図である。この機械翻訳装置２は、要素対格納部１３、第三解析結果格納部１４、受付部１１１、第二構文解析部２１、判断部２２、目的言語要素取得部２３、および目的言語文出力部２４を備える。なお、第二構文解析部２１は、通常、構文解析装置１１と同じ構成である。
【００９２】
第二構文解析部２１は、受付部１１１が受け付けた原言語文を、構文解析装置１１を用いて構文解析し、第二解析結果を取得する。第二構文解析部２１は、構文解析装置１１と同じ構成でも良い。
【００９３】
判断部２２は、第三解析結果格納部１４に格納されている１以上の第三解析結果が有する二分木に付加されたフラグを用いて、第二構文解析部２１が取得した第二解析結果を構成する１以上の各二分木をスワップするか否かを判断する。判断部２２は、機械学習のアルゴリズムを用いて、二分木をスワップするか否かを判断しても良い。判断部２２は、ニューラルネットワークのアルゴリズムを用いて、二分木をスワップするか否かを判断しても良い。ニューラルネットワークについては、例えば、「ＵＲＬ：http://nlg.isi.edu/software/nplm/」参照のこと。
【００９４】
目的言語要素取得部２３は、原言語文を構成する１以上の各要素に対応する目的言語の要素を要素対格納部１３から取得する。目的言語要素取得部２３は、判断部２２における判断結果に応じた語順を有する原言語文を構成する１以上の各要素に対応する目的言語の要素を要素対格納部１３から取得する。
【００９５】
目的言語文出力部２４は、目的言語要素取得部２３が取得した目的言語の１以上の要素を語順に従って連結し、目的言語文を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【００９６】
第二構文解析部２１、判断部２２、目的言語要素取得部２３は、通常、ＭＰＵやメモリ等から実現され得る。第二構文解析部２１の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００９７】
目的言語文出力部２４は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。目的言語文出力部２４は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００９８】
次に、機械翻訳装置２の動作について、図１１のフローチャートを用いて説明する。図１１のフローチャートにおいて、図３のフローチャートと同一のステップについて説明を省略する。
【００９９】
（ステップＳ１１０１）判断部２２は、カウンタｉに１を代入する。
【０１００】
（ステップＳ１１０２）判断部２２は、第二構文解析部２１が取得した第二解析結果の中にｉ番目の二分木が存在するか否かを判断する。ｉ番目の二分木が存在すればステップＳ１１０３に行き、ｉ番目の二分木が存在しなければステップＳ１１０７に行く。
【０１０１】
（ステップＳ１１０３）判断部２２は、ｉ番目の二分木をスワップするか否かを判断する。判断部２２は、第三解析結果格納部１４に格納されている１以上の第三解析結果が有する二分木に付加されたフラグを用いて、ｉ番目の二分木をスワップするか否かを判断する。スワップすると判断された場合はステップＳ１１０４に行き、スワップしないと判断された場合はステップＳ１１０６に行く。
【０１０２】
（ステップＳ１１０４）判断部２２は、ｉ番目の二分木の順序を入れ替える。二分木の順序を入れ替える（スワップする）ことは、二分木の２つの子ノードの順序を入れ替えることである。
【０１０３】
（ステップＳ１１０５）判断部２２は、カウンタｉを１、インクリメントする。ステップＳ１１０２に戻る。
【０１０４】
（ステップＳ１１０６）目的言語要素取得部２３は、判断部２２における判断結果に応じた語順を有する原言語文を構成する１以上の各要素に対応する目的言語の要素を要素対格納部１３から取得する。
【０１０５】
（ステップＳ１１０７）目的言語文出力部２４は、目的言語要素取得部２３が取得した目的言語の１以上の要素を語順に従って連結し、目的言語文を構成する
【０１０６】
（ステップＳ１１０８）目的言語文出力部２４は、ステップＳ１１０７で構成された目的言語文を出力する。ステップＳ３０１に戻る。
【０１０７】
なお、図１１のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１０８】
以上、本実施の形態によれば、非常に高い精度で、原言語文を目的言語側の語順に語順変換できるために、精度の高い機械翻訳が可能となる。
【０１０９】
なお、本実施の形態における機械翻訳装置２を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータがアクセス可能な記録媒体は、原言語の要素と目的言語の要素との対である１以上の要素対を格納し得る要素対格納部と、１以上の第三解析結果を格納し得る第三解析結果格納部とを具備し、コンピュータを、原言語文を受け付ける受付部と、前記受付部が受け付けた原言語文を、請求項１記載の構文解析装置を用いて構文解析し、第二解析結果を取得する第二構文解析部と、前記１以上の第三解析結果が有する二分木に付加されたフラグを用いて、前記第二解析結果を構成する１以上の各二分木をスワップするか否かを判断する判断部と、前記判断部における判断結果に応じた語順を有する原言語文を構成する１以上の各要素に対応する目的言語の要素を前記要素対格納部から取得する目的言語要素取得部と、前記目的言語要素取得部が取得した目的言語の１以上の要素を語順に従って連結し、目的言語文を出力する目的言語文出力部として機能させるためのプログラムである。
【０１１０】
（実施の形態３）
本実施の形態において、品詞の三つ組による語順変換を行い、かつ単語交差最小化を用いた語順変換を行うことにより、語順変換規則を学習する学習装置について説明する。なお、品詞の三つ組とは、二分木を構成する３つの品詞であり、親ノードの品詞と、２つの子ノードの品詞からなる。
【０１１１】
図１２は、本実施の形態における学習装置３のブロック図である。学習装置３は、対訳コーパス３１、要素対格納部１３、二分木格納部３２、構文解析部１１２、処理対象二分木取得部３３、判断部３４、目的言語要素取得部３５、第二判断部３６、およびフラグ変更部３７を備える。
【０１１２】
対訳コーパス３１は、原言語文と目的言語文との対である対訳文を有する。対訳コーパス３１は、１または２以上の対訳文を有する。なお、原言語文および目的言語文は、完全な文ではなく、文の一部でも良い。
【０１１３】
二分木格納部３２は、原言語文の構文解析結果を構成する二分木であり、親ノードと２つの子ノードのすべてが品詞である二分木であり、原言語文から目的言語文に翻訳する際に、二分木をスワップするか否かを示すフラグを二分木に対応付けて有する１以上の二分木を格納し得る。ここで、各二分木に対応付けられているフラグは、通常、二分木の親ノードに対応付けている。
【０１１４】
処理対象二分木取得部３３は、構文解析部１１２が取得した第一解析結果を構成する二分木であり、親ノードと２つの子ノードのすべてが品詞である１以上の二分木を取得する。
【０１１５】
判断部３４は、二分木格納部３２の１以上の二分木を用いて、処理対象二分木取得部３３が取得した１以上の各二分木をスワップするか否かを判断する。判断部３４は、例えば、機械学習のアルゴリズムを用いて、二分木をスワップするか否かを判断しても良い。判断部３４は、ニューラルネットワークのアルゴリズムを用いて、二分木をスワップするか否かを判断しても良い。
【０１１６】
目的言語要素取得部３５は、原言語の２つの各要素に対応する目的言語の要素を要素対格納部１３から取得する。目的言語要素取得部３５は、１以上の各二分木の子ノードに対応する原言語の２つの各要素に対応する目的言語の要素を要素対格納部１３から取得する。
【０１１７】
第二判断部３６は、判断部３４の判断結果を反映させた原言語の２つの要素の語順と、原言語の２つの要素に対応する目的言語の２つの要素の語順とが同じであるか否かを判断する。
【０１１８】
フラグ変更部３７は、第二判断部３６の判断結果が、語順が同じではないとの判断である場合、判断に対応する二分木を構成する親ノードのフラグの値を逆の値に変更する。
【０１１９】
対訳コーパス３１、要素対格納部１３、および二分木格納部３２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【０１２０】
対訳コーパス３１等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が対訳コーパス３１等で記憶されるようになってもよく、通信回線等を介して送信された情報が対訳コーパス３１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が対訳コーパス３１等で記憶されるようになってもよい。
【０１２１】
処理対象二分木取得部３３、判断部３４、目的言語要素取得部３５、第二判断部３６、およびフラグ変更部３７は、通常、ＭＰＵやメモリ等から実現され得る。処理対象二分木取得部３３等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１２２】
次に、図１２に示す学習装置３の動作について図１３のフローチャートを用いて説明する。
【０１２３】
（ステップＳ１３０１）構文解析部１１２は、対訳コーパス３１における原言語文を取得する。なお、ここでは、対訳コーパス３１の一の対訳文を処理の対象とする。
【０１２４】
（ステップＳ１３０２）構文解析部１１２は、ステップＳ１３０１で取得した原言語文を構文解析し、第一解析結果を取得する。
【０１２５】
（ステップＳ１３０３）処理対象二分木取得部３３は、カウンタｉに１を代入する。
【０１２６】
（ステップＳ１３０４）処理対象二分木取得部３３は、ステップＳ１３０２で取得された第一解析結果の中に、ｉ番目の二分木であり、親ノードと２つの子ノードのすべてが品詞である二分木が存在するか否かを判断する。ｉ番目の処理対象の二分木が存在すればステップＳ１３０５に行き、存在しなければ処理を終了する。
【０１２７】
（ステップＳ１３０５）処理対象二分木取得部３３は、ｉ番目の処理対象の二分木を、ステップＳ１３０２で取得された第一解析結果から取得する。
【０１２８】
（ステップＳ１３０６）判断部３４は、二分木格納部３２(原言語文の構文解析結果が格納されている)の二分木を用いて、ステップＳ１３０５で取得されたｉ番目の処理対象の二分木をスワップするか否かを判断する。スワップしないと判断された場合はステップＳ１３０７に行き、スワップすると判断された場合はステップＳ１３１１に行く。
【０１２９】
（ステップＳ１３０７）目的言語要素取得部３５は、ｉ番目の処理対象の二分木を構成する１以上の各要素に対応する、目的言語の要素を要素対格納部１３から取得する。
【０１３０】
（ステップＳ１３０８）第二判断部３６は、判断部３４の判断結果を反映させた原言語の２つの要素の語順と、原言語の２つの要素に対応する目的言語の２つの要素の語順とが同じであるか否かを判断する。つまり、第二判断部３６は、原言語の要素の並びと、目的言語の要素の並びが交差しているか否かを判断する。
【０１３１】
（ステップＳ１３０９）ステップＳ１３０８において、語順が同じである（交差していない）と判断された場合はステップＳ１３１０に行き、語順が異なる（交差している）と判断された場合はステップＳ１３１１に行く。
【０１３２】
（ステップＳ１３１０）フラグ変更部３７は、スワップしないことを意味するフラグ（ここでは、「ＳＴ」）を取得し、ステップＳ１３１２に行く。
【０１３３】
（ステップＳ１３１１）フラグ変更部３７は、スワップすることを意味するフラグ（ここでは、「ＳＷ」）を取得する。
【０１３４】
（ステップＳ１３１２）フラグ変更部３７は、ｉ番目の処理対象の二分木に対応付けて、取得したフラグを付加する。
【０１３５】
（ステップＳ１３１３）処理対象二分木取得部３３は、カウンタｉを１、インクリメントする。ステップＳ１３０４に戻る。
【０１３６】
以下、本実施の形態における学習装置３の具体的な動作について説明する。
【０１３７】
今、対訳コーパス３１に、「＜原言語文＞ａｔｅ  ｏｒａｎｇｅ,＜目的言語文＞オレンジを食べた」が格納されている、とする。
【０１３８】
また、要素対格納部１３に、「＜原言語＞ｏｒａｎｇｅ,＜目的言語＞オレンジ」「＜原言語＞ａｔｅ,＜目的言語＞食べた」等の要素対が格納されている、とする。
【０１３９】
さらに、二分木格納部３２には、親ノードと２つの子ノードのすべてが品詞である二分木であり、二分木をスワップするか否かを示すフラグを有する二分木（図１４参照）が格納されている、とする。
【０１４０】
かかる状況において、構文解析部１１２は、対訳コーパス３１における原言語文を構文解析し、第一解析結果を取得する。第一解析結果は、図１５である。
【０１４１】
次に、処理対象二分木取得部３３は、図１５の処理対象の二分木を取得する。
【０１４２】
次に、判断部３４は、処理対象二分木取得部３３が取得した二分木に対して、二分木格納部３２の二分木（特に、図１４の二分木）を用いて、二分木をスワップしない、と判断する。
【０１４３】
次に、目的言語要素取得部３５は、図１５の処理対象の二分木を構成する１以上の各要素に対応する、目的言語の要素「オレンジ」「食べた」を要素対格納部１３から取得する。
【０１４４】
次に、第二判断部３６は、対訳コーパス３１の対訳文「＜原言語文＞ａｔｅ  ｏｒａｎｇｅ,＜目的言語文＞オレンジを食べた」を用いて、判断部３４の判断結果を反映させた原言語の２つの要素の語順「ａｔｅ  ｏｒａｎｇｅ」と、原言語の２つの要素に対応する目的言語の２つの要素の語順「オレンジ」「食べた」とが異なる（交差している）と判断する（図１６参照）。
【０１４５】
次に、フラグ変更部３７は、フラグとして、スワップすることを意味するフラグ（ここでは、「ＳＷ」）を取得する。
【０１４６】
次に、フラグ変更部３７は、図１４の処理対象の二分木に対応付けて、フラグ「ＳＷ」を付加する。そして、フラグ変更部３７は、図１７に示すフラグ付きの二分木を得る。
【０１４７】
以上、本実施の形態によれば、非常に高い精度で、原言語文を目的言語側の語順に語順変換できる二分木を学習できる。
【０１４８】
なお、本実施の形態における学習装置３を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータがアクセス可能な記録媒体は、原言語文と目的言語文との対である対訳文を有する対訳コーパスと、原言語の要素と目的言語の要素との対である１以上の要素対を格納し得る要素対格納部と、原言語文の構文解析結果を構成する二分木であり、親ノードと２つの子ノードのすべてが品詞である二分木であり、原言語文から目的言語文に翻訳する際に、二分木をスワップするか否かを示すフラグを前記二分木に対応付けて有する１以上の二分木を格納し得る二分木格納部とを具備し、コンピュータを、前記原言語文を構文解析し、当該文を構成する１以上の各要素と当該１以上の各要素の品詞を有する解析結果であり、品詞または要素をノードとする１以上の二分木を有する第一解析結果を取得する構文解析部と、前記第一解析結果を構成する二分木であり、親ノードと２つの子ノードのすべてが品詞である１以上の二分木を取得する処理対象二分木取得部と、前記処理対象二分木取得部が取得した１以上の各二分木に対して、前記二分木格納部の１以上の二分木を用いて、当該１以上の各二分木をスワップするか否かを判断する判断部と、前記１以上の各二分木の子ノードに対応する原言語の２つの各要素に対応する目的言語の要素を前記要素対格納部から取得する目的言語要素取得部と、前記判断部の判断結果を反映させた原言語の２つの要素の語順と、当該原言語の２つの要素に対応する目的言語の２つの要素の語順とが同じであるか否かを判断する第二判断部と、前記第二判断部の判断結果が、語順が同じではないとの判断である場合、当該判断に対応する二分木を構成する親ノードのフラグの値を逆の値に変更するフラグ変更部として機能させるためのプログラムである。
【０１４９】
（実施の形態４）
本実施の形態において、後述する１５の素性のうち、少なくとも４以上の素性を用いて、スワップするか否かを判定して、語順変換規則を学習する語順変換規則の学習装置について説明する。
【０１５０】
また、本実施の形態において、要素のカテゴリも含む語順変換規則の学習装置について説明する。
【０１５１】
図１８は、本実施の形態における学習装置４のブロック図である。この学習装置４は、学習二分木格納部４１、受付部１１１、構文解析部１１２、素性取得部４２、判断部４３、フラグ付加部４４、カテゴリ取得部１１３、およびカテゴリ挿入部１１４を備える。
【０１５２】
学習二分木格納部４１は、１または２以上の二分木を格納している。二分木は、１以上の原言語の要素または１以上の各要素の品詞をノードとする二分木である。二分木は、通常、原言語文の構文解析結果である木構造を構成する二分木である。また、二分木は、要素のカテゴリを当該要素と品詞の間に有することは好適である。なお、すべての二分木は要素のカテゴリを有することは好適である。ただし、カテゴリを有しない二分木が存在しても良い。
【０１５３】
また、二分木を構成する親ノードの素性は、以下の（１）〜（１５）の１５の素性を有する。
【０１５４】
（１）祖父、（２）親、（３）自分、（４）自分の直前の兄弟、（５）自分の直後の兄弟、（６）左の子、（７）右の子、（８）左の子の左端の子、（９）左の子の右端の子、（１０）右の子の左端の子、（１１）右の子の右端の子、（１２）左の子が支配する単語列の左端の単語、（１３）左の子が支配する単語列の右端の単語、（１４）右の子が支配する単語列の左端の単語、（１５）右の子が支配する単語列の右端の単語
【０１５５】
なお、例えば、図９の木構造を構成する二分木の親ノード（ＶＰ）の（１）〜（１５）の素性は、以下である。
（１）祖父・・・ＲＯＯＴ
（２）親・・・Ｓ
（３）自分・・・ＶＰ
（４）自分の直前の兄弟・・・ＮＰ
（５）自分の直後の兄弟・・・ＮＵＬＬ
（６）左の子・・・ＶＢＺ
（７）右の子・・・ＮＰ
（８）左の子の左端の子・・・Ｃ１
（９）左の子の右端の子・・・ＮＵＬＬ
（１０）右の子の左端の子・・・ＤＴ
（１１）右の子の右端の子・・・ＮＮ
（１２）左の子が支配する単語列の左端の単語・・・ｉｓ
（１３）左の子が支配する単語列の右端の単語・・・ＮＵＬＬ
（１４）右の子が支配する単語列の左端の単語・・・ａ
（１５）右の子が支配する単語列の右端の単語・・・ｐｅｎ
【０１５６】
ただし、二分木の親ノードは、１５の素性のうち、４以上の素性を有すれば良い。また、二分木は、当該二分木をスワップするか否かを示すフラグを二分木に対応付けて有する。なお、図９において、本二分木のフラグは「ＳＷ」である。ここで、二分木に対応付けられているフラグは、通常、二分木の親ノードに対応付けられている。また、二分木に対応付けられている１５以下の素性のうち、一部の素性は、ＮＵＬＬ（値が無いことを示す情報）であっても良い。
【０１５７】
素性取得部４２は、第一解析結果が有する１以上の各二分木の親ノードの素性であり、（１）祖父、（２）親、（３）自分、（４）自分の直前の兄弟、（５）自分の直後の兄弟、（６）左の子、（７）右の子、（８）左の子の左端の子、（９）左の子の右端の子、（１０）右の子の左端の子、（１１）右の子の右端の子、（１２）左の子が支配する単語列の左端の単語、（１３）左の子が支配する単語列の右端の単語、（１４）右の子が支配する単語列の左端の単語、（１５）右の子が支配する単語列の右端の単語、の１５の素性のうち、４以上の素性を取得する。
【０１５８】
木構造を構成するノード（二分木の親ノード）に対応する、上記（１）〜（１５）の値を取得する処理は公知技術であるので、詳細な説明を省略する。例えば、図９の二分木のノード（ＶＰ）の上記（１）〜（１５）の素性を取得する処理は、木構造の情報からノードの値を取得する技術であるので、公知技術である。
【０１５９】
判断部４３は、素性取得部４２が取得した４以上の素性を、学習二分木格納部４１に格納されている１以上の二分木に適用し、第一解析結果が有する１以上の各二分木がスワップするか否かを判断する。
【０１６０】
判断部４３は、例えば、ニューラルネットワークを利用して、第一解析結果が有する１以上の各二分木がスワップするか否かを判断する。
【０１６１】
また、判断部４３は、例えば、機械学習を利用して、第一解析結果が有する１以上の各二分木がスワップするか否かを判断しても良い。
【０１６２】
フラグ付加部４４は、判断部４３の判断結果であるフラグを、１以上の各二分木を構成する二分木に対応付けて付加する。フラグ付加部４４は、フラグを付加した二分木を、学習二分木格納部４１に蓄積しても良い。ただし、フラグ付加部４４は、図示しない第三解析結果格納部１４に第三解析結果を蓄積しても良いし、第二解析結果格納部１１０の第二解析結果を構成する１以上の各二分木に対応付けて、フラグを書き込んでも良い。
【０１６３】
ここで、二分木に対応付けることは、通常、二分木の親ノードに対応付けることである。フラグの付加の結果、二分木とフラグとが対応付ければ良い。
【０１６４】
学習二分木格納部４１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【０１６５】
学習二分木格納部４１に二分木が記憶される過程は問わない。例えば、記録媒体を介して二分木が学習二分木格納部４１で記憶されるようになってもよく、通信回線等を介して送信された二分木が学習二分木格納部４１で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された二分木が学習二分木格納部４１で記憶されるようになってもよい。なお、二分木は、手作業で作成された情報でも良いし、自動的に獲得された情報でも良い。
【０１６６】
素性取得部４２、判断部４３、およびフラグ付加部４４は、通常、ＭＰＵやメモリ等から実現され得る。素性取得部４２等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１６７】
次に、図１８に示す学習装置４の動作について、図１９のフローチャートを用いて説明する。図１９のフローチャートにおいて、図３、図４のフローチャートと同一のステップについて説明を省略する。
【０１６８】
（ステップＳ１９０１）素性取得部４２は、ｉ番目の二分木の親ノードの１５の素性（上記の（１）から（１５）の素性）を取得する。なお、ここで、素性取得部４２は、上記の（１）から（１５）の素性のうち、４以上の素性を取得すれば良い。
【０１６９】
（ステップＳ１９０２）判断部４３は、ステップＳ１９０１で取得された４以上の素性（例えば、１５の素性）を、学習二分木格納部４１に格納されている１以上の二分木に適用し、ｉ番目の二分木がスワップするか否かを判断する。スワップするとの判断の場合はステップＳ４０５に行き、スワップしないとの判断の場合はステップＳ４０６に行く。
【０１７０】
以上、本実施の形態によれば、非常に高い精度で、原言語文を目的言語側の語順に語順変換できる二分木を学習できる。
【０１７１】
なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、コンピュータがアクセス可能な記録媒体は、１以上の原言語の要素または当該１以上の各要素の品詞をノードとする二分木であり、当該二分木を構成する親ノードの素性であり、（１）祖父、（２）親、（３）自分、（４）自分の直前の兄弟、（５）自分の直後の兄弟、（６）左の子、（７）右の子、（８）左の子の左端の子、（９）左の子の右端の子、（１０）右の子の左端の子、（１１）右の子の右端の子、（１２）左の子が支配する単語列の左端の単語、（１３）左の子が支配する単語列の右端の単、（１４）右の子が支配する単語列の左端の単語、（１５）右の子が支配する単語列の右端の単語、の１５の素性のうち、４以上の素性を有し、かつ当該二分木をスワップするか否かのフラグを二分木に対応付けて有する１以上の二分木を格納している学習二分木格納部を具備し、コンピュータを、原言語文を受け付ける受付部と、前記受付部が受け付けた原言語文を構文解析し、当該原言語文を構成する１以上の各要素と当該１以上の各要素の品詞を有する解析結果であり、品詞または要素をノードとする１以上の二分木を有する第一解析結果を取得する構文解析部と、前記第一解析結果が有する１以上の各二分木の親ノードの素性であり、（１）祖父、（２）親、（３）自分、（４）自分の直前の兄弟、（５）自分の直後の兄弟、（６）左の子、（７）右の子、（８）左の子の左端の子、（９）左の子の右端の子、（１０）右の子の左端の子、（１１）右の子の右端の子、（１２）左の子が支配する単語列の左端の単語、（１３）左の子が支配する単語列の右端の単語、（１４）右の子が支配する単語列の左端の単語、（１５）右の子が支配する単語列の右端の単語、の１５の素性のうち、４以上の素性を取得する素性取得部と、前記素性取得部が取得した４以上の素性を、前記学習二分木格納部に格納されている１以上の二分木に適用し、前記第一解析結果が有する１以上の各二分木がスワップするか否かを判断する判断部と、前記判断部の判断結果であるフラグを、前記１以上の各二分木を構成する二分木に対応付けて付加するフラグ付加部として機能させるためのプログラムである。
【０１７２】
また、上記プログラムにおいて、前記学習二分木格納部に格納されている１以上のいずれかの二分木は、要素のカテゴリを当該要素と品詞の間に有し、コンピュータを、前記受付部が受け付けた原言語文を構成する１以上の各要素のカテゴリを取得するカテゴリ取得部と前記構文解析部が取得した第一解析結果を構成する各要素に対して、前記カテゴリ取得部が取得したカテゴリを、前記要素と品詞との間に挿入して、第二解析結果を取得するカテゴリ挿入部としてさらに機能させ、前記判断部は、前記素性取得部が取得した４以上の素性を、前記学習二分木格納部に格納されている１以上の二分木に適用し、前記第二解析結果が有する１以上の各二分木がスワップするか否かを判断するものとして、コンピュータを機能させるプログラムであることは好適である。
【０１７３】
（実施の形態５）
本実施の形態において、１５の素性のうち、少なくとも４以上の素性を用いて、スワップするか否かを判定する精度の高い機械翻訳装置について説明する。
【０１７４】
図２０は、本実施の形態における機械翻訳装置５のブロック図である。この機械翻訳装置５は、要素対格納部１３、学習二分木格納部４１、受付部１１１、構文解析部１１２、カテゴリ取得部１１３、カテゴリ挿入部１１４、素性取得部４２、判断部４３、目的言語文構成部５１、および目的言語文出力部５２を備える。
【０１７５】
目的言語文構成部５１は、判断部４３が判断した結果に基づいた語順で、原言語文を構成する原言語の１以上の各要素に対応する目的言語の１以上の要素を要素対格納部１３から取得し、目的言語文を構成する。
【０１７６】
目的言語文構成部５１は、通常、ＭＰＵやメモリ等から実現され得る。目的言語文構成部５１の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１７７】
目的言語文出力部５２は、目的言語文構成部５１が構成した目的言語文を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【０１７８】
目的言語文出力部５２は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。目的言語文出力部５２は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０１７９】
次に、図２０に示す機械翻訳装置５の動作について、図２１のフローチャートを用いて説明する。図２１のフローチャートにおいて、図３，図４、図１９のフローチャートと同一のステップについて説明を省略する。
【０１８０】
（ステップＳ２１０１）目的言語文構成部５１は、ｉ番目の二分木をスワップする。ステップＳ４０８に行く。
【０１８１】
（ステップＳ２１０２）目的言語文構成部５１は、原言語文を構成する原言語の１以上の各要素に対応する目的言語の１以上の要素を取得する。そして、目的言語文構成部５１は、判断部４３が判断した結果に基づいた語順で、取得した目的言語の１以上の要素を繋げて、目的言語文を構成する。なお、判断部４３が判断した結果に基づいた語順は、原言語文の語順であり、スワップの判断がなされた後の語順である。
【０１８２】
（ステップＳ２１０３）目的言語文出力部５２は、ステップＳ２１０２で構成された目的言語文を出力する。処理を終了する。
【０１８３】
以下、本実施の形態における機械翻訳装置５の具体的な動作について説明する。
【０１８４】
機械翻訳装置５の受付部１１１は、例えば、原言語文「Ｔｈｉｓ  ｉｓ  ａ  ｐｅｎ」を受け付ける。
【０１８５】
次に、構文解析部１１２は、当該原言語文を構文解析し、図６（図５でも良い）の第一解析結果を取得する。次に、カテゴリ取得部１１３、およびカテゴリ挿入部１１４の処理により、図８（図７でも良い）の第二解析結果が取得される。
【０１８６】
次に、素性取得部４２は、図８の第二解析結果を構成する各二分木の１５の素性を取得する。例えば、素性取得部４２は、親ノードが「ＶＰ」の二分木の１５の素性を取得する。かかる素性は、以下である。（１）祖父・・・ＲＯＯＴ、（２）親・・・Ｓ、（３）自分・・・ＶＰ、（４）自分の直前の兄弟・・・ＮＰ、（５）自分の直後の兄弟・・・ＮＵＬＬ、（６）左の子・・・ＶＢＺ、（７）右の子・・・ＮＰ、（８）左の子の左端の子・・・Ｃ１、（９）左の子の右端の子・・・ＮＵＬＬ、（１０）右の子の左端の子・・・ＤＴ、（１１）右の子の右端の子・・・ＮＮ、（１２）左の子が支配する単語列の左端の単語・・・ｉｓ、（１３）左の子が支配する単語列の右端の単語・・・ＮＵＬＬ、（１４）右の子が支配する単語列の左端の単語・・・ａ、（１５）右の子が支配する単語列の右端の単語・・・ｐｅｎ。
【０１８７】
次に、例えば、判断部４３は、親ノードが「ＶＰ」の二分木の１５の素性を学習二分木格納部４１の１以上の二分木に適用し、例えば、ニューラルネットワークを利用して、親ノードが「ＶＰ」の二分木がスワップする、と判断する。
【０１８８】
判断部４３は、他の二分木に対してもスワップするか否かを判断する。そして、「ＲＯＯＴ」を親ノードとする二分木、「Ｓ」を親ノードとする二分木、「ＮＰ」を親ノードとする二分木は、スワップしない、と判断した、とする。
【０１８９】
そして、目的言語文構成部５１は、判断部４３の判断結果を用いて、「ＶＰ」を親ノードとする二分木のみをスワップし、図２２の木構造を得る。
【０１９０】
次に、目的言語文構成部５１は、原言語文を構成する原言語の１以上の各要素に対応する目的言語の１以上の要素を要素対格納部１３から取得する。具体的には、目的言語文構成部５１は、「Ｔｈｉｓ」に対応する「これは」、「ａ」に対応する「一つの」、「ｐｅｎ」に対応する「ペン」、「ｉｓ」に対応する「です」を、要素対格納部１３から取得する。
【０１９１】
次に、目的言語文構成部５１は、取得した目的言語の４つの要素を順に連結し、目的言語文「これは一つのペンです」を構成する。
【０１９２】
次に、目的言語文出力部５２は、構成された目的言語文「これは一つのペンです」を出力する。
【０１９３】
以上、本実施の形態によれば、非常に高い精度で、原言語文を目的言語側の語順に語順変換できるために、精度の高い機械翻訳が可能となる。
【０１９４】
なお、本実施の形態における機械翻訳装置５を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムにおいて、コンピュータがアクセス可能な記録媒体は、１以上の原言語の要素または当該１以上の各要素の品詞をノードとする二分木であり、当該二分木を構成する親ノードの素性であり、（１）祖父、（２）親、（３）自分、（４）自分の直前の兄弟、（５）自分の直後の兄弟、（６）左の子、（７）右の子、（８）左の子の左端の子、（９）左の子の右端の子、（１０）右の子の左端の子、（１１）右の子の右端の子、（１２）左の子が支配する単語列の左端の単語、（１３）左の子が支配する単語列の右端の単、（１４）右の子が支配する単語列の左端の単語、（１５）右の子が支配する単語列の右端の単語、の１５の素性のうち、４以上の素性を有し、かつ当該二分木をスワップするか否かのフラグを二分木に対応付けて有する１以上の二分木を格納している学習二分木格納部を格納しており、コンピュータを、原言語文を受け付ける受付部と、前記受付部が受け付けた原言語文を構文解析し、当該原言語文を構成する１以上の各要素と当該１以上の各要素の品詞を有する解析結果であり、品詞または要素をノードとする１以上の二分木を有する第一解析結果を取得する構文解析部と、前記第一解析結果が有する１以上の各二分木の親ノードの素性であり、（１）祖父、（２）親、（３）自分、（４）自分の直前の兄弟、（５）自分の直後の兄弟、（６）左の子、（７）右の子、（８）左の子の左端の子、（９）左の子の右端の子、（１０）右の子の左端の子、（１１）右の子の右端の子、（１２）左の子が支配する単語列の左端の単語、（１３）左の子が支配する単語列の右端の単、（１４）右の子が支配する単語列の左端の単語、（１５）右の子が支配する単語列の右端の単語、の１５の素性のうち、４以上の素性を取得する素性取得部と、前記素性取得部が取得した４以上の素性を、前記学習二分木格納部に格納されている１以上の二分木に適用し、前記第一解析結果が有する１以上の各二分木がスワップするか否かを判断する判断部と、前記判断部が判断した結果に基づいた語順で、前記原言語文を構成する原言語の１以上の各要素に対応する目的言語の１以上の要素を取得し、目的言語文を構成する目的言語文構成部と、前記目的言語文を出力する目的言語文出力部として機能させるためのプログラムである。
【０１９５】
また、上記プログラムにおいて、前記学習二分木格納部に格納されている１以上のいずれかの二分木は、要素のカテゴリを当該要素と品詞の間に有し、コンピュータを、前記受付部が受け付けた原言語文を構成する１以上の各要素のカテゴリを取得するカテゴリ取得部と、前記構文解析部が取得した第一解析結果を構成する各要素に対して、前記カテゴリ取得部が取得したカテゴリを、前記要素と品詞との間に挿入して、第二解析結果を取得するカテゴリ挿入部としてさらに機能させ、前記判断部は、前記素性取得部が取得した４以上の素性を、前記学習二分木格納部に格納されている１以上の二分木に適用し、前記第二解析結果が有する１以上の各二分木がスワップするか否かを判断するものとして、コンピュータを機能させるプログラムであることは好適である。
【０１９６】
また、図２３は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の学習装置１等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図２３は、このコンピュータシステム３００の概観図であり、図２４は、システム３００のブロック図である。
【０１９７】
図２３において、コンピュータシステム３００は、ＣＤ−ＲＯＭドライブ３０１２を含むコンピュータ３０１と、キーボード３０２と、マウス３０３と、モニタ３０４とを含む。
【０１９８】
図２４において、コンピュータ３０１は、ＣＤ−ＲＯＭドライブ３０１２に加えて、ＭＰＵ３０１３と、ＭＰＵ３０１３、ＣＤ−ＲＯＭドライブ３０１２に接続されたバス３０１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３０１５と、ＭＰＵ３０１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３０１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３０１７とを含む。ここでは、図示しないが、コンピュータ３０１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０１９９】
コンピュータシステム３００に、上述した実施の形態の学習装置１等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３１０１に記憶されて、ＣＤ−ＲＯＭドライブ３０１２に挿入され、さらにハードディスク３０１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３０１に送信され、ハードディスク３０１７に記憶されても良い。プログラムは実行の際にＲＡＭ３０１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３１０１またはネットワークから直接、ロードされても良い。
【０２００】
プログラムは、コンピュータ３０１に、上述した実施の形態の学習装置１等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３００がどのように動作するかは周知であり、詳細な説明は省略する。
【０２０１】
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
【０２０２】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０２０３】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０２０４】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０２０５】
以上のように、本発明にかかる学習装置は、非常に高い精度で、原言語文を目的言語側の語順に語順変換できる二分木を学習できる、という効果を有し、例えば、機械翻訳のおける学習装置等として有用である。
【符号の説明】
【０２０６】
１、３、４  学習装置
２、５  機械翻訳装置
１１  構文解析装置
１２、３１  対訳コーパス
１３  要素対格納部
１４  第三解析結果格納部
１５、２３、３５  目的言語要素取得部
１６、２２、３４、４３  判断部
１７、４４  フラグ付加部
２１  第二構文解析部
２４、５２  目的言語文出力部
３２  二分木格納部
３３  処理対象二分木取得部
３６  第二判断部
３７  フラグ変更部
４１  学習二分木格納部
４２  素性取得部
５１  目的言語文構成部
１１０  第二解析結果格納部
１１１  受付部
１１２  構文解析部
１１３  カテゴリ取得部
１１４  カテゴリ挿入部
１１５  学習部
【図１】
0006607482.tif 000002
【図２】
0006607482.tif 000003
【図３】
0006607482.tif 000004
【図４】
0006607482.tif 000005
【図５】
0006607482.tif 000006
【図６】
0006607482.tif 000007
【図７】
0006607482.tif 000008
【図８】
0006607482.tif 000009
【図９】
0006607482.tif 000010
【図１０】
0006607482.tif 000011
【図１１】
0006607482.tif 000012
【図１２】
0006607482.tif 000013
【図１３】
0006607482.tif 000014
【図１４】
0006607482.tif 000015
【図１５】
0006607482.tif 000016
【図１６】
0006607482.tif 000017
【図１７】
0006607482.tif 000018
【図１８】
0006607482.tif 000019
【図１９】
0006607482.tif 000020
【図２０】
0006607482.tif 000021
【図２１】
0006607482.tif 000022
【図２２】
0006607482.tif 000023
【図２３】
0006607482.tif 000024
【図２４】
0006607482.tif 000025