基本木獲得装置、構文解析装置、方法、及びプログラム
【課題】メモリの消費量を抑制しつつ、あらゆる言語の構文木コーパスに対応する。
【解決手段】ラベル付与部15で、基本木e(u)の情報に基づいて、接合操作に関する内容を含む木接合文法に従った非終端ノードの内容を示すラベルを、構文木各々の各非終端ノードに付与し、構文木分解部16で、ラベルが付与された構文木を、深さ1の部分木に分解すると共に、ラベルの内容及び推定する確率モデルに基づいて各部分木の生成確率を計算する。内側確率計算部18で、部分木の生成確率に基づいて、非終端ノード毎に内側確率を計算し、基本木サンプリング部20で、非終端ノード毎の内側確率に基づいて、新たな基本木を生成し、全ての葉ノードが終端ノードとなるまで新たな基本木の生成を繰り返し、構文木が観測された下での基本木の事後確率が最大となるときの基本木、及び確率モデルのパラメータを獲得する。
【解決手段】ラベル付与部15で、基本木e(u)の情報に基づいて、接合操作に関する内容を含む木接合文法に従った非終端ノードの内容を示すラベルを、構文木各々の各非終端ノードに付与し、構文木分解部16で、ラベルが付与された構文木を、深さ1の部分木に分解すると共に、ラベルの内容及び推定する確率モデルに基づいて各部分木の生成確率を計算する。内側確率計算部18で、部分木の生成確率に基づいて、非終端ノード毎に内側確率を計算し、基本木サンプリング部20で、非終端ノード毎の内側確率に基づいて、新たな基本木を生成し、全ての葉ノードが終端ノードとなるまで新たな基本木の生成を繰り返し、構文木が観測された下での基本木の事後確率が最大となるときの基本木、及び確率モデルのパラメータを獲得する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、基本木獲得装置、構文解析装置、方法、及びプログラムに係り、特に、統語的な情報が付与された構文木のコーパスから、木接合文法に基づく基本木を自動獲得する基本木獲得装置、方法、及びプログラム、並びに、獲得された基本木を用いて構文解析を行う構文解析装置、方法、及びプログラムに関する。
【背景技術】
【0002】
文法獲得とは、データから文法的枠組みに基づいた生成規則を獲得することをいう。従来より、統語的な情報が付与された構文木コーパスから、その構文木を構成する生成規則を確率的に獲得する方法が提案されている。文法の枠組みには、例えば、文脈自由文法、木接合文法や文脈依存文法などがある。
【0003】
木接合文法とは、後述する基本木を生成規則とし、これらを組み合わせることにより構文木を生成する文法の枠組みである。構文木の例を図1に、基本木の例を図2に示す。以降、各基本木について、木構造の根に相当するノードをルートノード、末端に位置するノードを葉ノード、それ以外のノードを中間ノードと呼ぶ。また、各ノードに付与されたタグをシンボルと表現する。さらに、“the”、“pretty”などの単語を終端記号、それ以外の“NP”、“VP”などの文法的な情報を表すタグを非終端記号と表現し、終端記号が付与されたノードを終端ノード、非終端記号が付与されたノードを非終端ノードと表現する。
【0004】
基本木は、初期木及び補助木の二種類に分類される。初期木は、例えば図3に示すように、置換操作と呼ばれるシンボルの書き換えによって他の木と結合する。また、補助木は、例えば図4に示すように、接合操作と呼ばれる木の割り込みによって他の木と結合する。補助木は、必ずルートノードと同じシンボルである葉ノードを持つ。
【0005】
従来の木接合文法の獲得方法には、大きく分けると二種類ある。一つは、基本木の型(パターン)を予め定義しておき、EMアルゴリズムなどの方法で構文木から基本木の確率を推定するものである(例えば、非特許文献1参照)。二つ目の方法は、言語学的な知識に基づいて、発見的な方法により基本木を直接獲得した後に、それらの確率を最尤推定によって求める方法である(例えば、非特許文献2参照)。また、近年の自動文法獲得方法には、木置換文法に基づいた方法がある(例えば、非特許文献3参照)。木置換文法は、初期木による置換操作のみで構文木を生成する方法である。非特許文献3に開示されている木置換文法の自動獲得方法は、どのような言語のコーパスにも適用できるという利点がある。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Fei Xia (1999) Extracting tree adjoining grammars from bracketed corpora, In Proceedings of the 5th Natural Language Processing Pacific Rim Symposium (NLPRS), pages 398-403.
【非特許文献2】David Chiang, (2003) Statistical Parsing with an Automatically Extracted Tree Adjoining Grammar, pages 299-316. CSLI Publications.
【非特許文献3】Trevor Cohn, Sharon Goldwater, and Phil Blunsom (2009) Inducing compact but accurate treesubstitution grammars, In Proceedings of HLT-NAACL, pages 548-556, Boulder, Colorado, June. Association for Computational Linguistics.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、非特許文献1のような方法では、予め定義された型に当てはまる基本木しか獲得することができないため、言語毎に基本木の型を定義する必要があり、汎用性に欠ける、という問題がある。また、非特許文献2のような発見的な方法による基本木の獲得の場合も、言語学的な知見に基づいているため、対象言語が変わると同じ獲得方法を適用できない可能性がある、という問題がある。英語や中国語などのよく知られた言語以外でも、同じ方法で基本木を自動獲得できることが望ましい。
【0008】
また、非特許文献3に開示されている木置換文法の自動獲得方法は、言語の種類に依存しない汎用的な方法であるが、木置換文法では置換操作だけで構文木を構成するため、多くの初期木を獲得してしまい、メモリを多く消費してしまう、という問題がある。
【0009】
本発明は、上記問題点を解決するために成されたものであり、メモリの消費量を抑制しつつ、あらゆる言語に対応することができる基本木獲得装置、構文解析装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明の基本木獲得装置は、構文木を構成する複数の基本木各々の情報に基づいて、構文木の各ノードに対して、基底分布に基づいて基本木を生成する非終端ノードであることを示す第1ラベル、保持した基本木の情報に基づいて基本木を生成する非終端ノードであることを示す第2ラベル、置換操作が起こった非終端ノードであることを示す第3ラベル、及び接合操作によって割り込まれた非終端ノードであることを示す第4ラベルを含むラベル群のいずれかのラベルを前記各非終端ノードに付与する付与手段と、各部分木の深さが1となるように前記構文木を部分木に分解する分解手段と、前記構文木が観測された下での基本木の事後確率を示し、かつ所定のパラメータが設定された確率モデル、及び前記各部分木の非終端ノードに付与されたラベルが示す内容に基づいて定まる該部分木の生成確率に基づいて、前記非終端ノード毎に内側確率を算出する算出手段と、前記非終端ノード毎の内側確率に基づいて、所定の非終端ノードをルートノードとする新たな基本木を生成し、全ての葉ノードが終端ノードとなるまで前記新たな基本木の生成を繰り返す生成手段と、前記事後確率が最大となるときの前記生成手段により生成された基本木、及び前記確率モデルの前記所定のパラメータを獲得する獲得手段と、を含んで構成されている。
【0011】
本発明の基本木獲得装置によれば、付与手段が、構文木を構成する複数の基本木各々の情報に基づいて、構文木の各ノードに対して、基底分布に基づいて基本木を生成する非終端ノードであることを示す第1ラベル、保持した基本木の情報に基づいて基本木を生成する非終端ノードであることを示す第2ラベル、置換操作が起こった非終端ノードであることを示す第3ラベル、及び接合操作によって割り込まれた非終端ノードであることを示す第4ラベルを含むラベル群のいずれかのラベルを各非終端ノードに付与し、分解手段が、各部分木の深さが1となるように構文木を部分木に分解する。
【0012】
そして、算出手段が、構文木が観測された下での基本木の事後確率を示し、かつ所定のパラメータが設定された確率モデル、及び各部分木の非終端ノードに付与されたラベルが示す内容に基づいて定まる該部分木の生成確率に基づいて、非終端ノード毎に内側確率を算出し、生成手段が、非終端ノード毎の内側確率に基づいて、所定の非終端ノードをルートノードとする新たな基本木を生成し、全ての葉ノードが終端ノードとなるまで新たな基本木の生成を繰り返す。獲得手段は、事後確率が最大となるときの生成手段により生成された基本木、及び確率モデルの所定のパラメータを獲得する。
【0013】
このように、構文木の各非終端ノードに、接合操作も導入した木接合文法に基づく内容を示すラベルを付与し、このラベルに基づいて構文木を深さ1の部分木に分解し、各部分木の生成確率に基づくノード毎の内側確率を用いて新たな基本木を生成し、構文木が観測された下での基本木の事後確率が最大となる基本木を獲得するため、言語に依存しない基本木の獲得を行うことができ、また、接合操作の導入により、獲得される基本木の数を削減することができるため、メモリの消費量を抑制しつつ、あらゆる言語に対応することができる。
【0014】
また、前記確率モデルは、前記保持した基本木の情報に基づいて基本木を生成する第1確率、及び前記基底分布に基づいて基本木を生成する第2確率を用いて表され、前記第1ラベルが付与された非終端ノードは、前記第2確率に従って生成された非終端ノードであり、前記第2ラベルが付与された非終端ノードは、前記第1確率に従って生成され非終端ノードであり、前記第3ラベルが付与された非終端ノードは、前記第1確率で前記第2ラベルが示す内容の非終端ノードを生成し、前記第2確率で前記第1ラベルが示す内容の非終端ノードを生成し、前記第4ラベルが付与された非終端ノードは、所定の接合確率及び前記第1確率に従って前記第2ラベルが示す内容の非終端ノードを生成し、前記所定の接合確率及び前記第2確率で前記第1ラベルが示す内容の非終端ノードを生成する。
【0015】
また、前記獲得手段は、メトロポリス・ヘイスティングス法により、前記生成手段により生成された新たな基本木を受理または棄却すると共に、前記確率モデルのパラメータを更新し、前記パラメータの更新を所定回数以上行った場合には、現在の基本木及び更新されたパラメータを獲得し、前記パラメータの更新を所定回数以上行っていない場合には、前記現在の基本木を前記分解手段に入力すると共に、前記更新されたパラメータを前記確率モデルに設定することができる。
【0016】
また、本発明の構文解析装置は、上記の基本木獲得装置によって獲得された前記基本木及び前記確率モデルのパラメータを記憶する記憶手段と、前記記憶手段に記憶された前記基本木、及び前記パラメータを設定した前記確率モデルに基づいて、解析対象の構文の構文木構造を解析する解析手段と、を含んで構成されている。また、本発明の構文解析装置は、上記の基本木獲得装置を含んで構成してもよい。
【0017】
また、本発明の基本木獲得方法は、付与手段と、分解手段と、算出手段と、生成手段と、獲得手段とを含む基本木獲得装置における基本木獲得方法であって、前記付与手段は、構文木を構成する複数の基本木各々の情報に基づいて、構文木の各ノードに対して、構文木を構成する複数の基本木各々の各非終端ノードにラベルが付与されていない場合には、基底分布に基づいて基本木を生成する非終端ノードであることを示す第1ラベル、保持した基本木の情報に基づいて基本木を生成する非終端ノードであることを示す第2ラベル、置換操作が起こった非終端ノードであることを示す第3ラベル、及び接合操作によって割り込まれた非終端ノードであることを示す第4ラベルを含むラベル群のいずれかのラベルを前記各非終端ノードに付与し、前記分解手段は、各部分木の深さが1となるように前記構文木を部分木に分解し、前記算出手段は、前記構文木が観測された下での基本木の事後確率を示し、かつ所定のパラメータが設定された確率モデル、及び前記各部分木の非終端ノードに付与されたラベルが示す内容に基づいて定まる該部分木の生成確率に基づいて、前記非終端ノード毎に内側確率を算出し、前記生成手段は、前記非終端ノード毎の内側確率に基づいて、所定の非終端ノードをルートノードとする新たな基本木を生成し、全ての葉ノードが終端ノードとなるまで前記新たな基本木の生成を繰り返し、前記獲得手段は、前記事後確率が最大となるときの前記生成手段により生成された基本木、及び前記確率モデルの前記所定のパラメータを獲得する方法である。
【0018】
また、本発明の構文解析方法は、記憶手段、及び解析手段を含む構文解析装置における構文解析方法であって、前記記憶手段には、上記の基本木獲得装置によって獲得された前記基本木及び前記確率モデルのパラメータが記憶され、前記解析手段は、前記記憶手段に記憶された前記基本木、及び前記パラメータを設定した前記確率モデルに基づいて、解析対象の構文の構文木構造を解析する方法である。
【0019】
また、本発明の基本木獲得プログラムは、コンピュータを、上記の基本木獲得装置を構成する各手段として機能させるためのプログラムである。
【0020】
また、本発明の構文解析プログラムは、コンピュータを、上記の構文解析装置を構成する各手段として機能させるためのプログラムである。
【発明の効果】
【0021】
以上説明したように、本発明の基本木獲得装置、構文解析装置、方法、及びプログラムによれば、構文木の各非終端ノードに、接合操作も導入した木接合文法に基づく内容を示すラベルを付与し、このラベルに基づいて構文木を深さ1の部分木に分解し、各部分木の生成確率に基づくノード毎の内側確率を用いて新たな基本木を生成し、構文木が観測された下での基本木の事後確率が最大となる基本木を獲得するため、言語に依存しない基本木の獲得を行うことができ、また、接合操作の導入により、獲得される基本木の数を削減することができるため、メモリの消費量を抑制しつつ、あらゆる言語に対応することができる、という効果が得られる。
【図面の簡単な説明】
【0022】
【図1】構文木の一例示す図である。
【図2】基本木の一例を示す図である。
【図3】置換操作を説明するための図である。
【図4】接合操作を説明するための図である。
【図5】各非終端ノードにラベルが付与された構文木の一例を示す図である。
【図6】深さ1に分解された部分木及びその部分木の生成確率の一例を示す図である。
【図7】第1の実施の形態の基本木獲得装置の機能構成を示すブロック図である。
【図8】内側確率テーブルを示す図である。
【図9】第1の実施の形態の基本木獲得装置における基本木獲得処理ルーチンの内容を示すフローチャートである。
【図10】第2の実施の形態の構文解析装置の機能構成を示すブロック図である。
【図11】第2の実施の形態の構文解析装置における構文解析処理ルーチンの内容を示すフローチャートである。
【図12】効果確認結果を示す表である。
【発明を実施するための形態】
【0023】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0024】
<本実施の形態の確率モデル>
文法獲得(基本木の獲得)の問題は、与えられた構文木tから、tを構成する基本木の集合eを獲得することである。構文木が与えられたとき、基本木の事後確率p(e|t;Φ)は、ベイズの定理を用いて、下記(1)式のように計算できる。
【0025】
【数1】
【0026】
木接合文法では、初期木または補助木を一つずつ生成し、全ての葉ノードが終端記号、すなわち単語になったときに生成を停止する。全ての葉ノードが終端記号になったとき、これらの終端記号列が構文木tと一致するとき、p(t|e)=1となり、そうでない場合はp(t|e)=0となる。一つずつ生成される基本木eを、インデックスiを用いてei(i=1,2,・・・)とする。
【0027】
本実施の形態では、非特許文献4(Y.W. Teh(2006) A Bayesian Interpretation of Interpolated Kneser-Ney. Technical Report TRA2/06, School of Computing, NUS.)に開示されているベイズモデルを用いて、p(e)をモデル化する。このモデルは、基本木eiが、今までに生成された基本木e1,・・・,ei−1 に依存するモデルであり、下記(2)式のように定義される。
【0028】
【数2】
【0029】
ただし、e−i=e1,・・・,ei−1は、1回目から(i−1)回目までに生成された基本木の集合である。Xは基本木eiのルートシンボルを表す。また、αei,X及びβXは、下記(3)式で表される。
【0030】
【数3】
【0031】
n−iei,Xは、e−iのうちeiと同じ基本木が何回生成されたかを表す。また、この確率モデルは、内部で各基本木が何回生成されたかという情報を、いくつかのクラスタに分けて保存する。例えば、ある基本木がこれまでに10回生成されたとすると、この確率モデルの内部では、(3回,7回)という2つのクラスタになって保持している場合もあれば、(2回,3回,5回)のように3つのクラスタになっている場合もある。このとき、tei,Xは、基本木eiがモデル内部でいくつのクラスタに分割されているかを表す。また、n−i・,X及びt・,Xは、下記(4)式で表される。
【0032】
【数4】
【0033】
この確率モデルは、Pitman−Yor過程と呼ばれ、非特許文献4に詳細が開示されている。
【0034】
本実施の形態では、初期木及び補助木の確率分布をそれぞれ独立に(2)式で定義する。以降、初期木の確率モデルのパラメータを{dX,θX}、補助木の確率モデルのパラメータを{d’X,θ’X}と区別する。同様に、(2)式の変数をそれぞれ{αei,X,βX}、{α’ei,X,β’X}と区別する。初期木による置換操作は、葉ノードが非終端記号であれば確率1で必ず実行される。一方で、補助木の接合操作は中間ノードに対して実行される場合と実行されない場合とがある。そこで、接合確率aXを新たに導入すると、補助木eiが中間ノードXに対して接合される確率は、下記(5)式となる。
【0035】
【数5】
【0036】
また、(2)式中のP0(ei|X)は、基底分布と呼ばれ、基本木eiの基底となる確率分布である。したがって、ΣeiP0(ei|X)=1を満たす必要がある。基底分布の実現例として、例えば、下記(6)式のように定義することができる。
【0037】
【数6】
【0038】
ただし、CFG(ei)は、eiを深さが1の部分木に分解した生成規則の集合を表す。例えば、rが二分木の場合、A→BCという形式をとる。ここで、Aはルートノード、B及びCはAの子ノードである。PMLE(r)は、生成規則rの最尤推定値であり、例えば、r=A→BCとき、下記(7)式のように計算することができる。
【0039】
【数7】
【0040】
ただし、count(A)はコーパス中にシンボルAが何回出現したかを表し、count(A→BC)はコーパス中に生成規則A→BCが何回出現したかを表す。LEAF(ei)、INTERNAL(ei)はそれぞれ、eiの葉ノード及び中間ノードの集合を表す。例えば、eiを図2(c)とすると、CFG(ei)={NP→DT N,N→girl}、LEAF(ei)={DT,girl}、INTERNAL(ei)={N}となる。sXは、停止確率と呼ばれ、初期木または補助木の生成がノードXで停止する確率を表す。
【0041】
本実施の形態の基本木獲得装置では、事後確率p(e|t;Φ)を最大にする基本木e及びパラメータセットΦ={dX,θX,sX,aX}を学習する。
【0042】
<本実施の形態における構文木の分解>
(2)式に基づいて構文木を生成するために、本実施の形態では、構文木中の各非終端ノードを、そのノードの内容に従って、以下のように4つのタイプ(X(base)、X(e)、Xsub、Xadj(type))に分類し(下記[タイプ1]〜[タイプ4])、タイプに応じたラベルを付与する。なお、Xは非終端ノードに付与されたシンボルである。また、基本木を生成する際に、それが(2)式の第1項目(αei,X)からの生成なのか、第2項目(βXP0(ei|X))からの生成なのかを区別する。第1項目からの生成は、以前生成した基本木e−iの中から、確率的にいずれかを選択することに相当する。一方で、第2項目からの生成は、基底分布P0(ei|X)に従って新たに基本木を生成する。基底分布から新たに生成された基本木は、以前生成された基本木のいずれかと一致する場合もあれば、今までに生成したことのない基本木であることもある。
【0043】
ここで、タイプ別のラベル毎に、各非終端ノードの内容を示す。
【0044】
[タイプ1]X(base):基底分布、すなわち(2)式の第2項目から生成された基本木のルートノードまたは中間ノードを表す。このノードは、基底分布P0に従って基本木を生成するノードである。
【0045】
[タイプ2]X(e*):(2)式の第1項目から生成された基本木のルートノードまたは中間ノードを表す。e*は基本木の情報を格納した変数であり、例えば、図2(c)の場合、e*=NP(DT)(N girl)と表され、X=NPとなる。この場合、NP(NP(DT)(N girl))は、基本木の情報e*=NP(DT)(N girl)に従って、NP(NP(DT)(N girl))→(DT)(N girl)という規則を生成する。同様に、N(N girl)は、N(N girl)→girlという規則を生成する。これにより、図2(c)の基本木を、A→BCという深さが1の部分木の組み合わせで生成することが可能となる。
【0046】
[タイプ3]Xsub:置換操作が起こったノードを表す。このノードは、確率αei,XでX(e) を生成し、確率βXでX(base)を生成する。
【0047】
[タイプ4]Xadj(type*):接合操作が起こったノードを表す。type*は、上記のbaseまたはe*のいずれかが入る変数であり、接合操作によって割り込まれる前のノードがX(type*)であったことを意味する。このノードは、確率α’ei,XでXadj(type*)(e*)を生成し、確率β’XでXadj(type*)(base)を生成する。例えば、Xadj(type*)(e*)は、ノードX(type*)に対して、(2)式の第1項目から生成された補助木eが接合されたことを意味する。図4に示すように、接合操作によって割り込まれたノード及びその子ノードは、補助木の葉ノードと結合されるため、Xadj(type*)(e*)、Xadj(type*)(base)はどちらもX(type*)を葉ノードとして生成する。
【0048】
構文木データの各非終端ノードを、上記の4つのいずれかのタイプに分類すれば、構文木を構成する基本木の集合が確定される。ただし、観測データとして得られる構文木コーパスには、これらのタイプはラベル付けされていないため、学習によってこれらのタイプを推定する。一例として、図4に示すように1つの初期木(NP(DT the)(N girl))と、1つの補助木(N(JJ pretty)(N))とで構成される構文木を考える。この構文木の各非終端ノードシンボルを上記の4つのタイプに分類した例を図5に示す。そして、このラベルが付与された構文木を深さが1の部分木に分解する。深さが1の部分木とは、その部分木が示す生成規則がA→BCのように表せる(親ノード及び子ノードのみで表せる)部分木をいう。各部分木が表す生成規則に対して生成確率を図6のように定義すると、(2)式に従って基本木を生成することと等しくなる。例えば、[タイプ3]のラベルが付与されたノードXsubは置換操作が起こったノードなので、確率αei,XでX(e*)を生成し、確率βXでX(base)を生成するように設定する。これは、(2)式の第1項目から基本木を生成するのか、または第2項目から生成するのかを確率的に選ぶことに相当する。このように、全ての構文木を深さが1の部分木に分解し、部分木毎に適切な生成確率を割り当てる操作が構文木の分解である。
【0049】
<基本木獲得装置の構成>
次に、構文木コーパスを訓練データとして、基本木を獲得する基本木獲得装置に本発明を適用した場合を例にして、第1の実施の形態を説明する。
【0050】
第1の実施の形態の基本木獲得装置は、CPUと、RAMと、後述する基本木獲得処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することができる。このコンピュータは、機能的には、図7に示すように、木接合文法学習部12を構成している。木接合文法学習部12は、構文木tが観測された下での基本木の集合eの事後確率を示す確率モデルp(e|t;Φ)のパラメータΦを指定回数だけ逐次更新することで、最適な基本木の集合^e及び最適なパラメータ^Φを求めるものである。以下、基本木の集合及びパラメータの初期値をe(0)及びΦ(0)とし、u回目の更新後の基本木の集合及びパラメータをとe(u)及びΦ(u)と表記する。
【0051】
木接合文法学習部12は、初期基本木及び初期パラメータを設定する基準基本木設定部14と、基本木の情報に基づいて構文木にラベル付与を行うラベル付与部15と、ラベルが付与された構文木を部分木に分解する構文木分解部16と、各部分木の生成確率に基づいて各ノードの内側確率を計算する内側確率計算部18と、各ノードの内側確率に基づいて、新たな基本木を生成する基本木サンプリング部20と、新たな基本木を受理するか棄却するかを判定する受理棄却判定部22と、確率モデルのパラメータを更新するパラメータ更新部24と、学習処理を終了するか否かを判定する終了判定部26と、を含んだ構成で表すことができる。
【0052】
基準基本木設定部14は、構文木コーパス{t}のデータを読み込む。構文木コーパスとは、文にNPやVPなどの文法的な役割が付与された木構造(構文木)で構成されるコーパスである。なお、ここで読み込む構文木コーパス{t}の各非終端ノードには、上述の[タイプ1]〜[タイプ4]のどのタイプに該当するかのラベルは付与されていない。構文木コーパス{t}は、基本木獲得装置10の訓練データ記憶部(図示省略)に予め記憶しておくことができる。また、外部装置に記憶された構文木コーパス{t}を、ネットワーク等を介して読み込むようにしてもよい。基準基本木設定部14は、読み込んだ構文木コーパス{t}に対して、初期基本木e(0)及び初期パラメータΦ(0)を設定する。
【0053】
ラベル付与部15は、基準基本木設定部14により設定された基本木の集合e(0)、または後述の終了判定部26から出力された基本木の集合e(u)の情報に基づいて、構文木コーパスに含まれる全ての構文木tの各非終端ノードに対して、上述の[タイプ1]〜[タイプ4]のいずれかのラベルを付与する。ラベルの情報は基本木の情報と1対1に対応しているため、ラベル付与は確定的に行うことができる。
【0054】
構文木分解部16は、各構文木を、深さが1の単純な部分木に分解し、各部分木が表す生成規則に対して、例えば図6に示すような生成確率を計算する。各部分木の生成確率は、各部分木を構成するルートノード及び子ノードに付与されたラベルのタイプが示すノードの内容に基づいて計算することができる。また、図6に示した生成確率内のαei,Xやα’ei,Xは、上記(3)式により求めることができる。
【0055】
内側確率計算部18は、構文木分解部16で分解された部分木を用いて、構文木の内側確率を計算する。内側確率pX,i,kとは、非終端ノードX(Xはこの非終端ノードに付されたシンボル)からあらゆる規則を使って単語列のi番目からk番目までの連続する領域を出力する確率を指す。なお、内側確率の定義は非特許文献5(K. Lari and S.J. Young (1991) Applications of stochastic context-free grammars using the inside-outside algorithm, Computer Speech & Language, 5(3):237-257.)に開示されている。内側確率は、基本木が深さ1であれば下記(8)式に示すように、再帰的に計算することができる。
【0056】
【数8】
【0057】
ただし、PCFG(r:X→YZ)は、構文木分解部16で分解された深さが1の部分木X→YZの生成確率である。また、X、Y及びZの各シンボルが付された非終端ノードは、各々上記の4タイプのいずれかに分類された非終端ノードである。各非終端ノードについて内側確率を計算し、計算された内側確率は、例えば、図8に示すようなテーブル形式で保持する。
【0058】
基本木サンプリング部20は、内側確率計算部18により計算された内側確率テーブルに基づいて、トップダウン的に新たな基本木e’を生成する。例えば、ルートノードがVP、単語数がLの構文木の場合を考える。構文木のルートノードでは必ず初期木による置換が起こるため、VPsubから基本木の生成を開始する。まず、VPsubをルートノードとする考え得る全ての基本木r∈CFG(VPsub)に対して、確率PCFG(r:VPsub→YZ)×pY,0,j×pZ,j+1,Lを計算し、その確率に基づいてランダムに1つの生成規則^rを生成する。なお、pY,0,jやpZ,j+1,Lは、内側確率計算部18で作成した内側確率テーブルを参照することにより値が得られる。次に、生成規則^rに含まれる全ての子ノードについて、同様にランダムに1つの生成規則を生成する。以上の処理を繰り返していき、全ての子ノードが終端記号、すなわち単語となったときに生成を停止する。このようにして得られた生成規則の集合を新たな基本木の集合e’とする。
【0059】
受理棄却判定部22では、基本木サンプリング部20で新たに生成された基本木の集合e’を受理するか、または棄却するかを、メトロポリス・ヘイスティングス法を用いて確率的に決定する。メトロポリス・ヘイスティングス法は、非特許文献6(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.)に詳細が開示されている。基本木の集合e’が受理された場合には、現在の基本木e(u)を、新たに生成された基本木e’に置き換える。棄却された場合には、基本木サンプリング部20で新たに生成された基本木e’は棄却され、現在の基本木e(u)をそのまま保持する。新たな基本木e’を受理する確率は、下記(9)式により計算する。
【0060】
【数9】
【0061】
ただし、基本木サンプリング部20で現在扱っている文をlとし、e−lはl以外の全ての文の構文木を構成する基本木の集合を表す。wlは、現在扱っている文lの単語列である。
【0062】
パラメータ更新部24は、非特許文献5に開示されている方法を用いて、以下のようにハイパーパラメータ(dX,θX,d’X,θ’X,sX,aX)を更新する。
【0063】
【数10】
【0064】
また、(〜d1,〜d2,〜θ1,〜θ2,〜s1,〜s2,〜a1,〜a2)は、予め設定された値である。
【0065】
終了判定部26は、現在の学習ステップuが事前に設定された値uthと一致するか否かを判定することにより、学習過程を終了するか否かを判定する。uthには予め学習過程の所定の更新回数を定めておく。uがuthと一致する場合には、更新されたパラメータΦ(u)を最適なパラメータ^Φとし(^Φ←Φ(u))、現在の基本木の集合e(u)を最適な基本木の集合^eとして(^e←e(u))、学習過程を停止する。u<uthの場合、すなわち、予め定めた所定の更新回数分の学習過程をまだ終了していない場合には、学習ステップuを1インクリメントして(u←u+1)、更新されたパラメータΦ(u)及び基本木e(u)を再度、ラベル付与部15へ出力する。
【0066】
<基本木獲得装置の作用>
次に、第1の実施の形態に係る基本木獲得装置10の作用について説明する。基本木獲得装置10のROMに記憶された基本木獲得プログラムを、CPUが実行することにより、図9に示す基本木獲得処理ルーチンが実行される。
【0067】
ステップ100で、予め訓練データ記憶部に記憶された構文木コーパス{t}のデータを読み込み、次に、ステップ102で、初期基本木e(0)及び初期パラメータΦ(0)を設定する。
【0068】
次に、ステップ104で、上記ステップ100で読み込んだ構文木コーパス{t}の構文木各々の各非終端ノードに対して、上記ステップ102で設定した基本木の集合e(0}の情報に基づいて、基本木の情報と1対1に対応するラベルの情報に従って、上述の[タイプ1]〜[タイプ4]のいずれかのラベルを付与する。
【0069】
次に、ステップ106で、各構文木を、深さが1の単純な部分木に分解し、各部分木が表す生成規則毎に、各部分木を構成するルートノード及び子ノードに付与されたラベルのタイプが示すノードの内容、及び上記(3)式に基づいて、例えば図6に示すような生成確率を計算する。
【0070】
次に、ステップ108で、上記ステップ106で分解された部分木を用いて、非終端ノード毎の内側確率を、上記(8)式に従って計算する。計算された内側確率は、例えば、図8に示すようなテーブル形式で保持する。
【0071】
次に、ステップ110で、構文木のルートノードX及び単語数Lに基づいて、Xsubをルートノードとする考え得る全ての基本木r∈CFG(Xsub)に対して、確率PCFG(r:Xsub→YZ)×pY,0,j×pZ,j+1,Lを計算し、その確率に基づいてランダムに1つの生成規則^rを生成する。この際、pY,0,jやpZ,j+1,Lは、上記ステップ108で計算された内側確率テーブルを参照することにより値を得る。そして、生成規則^rに含まれる全ての子ノードについて、同様にランダムに1つの生成規則を生成し、全ての子ノードが終端記号となるまで、以上の処理を繰り返す。全ての子ノードが終端記号となった場合には処理を停止し、得られた生成規則の集合を新たな基本木の集合e’とする。
【0072】
次に、ステップ112で、上記ステップ110で生成された新たに基本木の集合e’を受理するか、または棄却するかを、メトロポリス・ヘイスティングス法を用いて、例えば(9)式に従って確率的に決定する。基本木が受理された場合には、ステップ114へ移行し、現在の基本木e(u)(初回はe(0))を、新たに生成された基本木e’に置き換えて、ステップ116へ移行する。棄却された場合には、ステップ114をスキップして、ステップ116へ移行する。
【0073】
ステップ116では、ハイパーパラメータ(dX,θX,d’X,θ’X,sX,aX)を更新する。
【0074】
次に、ステップ118で、現在の学習ステップuが事前に設定された値uthと一致するか否かを判定することにより、学習過程を終了するか否かを判定する。u<uthの場合には、ステップ120へ移行して、学習ステップuを1インクリメントして、ステップ104へ戻り、更新されたパラメータΦ(u)及び基本木e(u)を用いて処理を繰り返す。一方、u=uthの場合には、更新されたパラメータΦ(u)を最適なパラメータ^Φとし、現在の基本木の集合e(u)を最適な基本木の集合^eとして獲得し、獲得結果(^e,^Φ)を出力して、処理を終了する。
【0075】
以上説明したように、第1の実施の形態の基本木獲得装置によれば、構文木の各非終端ノードに、接合操作も導入した木接合文法に基づく内容を示すラベルを付与し、このラベルに基づいて深さ1の部分木に分解し、各部分木の生成確率に基づくノード毎の内側確率を用いて新たな基本木を生成し、構文木が観測された下での基本木の事後確率が最大となる基本木を獲得するため、言語特有の規則などを利用した発見的手法に頼ることなく、言語に依存しない基本木の獲得を行うことができ、また、接合操作の導入により、獲得される基本木の数を削減することができるため、メモリの消費量を抑制しつつ、あらゆる言語に対応することができる。
【0076】
次に、第2の実施の形態について説明する。第2の実施の形態では、入力された構文解析対象文について構文解析を行う構文解析装置に本発明を適用した場合を例に説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【0077】
<構文解析装置の構成>
第2の実施の形態の構文解析装置210は、CPUと、RAMと、後述する構文解析処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することができる。このコンピュータは、機能的には、図10に示すように、木接合文法学習部12と、基本木パラメータ記憶部30と、構文解析部32と、を含んだ構成で表すことができる。木接合文法学習部12は、第1の実施の形態と同様に、基準基本木設定部14と、ラベル付与部15と、構文木分解部16と、内側確率計算部18と、基本木サンプリング部20と、受理棄却判定部22と、パラメータ更新部24と、終了判定部26と、を含んだ構成で表すことができる。
【0078】
基本木パラメータ記憶部30は、木接合文法学習部12で獲得された基本木の集合^e及び確率モデルのパラメータセット^Φが記憶される。
【0079】
構文解析部32は、基本木パラメータ記憶部30に記憶された基本木^e及びパラメータ^Φを用いて、構文木が未知の構文解析対象文Sから構文木を推定する。具体的には、パラメータ^Φを確率モデルに設定し、基本木^eを、構文木分解部16と同様の処理により深さ1の部分木に分解すると共に、各部分木が表す生成規則の生成確率を計算する。次に、内側確率計算部18と同様の処理により、非終端ノード毎の内側確率を計算する。そして、基本木サンプリング部20でトップダウン的に基本木を生成し、生成された基本木の集合で構成される構文木を出力する。構文木が観測されている学習時は、構文木の各ノードにラベルを付与し、それを分解した深さ1の部分木のみを用いて内側確率を計算し、基本木をサンプリングするが、構文解析時は、構文木が不明のため、木接合文法学習部12で獲得した全ての基本木^eを深さ1の部分木に分解し、その部分木を用いて内側確率を計算し、基本木をサンプリングする。その結果、あらゆる構文木の可能性を考慮することができる。
【0080】
<構文解析装置の作用>
次に、第2の実施の形態に係る構文解析装置210の作用について説明する。構文解析装置210のROMに記憶された構文解析プログラムを、CPUが実行することにより、図11に示す基本木獲得処理ルーチンが実行される。
【0081】
ステップ200で、第1の実施の形態の基本木獲得処理(図9)と同様の処理を実行し、読み込んだ構文木コーパス{t}から基本木の集合^e及び確率モデルのパラメータセット^Φを獲得し、次に、ステップ202で、獲得した基本木の集合^e及びパラメータセット^Φを、基本木パラメータ記憶部30に記憶する。
【0082】
次に、ステップ204で、構文解析対象文Sを読み込む。次に、ステップ206で、基本木パラメータ記憶部30から基本木の集合^e及びパラメータセット^Φを読み出す。
【0083】
次に、ステップ208で、上記ステップ206で読み出したパラメータ^Φを確率モデルに設定し、基本木^eを深さ1の部分木に分解すると共に、各部分木が表す生成規則の生成確率を計算し、その生成確率に基づいて、非終端ノード毎の内側確率をボトムアップ的に計算する。そして、上記ステップ204で読み込んだ構文解析対象文Sに対してトップダウン的に基本木を生成して、生成された基本木の集合で構成される構文木を出力する。
【0084】
以上説明したように、第2の実施の形態の構文解析装置によれば、第1の実施の形態の基本木獲得装置により獲得された基本木及びパラメータを用いて構文を解析するため、メモリの消費量を抑制しつつ、言語に依存しない構文解析を行うことができる。
<効果確認実験>
本発明の効果を検証するため、構文解析の実験で広く使われている英語のペンツリーバンクデータを構文木コーパスとして使用し、実際に木接合文法を自動獲得する実験を行った。また、獲得された基本木を用いて構文解析を行い、精度の評価を行った。
【0085】
予め設定するパラメータ値はそれぞれ、(〜d1,〜d2)=(1,1),(〜θ1,〜θ2)=(0.1,10),(〜s1,〜s2)=(1,1),(〜a1,〜a2)=(100,100)とした。
【0086】
構文木コーパスは、非特許文献4に示されている実験設定と同様に、セクション2から21までを学習用データとして用いた。評価用データは、セクション23の構文木情報を取り除いた文を用いた。構文解析の結果は、EVALB(http://nlp.cs.nyu.edu/evalb/)を用いてブラケティングF値を計算し、評価指標として用いた。この結果を図12に示す。本実施の形態の基本木獲得装置で獲得された木接合文法の基本木を用いて、本実施の形態の構文解析装置により行った構文解析の評価値Fは、文脈自由文法の評価値Fを大きく上回った。また、木置換文法よりも約19%少ない基本木の数で、木置換文法とほぼ同等の精度を得た。従って、本実施の形態が少量の基本木を獲得しつつ、高い精度で構文解析を実行できる効果を確認した。
【0087】
なお、上記第2の実施の形態では、基本木獲得装置(木接合文法学習部)を備えた構文解析装置について説明したが、基本木獲得装置と、木接合文法学習部を備えない構文解析装置とを別々に構成してもよい。この場合、基本木獲得装置で獲得された基本木及びパラメータを、ネットワーク等を介して、構文解析装置の基本木パラメータ記憶部に記憶するようにするとよい。また、基本木獲得装置に基本木パラメータ記憶部を設けて、獲得した基本木及びパラメータを記憶しておき、構文解析装置から、ネットワーク等を介して、基本木獲得装置の基本木パラメータ記憶部に記憶された基本木及びパラメータを読み出すようにしてもよい。
【0088】
また、上述の基本木獲得装置及び構文解析装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
【0089】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【0090】
10 基本木獲得装置
12 木接合文法学習部
14 基準基本木設定部
15 ラベル付与部15
16 構文木分解部
18 内側確率計算部
20 基本木サンプリング部
22 受理棄却判定部
24 パラメータ更新部
26 終了判定部
30 基本木パラメータ記憶部
32 構文解析部
210 構文解析装置
【技術分野】
【0001】
本発明は、基本木獲得装置、構文解析装置、方法、及びプログラムに係り、特に、統語的な情報が付与された構文木のコーパスから、木接合文法に基づく基本木を自動獲得する基本木獲得装置、方法、及びプログラム、並びに、獲得された基本木を用いて構文解析を行う構文解析装置、方法、及びプログラムに関する。
【背景技術】
【0002】
文法獲得とは、データから文法的枠組みに基づいた生成規則を獲得することをいう。従来より、統語的な情報が付与された構文木コーパスから、その構文木を構成する生成規則を確率的に獲得する方法が提案されている。文法の枠組みには、例えば、文脈自由文法、木接合文法や文脈依存文法などがある。
【0003】
木接合文法とは、後述する基本木を生成規則とし、これらを組み合わせることにより構文木を生成する文法の枠組みである。構文木の例を図1に、基本木の例を図2に示す。以降、各基本木について、木構造の根に相当するノードをルートノード、末端に位置するノードを葉ノード、それ以外のノードを中間ノードと呼ぶ。また、各ノードに付与されたタグをシンボルと表現する。さらに、“the”、“pretty”などの単語を終端記号、それ以外の“NP”、“VP”などの文法的な情報を表すタグを非終端記号と表現し、終端記号が付与されたノードを終端ノード、非終端記号が付与されたノードを非終端ノードと表現する。
【0004】
基本木は、初期木及び補助木の二種類に分類される。初期木は、例えば図3に示すように、置換操作と呼ばれるシンボルの書き換えによって他の木と結合する。また、補助木は、例えば図4に示すように、接合操作と呼ばれる木の割り込みによって他の木と結合する。補助木は、必ずルートノードと同じシンボルである葉ノードを持つ。
【0005】
従来の木接合文法の獲得方法には、大きく分けると二種類ある。一つは、基本木の型(パターン)を予め定義しておき、EMアルゴリズムなどの方法で構文木から基本木の確率を推定するものである(例えば、非特許文献1参照)。二つ目の方法は、言語学的な知識に基づいて、発見的な方法により基本木を直接獲得した後に、それらの確率を最尤推定によって求める方法である(例えば、非特許文献2参照)。また、近年の自動文法獲得方法には、木置換文法に基づいた方法がある(例えば、非特許文献3参照)。木置換文法は、初期木による置換操作のみで構文木を生成する方法である。非特許文献3に開示されている木置換文法の自動獲得方法は、どのような言語のコーパスにも適用できるという利点がある。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Fei Xia (1999) Extracting tree adjoining grammars from bracketed corpora, In Proceedings of the 5th Natural Language Processing Pacific Rim Symposium (NLPRS), pages 398-403.
【非特許文献2】David Chiang, (2003) Statistical Parsing with an Automatically Extracted Tree Adjoining Grammar, pages 299-316. CSLI Publications.
【非特許文献3】Trevor Cohn, Sharon Goldwater, and Phil Blunsom (2009) Inducing compact but accurate treesubstitution grammars, In Proceedings of HLT-NAACL, pages 548-556, Boulder, Colorado, June. Association for Computational Linguistics.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、非特許文献1のような方法では、予め定義された型に当てはまる基本木しか獲得することができないため、言語毎に基本木の型を定義する必要があり、汎用性に欠ける、という問題がある。また、非特許文献2のような発見的な方法による基本木の獲得の場合も、言語学的な知見に基づいているため、対象言語が変わると同じ獲得方法を適用できない可能性がある、という問題がある。英語や中国語などのよく知られた言語以外でも、同じ方法で基本木を自動獲得できることが望ましい。
【0008】
また、非特許文献3に開示されている木置換文法の自動獲得方法は、言語の種類に依存しない汎用的な方法であるが、木置換文法では置換操作だけで構文木を構成するため、多くの初期木を獲得してしまい、メモリを多く消費してしまう、という問題がある。
【0009】
本発明は、上記問題点を解決するために成されたものであり、メモリの消費量を抑制しつつ、あらゆる言語に対応することができる基本木獲得装置、構文解析装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明の基本木獲得装置は、構文木を構成する複数の基本木各々の情報に基づいて、構文木の各ノードに対して、基底分布に基づいて基本木を生成する非終端ノードであることを示す第1ラベル、保持した基本木の情報に基づいて基本木を生成する非終端ノードであることを示す第2ラベル、置換操作が起こった非終端ノードであることを示す第3ラベル、及び接合操作によって割り込まれた非終端ノードであることを示す第4ラベルを含むラベル群のいずれかのラベルを前記各非終端ノードに付与する付与手段と、各部分木の深さが1となるように前記構文木を部分木に分解する分解手段と、前記構文木が観測された下での基本木の事後確率を示し、かつ所定のパラメータが設定された確率モデル、及び前記各部分木の非終端ノードに付与されたラベルが示す内容に基づいて定まる該部分木の生成確率に基づいて、前記非終端ノード毎に内側確率を算出する算出手段と、前記非終端ノード毎の内側確率に基づいて、所定の非終端ノードをルートノードとする新たな基本木を生成し、全ての葉ノードが終端ノードとなるまで前記新たな基本木の生成を繰り返す生成手段と、前記事後確率が最大となるときの前記生成手段により生成された基本木、及び前記確率モデルの前記所定のパラメータを獲得する獲得手段と、を含んで構成されている。
【0011】
本発明の基本木獲得装置によれば、付与手段が、構文木を構成する複数の基本木各々の情報に基づいて、構文木の各ノードに対して、基底分布に基づいて基本木を生成する非終端ノードであることを示す第1ラベル、保持した基本木の情報に基づいて基本木を生成する非終端ノードであることを示す第2ラベル、置換操作が起こった非終端ノードであることを示す第3ラベル、及び接合操作によって割り込まれた非終端ノードであることを示す第4ラベルを含むラベル群のいずれかのラベルを各非終端ノードに付与し、分解手段が、各部分木の深さが1となるように構文木を部分木に分解する。
【0012】
そして、算出手段が、構文木が観測された下での基本木の事後確率を示し、かつ所定のパラメータが設定された確率モデル、及び各部分木の非終端ノードに付与されたラベルが示す内容に基づいて定まる該部分木の生成確率に基づいて、非終端ノード毎に内側確率を算出し、生成手段が、非終端ノード毎の内側確率に基づいて、所定の非終端ノードをルートノードとする新たな基本木を生成し、全ての葉ノードが終端ノードとなるまで新たな基本木の生成を繰り返す。獲得手段は、事後確率が最大となるときの生成手段により生成された基本木、及び確率モデルの所定のパラメータを獲得する。
【0013】
このように、構文木の各非終端ノードに、接合操作も導入した木接合文法に基づく内容を示すラベルを付与し、このラベルに基づいて構文木を深さ1の部分木に分解し、各部分木の生成確率に基づくノード毎の内側確率を用いて新たな基本木を生成し、構文木が観測された下での基本木の事後確率が最大となる基本木を獲得するため、言語に依存しない基本木の獲得を行うことができ、また、接合操作の導入により、獲得される基本木の数を削減することができるため、メモリの消費量を抑制しつつ、あらゆる言語に対応することができる。
【0014】
また、前記確率モデルは、前記保持した基本木の情報に基づいて基本木を生成する第1確率、及び前記基底分布に基づいて基本木を生成する第2確率を用いて表され、前記第1ラベルが付与された非終端ノードは、前記第2確率に従って生成された非終端ノードであり、前記第2ラベルが付与された非終端ノードは、前記第1確率に従って生成され非終端ノードであり、前記第3ラベルが付与された非終端ノードは、前記第1確率で前記第2ラベルが示す内容の非終端ノードを生成し、前記第2確率で前記第1ラベルが示す内容の非終端ノードを生成し、前記第4ラベルが付与された非終端ノードは、所定の接合確率及び前記第1確率に従って前記第2ラベルが示す内容の非終端ノードを生成し、前記所定の接合確率及び前記第2確率で前記第1ラベルが示す内容の非終端ノードを生成する。
【0015】
また、前記獲得手段は、メトロポリス・ヘイスティングス法により、前記生成手段により生成された新たな基本木を受理または棄却すると共に、前記確率モデルのパラメータを更新し、前記パラメータの更新を所定回数以上行った場合には、現在の基本木及び更新されたパラメータを獲得し、前記パラメータの更新を所定回数以上行っていない場合には、前記現在の基本木を前記分解手段に入力すると共に、前記更新されたパラメータを前記確率モデルに設定することができる。
【0016】
また、本発明の構文解析装置は、上記の基本木獲得装置によって獲得された前記基本木及び前記確率モデルのパラメータを記憶する記憶手段と、前記記憶手段に記憶された前記基本木、及び前記パラメータを設定した前記確率モデルに基づいて、解析対象の構文の構文木構造を解析する解析手段と、を含んで構成されている。また、本発明の構文解析装置は、上記の基本木獲得装置を含んで構成してもよい。
【0017】
また、本発明の基本木獲得方法は、付与手段と、分解手段と、算出手段と、生成手段と、獲得手段とを含む基本木獲得装置における基本木獲得方法であって、前記付与手段は、構文木を構成する複数の基本木各々の情報に基づいて、構文木の各ノードに対して、構文木を構成する複数の基本木各々の各非終端ノードにラベルが付与されていない場合には、基底分布に基づいて基本木を生成する非終端ノードであることを示す第1ラベル、保持した基本木の情報に基づいて基本木を生成する非終端ノードであることを示す第2ラベル、置換操作が起こった非終端ノードであることを示す第3ラベル、及び接合操作によって割り込まれた非終端ノードであることを示す第4ラベルを含むラベル群のいずれかのラベルを前記各非終端ノードに付与し、前記分解手段は、各部分木の深さが1となるように前記構文木を部分木に分解し、前記算出手段は、前記構文木が観測された下での基本木の事後確率を示し、かつ所定のパラメータが設定された確率モデル、及び前記各部分木の非終端ノードに付与されたラベルが示す内容に基づいて定まる該部分木の生成確率に基づいて、前記非終端ノード毎に内側確率を算出し、前記生成手段は、前記非終端ノード毎の内側確率に基づいて、所定の非終端ノードをルートノードとする新たな基本木を生成し、全ての葉ノードが終端ノードとなるまで前記新たな基本木の生成を繰り返し、前記獲得手段は、前記事後確率が最大となるときの前記生成手段により生成された基本木、及び前記確率モデルの前記所定のパラメータを獲得する方法である。
【0018】
また、本発明の構文解析方法は、記憶手段、及び解析手段を含む構文解析装置における構文解析方法であって、前記記憶手段には、上記の基本木獲得装置によって獲得された前記基本木及び前記確率モデルのパラメータが記憶され、前記解析手段は、前記記憶手段に記憶された前記基本木、及び前記パラメータを設定した前記確率モデルに基づいて、解析対象の構文の構文木構造を解析する方法である。
【0019】
また、本発明の基本木獲得プログラムは、コンピュータを、上記の基本木獲得装置を構成する各手段として機能させるためのプログラムである。
【0020】
また、本発明の構文解析プログラムは、コンピュータを、上記の構文解析装置を構成する各手段として機能させるためのプログラムである。
【発明の効果】
【0021】
以上説明したように、本発明の基本木獲得装置、構文解析装置、方法、及びプログラムによれば、構文木の各非終端ノードに、接合操作も導入した木接合文法に基づく内容を示すラベルを付与し、このラベルに基づいて構文木を深さ1の部分木に分解し、各部分木の生成確率に基づくノード毎の内側確率を用いて新たな基本木を生成し、構文木が観測された下での基本木の事後確率が最大となる基本木を獲得するため、言語に依存しない基本木の獲得を行うことができ、また、接合操作の導入により、獲得される基本木の数を削減することができるため、メモリの消費量を抑制しつつ、あらゆる言語に対応することができる、という効果が得られる。
【図面の簡単な説明】
【0022】
【図1】構文木の一例示す図である。
【図2】基本木の一例を示す図である。
【図3】置換操作を説明するための図である。
【図4】接合操作を説明するための図である。
【図5】各非終端ノードにラベルが付与された構文木の一例を示す図である。
【図6】深さ1に分解された部分木及びその部分木の生成確率の一例を示す図である。
【図7】第1の実施の形態の基本木獲得装置の機能構成を示すブロック図である。
【図8】内側確率テーブルを示す図である。
【図9】第1の実施の形態の基本木獲得装置における基本木獲得処理ルーチンの内容を示すフローチャートである。
【図10】第2の実施の形態の構文解析装置の機能構成を示すブロック図である。
【図11】第2の実施の形態の構文解析装置における構文解析処理ルーチンの内容を示すフローチャートである。
【図12】効果確認結果を示す表である。
【発明を実施するための形態】
【0023】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0024】
<本実施の形態の確率モデル>
文法獲得(基本木の獲得)の問題は、与えられた構文木tから、tを構成する基本木の集合eを獲得することである。構文木が与えられたとき、基本木の事後確率p(e|t;Φ)は、ベイズの定理を用いて、下記(1)式のように計算できる。
【0025】
【数1】
【0026】
木接合文法では、初期木または補助木を一つずつ生成し、全ての葉ノードが終端記号、すなわち単語になったときに生成を停止する。全ての葉ノードが終端記号になったとき、これらの終端記号列が構文木tと一致するとき、p(t|e)=1となり、そうでない場合はp(t|e)=0となる。一つずつ生成される基本木eを、インデックスiを用いてei(i=1,2,・・・)とする。
【0027】
本実施の形態では、非特許文献4(Y.W. Teh(2006) A Bayesian Interpretation of Interpolated Kneser-Ney. Technical Report TRA2/06, School of Computing, NUS.)に開示されているベイズモデルを用いて、p(e)をモデル化する。このモデルは、基本木eiが、今までに生成された基本木e1,・・・,ei−1 に依存するモデルであり、下記(2)式のように定義される。
【0028】
【数2】
【0029】
ただし、e−i=e1,・・・,ei−1は、1回目から(i−1)回目までに生成された基本木の集合である。Xは基本木eiのルートシンボルを表す。また、αei,X及びβXは、下記(3)式で表される。
【0030】
【数3】
【0031】
n−iei,Xは、e−iのうちeiと同じ基本木が何回生成されたかを表す。また、この確率モデルは、内部で各基本木が何回生成されたかという情報を、いくつかのクラスタに分けて保存する。例えば、ある基本木がこれまでに10回生成されたとすると、この確率モデルの内部では、(3回,7回)という2つのクラスタになって保持している場合もあれば、(2回,3回,5回)のように3つのクラスタになっている場合もある。このとき、tei,Xは、基本木eiがモデル内部でいくつのクラスタに分割されているかを表す。また、n−i・,X及びt・,Xは、下記(4)式で表される。
【0032】
【数4】
【0033】
この確率モデルは、Pitman−Yor過程と呼ばれ、非特許文献4に詳細が開示されている。
【0034】
本実施の形態では、初期木及び補助木の確率分布をそれぞれ独立に(2)式で定義する。以降、初期木の確率モデルのパラメータを{dX,θX}、補助木の確率モデルのパラメータを{d’X,θ’X}と区別する。同様に、(2)式の変数をそれぞれ{αei,X,βX}、{α’ei,X,β’X}と区別する。初期木による置換操作は、葉ノードが非終端記号であれば確率1で必ず実行される。一方で、補助木の接合操作は中間ノードに対して実行される場合と実行されない場合とがある。そこで、接合確率aXを新たに導入すると、補助木eiが中間ノードXに対して接合される確率は、下記(5)式となる。
【0035】
【数5】
【0036】
また、(2)式中のP0(ei|X)は、基底分布と呼ばれ、基本木eiの基底となる確率分布である。したがって、ΣeiP0(ei|X)=1を満たす必要がある。基底分布の実現例として、例えば、下記(6)式のように定義することができる。
【0037】
【数6】
【0038】
ただし、CFG(ei)は、eiを深さが1の部分木に分解した生成規則の集合を表す。例えば、rが二分木の場合、A→BCという形式をとる。ここで、Aはルートノード、B及びCはAの子ノードである。PMLE(r)は、生成規則rの最尤推定値であり、例えば、r=A→BCとき、下記(7)式のように計算することができる。
【0039】
【数7】
【0040】
ただし、count(A)はコーパス中にシンボルAが何回出現したかを表し、count(A→BC)はコーパス中に生成規則A→BCが何回出現したかを表す。LEAF(ei)、INTERNAL(ei)はそれぞれ、eiの葉ノード及び中間ノードの集合を表す。例えば、eiを図2(c)とすると、CFG(ei)={NP→DT N,N→girl}、LEAF(ei)={DT,girl}、INTERNAL(ei)={N}となる。sXは、停止確率と呼ばれ、初期木または補助木の生成がノードXで停止する確率を表す。
【0041】
本実施の形態の基本木獲得装置では、事後確率p(e|t;Φ)を最大にする基本木e及びパラメータセットΦ={dX,θX,sX,aX}を学習する。
【0042】
<本実施の形態における構文木の分解>
(2)式に基づいて構文木を生成するために、本実施の形態では、構文木中の各非終端ノードを、そのノードの内容に従って、以下のように4つのタイプ(X(base)、X(e)、Xsub、Xadj(type))に分類し(下記[タイプ1]〜[タイプ4])、タイプに応じたラベルを付与する。なお、Xは非終端ノードに付与されたシンボルである。また、基本木を生成する際に、それが(2)式の第1項目(αei,X)からの生成なのか、第2項目(βXP0(ei|X))からの生成なのかを区別する。第1項目からの生成は、以前生成した基本木e−iの中から、確率的にいずれかを選択することに相当する。一方で、第2項目からの生成は、基底分布P0(ei|X)に従って新たに基本木を生成する。基底分布から新たに生成された基本木は、以前生成された基本木のいずれかと一致する場合もあれば、今までに生成したことのない基本木であることもある。
【0043】
ここで、タイプ別のラベル毎に、各非終端ノードの内容を示す。
【0044】
[タイプ1]X(base):基底分布、すなわち(2)式の第2項目から生成された基本木のルートノードまたは中間ノードを表す。このノードは、基底分布P0に従って基本木を生成するノードである。
【0045】
[タイプ2]X(e*):(2)式の第1項目から生成された基本木のルートノードまたは中間ノードを表す。e*は基本木の情報を格納した変数であり、例えば、図2(c)の場合、e*=NP(DT)(N girl)と表され、X=NPとなる。この場合、NP(NP(DT)(N girl))は、基本木の情報e*=NP(DT)(N girl)に従って、NP(NP(DT)(N girl))→(DT)(N girl)という規則を生成する。同様に、N(N girl)は、N(N girl)→girlという規則を生成する。これにより、図2(c)の基本木を、A→BCという深さが1の部分木の組み合わせで生成することが可能となる。
【0046】
[タイプ3]Xsub:置換操作が起こったノードを表す。このノードは、確率αei,XでX(e) を生成し、確率βXでX(base)を生成する。
【0047】
[タイプ4]Xadj(type*):接合操作が起こったノードを表す。type*は、上記のbaseまたはe*のいずれかが入る変数であり、接合操作によって割り込まれる前のノードがX(type*)であったことを意味する。このノードは、確率α’ei,XでXadj(type*)(e*)を生成し、確率β’XでXadj(type*)(base)を生成する。例えば、Xadj(type*)(e*)は、ノードX(type*)に対して、(2)式の第1項目から生成された補助木eが接合されたことを意味する。図4に示すように、接合操作によって割り込まれたノード及びその子ノードは、補助木の葉ノードと結合されるため、Xadj(type*)(e*)、Xadj(type*)(base)はどちらもX(type*)を葉ノードとして生成する。
【0048】
構文木データの各非終端ノードを、上記の4つのいずれかのタイプに分類すれば、構文木を構成する基本木の集合が確定される。ただし、観測データとして得られる構文木コーパスには、これらのタイプはラベル付けされていないため、学習によってこれらのタイプを推定する。一例として、図4に示すように1つの初期木(NP(DT the)(N girl))と、1つの補助木(N(JJ pretty)(N))とで構成される構文木を考える。この構文木の各非終端ノードシンボルを上記の4つのタイプに分類した例を図5に示す。そして、このラベルが付与された構文木を深さが1の部分木に分解する。深さが1の部分木とは、その部分木が示す生成規則がA→BCのように表せる(親ノード及び子ノードのみで表せる)部分木をいう。各部分木が表す生成規則に対して生成確率を図6のように定義すると、(2)式に従って基本木を生成することと等しくなる。例えば、[タイプ3]のラベルが付与されたノードXsubは置換操作が起こったノードなので、確率αei,XでX(e*)を生成し、確率βXでX(base)を生成するように設定する。これは、(2)式の第1項目から基本木を生成するのか、または第2項目から生成するのかを確率的に選ぶことに相当する。このように、全ての構文木を深さが1の部分木に分解し、部分木毎に適切な生成確率を割り当てる操作が構文木の分解である。
【0049】
<基本木獲得装置の構成>
次に、構文木コーパスを訓練データとして、基本木を獲得する基本木獲得装置に本発明を適用した場合を例にして、第1の実施の形態を説明する。
【0050】
第1の実施の形態の基本木獲得装置は、CPUと、RAMと、後述する基本木獲得処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することができる。このコンピュータは、機能的には、図7に示すように、木接合文法学習部12を構成している。木接合文法学習部12は、構文木tが観測された下での基本木の集合eの事後確率を示す確率モデルp(e|t;Φ)のパラメータΦを指定回数だけ逐次更新することで、最適な基本木の集合^e及び最適なパラメータ^Φを求めるものである。以下、基本木の集合及びパラメータの初期値をe(0)及びΦ(0)とし、u回目の更新後の基本木の集合及びパラメータをとe(u)及びΦ(u)と表記する。
【0051】
木接合文法学習部12は、初期基本木及び初期パラメータを設定する基準基本木設定部14と、基本木の情報に基づいて構文木にラベル付与を行うラベル付与部15と、ラベルが付与された構文木を部分木に分解する構文木分解部16と、各部分木の生成確率に基づいて各ノードの内側確率を計算する内側確率計算部18と、各ノードの内側確率に基づいて、新たな基本木を生成する基本木サンプリング部20と、新たな基本木を受理するか棄却するかを判定する受理棄却判定部22と、確率モデルのパラメータを更新するパラメータ更新部24と、学習処理を終了するか否かを判定する終了判定部26と、を含んだ構成で表すことができる。
【0052】
基準基本木設定部14は、構文木コーパス{t}のデータを読み込む。構文木コーパスとは、文にNPやVPなどの文法的な役割が付与された木構造(構文木)で構成されるコーパスである。なお、ここで読み込む構文木コーパス{t}の各非終端ノードには、上述の[タイプ1]〜[タイプ4]のどのタイプに該当するかのラベルは付与されていない。構文木コーパス{t}は、基本木獲得装置10の訓練データ記憶部(図示省略)に予め記憶しておくことができる。また、外部装置に記憶された構文木コーパス{t}を、ネットワーク等を介して読み込むようにしてもよい。基準基本木設定部14は、読み込んだ構文木コーパス{t}に対して、初期基本木e(0)及び初期パラメータΦ(0)を設定する。
【0053】
ラベル付与部15は、基準基本木設定部14により設定された基本木の集合e(0)、または後述の終了判定部26から出力された基本木の集合e(u)の情報に基づいて、構文木コーパスに含まれる全ての構文木tの各非終端ノードに対して、上述の[タイプ1]〜[タイプ4]のいずれかのラベルを付与する。ラベルの情報は基本木の情報と1対1に対応しているため、ラベル付与は確定的に行うことができる。
【0054】
構文木分解部16は、各構文木を、深さが1の単純な部分木に分解し、各部分木が表す生成規則に対して、例えば図6に示すような生成確率を計算する。各部分木の生成確率は、各部分木を構成するルートノード及び子ノードに付与されたラベルのタイプが示すノードの内容に基づいて計算することができる。また、図6に示した生成確率内のαei,Xやα’ei,Xは、上記(3)式により求めることができる。
【0055】
内側確率計算部18は、構文木分解部16で分解された部分木を用いて、構文木の内側確率を計算する。内側確率pX,i,kとは、非終端ノードX(Xはこの非終端ノードに付されたシンボル)からあらゆる規則を使って単語列のi番目からk番目までの連続する領域を出力する確率を指す。なお、内側確率の定義は非特許文献5(K. Lari and S.J. Young (1991) Applications of stochastic context-free grammars using the inside-outside algorithm, Computer Speech & Language, 5(3):237-257.)に開示されている。内側確率は、基本木が深さ1であれば下記(8)式に示すように、再帰的に計算することができる。
【0056】
【数8】
【0057】
ただし、PCFG(r:X→YZ)は、構文木分解部16で分解された深さが1の部分木X→YZの生成確率である。また、X、Y及びZの各シンボルが付された非終端ノードは、各々上記の4タイプのいずれかに分類された非終端ノードである。各非終端ノードについて内側確率を計算し、計算された内側確率は、例えば、図8に示すようなテーブル形式で保持する。
【0058】
基本木サンプリング部20は、内側確率計算部18により計算された内側確率テーブルに基づいて、トップダウン的に新たな基本木e’を生成する。例えば、ルートノードがVP、単語数がLの構文木の場合を考える。構文木のルートノードでは必ず初期木による置換が起こるため、VPsubから基本木の生成を開始する。まず、VPsubをルートノードとする考え得る全ての基本木r∈CFG(VPsub)に対して、確率PCFG(r:VPsub→YZ)×pY,0,j×pZ,j+1,Lを計算し、その確率に基づいてランダムに1つの生成規則^rを生成する。なお、pY,0,jやpZ,j+1,Lは、内側確率計算部18で作成した内側確率テーブルを参照することにより値が得られる。次に、生成規則^rに含まれる全ての子ノードについて、同様にランダムに1つの生成規則を生成する。以上の処理を繰り返していき、全ての子ノードが終端記号、すなわち単語となったときに生成を停止する。このようにして得られた生成規則の集合を新たな基本木の集合e’とする。
【0059】
受理棄却判定部22では、基本木サンプリング部20で新たに生成された基本木の集合e’を受理するか、または棄却するかを、メトロポリス・ヘイスティングス法を用いて確率的に決定する。メトロポリス・ヘイスティングス法は、非特許文献6(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.)に詳細が開示されている。基本木の集合e’が受理された場合には、現在の基本木e(u)を、新たに生成された基本木e’に置き換える。棄却された場合には、基本木サンプリング部20で新たに生成された基本木e’は棄却され、現在の基本木e(u)をそのまま保持する。新たな基本木e’を受理する確率は、下記(9)式により計算する。
【0060】
【数9】
【0061】
ただし、基本木サンプリング部20で現在扱っている文をlとし、e−lはl以外の全ての文の構文木を構成する基本木の集合を表す。wlは、現在扱っている文lの単語列である。
【0062】
パラメータ更新部24は、非特許文献5に開示されている方法を用いて、以下のようにハイパーパラメータ(dX,θX,d’X,θ’X,sX,aX)を更新する。
【0063】
【数10】
【0064】
また、(〜d1,〜d2,〜θ1,〜θ2,〜s1,〜s2,〜a1,〜a2)は、予め設定された値である。
【0065】
終了判定部26は、現在の学習ステップuが事前に設定された値uthと一致するか否かを判定することにより、学習過程を終了するか否かを判定する。uthには予め学習過程の所定の更新回数を定めておく。uがuthと一致する場合には、更新されたパラメータΦ(u)を最適なパラメータ^Φとし(^Φ←Φ(u))、現在の基本木の集合e(u)を最適な基本木の集合^eとして(^e←e(u))、学習過程を停止する。u<uthの場合、すなわち、予め定めた所定の更新回数分の学習過程をまだ終了していない場合には、学習ステップuを1インクリメントして(u←u+1)、更新されたパラメータΦ(u)及び基本木e(u)を再度、ラベル付与部15へ出力する。
【0066】
<基本木獲得装置の作用>
次に、第1の実施の形態に係る基本木獲得装置10の作用について説明する。基本木獲得装置10のROMに記憶された基本木獲得プログラムを、CPUが実行することにより、図9に示す基本木獲得処理ルーチンが実行される。
【0067】
ステップ100で、予め訓練データ記憶部に記憶された構文木コーパス{t}のデータを読み込み、次に、ステップ102で、初期基本木e(0)及び初期パラメータΦ(0)を設定する。
【0068】
次に、ステップ104で、上記ステップ100で読み込んだ構文木コーパス{t}の構文木各々の各非終端ノードに対して、上記ステップ102で設定した基本木の集合e(0}の情報に基づいて、基本木の情報と1対1に対応するラベルの情報に従って、上述の[タイプ1]〜[タイプ4]のいずれかのラベルを付与する。
【0069】
次に、ステップ106で、各構文木を、深さが1の単純な部分木に分解し、各部分木が表す生成規則毎に、各部分木を構成するルートノード及び子ノードに付与されたラベルのタイプが示すノードの内容、及び上記(3)式に基づいて、例えば図6に示すような生成確率を計算する。
【0070】
次に、ステップ108で、上記ステップ106で分解された部分木を用いて、非終端ノード毎の内側確率を、上記(8)式に従って計算する。計算された内側確率は、例えば、図8に示すようなテーブル形式で保持する。
【0071】
次に、ステップ110で、構文木のルートノードX及び単語数Lに基づいて、Xsubをルートノードとする考え得る全ての基本木r∈CFG(Xsub)に対して、確率PCFG(r:Xsub→YZ)×pY,0,j×pZ,j+1,Lを計算し、その確率に基づいてランダムに1つの生成規則^rを生成する。この際、pY,0,jやpZ,j+1,Lは、上記ステップ108で計算された内側確率テーブルを参照することにより値を得る。そして、生成規則^rに含まれる全ての子ノードについて、同様にランダムに1つの生成規則を生成し、全ての子ノードが終端記号となるまで、以上の処理を繰り返す。全ての子ノードが終端記号となった場合には処理を停止し、得られた生成規則の集合を新たな基本木の集合e’とする。
【0072】
次に、ステップ112で、上記ステップ110で生成された新たに基本木の集合e’を受理するか、または棄却するかを、メトロポリス・ヘイスティングス法を用いて、例えば(9)式に従って確率的に決定する。基本木が受理された場合には、ステップ114へ移行し、現在の基本木e(u)(初回はe(0))を、新たに生成された基本木e’に置き換えて、ステップ116へ移行する。棄却された場合には、ステップ114をスキップして、ステップ116へ移行する。
【0073】
ステップ116では、ハイパーパラメータ(dX,θX,d’X,θ’X,sX,aX)を更新する。
【0074】
次に、ステップ118で、現在の学習ステップuが事前に設定された値uthと一致するか否かを判定することにより、学習過程を終了するか否かを判定する。u<uthの場合には、ステップ120へ移行して、学習ステップuを1インクリメントして、ステップ104へ戻り、更新されたパラメータΦ(u)及び基本木e(u)を用いて処理を繰り返す。一方、u=uthの場合には、更新されたパラメータΦ(u)を最適なパラメータ^Φとし、現在の基本木の集合e(u)を最適な基本木の集合^eとして獲得し、獲得結果(^e,^Φ)を出力して、処理を終了する。
【0075】
以上説明したように、第1の実施の形態の基本木獲得装置によれば、構文木の各非終端ノードに、接合操作も導入した木接合文法に基づく内容を示すラベルを付与し、このラベルに基づいて深さ1の部分木に分解し、各部分木の生成確率に基づくノード毎の内側確率を用いて新たな基本木を生成し、構文木が観測された下での基本木の事後確率が最大となる基本木を獲得するため、言語特有の規則などを利用した発見的手法に頼ることなく、言語に依存しない基本木の獲得を行うことができ、また、接合操作の導入により、獲得される基本木の数を削減することができるため、メモリの消費量を抑制しつつ、あらゆる言語に対応することができる。
【0076】
次に、第2の実施の形態について説明する。第2の実施の形態では、入力された構文解析対象文について構文解析を行う構文解析装置に本発明を適用した場合を例に説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【0077】
<構文解析装置の構成>
第2の実施の形態の構文解析装置210は、CPUと、RAMと、後述する構文解析処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することができる。このコンピュータは、機能的には、図10に示すように、木接合文法学習部12と、基本木パラメータ記憶部30と、構文解析部32と、を含んだ構成で表すことができる。木接合文法学習部12は、第1の実施の形態と同様に、基準基本木設定部14と、ラベル付与部15と、構文木分解部16と、内側確率計算部18と、基本木サンプリング部20と、受理棄却判定部22と、パラメータ更新部24と、終了判定部26と、を含んだ構成で表すことができる。
【0078】
基本木パラメータ記憶部30は、木接合文法学習部12で獲得された基本木の集合^e及び確率モデルのパラメータセット^Φが記憶される。
【0079】
構文解析部32は、基本木パラメータ記憶部30に記憶された基本木^e及びパラメータ^Φを用いて、構文木が未知の構文解析対象文Sから構文木を推定する。具体的には、パラメータ^Φを確率モデルに設定し、基本木^eを、構文木分解部16と同様の処理により深さ1の部分木に分解すると共に、各部分木が表す生成規則の生成確率を計算する。次に、内側確率計算部18と同様の処理により、非終端ノード毎の内側確率を計算する。そして、基本木サンプリング部20でトップダウン的に基本木を生成し、生成された基本木の集合で構成される構文木を出力する。構文木が観測されている学習時は、構文木の各ノードにラベルを付与し、それを分解した深さ1の部分木のみを用いて内側確率を計算し、基本木をサンプリングするが、構文解析時は、構文木が不明のため、木接合文法学習部12で獲得した全ての基本木^eを深さ1の部分木に分解し、その部分木を用いて内側確率を計算し、基本木をサンプリングする。その結果、あらゆる構文木の可能性を考慮することができる。
【0080】
<構文解析装置の作用>
次に、第2の実施の形態に係る構文解析装置210の作用について説明する。構文解析装置210のROMに記憶された構文解析プログラムを、CPUが実行することにより、図11に示す基本木獲得処理ルーチンが実行される。
【0081】
ステップ200で、第1の実施の形態の基本木獲得処理(図9)と同様の処理を実行し、読み込んだ構文木コーパス{t}から基本木の集合^e及び確率モデルのパラメータセット^Φを獲得し、次に、ステップ202で、獲得した基本木の集合^e及びパラメータセット^Φを、基本木パラメータ記憶部30に記憶する。
【0082】
次に、ステップ204で、構文解析対象文Sを読み込む。次に、ステップ206で、基本木パラメータ記憶部30から基本木の集合^e及びパラメータセット^Φを読み出す。
【0083】
次に、ステップ208で、上記ステップ206で読み出したパラメータ^Φを確率モデルに設定し、基本木^eを深さ1の部分木に分解すると共に、各部分木が表す生成規則の生成確率を計算し、その生成確率に基づいて、非終端ノード毎の内側確率をボトムアップ的に計算する。そして、上記ステップ204で読み込んだ構文解析対象文Sに対してトップダウン的に基本木を生成して、生成された基本木の集合で構成される構文木を出力する。
【0084】
以上説明したように、第2の実施の形態の構文解析装置によれば、第1の実施の形態の基本木獲得装置により獲得された基本木及びパラメータを用いて構文を解析するため、メモリの消費量を抑制しつつ、言語に依存しない構文解析を行うことができる。
<効果確認実験>
本発明の効果を検証するため、構文解析の実験で広く使われている英語のペンツリーバンクデータを構文木コーパスとして使用し、実際に木接合文法を自動獲得する実験を行った。また、獲得された基本木を用いて構文解析を行い、精度の評価を行った。
【0085】
予め設定するパラメータ値はそれぞれ、(〜d1,〜d2)=(1,1),(〜θ1,〜θ2)=(0.1,10),(〜s1,〜s2)=(1,1),(〜a1,〜a2)=(100,100)とした。
【0086】
構文木コーパスは、非特許文献4に示されている実験設定と同様に、セクション2から21までを学習用データとして用いた。評価用データは、セクション23の構文木情報を取り除いた文を用いた。構文解析の結果は、EVALB(http://nlp.cs.nyu.edu/evalb/)を用いてブラケティングF値を計算し、評価指標として用いた。この結果を図12に示す。本実施の形態の基本木獲得装置で獲得された木接合文法の基本木を用いて、本実施の形態の構文解析装置により行った構文解析の評価値Fは、文脈自由文法の評価値Fを大きく上回った。また、木置換文法よりも約19%少ない基本木の数で、木置換文法とほぼ同等の精度を得た。従って、本実施の形態が少量の基本木を獲得しつつ、高い精度で構文解析を実行できる効果を確認した。
【0087】
なお、上記第2の実施の形態では、基本木獲得装置(木接合文法学習部)を備えた構文解析装置について説明したが、基本木獲得装置と、木接合文法学習部を備えない構文解析装置とを別々に構成してもよい。この場合、基本木獲得装置で獲得された基本木及びパラメータを、ネットワーク等を介して、構文解析装置の基本木パラメータ記憶部に記憶するようにするとよい。また、基本木獲得装置に基本木パラメータ記憶部を設けて、獲得した基本木及びパラメータを記憶しておき、構文解析装置から、ネットワーク等を介して、基本木獲得装置の基本木パラメータ記憶部に記憶された基本木及びパラメータを読み出すようにしてもよい。
【0088】
また、上述の基本木獲得装置及び構文解析装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
【0089】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【0090】
10 基本木獲得装置
12 木接合文法学習部
14 基準基本木設定部
15 ラベル付与部15
16 構文木分解部
18 内側確率計算部
20 基本木サンプリング部
22 受理棄却判定部
24 パラメータ更新部
26 終了判定部
30 基本木パラメータ記憶部
32 構文解析部
210 構文解析装置
【特許請求の範囲】
【請求項1】
構文木を構成する複数の基本木各々の情報に基づいて、構文木の各ノードに対して、基底分布に基づいて基本木を生成する非終端ノードであることを示す第1ラベル、保持した基本木の情報に基づいて基本木を生成する非終端ノードであることを示す第2ラベル、置換操作が起こった非終端ノードであることを示す第3ラベル、及び接合操作によって割り込まれた非終端ノードであることを示す第4ラベルを含むラベル群のいずれかのラベルを前記各非終端ノードに付与する付与手段と、
各部分木の深さが1となるように前記構文木を部分木に分解する分解手段と、
前記構文木が観測された下での基本木の事後確率を示し、かつ所定のパラメータが設定された確率モデル、及び前記各部分木の非終端ノードに付与されたラベルが示す内容に基づいて定まる該部分木の生成確率に基づいて、前記非終端ノード毎に内側確率を算出する算出手段と、
前記非終端ノード毎の内側確率に基づいて、所定の非終端ノードをルートノードとする新たな基本木を生成し、全ての葉ノードが終端ノードとなるまで前記新たな基本木の生成を繰り返す生成手段と、
前記事後確率が最大となるときの前記生成手段により生成された基本木、及び前記確率モデルの前記所定のパラメータを獲得する獲得手段と、
を含む基本木獲得装置。
【請求項2】
前記確率モデルは、前記保持した基本木の情報に基づいて基本木を生成する第1確率、及び前記基底分布に基づいて基本木を生成する第2確率を用いて表され、
前記第1ラベルが付与された非終端ノードは、前記第2確率に従って生成された非終端ノードであり、前記第2ラベルが付与された非終端ノードは、前記第1確率に従って生成され非終端ノードであり、前記第3ラベルが付与された非終端ノードは、前記第1確率で前記第2ラベルが示す内容の非終端ノードを生成し、前記第2確率で前記第1ラベルが示す内容の非終端ノードを生成し、前記第4ラベルが付与された非終端ノードは、所定の接合確率及び前記第1確率に従って前記第2ラベルが示す内容の非終端ノードを生成し、前記所定の接合確率及び前記第2確率で前記第1ラベルが示す内容の非終端ノードを生成する
請求項1記載の基本木獲得装置。
【請求項3】
前記獲得手段は、メトロポリス・ヘイスティングス法により、前記生成手段により生成された新たな基本木を受理または棄却すると共に、前記確率モデルのパラメータを更新し、前記パラメータの更新を所定回数以上行った場合には、現在の基本木及び更新されたパラメータを獲得し、前記パラメータの更新を所定回数以上行っていない場合には、前記現在の基本木及び前記更新されたパラメータを、前記分解手段に入力する請求項1または請求項2記載の基本木獲得装置。
【請求項4】
請求項1〜請求項3のいずれか1項記載の基本木獲得装置によって獲得された前記基本木及び前記確率モデルのパラメータを記憶する記憶手段と、
前記記憶手段に記憶された前記基本木、及び前記パラメータを設定した前記確率モデルに基づいて、解析対象の構文の構文木構造を解析する解析手段と、
を含む構文解析装置。
【請求項5】
請求項1〜請求項3のいずれか1項記載の基本木獲得装置を含む請求項4記載の構文解析装置。
【請求項6】
付与手段と、分解手段と、算出手段と、生成手段と、獲得手段とを含む基本木獲得装置における基本木獲得方法であって、
前記付与手段は、構文木を構成する複数の基本木各々の情報に基づいて、構文木の各ノードに対して、構文木を構成する複数の基本木各々の各非終端ノードにラベルが付与されていない場合には、基底分布に基づいて基本木を生成する非終端ノードであることを示す第1ラベル、保持した基本木の情報に基づいて基本木を生成する非終端ノードであることを示す第2ラベル、置換操作が起こった非終端ノードであることを示す第3ラベル、及び接合操作によって割り込まれた非終端ノードであることを示す第4ラベルを含むラベル群のいずれかのラベルを前記各非終端ノードに付与し、
前記分解手段は、各部分木の深さが1となるように前記構文木を部分木に分解し、
前記算出手段は、前記構文木が観測された下での基本木の事後確率を示し、かつ所定のパラメータが設定された確率モデル、及び前記各部分木の非終端ノードに付与されたラベルが示す内容に基づいて定まる該部分木の生成確率に基づいて、前記非終端ノード毎に内側確率を算出し、
前記生成手段は、前記非終端ノード毎の内側確率に基づいて、所定の非終端ノードをルートノードとする新たな基本木を生成し、全ての葉ノードが終端ノードとなるまで前記新たな基本木の生成を繰り返し、
前記獲得手段は、前記事後確率が最大となるときの前記生成手段により生成された基本木、及び前記確率モデルの前記所定のパラメータを獲得する
基本木獲得方法。
【請求項7】
記憶手段、及び解析手段を含む構文解析装置における構文解析方法であって、
前記記憶手段には、請求項1〜請求項3のいずれか1項記載の基本木獲得装置によって獲得された前記基本木及び前記確率モデルのパラメータが記憶され、
前記解析手段は、前記記憶手段に記憶された前記基本木、及び前記パラメータを設定した前記確率モデルに基づいて、解析対象の構文の構文木構造を解析する
構文解析方法。
【請求項8】
コンピュータを、請求項1〜請求項3のいずれか1項記載の基本木獲得装置を構成する各手段として機能させるための基本木獲得プログラム。
【請求項9】
コンピュータを、請求項4または請求項5記載の構文解析装置を構成する各手段として機能させるための構文解析プログラム。
【請求項1】
構文木を構成する複数の基本木各々の情報に基づいて、構文木の各ノードに対して、基底分布に基づいて基本木を生成する非終端ノードであることを示す第1ラベル、保持した基本木の情報に基づいて基本木を生成する非終端ノードであることを示す第2ラベル、置換操作が起こった非終端ノードであることを示す第3ラベル、及び接合操作によって割り込まれた非終端ノードであることを示す第4ラベルを含むラベル群のいずれかのラベルを前記各非終端ノードに付与する付与手段と、
各部分木の深さが1となるように前記構文木を部分木に分解する分解手段と、
前記構文木が観測された下での基本木の事後確率を示し、かつ所定のパラメータが設定された確率モデル、及び前記各部分木の非終端ノードに付与されたラベルが示す内容に基づいて定まる該部分木の生成確率に基づいて、前記非終端ノード毎に内側確率を算出する算出手段と、
前記非終端ノード毎の内側確率に基づいて、所定の非終端ノードをルートノードとする新たな基本木を生成し、全ての葉ノードが終端ノードとなるまで前記新たな基本木の生成を繰り返す生成手段と、
前記事後確率が最大となるときの前記生成手段により生成された基本木、及び前記確率モデルの前記所定のパラメータを獲得する獲得手段と、
を含む基本木獲得装置。
【請求項2】
前記確率モデルは、前記保持した基本木の情報に基づいて基本木を生成する第1確率、及び前記基底分布に基づいて基本木を生成する第2確率を用いて表され、
前記第1ラベルが付与された非終端ノードは、前記第2確率に従って生成された非終端ノードであり、前記第2ラベルが付与された非終端ノードは、前記第1確率に従って生成され非終端ノードであり、前記第3ラベルが付与された非終端ノードは、前記第1確率で前記第2ラベルが示す内容の非終端ノードを生成し、前記第2確率で前記第1ラベルが示す内容の非終端ノードを生成し、前記第4ラベルが付与された非終端ノードは、所定の接合確率及び前記第1確率に従って前記第2ラベルが示す内容の非終端ノードを生成し、前記所定の接合確率及び前記第2確率で前記第1ラベルが示す内容の非終端ノードを生成する
請求項1記載の基本木獲得装置。
【請求項3】
前記獲得手段は、メトロポリス・ヘイスティングス法により、前記生成手段により生成された新たな基本木を受理または棄却すると共に、前記確率モデルのパラメータを更新し、前記パラメータの更新を所定回数以上行った場合には、現在の基本木及び更新されたパラメータを獲得し、前記パラメータの更新を所定回数以上行っていない場合には、前記現在の基本木及び前記更新されたパラメータを、前記分解手段に入力する請求項1または請求項2記載の基本木獲得装置。
【請求項4】
請求項1〜請求項3のいずれか1項記載の基本木獲得装置によって獲得された前記基本木及び前記確率モデルのパラメータを記憶する記憶手段と、
前記記憶手段に記憶された前記基本木、及び前記パラメータを設定した前記確率モデルに基づいて、解析対象の構文の構文木構造を解析する解析手段と、
を含む構文解析装置。
【請求項5】
請求項1〜請求項3のいずれか1項記載の基本木獲得装置を含む請求項4記載の構文解析装置。
【請求項6】
付与手段と、分解手段と、算出手段と、生成手段と、獲得手段とを含む基本木獲得装置における基本木獲得方法であって、
前記付与手段は、構文木を構成する複数の基本木各々の情報に基づいて、構文木の各ノードに対して、構文木を構成する複数の基本木各々の各非終端ノードにラベルが付与されていない場合には、基底分布に基づいて基本木を生成する非終端ノードであることを示す第1ラベル、保持した基本木の情報に基づいて基本木を生成する非終端ノードであることを示す第2ラベル、置換操作が起こった非終端ノードであることを示す第3ラベル、及び接合操作によって割り込まれた非終端ノードであることを示す第4ラベルを含むラベル群のいずれかのラベルを前記各非終端ノードに付与し、
前記分解手段は、各部分木の深さが1となるように前記構文木を部分木に分解し、
前記算出手段は、前記構文木が観測された下での基本木の事後確率を示し、かつ所定のパラメータが設定された確率モデル、及び前記各部分木の非終端ノードに付与されたラベルが示す内容に基づいて定まる該部分木の生成確率に基づいて、前記非終端ノード毎に内側確率を算出し、
前記生成手段は、前記非終端ノード毎の内側確率に基づいて、所定の非終端ノードをルートノードとする新たな基本木を生成し、全ての葉ノードが終端ノードとなるまで前記新たな基本木の生成を繰り返し、
前記獲得手段は、前記事後確率が最大となるときの前記生成手段により生成された基本木、及び前記確率モデルの前記所定のパラメータを獲得する
基本木獲得方法。
【請求項7】
記憶手段、及び解析手段を含む構文解析装置における構文解析方法であって、
前記記憶手段には、請求項1〜請求項3のいずれか1項記載の基本木獲得装置によって獲得された前記基本木及び前記確率モデルのパラメータが記憶され、
前記解析手段は、前記記憶手段に記憶された前記基本木、及び前記パラメータを設定した前記確率モデルに基づいて、解析対象の構文の構文木構造を解析する
構文解析方法。
【請求項8】
コンピュータを、請求項1〜請求項3のいずれか1項記載の基本木獲得装置を構成する各手段として機能させるための基本木獲得プログラム。
【請求項9】
コンピュータを、請求項4または請求項5記載の構文解析装置を構成する各手段として機能させるための構文解析プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−181676(P2012−181676A)
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願番号】特願2011−44160(P2011−44160)
【出願日】平成23年3月1日(2011.3.1)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願日】平成23年3月1日(2011.3.1)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]