JP3384564B2 - 自然言語で構成された文を文法的処理する方法及び該方法を実行するシステム - Google Patents

自然言語で構成された文を文法的処理する方法及び該方法を実行するシステム

Info

Publication number
JP3384564B2
JP3384564B2 JP23975389A JP23975389A JP3384564B2 JP 3384564 B2 JP3384564 B2 JP 3384564B2 JP 23975389 A JP23975389 A JP 23975389A JP 23975389 A JP23975389 A JP 23975389A JP 3384564 B2 JP3384564 B2 JP 3384564B2
Authority
JP
Japan
Prior art keywords
component
word
sentence
memory
label
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.)
Expired - Fee Related
Application number
JP23975389A
Other languages
English (en)
Other versions
JPH02115971A (ja
Inventor
エデユアールドス・ヨセフス・ウイリブロルドス・フアン・フリームベルソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oce Technologies BV
Original Assignee
Oce Nederland BV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from NL8802271A external-priority patent/NL8802271A/nl
Priority claimed from NL8901050A external-priority patent/NL8901050A/nl
Application filed by Oce Nederland BV filed Critical Oce Nederland BV
Publication of JPH02115971A publication Critical patent/JPH02115971A/ja
Application granted granted Critical
Publication of JP3384564B2 publication Critical patent/JP3384564B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Description

【発明の詳細な説明】
【0001】 自然言語で構成された文を文法的に処理する方法であ
って、文を語範疇及び用途指定範疇に従って語彙化され
た語単位によって、機能表示を付加して記述されるべき
文部分に解析することを含む方法と、この方法を実行す
るシステムとに関する。所謂パーサ(parser)を利用す
る前記定義の文を文法的に処理する方法は、Allen,Jame
sのNatural Language Understanding(The Benjamin/Cu
mmings Publishing Company Inc.,Menlo Park,U.S.A.,1
987)から公知である。
【0002】 ここに記述されたパーサは書換え機構に基づくアルゴ
リズムに従って動作し、これは、パーサが多数の書換え
規則を参照することで解析を実行することを意味する。
これらの書換え規則は、一方では1群の語及び/又は文
構成要素と他方では親構成要素、即ち前記群を群の上位
の構成要素との間を接続する。書換え規則の数はパーサ
の基礎をなす使用されるべき記述機構の範囲に従い、更
に記述機構は言語のシンタックス及び形態によって決定
される。これは、非文法的な入力がなされた場合に解析
の解に到達する能力においてパーサに制限を強いること
になる。パーサに非常に広範囲にわたる書換え規則を含
むことによってのみ、誤って構成されたりやや一般的で
ない文構成を解析することが可能となる。更にこれに
は、パーサが稼働するコンピュータにおいて書換え規則
のためのメモリスペースがかなり拡張されねばならず、
一方で、かかる文を解析するのに要する時間も長くなる
という影響がある。更にこのような条件では非文法的な
表現を検出することが非常に困難である。本発明の目的
はこれらの欠点を大幅に解消することである。
【0003】 本願発明は、解析を、適正接続(right associate)
文法規則および構成要素閉鎖(closure)文法規則と関
連づけ、かつ同一の構成要素レベル内の、種々の語間及
び/又は構成要素間接続の探索を参照することにより解
析手順途中に文の可能性係数が更新され、この可能性係
数により最も明らかな文表現を選択することができる、
という原理に基づいている。ここで、適正接続(right
associate)文法規則は、語を既存の構成要素内に位置
付ける又は新たに形成される構成要素を既に得られた文
部分表現内に位置付けることを、その語に関連づけられ
た少なくとも一の語範疇に基づいて、語レベルのなんら
かの機能性(機能語範疇)の割り当てを伴って行うため
のものである。また、構成要素閉鎖(closure)文法規
則は、構成要素レベルでの、仮であってもよい機能性
(機能的構成要素範疇)を割り当てることを伴って、構
成要素の閉鎖の可能性を探索するためのものである。
【0004】 本発明の、語単位から構成される自然言語文を、処理
装置を用いて文法的に処理する方法は、 a.語彙メモリに登録された語の語範疇及び用途指定範疇
に基づいて、前記語単位から語範疇及び用途指定範疇が
付されて語彙化された語単位を得て、該語彙化された語
単位のそれぞれを語メモリに記憶する段階と、 b.前記語メモリから読み込まれる前記語彙化された語単
位を構成解析し、構成要素を生成して、構成要素を伴う
少なくとも一つの文表現を提供する段階と、 を備え、 さらに、前記文表現のそれぞれに可能性係数が関連づ
けられる方法であり、前記段階b.として、 a)前記語メモリから供給される語彙化された語単位に
対して、構成要素範疇が文である構成要素を出発構成要
素として与えられ、文表現を記憶するメモリから供給さ
れる構成要素範疇が付された構成要素について、 文法データメモリにあり、語範疇と構成要素範疇及び
機能ラベルとの関係規則を記述した文法データを参照し
て、 該当する関係規則により、適合される語彙化された語
単位の指示と機能語ラベルとの対を構成要素に付し、該
当する関係規則によっては、構成要素範疇が付された新
たな構成要素を生成し、前記文表現を更新または補足す
る段階と、 b)前記段階a)で得られた文表現を記憶するメモリか
らの構成要素について、 文法データメモリにあり、構成要素の構成要素範疇と
該構成要素の上位となる親構成要素の構成要素範疇及び
機能ラベルとの関係規則を記述した文法データを参照し
て、 該当する関係規則により、構成要素の指示と機能ラベ
ルとの対を親構成要素に付し、前記文表現を更新又は補
足する段階と、 c)少なくとも前記段階b)において、文法データメモ
リにあり、誤りを検出するためのシンタクス規則を記述
した文法データを参照して、文表現の親構成要素と構成
要素及び/または語彙化された語単位の間の相互関係を
少なくとも機能ラベルにより検査し、誤りが検出された
ならば、誤りに応じて該文表現に関連付けられる可能性
係数を小さくし、その後、予め選定されているしきい値
より大きい可能性係数が関連付けられた文表現を選択す
る段階と、 を含む方法であることを特徴とする。
【0005】 上記の文を文法的に処理する方法は有利には、文法的
に正しくない文を訂正する手段を備えて完成することが
できる。このためには、かかる文を文法的に処理する方
法のステップは、 文中の文法的に正しくない構成要素を選択し、次いで
その構成要素を文法規則に基づく規定を参照して変更す
るステップで補足される必要がある。中央で承認された
言語の文法構造を正確に定義するために選択された文法
規則の集大成によって構築されるモデル文法または文法
例はしばしばコア文法(core grammar)と称される。
【0006】 文を文法的に処理するためのシステムの第1の実施例
で説明するパーサは、外部文法を備えたパーサ(シンタ
ックス管理パーサ(syntax directed parser))であ
り、文法規則は実際のプログラム部分の外部に維持さ
れ、メモリ部分またはメモリモジュール内に記憶され
る。このことはプログラムの外部で文法内容を変更でき
る可能性を提供する。更に、単にメモリ部分またはメモ
リモジュールの内容を簡単に変更することで、パーサは
別の自然言語に適するようにできる。文法のコアは、多
数の可能な構造を限定された数の規則で処理することを
可能とするような形態を有する。
【0007】 更に非文法的な入力があった場合に、このパーサは、
通常は常に解に到達し、どのタイプの誤りがなされたか
表示することができる。このことによってパーサを例え
ばエディタ内に使用するのに適するようにできる。パー
サの結果及びこのパーサの基本原理は、不正な文を訂正
するため、更に一貫性のない語法を含むテキストを訂正
するため、またはテキスト内で異なる語を選択するため
のプログラムのための基礎をなす。
【0008】 外部文法を用いるパーサによって文を文法的に処理す
るシステムの上記実施例とは別に、勿論、文法規則をパ
ーサ内に収容することによって内部または一体的文法を
含むパーサ(シンタックス埋込みパーサ(syntax embed
ded parser))を、文法的に処理するシステムに使用す
ることが可能である。これはより迅速なパーサとなり得
る。
【0009】 添付の図面を参照して本発明を更に説明する。
【0010】 実施例 可能であれば、英語及びオランダ語の例を用いて説明
を行なう。更に説明されるように、文を文法的に処理す
る上での解析フェーズ及び、必要であれば訂正フェーズ
は、英語及びオランダ語のテーブル形式で本明細書に添
付してあるモデル文法またはコア文法を使用して行われ
る。
【0011】 パーサは、種々の実在物間の関係が表現される形式主
義によって、自然言語で構成された文をシンタックス表
現に変換する手段を提供する。かかる形式主義は、例え
ば分枝状ネットワーク(木構造)のごとき階層構造によ
って実在の文部分(構成要素)を表現することが可能で
あるという考えに基づいている。厳密に言えば、パーサ
の入力は1行の文からなるのではなくて、文の語彙化に
よって得られる一連の語からなるのである。これは、図
1に示すように、プログラムフェーズ1(ステップ1)
で与えられた文の各々が、プログラムフェーズ3(ステ
ップ3)においてパーサによる文の解析が行われる前
に、まずプログラムフェーズ2(ステップ2)で語彙化
される必要があることを意味する。文の語彙化において
は、可能な語範疇及び用途指定範疇に関する各語の関連
語彙情報が、コンピュータメモリの一部を形成するまた
は例えばメモリディスク上に存在する語彙メモリに対し
て検索される及び/または前記語メモリによって生成さ
れる。この情報は1つ以上の語構造によってこれもまた
コンピュータメモリの一部を形成する語メモリ内に記憶
される。用途指定範疇は、語範疇以外の語の特徴の範疇
であり、例えば、単数、複数、男性、中性、女性などの
素性の範疇である。実施例の説明では、「特性」として
説明している。この説明には、なぜ1つ以上の語構造が
存在するかの説明を含むが、まず語構造なる用語を詳細
に説明する。
【0012】 語構造とは1つの語に関連するデータ構成要素の集合
体であり、前記データ構成要素には多数のメモリフィー
ルドを有する構造が割り当てられる。語構造は、カテゴ
リフィールド、コマンドフィールド、ストリングフィー
ルド及び特性フィールドを含む。カテゴリフィールドは
語彙メモリ内で見つけられた語範疇を含むもので、例え
ば冠詞、名詞、代名詞、動詞、前置詞、接続詞、形容詞
及び副詞のごとき指示語が与えられる。これは単に例と
して挙げたものであり、使用される文法表及び辞書に従
う。
【0013】 コマンドフィールドは最初の時点では空であるが、後
にパーサによって書き込まれる。コマンドフィールドの
意味は他の構造、即ち同様のコマンドフィールドを含む
構成要素構造の説明に関連して更に説明する。
【0014】 ストリングフィールドには語のストリング表現、即ち
語の要素の直線的な順番が書き込まれる。特性フィール
ドはその他の語の特徴、即ち語彙化過程で得られるがカ
テゴリフィールド内には含まれない語の特性を含む。特
性フィールド内に含まれる語の特性は機能的性質であ
る。
【0015】 上記のことを2つの例を挙げて説明する。オランダ語
で“huis"(英語で“house")の場合には、カテゴリフ
ィールドには「名詞」、コマンドフィールドには「NI
L」、ストリングフィールドには「house」及び特性フィ
ールドには「単数3」及び「中性」が入れられる。オラ
ンダ語の“huis"に対応する英語の“house"では、特性
フィールドの「中性(neuter)」が「中性(neutra
l)」で置き換えられることを除き同様の語構造を有す
る。
【0016】 このような語構造表現では、オランダ語で“regent"
といった語には「動詞」と入ったカテゴリフィールド及
び「名詞」と入ったカテゴリフィールドと、それぞれの
カテゴリフィールドに対して個別の特性フィールドとが
与えられる結果となる。英語で同様の例を挙げれば、1
つはカテゴリフィールドが「名詞」で2つはカテゴリフ
ィールドが「動詞」である3種の語構造が関係する“sa
w"という語を使用することが可能である。
【0017】 即ち、1つの語が多数の語範疇で存在することがあり
得、また構成要素間の不明瞭な関係の結果としてこれら
の文部分間には複数の文構造の可能性がある。この方法
は複数の形態の木構造、即ち解析された文の複数のシン
タックス表現を生じる。パーサは常に、現在の語の語構
造のそれぞれを開いた構成要素構造のそれぞれに収容し
ようとする。これは、多くの表現が存在すると解析速度
が低下することを意味する。
【0018】 しかしながら、引き続き全ての表現が適当であると立
証されるわけではなく、本発明の目的は、1つ以上のや
や重要でない形態の文部分の構造の表現を暫時に、即
ち、パーサの稼働中にいかに削除し得るかを検討するこ
とである。このための出発点は、1つの語が既存の表現
形態に加えられるフェーズの各々の後に、そこに関与す
る構成要素が所定のシンタックス規則に当てはめられ、
構成要素に割り当てられた初期可能性係数が所定のエラ
ー検出に基づき1組の個々の訂正係数に従って小さくさ
れ、訂正後の可能性係数が所定のしきい値に対してテス
トされることである。前記しきい値より小さい可能性係
数を有する構成要素の表現形態の全ては「可能性がより
小さい」として削除され得る。次の語が表現構造に取り
入れられ得るようにこの方法を繰り返す。
【0019】 この種の動作は、語が既存構成要素または新構成要素
に包含された後に直接にまたはその構成要素の閉鎖につ
いて調査した後に行なうことができる。本明細書に記述
するパーサの場合には、この種のフィルタ動作が両方の
状況で行われる。
【0020】 本明細書で記述する語彙化は、全ての語が語彙化され
るまで解析処理が開始しないように実際の解析の前に行
われるが、語を語彙化し次いでその語を解析し、できる
だけ迅速に暫時次の語を語彙化し次いでそれを分析する
等が可能である。このような方法の長所は、使用者がま
だ文を入力している間に文の解析を開始できるというこ
とであろう(リアルタイム解析)。
【0021】 しかしながら、本明細書中に記述する流れ図において
は、基本的に語彙化は実際の解析処理に先行して行わ
れ、語彙化の後にパーサが呼び出される。ステップ4で
パーサが分析結果を見つけることに成功したならば
(Y)、この分析結果はプログラムの残りの部分で使用
される(ステップ5)。これは、解析によって見つけら
れたグラフィック表現が描かれる木(ツリー)作成プロ
グラム、エディタ、索引付け及び回復システム等とする
ことができる。その後、ステップ1で次の文に進むこと
ができる。しかしながら、ステップ4が使用可能な結果
を与えない場合には(N)、パーサが正しい分析を見つ
けるのに不成功であった。これは文が極めて非文法的で
あることに等しい。必要であればこのために何等かの動
作、例えばこの文の訂正フェーズを行なうことができ、
それから次の文の処理に進む。
【0022】 パーサ(ステップ3参照)の実際の説明を始める前
に、別の構造、即ち構成要素構造を説明することが重要
である。構成要素構造とは、文の一部分に関係し且つ、
カテゴリフィールド、コマンドフィールド、メンバフィ
ールド、特性フィールド、スタックフィールド、違反フ
ィールド及び可能性フィールドといったメモリフィール
ドが関連する1組のデータ構成要素である。
【0023】 カテゴリフィールドは、構成要素の範疇、即ち、構成
要素範疇に関連する情報のために確保されており、本発
明者らの文法例では特に、主節、等位節または従属節
(文、Sと略記する)、文の名詞句または部分(名詞
句、NPと略記する)、文の前置詞群または部分(前置詞
句、PPと略記する)及び形容詞/副詞句(省略形AP)を
含むことが必要である。カテゴリフィールドは当初は指
示語NILを含むが、解析処理の間に構成要素に関する情
報が書き込まれる。コマンドフィールドは、解析動作の
後に、親構成要素、即ち現在の構成要素の上位の構成要
素に関するアドレス情報(ポインタ)を含むフィールド
である。メンバフィールドには、この構成成分に属する
語または構成要素構造に関連する機能ラベルの、対で存
在する1つ以上の組合せに関する情報が保存される。一
般的に、構成要素は多数の語構造及び/又は構成要素構
造から構築され得る。文法例で使用される機能ラベルは
特に以下のものである: Subj :主語 Indobj :間接目的語 Obj :目的語 Smod :文修飾語または副詞的修飾語 Comp :補語 Pred :述語 fNP :機能的NP、後に文レベルにおける最終的
な機能ラベルに置き換えられる仮ラベルとして使用され
る Nmod−a :APの形態で名詞に関係する修飾語 Nmod−s :Sの形態で名詞に関係する修飾語 Nmod−p :PPの形態で名詞に関係する修飾語 Det :限定詞 Head :NP、PPまたはAP内の中心要素 Pobj :前置詞を結合する部分、NPによって実現
される Amod :APの主要語の修飾語 Seq :連続詞、2つの文部分または文の間の等
位接続の目的をもつコンマ符号を含む(シーケンサ) Conj :等位文部分の1つ
【0024】 特性フィールドには構成要素に関連する特性に関する
情報が保存される。構成要素が特定の範疇を備えてつく
られるとすぐに、特性フィールドはその範疇に関連する
特性で埋められる。語範疇の場合には、語彙化過程で見
つけられたようなその語に関連する特性が特性フィール
ドに与えられることに留意されたい。解析処理に際し
て、関連構成要素の特性フィールドは、その関連構成要
素に含まれるべき構成要素(語または構成要素)の各々
に対して、その要素に関連する情報に適合される。スタ
ックフィールドは、構成要素のメンバフィールドにも与
えられる機能ラベルの計数を含む。違反フィールドは、
構成要素中に見つけられた文法誤りに関係する全ての違
反コードに関する情報を含む。このフィールドは最初の
時点では空である。
【0025】 可能性フィールドは、この構成要素の存在に割り当て
られた可能性係数を示す。可能性フィールドは最初の時
点では「1」であるが、検出された文法誤りそれぞれに
対して、検出されたかかる文法誤りの種類に応じた値だ
け減少する。構成要素によって、パーサツリー(parser
tree)をコンパイルすることが可能である。勿論、各
構成要素は更に構成要素及び/又は語を含むことができ
る。メンバフィールドは機能範疇のみでなく、構成要素
構造または語構造に関連するメモリアドレス情報をも指
示する。この情報を参照してパーサツリーを下方に進む
ことが可能である。逆に、構成要素のコマンドフィール
ドは、その親構成要素、即ち他の構成要素の上位の構成
要素に関係するアドレス情報を与え、これは、パーサツ
リーを昇る可能性を与える。語はメンバを含むことはで
きないし、パーサツリー内の最高位の構成要素(ルー
ト)のコマンドフィールドは情報を全く含まない(NI
L)ことに留意されたい。
【0026】 可能性フィールドから既にある程度は明らかなよう
に、パーサは可能性係数を使用して動作し且つ必要であ
れば変更され得るしきい値を有しており、このしきい値
を基準にして全ての有効な構造の可能性係数がテストさ
れ、そのしきい値より大きいかまたは等しい可能性係数
を有する構造のみがパーサによって処理される。このよ
うにして、文法通りの及びほぼ文法通りの文をより迅速
に解析することが可能である。
【0027】 以下のセクションでパーサの動作を詳細に説明する。
パーサは、或る範疇の構成要素内の或る範疇の語は多く
の場合に構成要素内で明確に定義された機能的意味を有
するという原則に基づいていることに留意することが重
要である。同じことは構成要素内の構成要素にも当ては
まる。従って解析方法は、ほとんどの場合に、親構成要
素内の語もしくは構成要素の機能(機能範疇)を決定す
るためには、一方で親構成要素の範疇および他方で語ま
たは構成要素の範疇を認知することで十分であることに
基づく。
【0028】 コンピュータにおいてテキストを解析する方法を実行
する流れ図によって、パーサに関連するプログラムを添
付の図に再現する。まずパーサ全体を極めて一般的に説
明する。2つのプログラム部分、即ち「語適正接続(ri
ght associate)処理」及び「閉鎖処理(closure)」は
まとめて示してあり、これらのプログラム部分は以下の
説明において詳細図を参照して詳細に説明する。これか
ら説明する方法は2つのフェーズに分割することがで
き、実際の解剖処理を事実上含む第1フェーズにおいて
は文表現がシンタックス分析によって形成され、第2
(追加)のフェーズにおいては依然として不明瞭な機能
特性を有する構成要素に最終的な機能ラベルが割り当て
られる。この目的に適したフィルタ処理は両フェーズで
説明する。
【0029】 この方法は(全てが使用機能を備えた)各語に対して
実行され、後続の語が表現構造内に含まれねばならない
ときは常にもう一度実行される。
【0030】 図1に示した流れ図においては、パーサ方法が実行さ
れるのを可能とする文の読取りフェーズが参照番号1か
ら開始する。このフェーズでは解析するための文が公知
の方法で(例えばキーボードによって)コンピュータに
与えられる。文は、語メモリと称され得るコンピュータ
メモリセクション内に1語づつ書込まれ、文を構成する
語の数(kmax)がその都度計算される。適用可能な原理
は、語がスペース、タブレーション(tabulation)及び
句読点符号によって相互に分離されていることであり、
各句読点符号は語範疇に含まれる。前記数kmaxもまた語
メモリ内に保持される。
【0031】 次いで、次のフェーズ(2)が行われ、文から得られ
た全ての語の語彙記述が与えられる。このフェーズで
は、文中の語の各々に関係して存在する語構造が検索さ
れる。この検索は語彙メモリと称され得て1つ以上の可
能な語構造を有する大集合体が記憶されているコンピュ
ータメモリ内のメモリ部分によって行われる。
【0032】 フェーズ2の詳細説明を図2を参照して行なう。ここ
では語彙記述が行われる。次のプログラムステップ6で
は、処理のための語(k)の通し番号を示すカウンタ装
置(k−カウンタ)が0にリセットされる。なお図にお
いて、kは大文字Kで表わされている。ステップ7では
k−カウンタの計数が1だけ増やされる(k=k+
1)。その後ステップ8ではk−カウンタの計数が最大
値(kmax)を既に越えていないか、即ち(k>kmax)が
チェックされる。その通りであれば(Y)、プログラム
はステップ11に進み、そうでなければ(N)、ステップ
9へ進み、そこでk−カウンタの計数によって決定され
るアドレスによって次の語が語メモリから呼び出され、
コンピュータ内の作業メモリと称され得るメモリ部分に
書き込まれる。ステップ10では作業メモリ内に書き込ま
れた語が語彙メモリ内で検索され、そこで見つけられた
語に関係する特定の情報が語メモリ内に書き込まれる。
次いでプログラムはステップ7に戻る。文解析において
各語は全ての記述された語機能(語範疇)に対して調査
されるべきであるので、関係する語構造は、語が異なる
語範疇及び/または他の異なる特性を有するごとにそれ
自体の通し番号(1)によって個別化され、一方、語
(k)ごとに割り当てられた通し番号の数(lmax,k
も更新される。なお図において、lは大文字Lで表わさ
れている。(lmax,k)に代えて、その後のシンタック
ス分析においてその語の最後の語機能に達したことを示
すために、特定のラベルを最後のアレーに割り当てるこ
とでも充分となり得る。
【0033】 フェーズ3でシンタックス分析が行われる間に、異な
る構成要素構造を含む複数の表現が、可能な解として同
時に存在することがあり、これらの解は或る文法規則と
対立するために異なる可能性係数を有することがある。
本発明者らは最も高い可能性係数を含む解または解群に
のみ興味があるので、より低い可能性係数を有する解は
重要でない解と見なされるべきであり、従って除去され
る。これは、これらの解に関連する可能性係数を所定の
しきい値に対してテストすることでなされる。シンタッ
クス分析の開始時点ではこのしきい値(THRESHOLD)は
値「1」にセットされており、得られた可能性係数のど
れもこのしきい値を満足しないことが判ると、かかる分
析に際してより小さい値にセットされ得る。このことか
らプログラムは、初期しきい値を「1」にセットするス
テップ11を含む。
【0034】 ステップ12では文に対して出発構成要素がつくられ
る。出発構成要素は、そのフィールドが以下の情報を含
む構成要素である: カテゴリフィールド:S コマンドフィールド:NIL メンバフィールド :NIL 特性フィールド :NIL スタックフィールド:NIL 違反フィールド :NIL 可能性フィールド :1
【0035】 特性フィールドに書込むために、まず第1のテーブル
メモリに指定されたメモリ部分(テーブルA参照)にお
いて範疇Sで示された特性が検索される。この文法例で
は特性は示されていないので、関連するフィールドは空
のままである(NIL)。更にメモリは実際の構成要素を
受容するための(例えばLISPプログラム言語において通
常のリスト形態の)表現メモリを含み、この表現メモリ
を用いてパーサが連続的に稼働する。出発構成要素S
は、それまで空であったこの表現メモリ内に書き込まれ
る。
【0036】 次いでステップ13においてk−カウンタが初期値
「0」にリセットされ、ステップ14でk−カウンタの計
数が「1」ずつ加算される。ステップ14の後にプログラ
ムはステップ15に進み、そこでは文中の(句読点符号を
含む)全ての語にシンタックス分析がなされたか、即ち
k>kmaxがk−カウンタの計数に与えられたかがチェッ
クされる。そうであるならば(Y)、各語は明らかに構
成要素内に収容されており、シンタックス分析は完了し
たと見なされるべきである。ステップ15のステートメン
トk>kmaxが真でないならば(N)、プログラムはステ
ップ16へ進む。ここではk−カウンタによって指定され
た語をこの時点で有効な構成要素構造に適合することが
開始され、語は上記表現メモリ内に存在するまだ閉鎖さ
れていない構成要素構造に適合される。
【0037】 語彙化処理の結果としてこの語の全ての語構造(l)
が利用可能となった。或る語構造を有する1つの語を或
る範疇を有する1つの構成要素内に適合させる上で、語
は多くの場合に所定の機能を満足し、従って所定の機能
的語範疇が割り当てられ得る。この後の段階において親
構成要素内の構成要素にも同じことが当てはまる。一方
で構成要素範疇に他方で語範疇に基づいて、構成要素内
の語の機能(機能範疇)が決定される。前記構成要素内
の語の前記適合が直接可能でないならば、そのなかに語
を含めることが可能な新たな構成要素をそれに結合する
ことも時には可能である。この結合において開放の構成
要素構造内に語構造を含めることは、多数の文法規則の
ため及びその語(k)に関連する語構造の数
(lmax,k)のために、構成要素構造の数にある種の乗
算をすることになり得る。解析処理の結果は常に表現メ
モリ内に含まれ、且つそのなかに存在する実際の構成要
素構造は解析処理のための入力値と見なされるべきであ
るので、「一時メモリ」と称され得るコンピュータ内の
メモリはまずステップ17でクリアされ、ステップ18では
その全ての構成要素構造を有する表現メモリが一時メモ
リにコピーされ、ステップ19で表現メモリはクリアされ
る。次なるプログラムセクション20は多数の変形が可能
である。これらを図3、図4及び図5を参照して続けて
説明する。複数の語構造(l)を有する語(k)におい
て各構造に対して結合の可能性がチェックされねばなら
ないことに基づき、コンピュータは、その計数がその都
度関連する語構造に対応するカウント装置(l−カウン
タ)を含む。
【0038】 l−カウンタは、現在の文部分構造(Sm)内に収容さ
れるべき次なる語(k+1)のために0にリセットされ
ねばならない。これは、構成要素の通し番号(m)を表
すカウント装置(m−カウンタ)にも当てはまる。
【0039】 即ち、図3のステップ21ではl−カウンタの計数が0
にリセットされ(l=0)、次いでステップ22でl−カ
ウンタの計数が1ずつ増やされる(l=l+1)。ステ
ップ23ではl−カウンタの計数が既に通し番号kを有す
る語の語構造の数を表す最大値(lmax,k)を越えたか
が問われる(l>lmax)。
【0040】 この問いに対する答えが肯定であるならば(Y)プロ
グラムはステップ24へ進む。
【0041】 しかしながらステップ23の問いに対する答えが否定で
あるならば(N)、次のステップ25において新たに書込
みされる語構造について多数の動作が実施され得るよう
に前回の語構造を上書きするために、1番目の語構造
(語構造(L))を語メモリから作業メモリに移送す
る。ステップ26ではm−カウンタがゼロにリセットさ
れ、次いでステップ27でm−カウンタの計数が「1」ず
つ増やされる(m=m+1)。なお図において、mは大
文字Mで表わされている。ステップ28ではm−カウンタ
の計数がそのとき存在する構成要素の数を表す数mmax
越えていないかが問われる(m>mmax)。そうであるな
らば(Y)、指定された語構造(l)を有する適合され
るべき語(k)がそのとき一時メモリ内に存在する全て
の構成要素構造内での接続について調査され、そうして
このプログラム部分が同じ語(k)の次なる語構造(l
+1)に対して反復されるべきであることがわかる。そ
れからプログラムはステップ22へ戻る。ステップ28で問
いに対する答えが否定である場合には(N)、ステップ
29へ進み、そこでm番目の構成要素(構成要素(M))
が一時メモリから呼び出され、前回の構成要素を上書き
するために作業メモリに移送される。そうするとk番目
の語のl番目の語構造とm番目の構成要素との両方が作
業メモリ内にあることになり、これらの2つの構造(語
構造及び構成要素構造)についてプログラム部分30のな
かで多数の動作が実行される。実際、必要であれば他の
構成要素構造を作成することで、構成要素構造内に語構
造を収容することが企てられる。このプログラム部分を
図6に更に展開する。プログラム部分30が実行された後
にプログラムはステップ27へ戻る。
【0042】 ステップ28で問いに対する答えが肯定であるならば
(Y)、プログラムはステップ22へ戻る。このときには
1つの語(k)の1つの構成要素(l)に対して、全て
の実際の構成要素(mmax)についての語の適正結合処理
が実行されたことになる。
【0043】 その後の或る時にステップ23で問いに対する答えが肯
定となったならば(Y)、プログラムはステップ24へ進
む。その時、語適正結合処理は1つの語(k)の全ての
語範疇(lmax)に対して、全ての実際の構成要素
(mmax)について実行され、このように形成された構成
要素は表現メモリ内に記憶されている。これらの全ての
構成要素には「構成要素閉鎖(constituent closur
e)」のためのプログラム部分が実行されるべきであ
る。このためにはまずステップ24で一時メモリがクリア
され、次のステップ31で表現メモリに記憶された全ての
構成要素が一時メモリにコピーされ、そうしてステップ
32において表現メモリがクリアされる。次のステップ33
ではその計数が一時メモリ内の特定の構成要素に対する
m*−カウンタが0にリセットされる(m*=0)。次
のステップ34ではm*−カウンタの計数が「1」ずつ増
やされる(m*=m*+1)。ステップ25ではm*−カ
ウンタが構成要素の数に対応する最大値(m*max)を
既に越えたかが問われる(m*>m*max)。この問い
に対する答えが肯定であるならば(Y)、k番目の語の
全ての語範疇(lmax)に得られた全ての表現(m
max)について「構成要素閉鎖」のためのプログラム
部分が実行されたことになる。そうしてプログラムは、
次なる語(k+1)によって表現を作成するためにステ
ップ14へ戻る。しかしながらステップ35で問いに対する
答えが否定であるならば(N)、ステップ26ではm*番
目の表現が一時メモリから呼び出され、ステップ37で
「構成要素閉鎖」のための前記プログラム部分が実行さ
れる。このステップの間に得られた結果は表現メモリ内
に書き込まれ、その後プログラムはステップ34へ戻る。
【0044】 図2のステップ15で問いに対する答えが肯定であるな
らば(Y)、全ての語(kmax)は全ての関係する語構造
(lmax,k)で構成要素内に収容されたことになり、次
のステップ38では空のコマンドフィールドの表現メモリ
内の構成要素が少なくとも1つは存在するかが問われ
る。空のコマンドフィールドは勿論先頭の構成要素(ル
ート)にわれわれが係わっていることを示す。ステップ
30及び37は、可能性フィールドの値を実際のしきい値と
比較するしきい値回路を参照することによって偽の表現
を分別(除去)するフィルタ過程を含んでいるので、こ
の問いは真となる。前記比較テストを図6から図9を参
照して以下に説明する。
【0045】 ステップ38で問いに対する答えが否定であるならば
(N)、しきい値を小さくした後にパーサについて前記
したプログラム部分が使用可能な結果、即ち有意な表現
を与えるかをチェックするべきである。しかしながら、
しきい値は特定の値、例えば0.2より小さくすることは
できない。その理由は、与えられた文が、パーサ処理か
ら使用可能な表現が期待され得ないほどの構造的及び文
法的欠陥を有することが考えられるからである。従っ
て、ステップ38の問いに対する答えが否定であるならば
(N)、次のステップ39でしきい値が依然として所定の
最小値、例えば0.2以上であるかが問われる。もし答え
が肯定であるならば(Y)、次のステップ40でしきい値
は、固定された一連の数値に従って次のより小さい数値
にされる。所望であれば、このより小さいしきい値は手
作業で入力されることもできる。次いでプログラムはス
テップ12へ戻り、与えられた文の解析に関するプログラ
ムを再度実行するが、今度はより小さいしきい値を基準
とする。文法的に正しくない文も許容される。ステップ
39で問いに対する答えが否定であり(N)、従って使用
可能な分析結果が見つけられないことが仮定されるなら
ば、対応する動作がとられねばならない。文は恐らく多
くの及び/または非常に深刻な文法誤りを含む疑いがあ
ると考えられる。必要であれば、その注釈を作ることが
できる。ステップ40がステップ39に先行してもよく、こ
の場合はステップ39は異なる値が基準として与えられ
る。ステップ38で問いに対する答えが肯定であり
(Y)、従って少なくとも1つの先頭構成要素の表現が
存在するならば、ステップ42において先頭の構成要素の
メンバフィールドが適合される。基本とされる状況は、
文に属す構造が既に作成されたことである。しかしなが
ら多数のコマンドフィールドが尚書き込まれるまたは適
合される必要がある。表現メモリ内に存在する構成要素
(親構成要素)はそのメモリフィールド内に多数の構成
要素(メンバ構成要素)及び/または語(メンバ語)を
含む。メンバ構成要素とはその親構成要素の下位の構成
要素である。これらのメンバ構成要素及びメンバ語のコ
マンドフィールドは関連する親構成要素を参照する指示
語が書き込まれる。このように、所与の親構成要素のメ
ンバ内に与えられた全てのメンバ構成要素及びメンバ語
のコマンドフィールドにはこの親構成要素に関する指示
語または参照が与えられる。同じことは、解析処理の間
にそのコマンドフィールドが書き込まれた構成要素内の
構成要素及び語のコマンドフィールドのそれぞれに対し
ても当てはまる。
【0046】 解析処理の際には仮の機能ラベルが割り当てられ得る
が、これらの仮の機能ラベルはステップ43で最終的な機
能ラベルに置換される。尚、これから記述する文法例に
おいては、仮ラベルfNPは特に範疇Sを有する構成要素
内の範疇NPを有する構成要素のそれぞれに対して使用さ
れる。このステップの間にこの種のラベルは最終的なラ
ベル「主語」、「目的語」、「間接目的語」及び「述
語」によって置換される。このステップ43は後により詳
細に説明する。最後にステップ44では表現メモリから最
も高い可能性係数を有する表現が選択される。これは複
数の表現となることもあり得る。即ちオランダ語文“Ik
zag een meisje met de verrekijker"(英訳:“I saw
a girl with the binocular")において、句“with th
e binocular"は「動詞」の資格も「目的語」の資格もあ
り得るので2つの解の可能性がある。
【0047】 プログラム部分20の第2の実施例を図3を参照して説
明する。指標lは所定の構成要素構造を指示し(所定の
語構造を指示するのではない)、結果として指標mは特
定の語構造を指示する。ステップ33から37における現在
の指標としてはl*及びl*maxがm*及びm*maxの代
わりに使用されねばならない。従ってステップ21ではl
−カウンタの計数は、使用されるべき通し番号の構成要
素に対して「ゼロ」にリセットされ(l=0)、ステッ
プ22ではl−カウンタの計数が1ずつ増やされ(l=l
+1)、ステップ23でl−カウンタの計数が既に存在す
る構成要素の数に対応する最大値(lmax)を越えたかが
問われる(l>lmax)。ステップ25においてはl−カウ
ンタの計数によって指定された構成要素が一時メモリか
ら呼び出され、かかる構成要素は作業メモリ内の前回の
構成要素に上書きされる。次いでステップ26で、その計
数が所定の語範疇の通し番号に対応するm−カウンタが
リセットされ(m=0)、ステップ27でm−カウンタの
計数が「1」ずつ増やされ(m=m+1)、ステップ28
ではm−カウンタの計数が語構造の数に対応する最大値
(mmax)を既に越えたかが問われる(m>mmax)。ステ
ップ29ではm番目の語が作業メモリから呼び出され、こ
のm番目の語が作業メモリ内の前回の語の上に上書きさ
れる。m番目の語及びl番目の構成要素には次いでステ
ップ30の適合処理が行われる。
【0048】 ステップ28における問いに対する肯定応答(Y)は、
プログラム部分20において1つの語(k)に関係する全
ての語構造(mmax)が1つの構成要素(l)との関係に
ついてチェックされたことを意味する。他のステップは
既に記述した方法に従って行われる。既に記述した実施
例においては、有効な構成要素を参照することによって
1つの語(k)に関係する全ての語構造に対して可能な
構成要素の全ての可能な表現が、「これらの構成要素の
閉鎖」のためのプログラム部分37が実行される前に作成
または拡張される。
【0049】 以下の実施例においては、全ての構成要素(mmax)を
参照することで1つの語(k)に関係する1つの語構造
(l)に対して可能な構成要素の全ての可能な表現(m
max)が、これらの構成成分(m*)の閉鎖のための
プログラム部分37が実行される前に作成または拡張され
る。次いで同じプログラム部分が繰り返されるが、これ
は次の語構造(l+1)のためにである。
【0050】 この思考過程に基づく第3の実施例を図4に示す。
【0051】 ステップ21では語(k)に関連する語構造の通し番号
に関係するl−カウンタが「0」にリセットされ(l=
0)、ステップ22ではl−カウンタの計数が「1」ずつ
増やされる(l=l+1)。次いでステップ23でl−カ
ウンタの計数が最大値(lmax)を既に越えているかが問
われる(l>lmax)。ステップ25ではl−カウンタによ
って規定される語構造を有する語が語メモリから呼び出
され作業メモリ内に置かれる。ステップ26では、その計
数が一時メモリ内の構成要素の通し番号を表すm−カウ
ンタが「0」にリセットされ(m=0)、ステップ27で
m−カウンタの計数が「1」ずつ増やされ(m=m+
1)、ステップ28ではステップ30のプログラム部分によ
って全ての構成要素(mmax)が接続について既に調査さ
れたかが問われる(m>mmax)。この問いに対する答え
が否定であれば(N)、ステップ29においてm−カウン
タの計数によって規定される構成要素が一時メモリから
取り出され、作業メモリ内に置かれる。この後ステップ
30においてl番目の語構造のm番目の構成要素構造に対
する接続が調査され、この結果が表現メモリ内に書き込
まれる。ステップ28の問いに対する答えが肯定であれば
次のステップ45において表現メモリの内容及び一時切り
替えメモリの内容が交換され、その後ステップ32で表現
メモリはクリアされる。ステップ33では、その計数が一
時切り替えメモリ内の特定の構成要素の通し番号を表す
m*−カウンタが「0」にリセットされ(m*=0)、
ステップ34でm*−カウンタの計数が「1」ずつ増やさ
れ(m*=m*+1)、ステップ35でm*の計数が既に
最大値(m*max)を越えたかが問われる(m*>m*
max)。そうでないならば(N)、ステップ36でm*−
カウンタによって指定される構成要素(構成要素(M
*))が一時切り替えメモリから呼び出され、ステップ
37で構成要素閉鎖のためのプログラム部分が実行され
る。この結果は表現メモリ内に記憶され、プログラムは
ステップ34へ戻る。ステップ35で問いに対して肯定の答
えがなされると(Y)、次のステップ47で表現メモリの
内容がバッファメモリにコピーされ、ステップ48で表現
メモリがクリアされる。
【0052】 次いでプログラムはステップ22へ戻る。このように実
行されたプログラム部分は次いでk番目の語に関係する
次の語構造(l+1)のために繰り返される。
【0053】 ステップ23で問いに対する答えが肯定であるならば
(Y)、プログラムはステップ46へ進み、バッファメモ
リが表現メモリにコピーされ、次いでバッファメモリが
クリアされる。プログラムはステップ14へ戻る(図2参
照)。
【0054】 処理ステップ37及び30の結果をまず表現メモリ内に置
き次いでバッファメモリ内に置く代わりに、結果を直接
バッファメモリ内に置くことも可能である。これは、図
6及び図9における上記プログラム部分の処置に関係す
る必然的な結果を有する。
【0055】 第2の実施例が第1の実施例と異なるのと同様に第3
の実施例と異なる第4の実施例を詳細に説明する。ここ
で指標l及びmはそれぞれ構成要素及び語に関係する通
し番号を指す。ステップ33から37では表示l*を現在の
指標として再度使用する。
【0056】 即ち、ステップ21では、使用されるべき構成要素に関
係するl−カウンタの計数が「0」にリセットされ(l
=0)、ステップ22でl−カウンタの計数が「1」ずつ
増やされ(l=l+1)、ステップ23でl−カウンタの
計数が既に存在する構成要素の数に対応する最大値(l
max)を越えたかが問われる(l>lmax)。ステップ25
ではl−カウンタの計数によって指定される構成要素が
一時メモリから呼び出され、作業メモリ内に置かれる。
次いでステップ26ではその計数が或る語構造の通し番号
に対応するm−カウンタが「0」にリセットされ(m=
0)、ステップ27でm−カウンタの計数が「1」ずつ増
やされ(m=m+1)、ステップ28でm−カウンタの計
数が既に語構造の数に対応する最大値(mmax)を越えた
かが問われる(m>mmax)。
【0057】 ステップ29ではm番目の語構造が語メモリから呼び出
され、作業メモリ内に置かれる。m番目の語構造及びl
番目の構成要素にステップ30の適合処理が行われ、この
結果が表現メモリ内に記憶され、プログラムはステップ
27へ戻る。ステップ28での問いに対する肯定の答え
(Y)は、プログラム部分30において1つの語(k)に
関連する全ての語構造(mmax)が1つの構成要素(l)
への接続について調査されたことを意味し、そうすると
ステップ45で表現メモリの内容が一時切り替えメモリに
移送され、表現メモリはクリアされる。ステップ37にお
ける現在の構成要素の閉鎖過程に至るフェーズがステッ
プ33から開始する。ステップ35で問いに対する答えが肯
定であると(Y)、プログラムはステップ47に進み、前
記したプログラム部分が一時メモリ内の次の構成要素
(l+1)のために繰り返される。ステップ23で問いに
対する答えが肯定であれば(Y)プログラムはステップ
46を介してステップ14へ戻る(図2参照)。
【0058】 図5には、1つの語及び1つの構成要素が作業メモリ
に移送されたときは常に、その語及びその構成要素の適
合に関係するプログラム部分30と、これに次いで直ぐ
に、得られた構成要素の閉鎖に関係するプログラム部分
37との両方が実行されるべきであるという概念に基づく
プログラム部分20の第5の実施例を示す。即ち、ステッ
プ21においてその計数が語構造の通し番号を表すl−カ
ウンタが「0」にリセットされ(l=0)、ステップ22
でl−カウンタの計数が「1」ずつ増やされ(l=1+
1)、ステップ23ではl−カウンタの計数がk番目の語
に関連する語構造の数に対応する最大値(lmax)を既に
越えたかが問われ、そうでないならば(N)、ステップ
25でl−カウンタによって指定されるl番目の語構造が
語メモリから呼び出され、作業メモリ内に書き込まれ
る。ステップ26ではその計数が一時メモリ内のm番目の
構成要素の通し番号に対応するm−カウンタが「0」に
リセットされ(m=0)、ステップ27でm−カウンタの
計数が「1」ずつ増やされ(m=m+1)、ステップ28
ではm−カウンタの計数が一時メモリ内の構成要素の数
に対応する最大値(mmax)を既に越えたかが問われる
(m>mmax)。そうでないならば(N)、ステップ29で
m番目の構成要素が一時メモリから作業メモリに書き込
まれる。次いでl番目の語構造のm番目の構成要素構造
に対する接続に関係するプログラム部分30が実行され、
表現メモリ内に記憶される。この後すぐに、単数または
複数の追加の(または新たな)構成要素が表現メモリか
ら呼び出され、その閉鎖に関係するプログラム部分37が
実行される。ステップ37でこの結果が表現メモリに書き
込まれ、そうしてプログラムはステップ27へ戻る。
【0059】 ステップ28の問いに対する答えが肯定であれば
(Y)、プログラムはステップ22へ戻る。
【0060】 ステップ23で問いに対する答えが肯定であれば
(Y)、プログラムはステップ14へ戻る(図2参照)。
【0061】 第6の実施例においては指標l及びmが第5の実施例
の指標とは交換される。
【0062】 従ってステップ21、22、23及び25は指標lを用いた構
成要素表現に関し、ステップ26、27、28及び29は指標m
を用いた語構造に関する。
【0063】 図6の流れ図を参照し、プログラム部分30を詳細に説
明する。このプログラム部分は、与えられた語構造を与
えられた構成要素構造内に収容することを目的として使
用される。「,」のごとき句読点符号及び接続詞“en"
(英語では“and")、“alsmede"(英語では“as well
as")及び“of"(英語では“or")も語として留意さ
れ、語彙メモリ内にそのように記憶されるが、解析処理
においてこれらは他の語に対して別個の位置を占め、関
連する構成要素のために作成されるべき新たな親構成要
素内のメンバ要素として取り扱われ得、そのなかで上記
接続詞または句読点符号の適合処理が実際に行われるべ
きである。このために、かかる接続詞及び句読点は語適
合の過程で異なる経路をとる。即ち、ステップ50のこの
プログラム部分の最初において、与えられ適合されるべ
き語の語範疇が語彙メモリ内で「seq」で示されている
かが問われる。そうであるならば(Y)、プログラムは
ステップ51へ進む。そうでないならば(N)、次のステ
ップ52で、そのなかに語が適合される語構造及び構成要
素構造が作業メモリ内に書き込まれる。ステップ53で
は、語のカテゴリフィールド及び与えられた構成要素に
関係する情報を参照することにより第2のテーブルメモ
リに指定され得る、文法規則に関係するメモリ部分にお
いて検索が実施される。このように指定されたコア文法
においては、語範疇「冠詞」と与えられた構成要素「N
P」が文法規則「冠詞(NP(det))」に関連し、これ
は、語が機能ラベル「det」によって与えられた構成要
素内に適合されることを意味する。この種の多数の文法
規則は添付のテーブルBに見られる。
【0064】 次のステップ54では検索された文法規則が存在しデー
タフィールドを有するかが問われる。データフィールド
が空きであり(Y)、従って文法規則が機能的語ラベル
をもたないならば、構成要素内の1つの語の接続に関す
るプログラム部分30が完了したとみなされる。これは例
えば、NP内で動詞の接続に対する検索が行われるなら
ば、これはいかなる解も与えない(ラベル長=0)場合
にあてはまる。ステップ54での答えが否定の場合には
(N)、次のステップ55で文法規則がちょうど1つの機
能ラベルを備えたデータフィールドを有するかが問われ
る。そうであるならば(Y)、規則「冠詞(NP(de
t))」の場合のように、次のプログラム部分56におい
て機能ラベル、この場合には「det」を備えた与えられ
た語、この場合には「冠詞」が現在の構成要素構造内に
含まれる。このプログラム部分は図7を参照してより詳
細に説明する。しかしながらステップ55で否定の答えが
与えられたならば(N)、即ち複数の要素がデータフィ
ールド内に存在するならば、文法規則「冠詞(PP(det
NP))」を有する場合のように、次のステップ57で最後
の要素、この場合にはNPに対して新たな構成要素が作成
され、親構成要素PPと語「冠詞」との間に含まれる。
【0065】 この新たな構成要素は以下の構造を得る: カテゴリフィールド:文法規則の最後の要素、この場合
にはNP、 コマンドフィールド:親構成要素、この場合にはPP、 メンバフィールド :NIL、即ちこのフィールドは情報を
含まない、 特性フィールド :第1のテーブルメモリか取り出さ
れ得るこの構成要素範疇(NP)に関連する全ての特性、
この場合には「中性、非中性、単数1、単数2、単数
3、複数1、複数2、複数3、限定、非限定」。 多数のこの種の例をテーブルAに与える。
【0066】 英文法では以下の特性が与えられる: 「限定(definite)」、「非限定(indefinite)」、
「男性(male)」、「女性(female)」、「中性(neut
ral)」、「単数1(sing1)」、「単数2(sing
2)」、「単数3(sing3)」、複数1(plu1)」、複数
2(plu2)」、「複数3(plu3)」。 スタックフィールド:NIL、即ちこのフィールドは情報を
含まない。 違反フィールド :NIL、即ちこのフィールドは情報を
含まない。 可能性フィールド :1。
【0067】 この新たな構成要素構造は現在の構成要素構造とみな
される。
【0068】 次のステップ58では最後の要素、この場合にはNPが文
法規則から除去され、プログラムはステップ55へ戻る。
この場合にはただ1つの要素が文法規則内に残っている
ので、プログラムはステップ56へ進む。ステップ56は現
在の語構造及び現在の構成要素構造について実行され
る。現在の構成要素構造とみなされる構造はステップ57
で変更され得ることに留意されたい。
【0069】 ステップ51では与えられた構成要素(この構成要素内
でステップ25〜30によって語が適合される)がコピーさ
れる。次のステップ59ではコピーされた構成要素が既に
構成要素スタックフィールド内に要素「Conj」を有する
かがチェックされる。そうであるならば(Y)、コピー
された構成要素及び適合されるべき語または句読点に対
する親構成要素として再び接頭辞「Conj」を有する新た
な構成要素を導入することは望ましくない。次いで過程
はステップ60へ進み、そこではコピーされた構成要素が
表現メモリ内に置かれ、この構成要素が関与する次のス
テップ61〜66のために待機する。ステップ59で問いに対
する答えが否定であるならば(N)、ステップ67が続き
この時点のこの構成要素が構成要素の閉鎖のための条件
を既に満足するかがチェックされる。第1の条件は、最
後にスタックフィールドに加えられた要素が構成要素が
終わり得るのに適した要素であることである。第2の条
件は、或る要素がその構成要素のスタックフィールドに
おける最小のものとして存在せねばならないことであ
る。
【0070】 更に第1の条件は、構成要素が終わりとなり得ない要
素を指定する別の条件に代替され得る。第1の代替条件
及び第2の条件は、第3のテーブルメモリに指定された
メモリ部分内に記憶された文法規則を参照することで検
索される。即ち、情報(NP(det Nmod−a)head)はNP
における最後の要素として機能できる「限定詞」または
「Nmod−a」がなく、「head」がとにかくそこに存在せ
ねばならないことを示す。多数の例をテーブルCに示
す。NPがこのような条件を満足しないならば、可能性フ
ィールドの値は小さくされ、突合わせ違反コードが違反
フィールド内に含まれる。これらの条件が満足されるな
らば、このステップではそれ以上の動作は行われない。
可能性係数を小さくすると、(プログラム部分69におけ
る)後続のフィルタ処理でこの構成要素が削除される機
会が大きくなる。ステップ67では更に現在の構成要素に
必須要素が欠けていないかがチェックされる。これはテ
ーブルKを参照することでなされる。テーブルKには各
構成要素に対して、3つのリストセグメントからなる規
定の語派関連の組合せが多数与えられている。このテー
ブルは、第1のリストセグメントからの特性として機能
する要素が構成要素内に存在しないときには、第2のリ
ストセグメントからのメンバが強制となり且つ第3のリ
ストセグメントからのメンバが禁止されることを条件と
する。条件NP((複数3 proper pro)(det)())
は、第1のリストセグメント「複数3」、「proper」、
「pro」からの要素のどれもNP構成要素内に存在しない
ならば、第2のリストセグメントからの要素、この場合
には「限定詞」が存在せねばならないことを意味する。
第3のリストセグメントはここでは未使用であり何の強
制もない。テーブルKにいくつかの例を与えてある。こ
のような条件が満足されないと、可能性フィールドの値
は小さくされ、関連する違反コードが違反フィールド内
に含まれ、指定された組合せのリストセグメントも示さ
れる。
【0071】 次のステップ68では、「,」または「等位接続詞」の
包含に関係し、コピーされた構成要素に加え、コピーさ
れた構成要素と同じ範疇指定が与えられているが接頭辞
「Conj」を有する新たな親構成要素が生成される。新た
な構成要素のコマンドフィールドはコピーされた構成要
素のコマンドフィールドと同一となる。他のフィールド
もステップ57の場合と同様に書き込まれる。
【0072】 次のステップ69においては、コピーされた構成要素を
機能ラベルとして「Conj」を有する新たに形成された構
成要素内に適合させる提案が行われる。このことは、機
能ラベル「Conj」、コピーされた構成要素構造自体及び
新たに作成された親構成要素を使用してなされる。これ
に関連するプログラム部分をステップ81〜89を参照して
詳細に説明すると、新たな構成要素構造を表現メモリに
追加する結果が得られる。
【0073】 次のステップ70では構成要素構造が表現メモリに実際
に追加されたかチェックされる。そうでないならば
(N)、コピー構成要素が削除され、「シーケンサ」の
ための適合過程は終了したとみなされる。一方、ステッ
プ70で問いに対する答えが肯定であるならばステップ61
に進み、そこでは最後に加えられた構成要素が表現メモ
リから読取られ、更にそこから除去される。次のステッ
プ62ではステップ56で実行されたのと同一のプログラム
が実行されるが、機能ラベル「seq」がスタックフィー
ルド内に与えられる。ステップ62で要素が表現メモリに
加えられたかもしれないので、ステップ63では実際にそ
うであったかが問われる。答えが否定であるならば
(N)、このプログラム部分は終了したとみなされる。
答えが肯定であるならば(Y)、ステップ64で最後に加
えられた要素が表現メモリから呼び出され、次いでステ
ップ65で新たな構成要素構造が既にステップ57に関係し
て記述したように作成される。コマンドフィールドはこ
の場合には親構成要素を参照するように書き込まれる。
ここで親構成要素は、ステップ64で表現メモリから呼び
出されこの時点で現在の構成要素と見なされる構成要素
と考えられる。
【0074】 カテゴリフィールドには、現在の構成要素内の機能ラ
ベル「Conj」を有するメンバ構成要素のカテゴリフィー
ルドと同じ値が与えられる。
【0075】 他のフィールドもステップ57の場合とまったく同様に
書き込まれる。次のステップ66ではちょうど作成された
新たな構成要素構造が表現メモリに加えられ、構成要素
内の語の適合に関するプログラムは終了したとみなされ
る。
【0076】 図7はプログラム部分56及び62で参照した詳細プログ
ラムの流れ図を表す。ステップ71において、現在の構成
要素構造のコピー、即ち関連する語が収容される構成要
素の構造が作業メモリ内に書き込まれる。次のステップ
72ではステップ53及び56、または62で得られた機能ラベ
ルがこのコピーのスタックフィールドに加えられる。ス
テップ73でメンバの組合せ、即ち機能ラベル及び適合さ
れるべき語構造がメンバフィールドにラベル対として加
えられる。実際には語構造のアドレスが語構造自体の代
わりに加えられる。
【0077】 ステップ74では第4のテーブルメモリに指定されたメ
モリ部分で現在の構成要素の範疇及び語の機能ラベルに
関連する一連の特性が選択される。語構造の特性フィー
ルドにも構成要素構造の特性フィールドにも存在しない
この一連の特性の各要素は、構成要素構造の特性フィー
ルドから除去される。
【0078】 以下に前記説明の例を挙げる:第4のテーブルメモリ
(テーブルD参照)によれば、一連の特性:「中性、非
中性、単数1、単数2、単数3、複数1、複数2、複数
3、限定的、非限定的」は、「NP」及び「限定詞」に属
す。範疇「NP」を有する構成要素構造が特性「単数1、
単数2、単数3、複数1、複数2、複数3、中性、非中
性」を有すると仮定する。いま(例えば冠詞“the"に適
用されるように)語構造は例えば特性フィールド内に特
性「中性、限定的、単数3」を有するので、特性「単数
1、単数2、複数1、複数2、複数3及び非中性」は構
成要素構造の特性フィールドから除去される必要があ
る。英文法ではNP及び「限定詞」に対して類似の一連の
特性が見られるが、「中性」及び「非中性」は削除され
る。英語における例として特性「非限定的」、「単数
3」を有する語構造には、例えば冠詞“a"が選択され
る。この選択の結果、特性「単数1」、「単数2」、
「複数1」、「複数2」、「複数3」及び「限定的」は
構成要素構造の特性フィールドから除去される。
【0079】 次のステップ75では必要であればある種のチェック動
作を実行させるが、これは第5のテーブルメモリに指定
されたメモリ部分(テーブルE参照)を参照してなされ
る。かかる動作において、不正な組み合わせ、不正な順
序及び不正な数の機能ラベルが各構成要素タイプ(構成
要素範疇)に対してスタックフィールド内で検索され
る。即ち、2つの機能ラベル「head」が構成要素NP内に
連続して存在すると不正な組み合わせと解釈され、機能
ラベル「Nmod−s」の次に「head」があると不正な順序
の組み合わせと解釈され、NP内に1つ以上の機能ラベル
「限定詞」があるとこのような構成要素に対しては不正
な数の機能ラベルがあると解釈される。「head」の次に
「Nmod−A」があってもこれらの2つは不正な順序の機
能ラベルである。構成要素構造内の最後に加えられた要
素が先頭に来ることを考慮する必要がある。
【0080】 テーブルEでは前記チェックが「NP((head hea
d))((head Nmod−S))((Nmod−a head))
((det 1))」で表わされている。
【0081】 このテーブルは、他の構成要素に対して及び構成要素
ごとのテスト規則の数において、拡張することができ
る。このチェックにおいては、特定の違反コードと関連
する要素対との両方が違反フィールド内に書き込まれ
る。各構成要素範疇に対する第2のチェックは、第6の
テーブルメモリに指定されたメモリ部分内にそのまま記
憶されているテーブルFを参照して特性フィールド内の
不正な組合せを検索することでなされる。即ち、語の組
合せ“the house"に関連する組合せ「非中性」及び「中
性」はNPにおいては不正とみなされる。これは、特性フ
ィールド内に中性及び非中性の両方が不在でそれ自体を
表す。特性フィールド内に存在する特性の組合せ(中
性、非中性)が1つでないことをプログラムが判断した
ならば、違反及び関連する特性の組合せが違反フィール
ド内に含まれる。NPについての英語の例を挙げると、
“a houses"に関する「単数3」及び「複数3」の組合
せは不正であるとみなし得る。これは、特性「単数
1」、「単数2」、「単数3」、「複数1」、「複数
2」及び「複数3」の1つの欠落に現れる。プログラム
が、特性フィールド内に前記特性の組合せのいずれの要
素も存在しないことを確証したならば、違反コード及び
それぞれの特性の組合せは違反フィールド内に記憶され
る。
【0082】 特性フィールド内に必然的に存在すると考えられる組
合せに対しては検索が行われ得る。
【0083】 各構成要素は特性フィールド内に少なくとも1つの許
可された組合せの特性ラベルを示すべきである。
【0084】 即ち、NP構成要素“a large house"の特性フィールド
は組合せ「非限定的、単数3、形容詞−非屈折、形容詞
−可算(enumerative)、中性」を含み、一方、テスト
された標準組合せは例えば(非限定的、形容詞−非屈
折、中性)であり、これは前記特性フィールド内に見ら
れる。NP構成要素“the large house"は特性フィールド
(限定的、単数3、形容詞−屈折、形容詞−可算、中
性)を有し、このなかには標準組合せ(限定的、形容詞
−屈折)が見られる。一連の標準組合せの特性ラベルは
NP構成要素に対してコンパイルされ得る。NPのためのこ
の種の一連の標準組合せは、NP((制限的、形容詞−屈
折)(複数3、形容詞−屈折)(非中性、形容詞−屈
折)(中性、非限定的、形容詞−非屈折))とし得る。
この種の標準組合せは他の種類の構成要素に対してもコ
ンパイルされ得、第6のテーブルメモリに指定されたメ
モリ部分に一緒に記憶される(テーブルF参照)。
【0085】 構成要素は少なくとも1つの関連する標準組合せを満
足せねばならない。そうでないならば、その構成要素に
関連する可能性フィールドの値を小さくすべきである。
不正なNP構成要素“a large house"は特性フィールドと
して(非限定的、単数3、形容詞−屈折、形容詞−可
算、中性)を有し、このなかにはテストされた標準組合
せのいずれも見られない。ここでも違反コードが違反フ
ィールド内に含まれ得、解析された文の任意の表示にお
いてスクリーン上に表示することもできる。英語のテー
ブルFのごとき添付のテーブルに示したようなコア文法
を使用する場合には、前記と等価の例は入手し得ない。
【0086】 次のステップ76ではコピー構成要素の可能性フィール
ドの値(PROB)がしきい値(THRESHOLD)より大きいか
または等しいかが問われる。問いに対する答えが否定で
あるならば(N)、コピー構成要素は消去され、当該ス
テップ56または62(図6)は終了したとみなされる。
【0087】 ステップ76の問いに対する答えが肯定であるならば
(Y)、次のステップ77で現在の構成要素とみなされる
コピー構成要素が現在のしきい値からみて閉鎖され得る
かが問われる。この場合、コマンドフィールド上の構成
要素内の現在の構成要素に対する可能な機能ラベルにつ
いてテストが実施される。現在の構成要素がスタックフ
ィールド内に1つ以上の機能ラベルを有しているならば
(Y)、このテストは先行段階で既に実施され正しい結
果となったので、再度実施する必要はない。このよう
に、構成要素が現在のしきい値で閉鎖され得ることが明
らかな状況ではプログラムはステップ78へ進む。そうで
なければ、図7に示したプログラム部分は終了したとみ
なされ得る(N)。このステップは解析過程には必須で
はないので任意とみなすことができるが、最終結果を得
る上で促進効果がある。次のステップ78ではこの構成要
素が表現メモリ内に含まれる。
【0088】 次に、図8の流れ図を参照し、プログラム部分69の詳
細説明を行なう。
【0089】 このプログラム部分はプログラムステップ71〜78と多
数の類似性があるので、これらのプログラムステップの
いつくかを参照することがある。
【0090】 ステップ79では作業メモリのために親構成要素がコピ
ーされ、次のステップで使用される。
【0091】 次のステップ80ではコピーされた構成要素の可能性係
数が、可能性係数を親構成要素の下位の構成要素(メン
バ構成要素)の可能性係数を用いて訂正する、例えば前
記2つの可能性係数を乗算することによって適合され
る。可能性係数の新たな値を決定するために、2つの可
能性係数x及びyに対して別の適当な関数f(x,y)を
使用することも可能である。
【0092】 ステップ81では、ステップ69に関係して記述し且つス
テップ99及び104に関係してこれから記述するような機
能ラベルがコピー構成要素のスタックフィールド内に含
まれる。
【0093】 ステップ82では、連続的に機能ラベル及び支配された
構成要素の組合せ対がコピー構成要素のメンバフィール
ドに加えられる。
【0094】 ステップ83では親構成要素の範疇指定と親構成要素の
下位のメンバ構成要素の機能ラベルとに関係して第4の
テーブルメモリにおいて特性リストが検索される(テー
ブルD参照)。これとステップ79でコピーされた構成要
素の特性リストとの両方に存在するがメンバ構成要素の
特性リストには存在しない全ての特性がコピーされた構
成要素の特性フィールドから除去される。更に、テーブ
ルからの第2の特性リストに存在する全ての特性が、コ
ピーされた構成要素の特性フィールド内に既に存在しな
い限りは、コピーされた構成要素の特性フィールドに加
えられる。このステップはステップ74に類似している。
【0095】 ステップ84ではプログラムは既にステップ74に関係し
て記述したように実行される。
【0096】 コピーされた構成要素に適応可能な以下のステップ8
5、86及び87は、ここで関与するのは構成要素であって
語ではないという条件でステップ76、77及び78と類似し
ている。
【0097】 次に図9の流れ図を参照し、現在の構成要素の閉鎖に
関係するプログラム部分37を詳細に説明する。
【0098】 ステップ88では、先行ステップ36で一時メモリ(図3
参照)、一時切り替えメモリ(図4参照)、プログラム
部分30から(図5参照)またはこれから説明する図9の
プログラム部分103及び108から与えられた現在の構成要
素構造が表現メモリに加えられる。ステップ65では、ス
タックフィールドに何の要素も含まない構成要素構造が
生成され得るが、この種の構成要素を閉鎖するのは許可
され得ない。従ってステップ89でスタックフィールドが
空き(アイドル)であるかが問われる。この答えが肯定
であるならば(Y)、このプログラム部分は終了したと
みなされる。答えが否定であるならば(N)ステップ90
で現在の構成要素のコマンドフィールドが値を有するか
が問われる。そうでないならば(N)、この構成要素は
先頭の構成要素であって閉鎖は適用されない。先頭構成
要素の場合には図9に示したプログラム部分は終了した
とみなされる。ステップ90の答えが肯定であるならば
(Y)、ステップ91へ進み、そこで、現在の構成要素か
らコピー構成要素が作られる。次のステップ92ではコピ
ー構成要素(以降これをメンバ構成要素と称する)の範
疇が確立される。次いでステップ93ではメンバ構成要素
のコマンドフィールドを参照して、親構成要素の範疇が
確立される。次にステップ94では、関連する文法規則
(テーブルG参照)がステップ92及び93で得られた、メ
ンバ構成要素及びその親構成要素の範疇に関するデータ
と第7のテーブルメモリに指定されたメモリ部分の参照
とによって選択される。
【0099】 もしメンバ構成要素の範疇がNPであり且つ親構成要素
の範疇が「S」であるならば、文法規則NP(S,fNP)か
らメンバ構成要素には機能ラベルfNPが割り当てられ得
る。原則として1つ以上の要素がテーブルのこの場所に
存在し得る。
【0100】 次にステップ95では、スタックフィールド内の要素に
関する条件がテストされるフィルタ処理が実施される。
テスト基準は第3のテーブルメモリ内に記憶されてお
り、テスト自体はステップ67におけるものと完全に同一
である(テーブルC及びK参照)。
【0101】 次のステップ96では可能性フィールド内の値がしきい
値より大きいかまたは等しいかが問われる。勿論ステッ
プ95で可能性フィルタの値を小さくすることが可能であ
る。そうでないならば(N)、プログラム部分37は終了
したとみなされ、そうであれば(Y)、ステップ97へ進
み、そこではステップ94で選択された文法規則が機能ラ
ベルを含むかが問われる。そうでないならば(N)、現
在の構成要素の閉鎖は不可能であり、現在の構成要素の
閉鎖過程は終了したとみなされるべきである。しかしな
がらこの問いに対する答えが肯定であるならば(Y)、
少なくとも論理的閉鎖処理が可能である。しかしなが
ら、ステップ94で1つ以上の機能ラベルが与えられたか
がチェックされるべきである。このために次のステップ
98ではステップ94で確かに1つの機能ラベルが与えられ
たかが問われる。この答えが肯定であるならば(Y)、
ステップ99へ進み、一方、否定であるならば(N)、ス
テップ100へ進む。プログラム部分99においては現在の
構成要素、例えばNPに対して、親構成要素の構成要素構
造内で、ステップ94の文法規則で指定されたfNPのよう
な機能ラベルを有する要素として動作することが提案さ
れる。親構成要素は現在の構成要素のコマンドフィール
ド内で指定される。与えられた関連機能ラベルを有する
現在の構成要素は親構成要素のメンバフィールド内に含
まれる。これについてはステップ79〜83に関係して詳細
に説明した。ステップ99では(ステップ79に関係して説
明したように)親構成要素のコピーが作られ、機能ラベ
ル(fNP)もまたメンバ(NP)に関係してステップ82で
メンバフィールド内に書き込まれる。ステップ101では
(まさしくステップ78に関係して説明したように)プロ
グラム部分99で1つの要素が表現メモリに加えられたか
がチェックされる。この答えが否定であれば(N)、こ
のプログラム部分は終了したとみなされる。ステップ10
0で問いに対する答えが肯定であれば(Y)、プログラ
ムはステップ102へ進み、そこで、最後に加えられた要
素が表現メモリから呼び出され、そこから除去され、ス
テップ103では、ステップ88から出発する一連のステッ
プで示したように、この要素の閉鎖に関係した処理が行
われる。現在の構成要素構造がステップ100でコピーさ
れるが、このコピーは以降現在の構成要素とみなされ
る。プログラム部分104では現在の構成要素が、親構成
要素の構成要素構造内で、ステップ94の文法規則におけ
る最初の要素として指定された機能ラベルを有する要素
として動作することが提案される。提供された機能ラベ
ルを有する現在の構成要素は指定された親構成要素のメ
ンバフィールド内に含まれるが、これについてはステッ
プ79〜87に関係して詳細に説明した。ステップ105では
最初の要素(1番目の機能要素)が文法規則から除去さ
れる。ステップ106では表現メモリ内の構成要素の数が
増加したかについでチェックされるが、これはプログラ
ム部分104で起こり得ることである。この問いに対する
答えが否定であるならば(N)、プログラムは直接ステ
ップ98へ戻り、訂正後の文法規則を参照して現在の構成
要素の閉鎖処理を実行する。ステップ106の問いに対す
る答えが肯定であるならば(Y)、次のステップ107で
は最後に加えられた構成要素が表現メモリから呼び出さ
れ、そこから除去され、現在の構成要素とみなされ、次
のステップ108では、ステップ88から出発する一連のプ
ログラムステップによって示される閉鎖プログラムが適
用される。ステップ108後、プログラムはステップ98へ
戻る。
【0102】 先行のプログラムにおいては仮ラベルが割り当てられ
たので、次のプログラム部分における実際の解析処理に
続いて前記仮ラベルは最終ラベルに置き換えられる。即
ち、本明細書で使用する文法例においては、表現メモリ
内に記憶された全ての構成要素のラベルfNPは、可能で
あれば最終ラベルの主語、目的語、間接目的語及び述語
に置き換えられる。前記最終ラベルはそれぞれ省略形:S
ubj.,Obj.,Indobj.,Pred.で使用される。
【0103】 このためにステップ109では、それによって構成要素
の通し番号が参照されるm*−カウンタが「0」にリセ
ットされ、ステップ110ではこのカウンタの計数が
「1」ずつ増やされる。
【0104】 ステップ111ではm*−カウンタの計数が既に構成要
素の数に対応する最大値(m*max)を越えたかチェッ
クされる。この答えが肯定であるならば(Y)、このプ
ログラム部分は終了したとみなされる。ステップ111で
問いに対する答えが否定であるならば(N)、次のステ
ップ112でm*番目の構成要素構造のコマンドフィール
ドが情報を含むか問われる。この問いの答えが肯定であ
るならば(Y)、これは先頭構成要素に関係せず、従っ
て最終ラベルを割り当てる必要がない。
【0105】 もし上記問いの答えが否定であるならば(N)、仮機
能ラベルを最終ラベルに置換するプログラムフェーズ11
3が続き、その後プログラムはステップ110へ戻る。
【0106】 図11を参照し、プログラムフェーズ113を詳細に説明
する。
【0107】 ステップ114では、その計数が現在の構成要素のメン
バフィールド内のメンバ対の通し番号を指定するn−カ
ウンタが「0」にリセットされ、次いでステップ115で
このカウンタの計数が「1」ずつ増やされる。なお図に
おいて、nは大文字Nで表わされている。
【0108】 次のステップ116ではn−カウンタの計数が既に、そ
のメンバフィールド内のメンバ対の数に対応する最大値
(nmax)を越えたか問われる。そうであるならば
(Y)、プログラム部分113は終了したとみなされ、プ
ログラムはステップ110へ戻る。ステップ116で問いに対
する答えが否定であるならば(N)、そのときは次のス
テップ117でn−カウンタの計数で指定されるべき現在
の構成要素対の第2のエレメントが決定され、現在の構
成要素と見なされる。次のステップ118では現在の構成
要素とみなされた要素が真に構成要素であって語ではな
いかが問われる。そうでないならば(N)、プログラム
はステップ115へ戻る。その通りであれば(Y)、現在
の構成要素が構造、つまり現在の構成要素、即ちステッ
プ117で指定された構成要素のスタックフィールドの内
容がチェックされる。これは、ステップ114、115、11
6、117及び118に関係して記述したのと同じ処理が、ス
テップ120、121、122、123及び124を含むプログラム部
分119内で再び、今回は現在の構成要素とみなされる要
素のメンバ対について実施される必要があることを意味
する。メンバ対の通し番号を以下n*で表す。メンバ対
の1つが語ではなくて(例えば関係節の場合などの)構
成要素を表す第2の要素を有するのであれば、次のステ
ップ125は番号119で示したプログラム部分で置き換えら
れるべきである。この説明においては、全てのメンバ対
の第2の要素がステップ118で語とみなされる状況が調
査される。この仮定の結果は、ステップ119は実際に省
略することができ、プログラムはステップ126へ進み、
そこでステップ118で選択された構成要素のスタックフ
ィールドの要素の1つ、即ちn番目の対の第2の要素が
仮ラベルであるかが問われる。そうでないならば
(N)、プログラムはステップ115へ戻る。ステップ126
で問いに対する答えが肯定の場合には(Y)、ステップ
127で仮ラベルが最終機能ラベルに置換されるプログラ
ムが続く。このような条件においてm*番目の構成要素
構造のスタックフィールドの内容が調査され、これらの
内容は、第8のテーブルメモリに指定されたメモリ部分
内に記憶された所定の文法規則と比較される。この種の
規則は以下のものとすることができる:((fNP,V
fin-main,Smod,fNP,Endmark)(Subj.,Obj.))[これ
は、最初のfNPがラベル「Subject」に置き換えられ、第
2のfNPがラベル「Object」に置き換えられることを意
味する](テーブルH参照)。
【0109】 多数の解がスタックフィールドの特定のデータ内容に
対して存在するならば、それは対応する数の先頭構成要
素となり、その全てが表現メモリ内に書き込まれる。こ
れは、仮機能ラベルを有する現在の構成要素をコピーす
ることでなされる。
【0110】 まず、各先頭構成要素のメンバフィールド内の仮機能
ラベルが対応して置き換えられる。
【0111】 次いでステップ128で、仮機能ラベルをこのプログラ
ム部分の文法規則によって生成されたような最終機能ラ
ベルに変換することが、ある相関構成要素の特性フィー
ルド内の所定の構成要素の強制的対応に基づき許容可能
であるかチェックされるフィルタ処理が、第9のテーブ
ルメモリ(テーブルI参照)に指定されたメモリ部分を
参照して行われる。特に、語形変化指定が一貫している
べきである構成要素構造「主語」と「動詞」との間にこ
の種の関係がある。調査中の構成要素の範疇指定によっ
て構成されたテーブルIはこれを目的とした文法規則を
与える。また、各文法規則は要素のリスト及び特性のリ
ストを含む。特性フィールドがそのリスト上に存在する
要素の1つに対応する各構造(構成要素または語)対し
て呼び出される。相互に及び見つけられたリストの特性
を有するこれらの特性フィールドの全ての共通部分は空
きであろう。
【0112】 例えば文“Hij lopen"(英語では“He walk")におい
て、「主語」の特性と見つかった特性の一覧表との共通
部分は「単数3」を与え、その後に共通部分は「動詞」
の特性の導入の結果として空きとなる。即ち非文法的な
文構成である。得られた分析は、可能性フィールド内の
値を小さくすることによってより可能性を低くされ、違
反フィールドにも違反コードが与えられる。
【0113】 フィルタ処理後プログラムはステップ115へ戻る。ス
テップ129、130及び131はステップ126、127及び128と同
じである。「シンタックス管理パーサ」の後、本明細書
に記述した本発明の概念に従って動作する「シンタック
ス埋込みパーサ」を説明する。シンタックス埋込みパー
サは、テーブルメモリを用いて実行されるステップがプ
ログラムに従って実行される動作で置き換えられている
点でシンタックス管理パーサとは異なる。例を挙げる
と、本発明者らはプログラムステップ75(図7)を考
え、テーブルEの内容の一部を図12の流れ図で表す。
【0114】 図12においては、ステップ132で構成要素が範疇
「S」であるかが問われる。そうであるならば(Y)、
プログラム部分133へ進み、そこでプログラムステップ7
5は終了したとみなされる。そうでないならば(N)、
ステップ134へ進み、そこで構成要素がタイプSrelであ
るか問われる。そうであるならば(Y)、これを目的と
した検索プログラム135へ進む。そうでないならば
(N)、ステップ136へ進み、そこで構成要素Scompに関
連する処理フェーズが開始しステップ137を使用する。
【0115】 関連する検索プログラムを含む、NP構成要素に関係す
る次のプログラム部分138を詳細に説明する。ステップ1
38では構成要素がNPであるか問われる。そうであるなら
ば(Y)、プログラムステップ139へ進み、そこで機能
ラベル「head」が連続して2回存在するかが問われる。
そうであるならば(Y)、プログラムステップ152へ進
み、そこで可能性フィールドの値が所定の不正係数だけ
小さくされ、その後プログラムはステップ140へ進む。
ステップ139で問いに対する答えが否定であるならば
(N)、ここでは詳細を説明しないが、1つ以上の類似
の問いが続き、最終的にはプログラムステップ140へ到
達する。ステップ140では調査中の構成要素内の機能ラ
ベル「head」の後にラベル「det」があるかが問われ
る。そうであるならば(Y)、ここに不正な順序があ
り、次のステップ141で可能性フィールドの値が所定の
係数だけ訂正される。ステップ140で問いに対する答え
が否定であるならば(N)、ステップ142へ進み、そこ
で機能ラベル「head」に続いてラベル「nmod−a」があ
るかが問われる。そうであるならば(Y)、ステップ14
3で調査中の構成要素の可能性フィールドの値が所定の
係数だけ小さくされる。ステップ142で問いに対する答
えが否定であれば(N)、次のステップで同様の問いが
なされ、最終的に、即ちステップ141及び143の後にプロ
グラムは調査プログラムの次のフェーズの最初のステッ
プ144に到達し、そこでラベル「det」が構成要素内に1
つだけ存在するかが問われる。この問いに対する答えが
否定であれば(N)、次のプログラムステップ145で可
能性フィールドの値が所定の係数だけ小さくされる。答
えが肯定の場合には(Y)、ステップ146へ進み、そこ
では構成要素がただ1つの機能ラベル「head」を含むか
が問われる。そうでないならば(N)、次のステップ14
7で可能性フィールドの値が小さくされる。このフェー
ズで実行されるべきプログラムステップが終わるとステ
ップ75で実行されるプログラムは終了したとみなされ
る。ステップ138で問いに対する答えが否定であるなら
ば(N)、ステップ148へ進み、そこではPP構成要素に
関して問われる。ステップ138で問いに対する答えが肯
定であるならば(Y)、それに関する調査プログラムが
実行される。ステップ150及び151ではAP構成要素のため
の類似のプログラム部分が実行され、そうするとステッ
プ75と等価の図2のプログラムが終了したとみなされ
る。
【0116】 「シンタックス管理パーサ」の他のテーブルに対して
も類似のプログラム処理が可能である。ステップ67、7
5、84、95及び128に関係するプログラム部分ではフィル
タ処理が使用され、入力文が文法的に正しいか否かを決
定するために、それによって文法規則から誘導される所
定の基準が使用される。そうでないならば、ステップ44
における文の選択の場合では例えばスクリーン上にシス
テムによって再生される文に、違反または違反コード及
びより小さい可能性係数が与えられる。そうするとシス
テム操作員は入力文を手作業で訂正することができる。
入力文を解析し更に自動訂正するシステムは当然のこと
望ましいと考えられる。使用可能な結果がないならばこ
の訂正機能がステップ4の後にプログラムフェーズ153
として実行されるべきである。次のステップ154では非
文法的な文が充分に訂正されたか問われるが、このこと
は可能性フィールドの値から明らかである。ステップ15
4の問いに対する否定の答えは(N)、与えられた文が
結局正しくならないことを意味する。そうするとプログ
ラムは、操作員が現在の文の修正版をタイプ入力するた
めのステップ1へ戻る。ステップ154の問いに対する答
えが肯定であるなら(Y)、プログラムはステップ4へ
進む。プログラムフェーズ153の背後にある基本的概念
を図13、図14及び図15を参照して説明する。訂正動作の
後に元の表現と訂正後の表現との両方が利用可能となり
得るために、ステップ155では(図13)選択された元の
文表現が表現メモリ内でコピーされ、フェーズ156で訂
正処理が行われる。次のステップ157では選択された先
頭構成要素の多数のフィールドが行われた変更に適合さ
れる。これは、例えばこの先頭構成要素に関連するメン
バ構成要素のコマンドフィールドとそれに依存するメン
バ構成要素とに適用される。これらのコマンドフィール
ドには関連する親構成要素に対する指定または参照が書
き込まれ、その後プログラムはステップ154へ進む。こ
のプログラムフェーズ156は図14に示したような多数の
プログラムステップに分解される。プログラムフェーズ
156は不正な構造を有する先頭構成要素及びメンバ構成
要素にのみ適用される必要があるので、プログラムはス
テップ158の、与えられた構成要素の可能性係数が1よ
り小さいかという問いで開始する。正しい構造を有する
構成要素の場合にはこれに対する答えは否定である
(N)。このときは実際の訂正プログラムは実行され
ず、プログラムはステップ157へ進む。ここで明らかな
ようにステップ158はステップ164に続き、そうしてステ
ップ158の次にステップ161が続くプログラムとなる。不
正な構造を有する構成要素に対しては前記問いに対する
答えが肯定となり(Y)、プログラムはステップ159へ
進み、可能性フィールドの値が1とされる。結局、現在
の構成要素が構成要素自体またはそのメンバ構成要素の
訂正後に未訂正の可能性係数を有することは正しくない
からである。文構造の訂正は、尚構成要素がある文の最
低のレベルから開始する。文構造におけるそのレベルま
で下がり得るために、次のプログラムステップ160でカ
ウンタ(r−カウンタ)が0にリセットされ(r=
0)、次のステップ161でこのカウンタの計数が1ずつ
増やされる(r=r+1)。なお図において、rは大文
字Rで表わされている。次のステップ162では、条件r
≦rmaxを参照することでr−カウンタの計数が現在の構
成要素におけるメンバ構成要素の数より小さいかまたは
等しいかのチェックがなされる。そうであるなら
(Y)、ステップ163でr−カウンタによって決定され
る構成要素がシステムの語メモリから呼び出され、ステ
ップ164でこの構成要素が本当に文部分構成要素である
(即ち語構成要素ではない)か問われる。この問いに対
する答えが肯定であるならば(Y)、文構造内でより低
いレベルが検索される必要があり、プログラムはステッ
プ165へ進む。このステップは、ステップ158からの訂正
プログラムが現在の構成要素としてのこの文構成要素の
ために再度実行されることを意味する。しかしながら、
構成要素が範疇「語」に含まれるならば、即ちステップ
164の問いに対する答えが否定であるならば(N)、プ
ログラムはステップ161へ戻る。ステップ162の問いに対
する答えが否定であるならば(N)、現在の構成要素
は、語のみがメンバ要素として存在する構成要素構造を
有する。次のステップ166では現在の構成要素において
関連する違反フィールドが1つ以上の違反を含むかチェ
ックされる。そうでないならば(N)、この構成要素に
対する訂正処理は終了し、プログラムはステップ173へ
進む。しかしながら、ステップ166で問いに対する答え
が肯定であるならば(Y)、ステップ167に進み、そこ
で、現在の構成要素の可能性フィールド、特性フィール
ド及び違反フィールドの値が、訂正フェーズの間に既に
行われた変更に適合される。ステップ165は図14の訂正
フェーズ全体を包含し、且つ文構造の実際の訂正は厳密
にはステップ172で行われるので、これは全く仮想では
ない。プログラムステップ67、75、84、95及び128から
違反コードの形態で多数(l)の種類の違反が生じるの
で、関連するエラーの訂正機能特性はそれぞれの種類の
違反に属し、現在の構成要素において違反フィールド内
に起こり得る違反及び違反コードが検索される。
【0117】 ステップ168では、その計数が違反フィールド内の一
連の違反コードの特定の通し番号に対応するt−カウン
タがリセットされる(t=0)。ステップ169ではt−
カウンタの計数が増やされ(t=t+1)、ステップ17
0でt−カウンタの計数が違反フィールド内の違反コー
ドの数(tmax)を決定する数よりも大きいかが問われる
(t>tmax)。なお図において、tは大文字Tで表わさ
れている。そうでないならば(N)、ステップ171でt
−カウンタの計数に対応する違反コードが違反フィール
ドから呼び出され、次のステップ172でこの違反コード
に適用可能な訂正機能が現在の構成要素に適用される。
図16を参照してステップ172を詳細に説明する。プログ
ラムはステップ169へ進む。一方で、その構成要素に関
連する全ての違反コードが取り扱われるステップ170の
問いに対する答えが肯定であるならば(Y)、プログラ
ムはステップ173へ進み、そこでステップ167と同一のプ
ログラムが実行される。ステップ173を通った後にプロ
グラムは、少なくとも訂正機能(図14)がステップ165
の一部を形成するのであれば、このステップへ戻り、次
いでステップ161へ続く。しかしながら、訂正機能(図1
4)がステップ165の一部として実行されないならば、プ
ログラムはステップ173の後にステップ157へ進む。
【0118】 ステップ158で問いに対する答えが否定であるとき
(N)、図14の訂正機能がステップ165の一部を形成す
るならばプログラムはこのステップへ戻り、そうでない
ならばプログラムはステップ157へ続く。
【0119】 図15を参照し、ステップ167及び173を更に説明する。
これらのステップの機能は、生成された状況における現
在の構成要素の可能性フィールド、違反フィールド及び
特性フィールドの適合に関する。ここでは、プログラム
ステップ67、74及び75に関係して記述したような機能を
利用する。前記フィールドの適合はこれらのフィールド
に出発値を割り当てることから開始する。即ち、現在の
構成要素において、ステップ174で可能性フィールドに
値「1」が割り当てられ、ステップ175で違反フィール
ドに値「NIL」が割り当てられ、ステップ176で特性フィ
ールドにテーブルAに指定したような存在可能な特性の
完全なリストが割り当てられる。これらのフィールドは
変更されることもあり得、それは特性フィールドに関し
ては確かである。これらのフィールドのメンバ要素に対
する適合はステップ177から開始し、そこでは、その計
数が現在の構成要素内のメンバ要素の通し番号に対応す
るカウント装置(u−カウンタ)が0にリセットされる
(u=0)。なお図において、uは大文字Uで表わされ
ている。ステップ178ではu−カウンタの計数が増やさ
れ(u=u+1)、ステップ179でu−カウンタの計数
が現在構成要素内のメンバ要素の数(umax)を越えたか
が問われる(u>umax)。この問いに対する答えが否定
であるならば(N)、プログラムステップ180へ進み、
そこで、その構成要素に対するその時点での可能性フィ
ールドの値が関連するメンバ構成要素の可能性フィール
ドの値と乗算される。もしメンバ構成要素が語であるな
らば仮の値1が適用される。
【0120】 ステップ181では特性フィールドの値が現在のメンバ
要素に関連するデータに適合される。この適合は、ステ
ップ74と同一の方法でテーブルDによって実施される。
【0121】 もしステップ179で問いに対する答えが肯定であるな
らば(Y)、次のステップ182で、多数のチェック動作
によって得られた構成要素構造についてステップ75で記
述したような所定のフィルタ機能が実施される。これは
ステップ67と同様の次のステップ183にも当てはまる。
【0122】 構成要素構造はこのように準備され、訂正を実施した
り構成要素の訂正表現を得たりできる。
【0123】 プログラムステップ172では多数の特定の訂正処理が
実行され、図16に示したプログラムに合わせて実行され
る。ステップ171の後にプログラムステップは184へ進
み、そこで現在の構成要素からの通し番号tを有する違
反(ステップ171参照)がこのステップに接続された特
定の質の違反に対応するかが問われる。この問いに対す
る答えが肯定であるならば(Y)、ステップ185へ進
み、ステップ184で特定された訂正が現在の構成要素に
ついて実行される。このステップ184には、メンバ要素
の順序の誤りが検出された構成要素を訂正する機能が割
り当てられ得る。この種の訂正は図17を参照して後に説
明する。ステップ185後、プログラムはステップ169へ進
む。ステップ184で問いに対する答えが否定であるなら
ば(N)、ステップ186へ進み、そこで通し番号tを有
する違反要素がこのステップに接続された特定のタイプ
の違反要素に対応するか問われる。この問いに対する答
えが肯定であるならば(Y)、ステップ187へ進み、そ
こでこの構成要素について、例えば不正な数の機能ラベ
ルの結果として構成要素で所定の動作を起こすといった
別のタイプの訂正が実行される。このエラー訂正は図18
を参照して後に説明する。ステップ187の後、プログラ
ムはステップ169へ続く。
【0124】 図に示したように、どの訂正ステップが所定の違反に
属し実行されるべきであるかについてチェックがなされ
る。図17及び図18を参照して説明される訂正ステップに
加えて、図16に含まれる他の訂正ステップを図19〜図25
を参照して後に説明する。図17の訂正フェーズにおいて
はこの場合には「COA」で表わされた違反自体と、交換
されるべき要素対との両方が現在の構成要素の違反フィ
ールド内に与えられることと仮定する。この訂正フェー
ズはステップ198の、違反フィールドがタイプ「COA」の
違反を含むかの問いで開始する。この問いに対する答え
が否定であるならば(N)、プログラムはステップ169
へ進み(図14参照)、肯定であるならば(Y)、交換さ
れるべき要素対が違反フィールドから作業メモリへ移送
されるステップ199へ進む。次のステップ200では、スタ
ックフィールド内の関連する要素が交換され、これは次
のステップ201においてメンバフィールドに対しても同
様である。得られた結果が順序の点で正しいかがチェッ
クされる必要がある。このためにステップ202では関連
する「COA」ステートメントが違反フィールドから除去
され、次のステップ203で可能性フィールド内に書き込
まれた値が「1」に置き換えられる。ステップ204では
ステップ75と同様のチェック処理が実行され、次のステ
ップ205では、構成要素が、ステップ67の場合に示した
ように、構成要素の閉鎖に対する条件を満足するかチェ
ックされる。これら2つのステップの結果、可能性フィ
ールド及び違反フィールドは新たな状況に適合される。
ステップ205の後にプログラムはステップ198へ戻り、そ
こで新たな状況において前記問いが繰り返される。得ら
れた結果はそれぞれの場合に表現メモリ内に戻される。
もしステップ186で問いに対する答えが肯定であるなら
ば、参照番号187で指示されあた訂正フェーズが開始さ
れる。このためのプログラムは図18に示す。
【0125】 この訂正フェーズは、ステップ75で確立したように、
文または文の一部内の不正な数の機能ラベルに関するエ
ラーを取り扱う。このために、この場合にはCOBで表わ
される違反自体と、関連する機能ラベルと、この種のラ
ベルが存在し得る最大の回数と、場合によってこのため
に存在することが望まれるラベルとが現在の構成要素の
違反フィールド内で指定される。この訂正フェーズは、
違反フィールド及びスタックフィールドが作業メモリに
連続してコピーされるステップ206及び207から開始す
る。ステップ208では指定された違反が違反フィールド
から呼び出される。次のステップ209では特定のフラッ
グ(または恐らくは可変ラベル)が作業メモリ内の情報
に付加され、値「NIL」が割り当てられる。次のステッ
プ210では違反が3つの要素を包含するか否かがチェッ
クされる。このために、ステップ75で記述した事象独立
(incident−independent)の違反に加え、事象従属(i
ncident−dependent)の違反があると仮定する。事象独
立の違反とは単に、構成要素内のあるラベルの存在が最
大値に結びつくことを意味する。即ち(det,1)は、限
定詞が構成要素内にただ1回存在し得ることを意味す
る。ここで本発明者らは2つの要素の違反に係わる。事
象従属の違反とは、構成要素内の或るラベルの存在が最
大値に結び付くことが特定の事象にのみ適用されること
を意味する。即ち、違反(Vfin intr.,fNP,1)は、文中
の自動詞形態の存在において現在の構成要素がただ1つ
のfNPを包含し得ることを示す。このために、システム
によって“Hij loopt de stad"(英語では“he walks t
he town")のごとき文を不正な文として検出することが
可能であり、その後操作員が最後のNP内に前置詞(in,t
o,through)を含めることによって文を訂正することが
できる。これは3要素違反のケースである。
【0126】 ステップ210ではここで3要素違反が関与しているか
問われる。この問いに対する答えが否定であるならば
(N)、プログラムはステップ211へ進む。一方、この
問いに対する答えが肯定であるならば(Y)、ステップ
212へ進み、そこで事象を表すラベル(3番目の要素)
がスタックフィールド内に尚存在し既にそこから除去さ
れていないかが問われる。ステップ212で問いに対する
答えが肯定であるならば(Y)、プログラムは、違反訂
正が行われるかチェックするためにステップ214へ進
む。ステップ211及びステップ214においては、許容され
たよりも多くの指定されたタイプの機能ラベルが存在す
るか問われる。そうでないならば(N)、プログラムは
ステップ213へ進み、そこで、ステップ209で導入された
フラッグ(またはラベル)に値「TRUE」が割り当てられ
る(これは違反がもはや真ではないことを意味する)。
ステップ212で答えが否定であるならば(N)、違反は
もはや真ではなくプログラムはステップ213へ進む。し
かしながら、ステップ211または214で問いに対する答え
が肯定であるならば(Y)、プログラムはそれぞれステ
ップ215または216へ進み、ステップ209で導入されたフ
ラッグ(またはラベル)に値「NIL」が与えられる。
【0127】 ステップ215、213及び216に続くステップ217では、前
記フラッグ(またはラベル)が値「TRUE」を有するか問
われる。そうであるならば(Y)、これはもはや真の違
反のケースではなく、ステップ218で違反自体(COB)が
違反フィールドから除去され、次のステップ219では違
反の残りの部分が除去され、ステップ169へ進む。ステ
ップ217で否定の答えが得られたならば(N)、同じ指
定されたタイプの過剰な数の機能ラベルがあり、ステッ
プ221で余分な要素対がメンバフィールドから除去さ
れ、ステップ222では対応する要素がスタックフィール
ドから除去される。これに関係して最後の要素(対)は
常に余分な対を表すことが基本的な規則とみなされ得
る。過剰な要素をより管理的に除去することは、「冠詞
はどの名詞と一致するか」または「どの名詞が個別形態
と一致するか」のごとき配慮を基礎として得ることがで
きる。ステップ222の後にプログラムは、指定された機
能タイプの過剰数のラベルがあるかチェックするために
ステップ210へ戻る。ステップ188で問いに対する答えが
肯定であるならば(Y)、参照番号189で示された訂正
フェーズが使用され、このためのプログラムは図19に示
してある。
【0128】 この訂正フェーズは、特性フィールド内の特性に1つ
以上の不正な組合せがあるかチェックして得られる違反
に関するエラーを取り扱う。このチェックは、ステップ
75または84においてテーブルFにある第1のシリーズの
組合せを参照して実施される。ここに記述した例におい
ては、テーブルFによって与えられる組合せ(中性、非
中性)からの要素のいずれも特性フィールド内に存在し
ない。違反フィールドにおいては、この種のエラーのた
めに使用されるべき違反(COC)及び関連する特性の組
合せ(中性、非中性)が違反フィールド内に与えられ
る。
【0129】 ステップ223では指定された組合せ(中性、非中性)
が違反フィールドから呼び出され、作業メモリ内に置か
れる。ステップ224では第9のテーブルメモリに記憶さ
れた優先順位テーブルLから、構成要素の要素を含み且
つこれらの(機能)要素に優先順位を割り当てる要素の
リストが選択される。この優先順位は、種々の要素がい
かに相互に適合されるか、従って訂正されるかを示す。
NPとして語の組合せ“de huis"(英語では“the hous
e")の場合であれば、第10のテーブルメモリは、冠詞が
名詞に適合されねばならないように優先順位(head det
erminer)を示す。英語の比較例として“this houses"
を挙げることができる。次のステップ225では補助変数H
LPが呼び出され、オランダ語の場合(中性、非中性)に
はステップ223でコピーされた組合せの値を受容する。
前記英語の例においては(“this houses")語の組合せ
の値は「単数1」、「単数2」、「単数3」、「複数
1」、「複数2」及び「複数3」となる。
【0130】 次のプログラムフェーズにおいては変数HLPの最も重
要な特性が、優先順位テーブルLに示されたような要素
の重要性に従って選択される。例“de huis"(英語では
“the house")では、ステップ75でこれは、最も重要な
要素「中性」として語“huis"が組合せ(中性、非中
性)から残り、従ってこの構成要素に関連する他の要素
が適合されねばならない。上記英語の例(“this house
s")の場合には要素「複数3」がそれぞれの組合せから
最も重要なものとして残り、従ってこの構成要素に関連
する他の要素が適合されねばならない。従ってステップ
226では、その計数が優先順位テーブルL内のステップ2
24で選択されたリスト内の要素の通し番号に対応するカ
ウント装置(v−カウンタ)がリセットされる(v=
0)。なお図において、vは大文字Vで表わされてい
る。ステップ227ではv−カウンタの計数が増やされ
(v=v+1)、ステップ228ではv−カウンタの計数
が優先順位テーブルL内の選択されたリストの要素の数
(vmax)を越えたかが問われる。この問いに対する答え
が肯定であるならば(Y)、ステップ229へ進む。答え
が否定の場合にはステップ230へ進み、そこで、優先順
位テーブルの選択されたリスト内のv−カウンタの計数
によって決定される要素が選択される。ステップ231で
は、その計数が現在の構成要素内の一連の要素における
或る通し番号に対応するカウント装置(w−カウンタ)
が初期値にリセットされる(w=0)。ステップ232で
はこのカウンタの計数が増やされ(w=w+1)、ステ
ップ233ではw−カウンタの計数が構成要素からの要素
の数(wmax)を越えたかが問われる。この問いに対する
答えが肯定であれば(Y)、プログラムは227へ進む。
この問いに対する答えが否定であるならば(N)次のス
テップ234で、その通し番号がw−カウンタの計数に対
応する要素がスタックフィールドから選択される。
【0131】 次のステップ235は、選択されたコア文法に応じてプ
ログラム内に包含されるかプログラムから外されるかの
いずれかとなるべきである。構成要素の範疇が所定の関
連の特性を参照して詳細に記述されるコア文法の場合に
は、強制的なガイドラインが所定の違反に割り当てられ
得る。例えば、構成要素“the house"の“house"の範疇
指定“中性”はNP−中性に対する補語となるならば、こ
れは、構成要素全体が「中性」形態で書き込まれるべき
であるという強制的特異性を生成する。換言すれば、違
反フィールド内に書き込まれるのは相反の組合せ(中
性、非中性)ではなくて、指定「中性」である。英語の
例“this houses"の場合では範疇「複数3」は「NP−複
数3」に対して補語となる。これは、構成要素全体が
「中性」形態で書かれねばならないという強制的仕様を
生み出す。違反が確認されたときには、仕様「複数3」
が違反フィールド内に書き込まれる。この場合ステップ
235で、違反フィールド内に含まれるリストがただ1つ
の要素、即ち仕様を含むか問われる。そうであるならば
(Y)、ステップ229へ進み、チェックステップとして
変数「HLP」が要素を含むかが問われる。もし「HLP」が
要素を含まぬならば(N)、図19のプログラムを終了
し、プログラムはステップ169へ戻る。
【0132】 また、ステップ229で問いに対する答えが肯定である
ならば(Y)、ステップ236へ進む。ステップ235で問い
に対する答えが否定であるならば(N)、ステップ237
へ進む。
【0133】 違反が常に特性の組合せ参照することで、例えばテー
ブルFから生成されるならば、ステップ235は省略する
ことができ、ステップ237から直接ステップ234へ進む。
ステップ237では、テーブルLの優先順位リストからv
−カウンタの計数(ステップ226参照)によって特徴付
けられる要素(機能ラベル)が、現在の構成要素からw
−カウンタの計数(ステップ232参照)によって特徴付
けられる機能ラベルと等しいか問われる。そうでないな
らば(N)、プログラムはステップ232へ戻る。ステッ
プ237で問いに対する答えが肯定であるならば(Y)、
次のステップ238で、w−カウンタ(ステップ232参照)
の計数によって指定されるメンバフィールドからの要素
に関連する特性のリストと、ステップ225において違反
フィールドからコピーされたリストとの共通部分が決定
され、代替値として変数「HLP」に割り当てられる。な
お図において、wは大文字Wで表わされている。この場
合、ステップ225で優先順位テーブルLから選択された
リストが「head」と、特性「中性」を有する“house"を
参照するので、変数HLPに対する値(中性、非中性)は
「中性」で置き換えられる。前記英語の例では、ステッ
プ225で優先順位テーブルLから選択されたリストが「h
ead」及び、従って特性「複数3」を有する“house"を
参照するので、変数HLPに対する値(「単数1」、「単
数2」、「単数3」、「複数1」、「複数2」、「複数
3」)は「複数3」で置き換えられる。
【0134】 次のステップ239では変数HLPがステップ238で真の値
を得たか、そうでなく例えば空きであるかがチェックさ
れる。もしこの問いに対する答えが否定であるならば
(N)、ステップ240へ進む。変数HLPはこの場合には何
の指示も与えないので現在の構成要素の訂正が行われる
べきであるが、それにもかかわらず変数HLPはプログラ
ムの更なる処理のために値が割り当てられる。これは、
ステップ243または225で得られた組合せの第1の要素で
ある。プログラムはステップ236へ進む。
【0135】 ステップ239で問いに対する答えが肯定であるならば
(Y)、ステップ241へ進み、ステップ238で決定された
変数HLPの値がいくつかの要素を含むか問われる。そう
でないならば(N)、ステップ238で決定された組合せ
の第1の要素が新たな値として変数「HLP」に割り当て
られるステップ242へ進む。次いでプログラムはステッ
プ236へ進む。ステップ241で問いに対する答えが肯定で
あるならば(Y)、次のステップ243で、ステップ223で
違反フィールドから呼び出されたリストが、ステップ23
8で得られた変数HLPの値に置き換えられる。プログラム
はステップ232へ進む。
【0136】 ステップ236では、HLP関数によって決定される特性
(それぞれステップ240及び242参照)、この場合には
「中性」がこの構造に割り当てられ得る及び割り当てら
れるように、現在の構成要素の構造に適合される関数LH
Fが呼び出される。前記英語の例では特性「複数3」が
この構造に割り当てられ得る及び割り当てられよう。ス
テップ236によって呼び出されるべき関数は後に図25を
参照して詳細に説明する。ステップ236の後のステップ2
44では、現在の構成要素の違反フィールドが尚COCタイ
プの違反を包含するか問われる。肯定の答えの場合には
(Y)、プログラムはステップ223へ戻り、否定の答え
の場合には(N)、ステップ169へ戻る(図14参照)。
図19とこれから説明する図20及び図23とでは、ステップ
236で参照した関数LHFが呼び出される。関数LHFは後に
図25を参照し説明するが、これはステップ245の、現在
の構造が語に関係するかの問いから開始する。そうであ
るならば(Y)、次にステップ246で、HP関数によって
決定される特性を満足する、現在の語の異なる形態が語
彙メモリ内で検索される。次いでプログラムはプログラ
ムのもとのところへ戻る。
【0137】 ステップ245で問いに対する答えが否定であるならば
(N)、構成要素の多数のフィールドは初期状態にされ
る。このことは、ステップ247で可能性フィールドが値
「1」を有し、ステップ248で違反フィールドが値「NI
L」を有し、ステップ249で特性フィールドがテーブルA
に記述したような範疇に関連する特性を有することを意
味する。次いでステップ250で「GRAM」と指示された変
数には現在の構成要素の範疇に対してテーブルD内に列
挙された特性及び機能ラベルが割り当てられる。
【0138】 この構成要素の種々の要素(メンバ)はHLP関数によ
って決定される特性、この場合には「中性」に適合され
ねばならない。このためにはステップ251で、その計数
がこの構成要素内のメンバ要素の通し番号に対応するカ
ウント装置(s−カウンタ)が初期値にリセットされ
(s=0)、ステップ250でこのカウンタの計数が増や
される(s=s+1)。なお図において、sは大文字S
で表わされている。ステップ253ではs−カウンタの計
数がこの構成要素内のメンバ要素の数(smax)を越えた
か問われる。そうであるならば(Y)、ステップ254へ
進む。ステップ253の問いに対する答えが否定であるな
らば(N)、ステップ255へ進み、そこで、s−カウン
タの計数に対応する構成要素のメンバ要素が表現メモリ
から呼び出され、作業メモリ内に書き込まれる。
【0139】 次のステップ256ではs−カウンタの計数によって決
定された構成要素内のメンバ要素にHLP変数によって決
定される特性、この場合には「中性」が割り当てられ
得、既にこの特性を所有していないかが問われる。即ち
NP−構成要素“de grote,mooie huis"(英語では“the
large beautiful house")においては、テーブルDにお
いて「NP」及び「限定詞」の場合に特性「中性」が可能
性となるので、冠詞“de"は肯定の答えを与える。英語
の節の例としてNP−構成要素“this large,beuatiful h
ouses"を挙げると、テーブルDにおいて「NP」及び「限
定詞」においては特性「複数3」が可能であるので、代
形容詞“this"が肯定の答えを与える。
【0140】 ステップ258及び245を介して特性「中性」と等価な限
定詞がステップ246で検索され、これは語“het"とな
る。最後に記述した英語の例では特性「複数3」は語
“these"となる。ラベルnmod−Aを有する組合せ“grot
e,mooie"(英語ではlarge,beautiful)に対して、テー
ブルDにおいてnmod−Aは参照されないので、ステップ
256の問いに対する答えは否定である。次のステップ257
ではこのメンバ要素の特性フィールドがステップ74に関
係して説明したようにテーブルDを使用して適合され
る。語“hius"(英語では“house")は既に特性「中
性」を有し、その結果プログラムはステップ256の後に
ステップ257へ進む。最後に記述した英語の例では語“h
ouse"は既に特性「複数3」を有しており、その結果プ
ログラムはステップ256の後にステップ257へ進む。
【0141】 ステップ256で問いに対する答えが肯定の場合には
(Y)、ステップ258へ進み、そこで、図でこれから説
明する関数LHFが再度実行される。この関数の最終結果
は常にステップ246にあり、そこで適合された語彙形態
が有効なメンバ要素に対して選択される。
【0142】 もしメンバ要素が語構造を有するならばコマンドフィ
ールドが書き込まれねばならない。このためにステップ
259には対応する問いが置かれ、この問いに対する答え
が肯定であるならば(Y)、ステップ260で親構成要素
に対するポインタがコマンドフィールド内に書き込まれ
る。プログラムはステップ257へ進む。ステップ259で問
いに対する答えが否定であるならば(N)、プログラム
は直接ステップ257へ進む。
【0143】 ステップ253で問いに対する答えが肯定であるならば
(Y)、変更された構成要素に関係して違反フィールド
内に入れられるべき違反があるかチェックされるべきで
ある。このためには、ステップ254及びステップ261で、
それぞれステップ75及び67で記述した或る種のフィルタ
動作が実行される。プログラムは、LHF関数を実行する
ためにもとのところへ戻る。
【0144】 ステップ190で問いに対する答えが肯定であるならば
(Y)、番号191で示された訂正フェーズが適用され
る。このプログラムは図20に示す。
【0145】 この訂正フェーズは、テーブルFを参照することによ
って、ステップ75または84で確立されたように許容不能
な特性の組合せに関するエラーを取り扱う。更にこの訂
正フェーズは、要求される特性が何であるべきか検索さ
れる重要な部分を含む。このためには、違反自体、即ち
「COD」と、置換されるべき特性との両方が現在の構成
要素の違反フィールドに見られると仮定する。この訂正
フェーズはステップ262から開始し、この違反の第2の
要素が表現メモリから作業メモリへ移送される。ステッ
プ263では前記第2の要素と構成要素範疇とに関連する
正当な特性の組合せのリストがテーブルFから呼び出さ
れ、作業メモリ内の変数「FTRLSTS」に割り当てあてら
れる。次のステップ264では関数「FFTC」が呼び出さ
れ、正当な特性の組合せのリストと構成要素の特性フィ
ールド上に存在する特性とを参照することで要求される
特性を与える。関数「FFTC」は図24で詳細に説明する。
ステップ265では関数「LHF」(図25参照)を参照するこ
とによって、要求される特性が現在の構成要素に付加さ
れる。ここで語は別の形態の語に置き換えられる。
【0146】 図24の関数「FFTC」は2つの引き数(argument)、即
ちステップ266及び267で作業メモリ内に置かれた、テー
ブルFからの許容された特性を有するリストと特性フィ
ールドからの特性のリストとを用いて動作する。
【0147】 次のステップ268では、関数「FFTC」の実行の初期フ
ェーズではまだ許容可能な特性の組合せのリストを有し
ていた変数「FTRLSTS」が、依然としてかかる組合せを
有しているかチェックされる。この問いに対する答えが
否定であるならば(N)、図24のプログラムが実行さ
れ、ステップ265を実行するために図20に戻る。ステッ
プ268で問いに対するこたえが肯定であるなら(Y)、
次のステップ269で、その組合せの最後の要素は例外と
してその時点での第1のかかる組合せと見なされる特性
の組合せの全ての要素が実際の特性のリスト(ステップ
267参照)内にも見られるか問われる。この問いに対す
る答えが否定であるならば(N)、次のステップ272で
は許容可能な特性の組合せのリスト内にその時点で尚存
在する第1の組合せが除去され、プログラムはステップ
268へ進む。ステップ269で問いに対する答えが肯定であ
るならば(Y)、次のステップ271で調査された(第1
の)特性の組合せの最後の要素が要求される特性として
指定される。
【0148】 例えば、変数「FTRLSTS」に対してただ1つの正当な
特性の組合せ、この場合では「中性、非限定的、形容詞
−非屈折」(テーブルF参照)が残っており、且つ「中
性」及び「非限定的」もまた実際の要素のリスト上に存
在するならば(ステップ267参照)、最後の要素、この
場合には「形容詞−非屈折」が要求される特性である。
こうして更に図24のプログラムが終了し、この訂正フェ
ーズが終了する図20のステップ265へ進み、プログラム
はステップ169へ戻る。ステップ192で問いに対する答え
が肯定であるならば(Y)、ステップ193で示された訂
正フェーズが続く。このプログラムは図21に示してあ
る。この訂正フェーズは、ステップ67及び/または95に
おいて幾つかのNP内にある冠詞のごとき必須要素の不在
の結果として生成される違反を取り扱う。このような状
況で存在する関連構成要素の閉鎖フェーズは、可能性係
数を小さくし違反CODを生成する結果となった。ステッ
プ273ではこの違反と、この違反に至ったリストセグメ
ントの指定された組合せとが違反フィールドから作業メ
モリに移送される。次のステップ274では第2のリスト
セグメント内でどの機能ラベルが不在であるかについて
チェックされる。通常はただ1つのラベルがこのリスト
セグメントを埋めるのであるが、このなかに複数のラベ
ルが存在することも可能である。このためには、その計
数が第2のリストセグメント内の機能ラベルの通し番号
に対応するカウンタ装置(p−カウンタ)が出発値にリ
セットされる(p=0)。なお図において、pは大文字
Pで表わされている。ステップ275でp−カウンタは増
やされ(p=p+1)、ステップ276でp−カウンタの
計数が既に第2のリストセグメント内の機能ラベルの数
(pmax)を越えたかが問われる(p>pmax)。そうであ
るならば(Y)、プログラムはステップ169へ進み、そ
うでないならば(N)、プログラムは、p番目の要素が
第2のリストセグメントから選択されるステップ277へ
進む。次のステップ278ではp番目の要素が本当にスタ
ックフィールド内に存在しないかチェックされる。(こ
のためにはスタックフィールドの要素が1つずつp番目
の要素と比較され、スタックフィールドの最後のラベル
を含みそこまで比較された要素間で同一でないことが確
認されたならば、スタックフィールド内にp番目の要素
は存在しない。)ステップ278でp番目の要素の存在が
確認されたならば(Y)、ステップ275へ進み、そうで
ないならば(N)、ステップ279へ進む。機能ラベルと
して機能するp番目の要素が不在要素として確認された
ならば、このラベルはスタックフィールドに付加され得
る。しかしながら、関連する語構造または構成要素構造
は依然として欠落している。実際にこれは通常は語構造
である。関連する語構造は、不在メンバ要素の特定の親
構成要素及び機能ラベルに対してどの語範疇が許容可能
であるかテーブルBをチェックし、次いで語彙メモリの
なかからこれを満足する最初の語を選択することで得ら
れる。このためにはステップ279でまず、その計数がテ
ーブルBに従って分割されたテーブルメモリ内の特定の
組合せの通し番号に対応するカウント装置(g−カウン
タ)が出発位置にリセットされる(g=0)。なお図に
おいて、gは大文字Gで表わされている。ステップ280
でg−カウンタで増やされ(g=g+1)、次のステッ
プ281ではg−カウンタの計数がテーブルBに従うテー
ブルメモリ内の文法規則の数より大きくなったかチェッ
クされる。そうであるならば(Y)、プログラムはステ
ップ275へ戻り、そうでないならば(N)、文法規則が
そこから語範疇が続く不在の機能ラベルを有するかがチ
ェックされるステップ282へ続く。例えば、機能ラベル
「det」がNP内で不在であるならば(ステップ67及び95
参照)、第1の文法規則「冠詞」(NP(det))から語
範疇(冠詞)が構成要素内に可能となる。
【0149】 もしステップ282で適正な文法規則が検出されないな
らば(N)、プログラムはステップ280へ戻る。そうで
なければ(Y)、ステップ283で、見つけられた語範疇
に関係して存在する第1の語構造が語彙メモリ内で検索
され、スタックフィールド及びメンバフィールドに、関
連する機能ラベルまたはそのラベル及び見つけられた語
構造が書き込まれる。
【0150】 ステップ284では現在の構成要素と関係して可能性フ
ィールド、違反フィールド及び特性フィールドが、ステ
ップ174及び183(図15参照)と関係して説明したように
現在の状況に適合される。次いでステップ285では新た
に導入された要素が正しい位置にあるかチェックされ
る。このことは、ステップ198〜205(図17参照)と関係
して記述したようにプログラムフェーズを実行すること
を意味しており、この後に違反「COE」に対する訂正フ
ェーズが終了し、プログラムはステップ169へ戻る。ス
テップ194で問いに対する答えが肯定であるならば
(Y)、番号195で示された訂正フェーズが適用され
る。このためのプログラムは図22に示してある。
【0151】 訂正フェーズは実際には「COE」違反に関連するフェ
ーズと対をなす部分である。これから説明する訂正フェ
ーズにおいては余分な要素が関与し、このことは、ステ
ップ67及び/または95の場合のようにテーブルKを参照
して確認される。ステップ286では違反自体、この場合
には「COF」と余分な機能ラベルのリストが違反フィー
ルドから作業メモリに移送される。
【0152】 ステップ287で、その計数が余分な機能ラベルのリス
ト内の要素の通し番号に対応するカウント装置(q−カ
ウンタ)が出発値にリセットされ(q=0)、ステップ
288でq−カウンタの係数が増やされ(q=q+1)、
次のステップ289ではq−カウンタの計数が、関係する
文法規則の第3のリストセグメント内の要素の数
(qmax)をまだ越えていないかチェックされる。なお図
において、qは大文字Qで表わされている。そうでない
ならば(N)、ステップ290で関連要素がスタックフィ
ールドから除去され、ステップ291で関連要素対がメン
バフィールドから除去され、プログラムは再度ステップ
288へ戻る。ステップ289で問いに対する答えが肯定であ
るならば(Y)、ステップ292で可能性フィールド、違
反フィールド及び特性フィールドが、ステップ174〜183
(図15参照)に関係して説明したように現在の構成要素
と関係する現在の状況に適合される。訂正フェーズはこ
こで終了し、プログラムはステップ169へ戻る。
【0153】 ステップ196で問いに対する答えが肯定であるならば
(Y)、番号197で示された訂正フェーズが適用され
る。このためのプログラムは図23に示してある。この訂
正フェーズは、ステップ128でテーブルIを参照して確
認される、違反フィールド内で不在の特性に関するエラ
ーを取り扱う。このためには、違反「COG」のみでなく
訂正されるべき構造の機能ラベル及び不在の特性をも含
む極めて詳細な違反が基本的に取られる。例えばステッ
プ128ではこれは(vfin main,単数3)であった。ステ
ップ293及び294ではラベル「vfin main」及び不在特性
「単数3」が連続して違反フィールドから呼び出され
る。このラベルはメンバフィールド内の特定の構成要素
構造または語構造、この場合には“lopen"(英語では
“walk")に対応する。ステップ295ではこの構造が呼び
出される。ステップ296では関数「LHF」が実行され、こ
れは既に図25を参照して説明した。最後にステップ246
では上記のケースでは構造“lopen"(英語では“wal
k")が、特性「単数3」を満足する“loopt"(英語では
“walks")に置き換えられる。より高いレベルの構成要
素は導入された変更に適合されるべきであり、このため
にステップ297では構成要素の違反フィールドが空にさ
れ、ステップ298で可能性フィールドに値「1」が割り
当てられる。ステップ299及び300では現在の構成要素に
ついてそれぞれステップ75及び67に関係して説明したチ
ェック操作が実行される。これで訂正フェーズは終了
し、プログラムはステップ69へ戻る。オランダ語(例
A)及び英語(例B)においてテキスト節を訂正するた
めの誤ったテキストプログラム順序の上記訂正処理を説
明するために以下の説明を加える。
【0154】 テキスト内の語を他の語に置き換えることによって、
前記パーサ及び関連する訂正処理の特定の用途が得られ
る。多数の人が長大な文書に執筆する複数著者のシステ
ムにおいては、関係者が個々に貢献した結果として文書
中で語使用法が一貫していないことが起こり得る。文章
中で語使用法を一貫させるためには、所定の語が他の語
で置き換えられるべきである。1つの語を別の語に置換
すると所定の結果となるであろう。オランダ語を例に挙
げると、中性名詞を非中性タイプの名詞で置換すると冠
詞または形容詞の適合が要求されることがある。英語で
あれば、「中性」名詞を男性または女性タイプの名詞で
置換すると結果として他の語の置換も必要となる。この
ことは例えば、関係代名詞で起こり得る。文の適合は、
単数の主語を複数の主語で置換する場合にも必要であ
る。
【0155】 置換処理はステップ301で開始し(図26参照)、置換
用の語と置換されるべき語とが作業メモリ内に書き込ま
れる。ステップ302では置換用の語に対する語構造が語
彙メモリから呼び出され、作業メモリ内に書き込まれ
る。
【0156】 ステップ303でプログラムはテキストを進めて、置換
のための語が存在する最初の文で停止する。ステップ30
4ではこの文の解析結果が既にメモリ内に記憶されてい
るか問われる。
【0157】 そうであるならば(Y)、プログラムはステップ305
へ進み、そうでなければ(N)、ステップ306へ進み、
そこで文が解析され、プログラムはステップ305へ進
む。第1の場所では、置換の間に対応する語範疇が両方
の語に対して見つけることができたかチェックされる。
また、語範疇の相違にもかかわらず機能ラベルが一致し
得る可能性もある。テーブルBに示したように、語範疇
「名詞」と「代名詞相当語句」とは文法規則においては
同じラベルを有する。従って、ラベル「head」を有する
NP内の「名詞」は「代名詞相当語句」で置換され得る。
同様の可能性が「冠詞」と「代名詞形容詞」にも当ては
まる。従って、パーサによって確認された構成要素及び
機能ラベルの組合せが、置換用の語構造の1つの語範疇
に関連する文法規則内にも存在するかチェックされる。
置換用の語は存在する範疇の各々に対して調査される必
要があり、ステップ305でz−カウンタがゼロにリセッ
トされる(z=0)。なお図において、zは大文字Zで
表わされている。z−カウンタの計数は語彙メモリ内の
語構造中に存在する語範疇の通し番号に対応する。ステ
ップ307でz−カウンタの計数が増やされ(z=z+
1)、ステップ308ではz−カウンタの計数が置換用の
語と関係して存在する範疇の数を越えたか問われる(z
>zmax)。そうでないならば(N)、ステップ309で、
z−カウンタの計数によって決定される語範疇に関連す
る文法規則セットがテーブルBの情報を有するテーブル
メモリ内で選択される。前記セット内で各文法規則にお
いて現在の語範疇に対して指定された構成要素内で同じ
ラベルが可能かチェックされる。このためには、ステッ
プ310でカウント装置(h−カウンタ)がリセットされ
(h=0)ステップ311でこのカウンタの計数が増やさ
れる(h=h+1)。なお図において、hは大文字Hで
表わされている。ステップ312ではh−カウンタの計数
が現在の語範疇に関係する文法規則の数より大きいかが
問われる(h>hmax)。そうであるならば(Y)、プロ
グラムはステップ307へ戻る。そうでないならば
(N)、プログラムはステップ313へ進む。ステップ313
では前記文法規則セットからその通し番号がh−カウン
タの計数に対応する規則が選択され、ステップ314では
その文法規則内の親構成要素及び機能ラベルが置換され
るべき語構造のものを満足するかチェックされる。そう
でないならば(N)、プログラムステップ311へ戻る。
しかしながら満足するならば(Y)、ステップ315へ進
み、そこで、置換用の語の指定された語範疇が置換され
るべき語のそれと一致するかチェックされる。そうであ
るならば(Y)、プログラムはステップ316へ進み、現
在の語範疇及び関連する特性と有する置換用の語が第1
のバッファ内に書き込まれる。ステップ315で問いに対
する答えが否定であるならば(N)、ステップ317へ進
み、現在の語範疇及び関連する特性を有する置換用の語
が第2のバッファに書き込まれる。ステップ316または3
17の後にプログラムはステップ307へ戻る。
【0158】 ステップ308で問いに対する答えが肯定であるならば
(Y)、次のステップ318(図27参照)では、ステップ3
16で解が第1のバッファ内に書き込まれなかったか問わ
れる。この問いに対する答えが肯定であるならば
(Y)、ステップ319では、ステップ316で解が第2のバ
ッファに書き込まれなかったか問われる。この答えに対
する答えが肯定であるならば(Y)、置換されるべき語
はテキスト内のこの場所では置換用の語に置き換えられ
得ず、プログラムはステップ303へ戻る。置換されるべ
き語と置換用の語とは綴りのみが一致しており、そうで
なければ一致でない。この種のものは、英語では“lik
e"及びオランダ語では“regent"のごとき語に存在す
る。即ちオランダ語の文“het regent"(英語では“it
rains")において語“regent"はオランダ語の“bestuur
der"(これは英語の“ruler"と等価である)によって置
換され得ない。英語における等価の例は文“She is lik
e her mother"を得ることができ、ここでは語“like"は
“love"で置換することはできない。
【0159】 ステップ318で問いに対する答えが否定であれば
(N)、ステップ320で、ステップ316で厳密に1つの解
が第1のバッファ内に書き込まれたか問われる。そうで
あるならば(Y)、ステップ321へ進む。しかしながら
そうでないならば(N)、ステップ322へ進み、そこ
で、置換されるべき語構造と共通する解のそれぞれの特
性の数が調査され、その後のステップ323で最大数の共
通の特性を有する解が選択され、プログラムはステップ
321へ進む。
【0160】 ステップ319の問いに対する答えが否定であるならば
(N)、ステップ324へ続き、そこで、ステップ317で厳
密に1つの解が第2のバッファに書き込まれたか問われ
る。答えが肯定ならば(Y)、ステップ321へ進み、答
えが否定ならば(N)、前記ステップ322及び323へ続い
て進み、プログラムはステップ321へ進む。
【0161】 ステップ321では旧語構造が、ステップ322及び323で
の選択によって得られたまたは得られない新たな語構造
で置換される。この点で、旧語構造のコマンドフィール
ドにおけるポインタは新語構造のコマンドフィールドの
ポインタを引き継ぐ。ステップ325では親構成要素の構
成要素構造が表現メモリから呼び出され、旧構造に対す
るポインタを有する組合せがメンバフィールド内で選択
される。このポインタは新語構造を参照するものに置換
される。これに関連する機能ラベルは当然のこと変化し
ない。次のステップ326においては、特性フィールド及
び違反フィールドが新たな状況に適合されるように、ス
テップ174〜183(図15参照)に関係して説明したよう
に、親構成要素に対するプログラム部分が呼び出されて
実行される。
【0162】 ステップ327ではより高いレベルの親構成要素がある
かチェックされる。このために、現在の構成要素のコマ
ンドフィールドが空き(NIL)であるかチェックされ
る。この問いに対する答えが否定であるならば(N)、
ステップ328でより高いレベルの親構成要素が表現メモ
リから呼び出され、次いでその親構成要素に対して関連
するプログラムを適用するために、プログラムはステッ
プ326へ戻る。ステップ327で問いに対する答えが肯定で
あるならば、次のステップ329ではステップ158〜173
(図14参照)に関係して説明したようにプログラムが実
行される。このように文構造は必要であれば更に訂正さ
れる。
【0163】 ステップ301以降の動作全体によって結果が与えら
れ、次のステップ330において旧文構造が新たなもので
置換され得ることは明らかである。次いでプログラム
は、置換のための次の語を検索するステップ303へ戻
る。もし語“apparaat"(英語では“apparatus")がテ
キスト全部にわたって“copiers"によって置換されるの
であれば、“Het apparaat,dat daar staat"(英語では
“the apparatus which is over there")は自動的に
“De copiers,die daar staan"(英語では“the copier
s which are over there"に置換される。
【0164】 上記節の訂正処理に際しては以下のプログラムステップ
を通過する。 155,156,158,159,161,162,163,164(構成要素ではない
がラベルEndmarkを有する語である),161,162,163,164
(真にラベルfNPを有する構成要素である),158,159,16
0,161,162,163,164(語:Head),161,162,163,164(語:D
et),161,162(現在の構成要素はただ2つのメンバを有
する),166,167(このステップは結果に変化をもたらさ
ない),168,169,170,171,172(違反COCが記述される),
184,186,188,189(COC−訂正が呼び出される),223(特
性リストは「中性、非中性」である),224(優先順位:
“head,det,nmods,nmod−a"),225,226,227,228,230,23
1,232,233,234,235,237,238(HLP:「非中性」),239,24
1,242(HLPが非中性となる),236(LHFが呼び出され
る),245(NPは語でない),247,248,249,250,251,252,2
53,255,256(Headは特性「非中性」を有することができ
る),258,245,246(Headは既に特性「非中性」を有して
おり変化なし),259,260,257,252,253,255,256(限定詞
も特性「非中性」を有することができる),258,245,246
(語構造が別の語構造、即ち冠詞“de"のものと置き換
えられる),259,260,257(NPは尚特性「非中性」を有す
る),252,253,254,,261,244(COC−コードが消され
る),169,170,173,174,175,176,177,178,179,180,181,1
78,179,180,181,178,179,182,183,161,162(構成要素S
もただ2つのメンバのみを有する),166(構成要素Sが
違反を含まない),173,174,175,176,177,178,179,180,1
81,178,179,180,181,178,179,182,183(変化なし),157
(訂正プログラムの終了)。
【0165】 上記節の訂正処理に際しては以下のプログラムステップ
を通過する。 155,156,158,159,161,162,163,164(構成要素ではない
がラベルEndmarkを有する語である),161,162,163,164
(真にラベルfNPを有する構成要素である),158,159,16
0,161,162,163,164(語:Head),161,162,163,164(語:D
et),161,162(現在の構成要素はただ2つのメンバを有
する),166,167(このステップは結果に変化をもたらさ
ない),168,169,170,171,172(違反COCが記述される),
184,186,188,189(COC−訂正が呼び出される),223(特
性リストは「単数1 単数2 単数3 複数1 複数2
複数3」である),224(優先順位:“head,det,nmod
−s,nmod−a"),225,226,227,228,230,231,232,233,23
4,235,237,238(HLP:「複数3」),239,241,242(HLPが
複数3となる),236(LHFが呼び出される),245(NPは
語でない),247,248,249,250,251,252,253,255,256(He
adは特性「複数3」を有することができる),258,245,2
46(Headは既に特性「複数3」を有しており変化な
し),259,260,257,252,253,255,256(限定詞も特性「複
数3」を有することができる),258,245,246(語構造が
別の語構造、即ち冠詞“these"のものによって置換され
る),259,260,257(NPは尚特性「複数3」を有する),2
52,253,254,261,244(COC−コードが消される),169,17
0,173,174,175,176,177,178,179,180,181,178,179,180,
181,178,179,182,183,161,162(構成要素Sもただ2つ
のメンバのみを有する),166(構成要素Sが違反を含ま
ない),173,174,175,176,177,178,179,180,181,178,17
9,180,181,178,179,182,183(変化なし),157(訂正プ
ログラムの終了)。
【0166】 オランダ語コア
【表1】
【0167】 英語コア
【表2】
【図面の簡単な説明】
【図1】 テキストを文法的に処理するのに使用される方法の一般
的概念を与える流れ図。
【図2】 文法的処理するためのシステムに使用されるパーサの基
本原理の流れ図。
【図3】 図2の流れ図のコア部分の第1の実施例の流れ図。
【図4】 図3に示したコア部分の別の実施例の流れ図。
【図5】 図3に示したコア部分の別の実施例の流れ図。
【図6】 図3〜図5に示したコア部分の第1の共通部分の詳細流
れ図。
【図7】 図6に示した共通部分の第1の部分の詳細流れ図。
【図8】 図6に示した共通部分の第2の部分の詳細流れ図。
【図9】 図3〜図5に示したコア部分の第2の共通部分の詳細流
れ図。
【図10】 図2に示した流れ図の適用性部分の流れ図。
【図11】 図10に示した流れ図の一部の詳細流れ図。
【図12】 図7に示した流れ図の一部の詳細流れ図。
【図13】 前記パーサを使用して文法的に処理するためのシステム
の拡張部分の概略流れ図。
【図14】 図13に示した拡張部分の重要フェーズの流れ図。
【図15】 図14に属すプログラムの一部の流れ図。
【図16】 図14に属すプログラムの別の部分の流れ図。
【図17】 図16の詳細な訂正プログラムの流れ図。
【図18】 図16の詳細な訂正プログラムの流れ図。
【図19】 図16の詳細な訂正プログラムの流れ図。
【図20】 図16の詳細な訂正プログラムの流れ図。
【図21】 図16の詳細な訂正プログラムの流れ図。
【図22】 図16の詳細な訂正プログラムの流れ図。
【図23】 図16の詳細な訂正プログラムの流れ図。
【図24】 文法的に処理するためのシステムの拡張部分に関するプ
ログラムからの第1の補助機能の流れ図。
【図25】 文法的に処理するためのシステムの拡張部分に関するプ
ログラムからの第2の補助機能の流れ図。
【図26】 図13に示した前記拡張部分の形態の使用の特定の方法の
第1の部分の流れ図。
【図27】 図26の流れ図に続く部分の流れ図である。
【符号の説明】
1……文(SENTENCE) 2……語彙化(LEXICALIZE) 3……パーサ(PARSER) 4……成功(SUCCES) 5……パーサ使用(USE PARSER) 153……文訂正モジュール(SENTENCE CORRECT.MODULE) 154……文訂正判別(SENT.CORR.SUFFICIENTLY) 6……語彙化(LEXICALISATION) 9……語(K)の呼出(READ K−WORD) 10……語(K)への語彙化データ書込(ADD LEXIC.DATA
TO K−WORD) 12……出発構成要素作成(MAKE TOP CONSTITUENT) 16……語(K)の呼出(READ K−WORD) 17……一時Memのクリア(CLEAR TEMP.MEMORY) 19……表現Memのクリア(CLEAR REPR.MEMORY) 20……プログラムパート(PROGRAMMING PART) 38……構成要素は存在するか(CONSTITUENT PRESENT?) 40……しきい値低減(LOWER THRESHOLD) 42……コマンドFへの書込(FILL COMMAND FIELD) 43……最終的ラベルへの置換(PARS.SEMAN) 44……最高値の選択(TAKE HIGHEST) 24……一時Memのクリア(CLEAR TEMP.MEMORY) 25……表現(L)の呼出(L−REPRESENTATION) 29……構成要素(M)の呼出(M−CONSTITUENT) 30……語適正接続(WORD RIGHT ASSOCIATE) 31……表現Memを一時Memにコピー(COPY REPR.MEM.TO T
EMP.MEMORY) 32……表現Memのクリア(CLEAR REPR.MEMORY) 36……表現(M*)の呼出(READ M*−REPRESENTATIO
N) 37……閉鎖(CLOSURE) 46……バッファMemを表現Memにコピー(COPY BUFFER ME
M.TO REPR.MEMORY) 47……表現MemをバッファMemにコピー(COPY REPR.MEM.
TO BUFFER MEMORY) 48……表現Memのクリア(CLEAR REPR.MEMORY) 50……語範疇がSEQで示されるか(WORD CAT.COMPRISES
SEQ.) 51……構成要素のコピー(COPY CONSTITUENT) 52……語範疇(WORD CATEGORY) 53……文法規則の読込(READ GRAMMAR RULE) 56……語の提案(WORD PROPOSE) 57……構成要素の作成(MAKE CONSTITUENT) 58……規則の除去(REMOVE RULE) 59……CONJを有するか(MEMBER CONJ.) 60……構成要素が表現Memに(COPIED CONSTITUENT TO R
EPR.MEMORY) 61……最後の構成要素の読取(READ LAST CONST.FROM R
EPR.MEM.) 62……語の提案(WORD PROPOSE) 63……要素追加はあるか(MORE REPS) 64……最後の要素の呼出(READ LAST CONST.FROM REPR.
MEM.) 65……新構成要素の作成(MAKE CONSTITUENT) 66……プッシュ(PUSH) 67……閉鎖条件フィルタ(CLOSURE FILTER) 68……構成要素の生成(MAKE CONSTITUENT) 69……構成要素の提案(CONSTITUENT PROPOSE) 70……追加の表現(MORE REPS) 71……構成要素のコピー(COPY CONSTITUENT) 72……機能ラベルのコピー(STORE LABEL IN STACK FIE
LD) 73……機能ラベル、語構造の追加(STORE LABEL AND WA
RD IN MEMB.FIELD) 74……特性の選択(SELECT FEATURES) 75……構成要素フィルタ(CONSTITUENT FILTER) 77……閉鎖のテスト(TEST CLOSURE) 78……構成要素を表現Memに書込(WRITE CONSTITUENT I
N REPR.MEM.) 79……親構成要素のコピー(COPY PARENT CONSTITUEN
T) 80……可能性係数の適合(ADAPT PROBABILITY) 81……ラベルをスタックFに記録(STORE LABEL IN STA
CK FIELD) 82……ラベルと構成要素をメンバFに記録(STORE LABE
L AND CONST.IN MEMB.FIELD) 83……特性の選択(SELECT FEATURES) 84……構成要素のチェック(SELECT FEATURES) 86……閉鎖のテスト(TEST CLOSURE) 87……構成要素を表現Memに書込(WRITE CONSTITUENT I
N REPR.MEMORY) 88……構成要素を一時Memから表現Memにコピー(COPY C
ONSTITUENT FROM TEMP.MEM.TO REPR.MEMORY) 89……スタックFは空か(STACK FIELD IDLE) 90……コマンドFは値を有するか(COMMAND FIELD FILL
ED) 91……構成要素のコピー(COPY CONSTITUENT) 92……構成要素の範疇確立(DETERMINE CATEG.CONSTITU
ENT) 93……親構成要素の範疇確立(DETERMINE CAT.OF PAREN
T CONST.) 94……文法規則の選択(SELECT GRAMMAR RULE) 95……閉鎖条件フィルタ(CLOSURE FILTER) 99……構成要素の提案(CONSTITUENT PROPOSE) 100……構成要素のコピー(COPY CONSTITUENT) 101……1つの要素が追加されたか(MORE REPS) 102……最後の要素の削除(ERASE LAST CONST.FROM REP
R.MEMORY) 103……閉鎖(CLOSURE) 104……構成要素の提案(CONSTITUENT PROPOSE) 105……文法規則から最初の要素の除去(REMOVE FIRST
ELEM.FROM GRAMM.RULE) 106……構成要素数が増加したか(MORE REPS) 107……最後の構成要素を表現Memから読込(READ LAST
CONST.FROM REPR.MEM.) 108……閉鎖(CLOSURE) 112……コマンドFが情報を含むか(COMMAND FIELD FIL
LED) 113……最終ラベルへの置換(PARS SEMAN PART) 117……メンバ要素を構成要素にセット(RESET MEMBER
ELEM.AS CONSTITUENT) 118……真に構成要素か(IS ELEMENT REALLY A CONS
T.) 123……メンバ要素を構成要素にセット(RESET MEMBER
ELEM.AS CONSTITUENT) 124……真に構成要素か(IS ELEMENT REALLY A CONS
T.) 125……パース・セマン・パート(PARS SEMAN PART) 126……要素は仮ラベルか(IS SELECTED ELEMENT TEMP.
LABEL) 127……最終機能ラベルへの置換(REPL.TEMP.LABEL BY
DEFINITE LABEL) 128……フィルタ処理(FILTER PROCESS) 129……要素は仮ラベルか(IS SELECTED ELEMENT TEMP.
LABEL) 130……最終機能ラベルへの置換(REPL.TEMP.LABEL BY
DEFINITE LABEL) 131……フィルタ処理(FILTER PROCES) 132……構成要素はSか(CONSTITUENT S) 133……構成要素のテスト(EXAMINATION OF CONSTITUEN
T) 134……構成要素はSRELか(CONSTITUENT SREL) 135……構成要素のテスト(EXAMINATION OF CONSTITUEN
T) 136……構成要素はSCOMPか(CONSTITUENT SCOMP) 137……構成要素のテスト(EXAMINATION OF CONSTITUEN
T) 138……構成要素はNPか(CONSTITUENT NP) 139……「HEAD」が2回連続する?(TWO LABELS“HEA
D") 140……「HEAD」の後に「DET」?(LABEL“HEAD"FOLLOW
ED BY LABEL“DET") 141……可能性係数の低減(LOWER PROBABILITY) 142……「HEAD」の後に「N MOD−A」?(LABEL“HEA
D"FOLLOWED BY LABEL“N MOD−A") 143……可能性係数の低減(LOWER PROBABILITY) 144……「DET」は1つ?(ONLY ONE LABEL“DET"PRESEN
T) 145……可能性係数の低減(LOWER PROBABILITY) 146……「HEAD」は1つ?(ONE LABEL“HEAD") 147……可能性係数の低減(LOWER PROBABILITY) 148……構成要素はPPか(CONSTITUENT PP) 149……構成要素のテスト(EXAMINATION OF CONSTITUEN
T) 150……構成要素はAPか(CONSTITUENT AP) 151……構成要素のテスト(EXAMINATION OF CONSTITUEN
T) 152……可能性係数の低減(LOWER PROBABILITY) 155……文表現のコピー(COPY−REPRESENTATION) 156……訂正処理(CORRECTING PART) 157……コマンドFへの書込(FILL COMMAND PART) 163……次のメンバ(NEXT MEMBER) 164……文部分構成要素か(SENTENCE CONSTITUENT) 165……訂正のパート(CORRECTING PART) 166……違反を含むか(VIOLATIONS) 167……可能性係数、違反値の適合(ADAPT PROB.AND VI
OLATIONS) 171……次の違反コード(NEXT VIOLATION) 172……訂正機能の適用(CO?−CORRECTION) 173……可能性係数、違反値の適合(ADAPT PROB.AND VI
OLATIONS) 176……特性リストの割当(BEGINFEATIRES) 180……可能性係数の適用(ADAPT PROBABILITY) 181……特性の適合(ADAPT FEATURES) 182……構成要素フィルタ(CONSTITUENT FILTER) 183……閉鎖条件フィルタ(CLOSURE FILTER) 185……COA−訂正(COA−CORRECTION) 187……COB−訂正(COB−CORRECTION) 189……COC−訂正(COC−CORRECTION) 191……COD−訂正(COD−CORRECTION) 193……COE−訂正(COE−CORRECTION) 195……COF−訂正(COF−CORRECTION) 197……COG−訂正(COG−CORRECTION) 199……順序の誤り(WRONG ORDER) 200……スタックの交換(REORDER STACK) 201……メンバの交換(REORDER MEMBERS) 204……構成要素フィルタ(CONSTITUENT FILTER) 205……閉鎖条件フィルタ(CLOSURE FILTER) 206……違反のコピー(COPY VIOLATIONS) 207……スタックのコピー(COPY STACK) 208……違反の呼出(GET ERROR MESSAGE) 209……フラグにNILを割当(FLAG=NIL) 211……最大数か(MAX.NUMBER) 212……3番目の要素は存在するか(3rd MEMBER) 214……最大数か(MAX.NUMBER) 217……フラグはTRUEを有するか(FLAG−VALUE) 218……COB除去(REMOVE COB) 219……違反の除去(REMOVE ERROR MESSAGE) 221……要素対の除去(ELIMINATE MEMBER−PAIR) 222……対応要素の除去(ELIMINATE PAIR FROM STACK) 224……優先順位(PRIORITY) 229……HLPが要素を含むか(VALUE HLP) 230……優先順位V(PRIORITY V) 234……メンバW(MEMBER W) 235……単一の要素か(SINGLE ELEMENT) 262……違反の移送(GET VIOLATION) 273……違反メッセージの移送(GET ERROR MESSAGE) 277……P番目の要素の選択(P−TH ELEMENT VIOLATIO
N) 278……P番目の要素は存在するか(P−TH ELEMENT AV
AILABLE) 282……適正な文法規則(PROPER−GRAMMAR RULE) 283……新メンバ(NEW MEMBER) 284……可能性係数、違反の適合(ADAPT PROB.VIOLATIO
NS(FIG.15)) 285……COA−訂正(COA−CORRECTION) 286……違反メッセージの移送(GET ERROR MESSAGE) 290……スタックから要素の除去(REMOVE ELEMENT FROM
STACK) 291……要素対の除去(REMOVE MEMBER PAIR) 292……可能性係数、違反の適合(ADAPT PROB.AND VIOL
ATIONS(FIG.15)) 293……ラベルの呼出(GET LABEL) 294……不在特性の呼出(GET MISSING FEATURE) 295……メンバの呼出(GET MEMBER) 297……違反FにNILを割当(VIOLATIONS=NIL) 299……構成要素フィルタ(CONSTITUENT FILTER) 300……閉鎖条件フィルタ(CLOSURE FILTER) 266……テーブルFのリスト呼出(GET TABLE−F−FEAT
URES) 267……特性の呼出(GET FEATURES) 269……266と267の内容の比較(COMPARING CONTENTS OF
“266"AND“277") 271……第1の特性の組合せの最後の要素(LAST ELEMEN
T OF FIRST FEATURE COMBINATION) 272……266から第1の特性の組合せの除去(REMOVE FIR
ST FEATURE COMBINATION FROM“266") 245……語に関係するか(WORD) 246……異なる形態の検索(OTHER FORM FROM LEX.MEM) 249……特性Fに特性を割当(BEGINFEATURES) 254……構成要素フィルタ(CONSTITUENT FILTER) 255……次のメンバ(NEXT MEMBER) 256……特性が割当られ得るか(CAN HAVE FEATURE) 257……特性の除去(ELIMINATE FEATURES) 259……語構造を有するか(WORD) 260……コマンドF(COMMAND FIELD) 261……閉鎖条件フィルタ(CLOSURE FILTER) 301……新旧の語の書込(WRITE OLD AND NEW WORD) 302……語彙Memの読込(READ LEXICAL MEMORY) 303……誤り文の検索(SEARCH FOR A WRONG SENTENCE) 304……文は既に解析されたか(SENTENCE ALREADY PARS
ED) 306……文の解析(SENTENCE WILL BE PARSED) 309……文法規則の選択(SELECT GRAMMAR RULES) 313……H番目の規則を選択(SELECT H−TH GRAMMAR RU
LE) 314……親構成要素とラベル指示が適合するか(FIT THE
PARENT AND LABEL IN DICATION) 315……語範疇が一致するか(FIT THE WORD CATEGORY) 316……新しい語の特性を第1バッファに書込(STORE T
HE PARTICULARS OF THE NEW WORD IN FIRST BUFFER) 317……新しい語の特性を第2バッファに書込(STORE T
HE PARTICULARS OF THE NEW WORD IN 2nd BUFFER) 318……第1バッファは空か(FIRST BUFFER IDLE) 319……第2バッファは空か(2nd BUFFER IDLE) 320……第1バッファの解は1つのみか(ONLY ONE SOLU
TION IN FIRST BUFFER) 321……語構造の置換(REPLACE WORD STRUCTURE) 322……共通の解の特性の数の調査(COUNT COMMON FEAT
URES PER SULUTION) 323……最良の解の選択(SELECT THE BEST SOLUTION) 324……第2バッファの解は1つのみか(ONLY ONE SOLU
TION IN 2−nd BUFFER) 325……親のメンバ対の選択(SELECT MEMBER PAIR OF P
ARENT) 326……可能性係数と違反の適合(ADAPT PROB.AND VIOL
ATIONS(FIG.15)) 327……より高い親構成要素はあるか(PARENT OF HIGHE
R LEVEL) 328……この親構成要素の呼出(CALL−UP THIS PAREN
T) 329……訂正パート(CORRECTING PART(FIG.14)) 330……誤り文の置換(REPLACE THE WRONG SENTENCE)
フロントページの続き (72)発明者 エデユアールドス・ヨセフス・ウイリブ ロルドス・フアン・フリームベルソン オランダ国、5924・アー・イツクス・フ エンロ、ラ・フオンタイネストラート・ 7 (56)参考文献 特開 昭61−269776(JP,A)

Claims (18)

    (57)【特許請求の範囲】
  1. 【請求項1】語単位から構成される自然言語文を、処理
    装置を用いて文法的に処理する方法であって、 a.語彙メモリに登録された語の語範疇及び用途指定範疇
    に基づいて、前記語単位から語範疇及び用途指定範疇が
    付されて語彙化された語単位を得て、該語彙化された語
    単位のそれぞれを語メモリに記憶する段階と、 b.前記語メモリから読み込まれる前記語彙化された語単
    位を構成解析し、構成要素を生成して、構成要素を伴う
    少なくとも一つの文表現を提供する段階と、 を備え、 さらに、前記文表現のそれぞれに可能性係数が関連づけ
    られる方法であり、前記段階b.として、 a)前記語メモリから供給される語彙化された語単位に
    対して、構成要素範疇が文である構成要素を出発構成要
    素として与えられ、文表現を記憶するメモリから供給さ
    れる構成要素範疇が付された構成要素について、 文法データメモリにあり、語範疇と構成要素範疇及び機
    能ラベルとの関係規則を記述した文法データを参照し
    て、 該当する関係規則により、適合される語彙化された語単
    位の指示と機能ラベルとの対を構成要素に付し、該当す
    る関係規則によっては、構成要素範疇が付された新たな
    構成要素を生成し、前記文表現を更新または補足する段
    階と、 b)前記段階a)で得られた文表現を記憶するメモリか
    らの構成要素について、 文法データメモリにあり、構成要素の構成要素範疇と該
    構成要素の上位となる親構成要素の構成要素範疇及び機
    能ラベルとの関係規則を記述した文法データを参照し
    て、 該当する関係規則により、構成要素の指示と機能ラベル
    との対を親構成要素に付し、前記文表現を更新又は補足
    する段階と、 c)少なくとも前記段階b)において、文法データメモ
    リにあり、誤りを検出するためのシンタクス規則を記述
    した文法データを参照して、文表現の親構成要素と構成
    要素及び/または語彙化された語単位の間の相互関係を
    少なくとも機能ラベルにより検査し、誤りが検出された
    ならば、誤りに応じて該文表現に関連付けられる可能性
    係数を小さくし、その後、予め選定されているしきい値
    より大きい可能性係数が関連付けられた文表現を選択す
    る段階と、 を含む方法。
  2. 【請求項2】語単位および構成要素ごとの機能ラベルの
    決定が、先行する任意の語単位の機能ラベルを参照する
    段階を含む請求項1に記載の自然言語文を文法的に処理
    する方法。
  3. 【請求項3】d)文法データメモリにあり、構成要素の
    構成要素範疇と該構成要素の上位となる親構成要素の構
    成要素範疇及び機能ラベルとの関係規則を記述した文法
    データに基づいて、それぞれの構成要素に割り当てられ
    た機能ラベルを、最終的な機能ラベルに取り換える段
    階、 を含んだ請求項1に記載の自然言語文を文法的に処理す
    る方法。
  4. 【請求項4】e)機能ラベルが最終的な機能ラベルに取
    り換えられている文表現に割り付けられた可能性係数を
    評価し、最も大きな可能性係数を有する文表現を選択す
    る段階、 を含んだ請求項3に記載の自然言語文を文法的に処理す
    る方法。
  5. 【請求項5】前記予め選択されているしきい値より大き
    い可能性係数を有するそれぞれの文表現の前記選択が、 (I)前記予め選択されているしきい値より大きい可能
    性係数を有する文章現が存在するかどうかを検査する段
    階と、 (II)前記予め選択されているしきい値より大きい可能
    性係数を有する文表現がないことが確定した後に、しき
    い値を別のしきい値にまで下げる段階と、 (III)請求項1に記載の段階b)およびc)を反復す
    る段階と、 を含んだ請求項1に記載の自然言語文を文法的に処理す
    る方法。
  6. 【請求項6】語単位ごとに、前記語単位に関係する語構
    造ごとに、それに続いて、生成された構成要素ごとに、
    前記構成要素または生成されるべき構成要素の中の前記
    語単位の機能ラベルを決定することを含む請求項1に記
    載の自然言語文を文法的に処理する方法。
  7. 【請求項7】前記語単位のすべての語構造に対してその
    構成要素または生成されるべき構成要素の中のそれぞれ
    の機能ラベルを決定した後に、その構成要素に機能ラベ
    ルを割り当てる段階の記述が実行される請求項6に記載
    の自然言語文を文法的に処理する方法。
  8. 【請求項8】語単位に関係する語構造ごとに、構成要素
    または生成されるべき構成要素の中の機能ラベルを決定
    するそれぞれの段階の後に、その構成要素に機能ラベル
    を割り当てる段階の記述が実行される請求項6に記載の
    自然言語文を文法的に処理する方法。
  9. 【請求項9】語単位ごとに、前記語単位に関係する語構
    造ごとに、および、作成された構成要素ごとに、連続的
    に、前記構成要素または生成されるべき構成要素の中の
    機能ラベルを決定し、その構成要素に機能ラベルを割り
    当てる段階を記述することを特徴とする請求項1に記載
    の自然言語文を文法的に処理する方法。
  10. 【請求項10】語単位ごとに、作成された構成要素ごと
    に、それに続いて、前記語単位に関係する語構造ごと
    に、前記構成要素または生成されるべき構成要素の中の
    機能ラベルを決定する請求項1に記載の自然言語文を文
    法的に処理する方法。
  11. 【請求項11】すべての構成要素に対して前記構成要素
    または生成されるべき構成要素の中の機能ラベルを決定
    した後に、その構成要素に機能ラベルを割り当てる前記
    処理を実行する請求項10に記載の自然言語文を文法的に
    処理する方法。
  12. 【請求項12】構成要素ごとに、前記構成要素または生
    成されるべき構成要素の中の機能ラベルを決定するたび
    に、その構成要素に機能ラベルを割り当てる処理を実行
    する請求項10に記載の自然言語文を文法的に処理する方
    法。
  13. 【請求項13】語単位ごとに、作成された構成要素ごと
    に、および、前記語単位に関係する語構造ごとに、連続
    的に、前記構成要素または生成されるべき構成要素の中
    の機能ラベルが決定され、その構成要素に機能ラベルを
    割り当てる処理を実行する請求項1に記載の自然言語文
    を文法的に処理する方法。
  14. 【請求項14】構成要素に機能ラベルを割り当てる段階
    が、 a.語構造に関係する情報および与えられた構成要素の情
    報を参照して、語単位に割り付けられるべき機能ラベル
    に関係する情報を文法データメモリから選択する段階
    と、 b.選択された機能ラベルを備えた前記語単位を与えられ
    た構成要素に付加する段階と、 c.不正な組み合わせ、不正な順序、および、割り付けら
    れた機能ラベルの不正な数があるかどうかについてそれ
    ぞれの構成要素を検査する段階と、 d.予め選択されているしきい値に照らして、前記構成要
    素に関連する可能性係数を検査する段階と、 を備えた請求項1に記載の自然言語文を文法的に処理す
    る方法。
  15. 【請求項15】構成要素に機能ラベルを割り当てる処理
    の記述に関連して、 a.文法データメモリを参照して、構成要素に対する機能
    ラベルを、前記構成要素の範疇と前記構成要素の任意の
    親構成要素の範疇とによって決定する段階と、 b.構成要素に付加された最後の語単位が、前記構成要素
    の中の終了要素として、前記語単位に割り付けられた前
    記機能ラベルに基づいて適切に機能するかどうかを検査
    する段階と、 c.(I)前記構成要素の中の前記語単位に割り付けられ
    た前記機能ラベルを参照することによって、文法データ
    メモリに記憶されかつ必ず現れなければならない最小限
    の要素の数に関する文法規則を構成要素が満足するかど
    うかを検査して決定する段階と、(II)必要であれば、
    前記構成要素に割り付けられた可能性係数を評価する段
    階と、 d.予め選択されている適切なしきい値を比較して、前記
    構成要素に関連する可能性係数を検査する段階と、 を備えた請求項1に記載の自然言語文を文法的に処理す
    る方法。
  16. 【請求項16】文法データメモリにあり、誤りを検出す
    るためのシンタクス規則を記述した文法データを参照し
    て、前記不正な構成要素を変更する段階を含む請求項1
    に記載の自然言語文を文法的に処理する方法。
  17. 【請求項17】自然言語文を文法的に処理する処理装置
    であって、 a.語彙メモリに登録された語の語範疇及び用途指定範疇
    に基づいて、前記語単位から語範疇及び用途指定範疇が
    付されて語彙化された語単位を得て、該語彙化された語
    単位のそれぞれを語メモリに記憶する手段と、 b.前記語メモリから読み込まれる前記語彙化された語単
    位を構成解析し、構成要素を生成して、構成要素を伴う
    少なくとも一つの文表現を提供する手段と、 を備え、 さらに、前記文表現のそれぞれに可能性係数を関連づけ
    る手段を備える処理装置であり、前記文表現を提供する
    手段は、 a)前記語メモリから供給される語彙化された語単位に
    対して、構成要素範疇が文である構成要素を出発構成要
    素として与えられ、文表現を記憶するメモリから供給さ
    れる構成要素範疇が付された構成要素について、 文法データメモリにあり、語範疇と構成要素範疇及び機
    能ラベルとの関係規則を記述した文法データを参照し
    て、 該当する関係規則により、適合される語彙化された語単
    位の指示と機能ラベルとの対を構成要素に付し、該当す
    る関係規則によっては、構成要素範疇が付された新たな
    構成要素を生成し、前記文表現を更新または補足する手
    段と、 b)前記手段a)により得られた文表現を記憶するメモ
    リからの構成要素について、 文法データメモリにあり、構成要素の構成要素範疇と該
    構成要素の上位となる親構成要素の構成要素範疇及び機
    能ラベルとの関係規則を記述した文法データを参照し
    て、 該当する関係規則により、構成要素の指示と機能ラベル
    との対を親構成要素に付し、前記文表現を更新又は補足
    する手段とを備え、 c)少なくとも手段b)は、文法データメモリにあり、
    誤りを検出するためのシンタクス規則を記述した文法デ
    ータを参照して、文表現の親構成要素と構成要素及び/
    または語彙化された語単位の間の相互関係を少なくとも
    機能ラベルにより検査し、誤りが検出されたならば、誤
    りに応じて該文表現に関連付けられる可能性係数を小さ
    くし、その後、予め選定されているしきい値より大きい
    可能性係数が関連付けられた文表現を選択する手段 を有する処理装置。
  18. 【請求項18】前記処理装置が、文法データメモリにあ
    り、誤りを検出するためのシンタクス規則を記述した文
    法データを参照して、文表現の中の文法的に不正な構成
    要素を選択し、その構成要素を変更する請求項17に記載
    の自然言語文を文法的に処理する装置。
