| 【発明の名称】 |
構文解析装置および構文解析方法 |
| 【発明者】 |
【氏名】円城寺 淳
|
| 【要約】 |
【課題】確率文脈自由文法に代表されるような確率的モデルを用いる手法においてルールの適用確率を処理対象や利用者に合わせてチューニングすることが可能な構文解析装置および構文解析方法を提供すること。
【解決手段】文入力を行う入力部1と、入力文を形態素に分割する形態素解析部3と、翻訳に必要な語彙情報を格納した単語辞書4と、単語辞書を検索する辞書検索部5と、構文解析等に必要な知識を格納したルール辞書10と、複数品詞が候補となった単語についてどの品詞による解釈で解析を進めるかを決定する多品詞解消部6と、解析対象文の構文を解析する構文解析部7と、入力文及び構文解析部により行なわれた構文解析の結果を格納する記憶部2と、ルールに付与された適用確率の学習を行なう学習部8と、構文解析部により行われた構文解析結果を表示する表示部9と、各データの流れを制御する制御部11とを有する。 |
【特許請求の範囲】
【請求項1】文の入力を行う入力部と、前記入力部により入力された文を形態素に分割する形態素解析部と、品詞や意味素など構文解析に必要な語彙情報を格納した単語辞書と、前記単語辞書を検索する辞書検索部と、構文解析等に必要な知識を格納したルール辞書と、複数の品詞が候補となった単語について、どの品詞による解釈によって解析を進めるかを決定する多品詞解消部と、解析対象文の構文を解析する構文解析部と、前記入力部により入力された文及び前記構文解析部により行なわれた構文解析の結果を格納する記憶部と、ルールに付与された適用確率の学習を行なう学習部と、前記構文解析部により行われた構文解析結果を表示する表示部と、各データの流れを制御する制御部とを有する構文解析装置。 【請求項2】前記学習部は、ルールが適用された際に、前記適用されたルールの使用回数を増加させることによりルールの適用確率を更新する請求項1に記載の構文解析装置。 【請求項3】前記学習部は、構文解析の結果、複数の構文木が生成され、ユーザ解と装置解が異なる時に、適用されるべきではなかったが適用されてしまったルールの使用回数を減少させ、適用されるべきであったが適用されなかったルールの使用回数を増加させることにより、ルールの適用確率を更新する請求項1または2に記載の構文解析装置。 【請求項4】文の入力を行う入力ステップと、前記入力ステップで入力された文を形態素に分割する形態素解析ステップと、品詞や意味素など構文解析に必要な語彙情報を格納した単語辞書を検索する検索ステップと、複数の品詞が候補となった単語について、どの品詞による解釈によって解析を進めるかを決定する多品詞解消ステップと、解析対象文の構文を解析する構文解析ステップと、構文解析等に必要な知識を格納したルール辞書からのルールが適用された際に、前記適用されたルールの使用回数を増加させることによりルールの適用確率を更新させる学習ステップと、前記入力ステップで入力された文及び前記構文解析ステップにより行われた構文解析の結果を格納する格納ステップとを有する構文解析方法。 【請求項5】前記学習ステップにおいて、構文解析の結果、複数の構文木が生成され、ユーザとの対話により得られたユーザ解と装置解が異なる時に、適用されるべきではなかったが適用されてしまったルールの使用回数を減少させ、適用されるべきであったが適用されなかったルールの使用回数を増加させることにより、ルールの適用確率を学習させる請求項4に記載の構文解析方法。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、自然言語で書かれた文を文法ルール及び種々の優先ルールによって解析し、その構造を明らかにする構文解析装置および構文解析方法に関する。 【0002】 【従来の技術】近年、パソコンの普及やインターネットに代表される情報通信ネットワークの発達に伴い、情報の国際化が急速に進展してきており、他国語の情報を目にする機会が非常に多くなってきている。このような情報の活用を行うために機械翻訳装置や情報検索装置の利用機会が増大している。これらの装置を利用可能にするためには、入力された文を文法ルール及び種々の優先ルールによって解析する装置すなわち構文解析装置が必要となる。 【0003】構文解析装置における構文解析には、係り受けのあいまい性解消、省略された要素の補完、単語の多義性の解消など、解決されるべき問題が多く存在するが、これらの問題に完全に対処できる構文解析装置は存在しない。これらの問題のうち、構文のあいまい性を解消する方法として、確率文脈自由文法に代表される確率的モデルを用いる手法が考案されている。この確率的モデルで、構文のあいまい性を解消する方法は、次の通りである。 【0004】文法中の各生成ルールA→αに対して、Aが与えられた場合にその生成ルールが適用される条件付き適用確率P(A→α|A)を付与する。このような条件付き適用確率を計算する最も簡単な方法は構文解析済みのコーパスを利用する方法である。生成ルールの適用確率は、次のように計算される。 【0005】P(A→α|A)=(コーパス中のA→αの使用回数)/(コーパス中のAの出現回数) 構文解析を行なって構文のあいまい性により複数の解析木が得られたとき、生成ルールの適用確率を利用して、それぞれの構文木の生起確率を求め、生起確率が最大の構文木を構文解析の結果として保存する。 【0006】 【発明が解決しようとする課題】しかしながら、自然言語は開いた体系であり、上記従来の構文解析装置では、大規模な構文解析済みのコーパスから生成ルールの適用確率を得たとしても、人間が使用する全ての文に対応するのは不可能であるという問題点があった。 【0007】この構文解析装置および構文解析方法では、構文解析時に発生する構文あいまい性を解消するために、確率文脈自由文法に代表されるような確率的モデルを用いる手法において、ルールの適用確率を処理対象や利用者に合わせてチューニングすることが要求されている。 【0008】本発明は、確率文脈自由文法に代表されるような確率的モデルを用いる手法においてルールの適用確率を処理対象や利用者に合わせてチューニングすることが可能な構文解析装置、および、確率文脈自由文法に代表されるような確率的モデルを用いる手法においてルールの適用確率を処理対象や利用者に合わせてチューニングする構文解析方法を提供することを目的とする。 【0009】 【課題を解決するための手段】この課題を解決するために本発明の構文解析装置は、文の入力を行う入力部と、入力部により入力された文を形態素に分割する形態素解析部と、品詞や意味素など構文解析に必要な語彙情報を格納した単語辞書と、単語辞書を検索する辞書検索部と、構文解析等に必要な知識を格納したルール辞書と、複数の品詞が候補となった単語について、どの品詞による解釈によって解析を進めるかを決定する多品詞解消部と、解析対象文の構文を解析する構文解析部と、入力部により入力された文及び構文解析部により行なわれた構文解析の結果を格納する記憶部と、ルールに付与された適用確率の学習を行なう学習部と、構文解析部により行われた構文解析結果を表示する表示部と、各データの流れを制御する制御部とを有する構成を備えている。 【0010】これにより、確率文脈自由文法に代表されるような確率的モデルを用いる手法においてルールの適用確率を処理対象や利用者に合わせてチューニングすることが可能な構文解析装置が得られる。 【0011】この課題を解決するための本発明の構文解析方法は、文の入力を行う入力ステップと、入力ステップで入力された文を形態素に分割する形態素解析ステップと、品詞や意味素など構文解析に必要な語彙情報を格納した単語辞書を検索する検索ステップと、複数の品詞が候補となった単語について、どの品詞による解釈によって解析を進めるかを決定する多品詞解消ステップと、解析対象文の構文を解析する構文解析ステップと、構文解析等に必要な知識を格納したルール辞書からのルールが適用された際に、適用されたルールの使用回数を増加させることによりルールの適用確率を更新させる学習ステップと、入力ステップで入力された文及び構文解析ステップにより行われた構文解析の結果を格納する格納ステップとを有する構成を備えている。 【0012】これにより、確率文脈自由文法に代表されるような確率的モデルを用いる手法においてルールの適用確率を処理対象や利用者に合わせてチューニングする構文解析方法が得られる。 【0013】 【発明の実施の形態】本発明の請求項1に記載の発明は、文の入力を行う入力部と、入力部により入力された文を形態素に分割する形態素解析部と、品詞や意味素など構文解析に必要な語彙情報を格納した単語辞書と、単語辞書を検索する辞書検索部と、構文解析等に必要な知識を格納したルール辞書と、複数の品詞が候補となった単語について、どの品詞による解釈によって解析を進めるかを決定する多品詞解消部と、解析対象文の構文を解析する構文解析部と、入力部により入力された文及び構文解析部により行なわれた構文解析の結果を格納する記憶部と、ルールに付与された適用確率の学習を行なう学習部と、構文解析部により行われた構文解析結果を表示する表示部と、各データの流れを制御する制御部とを有することとしたものであり、ルールに付与された適用確率の学習を行なうことにより、構文解析時に発生する構文あいまい性を解消するために付与されたルールの適用確率が処理対象や利用者に合わせてチューニングされるという作用を有する。 【0014】請求項2に記載の発明は、請求項1に記載の発明において、学習部は、ルールが適用された際に、適用されたルールの使用回数を増加させることによりルールの適用確率を更新することとしたものであり、処理対象や利用者に合わせたルールの適用確率が設定されるという作用を有する。 【0015】請求項3に記載の発明は、請求項1または2に記載の発明において、学習部は、構文解析の結果、複数の構文木が生成され、ユーザ解と装置解が異なる時に、適用されるべきではなかったが適用されてしまったルールの使用回数を減少させ、適用されるべきであったが適用されなかったルールの使用回数を増加させることにより、ルールの適用確率を更新することとしたものであり、ルールの適用確率の信頼性が向上するという作用を有する。 【0016】請求項4に記載の発明は、文の入力を行う入力ステップと、入力ステップで入力された文を形態素に分割する形態素解析ステップと、品詞や意味素など構文解析に必要な語彙情報を格納した単語辞書を検索する検索ステップと、複数の品詞が候補となった単語について、どの品詞による解釈によって解析を進めるかを決定する多品詞解消ステップと、解析対象文の構文を解析する構文解析ステップと、構文解析等に必要な知識を格納したルール辞書からのルールが適用された際に、適用されたルールの使用回数を増加させることによりルールの適用確率を更新させる学習ステップと、入力ステップで入力された文及び構文解析ステップにより行われた構文解析の結果を格納する格納ステップとを有することとしたものであり、処理対象や利用者に合わせたルールの適用確率が設定されるという作用を有する。 【0017】請求項5に記載の発明は、請求項4に記載の発明の学習ステップにおいて、構文解析の結果、複数の構文木が生成され、ユーザとの対話により得られたユーザ解と装置解が異なる時に、適用されるべきではなかったが適用されてしまったルールの使用回数を減少させ、適用されるべきであったが適用されなかったルールの使用回数を増加させることにより、ルールの適用確率を学習させることとしたものであり、確率モデルを用いたルールの適用確率の信頼性が向上するという作用を有する。 【0018】以下、本発明の実施の形態について、図1から図6を用いて説明する。 (実施の形態1)図1は本発明の実施の形態1による構文解析装置を示すブロック図である。1は文の入力を行う入力部、2は入力された文や構文解析の結果を格納する記憶部、3は入力された文を形態素に分割する形態素解析部、4は品詞や意味素など翻訳に必要な語彙情報を格納した単語辞書、5は単語辞書4を検索する辞書検索部、6は複数の品詞が候補となった単語について、どの品詞による解釈によって解析を進めるかを決定する多品詞解消部、7は解析対象文の構文を解析する構文解析部、8は生成確率の学習を行なう学習部、9は構文解析結果を表示する表示部、10は多品詞解消や構文解析に必要な知識を格納したルール辞書、11は各データの流れを制御する制御部である。 【0019】図2は、図1の構文解析装置を具体化して示す装置ブロック図である。21はキーボード、22は中央処理装置(CPU)、23は陰極線ディスプレイ(CRT)、24はリードオンリーメモリ(ROM)、25はランダムアクセスメモリ(RAM)である。図1に示した入力部1はキーボード21に対応し、表示部9はCRT23に、記憶部2及びルール辞書10はRAM25に、単語辞書4はROM24に対応する。また、形態素解析部3、辞書検索部5、多品詞解消部6、構文解析部7、学習部8及び制御部11は、CPU22が、ROM24及びRAM25とデータのやりとりを行いながら、ROM24に記憶されているプログラムを実行することにより実現される。 【0020】以上のように構成された構文解析装置について、以下その動作を説明する。図3は図1の構文解析装置の主処理を示すフローチャートであり、図4は図1の構文解析装置の構文解析、学習処理を示すフローチャート、図5、図6は本実施の形態において得られた構文木の例を示す構文木図である。(表1)に、本実施の形態における構文解析で用いられる文法ルールの例を示す。 【0021】 【表1】
【0022】なお、以降の説明では、入力文の言語として英語を、文法として確率文脈自由文法を考えるが、入力文の言語は英語に限定されるものではなく、文法も文脈自由文法に限定されるものではない。 【0023】入力文の例として、“I saw a girl with a teles−cope.”を考える。この文は、図5及び図6のような二つの構造を持ちうる。図5は、「望遠鏡(a telescope)」で「少女(a girl)」を「見た(saw)」という構造を表わし、図6は、「望遠鏡を持った少女(a girl with a telescope)」を「見た(saw)」という構造を表わしている。図5、図6において、Sは文を示し、NPは名詞句、VPは動詞句、PPは前置詞句、RRONは固有名詞、Vは動詞を示す。 【0024】図3において、まず、入力部1から構文解析対象の文が入力される(S1)。次に、形態素解析部3は、辞書検索部5により単語辞書4に登録された語の検索を行ないながら、対象文の形態素解析を行なう(S2)。次に、多品詞解消部6が、ステップ2での形態素解析の結果、複数の品詞の可能性があるものに対し、どの品詞による解釈に基づき解析を行なうかをルール辞書10に記されたルールを用いて決定する(S3)。 【0025】次に、構文解析部7および学習部8により、構文解析処理およびルールの適用回数を更新する学習処理が行なわれる(S4)。次に、制御部11は、ステップ4で得られた構文解析の結果を記憶部2に記憶し(S5)、ステップ5で記憶された構文解析の結果を表示部9に表示して処理を終了する(S6)。 【0026】次に、図3のステップ4の構文解析、学習処理について、図4を用いて詳細に説明する。図4において、ステップ11〜15は構文解析処理、ステップ16〜21は学習処理である。 【0027】まず、構文解析部7がルール辞書部10に記されたルールを用いて構文解析を行なう。例文“I saw a girl with a telescope.”の場合、図5及び図6に示す2種類の解析結果(構文木)が得られる(S11)。次に、制御部11はステップ11で得られた解析結果を記憶部2に記憶する。次に、構文解析部7は、構文解析の結果にあいまい性があるか否かを判定し(S13)、構文解析結果にあいまい性がある場合、すなわち、複数の解析木が得られた場合はステップ14に進み、あいまい性がない場合、すなわち、ただ一つの解析木が得られた場合はこの構文解析、学習処理を終了する。例では、図5及び図6に示す2種類の解析木が得られるので、あいまい性があると判断され、ステップ14に進む。 【0028】ステップ14では、制御部11は、それぞれの構文木の生起確率を計算し、最適解の候補を決定する。解析済みのコーパスからルールの適用回数を調べることにより、適用確率が既に得られているとする。適切な生成ルールを選択するために、従来の確率モデルを用いた文法と同様に、構文木の生起確率を比べ、確率の最も大きな構文木を構文解析装置の解(以下、「装置解」という)とする。図5の構文木が得られる確率P5、図6の構文木が得られる確率P6はそれぞれ次式で求められる。 【0029】P5=P(S→NP VP|S)×P(NP→N|NP)×P(VP→V NP|VP)×…×P(N→telescope|N) P6=P(S→NP VP|S)×P(NP→N|NP)×P(VP→VP PP|VP)×…×P(N→telescope|N)なお、(表1)の規則(ルール)1、2及び3の適用確率は、(表1)中の記号を用いて、次式で求められる。 【0030】p1=n1/Np2=n2/Np3=n3/NここでN=n1+n2+n3である。この結果、P5よりもP6の方が大きな値が得られたとする。この場合、制御部11で得られた装置解は、図6の構文木となる。 【0031】次に、制御部11は、予め行われたユーザの設定により、学習を行なうか否かを判定する(S15)。学習を行なう場合はステップ16に進み、学習を行なわない場合はこの処理を終了する。ステップ16では、制御部11は、ステップ11で得られた構文木の候補を表示部9に表示する。次に、ステップ16で表示された候補を見てユーザは正しい構文木を選択する(S17)。ステップ17での選択結果(以下、「ユーザ解」という)は制御部11に通知される。次に、制御部11は、ステップ14で得られた装置解とステップ17で得られたユーザ解が一致しているか否かを判定する。装置解とユーザ解が一致した場合は、ステップ21に進み、一致しなかった場合は、ステップ19に進む。 【0032】ステップ19では、学習部8は、ペナルティとして、適用されるべきではなかった生成ルールの適用確率が低くなるようにルールの使用回数を調整し、ステップ20に進む。ステップ20では、適用されるべきであった生成ルールの適用確率が大きくなるようにルールの使用回数を調整してステップ21に進む。例として、ユーザが図5の構文木を選択した場合を考える。文をトップダウンに解析することを考えると、図5と図6の構文木の違いは、図5と図6の最上段のVPの生成ルールの違いに端を発する。そこで、適用されたルールのうち、VPを左辺とするルールにペナルティを与えることを考える。(表1)のルール2が適用されるべきルールで、ルール3が適用されるべきではないルールである。そこで、次式のようにして、ルール3の適用確率が小さくなるようにルール3の使用回数にペナルティを与え、ルール2の適用確率が大きくなるようにルールの使用回数を調節する。 【0033】n2=n2+1n3=n3-1ステップ21では、報酬として、ユーザ解で使用された全てのルールの使用回数を増加させて、この構文解析、学習処理を終了する。図5の構文木が、ユーザ解である場合、図5中の全てのルールの使用回数を増加させる。例えば、この木を作るのに(表1)のルール2が適用されているが、このルールの使用回数を次式のように増加させる。 【0034】n2=n2+1このようにして、図5で使われた全てのルールの使用回数を増加させる。この結果、次式を計算することにより、各ルールの適用確率が更新される。 【0035】p1=n1/Np2=n2/Np3=n3/N【0036】 【発明の効果】以上のように本発明の請求項1に記載の構文解析装置によれば、文の入力を行う入力部と、入力部により入力された文を形態素に分割する形態素解析部と、品詞や意味素など翻訳に必要な語彙情報を格納した単語辞書と、単語辞書を検索する辞書検索部と、構文解析等に必要な知識を格納したルール辞書と、複数の品詞が候補となった単語について、どの品詞による解釈によって解析を進めるかを決定する多品詞解消部と、解析対象文の構文を解析する構文解析部と、入力部により入力された文及び構文解析部により行なわれた構文解析の結果を格納する記憶部と、ルールに付与された適用確率の学習を行なう学習部と、構文解析部により行われた構文解析結果を表示する表示部と、各データの流れを制御する制御部とを有することにより、構文解析時に発生する構文あいまい性を解消するために付与されたルールの適用確率を処理対象や利用者に合わせてチューニングすることができるので、処理対象や利用者に合った構文解析結果を取得できるという有利な効果が得られる。 【0037】請求項2に記載の発明によれば、請求項1に記載の発明において、学習部は、ルールが適用された際に、適用されたルールの使用回数を増加させることによりルールの適用確率を更新することにより、処理対象や利用者に合わせたルールの適用確率を設定することができるという有利な効果が得られる。 【0038】請求項3に記載の発明によれば、請求項1または2に記載の発明において、学習部は、構文解析の結果、複数の構文木が生成され、ユーザ解と装置解が異なる時に、適用されるべきではなかったが適用されてしまったルールの使用回数を減少させ、適用されるべきであったが適用されなかったルールの使用回数を増加させることにより、ルールの適用確率を更新することにより、ルールの適用確率の信頼性を向させ、構文解析の精度を向上させることができるという有利な効果が得られる。 【0039】請求項4に記載の構文解析方法によれば、文の入力を行う入力ステップと、入力ステップで入力された文を形態素に分割する形態素解析ステップと、品詞や意味素など翻訳に必要な語彙情報を格納した単語辞書を検索する検索ステップと、複数の品詞が候補となった単語について、どの品詞による解釈によって解析を進めるかを決定する多品詞解消ステップと、解析対象文の構文を解析する構文解析ステップと、構文解析等に必要な知識を格納したルール辞書からのルールが適用された際に、適用されたルールの使用回数を増加させることによりルールの適用確率を更新させる学習ステップと、入力ステップで入力された文及び構文解析ステップにより行われた構文解析の結果を格納する格納ステップとを有することにより、処理対象や利用者に合わせたルールの適用確率を設定することができるという有利な効果が得られる。 【0040】請求項5に記載の発明によれば、請求項4に記載の発明の学習ステップにおいて、構文解析の結果、複数の構文木が生成され、ユーザとの対話により得られたユーザ解と装置解が異なる時に、適用されるべきではなかったが適用されてしまったルールの使用回数を減少させ、適用されるべきであったが適用されなかったルールの使用回数を増加させることにより、ルールの適用確率を学習させることにより、確率モデルを用いたルールの適用確率の信頼性を向上させ、構文解析の精度を向上させることができるという有利な効果が得られる。
|
| 【出願人】 |
【識別番号】000005821 【氏名又は名称】松下電器産業株式会社
|
| 【出願日】 |
平成9年(1997)9月2日 |
| 【代理人】 |
【弁理士】 【氏名又は名称】滝本 智之 (外1名)
|
| 【公開番号】 |
特開平11−85748 |
| 【公開日】 |
平成11年(1999)3月30日 |
| 【出願番号】 |
特願平9−236778 |
|