(57)【特許請求の範囲】
【請求項１】
文法情報を示すシンボルが各非終端ノードに付与された複数の構文木からなる構文木コーパスを記憶した訓練データ記憶手段と、
細分化されたシンボルが付与された基本木の情報と、前記細分化されたシンボルが付与された基本木の基底分布と、所定のパラメータとを用いて表わされる基本木の確率モデルに従って、前記構文木コーパスの各構文木を構成する、深さが所定値となる基本木の集合から、前記構文木に付与される細分化されたシンボルを学習すると共に、前記確率モデルの前記所定のパラメータを学習するシンボル細分化学習手段と、
前記シンボル細分化学習手段によって学習された、前記細分化されたシンボルが付与された前記構文木コーパスを用いて、前記基本木の確率モデルに従って、前記細分化されたシンボルが付与された前記構文木コーパスを構成する基本木であって、細分化されたシンボルが付与され、かつ、任意の深さとなる基本木の集合を学習すると共に、前記所定のパラメータを学習する木置換文法学習手段と、
を含む基本木学習装置。
【請求項２】
前記シンボル細分化学習手段は、前記構文木コーパスの各構文木を構成する前記深さが所定値となる基本木の集合、前記深さが所定値となる基本木の集合の各非終端ノードに付与される前記細分化されたシンボル、及び前記確率モデルの前記所定のパラメータを初期化する初期パラメータ設定手段と、
前記確率モデルに従って、前記深さが所定値となる基本木の集合の各基本木に付与された前記細分化されたシンボルを更新するシンボルサンプリング手段と、
前記所定のパラメータを更新するパラメータ更新手段と、
収束条件を満たすまで、前記シンボルサンプリング手段による更新、及び前記パラメータ更新手段による更新を繰り返す収束判定手段を含み、
前記木置換文法学習手段は、前記構文木コーパスの各構文木を構成する、前記細分化されたシンボルが付与され、かつ、任意の深さとなる基本木の集合、及び前記確率モデルの前記所定のパラメータを初期化する初期パラメータ設定手段と、
前記確率モデルに従って、前記細分化されたシンボルが付与され、かつ、任意の深さとなる基本木の集合を更新する基本木サンプリング手段と、
前記所定のパラメータを更新するパラメータ更新手段と、
収束条件を満たすまで、前記基本木サンプリング手段による更新、及び前記パラメータ更新手段による更新を繰り返す収束判定手段を含む請求項１記載の基本木学習装置。
【請求項３】
請求項１又は２記載の基本木学習装置によって学習された前記任意の深さとなる基本木の集合及び前記確率モデルの前記所定のパラメータを記憶する記憶手段と、
前記記憶手段に記憶された前記任意の深さとなる基本木の集合、及び前記所定のパラメータを設定した前記確率モデルに基づいて、解析対象の構文の構文木構造を解析する解析手段と、
を含む構文解析装置。
【請求項４】
訓練データ記憶手段と、シンボル細分化学習手段と、木置換文法学習手段とを含む基本木学習装置における基本木学習方法であって、
前記訓練データ記憶手段には、文法情報を示すシンボルが各非終端ノードに付与された複数の構文木からなる構文木コーパスが記憶され、
前記シンボル細分化学習手段は、細分化されたシンボルが付与された基本木の情報と、前記細分化されたシンボルが付与された基本木の基底分布と、所定のパラメータとを用いて表わされる基本木の確率モデルに従って、前記構文木コーパスの各構文木を構成する、深さが所定値となる基本木の集合から、前記構文木に付与される細分化されたシンボルを学習すると共に、前記確率モデルの前記所定のパラメータを学習し、
前記木置換文法学習手段は、前記シンボル細分化学習手段によって学習された、前記細分化されたシンボルが付与された前記構文木コーパスを用いて、前記基本木の確率モデルに従って、前記細分化されたシンボルが付与された前記構文木コーパスを構成する基本木であって、細分化されたシンボルが付与され、かつ、任意の深さとなる基本木の集合を学習すると共に、前記所定のパラメータを学習する
基本木学習方法。
【請求項５】
前記シンボル細分化学習手段によって学習することは、
初期パラメータ設定手段によって、前記構文木コーパスの各構文木を構成する前記深さが所定値となる基本木の集合、前記深さが所定値となる基本木の集合の各非終端ノードに付与される前記細分化されたシンボル、及び前記確率モデルの前記所定のパラメータを初期化し、
シンボルサンプリング手段によって、前記確率モデルに従って、前記深さが所定値となる基本木の集合の各基本木に付与された前記細分化されたシンボルを更新し
パラメータ更新手段によって、前記所定のパラメータを更新し、
収束判定手段によって、収束条件を満たすまで、前記シンボルサンプリング手段による更新、及び前記パラメータ更新手段による更新を繰り返すことを含み、
前記木置換文法学習手段によって学習することは、
初期パラメータ設定手段によって、前記構文木コーパスの各構文木を構成する、前記細分化されたシンボルが付与され、かつ、任意の深さとなる基本木の集合、及び前記確率モデルの前記所定のパラメータを初期化し、
基本木サンプリング手段によって、前記確率モデルに従って、前記細分化されたシンボルが付与され、かつ、任意の深さとなる基本木の集合を更新し、
パラメータ更新手段によって、前記所定のパラメータを更新し、
収束判定手段によって、収束条件を満たすまで、前記基本木サンプリング手段による更新、及び前記パラメータ更新手段による更新を繰り返すことを含む請求項４記載の基本木学習方法。
【請求項６】
記憶手段、及び解析手段を含む構文解析装置における構文解析方法であって、
前記記憶手段には、請求項４又は５記載の基本木学習方法によって学習された前記任意の深さとなる基本木の集合及び前記確率モデルの前記所定のパラメータが記憶され、
前記解析手段は、前記記憶手段に記憶された前記任意の深さとなる基本木の集合、及び前記所定のパラメータを設定した前記確率モデルに基づいて、解析対象の構文の構文木構造を解析する
構文解析方法。
【請求項７】
コンピュータを、請求項１又は２記載の基本木学習装置又は請求項３記載の構文解析装置を構成する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基本木学習装置、構文解析装置、方法、及びプログラムに係り、特に、統語的な情報が付与された構文木のコーパスから、構文木の各シンボルを自動的に細分化し、木置換文法に基づく基本木を自動的に学習する基本木学習装置、方法、及びプログラム、並びに、獲得された基本木を用いて構文解析を行う構文解析装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
構文解析とは、日本語や英語などの文に対して、動詞句、名詞句などの統語的な文法情報を付与することをいう。統語的な文法情報は一般的に木構造で表され、構文木と呼ばれる。図1に構文木の例を示す。従来より、人手により文法情報が付与された構文木のコーパスから、その構文木を構成する基本単位である基本木を確率的に獲得し、構文解析へ利用する方法が提案されている。
【０００３】
基本木の型は文法理論によって定義される。例えば、文脈自由文法では、深さが１の部分木のみが基本木となる。一方で、木置換文法では、任意の深さの部分木を基本木とすることができる。図２に、文脈自由文法に基づいて獲得された基本木の例を示し、図３に、木置換文法に基づいて獲得された基本木の例を示す。構文解析は、構文木コーパスから獲得された様々な種類の基本木を組み合わせて、与えられた文に対して確率的に最も尤もらしい構文木を１つ選択することで実現される。以降、基本木の根に相当するノードをルートノード、末端に位置するノードを葉ノード、それ以外のノードを中間ノードと呼ぶことにする。さらに、“ｔｈｅ”、“ｐｒｅｔｔｙ”などの単語を終端記号、それ以外の“ＮＰ”、“ＶＰ”などの文法的な情報を表すタグを非終端記号と表現し、終端記号が付与されたノードを終端ノード、非終端記号が付与されたノードを非終端ノードと表現する。また、各非終端ノードに付与されたタグ（非終端記号）をシンボルと表現する。
【０００４】
現在の高精度な構文解析方法は、大きく二種類に分類することができる。一つ目の方法は、文脈自由文法を仮定し、構文木データのシンボルを自動的に細分化することで高精度を実現するものである（例えば、非特許文献１）。この方法により、例えば、同じ“NP”とタグが付与されている名詞句でも、文の主語となる名詞句や、文の目的語となる名詞句といった文法的な働きの違いを捉えることができ、構文解析装置の高精度化が実現できる。図４に、シンボルが細分化された構文木の例を示す。ただし、実際の構文木コーパスはシンボルが細分化されていないため、これらを推定する必要があり、統計的な手法が主に用いられている。
【０００５】
二つ目の方法は、木置換文法や木接合文法などに代表されるような、文脈自由文法を拡張した文法を用いる方法である（例えば、非特許文献２）。例えば木置換文法では、任意の深さの基本木を利用することができるため、構文木コーパスに頻出する任意の部分木パターンを構文解析へ利用できるため、構文解析の高精度化が実現できる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Slav Petrov, Leon Barrett, Romain Thibaux, and Dan Klein (2006), Learning accurate, compact, and interpretable tree annotation, In Proceedings of ACL, pages 433-440.
【非特許文献２】Trevor Cohn, Sharon Goldwater, and Phil Blunsom (2009), Inducing compact but accurate treesubstitution grammars, In Proceedings of HLT-NAACL, pages 548-556.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記の非特許文献１に示されている、文脈自由文法に基づき構文木データのシンボルを細分化する方法を用いた構文解析技術は、高精度であるが、得られる基本木が必ず深さ１であるため断片的で、構文木コーパスに頻出する任意の深さの部分木パターンを表現できない、という問題がある。したがって、構文解析装置によって推定された構文木を機械翻訳などのアプリケーションへ応用する際には、これらの深さ１の基本木を組み合わせて、構文木コーパスに頻出する任意の深さの部分木パターンを別途推定する必要があるため、計算コストがかかる。
【０００８】
また、上記の非特許文献２に示されている、木置換文法に基づく構文解析方法は、構文木コーパスに出現する任意の深さの部分木パターンを獲得でき、獲得された基本木を人が解釈しやすいという利点があるが、前述のシンボル細分化による構文解析方法と比較して、精度が低い、という問題がある。したがって、構文解析装置の出力を機械翻訳などのアプリケーションへ応用する際には、構文解析結果の誤りによって機械翻訳の精度も低下してしまう、という問題がある。
【０００９】
本発明は、上記問題点を解決するために成されたものであり、構文解析の精度を向上させることができる、任意の深さの基本木の集合を学習することができる基本木学習装置、構文解析装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の基本木学習装置は、文法情報を示すシンボルが各非終端ノードに付与された複数の構文木からなる構文木コーパスを記憶した訓練データ記憶手段と、細分化されたシンボルが付与された基本木の情報と、前記細分化されたシンボルが付与された基本木の基底分布と、所定のパラメータとを用いて表わされる基本木の確率モデルに従って、前記構文木コーパスの各構文木を構成する、深さが所定値となる基本木の集合から、前記構文木に付与される細分化されたシンボルを学習すると共に、前記確率モデルの前記所定のパラメータを学習するシンボル細分化学習手段と、前記シンボル細分化学習手段によって学習された、前記細分化されたシンボルが付与された前記構文木コーパスを用いて、前記基本木の確率モデルに従って、前記細分化されたシンボルが付与された前記構文木コーパスを構成する基本木であって、細分化されたシンボルが付与され、かつ、任意の深さとなる基本木の集合を学習すると共に、前記所定のパラメータを学習する木置換文法学習手段と、を含んで構成されている。
【００１１】
本発明に係る基本木学習方法は、訓練データ記憶手段と、シンボル細分化学習手段と、木置換文法学習手段とを含む基本木学習装置における基本木学習方法であって、前記訓練データ記憶手段には、文法情報を示すシンボルが各非終端ノードに付与された複数の構文木からなる構文木コーパスが記憶され、前記シンボル細分化学習手段は、細分化されたシンボルが付与された基本木の情報と、前記細分化されたシンボルが付与された基本木の基底分布と、所定のパラメータとを用いて表わされる基本木の確率モデルに従って、前記構文木コーパスの各構文木を構成する、深さが所定値となる基本木の集合から、前記構文木に付与される細分化されたシンボルを学習すると共に、前記確率モデルの前記所定のパラメータを学習し、前記木置換文法学習手段は、前記シンボル細分化学習手段によって学習された、前記細分化されたシンボルが付与された前記構文木コーパスを用いて、前記基本木の確率モデルに従って、前記細分化されたシンボルが付与された前記構文木コーパスを構成する基本木であって、細分化されたシンボルが付与され、かつ、任意の深さとなる基本木の集合を学習すると共に、前記所定のパラメータを学習する。
【００１２】
本発明に係る基本木学習装置及び基本木学習方法によれば、シンボル細分化学習手段によって、細分化されたシンボルが付与された基本木の情報と、前記細分化されたシンボルが付与された基本木の基底分布と、所定のパラメータとを用いて表わされる基本木の確率モデルに従って、前記構文木コーパスの各構文木を構成する、深さが所定値となる基本木の集合から、前記構文木に付与される細分化されたシンボルを学習すると共に、前記確率モデルの前記所定のパラメータを学習する。そして、木置換文法学習手段によって、前記シンボル細分化学習手段によって学習された、前記細分化されたシンボルが付与された前記構文木コーパスを用いて、前記基本木の確率モデルに従って、前記細分化されたシンボルが付与された前記構文木コーパスを構成する基本木であって、細分化されたシンボルが付与され、かつ、任意の深さとなる基本木の集合を学習すると共に、前記所定のパラメータを学習する。
【００１３】
このように、過去に生成された、シンボルが細分化された基本木の情報と、シンボルが細分化された基本木の基底分布と、所定のパラメータとを用いて表わされる基本木の確率モデルに従って、構文木コーパスの各構文木に付与される細分化されたシンボルを学習すると共に、シンボルが細分化された構文木コーパスを構成する、任意の深さとなる基本木の集合を学習することにより、構文解析の精度を向上させることができる、任意の深さの基本木の集合を学習することができる。
【００１４】
本発明に係る構文解析装置は、上記の基本木学習装置によって学習された前記任意の深さとなる基本木の集合及び前記確率モデルの前記所定のパラメータを記憶する記憶手段と、前記記憶手段に記憶された前記任意の深さとなる基本木の集合、及び前記所定のパラメータを設定した前記確率モデルに基づいて、解析対象の構文の構文木構造を解析する解析手段と、を含んで構成されている。
【００１５】
本発明に係る構文解析方法は、記憶手段、及び解析手段を含む構文解析装置における構文解析方法であって、前記記憶手段には、上記の基本木学習方法によって学習された前記任意の深さとなる基本木の集合及び前記確率モデルの前記所定のパラメータが記憶され、前記解析手段は、前記記憶手段に記憶された前記任意の深さとなる基本木の集合、及び前記所定のパラメータを設定した前記確率モデルに基づいて、解析対象の構文の構文木構造を解析する。
【００１６】
本発明に係る構文解析装置及び構文解析方法によれば、解析手段によって、前記記憶手段に記憶された前記任意の深さとなる基本木の集合、及び前記所定のパラメータを設定した前記確率モデルに基づいて、解析対象の構文の構文木構造を解析する。
【００１７】
このように、上記の基本木学習装置又は基本木学習方法によって学習された、任意の深さの基本木の集合及び確率モデルのパラメータを用いて構文木構造を解析することにより、構文解析の精度を向上させることができる。
【００１８】
また、本発明のプログラムは、コンピュータを、上記の基本木学習装置又は構文解析装置を構成する各手段として機能させるためのプログラムである。
【発明の効果】
【００１９】
以上説明したように、本発明の基本木学習装置、方法、及びプログラムによれば、過去に生成された、シンボルが細分化された基本木の情報と、シンボルが細分化された基本木の基底分布と、所定のパラメータとを用いて表わされる基本木の確率モデルに従って、構文木コーパスの各構文木に付与される細分化されたシンボルを学習すると共に、シンボルが細分化された構文木コーパスを構成する、任意の深さとなる基本木の集合を学習することにより、構文解析の精度を向上させることができる、任意の深さの基本木の集合を学習することができる、という効果が得られる。
【００２０】
また、本発明の構文解析装置、方法、及びプログラムによれば、上記の基本木学習装置又は基本木学習方法によって学習された、任意の深さの基本木の集合及び確率モデルのパラメータを用いて構文木構造を解析することにより、構文解析の精度を向上させることができる、という効果が得られる。
【図面の簡単な説明】
【００２１】
【図１】構文木の一例を示す図である。
【図２】文脈自由文法の基本木の一例を示す図である。
【図３】木置換文法の基本木の一例を示す図である。
【図４】シンボルが細分化された構文木の一例を示す図である。
【図５】本発明の実施の形態の構文解析装置の機能構成を示すブロック図である。
【図６】本発明の実施の形態の構文解析装置のシンボル細分化学習部の機能構成を示すブロック図である。
【図７】本発明の実施の形態の構文解析装置の木置換文法学習部の機能構成を示すブロック図である。
【図８】本発明の実施の形態の構文解析装置における構文解析処理ルーチンの内容を示すフローチャートである。
【図９】本発明の実施の形態の構文解析装置におけるシンボル細分化学習過程を示すフローチャートである。
【図１０】本発明の実施の形態の構文解析装置における木置換文法学習過程を示すフローチャートである。
【図１１】効果確認結果を示す表である。
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２３】
＜本実施の形態の確率モデル＞
本実施の形態では、基本木の確率モデルを、非特許文献３（Y.W. Teh (2006) A Bayesian Interpretation of Interpolated Kneser-Ney. Technical Report TRA2/06, School of Computing, NUS.）に開示されているPitman-Yor 過程を用いて、以下の（１）式に示すようにモデル化する。
【００２４】
【数１】
0005646523.tif 000002
【００２５】
ただし、e−i＝e1,...,ei−1は、1回目からi−1回目までに生成された基本木の系列である。つまり、Pitman-Yor過程の確率モデルにおいて、基本木eiが生成される確率は、モデルが過去に生成した基本木の情報（現時点で得られている基本木の集合）に依存する。Xkは基本木eiのルートノードに付与される細分化されたシンボルを表し、kは、細分化されたシンボルのインデックス（0,1,...）を表す。例えば、XkはNP0、VP2などである。また、αei,X、βXは、以下のように表される。
【００２６】
【数２】
0005646523.tif 000003
【００２７】
ｎei,XK-i は、e-iのうちeiと同じ基本木（細分化されたシンボルも同じ）が何回生成されたかを表す。また、この確率モデルは、内部で各基本木が何回生成されたかという情報を、いくつかのクラスタに分けて保存している。例えば、ある基本木がこれまでに１０回生成されたとすると、この確率モデルの内部では、（３回，７回）という二つのクラスタになって保持されている場合もあれば、（２回，３回，５回）のように三つのクラスタになっている場合もある。このとき、tei，Xkは、基本木eiがモデル内部でいくつのクラスタに分割されているかを表す。また、
【００２８】
【数３】
0005646523.tif 000004
である。
【００２９】
P0(ei|Xk)は基底分布と呼ばれ、基本木eiの基底となる確率を定義するものである。本実施の形態では、一様分布で定義する。すなわち、P0(ei|Xk)は以下の（２）式で表される。
【００３０】
【数４】
0005646523.tif 000005
【００３１】
ただし、|e|は、基本木の集合における、ルートノードがXkとなる基本木の種類数を表す。
【００３２】
本実施の形態のシンボル細分化学習部３１と木置換文法学習部３２では、基本木の事後確率p (e|{t},Φ)を最大にする基本木e及びパラメータセットΦ={dXk,θXk}を学習する。基本木の事後確率p (e|{t},Φ)は、ベイズの定理を用いて以下のように表される。
【００３３】
【数５】
0005646523.tif 000006
【００３４】
ここで、p({t}|e,Φ)は基本木の集合eを組み合わせて生成される構文木の集合と構文木データ{t}とが一致したときに1、一致しなければ0となる。また、p(e)は、上記（１）式に示す確率の積で表される。上記（１）式の確率モデルは、従来のシンボル細分化による構文解析法と、木置換文法による構文解析法を一つに統合したものとなっている。
【００３５】
＜構文解析装置の構成＞
次に、構文木コーパスを訓練データとして、基本木の集合を学習し、構文解析を行う構文解析装置に本発明を適用した場合を例にして、本実施の形態を説明する。
【００３６】
本実施の形態の構文解析装置１００は、ＣＰＵと、ＲＡＭと、後述する構文解析処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することができる。この構文解析装置１００は、機能的には、図５に示すように、入力部１０と、訓練データ記憶部２０と、演算部３０と、出力部４０とを備えている。
【００３７】
入力部１０は、キーボードなどの入力装置から、構文解析の対象となる文Ｓを受け付ける。なお、入力部１０は、ネットワーク等を介して外部から入力されたものを受け付けるようにしてもよい。
【００３８】
訓練データ記憶部２０には、構文木コーパス｛ｔ｝のデータが予め記憶されている。構文木コーパスとは、各非終端ノードにＮＰやＶＰなどの文法的な役割を示すシンボルが付与された木構造（構文木）で構成されるコーパスである。なお、訓練データ記憶部２０に記憶されている構文木コーパス｛ｔ｝の各構文木の各非終端ノードには、細分化されていないシンボルが付与されている。なお、外部装置に記憶された構文木コーパス｛ｔ｝を、ネットワーク等を介して読み込むようにしてもよい。
【００３９】
演算部３０は、シンボル細分化学習部３１、木置換文法学習部３２、メモリ３３、及び構文解析部３４を備えている。
【００４０】
シンボル細分化学習部３１は、構文木コーパスが与えられた下で、構文木の各シンボルを細分化する。木置換文法学習部３２は、シンボルが細分化された構文木コーパスが与えられた下で、基本木の集合を学習する。したがって、シンボル細分化学習部３１と木置換文法学習部３２によって、構文木コーパスから、シンボルが細分化された基本木の集合を学習することができる。学習された基本木の集合および確率モデルのパラメータセットはメモリ３３へ格納される。構文解析部３４は、メモリ３３に格納された基本木の集合と確率モデルのパラメータセットを用いて、構文木が未知の構文解析対象文Ｓから構文木を推定する。このように、本発明では、従来のシンボル細分化による構文解析法と、木置換文法に基づく基本木を用いた構文解析法を組み合わせたものであり、双方の欠点を克服することができる。
【００４１】
＜シンボル細分化学習部の構成＞
シンボル細分化学習部３１は、構文木コーパス{t}が観測された下での基本木の集合eの事後確率を示すために用いられる確率モデルp(e|{t},Φ)のパラメータセットΦを指定回数だけ逐次更新することで、各基本木の最適なシンボル細分化を行い、そのときの基本木の集合^e及びパラメータセット^Φを求めるものである。以下、基本木の集合及びパラメータセットの初期値をe(0)及びΦ(0)とし、u回目の更新後の基本木の集合及びパラメータセットをe(u)及びΦ(u)と表記する。シンボル細分化学習部３１では、基本木の深さや大きさは更新せずに、各基本木の最適なシンボル細分化情報を学習する。
【００４２】
シンボル細分化学習部３１は、図６に示すように、初期基本木集合及び初期パラメータセットを設定する初期パラメータ設定部５０と、現在のパラメータ値に基づいて各基本木の新たなシンボルを更新するシンボルサンプリング部５１と、確率モデルのパラメータセットを更新するパラメータ更新部５２と、学習処理を終了するか否かを判定する収束判定部５３と、を含んだ構成で表すことができる。初期パラメータ設定部５０は、基本木の集合の各非終端ノードに、細分化されたシンボルの初期値を設定すると共に、確率モデルの初期パラメータセットを設定する。任意の基本木、シンボルおよびパラメータセットを設定することができるが、ここでは、構文木コーパスの各構文木を分解して得られる、文脈自由文法に基づく深さが１となる基本木の集合を初期集合として設定し、シンボルの細分化インデックスは全て０に設定し、初期パラメータは乱数によってランダムに決定することとする。
【００４３】
シンボルサンプリング部５１では、繰り返し回数u回目の基本木集合とパラメータセットから、マルコフ連鎖モンテカルロ（ＭＣＭＣ）法を用いて新たな基本木集合e(u+1)を生成する。ＭＣＭＣ法では、構文木コーパスの各構文木に付与された各シンボルをランダムに巡回し、上記（１）式の確率モデルで算出される確率にしたがって更新し、更新されたシンボルが付与された基本木eiを新たに生成する。すなわち、構文木コーパスの各構文木に付与された各シンボル毎に、考え得る細分化されたシンボルの各々に関して、上記（１）式の確率を計算し、その確率にしたがって新たに一つのシンボルを生成して（サンプリングして）、基本木の集合eを更新する。ただし、シンボル細分化学習部３１では、基本木の深さは固定したまま、シンボルのみを更新する。ＭＣＭＣ法による基本木の生成は、非特許文献４（Mark Johnson, Thomas L. Griffiths and Sharon Goldwater (2007) Bayesian Inference for PCFGs via Markov Chain Monte Carlo, The Conference of the NAACL; Proceedings of the Main Conference, pages139-146.）に詳細が開示されている。
【００４４】
シンボルを細分化する際に、そのシンボルがいくつのサブシンボルに細分化されるのかは一般的に未知であるため、本実施の形態では、非特許文献１に開示されているように二分割と結合を繰り返していくことによりシンボル細分化の学習を行う。まず、シンボルXをX0かX1の二つに細分化し、更新回数があらかじめ設定した値（実験では１０００回）に達したら、それぞれのシンボルXについて、分割後のモデルの確率と分割前のモデルの確率の差分を、上記（１）式を用いて計算する。次に、確率の差分が大きかった上位５０％の種類のシンボルを、全て分割前の状態に戻す。そして、今度は再びX0が付与される非終端ノードについてX0かX2に、一方でX1が付与される非終端ノードについてX1かX3に、というようにさらに二分割を繰り返し、一定回数に達したら上位５０％の種類のシンボルを元に戻す。このように分割と結合を繰り返すことにより、細かく細分化したほうが良いシンボルはますます細分化され、逆に細分化しなくて十分であるシンボルは結合されて元の状態のままに留まる。分割と結合のプロセスは、所定の回数（実験では６回）に達したときに終了する。したがって、シンボル細分化の学習では、合計１０００×６＝６０００回の基本木およびパラメータの更新が行われ、各シンボルは最大で26=64通りに分割される。
【００４５】
パラメータ更新部５２は、以下に説明するように、確率モデルのパラメータセットΦを更新する。
【００４６】
パラメータセットΦ={dXk,θXk}の更新は、上記の非特許文献３に開示されている、補助変数によるサンプリング法を用いて、以下の（３）式、（４）式に従って行う。
【００４７】
【数６】
0005646523.tif 000007
【００４８】
ただし、Beta、Gammaはそれぞれベータ分布とガンマ分布を表す。また、４つの変数(a,b,α,β)はあらかじめ設定する値で、実験では全て1.0と設定した。残りの３種類の変数(x,yi,zj)は、以下の（５）式〜（７）式に示すようにランダムに生成する。
【００４９】
【数７】
0005646523.tif 000008
【００５０】
ただし、Bernoulliはベルヌーイ分布を表す。
【００５１】
収束判定部５３は、収束条件（例えば、繰り返し回数）を満たしたか否かを判定し、収束条件を満たすまで、シンボルサンプリング部５１及びパラメータ更新部５２の処理を繰り返す。
【００５２】
シンボル細分化学習部３１は、最終的に生成された、構文木コーパスを構成する、細分化されたシンボルが付与された基本木の集合と、確率モデルのパラメータセットとを、木置換文法学習部３２に出力する。
【００５３】
＜木置換文法学習部の構成＞
次に、シンボル細分化学習部３１によってシンボルが細分化された構文木コーパスを訓練データとして、木置換文法に基づく基本木を獲得する木置換文法学習部３２について説明する。木置換文法学習部３２は、シンボルが細分化された構文木コーパス（以降、{t′}と表記する）が観測された下での基本木の集合eの事後確率を示す確率モデルp(e|{t′},Φ)のパラメータセットΦを指定回数だけ逐次更新することで、最適な基本木の集合^e及び最適なパラメータセット^Φを求めるものである。以下、基本木の集合及びパラメータセットの初期値をe(0)及びΦ(0)とし、u回目の更新後の基本木の集合及びパラメータセットをe(u)及びΦ(u)と表記する。木置換文法学習部３２では、シンボル細分化学習部３１とは対照的に、各基本木のシンボルは更新せずに、基本木の深さや大きさを学習する。
【００５４】
木置換文法の学習では、各構文木のルートノードと末端ノード（終端ノード）を除く全てのノード（すなわち、内部ノード）に０か１の二値変数を割り当て、その変数値を決定することを目的とする。変数の値が１であれば、そのノードが基本木と基本木の境界であることを表し、０であればそのノードは基本木の内部ノードであると定義する。末端ノードを除く全てのノードにおいて二値変数の値を決定したとき、構文木をひと通りの基本木の組み合わせに分解することができるので、二値変数の値を学習は、木置換文法の学習と等価である。例えば、上記図２の木置換文法では、上記図１の構文木二つの“N”ノードの変数を１に設定し、それ以外のノードの変数値を０に設定したことに相当する。
【００５５】
図７に示すように、木置換文法学習部３２は、初期基本木集合及び初期パラメータセットを設定する初期パラメータ設定部６０と、現在のパラメータ値に基づいて新たな基本木集合を更新する基本木サンプリング部６１と、確率モデルのパラメータセットを更新するパラメータ更新部６２と、学習処理を終了するか否かを判定する収束判定部６３と、を含んだ構成で表すことができる。
【００５６】
初期パラメータ設定部６０は、細分化されたシンボルが付与された基本木の初期集合を設定すると共に、確率モデルの初期パラメータセットを設定する。任意の基本木及びパラメータセットを設定することができるが、ここでは、構文木コーパスの各構文木を分解して得られる、上記図２に示すような文脈自由文法に基づく深さが１となる基本木の集合を初期集合として設定する。すわなち、各ノードの二値変数を全て１に初期設定する。また、シンボルの細分化インデックスは、シンボル細分化学習部３１によって学習された値に設定する。また、初期パラメータは乱数によってランダムに決定することとする。なお、初期パラメータセットとして、シンボル細分化学習部３１によって学習されたパラメータセットを設定してもよい。
【００５７】
基本木サンプリング部６１では、繰り返し回数u回目の基本木集合とパラメータセットから、マルコフ連鎖モンテカルロ（ＭＣＭＣ）法を用いて、各ノードの二値変数の値を更新し、新たな基本木集合e(u+1)を生成する。ＭＣＭＣ法では、構文木コーパスの各基本木の全てのノードをランダムに巡回し、上記（１）式の確率にしたがって、二値変数の値が０のときと１のときの確率を計算し、それらの確率に従って次の状態の変数値を決定し、確率モデルを更新する。ＭＣＭＣ法による基本木の生成は、上記非特許文献４に詳細が開示されている。
【００５８】
パラメータ更新部６２は、パラメータ更新部５２と同様に、上記（３）式〜（７）式を用いて、確率モデルのパラメータセットΦを更新する。
【００５９】
収束判定部６３は、収束条件（例えば、繰り返し回数）を満たしたか否かを判定し、収束条件を満たすまで、基本木サンプリング部６１及びパラメータ更新部６２の処理を繰り返す。
【００６０】
メモリ３３には、木置換文法学習部３２により最終的に得られた基本木の集合＾ｅ及び確率モデルのパラメータセット＾Φが記憶される。
【００６１】
＜構文解析部の構成＞
次に、与えられた構文木が未知の文に対して、構文木を推定する構文解析部３４について説明する。
【００６２】
構文解析部３４は、メモリ３３に保存されている、シンボル細分化学習部３１及び木置換文法学習部３２によって学習された、シンボルが細分化された基本木の集合及び確率モデルのパラメータセットと、入力された構文木が未知の文Sとに基づいて、構文解析結果を出力する。構文解析部３４は、非特許文献６（Bodenstab, N. and Dunlop, A. and Hall, K. and Roark, B. (2011), Beam-width prediction for efficient context-free parsing, In Proceedings of ACL, http://code.google.com/p/bubs-parser/）に開示されているCYK法によって構文解析を行う。具体的には、パラメータセット＾Φを確率モデルに設定し、基本木の集合＾ｅに含まれる基本木を組み合わせて、入力された文と一致する構文木を生成し、構文木を生成した基本木の組み合わせ毎に、確率モデルを用いて事後確率を算出し、事後確率が最大となるときの基本木の組み合わせにより構成された構文木を、構文解析結果として出力部４０により出力する。このとき、ＣＹＫ法では、あらゆる基本木の組み合わせとその確率を動的計画法を用いて効率的に計算する。
【００６３】
＜構文解析装置の作用＞
次に、本実施の形態に係る構文解析装置１００の作用について説明する。構文解析装置１００のＲＯＭに記憶された基本木獲得プログラムを、ＣＰＵが実行することにより、図８に示す構文解析処理ルーチンが実行される。
【００６４】
まず、ステップＳ１において、シンボル細分化学習部３１によって、構文木コーパスが与えられた下で、各構文木の各シンボルを細分化する。ステップＳ２において、木置換文法学習部３２によって、シンボルが細分化された構文木コーパスが与えられた下で、シンボルが細分化された、任意の深さの基本木の集合を学習すると共に、確率モデルのパラメータセットを学習する。学習された基本木の集合および確率モデルのパラメータセットはメモリ３３へ格納される。
【００６５】
そして、ステップＳ３において、構文解析部３４によって、メモリ３３に格納された基本木の集合と確率モデルのパラメータセットを用いて、入力された構文木が未知の構文解析対象文Ｓから構文木を推定して、構文解析結果を出力部４０により出力する。
【００６６】
上記ステップＳ１は、図９に示す処理ルーチンによって実現される。
【００６７】
まず、ステップＳ１１で、予め訓練データ記憶部２０に記憶された構文木コーパス｛ｔ｝のデータを読み込み、繰り返し回数u=0、初期基本木集合ｅ（０）とそれらの初期シンボル、及び初期パラメータセットΦ（０）を設定する。
【００６８】
次に、ステップＳ１２で、基本木集合ｅ（u）に含まれる各基本木の各非終端ノードに対して付与するシンボルの細分化情報を、シンボルサンプリング部５１により生成して更新し、シンボル情報が更新された新たな基本木集合e(u+1)を生成する。次に、ステップＳ１３で、確率モデルのパラメータセットΦ(u+1)を更新する。
【００６９】
そして、ステップＳ１４において、現在の繰り返し回数uが事前に設定された値u'と一致するか否かを判定することにより、学習過程を終了するか否かを判定する。u<u'の場合には、ステップＳ１５で、繰り返し回数uを１インクリメントして、ステップＳ１２へ戻り、更新されたパラメータセットΦ(u)及び基本木集合e(u)を用いて処理を繰り返す。一方、u=u′の場合には、更新されたパラメータセットΦ(u)及を最適なパラメータセット^Φとし、現在の基本木の集合e(u)を最適な基本木の集合^eとして獲得し、結果（^e, ^Φ）を出力して、処理を終了する。
【００７０】
上記ステップＳ２は、図１０に示す処理ルーチンによって実現される。
【００７１】
まず、ステップＳ２１において、シンボル細分化学習部３１によってシンボルが細分化された基本木集合から得られる構文木コーパス{t′}のデータを読み込み、初期パラメータ設定部６０によって、繰り返し回数u=0、初期基本木集合e(0)、及び初期パラメータセットΦ(0)を設定する。
【００７２】
次に、ステップＳ２２で、新たな基本木集合e(u+1)を基本木サンプリング部６１により生成して更新する。ステップＳ２３で、確率モデルのパラメータセットΦ(u+1)を更新する。
【００７３】
そして、ステップＳ２４で、現在の繰り返し回数u が事前に設定された値u′と一致するか否かを判定することにより、学習過程を終了するか否かを判定する。u<u′の場合には、ステップＳ２５へ移行して、繰り返し回数uを１インクリメントして、ステップＳ２２へ戻り、更新されたパラメータセットΦ(u)及び基本木集合e(u)を用いて処理を繰り返す。一方、u=u′の場合には、更新されたパラメータセットΦ(u)及を最適なパラメータセット^Φとし、現在の基本木の集合e(u)を最適な基本木の集合^eとし、結果（^e,^Φ）をメモリ３３に格納して、処理を終了する。
【００７４】
上記ステップＳ３では、入力された構文解析対象文Ｓを読み込むと共に、メモリ３３から基本木の集合＾ｅ及びパラメータセット＾Φを読み出す。そして、基本木の集合＾ｅを組み合わせて、構文解析対象文Ｓと一致する構造木を生成すると共に、当該構造木を構成する基本木の組み合わせについて、事後確率を算出する。事後確率が最大となるときの基本木の組み合わせで構成される構文木を、構文解析結果として出力部４０により出力する。
【００７５】
＜効果確認実験＞
本発明の効果を検証するため、構文解析の実験で広く使われている英語のペンツリーバンクデータ（http://www.cis.upenn.edu/~treebank/）を構文木コーパスとして使用して構文解析実験を行い、精度の評価を行った。ただし、シンボル細分化学習部３１と木置換文法学習部３２における繰り返し回数はともに３００と設定した。
【００７６】
構文木コーパスは、非特許文献１に示されている実験設定と同様に、セクション２から２１までを学習用データとして用いた。評価用データは、セクション２３の構文木情報を取り除いた文を用いた。構文解析の結果は、ＥＶＡＬＢ（ｈｔｔｐ：／／ｎｌｐ．ｃｓ．ｎｙｕ．ｅｄｕ／ｅｖａｌｂ／）を用いてブラケティングＦ値を計算し、評価指標として用いた。この結果を図１1に示す。本実施の形態の構文解析装置により行った構文解析のＦ値（シンボル細分化＋木置換文法）は、文脈自由文法のＦ値を大きく上回った。また、非特許文献１に開示されているシンボル細分化のみを行う構文解析法や、非特許文献２に開示されているようなシンボル細分化を行わずに木置換文法のみによる構文解析法と比較しても精度が高かった。したがって、シンボル細分化と木置換文法を組み合わせた本実施の形態が、高い精度で構文解析を実行できることを確認した。
【００７７】
以上説明したように、本実施の形態の構文解析装置によれば、直前までに生成された、シンボルが細分化された基本木集合の情報と、シンボルが細分化された基本木の基底分布と、所定のパラメータセットとを用いて表わされる基本木の確率モデルに従って、シンボル細分化により、構文木コーパスの各構文木に付与される細分化されたシンボルを学習すると共に、木置換文法により、シンボルが細分化された構文木コーパスを構成する、任意の深さとなる基本木の集合を学習することにより、構文解析の精度を向上させることができる、任意の深さの基本木の集合を学習することができる。また、上記のように学習された、任意の深さの基本木の集合及び確率モデルのパラメータを用いて構文木構造を解析することにより、構文解析の精度を向上させることができる。
【００７８】
また、本実施の形態の構文解析装置は、非特許文献１や２に開示されている従来の構文解析技術よりも高精度である。また、非特許文献５（Bansal, M. and Klein, D. (2010), Simple, accurate parsing with an all-fragments grammar, In Proceedings of ACL, pages 1098-1107）では、木置換文法とシンボル細分化を組み合わせた方法を提案しているが、木置換文法の獲得とシンボル細分化を独立して行っているため、従来技術（例えば非特許文献１）よりも構文解析の精度が低い。すなわち、木置換文法とシンボル細分化を単に別々に組み合わせただけでは高精度化は達成できない可能性がある。一方、本実施の形態では、一つの統合された確率モデルを利用するため、シンボル細分化と木置換文法による学習が相補的に同じ確率モデルの学習に作用する。これにより、シンボル細分化による高い構文解析精度を実現しつつ、木置換文法による任意の深さの基本木（部分木パターン）を獲得できるため、構文解析の高精度化が達成できる。
【００７９】
なお、上記の実施の形態では、シンボル細分化学習部及び木置換文法学習部を備えた構文解析装置について説明したが、シンボル細分化学習部及び木置換文法学習部を備えた基本木学習装置と、シンボル細分化学習部及び木置換文法学習部を備えない構文解析装置とを別々に構成してもよい。この場合、シンボル細分化学習部及び木置換文法学習部で学習された基本木集合及びパラメータセットを、ネットワーク等を介して、構文解析装置のメモリに記憶するようにするとよい。また、シンボル細分化学習部及び木置換文法学習部を備えた基本木学習装置にメモリを設けて、学習した基本木集合及びパラメータセットを記憶しておき、構文解析装置から、ネットワーク等を介して、基本木学習装置のメモリに記憶された基本木集合及びパラメータセットを読み出すようにしてもよい。
【００８０】
また、シンボル細分化学習部では、深さが１となる基本木の集合について、シンボルを細分化するように学習する場合を例に説明したが、これに限定されるものではない。深さが固定された基本木の集合について、シンボルを細分化するように学習すればよい。
【００８１】
また、上述の構文解析装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００８２】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【００８３】
２０   訓練データ記憶部
３０   演算部
３１   シンボル細分化学習部
３２   木置換文法学習部
３３   メモリ
３４   構文解析部
５０、６０    初期パラメータ設定部
５１   シンボルサンプリング部
５２、６２    パラメータ更新部
５３、６３    収束判定部
６１   基本木サンプリング部
１００ 構文解析装置
【図１】
0005646523.tif 000009
【図２】
0005646523.tif 000010
【図３】
0005646523.tif 000011
【図４】
0005646523.tif 000012
【図５】
0005646523.tif 000013
【図６】
0005646523.tif 000014
【図７】
0005646523.tif 000015
【図８】
0005646523.tif 000016
【図９】
0005646523.tif 000017
【図１０】
0005646523.tif 000018
【図１１】
0005646523.tif 000019