JPH0333977A - 構文解析装置における文法誤り発見方法 - Google Patents
構文解析装置における文法誤り発見方法Info
- Publication number
- JPH0333977A JPH0333977A JP1168051A JP16805189A JPH0333977A JP H0333977 A JPH0333977 A JP H0333977A JP 1168051 A JP1168051 A JP 1168051A JP 16805189 A JP16805189 A JP 16805189A JP H0333977 A JPH0333977 A JP H0333977A
- Authority
- JP
- Japan
- Prior art keywords
- grammatical
- syntax
- program
- errors
- analysis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 47
- 238000001514 detection method Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Machine Translation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野〉
本発明は、自然言語で表現された入力文を構文解析した
後、その構文解析処理の出力である構文解析木にアクセ
スして、入力文の文法的な誤りを発見する構文解析装置
における文法誤り発見方法に関するものである。
後、その構文解析処理の出力である構文解析木にアクセ
スして、入力文の文法的な誤りを発見する構文解析装置
における文法誤り発見方法に関するものである。
(従来の技術)
従来、このような分野の技術としては、特開昭60−3
3663号公報(文献t)に記載されるものがあった。
3663号公報(文献t)に記載されるものがあった。
自然言語をコンピュータシステムで理解しようとする場
合、まず構文解析装置を用いて構文解析を行い、文の構
造を明らかにし、係り受けの状態を把握する。その後、
例えば構文解析の結果と、それぞれの語の意味情報から
、コンピュータシステムで処理しやすい形の意味表現を
生成する。
合、まず構文解析装置を用いて構文解析を行い、文の構
造を明らかにし、係り受けの状態を把握する。その後、
例えば構文解析の結果と、それぞれの語の意味情報から
、コンピュータシステムで処理しやすい形の意味表現を
生成する。
従来の構文解析の原理は、解析対象たる文の種類〈例え
ば、英語、日本語等の文の種類〉に応じて、句構造規則
を作成しておき、入力された文の各単語の組合せを旬構
造規則に当てはめることに會 より、入力された文を句構造規則の組合せとして表すこ
とにより、入力された文の構造を知るものであった。
ば、英語、日本語等の文の種類〉に応じて、句構造規則
を作成しておき、入力された文の各単語の組合せを旬構
造規則に当てはめることに會 より、入力された文を句構造規則の組合せとして表すこ
とにより、入力された文の構造を知るものであった。
ところで、入力された文が文法的に完全に正しい文であ
れば、構文解析の結果をそのまま用いて、コンピュータ
システムで処理することができる。
れば、構文解析の結果をそのまま用いて、コンピュータ
システムで処理することができる。
しかし、入力文に文法的な誤りがある場合、前記の構文
解析の原理を単純に適用するだけでは、構文解析が不可
能となったり、あるいはその構文解析結果の信頼性が低
くなる。そのため、その構文解析の結果をコンピュータ
システムで適確に処理することが困難となる。そこで従
来から、構文解析装置における文法誤り発見方法が種々
提案されており、その−例が前記文献■に記載されてい
る。
解析の原理を単純に適用するだけでは、構文解析が不可
能となったり、あるいはその構文解析結果の信頼性が低
くなる。そのため、その構文解析の結果をコンピュータ
システムで適確に処理することが困難となる。そこで従
来から、構文解析装置における文法誤り発見方法が種々
提案されており、その−例が前記文献■に記載されてい
る。
前記文献↓の方法では、構文解析にカット(CUt)と
称する特殊な状態遷移を導入し、バックトラックを抑制
することにより、文中の文法的な誤りを認識するもので
あった。例えば、入力した文に冠詞が現れた場合、それ
は名詞句の始まりであって、以下には必ず形容詞か名詞
のいずれかが来ると予想できるので、そこにカットをい
れてそれ以上のバックトラック(もう−度前記冠詞の前
に戻ってそこから解析をやり直すこと〉を禁止し、予想
した晶洞が現われなかった場合には、その語は誤りを含
んでいると推定できるというものである。この方法では
、バック1〜ラツクという無駄を省いて解析の効率化が
図れる。
称する特殊な状態遷移を導入し、バックトラックを抑制
することにより、文中の文法的な誤りを認識するもので
あった。例えば、入力した文に冠詞が現れた場合、それ
は名詞句の始まりであって、以下には必ず形容詞か名詞
のいずれかが来ると予想できるので、そこにカットをい
れてそれ以上のバックトラック(もう−度前記冠詞の前
に戻ってそこから解析をやり直すこと〉を禁止し、予想
した晶洞が現われなかった場合には、その語は誤りを含
んでいると推定できるというものである。この方法では
、バック1〜ラツクという無駄を省いて解析の効率化が
図れる。
(発明が解決しようとする課題)
しかしながら、上記の方法では、文法的な間違いを発見
できるのは、カットを入れることが可能な場所について
だけである。このカットを入れられる場所は、ある条件
により、後続の品詞が決定できる場所に限られるため、
細部の間違いについては発見することができないという
問題があった。
できるのは、カットを入れることが可能な場所について
だけである。このカットを入れられる場所は、ある条件
により、後続の品詞が決定できる場所に限られるため、
細部の間違いについては発見することができないという
問題があった。
そこでこの問題を解決するため、本願出願人らは、先に
特開平1−45499号明細書く文献2〉において、次
のような提案(1)、(2)を行った。
特開平1−45499号明細書く文献2〉において、次
のような提案(1)、(2)を行った。
(1〉 前記文献2に記載された文法誤り発見方法では
、構文解析を行うためのデータである句構造規則の中に
、誤った文法に対応した句構造規則を予めつけ加えてお
く。そして、構文解析を行つた結果、誤った句構造規則
が使われていれば、その句構造規則に対応する部分が誤
っているということがわかる、という方法である。
、構文解析を行うためのデータである句構造規則の中に
、誤った文法に対応した句構造規則を予めつけ加えてお
く。そして、構文解析を行つた結果、誤った句構造規則
が使われていれば、その句構造規則に対応する部分が誤
っているということがわかる、という方法である。
(2) また、前記文献2には、構文解析を行いながら
、句構造規則と対で記述されている誤り発見プログラム
を実行して、文法誤りを発見する方法も記載されている
。この方法における文法誤りを発見するのに必要な情報
、及び文法誤りを発見する処理は、次のような内容とな
っている。
、句構造規則と対で記述されている誤り発見プログラム
を実行して、文法誤りを発見する方法も記載されている
。この方法における文法誤りを発見するのに必要な情報
、及び文法誤りを発見する処理は、次のような内容とな
っている。
構文解析を行う場合、単語辞書及び文法規則を参照し、
構文解析を実行していく。単語辞書中の各単語は、見出
し語、品詞名の他に、文法誤りを発見する際に必要な情
報を持つ。また、文法規則中に設けられる各句構造規則
には、その句構造規則の適用される部分が文法的に正し
いかどうかを調べるためのルールと、その句構造規則が
適用される部分より上でないと調べられない文法誤りを
調べる時に、必要な情報を必要になる時点まで上げてい
く処理とが、プログラムの形で記述されている。そこで
、構文解析を行いながら、文法規則に記述されている処
理を実行することにより、文法誤りの発見が行われる。
構文解析を実行していく。単語辞書中の各単語は、見出
し語、品詞名の他に、文法誤りを発見する際に必要な情
報を持つ。また、文法規則中に設けられる各句構造規則
には、その句構造規則の適用される部分が文法的に正し
いかどうかを調べるためのルールと、その句構造規則が
適用される部分より上でないと調べられない文法誤りを
調べる時に、必要な情報を必要になる時点まで上げてい
く処理とが、プログラムの形で記述されている。そこで
、構文解析を行いながら、文法規則に記述されている処
理を実行することにより、文法誤りの発見が行われる。
ところが、前記(1)、(2>の方法等においても、次
のような理由(A>、(B)により、技術的に十分満足
の行くものが得られなかった。
のような理由(A>、(B)により、技術的に十分満足
の行くものが得られなかった。
(A) 前記(1)の方法では、基本的に、句構造規
則をつけ加えることによって発見できる誤りは、語順を
誤っているものに限られ、その他の誤りについては発見
できないという問題がある。ここで、前記文献lと前記
文献2(1)の方法において、旬構造規則に現れる品詞
を細分化し、句構造規則の数を増やせば、それに応じて
間違いを発見できる。しかし、句構造規則の数が増える
ことにより、構文解析の処理速度が遅くなるという問題
が生ずる。
則をつけ加えることによって発見できる誤りは、語順を
誤っているものに限られ、その他の誤りについては発見
できないという問題がある。ここで、前記文献lと前記
文献2(1)の方法において、旬構造規則に現れる品詞
を細分化し、句構造規則の数を増やせば、それに応じて
間違いを発見できる。しかし、句構造規則の数が増える
ことにより、構文解析の処理速度が遅くなるという問題
が生ずる。
(B) 前記文献2(2)の方法では、誤り発見プロ
グラムを実行する際に必要な情報を得るために、構文解
析木の下の方から、必要とするところまで情報を上げて
いくプログラムを、予め記述しておかなければならない
。しかし、下の木を作っている段階では、上でどのよう
に木が成長するがが判然としないため、上で必要とされ
ることが予想される情報をすべて上げることが必要であ
ったり、あるいは、チェック項目の優先順位等によって
、上げる情報を取捨選択する必要が生ずることもある。
グラムを実行する際に必要な情報を得るために、構文解
析木の下の方から、必要とするところまで情報を上げて
いくプログラムを、予め記述しておかなければならない
。しかし、下の木を作っている段階では、上でどのよう
に木が成長するがが判然としないため、上で必要とされ
ることが予想される情報をすべて上げることが必要であ
ったり、あるいは、チェック項目の優先順位等によって
、上げる情報を取捨選択する必要が生ずることもある。
そのため、誤りを発見するための情報を記述する人や、
誤り発見のためのルールを記述する人は、対象としてい
る文法体系全体、つまり記述されている句構造規則の一
つ一つについて、どのような文章を解析するためのもの
であるかといったことを知悉しており、さらに規則と規
則の結び付き方についても知悉していなければならない
。
誤り発見のためのルールを記述する人は、対象としてい
る文法体系全体、つまり記述されている句構造規則の一
つ一つについて、どのような文章を解析するためのもの
であるかといったことを知悉しており、さらに規則と規
則の結び付き方についても知悉していなければならない
。
さらに、発見しようとする文法誤りの項目に変更がある
と、文法に記述されている誤り発見プログラムを変更し
なければならないが、プログラム変更時に、他の誤り発
見処理に副作用(悪影響〉をおこしていないか等と、他
との整合性をチェックしながら、変更処理を行わなくて
はならない。
と、文法に記述されている誤り発見プログラムを変更し
なければならないが、プログラム変更時に、他の誤り発
見処理に副作用(悪影響〉をおこしていないか等と、他
との整合性をチェックしながら、変更処理を行わなくて
はならない。
本発明は、前記従来技術が持っていた課題として、誤り
発見に制限を受ける点と、誤り発見プログラムの作成・
変更・修正等が容易に行なえない点について解決した、
構文解析装置における文法誤り発見方法を提供するもの
である。
発見に制限を受ける点と、誤り発見プログラムの作成・
変更・修正等が容易に行なえない点について解決した、
構文解析装置における文法誤り発見方法を提供するもの
である。
(課題を解決するための手段)
本発明は、前記課題を解決するために、プログラム制御
により、入力文の構文解析を行うと共に、文法誤りを発
見する構文解析装置における文法誤り発見方法において
、文法規則と、文法誤りを発見するための構文情報を含
む単語辞書とを参照して、構文解析プログラムを実行し
、前記入力文の構文を解析して構文解析木を生成し、前
記構文情報を参照して、対象とする文法チェック項目毎
の文法誤り発見プログラムを実行し、前記構文解析木に
アクセスして文法誤りを発見するようにしたものである
。
により、入力文の構文解析を行うと共に、文法誤りを発
見する構文解析装置における文法誤り発見方法において
、文法規則と、文法誤りを発見するための構文情報を含
む単語辞書とを参照して、構文解析プログラムを実行し
、前記入力文の構文を解析して構文解析木を生成し、前
記構文情報を参照して、対象とする文法チェック項目毎
の文法誤り発見プログラムを実行し、前記構文解析木に
アクセスして文法誤りを発見するようにしたものである
。
(作用〉
本発明によれば、以上のように構文解析装置における文
法誤り発見方法を構成したので、構文解析処理を行ない
、その構文解析処理結果である構文解析木に基づき、入
力文の文法誤りを発見する処理を行なうことにより、構
文解析処理と文法誤り発見処理とが分離され、それによ
って文法誤り発見プログラムの作成が容易となる。文法
誤りを発見する処理は、一つ一つの文法誤り毎に、構文
解析木にアクセスして文法誤りを発見するプログラムと
して記述され、対象とする文法誤りの項目に着目して誤
り発見プログラムを作成すればよく、それによってその
プログラムの作成・変更・修正等が容易となる。従って
、前記課題を解決できるのである。
法誤り発見方法を構成したので、構文解析処理を行ない
、その構文解析処理結果である構文解析木に基づき、入
力文の文法誤りを発見する処理を行なうことにより、構
文解析処理と文法誤り発見処理とが分離され、それによ
って文法誤り発見プログラムの作成が容易となる。文法
誤りを発見する処理は、一つ一つの文法誤り毎に、構文
解析木にアクセスして文法誤りを発見するプログラムと
して記述され、対象とする文法誤りの項目に着目して誤
り発見プログラムを作成すればよく、それによってその
プログラムの作成・変更・修正等が容易となる。従って
、前記課題を解決できるのである。
(実施例)
第1図は、本発明の実施例を示す構文解析装置の要部の
機能ブロック図、及び第2図はその構文解析装置を構成
するためのコンピュータシステムの概略の構成ブロック
図である。
機能ブロック図、及び第2図はその構文解析装置を構成
するためのコンピュータシステムの概略の構成ブロック
図である。
まず第2図のコンピュータシステムの構成を説明する。
このコンピュータシステムは、中央処理装置(以下、C
PUという〉1を有し、そのCPUIには、CPUIで
実行するプログラム等を一時格納するランダム・アクセ
ス・メモリ(以下、RAMという)等の主メモリ2と、
入力文その他必要な入力処理を行なうキーボード等の入
力装置3と、入力装設3による入力の内容その他必要な
表示を行なうCRT等のデイスプレィ4と、磁気ディス
ク5とが、接続されている。
PUという〉1を有し、そのCPUIには、CPUIで
実行するプログラム等を一時格納するランダム・アクセ
ス・メモリ(以下、RAMという)等の主メモリ2と、
入力文その他必要な入力処理を行なうキーボード等の入
力装置3と、入力装設3による入力の内容その他必要な
表示を行なうCRT等のデイスプレィ4と、磁気ディス
ク5とが、接続されている。
cpuiは、主メモリ2、入力装置3、デイスプレィ4
、及び磁気ディスク5を制御して構文解析プログラムや
誤り発見プログラム等を実行するもので、LSI等で構
成されている。磁気ディスク5は、語い解析処理プログ
ラム、構文解析プログラム、単語辞書、文法規則、及び
誤り発見プログラム等を格納する装置である。
、及び磁気ディスク5を制御して構文解析プログラムや
誤り発見プログラム等を実行するもので、LSI等で構
成されている。磁気ディスク5は、語い解析処理プログ
ラム、構文解析プログラム、単語辞書、文法規則、及び
誤り発見プログラム等を格納する装置である。
このコンピュータシステムでは、入力装置3から入力文
が入力されると、CPUIは、磁気ディスク5に格納さ
れた語い解析処理プログラム、構文解析プログラム、及
び誤り発見プログラム等を主メモリ2にロードし、その
プログラムに従って、入力文を単語に分解する語い解析
処理、その処理結果に対しての構文解析処理を行なって
構文解析木を生威し、さらにその構文解析木を入力して
文法誤り発見処理を順次行なう。ここで、例えば構文解
析プログラムと誤り発見プログラムは、磁気ディスク5
から主メモリ2にロードされ実行されるが、単語辞書と
文法規則は、主メモリ2に入る場合、ロードされるが、
その主メモリ2の容量が足りない場合は磁気ディスク5
に格納されたまま使用される。このコンピュータシステ
ムで構成される構文解析装置の機能ブロック図が第1図
に示されている。
が入力されると、CPUIは、磁気ディスク5に格納さ
れた語い解析処理プログラム、構文解析プログラム、及
び誤り発見プログラム等を主メモリ2にロードし、その
プログラムに従って、入力文を単語に分解する語い解析
処理、その処理結果に対しての構文解析処理を行なって
構文解析木を生威し、さらにその構文解析木を入力して
文法誤り発見処理を順次行なう。ここで、例えば構文解
析プログラムと誤り発見プログラムは、磁気ディスク5
から主メモリ2にロードされ実行されるが、単語辞書と
文法規則は、主メモリ2に入る場合、ロードされるが、
その主メモリ2の容量が足りない場合は磁気ディスク5
に格納されたまま使用される。このコンピュータシステ
ムで構成される構文解析装置の機能ブロック図が第1図
に示されている。
第1図の構文解析装置は、入力文を単語に分解してその
分解された単語を含む情報を出力する語い解析部10を
有し、その語い解析部10の出力側には、構文解析処理
部20、及び文法誤り発見処理部30が接続されている
。
分解された単語を含む情報を出力する語い解析部10を
有し、その語い解析部10の出力側には、構文解析処理
部20、及び文法誤り発見処理部30が接続されている
。
横文解析処理部20は、語い解析処理部10の出力を入
力し、第20の磁気ディスク5に格納された構文解析プ
ログラム21.単語辞書22及び文法規則23に基づき
、入力文の構文を解析して)1.+4文解析木S20を
生成する機能を有している。
力し、第20の磁気ディスク5に格納された構文解析プ
ログラム21.単語辞書22及び文法規則23に基づき
、入力文の構文を解析して)1.+4文解析木S20を
生成する機能を有している。
第2図の磁気ディスク5に格納された単語辞書22及び
文法規則23のうち、単語辞書22には、単品(見出し
語)22a、品詞22b、及び文法的な性質を表す構文
情報22cが記述され、その−例が第3図に示されてい
る。
文法規則23のうち、単語辞書22には、単品(見出し
語)22a、品詞22b、及び文法的な性質を表す構文
情報22cが記述され、その−例が第3図に示されてい
る。
文法規則23には、語の構造に関する句構造規則23a
が記述され、その句構造規則23aの一例が第4図に示
されている。
が記述され、その句構造規則23aの一例が第4図に示
されている。
また、構文解析処理部20から出力される+14文解析
木S20の一例が第5図に示されている。
木S20の一例が第5図に示されている。
第5図は、例えば”I am impossible
to comehere、 ”を構文解析してできる構
文解析木S20を模式的に表した図である。この構文解
析木に現われるノード、つまり(5entenCe )
等の品詞のうち、入力文中の各単語に対応しているもの
を終端ノードと呼び、そうでないものを非終端ノードと
呼ぶ。なお、各ノードのそばに付された0〜20の符号
は、後述する第6図の番号24aである。
to comehere、 ”を構文解析してできる構
文解析木S20を模式的に表した図である。この構文解
析木に現われるノード、つまり(5entenCe )
等の品詞のうち、入力文中の各単語に対応しているもの
を終端ノードと呼び、そうでないものを非終端ノードと
呼ぶ。なお、各ノードのそばに付された0〜20の符号
は、後述する第6図の番号24aである。
また、鎖線で囲まれたブロック100,101は、後述
する第7図の処理ステップを表している。このような構
文解析木を表現しているデータ′!R造の一例を、第6
図に示す。
する第7図の処理ステップを表している。このような構
文解析木を表現しているデータ′!R造の一例を、第6
図に示す。
第6図のデータ構造は、番号24a、品詞24b、ポイ
ンタ24c、及び構文情報24d″′C′構成され、そ
のデータ構造中の一つの構造が、それぞれ第5図に示す
構文解析水中の一つのノードに対応している。ここでは
、非終端ノードには、下のノードへのポインタ24cが
与えられ、終端ノードには、第3図の単語辞書中の構文
情報22cが与えられていることを示している。
ンタ24c、及び構文情報24d″′C′構成され、そ
のデータ構造中の一つの構造が、それぞれ第5図に示す
構文解析水中の一つのノードに対応している。ここでは
、非終端ノードには、下のノードへのポインタ24cが
与えられ、終端ノードには、第3図の単語辞書中の構文
情報22cが与えられていることを示している。
第1図の構文解析処理部20の出力側に接続された文法
誤り発見処理部30は、第2図の磁気ディスク5に格納
された誤り発見プログラム31に従って、構文解析木S
20から入力文の誤りを発見する機能を有している。
誤り発見処理部30は、第2図の磁気ディスク5に格納
された誤り発見プログラム31に従って、構文解析木S
20から入力文の誤りを発見する機能を有している。
以上のように構成される構文解析装置における文法誤り
発見方法等について説明する。
発見方法等について説明する。
第2図の入力装置3を用いて、入力文、例えばrI a
m 1m1)O3Sible to come her
e、 Jが入力されると、CPUIのプログラム制御に
より、次のような処理が実行される。
m 1m1)O3Sible to come her
e、 Jが入力されると、CPUIのプログラム制御に
より、次のような処理が実行される。
即ち、第1図の語い解析処理部10では、第2図の磁気
ディスク5に格納された語い解析処理プログラムに基づ
き、入力文を単語に分解し、その分解した単語を含む情
報を構文解析処理部20へ送出する。
ディスク5に格納された語い解析処理プログラムに基づ
き、入力文を単語に分解し、その分解した単語を含む情
報を構文解析処理部20へ送出する。
構文解析処理部20は、第2図の磁気ディスク5に格納
された構文解析プログラム21に従って、単語辞書22
及び文法規則23を参照して入力文rx am imp
ossible to Come here、 Jの構
文解析を行ない、例えば第5図の構文解析木S20を生
成する。この際、構文解析木の各ノードのうち、終端ノ
ードには、第3図に示す単語辞書22中の構文情報22
cを付加しておく。このようにして、構文解析処理部2
0において、例えば第6図に示すような、構文解析木を
表すデータが生成され、そのデータが文法誤り発見処理
部30へ送られる。
された構文解析プログラム21に従って、単語辞書22
及び文法規則23を参照して入力文rx am imp
ossible to Come here、 Jの構
文解析を行ない、例えば第5図の構文解析木S20を生
成する。この際、構文解析木の各ノードのうち、終端ノ
ードには、第3図に示す単語辞書22中の構文情報22
cを付加しておく。このようにして、構文解析処理部2
0において、例えば第6図に示すような、構文解析木を
表すデータが生成され、そのデータが文法誤り発見処理
部30へ送られる。
文法誤り発見処理部30では、第2図の磁気ディスク5
に格納された誤り発見プログラム31に従って、次に述
べるような、例えば第7図の手順に従って入力文の文法
誤りを発見する。
に格納された誤り発見プログラム31に従って、次に述
べるような、例えば第7図の手順に従って入力文の文法
誤りを発見する。
第7図は、構文解析木S20にアクセスして文法誤りを
発見する処理のフローチャートである。
発見する処理のフローチャートである。
この例では、rbe impossible Jという
表現は、主語に人をとらず、仮主語のitをとることか
ら、この文が文法的に誤っているということを発見する
処理を示している。従って、ここでは例として、第5図
の構文解析木S20にアクセスし、仮主語のitを用い
るべき文において:を以外の主語が用いられている、と
いう文法上の誤りを発見する手順を、第7図のフローチ
ャートに従って以下説明する。
表現は、主語に人をとらず、仮主語のitをとることか
ら、この文が文法的に誤っているということを発見する
処理を示している。従って、ここでは例として、第5図
の構文解析木S20にアクセスし、仮主語のitを用い
るべき文において:を以外の主語が用いられている、と
いう文法上の誤りを発見する手順を、第7図のフローチ
ャートに従って以下説明する。
まず、文法誤り発見処理部30は、第7図のステップ1
00において、r 5entence (文)の下の述
部に当たるVD(動詞句〉には、be(be動詞)と人
を主語にとらない形容詞(adj)の組み合わせが含ま
れているか?」を判断する。この際、第6図のデータ構
造中の5entence (番号Oの文)を探してその
次のノードへのポインタ(1,2)をたどり、vp(動
詞句)を探す。ここでは、述部に当たるvp(動詞句)
は、第6図の番号2に書かれているデータ(vp)に相
当する。次に、この番号2のポインタ(4,5)のうち
、ポインタ4に相当する番号4のvp(動詞句〉を探す
。このようにして、探したい情報があるところまで、ポ
インタをたどっていき、必要な判断を行なう。ここでは
、第6図の番号12と番号18に別れているデータから
、be(be動詞)と主語に人をとらない形容詞(ad
j )の組み合わせを含んでいることが分かる。次に、
第7図のステップ101へ進む。
00において、r 5entence (文)の下の述
部に当たるVD(動詞句〉には、be(be動詞)と人
を主語にとらない形容詞(adj)の組み合わせが含ま
れているか?」を判断する。この際、第6図のデータ構
造中の5entence (番号Oの文)を探してその
次のノードへのポインタ(1,2)をたどり、vp(動
詞句)を探す。ここでは、述部に当たるvp(動詞句)
は、第6図の番号2に書かれているデータ(vp)に相
当する。次に、この番号2のポインタ(4,5)のうち
、ポインタ4に相当する番号4のvp(動詞句〉を探す
。このようにして、探したい情報があるところまで、ポ
インタをたどっていき、必要な判断を行なう。ここでは
、第6図の番号12と番号18に別れているデータから
、be(be動詞)と主語に人をとらない形容詞(ad
j )の組み合わせを含んでいることが分かる。次に、
第7図のステップ101へ進む。
ステップ101では、条件r 5entence (文
〉の下の主部に当たるno (名詞句)は人であるか?
」を、ステップ100と同様に、第5図の構文解析木の
データのポインタをたどり、必要な情報を探して判断す
る。ここでは、第6図の番号l、3.6.11と順番に
たどっていき、番号11の構文情報から、主語が人であ
ることが分かる。そこで、この文は主語と述語の組み合
わせの点で間違っており、仮主語のitについての知識
がない(あるいは不足している)ことが分かる(ステッ
プ102)。
〉の下の主部に当たるno (名詞句)は人であるか?
」を、ステップ100と同様に、第5図の構文解析木の
データのポインタをたどり、必要な情報を探して判断す
る。ここでは、第6図の番号l、3.6.11と順番に
たどっていき、番号11の構文情報から、主語が人であ
ることが分かる。そこで、この文は主語と述語の組み合
わせの点で間違っており、仮主語のitについての知識
がない(あるいは不足している)ことが分かる(ステッ
プ102)。
一方、ステップ100において、判断がノーのときには
、このプログラムで調べるべき文法誤りは含んでいない
という判定となる(ステップ103)。またステップ1
01において、判定がノーのときには、正しいという判
定結果がでる(ステップ104)。
、このプログラムで調べるべき文法誤りは含んでいない
という判定となる(ステップ103)。またステップ1
01において、判定がノーのときには、正しいという判
定結果がでる(ステップ104)。
第7図の誤り発見処理では、「仮主語の誤りを発見する
。」という意図のもとだけで処理を行なうので、その処
理に必要な情報だけを探して確認すればよく、他の誤り
発見の処理については一切考慮する必要がない。また、
他の誤りについても、第7図に示すように個別の誤り発
見プログラムを必要なだけ記述すればよい。そのため、
この発見プログラムを記述する人は、構文解析木の形を
実際に見ながらプログラムを書けばよいので、文法全体
を知悉している必要もなく、比較的簡単に処理を記述す
ることができる。
。」という意図のもとだけで処理を行なうので、その処
理に必要な情報だけを探して確認すればよく、他の誤り
発見の処理については一切考慮する必要がない。また、
他の誤りについても、第7図に示すように個別の誤り発
見プログラムを必要なだけ記述すればよい。そのため、
この発見プログラムを記述する人は、構文解析木の形を
実際に見ながらプログラムを書けばよいので、文法全体
を知悉している必要もなく、比較的簡単に処理を記述す
ることができる。
以上のように、本実施例では、構文解析処理と文法誤り
発見処理とを完全に分離している。そして、文法誤り発
見処理は、一つ一つの文法誤り毎に、構文解析木S20
にアクセスして文法誤りを発見するプログラムとして記
述することによって、入力文中の文法的な誤りを発見し
ている。そのため、次のような利点が得られる。
発見処理とを完全に分離している。そして、文法誤り発
見処理は、一つ一つの文法誤り毎に、構文解析木S20
にアクセスして文法誤りを発見するプログラムとして記
述することによって、入力文中の文法的な誤りを発見し
ている。そのため、次のような利点が得られる。
(a) 従来のように、句構造規則の一つ一つに、構
文解析木の上の方で使われるであろう誤り発見のための
情報を選択して上げていくためのプログラム(情報と誤
りを発見するためのルール)を記述する必要がなくなる
。そのためプログラムの作成が容易になる。
文解析木の上の方で使われるであろう誤り発見のための
情報を選択して上げていくためのプログラム(情報と誤
りを発見するためのルール)を記述する必要がなくなる
。そのためプログラムの作成が容易になる。
(b) 従来のように、文法体系全体を知悉した人で
なくては誤り発見プログラムを書くことができない、と
いう制約がなくなり、前記(a)と同様にプログラムの
作成が容易になる。
なくては誤り発見プログラムを書くことができない、と
いう制約がなくなり、前記(a)と同様にプログラムの
作成が容易になる。
(C) 対象とする文法誤りの項目に変更があっても
、必要な文法誤り発見プログラム(例えば、第7図)を
他との整合性を気にすることなく、個別に記述すればよ
く、それによってプログラムの変更・修正が容易となる
。
、必要な文法誤り発見プログラム(例えば、第7図)を
他との整合性を気にすることなく、個別に記述すればよ
く、それによってプログラムの変更・修正が容易となる
。
(d) 必要な文法誤り発見プログラムを多数用意す
ることにより、様々な誤りを発見できる。ここで、誤り
発見プログラムの数を増やしても、構文解析処理と文法
誤り発見処理とを完全に分離しているため、その構文解
析処理速度の向上により、誤り発見プログラムの数の増
加分の処理時間の遅れを少なくすることが可能となる。
ることにより、様々な誤りを発見できる。ここで、誤り
発見プログラムの数を増やしても、構文解析処理と文法
誤り発見処理とを完全に分離しているため、その構文解
析処理速度の向上により、誤り発見プログラムの数の増
加分の処理時間の遅れを少なくすることが可能となる。
なお、本発明は図示の実施例に限定されず、例えば第1
図の機能ブロックに精度向上のための他のブロックを付
加したり、あるいはその構文解析装置を構成する第2図
のコンピュータシステムに、他の回路を付加する等、種
々の変形が可能である。
図の機能ブロックに精度向上のための他のブロックを付
加したり、あるいはその構文解析装置を構成する第2図
のコンピュータシステムに、他の回路を付加する等、種
々の変形が可能である。
(発明の効果)
以上詳細に説明したように、本発明によれば、構文解析
処理と文法誤り発見処理とを分離し、その文法誤り発見
処理では、各文法チェック項目毎に、構文解析の結果で
ある構文解析木にアクセスして文法誤りを発見するプロ
グラムとして記述されるので、文法体系全体を知悉して
いなくても、容易に諷り発見プログラムを書くことがで
きる。
処理と文法誤り発見処理とを分離し、その文法誤り発見
処理では、各文法チェック項目毎に、構文解析の結果で
ある構文解析木にアクセスして文法誤りを発見するプロ
グラムとして記述されるので、文法体系全体を知悉して
いなくても、容易に諷り発見プログラムを書くことがで
きる。
しかも、文法誤り発見プログラムは、他の文法チェック
項目とは独立に記述されるため、変更・修正が容易にな
る。さらに、構文解析処理と文法誤り発見処理とを分離
したので、構文解析処理の高速化が可能となると共に、
誤り発見プログラムの数を増やすことによって様々なが
発見できる。誤り発見プログラムの増加による処理時間
の遅延は、構文解析処理の高速化によって減殺され、装
置全体の処理時間の低下を防止できる。従って、少ない
労力で、簡単かつ的確に入力文中の文法誤りを発見でき
る効果がある。
項目とは独立に記述されるため、変更・修正が容易にな
る。さらに、構文解析処理と文法誤り発見処理とを分離
したので、構文解析処理の高速化が可能となると共に、
誤り発見プログラムの数を増やすことによって様々なが
発見できる。誤り発見プログラムの増加による処理時間
の遅延は、構文解析処理の高速化によって減殺され、装
置全体の処理時間の低下を防止できる。従って、少ない
労力で、簡単かつ的確に入力文中の文法誤りを発見でき
る効果がある。
第1図は本発明の実施例を示す構文解析装置の機能ブロ
ック図、第2図は本発明の実施例を示すコンピュータシ
ステムの概略の構成ブロック図、第3図は単語辞書の例
を示す図、第4図は文法規則の例を示す図、第5図は構
文解析木の例を示す図、第6図は構文解析木のデータ構
逍関を示す図、第7図は文法誤り発見処理のフローチャ
ートである。 1・・・・・・CPU、2・・・・・・主メモリ、3・
・・・・・入力装置、4・・・・・・デイスプレィ、5
・・・・・・磁気ディスク、10・・・・・・語い解析
処理部、20・・・・・・構文解析処理部、21・・・
・・・構文解析プログラム、22・・・・・・単語辞書
、22a・・・・・・単語、22b・・・・・・品詞、
22c・・・・・・構文情報、23・・・・・・文法規
則、23a・・・・・・旬tl!逍規則、30・・・・
・・文法誤り発見処理部、31・・・・・・誤り発見プ
ログラム、S20・・・・・・構文解析木。
ック図、第2図は本発明の実施例を示すコンピュータシ
ステムの概略の構成ブロック図、第3図は単語辞書の例
を示す図、第4図は文法規則の例を示す図、第5図は構
文解析木の例を示す図、第6図は構文解析木のデータ構
逍関を示す図、第7図は文法誤り発見処理のフローチャ
ートである。 1・・・・・・CPU、2・・・・・・主メモリ、3・
・・・・・入力装置、4・・・・・・デイスプレィ、5
・・・・・・磁気ディスク、10・・・・・・語い解析
処理部、20・・・・・・構文解析処理部、21・・・
・・・構文解析プログラム、22・・・・・・単語辞書
、22a・・・・・・単語、22b・・・・・・品詞、
22c・・・・・・構文情報、23・・・・・・文法規
則、23a・・・・・・旬tl!逍規則、30・・・・
・・文法誤り発見処理部、31・・・・・・誤り発見プ
ログラム、S20・・・・・・構文解析木。
Claims (1)
- 【特許請求の範囲】 プログラム制御により、入力文の構文解析を行うと共に
、文法誤りを発見する構文解析装置における文法誤り発
見方法において、 文法規則と、文法誤りを発見するための構文情報を含む
単語辞書とを参照して、構文解析プログラムを実行し、
前記入力文の構文を解析して構文解析木を生成し、 前記構文情報を参照して、対象とする文法チェック項目
毎の文法誤り発見プログラムを実行し、前記構文解析木
にアクセスして文法誤りを発見する、 ことを特徴とする構文解析装置における文法誤り発見方
法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1168051A JPH0333977A (ja) | 1989-06-29 | 1989-06-29 | 構文解析装置における文法誤り発見方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1168051A JPH0333977A (ja) | 1989-06-29 | 1989-06-29 | 構文解析装置における文法誤り発見方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0333977A true JPH0333977A (ja) | 1991-02-14 |
Family
ID=15860921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1168051A Pending JPH0333977A (ja) | 1989-06-29 | 1989-06-29 | 構文解析装置における文法誤り発見方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0333977A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5174908A (en) * | 1989-03-03 | 1992-12-29 | Flo-Con Systems, Inc. | Non-reversible sliding gate, valve and method |
US6442122B1 (en) | 1998-05-19 | 2002-08-27 | Matsushita Electric Industrial Co., Ltd. | Disc loading apparatus |
-
1989
- 1989-06-29 JP JP1168051A patent/JPH0333977A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5174908A (en) * | 1989-03-03 | 1992-12-29 | Flo-Con Systems, Inc. | Non-reversible sliding gate, valve and method |
US6442122B1 (en) | 1998-05-19 | 2002-08-27 | Matsushita Electric Industrial Co., Ltd. | Disc loading apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3009215B2 (ja) | 自然語処理方法および自然語処理システム | |
Kumar et al. | Static UML model generator from analysis of requirements (SUGAR) | |
EP0118187B1 (en) | Menu-based natural language understanding system | |
JP5228451B2 (ja) | 文書検索装置 | |
JP4361299B2 (ja) | 評価表現抽出装置、プログラム、及び記憶媒体 | |
JPH0333977A (ja) | 構文解析装置における文法誤り発見方法 | |
Ditters | Issues in Arabic computational linguistics | |
Sedlácek et al. | Automatic Processing of Czech Inflectional and Derivative Morphology | |
Neme | An arabic language resource for computational morphology based on the semitic model | |
KR20010057775A (ko) | 문장골격을 기반으로 한 자동번역 시스템 및 그 방법 | |
JPH04167049A (ja) | 文書処理装置 | |
van den Heuvel | Interaction in Syntactic Corpus Analysis | |
Antidze et al. | Software tools for some natural language texts computer processing | |
Graham | Languages and interactive software development | |
Balogh et al. | Computational benefits of a totally lexicalist grammar | |
JP3135221B2 (ja) | 用例主導型言語構造解析装置 | |
JPH02226364A (ja) | 構文解析装置 | |
JP2002183133A (ja) | 固有名詞抽出装置、固有名詞抽出方法及び記憶媒体 | |
Moeller | Customizing the LinGO Grammar Matrix Morphology | |
JPH09245037A (ja) | 意味解析方式 | |
Antidze et al. | Software tools for computer realization of morphological and syntactic models of georgian texts | |
JP3329353B2 (ja) | テキスト用話題構造認識における話題語選択方法と話題構造認識装置 | |
JPH06231165A (ja) | 自然言語解析装置 | |
JPH0583950B2 (ja) | ||
Jemal et al. | Software tools for computer realization of morphological and syntactic models |