JP23975389A 1988-09-15 1989-09-14 自然言語で構成された文を文法的処理する方法及び該方法を実行するシステム Expired - Fee Related JP3384564B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
NL8802271A NL8802271A (nl) 1988-09-15 1988-09-15 Werkwijze voor het ontleden van een, in natuurlijke taal gestelde zin, in, met functionele indicaties te omschrijven zinsdelen, alsmede een inrichting voor het uitvoeren van een dergelijke werkwijze.
NL8802271 1988-09-15
NL8901050A NL8901050A (nl) 1989-04-26 1989-04-26 Werkwijze voor het ontleden en corrigeren van een, in natuurlijke taal gestelde zin, alsmede een inrichting voor het uitvoeren van een dergelijke werkwijze.
NL8901050 1989-04-26

Publications (2)

Publication Number Publication Date
JPH02115971A JPH02115971A (ja) 1990-04-27
JP3384564B2 true JP3384564B2 (ja) 2003-03-10

Family

ID=26646423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23975389A Expired - Fee Related JP3384564B2 (ja) 1988-09-15 1989-09-14 自然言語で構成された文を文法的処理する方法及び該方法を実行するシステム

Country Status (4)

Country Link
US (1) US5068789A (ja)
EP (1) EP0361570B1 (ja)
JP (1) JP3384564B2 (ja)
DE (1) DE68928230T2 (ja)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5111398A (en) * 1988-11-21 1992-05-05 Xerox Corporation Processing natural language text using autonomous punctuational structure
JP2814634B2 (ja) * 1989-12-29 1998-10-27 松下電器産業株式会社 機械翻訳装置
US5243520A (en) * 1990-08-21 1993-09-07 General Electric Company Sense discrimination system and method
US5418717A (en) * 1990-08-27 1995-05-23 Su; Keh-Yih Multiple score language processing system
JP2804403B2 (ja) * 1991-05-16 1998-09-24 インターナショナル・ビジネス・マシーンズ・コーポレイション 質問回答システム
US5477451A (en) * 1991-07-25 1995-12-19 International Business Machines Corp. Method and system for natural language translation
US5487147A (en) * 1991-09-05 1996-01-23 International Business Machines Corporation Generation of error messages and error recovery for an LL(1) parser
JP2892548B2 (ja) * 1992-05-25 1999-05-17 シャープ株式会社 自動翻訳装置
JPH0668137A (ja) * 1992-08-21 1994-03-11 Hitachi Ltd 操作指示対象情報生成システムおよび操作指示対象認識システム
NL9300310A (nl) * 1993-02-19 1994-09-16 Oce Nederland Bv Inrichting en werkwijze voor syntactische signaal-analyse.
US5510981A (en) * 1993-10-28 1996-04-23 International Business Machines Corporation Language translation apparatus and method using context-based translation models
US5737617A (en) * 1995-06-06 1998-04-07 International Business Machines Corporation Method and system for English text analysis
US6279017B1 (en) * 1996-08-07 2001-08-21 Randall C. Walker Method and apparatus for displaying text based upon attributes found within the text
US5802533A (en) * 1996-08-07 1998-09-01 Walker; Randall C. Text processor
CN1304988C (zh) * 1996-10-16 2007-03-14 夏普公司 字符输入装置
EP0972254A1 (en) * 1997-04-01 2000-01-19 Yeong Kuang Oon Didactic and content oriented word processing method with incrementally changed belief system
AU724147B2 (en) * 1997-04-01 2000-09-14 Yeong Kuang Oon Didactic and content oriented word processing method with incrementally changed belief system
US5960384A (en) * 1997-09-03 1999-09-28 Brash; Douglas E. Method and device for parsing natural language sentences and other sequential symbolic expressions
US6098042A (en) * 1998-01-30 2000-08-01 International Business Machines Corporation Homograph filter for speech synthesis system
US6721697B1 (en) * 1999-10-18 2004-04-13 Sony Corporation Method and system for reducing lexical ambiguity
US6928448B1 (en) 1999-10-18 2005-08-09 Sony Corporation System and method to match linguistic structures using thesaurus information
US6778949B2 (en) 1999-10-18 2004-08-17 Sony Corporation Method and system to analyze, transfer and generate language expressions using compiled instructions to manipulate linguistic structures
US6535886B1 (en) * 1999-10-18 2003-03-18 Sony Corporation Method to compress linguistic structures
US9076448B2 (en) 1999-11-12 2015-07-07 Nuance Communications, Inc. Distributed real time speech recognition system
US6665640B1 (en) 1999-11-12 2003-12-16 Phoenix Solutions, Inc. Interactive speech based learning/training system formulating search queries based on natural language parsing of recognized user queries
US6615172B1 (en) 1999-11-12 2003-09-02 Phoenix Solutions, Inc. Intelligent query engine for processing voice based queries
US7392185B2 (en) 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
US6633846B1 (en) 1999-11-12 2003-10-14 Phoenix Solutions, Inc. Distributed realtime speech recognition system
US7050977B1 (en) 1999-11-12 2006-05-23 Phoenix Solutions, Inc. Speech-enabled server for internet website and method
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US7099855B1 (en) 2000-01-13 2006-08-29 International Business Machines Corporation System and method for electronic communication management
US8478732B1 (en) 2000-05-02 2013-07-02 International Business Machines Corporation Database aliasing in information access system
US6704728B1 (en) 2000-05-02 2004-03-09 Iphase.Com, Inc. Accessing information from a collection of data
US9699129B1 (en) 2000-06-21 2017-07-04 International Business Machines Corporation System and method for increasing email productivity
US6408277B1 (en) 2000-06-21 2002-06-18 Banter Limited System and method for automatic task prioritization
US8290768B1 (en) 2000-06-21 2012-10-16 International Business Machines Corporation System and method for determining a set of attributes based on content of communications
US7644057B2 (en) 2001-01-03 2010-01-05 International Business Machines Corporation System and method for electronic communication management
JP2003271389A (ja) * 2002-03-19 2003-09-26 Shuichi Araki 自然言語によるソフトウェア・オブジェクトの操作方法及びそのためのプログラム
US7191119B2 (en) * 2002-05-07 2007-03-13 International Business Machines Corporation Integrated development tool for building a natural language understanding application
US7805302B2 (en) * 2002-05-20 2010-09-28 Microsoft Corporation Applying a structured language model to information extraction
US7389230B1 (en) 2003-04-22 2008-06-17 International Business Machines Corporation System and method for classification of voice signals
US8495002B2 (en) 2003-05-06 2013-07-23 International Business Machines Corporation Software tool for training and testing a knowledge base
US20050187913A1 (en) 2003-05-06 2005-08-25 Yoram Nelken Web-based customer service interface
US7970600B2 (en) * 2004-11-03 2011-06-28 Microsoft Corporation Using a first natural language parser to train a second parser
US20060122834A1 (en) * 2004-12-03 2006-06-08 Bennett Ian M Emotion detection device & method for use in distributed systems
US20060277028A1 (en) * 2005-06-01 2006-12-07 Microsoft Corporation Training a statistical parser on noisy data by filtering
US9984071B2 (en) 2006-10-10 2018-05-29 Abbyy Production Llc Language ambiguity detection of text
US8145473B2 (en) 2006-10-10 2012-03-27 Abbyy Software Ltd. Deep model statistics method for machine translation
US20080086298A1 (en) * 2006-10-10 2008-04-10 Anisimovich Konstantin Method and system for translating sentences between langauges
US8548795B2 (en) * 2006-10-10 2013-10-01 Abbyy Software Ltd. Method for translating documents from one language into another using a database of translations, a terminology dictionary, a translation dictionary, and a machine translation system
US8214199B2 (en) * 2006-10-10 2012-07-03 Abbyy Software, Ltd. Systems for translating sentences between languages using language-independent semantic structures and ratings of syntactic constructions
US9645993B2 (en) 2006-10-10 2017-05-09 Abbyy Infopoisk Llc Method and system for semantic searching
US9235573B2 (en) 2006-10-10 2016-01-12 Abbyy Infopoisk Llc Universal difference measure
US9047275B2 (en) 2006-10-10 2015-06-02 Abbyy Infopoisk Llc Methods and systems for alignment of parallel text corpora
US8195447B2 (en) * 2006-10-10 2012-06-05 Abbyy Software Ltd. Translating sentences between languages using language-independent semantic structures and ratings of syntactic constructions
US9633005B2 (en) 2006-10-10 2017-04-25 Abbyy Infopoisk Llc Exhaustive automatic processing of textual information
US7991609B2 (en) * 2007-02-28 2011-08-02 Microsoft Corporation Web-based proofing and usage guidance
US20080221870A1 (en) * 2007-03-08 2008-09-11 Yahoo! Inc. System and method for revising natural language parse trees
US8959011B2 (en) 2007-03-22 2015-02-17 Abbyy Infopoisk Llc Indicating and correcting errors in machine translation systems
US8812296B2 (en) 2007-06-27 2014-08-19 Abbyy Infopoisk Llc Method and system for natural language dictionary generation
US8738353B2 (en) * 2007-09-05 2014-05-27 Modibo Soumare Relational database method and systems for alphabet based language representation
US9262409B2 (en) 2008-08-06 2016-02-16 Abbyy Infopoisk Llc Translation of a selected text fragment of a screen
US9298697B2 (en) * 2010-01-26 2016-03-29 Apollo Education Group, Inc. Techniques for grammar rule composition and testing
US8601030B2 (en) * 2011-09-09 2013-12-03 International Business Machines Corporation Method for a natural language question-answering system to complement decision-support in a real-time command center
US8971630B2 (en) 2012-04-27 2015-03-03 Abbyy Development Llc Fast CJK character recognition
US8989485B2 (en) 2012-04-27 2015-03-24 Abbyy Development Llc Detecting a junction in a text line of CJK characters
US9472189B2 (en) 2012-11-02 2016-10-18 Sony Corporation Language processing method and integrated circuit
RU2592395C2 (ru) 2013-12-19 2016-07-20 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Разрешение семантической неоднозначности при помощи статистического анализа
RU2586577C2 (ru) 2014-01-15 2016-06-10 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Фильтрация дуг в синтаксическом графе
WO2015164209A1 (en) 2014-04-25 2015-10-29 Mayo Foundation For Medical Education And Research Enhancing reading accuracy, efficiency and retention
RU2596600C2 (ru) 2014-09-02 2016-09-10 Общество с ограниченной ответственностью "Аби Девелопмент" Способы и системы обработки изображений математических выражений
US9626358B2 (en) 2014-11-26 2017-04-18 Abbyy Infopoisk Llc Creating ontologies by analyzing natural language texts
US10592614B1 (en) 2017-01-19 2020-03-17 Amdocs Development Limited System, method, and computer program for translating unified ticketing system (UTS) messages
US10395649B2 (en) 2017-12-15 2019-08-27 International Business Machines Corporation Pronunciation analysis and correction feedback

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4887212A (en) * 1986-10-29 1989-12-12 International Business Machines Corporation Parser for natural language text
US4862408A (en) * 1987-03-20 1989-08-29 International Business Machines Corporation Paradigm-based morphological text analysis for natural languages
US4868750A (en) * 1987-10-07 1989-09-19 Houghton Mifflin Company Collocational grammar system
US4864501A (en) * 1987-10-07 1989-09-05 Houghton Mifflin Company Word annotation system

Also Published As

Publication number Publication date
US5068789A (en) 1991-11-26
EP0361570B1 (en) 1997-08-06
DE68928230D1 (de) 1997-09-11
EP0361570A1 (en) 1990-04-04
DE68928230T2 (de) 1998-02-05
JPH02115971A (ja) 1990-04-27

Similar Documents

Publication Publication Date Title
JP3384564B2 (ja) 自然言語で構成された文を文法的処理する方法及び該方法を実行するシステム
US5999896A (en) Method and system for identifying and resolving commonly confused words in a natural language parser
US5495413A (en) Translation machine having a function of deriving two or more syntaxes from one original sentence and giving precedence to a selected one of the syntaxes
Maling et al. A phrase structure account of Scandinavian extraction phenomena
US7058567B2 (en) Natural language parser
US7630892B2 (en) Method and apparatus for transducer-based text normalization and inverse text normalization
CA1300272C (en) Word annotation system
JP4330285B2 (ja) 機械翻訳用辞書登録装置、機械翻訳用辞書登録方法、機械翻訳装置、機械翻訳方法及び記録媒体
EP0381288A1 (en) Method and system for the representation of multiple analyses in dependency grammar and parser for generating such representation
US20150356074A1 (en) Machine Translation System and Method
JPH02187857A (ja) 自然言語テキスト処理方法
Roche Parsing with finite-state transducers
CA2504111A1 (en) Critiquing clitic pronoun ordering in french
Huet Shallow syntax analysis in Sanskrit guided by semantic nets constraints
CN116360794A (zh) 数据库语言解析方法、装置、计算机设备及存储介质
Kuboň Problems of robust parsing of Czech
CA2351777C (en) Correcting incomplete negation errors in french language text
Sailer Past tense marking in Afrikaans
Ross Parsing English phrase structure
Yli-Jyrä et al. Refining the design of a contracting finite-state dependency parser
Gendner et al. A Protocol for Evaluating Analyzers of Syntax (PEAS).
Strigin Topicalization, scrambling, and argument scope in German: integrating semantic and syntactic information
NL8802271A (nl) Werkwijze voor het ontleden van een, in natuurlijke taal gestelde zin, in, met functionele indicaties te omschrijven zinsdelen, alsmede een inrichting voor het uitvoeren van een dergelijke werkwijze.
Cormack Robin Cooper, Quantification and syntactic theory.(Synthese Language Library, Volume 21.) D. Reidel: Dordrecht, 1983. Pp x+ 217.
NL8901050A (nl) Werkwijze voor het ontleden en corrigeren van een, in natuurlijke taal gestelde zin, alsmede een inrichting voor het uitvoeren van een dergelijke werkwijze.

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees