(57)【特許請求の範囲】
【請求項１】
自然言語文を入力する入力手段と、
単語に対して、その単語の文法カテゴリと、その単語の意味を表現し、その単語と他の単語との修飾関係を規定するための引数を含む述語とを記述した辞書と、
前記辞書を参照して、前記入力手段より入力された自然言語文中の各単語の文法カテゴリと、その単語の意味と引数とを求め、各引数に固有の値を割り当てて意味リストに格納する解析手段と、
単語の文法カテゴリに対し、検索対象のサーチコードと、検索成功時に使用する引数と、修飾関係における引数の位置と、格納すべきサーチコードと引数とを対応付けたテーブルと、
前記テーブルを参照して、前記解析手段により前記意味リストに格納された各単語について、格納すべきサーチコードと引数とをサーチスペースに格納し、そのサーチスペースから前記検索対象のサーチコードを検索し、そのサーチコードが見つかるとそのサーチコードとともに格納された引数と前記検索成功時に使用する引数との間に前記修飾関係における引数の位置に基づいて結合を規定する処理手段と、
前記意味リストに格納された各単語について、前記処理手段により規定された結合を形成する一方の引数を他方の引数に置換する結合手段と、
意味と、その意味に対応するゴールと、実行される動作とを対応付けたルールを格納した知識ベースと、
前記知識ベースに格納されたルールと、前記結合手段による置換後の意味リストに格納された意味とに基づいて動作を指示する出力信号を生成する信号生成手段とを備えることを特徴とする信号処理装置。
【請求項２】
前記処理手段が、第１の文法カテゴリに属する単語を処理する場合に、いずれのサーチコードも格納しないことを特徴とする請求項１に記載の信号処理装置。
【請求項３】
前記処理手段が、第２の文法カテゴリに属する単語を処理する場合に、複数のサーチコードを格納することを特徴とする請求項１に記載の信号処理装置。
【請求項４】
前記処理手段が、第３の文法カテゴリに属する単語を処理する場合に、いずれのサーチコードも検索しないことを特徴とする請求項１に記載の信号処理装置。
【請求項５】
前記処理手段が、第４の文法カテゴリに属する単語を処理する場合に、複数のサーチコードを検索することを特徴とする請求項１に記載の信号処理装置。
【請求項６】
前記テーブルでは、単語の文法カテゴリに対し、更に削除すべきサーチコードが対応付けられており、当該テーブルを参照して、前記処理手段が、前記意味リストに格納された各単語について、削除すべきサーチコードを削除することを特徴とする請求項１に記載の信号処理装置。
【請求項７】
前記処理手段は、前記サーチスペースに格納された前記検索対象のサーチコードの全てを検索し、見つかった各サーチコードとともに格納された引数に関して前記結合を規定することを特徴とする請求項１に記載の信号処理装置。
【請求項８】
前記処理手段は、前記サーチスペースに格納された前記検索対象のサーチコードのうち、最新に格納されたサーチコードが見つかった時点で検索を終了し、見つかったサーチコードとともに格納された引数に対して前記結合を規定することを特徴とする請求項１に記載の信号処理装置。
【請求項９】
前記処理手段が、各単語の処理を後続の単語の受信を待つことなく行なうことを特徴とする請求項１に記載の信号処理装置。
【請求項１０】
複数のスイッチを備え、
前記出力信号は、この複数のスイッチのオンオフ動作を指示することを特徴とする請求項１に記載の信号処理装置。
【請求項１１】
単語に対して、その単語の文法カテゴリと、その単語と他の単語との修飾関係を規定するための引数を含む述語形式で表現されたその単語の意味とを記述した辞書と、
単語の文法カテゴリに対し、検索対象のサーチコードと、検索成功時に使用する引数と、修飾関係における引数の位置と、格納すべきサーチコード及び引数とを対応付けたテーブルと、
意味と、その意味に対応するゴールと、実行される動作を対応付けたルールとを格納した知識ベースと
を備えたメモリを有する信号処理装置で実行される信号処理方法であって、
自然言語文を入力する入力工程と、
前記入力工程において入力された自然言語文中の各単語について、前記メモリ上の前記辞書を参照して、その単語の文法カテゴリと、その単語の意味と引数とを求め、各引数に固有の値を割り当てて前記メモリ上の意味リストに格納する解析工程と、
前記メモリ上の前記テーブルを参照して、前記解析工程により前記メモリ上の前記意味リストに格納された各単語について、その単語の文法カテゴリに基づいて、前記格納すべきサーチコード及び引数を前記メモリ上のサーチスペースに格納し、そのサーチスペースから前記検索対象のサーチコードを検索し、そのサーチコードが見つかるとそのサーチコードとともに格納された引数と前記検索成功時に使用する引数との間に前記修飾関係における引数の位置に基づいて結合を規定する処理工程と、
前記メモリ上の前記意味リストに格納された各単語の意味について、前記処理工程により規定された結合を形成する一方の引数を他方の引数に置換する結合工程と、
前記メモリ上の前記知識ベースのルールを参照して、前記結合工程による置換後の前記メモリ上の前記意味リストに格納された意味に基づいて動作を指示する出力信号を生成する信号生成工程とを備えることを特徴とする信号処理方法。
【請求項１２】
前記処理工程では、第１の文法カテゴリに属する単語を処理する場合に、いずれのサーチコードも格納しないことを特徴とする請求項１１に記載の信号処理方法。
【請求項１３】
前記処理工程では、第２の文法カテゴリに属する単語を処理する場合に、複数のサーチコードを格納することを特徴とする請求項１１に記載の信号処理方法。
【請求項１４】
前記処理工程では、第３の文法カテゴリに属する単語を処理する場合に、いずれのサーチコードも検索しないことを特徴とする請求項１１に記載の信号処理方法。
【請求項１５】
前記処理工程では、第４の文法カテゴリに属する単語を処理する場合に、複数のサーチコードを検索することを特徴とする請求項１１に記載の信号処理方法。
【請求項１６】
前記テーブルでは、単語の文法カテゴリに対し、更に削除すべきサーチコードが対応付けられており、当該テーブルを参照して、前記処理工程では、前記意味リストに格納された各単語について、削除すべきサーチコードを削除することを特徴とする請求項１１に記載の信号処理方法。
【請求項１７】
前記処理工程では、前記サーチスペースに格納された前記検索対象のサーチコードの全てを検索し、見つかった各サーチコードとともに格納された引数に関して前記結合を規定することを特徴とする請求項１１に記載の信号処理方法。
【請求項１８】
前記処理工程では、前記サーチスペースに格納された前記検索対象のサーチコードのうち、最新に格納されたサーチコードが見つかった時点で検索を終了し、見つかったサーチコードとともに格納された引数に対して前記結合を規定することを特徴とする請求項１１に記載の信号処理方法。
【請求項１９】
前記処理工程では、各単語の処理を後続の単語の受信を待つことなく行なうことを特徴とする請求項１１に記載の信号処理方法。
【請求項２０】
前記出力信号は、複数のスイッチのオンオフ動作を指示することを特徴とする請求項１１に記載の信号処理方法。
【発明の詳細な説明】
本発明は信号処理方法及び装置に関するものである。特に、以下に限られるものではないが、入力信号を自然言語の個々の単語を表す形態から、その言語のいくつかの単語からなるグループの意味を表現する形態の出力信号へと変換することに適用可能である。この変換後の形態は、例えば、自然言語入力に基づいて引き続き行う処理あるいは装置を制御する制御信号を提供するため等の更なる処理に適している。
現時点のコンピュータシステムは、生産プロセスの制御や、データベースの作成や検索における情報の蓄積やサーチ等、様々に応用され広く業務に使用されている。しかし、現時点のシステムでは、命令や情報が、使用者の自然言語ではなく、そのシステムのために叙述された形式で入力されることが必要である。
自然言語で入力された情報や命令に対して、必要に応じて応答できるコンピュータシステムに必要とされるのは、自然言語の個々の単語や他の要素を表す形態の入力信号を、いくつかの単語あるいは要素からなるグループの意味を表し且つ処理可能な形態の出力信号へと変換できる能率的な信号処理方法である。このようなことは、情報あるいは命令が、入力した言語を他の言語に翻訳する等の目的で、その入力した言語の意味に基づいた制御信号を生成するときに必要となる。この分野に関しては相当な量の研究が行なわれており、先行技術では、パーザとして知られるシステムが提案されている。しかし、このシステムは上述の要求を満たすものではなかった。
本発明の目的は効率的な信号処理方法及び装置を提供することである。この信号処理方法及び装置は、特に上述の目的に適用可能であるが、それらに限定されることはない。
発明の一様態では、本発明は入力信号に基づいて出力信号を生成する方法及び装置である。入力信号は、例えばある自然言語の単語や他の要素ユニットを表し、異なる複数のカテゴリに属するような信号である。出力信号は、入力信号から生じた第一の要素と、カテゴリから生じ、カテゴリ間の関係に基づいた第二の要素から成っている。
他の様態では、本発明は入力信号を処理する方法及び装置である。入力信号は、例えば、ある自然言語の単語や他の要素ユニットを表し、複数の異なるカテゴリに属するものである。各入力信号のカテゴリが決定され、前記カテゴリに基づきサーチデータが格納され、サーチデータは以前の信号に応じて格納され、入力信号とサーチ結果に基づいた出力信号が供給される。
入力信号がある自然言語の単語や他の要素を示す場合には、カテゴリは辞書的な分類（語彙範疇）でとなるであろう。
従って、本発明によれば、自然言語の単語列内の単語しか表さない入力信号を、その単語列の意味に基づく形の出力信号へ変換できる。
本発明は幅広く応用が可能であるが、発明が実際に使用される様子を示すために、スイッチ制御システムにおける一つの比較的単純な実施例を説明する。しかしながら、本発明がより複雑なシステムにも適用可能であることは理解されるであろう。
さらに、本発明は、例として以下の添付図面を参照して説明される。
図１は、建物の中の複数の異なる装置をオンオフ切り替えするための制御装置を示すブロック図である。この制御装置は操作者が切り替え命令を自然言語で入力できる発明の好適な実施例を具体化したものである。
図２は図１のシステムに含まれるコンピュータメモリの内容を示すブロック図であって、入力された自然言語より生じた信号を処理してその意味を表す信号を提供し、その信号より出力制御信号を生成するためのものである。
図３〜１５は本実施例の処理の理解に供される図であり、この処理では、複数の異なるカテゴリの単語から生じた信号を処理している。
本発明の好適な実施例は、発明の一応用例を説明するために図１の切り替え制御装置の一部として説明される。しかし、発明の理解を促すために比較的単純な切り替え制御装置が示されるのであって、本発明は、強力な、迅速かつ効率的な信号処理技術を提供して、様々に応用可能な、より大規模でより複雑なシステムの一部を成すことも可能である。
実施例の概略
図１の制御装置は、コンピュータシステム１００を備えており、コンピュータシステム１００はインタフェース１０２とネットワーク１０４を介して層を成すスイッチ１０６と接続している。これらのスイッチ１０６により、装置群１０８をオンオフ切り替えする。本実施例では、装置群１０８は、ある３階建の建物の各階に設置されたテレビカメラ、メインライト、バックアップライト、赤外線センサ、動きセンサ、フロントドアロック及びリアドアロックである。スイッチ１０６は２１個のスイッチから成り、それぞれＸ１〜Ｘ２１として識別される。スイッチＸ１〜Ｘ３はそれぞれ１〜３階の各階のテレビカメラＣ１〜Ｃ３を制御する。スイッチＸ４〜Ｘ６は各階のメインライトＬ１〜Ｌ３を制御する。スイッチＸ７〜Ｘ９は各階のバックアップライトＬ４〜Ｌ６を制御する。スイッチＸ１０〜Ｘ１２は各階の赤外線センサＳ１〜Ｓ３を制御する。スイッチＸ１３〜Ｘ１５は各階の動きセンサＳ４〜Ｓ６を制御する。スイッチＸ１６〜Ｘ１８は各階のフロントドアロックＤ１〜Ｄ３を制御する。スイッチＸ１９〜Ｘ２１は各階のリアドアロックＤ４〜Ｄ６を制御する。
コンピュータシステム１００は、処理部１１２と、システム動作を制御するプログラムやデータを格納し且つワークスペースを提供するメモリ１１４と、命令や情報を入力するための従来のキーボード１１６と、処理部１１２が出力する情報を表示したり印刷するための表示部（visual display unit）１１８やプリンタ１２０とを備えている。表示部１１８はテレビカメラＣ１〜Ｃ３より受信した画像を表示するようにしてもよいし、あるいは、別のモニタ（図示せず）をこの目的のために設けてもよい。必要であれば、表示部１１８（もしくは設置されればモニタ）に複数のカメラからの画像を同時に表示するために、そうした設備供給をすることが可能である。
コンピュータシステム１００は、システムの操作者がキーボード１１６を使用して、装置群１０８の操作命令を（この実施例では英語で）操作者自身が選択した自然言語の言葉で入力できるようになっている。メモリ１１４には処理部１１２のためのデータやプログラム格納されている。それらのデータやプログラムは、処理部１１２に、キーボード１１６から入力した命令を表す信号を処理させてアドレスＸ１〜Ｘ２１の形式の出力信号を生成するもので、この信号はアドレスされたスイッチがオンされるのかオフされるのかを示す。コンピュータシステム１００が生成する出力信号は、ここでは、Xn:onまたはXn:offの形で表現され、ｎはアドレス指定される単数あるいは複数のスイッチの番号を示している。これらの出力信号はインタフェース１０２に供給され、スイッチ１０６のアドレス指定されたスイッチを検出して応答するためにネットワーク１０４上に流される。
このシステムでは、操作者が自分の選択した言葉での命令の入力を可能とするために、同じ操作を実行させる命令でも複数の異なる形で入力することができる。例えば、３階のカメラＣ３をオンにする結果を生じる命令を、操作者は以下のいずれによっても入力することができる。
（１）“Activate the camera on the third floor”（３階のカメラをオンにせよ）
（２）“Observe the third floor”（３階を監視せよ）
（３）“Watch the people on the third floor”（３階の人を監視せよ）
所望の結果を得るためには、コンピュータシステム１００は、これら３つの異なる形の命令を表すところのキーボード１１６からの信号の異なる組み合わせを処理して、同一の出力信号X3:onを生成し、インタフェース１０２及びネットワーク１０４に出力しなければならない。実際には、以下に明らかになるように、この実施例では単語“observe”（監視する）と“watch”（監視する）とは対応する階のカメラをオンするばかりではなく、メインライトをもオンするようになっている。結果として、命令（２）、（３）の場合、コンピュータシステム１００から出力される信号はX3:onとX6:onである。
キーボード１０６からの命令信号の処理において、コンピュータシステム１００は次の２つの処理を行う。
１）第１の処理では１セットの信号が生成される。この信号は、第１には入力された単語に基き、第２には使用された言語の文法に関して単語間に存在する関係あるいはリンク（link、関連）に基づく。この１セットの信号は、入力された単語に起因する多義性にも基づくものであり、この結果、入力された単語からは異なる複数の解釈が可能となる。例えば、“activate the camera on the third floor”（３階のカメラを始動させよ）では、“camera”（カメラ）は“activate”（始動させる）によって始動させるべきカメラとして規定されている。また、始動させるべきカメラは他の階のカメラではなく３階のカメラなので、“third floor”（３階）も“camera”を規定している。図１の実施例の文脈では、命令“activate the camera on the third floor”の意図は、完全に明瞭であるが、言語学的分析を行なえば、この文では２つの別々の解釈が成立する。従って、この文は多義的である。この多義性は、句“on the third floor”が“camera”を規定する節“which is on the third floor”（３階にある）の縮約形とも取れたり、副詞句として動詞“activate”を修飾しているとも取れることから生じている。従って、この文の１つの可能な解釈は、始動させるべきカメラは、始動動作が何処で行なわれようと、３階のカメラである、というものになる。もう１つの可能な解釈は、始動動作は３階で行なわれるべきである、つまり、カメラの位置は規定されていないが、そのカメラをオンにするために３階のスイッチが入れられるべきである、というものである。上記に示すように、この時点で、コンピュータシステム１００は、入力された文の単語間の関係あるいはリンクを確立する際、多義的な文の異なる解釈を規定し保持する１セットの信号を提供するよう動作している。
２）第２の処理では、第１の処理で得られた１セットの信号がスイッチ群１０６及び装置群１０８に関するデータを有する知識ベースを参照して処理され、入力信号が表す命令が有効な命令かどうか、有効であればどのスイッチをオンにするかが決定される。入力した文中に多義性が存在すれば、異なる解釈を表す異なるセットの信号が生成される。そうした各セットは知識ベースに照らして処理され、いずれのセットが（従って入力された命令のいずれの可能な解釈が）有効であるかが決定される。有効な信号のセットが見つかれば、適当な単数あるいは複数の出力信号が生成されてネットワーク１０４上に流される。
図２は、上述の２つの処理を実行するために、メモリ１１４内に含まれるところの、ブロック形式のプログラムモジュールとテーブル状のデータ構造とを示すブロック図である。この図では、これらは、第１の処理を実行する入力信号処理部１２２と、第２の処理を実行する出力信号発生部１２４と、入力信号処理部１２２と出力信号発生部１２４間のインタフェース１２６とに分かれている。まず、入力信号処理部１２２とインタフェース１２６を説明し、次に出力信号発生部１２４を説明する。
入力信号処理部１２２
入力信号処理部１２２は、解析プログラムモジュール１２８を備えている。解析プログラムモジュール１２８は、入力バッファから各単語を順に入力して、最初にルックアップテーブル１３２を参照する。ここではテーブル１３２は辞書（lexicon語彙目録）と称される。ルックアップテーブル（辞書）１３２はキーボード１１６を介して入力する際に処理される全ての単語のリストを有し、それらの単語の文法的なカテゴリを規定する。つまり、それらの単語が名詞、前置詞、他動詞等のいずれであるかを規定する。本実施例では、辞書の語彙数は比較的少なく、少数のカテゴリの単語を使用するに過ぎない。しかし、入力信号処理部１２２は、多数の異なる用途に使用される汎用システムであることが望ましい。この目的のために、辞書は、好ましくは次のようなカテゴリの単語を含んでいる。
名詞（Nouns）
前置詞（Prepositions）
助動詞（Auxiliary verbs）
否定詞（Negation）
他動詞（Transitive verbs）
自動詞（Intransitive verbs）
限定詞（Determiners）
所有限定詞（Possessive determiners）
形容詞（Adjectives）
副詞（Adverbs）
強調詞（Intensifiers）
補助詞（Complementisers）
“To”（不定的小辞）は不定詞の一部として使われる。この不定詞のカテゴリとしては不定補助動詞となるが、ここではこれを“To動詞”（To verbs）と称する。To動詞はすなわち不定的補語節（例えば“I want to．．．”）を取る動詞のことである。
“Whose”は、カテゴリ自体としては正確には、“所有格の関係代名詞”（possessive relative pronoun）である。
上記のカテゴリは多くの応用が可能である。しかし、必要であれば他のカテゴリも適用することができる。
辞書１３２は、処理しようとする入力単語のカテゴリを示す情報（表示）を含むと共に、加えてその入力単語の各々の意味を示す情報（表現）も含む。各表現は、単数または複数の引数を有する述語形式を取り、引数の数は入力された単語のカテゴリに基づく。述語は、入力された単語自体の意味を出力信号発生部１２４に認識可能な形で表している。上記引数は、入力された単語間の関係または接続に基づく表現を引き出すための手段を提供する。
例えば、辞書１３２の内容は表１に示すようなものである。
0004227191.tif 000002
0004227191.tif 000003
0004227191.tif 000004
0004227191.tif 000005
0004227191.tif 000006
表１から明らかになるように、テーブルの左の欄は、キーボード１１６より入力されシステム１００により処理される単語のリストであり、中央の欄は各単語のカテゴリ、右の欄は入力された単語の意味が格納されている。辞書の語数は比較的少ないものであるが、図１のスイッチシステムを制御する操作者が通常は使用しないような単語もいくつか含まれている。辞書がこうした単語を含んでいるのは、本発明による信号処理部の汎用性を示すためである。このように、本発明によれば、もし都合がよければ語数の多い辞書を提供して、発明の特定の実施例を複数の異なる応用例で使用し、応用例の各々では共通の辞書の異なる部分を使用するよようにできる。
出力信号発生部１２４は辞書の第３欄に格納されている意味の表現を認識する。表１における意味の表現のいくつかの述語の名前が入力された単語と一致しているが、それは重要なことではなく、単に記述上の都合によるものである。このように、記述上便利な意味表現が実際に使用される。
また、入力された単語のいくつかは同じ意味表現で表されている。例えば、入力された単語“show”、“view”、“inspect”は皆“show（1,2,3）”として表現されている。これは本実施例では、異なる入力の単語に同一の意味を割り当て、出力信号発生部１２４において同一の効果を持たせるのに好都合な方法であるからである。
英語には上述のカテゴリに加えて、さらに他のカテゴリがある。例えば、表１には代名詞は示されていない。しかし、表１を参照すれば、本実施例で処理する代名詞は名詞として分類されていることがわかる。他の実施例において、上述のカテゴリの内いくつかだけを使用してもよいし、既に示されたように、上述した以上のカテゴリを使用してもよい。
入力された単語は各々入力バッファ１３０より解析モジュール１２８へ出力され、解析モジュール１２８は表１の左欄の単語を検索して同一の単語があるかどうか調べる。同一の単語があれば、対応する意味を第３欄より得て、その引数に固有の値を割当て、そして、その意味を引数に割り当てた上述の値と共にメモリエリア１３６のセクション１３４へ挿入する。セクション１３４は最初は空白となっており、上述のようにして、意味のリストを構築して行く。上述の引数の値は、１つの単語から次の単語へと、連続した数として割当られる。本実施例では、値は“９０１”より始まっている。ある最初の単語が名詞であるとすると、カテゴリはその意味において２つの引数を持つことになり、その単語の意味には９０１、９０２の値が割当られる。次の単語が他動詞であれば、カテゴリは３つの値を必要とするので、その単語の意味には９０３、９０４、９０５の値が割当られる。その次の単語が限定詞の時は、カテゴリは２つの値を必要とするので、その単語の意味には９０６、９０７が割り当てられる。
表１より、“activate the camera on the third floor”がキーボード１１６より入力された場合、テーブルＸとしてのセクション１３４には次のように意味が格納されることがわかる。
activate（901,902,903）
the（904,905）
camera（906,907）
on（908,909,910）
change-on（911,912）
the（913,914）
third（915,916）
floor（917,918）
“on”が辞書１３２において２つの意味をもつことから、“on（908,909,910）”という意味と“change-on（911,912）”という意味とが生じる。従ってこれらの可能な意味は各々処理が必要である。
上述の例では、辞書より得られた各単語の意味は、単一の述語を有している。しかしながら、表１によれば、入力された単語の内いくつかは２つ以上の述語を有し、述語は夫々引数を伴っている。複数の述語を持つ単語が処理される時、それら述語の全てがテーブルＸの現時点の意味セクション１３４に格納される。引数の値は、特定の入力単語に関するもののうち最後の述語を参照することによって定められ、連続値（それが存在するのであれば）における次の２つまたは３つの数を割当て、その入力単語に関連する他の述語の引数の値としては１または２等の数字で示される、当該入力単語に関するそれら以外の述語の引数と同一の値が与えられる。
このことは、“the machine turned his video on”（その機械は彼の（その）ビデオのスイッチを入れたという単語列）を検討すると理解できる。辞書の意味の欄において、各引数の割り当てられた値を伴う入力項目は次のように表示される。下記の左側は入力された単語であり、右側は意味及び引数である。
0004227191.tif 000007
いずれの言語でも、互いに修飾できる様々なカテゴリと、必要な意味を伝えるために話されたり書かれたりする言葉の語順とが、その言語の文法によって規定されている。例えば、英語では、形容詞は修飾先の名詞に先行する。副詞は、その副詞を修飾する動詞に先行したり後続したりする。名詞はそれを修飾する動詞の主語または目的語となる。名詞が他動詞の主語である場合、名詞は通常その動詞に先行する。名詞が他動詞の目的語である場合、その他動詞は通常その名詞に先行する。このようにして、他動詞は、主語となる先行する名詞と、目的語となる後続の名詞とを修飾する。形容詞により修飾され、他動詞の主語または目的語になる名詞は、その形容詞と他動詞の両方と接続している。このように、ある句、節、あるいは文が話されたり書かれたりすると、新しく登場する単語の各々は先行する単数または複数の単語を修飾したり、あるいはそれらの先行する単語に修飾されたりする。また、新しく登場した各単語には未来の単語、あるいはまだ書かれたり話されたりしていない単語を修飾したりそれらに修飾されたりする可能性もある。
一つの単語が他の単語を修飾したりその単語に修飾されたりする場合、２つの単語は、互いに接続している若しくは拘束されている、と称される。そして、１つの単語が別の単語を修飾し若しくは別の単語に修飾されているという状態を規定するところのデータあるいは信号は、リンク（link）あるいはバインディング（binding）として称される。本実施例では、これらのバインディングは等式の形で格納される。等式は、現時点の単語の意味として選択された引数の値と、その単語と修飾または被修飾関係にあるところの、先に入力された単語の意味として選択された引数の値とを一致させるものである。その現時点の単語が先行する単語を修飾している場合、現時点の単語の意味を示す選択された値は等式の左側に置かれ、先行する単語の意味を示す選択された値は等式の右側に置かれる。その現時点の単語が先行する単語に修飾されている場合は、現単語の意味を示す選択された値は等式の右側に置かれ、その先行単語の意味を示す選択された値は左側に置かれる。こうして、“the camera”を例に取ると、
905=906
というバインディングが成立する。これは、限定詞“the”が名詞“camera”を修飾しているからである。他の例として、“camera on”では、
909=907
というバインディングが成立する。これは、前置詞“on”が名詞“camera”を修飾しているからである。
入力信号処理部１２２はテーブル１３８を備えている。テーブル１３８は、現時点の単語と先行する単語のカテゴリ及びその言語の文法に基づいて現時点の単数または複数の単語の意味と先行する単数または複数の単語間の関係あるいはバインディングを確立するための命令を格納している。この処理は次のような手順を含んでいる。
ａ）現時点の単語のカテゴリに基づくサーチコードをメモリエリア１３６のサーチスペース１４０に格納する。そして、各サーチコードと共に、現時点の単語の意味を示す選択された引数の値も格納する。
ｂ）先行して格納されている単語または複数のサーチコードについて、１つもしくは２つの検索の成立するサーチコード（以下単に出現と称する）があるかどうか、サーチスペース１４０の検索を実行する。その検索は現時点の単語のカテゴリに基づいて行なわれる。
ｃ）検索が成功すると、検索で見つかった先行して格納されたサーチコードと共に格納された値と、現時点の単語の意味を示す選択された引数に割り当てられた値とを用いて、バインディングを規定し、メモリエリア１３６のセクション１４２に格納する。
ｄ）単語がいくつかの特定のカテゴリに属する場合、先行して格納されたいくつかのサーチコードをサーチスペース１４０から削除して、以降のサーチでこれらのサーチコードを検出しないようにする。
表２はテーブル１３８に格納された命令を示している。
0004227191.tif 000008
表２の第１欄にはカテゴリが格納されている。第２欄には第１欄のカテゴリの単語を処理する際に検索の対象となる、先行して格納されたサーチコードが格納されている。第３欄は検索が成功した場合にバインディングを形成するのに使用されるところの現時点の単語の意味の引数を示している。第４欄は、その引数が、バインディングを形成する等式の右側あるいは左側のどちらへ置かれるかを示している。これは、上述したように、現時点の処理対象の単語が、検索されたサーチコードに該当する先行の単語に修飾されているか、または先行の単語を修飾しているかどうかに基づくものである。第５欄には、現時点の単語を処理する際にサーチスペース１４０に格納されるサーチコードと、そのサーチコードと共に値が格納されている単語の引数とがリストされている。第６欄は、先行して格納されたサーチコードのうち、これらは現時点の単語の処理に応じて検索を行なった際にそのサーチコードが見つかった時にサーチスペースから削除すべきものを示している。第５欄に示すサーチコードと引数の格納は第２欄を参照して述べた検索および第６欄を参照して述べた削除の後で実行される。検索は最も新しく格納されたサーチコードから始まって古いものへと遡って行なわれる。現時点の単語を修飾するカテゴリに属する先行単語に対応して格納されたコードを検索する場合、そのサーチコードについて最初の出現が見つかった時点で、その検索は終了する。こうして、表２の第４欄の“R”は、バインディングがどちら側に記録されるかを表すだけではなく、そのコードの最初の出現が（つまり最後に格納された出現が）見つかった時点で検索が終了することも示している。現時点の単語があるカテゴリの先行する単語を修飾しており、その先行する単語に対応して格納されたコードを検索する場合、現在サーチスペース１４０内にある、そのコードの全出現を見つける。こうして、表２の第４欄の“L”は、バインディングを形成する方向に加えて、そのコードの全出現を検索すべきであることと、コードの各出現が見つかる毎にバインディングが行なわれるべきであるということとを示している。
各カテゴリの処理を表２と図３〜１５を参照して説明する。これにより、異なるカテゴリの単語が表２の命令に従って処理され、バインディングが確立される様子が理解されるであろう。各図において、太枠のブロックは現在処理している単語のカテゴリを示し、その下のブロックは現時点の単語を修飾または現時点の単語に修飾されている、以前に入力された単語のカテゴリを示している。その上のブロックは、現時点のカテゴリの単語を修飾するあるいは現時点の単語に修飾される、未来の単語のカテゴリを示している。また、ブロックの数字１、２、３はそれぞれのカテゴリに属する単語の意味の引数を示している。矢印はどの引数がバインディングを規定するのに用いられるかを示し、矢印の方向は現時点の単語が他のカテゴリの単語によって修飾されているか、またはそれらの単語を修飾しているかを示している。現時点の単語のカテゴリを指している矢印は、現時点の単語が他の単語によって修飾されていることを示している。現時点の単語のカテゴリから伸びている矢印は、現時点の単語が他の単語を修飾していることを示している。
図３〜１５より、現時点の単語が他のカテゴリの単語によって修飾されている場合（実施例の文法における小辞としての“to”、限定詞、所有限定詞、強調詞、のいずれも他のどのカテゴリの単語にも修飾されておらず、従って第１の引数が使用されない場合を除いて）に、全てのカテゴリの単語の意味の第１の引数が他のカテゴリとのバインディング生成に使用されることがわかる。さらに、いずれのカテゴリの単語の場合でも、現時点の単語が他の単語を修飾していることを示すバインディングを形成するのに、その意味の第１の引数が使用されることはない。本実施例の文法では他のカテゴリの単語に修飾されるのみで修飾をしない名詞を除いては、現時点の単語の意味の２番目及び３番目の引数が、現時点の単語が他の単語を修飾していることを示すバインディングを形成するのに使用される。図示の実施例では、前置詞、他動詞、あるいは“to動詞”が修飾されている場合は、その意味の第１の引数を使用してバインディングを形成し、その単語が先行あるいは後続の単数または複数の単語を修飾している場合は、２番目及び第３の引数を使用して独立したバインディングを形成する。各カテゴリの引数の数は、現時点の単語とそれが修飾している単語の間に独立したバインディングを設ける必要性を考慮して選択される。
上述より、さらに、図３〜１５における、現時点の単語カテゴリと先行単語カテゴリ間の矢印の方向は、該当する特定のコードの検索を、そのコードについての最初の出現が見つかった時点で終了すべきか、そのコードについての全出現が見つかるよう継続すべきかを示していることが理解されるであろう。現時点のカテゴリから以前のカテゴリを指している矢印は、現時点の単語がその先行する単語を修飾していることを示し、こうして検索が該当するコードの全出現が見つかるよう続けられることも示している。以前の単語のカテゴリから現時点の単語のカテゴリを指している矢印は、現時点の単語がその先行する単語に修飾されていることを示し、該当するコードについての最初の出現が（つまり最新に格納された出現が）見つかった時点で検索が終了することも示している。図３〜１５には、矢印が示している、バインディングを形成するために検索されるサーチコードが記されている。図中の各コードの記入位置は引数を示し、引数の値は各コードと共にサーチスペース１４０に格納されている。
名詞（nouns）−図３
本実施例の文法においては、名詞は、先行する限定詞、所有限定詞、形容詞、前置詞や他動詞によって修飾されるものである。このように、図３では、ブロック２００は名詞の意味とその引数とを示し、限定詞、所有限定詞、形容詞、前置詞、他動詞の意味をそれぞれ表すブロック２０２、２０４、２０６、２０８の上位に位置している。表２の第５欄に示すように、限定詞または所有限定詞を処理すると、コードはサーチスペース１４０へ格納される意味の第２の引数を伴った“dn”となる。形容詞を処理すると、コードはサーチスペース１４０へ格納される意味の第２の引数を伴った“an”となる。前置詞または他動詞を処理すると、コードはサーチスペース１４０へ格納される前置詞または他動詞の意味の第３の引数を伴った“obj”となる。こうして、ある名詞が処理されてその意味の１〜第３の引数に値を割当てると、表２の第２欄に格納された名詞に関する命令に示すように、サーチスペース１４０においてコード“dn”、“an”、“obj”の検索が行なわれる。
コード“dn”の検索が成功すると、表２の第３欄に示すような、名詞の意味の第１の引数を形成する変数と、サーチコード“dn”と共に格納されている変数との間にバインディングが形成される。後者の変数は、その名詞に先行して処理された限定詞あるいは所有限定詞の意味の第２の引数を形成する変数である。その名詞は限定詞または所有限定詞を修飾しているというより、むしろその限定詞に修飾されているため、表２の第４欄は名詞の意味の第１の引数を形成する変数がバインディングを表す等式の右側に位置すべきであることを示している。このことは図３の対応するバインディングを表す矢印２１０の方向によっても示されている。サーチスペース１４０にコードdnが複数個格納されている場合、検索は最初の出現が見つかった時点で終了する。既に説明したように、サーチスペース１４０に格納されたコードは、最後に挿入されたコードから古いものへと遡って行なわれ、いずれのサーチコードも複数個存在している場合には、最新に格納された出現を用いてバインディングを形成する。
名詞の処理ではコード“an”に対する２度目の検索が行なわれる。図３の矢印２１２と、表２の第３〜４欄の命令に示すように、検索が成功すると、名詞の意味の第２の引数を形成する変数と、コード“an”と関係する変数との間にバインディングが形成される。後者の変数は、形容詞の意味の第２の引数を形成する変数である。ここでも、矢印２１２の方向と表２の第４欄の“R”によって、名詞が形容詞によって修飾されており、検索がこの時点で終了することが示されている。
図３の矢印２１４は、名詞の処理で行なわれる３度目の検索、つまりコード“obj”の検索の結果形成されるバインディングを示している。図示のように、このコードは前置詞や他動詞の処理に対応してサーチスペース１４０に格納されている。しかし、この検索はサーチスペース１４０でコード“obj”についての最新の出現が見つかった時点で終了する。
このように、図３の下部から次のことが明らかである。つまり、名詞の処理では、３つまでのバインディングがメモリスペース１３６のセクション１４２に格納され、バインディングの１つは名詞の意味の第１の引数に割り当てられた変数と最後に入力された限定詞または所有限定詞（いずれが最後に入力された場合でも）の意味の第２の引数に割り当てられた変数との間に確立されたものである。バインディングの他の１つは、名詞の意味の第２の引数に与えられた変数と最後に入力された形容詞の意味の第２の引数に与えられた変数との間に確立されたものである。バインディングの残りの１つは、名詞の意味の第２の引数に与えられた変数と、最後に入力された前置詞あるいは最後に入力された他動詞のいずれか最後の方の単語の意味の第３の引数に与えられた変数との間に確立されたものである。
表２の第５欄は、名詞の処理においては、サーチコード“n”が、名詞の意味の第２の引数に割り当てられた変数と共に、サーチスペース１４０に格納されることを示している。表２の第２欄に示すように、コード“n”は前置詞、他動詞、“To動詞”、自動詞の処理において検索される。このように、処理の未来の段階で前置詞が入力された場合には、前置詞に対応して行なわれる検索でコード“n”が見つかり、従って、前置詞の意味の第２の引数に割り当てられた変数と、名詞の意味の第２の引数に割り当てられた変数との間にバインディングが形成される。同様に、未来の他動詞、“To動詞”、あるいは自動詞の意味の第２の引数と、名詞の意味の第２の引数との間にバインディングが形成される。図３の上部はこのことを示している。符号２１６、２１８、２２０、２２２はそれぞれ未来で処理される前置詞、自動詞、“To動詞”、他動詞を表すブロックを示している。矢印２２４はそうした未来の前置詞の意味の第２の引数と名詞の意味の第２の引数との間のバインディングを表し、前置詞が名詞を修飾しているということも表している。矢印２２６は、名詞２００の意味の第２の引数と、未来の自動詞の意味の第２の引数、未来の“To動詞”の意味の第２の引数、未来の他動詞の意味の第２の引数の、いずれか最初に入力されたものとの間に形成されたバインディングを示している。これらの動詞カテゴリの内、複数のカテゴリとバインディングが形成されることはあり得ない。それは、表２の第６欄に示すように、各動詞カテゴリにおいて、コード“n”が見つかった時点でこのコードはサーチスペース１４０から削除され、将来、コード“n”を用いたバインディングを形成することが禁止されるからである。このように、例えばある名詞の意味と未来の前置詞の意味との間及び同じ名詞の意味と未来の他動詞との間にバインディングが形成可能になるのは、前置詞がその他動詞より先に処理される場合であって、他動詞、“To動詞”、あるいは自動詞が前置詞より先に処理されると、名詞の意味と未来の前置詞の意味の間にバインディングを形成することは不可能であるということが理解できる。
これは、それらの動詞カテゴリでサーチスペースからコード“n”が削除されても、前置詞ではコード“n”の削除は行なわれないからである。
尚、図３は名詞と先に入力された単語カテゴリ間に形成されるバインディングに加えて、名詞の意味と未来の単語カテゴリ間のバインディングも示しているが、本発明の実施例では先行する単語の処理に応じて格納されたコードの検索のみを行なっている。
前置詞（Prepositions）−図４
実施例の文法に従って、前置詞は先行する前置詞、助動詞、否定詞、他動詞、“To動詞”、自動詞、名詞を修飾する。表１に示すように、前置詞の意味の引数は３個で、前置詞に対応してコード“p”、“v”、“n”の検索が行なわれる。表２の第５欄から明らかなように、コード“p”は先行する前置詞の処理に応じて、その意味の第１の引数に割り当てられた変数と共にスペース１４０に格納される。コード“v”は、先行する助動詞、否定詞、他動詞、“To動詞”、自動詞のいずれかの処理に応じて、意味の第１の引数に割り当てられた変数と共に格納される。コード“n”は先行して処理されたいずれかの名詞に応じて、その意味の第２の引数に割り当てられた変数と共に格納される。
矢印２２８は、現時点の前置詞の意味の第２の引数に割り当てられた変数と先行する前置詞の意味の第１の引数に割り当てられた変数とを用いて、現時点の前置詞が先行する前置詞を修飾していることを示すバインディングを規定することを示す。そうしたバインディングは現時点の前置詞の処理におけるコード“p”の検索の結果として確立されたものである。矢印２３０は、前置詞の意味の第２の引数に割り当てられた変数が、先行する助動詞、否定詞、他動詞、“To動詞”、自動詞のいずれかの意味の第１の引数と共に、それらのカテゴリの意味とのバインディングを規定するのに用いられることを示す。矢印２３２は、現在処理中の前置詞の意味の第２の引数に割り当てられた変数が、先行する名詞の意味の第２の引数に割り当てられた変数とのバインディングを規定するために用いられることを示している。
上述から明らかなように、前置詞の処理において、サーチスペースにおいてコード“p”、“v”、“n”の全出現が見つかるように、これらのコードの検索が行なわれ、それらの全部とのバインディングが形成される。
後述される例１を検討するとよりよく理解されるように、矢印２２８、２３０、２３２に表されるバインディングは、もし２つ以上同時に成立すれば、多義性を表すことになる。
表２の第２欄における前置詞に関する命令に示されるように、前置詞の処理においてコード“dn”の検索も行なわれる。しかし、サーチコードが検出された場合でも、バインディングは形成されない。ただし、表２の第６欄に示されるように、コード“dn”は削除される。これにより、名詞と先行する限定詞との間に前置詞が存在する場合に、名詞と限定詞の変数の間にバインディングが形成されることを避けている。
表２の第５欄における前置詞の処理のための命令に示されるように、前置詞が処理される時、現時点の前置詞の意味の第１の引数に割り当てられた値を伴うコード“p”と、現時点の前置詞の第３の引数に割り当てられた値を伴うコード“obj”とがサーチスペース１４０へ格納される。図４の矢印２３４は、未来の名詞の処理に応じて行なわれる検索で、コード“obj”が見つかり、前置詞の意味の第３の引数に割り当てられた値と未来の名詞の意味の第２の引数に割り当てられた値との間にバインディングが形成されることを示している。矢印２３４はこのように図３の矢印２１４と一致する。
図４の矢印２３６は、ある未来の前置詞に応じた検索に対応する検索でコード“p”が見つかった場合、現時点の前置詞の意味の第１の引数に割り当てられた変数と、未来の前置詞の意味の第２の引数に割り当てられた変数との間にバインディングが形成されることを示している。矢印２３４はその前置詞が未来の名詞を修飾することを表している。矢印２３６は、現時点の前置詞が未来の前置詞によって修飾されることを表している。矢印２３６も図４の矢印２２８に一致している。
表２と図３〜４とを参照して、名詞と前置詞の処理を詳細に述べてきたので、他のカテゴリの単語の処理は表２と図５〜１５を考慮すれば直ちに理解されるであろう。従って、残りのカテゴリの処理に関しては簡単に説明する。
助動詞（Auxiliary Verbs）−図５
図５および表２からわかるように、助動詞の処理ではコード“auxv”の検索が始められる。サーチスペース１４０にこのコードが格納されている単語の唯一のカテゴリが助動詞である。矢印２４０は、現時点の助動詞の処理で開始した検索で、このコードが見つかった場合、先行する助動詞の意味の第２の引数と現時点の助動詞の意味の第１の引数との間にバインディングが形成されること、また、現時点の助動詞が先行の助動詞によって修飾されていることを表している。検索は、“auxv”の最初の出現が見つかった時点で（最後に格納された出現が見つかった時点で）終了する。
表２の第６欄からわかるように、助動詞の処理においては、サーチスペースからサーチコードが削除されることはない。
助動詞の処理においては、それぞれ第１、第２の意味の引数を持つコード“v”と“auxv”がサーチスペース１４０に格納される。
副詞、単語“to”、否定詞、前置詞の処理では、いずれもコード“v”の検索が行なわれる。図５の矢印２４２、２４４、２４６、２４８は、未来の副詞、“to”、否定詞、前置詞の意味の第２の引数と現時点の助動詞の第１の引数との間にバインディングが形成されることを示している。図５のこれらの矢印の方向は現時点の助動詞がそうした未来の単語によって修飾されることを示している。
図５の矢印２５０、２５２、２５４、２５６は、未来のコード“auxv”の検索の結果、現時点の助動詞の意味の第２の引数と未来の自動詞、“To動詞”、他動詞、助動詞の第１の引数との間にバインディングが形成されることを示している。バインディングに使用される未来の単語カテゴリの意味の引数は表２及び図５から明らかになるであろう。
２４２〜２５６の８本の矢印は８個のバインディングの可能性を示しているが、実際には、例えば現時点の助動詞に、それを修飾する、またはその助動詞に修飾されるいくつかのカテゴリの単語が続いたとしても、ほんの１つか、あるいは少数のバインディングしか成立しないことが理解されるであろう。形成されるバインディングの数は、未来の単語の順序や、それらの単語に対応した検索が、該当するサーチコードが見つかった時点で直ちに終了するかどうか、さらに、そうした未来の単語の処理において該当するコードが削除されるかどうかに依存している。
例えば、未来の助動詞が現時点の助動詞に直接続いているか、ある位置で後続している場合は、現時点の助動詞の処理に応じて格納されるコード“auxv”が、後続の助動詞の処理に応じて削除され、２番目の助動詞に続く他動詞、“To動詞”、自動詞のいずれの処理においても、バインディングが最初の助動詞とではなく、２番目の助動詞との間に形成されるようにする。
否定詞（negation）−図６
否定詞の処理では、サーチスペース１４０においてコード“v”の検索だけが行なわれる。このコードは、助動詞、否定詞、他動詞、“To動詞”、自動詞の処理に応じて格納される。図６の矢印２５８は現時点の否定詞の処理に応じて形成されるバインディングの可能性を示している。検索はこのコードの全出現が見つかるように続けられ、それらに相当するバインディングが形成される。
否定詞の処理ではコード“v”が（意味の第１の引数と共に）サーチスペース１４０に格納される。前置詞、否定詞、“to”、副詞の処理においてコード“v”の検索が行なわれる。図６では、矢印２６０、２６２、２６４、２６６が、否定詞の処理の後で形成される未来のバインディングを示している。既に示したように、矢印２５８〜２６６の方向は修飾されている単語カテゴリを示している。
“To”（不定詞の小辞Infinitival Particle）−図７
単語“to”（前置詞ではなく、不定詞の小辞）の処理では、コード“v”の検索が行なわれる。このコードを格納している単語カテゴリは、図６の説明の中で示した通りである。図７では、矢印２６８はコード“v”の全出現が見つかるように検索が続けられ、それに対応するバインディングが形成されることを示している。“to”の処理に応じて何らかのコードがサーチスペース１４０に格納されることはない。
他動詞（Transitive Verbs）−図８
矢印２７０は、現時点の他動詞の処理に応じて行なわれるコード“av”の検索結果として、先行する副詞の意味と現時点の他動詞との間に形成されるバインディングを示している。コード“av”の検索は該当コードの最新の出現が見つかった時点で終了する。矢印２７２は、コード“auxv”の検索結果として先行する助動詞と現時点の他動詞との間に形成されるバインディングを示している。コード“auxv”の検索は該当コードの最新の出現が見つかった時点で終了する。矢印２７４は、現時点の他動詞の処理に応じて行なわれるコード“n”の検索の結果として、先行する名詞あるいは先行する“To動詞”との間に形成されるバインディングを示している。コード“n”の検索は該当コードの全出現が見つかるまで続き、適当なバインディングが形成される。各該当コード“n”は見つかる毎にサーチスペース１４０より削除される。
矢印２７６は、未来の名詞の処理において行なわれるコード“n”の検索結果として、現時点の他動詞の意味と未来の名詞の意味との間に形成され得る未来のバインディングを示している。矢印２７８、２８０、２８２、２８４は、他動詞の処理に応じて格納されるコード“v”に対して未来の前置詞、否定詞、“to”、副詞の処理で行なわれる検索の結果として、これらの単語の意味と現時点の他動詞の意味との間に形成されるバインディングを示している。上述の説明で明らかなように、複数のバインディングが形成されるかどうかは、未来の単語カテゴリの順序に依存している。
“To動詞”（To Verbs）−図９
矢印２８４、２８６はそれぞれ、現時点の“To動詞”の処理と、それに応じたコード“av”、“auxv”の検索の結果として形成されるバインディングを示している。コード“av”の検索は該当コードの最新の出現が見つかった時点で終了する。コード“auxv”の検索も同様に終了する。矢印２８８は現時点の“To動詞”の処理に応じて行なわれるコード“n”の検索結果として形成されるバインディングを示している。コード“n”の検索は該当コードの全出現が見つかるまで継続され、適当なバインディングが形成される。見つかった各コード“n”は削除される。
“To動詞”の処理によりコード“v”、“n”がサーチスペース１４０に格納される。矢印２９０、２９２、２９４、２９６は、前置詞、否定詞、“to”、副詞の処理に応じたコード“v”の検索結果として将来形成されるバインディングを示している。矢印２９８、３００、３０２は未来の他動詞、“To動詞”、あるいは自動詞が処理される際のコード“n”の検索結果として将来形成されるバインディングを示している。
自動詞（Intransitive Verbs）−図１０
矢印３０４、３０６、３０８は、現時点の自動詞の処理と対応するコード“av”、“auxv”、“n”の検索の結果、形成されるバインディングをそれぞれ示している。これらのコードの検索は他動詞及び“To動詞”の処理に関する検索で説明されたのと同様に行なわれる。また、同様にコード“n”の削除も行なわれる。
自動詞の処理によりコード“v”がサーチスペース１４０に格納される。矢印３１０、３１２、３１４、３１６は、前置詞、否定詞、“To”、副詞の処理に応じて行なわれるコード“v”の検索の結果として将来形成されるバインディングを示している。
限定詞（Determiners）−図１１
図１１において、点線枠のブロック３１８は、限定詞が処理される際にはサーチスペース１４０の検索は行なわれないこと、従って先行する単語の意味とのバインディングは形成されず、いずれのサーチコードもサーチスペース１４０から削除されないということを表している。
限定詞の処理によりコード“dn”がサーチスペース１４０に格納される。図１１の矢印３２０は、名詞の処理の際に行なわれるこのコードの検索結果に形成される可能性のあるバインディングを示している。
所有限定詞（Possesive Determiners）−図１２
所有限定詞は本実施例では限定詞と同様に処理される。従って、図１２の符号３１８，３２０は図１１のそれと同じバインディングを示している。
形容詞（Adjectives）−図１３
矢印３２２は、形容詞の処理の際に行なわれるコード“aa”の検索の結果として、現時点の形容詞の意味と先行する強調詞の意味との間に形成されるバインディングを示している。表２から明らかなように、検索が成功した場合、その後コード“aa”はサーチスペースから削除されて、さらに未来の形容詞または未来の副詞が処理されたとしても、このコードとのバインディングが形成されないようにする。検索はコード“aa”の最新の出現が見つかった時点で終了する。形容詞の処理によりコード“an”がサーチスペース１４０に格納される。図１３の矢印３２４は、現在に形容詞の意味と、将来処理される名詞の意味との間に形成される可能性のあるバインディングを示している。
副詞（Adverbs）−図１４
図１４の矢印３２６、３２８は、現時点の副詞の処理に応じて行なわれるコード“aa”、“v”の検索結果として現時点の副詞の意味と先行する単語の意味との間に形成されるバインディングを示している。コード“aa”の検索が成功すると、表２に示すように、このコードは削除される。検索はコード“aa”の最新の出現が見つかった時点で終了する。コード“v”の検索は全該当コードが検出され、バインディングが形成されるまで続けられる。コード“v”が見つかっても、このコードがサーチスペースから削除されることはない。
副詞の処理によりコード“av”がサーチスペース１４０に格納される。矢印３３０、３３２、３３４は、未来の異なるカテゴリの単語の処理で行なわれるこのコードの検索の結果で形成される可能性のあるバインディングを示している。
強調詞（Intensifiers）−図１５
点線枠のブロック３３６は、強調詞が処理される際はサーチスペース１４０の検索は行なわれずに、いずれのコードもサーチスペース１４０から削除されないことを示している。強調詞の処理ではコード“aa”がサーチスペース１４０に格納される。図１５の矢印３３８、３４０は、未来の形容詞または副詞の処理の際に形成される可能性のあるバインディングを示している。既に述べたように、これらのカテゴリの処理のいずれにおいても、コード“aa”が見つかると削除され、１個のバインディングのみが形成されるようになっている。
複数の述語を有した意味
表２と、図３〜１５を参照して述べてきた説明では、意味が複数の述語を有している単語については扱われなかった。そうした意味の処理方法は、各図の太枠のブロックを参照して理解されるであろう。こうしたブロックはは該当する意味の複数の述語のなかの最後の１つを表している。このように、例えば表１に示すように、単語“turned”の意味は次の通りである。
past（_,1）
turn（1,2,3）
“turned”は他動詞“turn”の過去形である。“turned”の意味に対する述語の最後の１つは“turn（1,2,3）”であり、表２及び図８に示す他動詞の引数の数は述語“turn（1,2,3）の引数に適用されていると見なされるべきである。辞書の説明で前述した通り、述語“past（_,1）”の第２の引数に“１”が挿入されることにより、この引数に割り当てられた値が述語“turn（1,2,3）”の第１の引数に割り当てられた値と等しくなることを示している。これは複数の述語の意味を持つ他のカテゴリの単語にもあてはまる。
多義性
本発明の実施例は多義性に対処することができる。ここで扱われる多義性とは、文、節、句の中に、文法により、他の複数の単語と関係していると見られる単語が含まれており、複数のの解釈が生じる場合に生じるものを指している。いくつかのケースでは、多義性のリンクは文、節、句のうち、特定の単語と複数の先行する単語との間に見られる。他のケースでは、文、節、句のうち、特定の単語と複数の後続の単語との間に多義性のリンクが見られる。前述の命令“activate the camera on the third floor”の説明が前者の多義性の例に相当する。つまり、“on”が“activate”あるいは“camera”と多義的にリンクされるのである。後者の多義性の例として“activate the third camera switch”が考えられる。この文は、“third”が名詞“switch”を修飾していると見なして、その結果“activate the third switch of the camera”（カメラの第３スイッチをオンにせよ）と読むことが可能である。あるいは、形容詞“third”が“camera”と接続しているか、“camera”を修飾していると見なすことも可能である。この場合は“activate the switch of the third camera”（第３カメラのスイッチをオンにせよ）という解釈が可能である。このように、文や、文の１部を成す節、句において、ある単語が先行する単語を多義的に修飾したり、ある単語が後続の単語を多義的に修飾するのである。さらに、複数の単語と明白にリンクされる単語も存在する。例えば、“the switch controls the camera”（スイッチはカメラを制御する）という文では、明らかに他動詞“controls”が動詞の主語である名詞“switch”と、動詞の目的語である名詞“camera”の両方を修飾している。
上述のバインディングは許容される多義性を規定するために用いられるものである。特に、“activate the camera on the third floor”と表２の考察から、次のバインディングが他動詞“activate”の意味と前置詞“on”との間のリンクを規定していることがわかる。
909=901
また、次のバインディングが名詞“camera”の意味と前置詞“on”の意味との間のリンクを規定していることもわかる。
909=907
このように、これらの２つのバインディングは多義性を表している。“on”に属する数値９０９が、一方では“activate”に属する数値９０１と、他方では“camera”に属する数値９０７と等式で結ばれているからである。説明の都合上、多義的なリンクを参照するバインディングを次のように表す。
909=907,901
いくつかの単語は他の複数の単語を多義的に修飾することができるので、多義的バインディングと多義的でない（unambiguos）バインディングとを区別する必要がある。実施例では、この区別を、多義性から生じる複数のバインディングの共通の引数をバインディングの左側へ記録し、その一方で、バインディングの右側の共通引数（存在した場合は）が多義性がないことを表すようにすることにより、行なっている。上述の２つのバインディング909=901と909=907がこのルール（convention）の例である。本発明に従ってシステムを考案すると、使用する文法においてどのカテゴリの単語が他のカテゴリの単語と修飾または被修飾関係にあるかを決定し、適当な数の引数を単語の意味に割当て、テーブル１３８の命令を形成することができる。テーブルでは、不都合な多義性は排除され、望ましい多義性が保持され、規定されている。
例１
以下は解析プログラムモジュール１２８とテーブルＸの動作をより詳細に説明する例である。
この例では、辞書は表１に示す通りであり、テーブル１３８は添付の表２に示すデータを有していることを前提とする。入力される単語に当てられる識別番号は９０１から始まるものとする。次の入力された文
“activate the camera on the third floor”
の処理方法は、入力バッファ１３０と、テーブルＸのセクション１３４、１４０、１４２が予めクリアされていることを前提として説明される。また、コンピュータ１００では、キーボード１１６を介して入力された文字が入力バッファ１３０へ格納されており、解析モジュール１２８による単語の解析はキーボード上の通常のスペースバーを打つことにより起動されるものとする。
単語はキーボード１１６より、“activate”から始まり“floor”で終わる文の形で入力される。スペースバーが押されると、解析モジュール１２８は最初の単語“activate”を取り出し、辞書１３２にアクセスし、相当する意味を現時点の意味を格納するためのセクション１３４へ“activate（901,902,903）”の形で格納する。
解析モジュール１２８はテーブル１３８にもアクセスしてその他動詞を処理するための命令を得る。表２の第３欄はサーチスペース１４０で検索が３度行なわれることを示している。つまり、サーチコード“av”、“auxv”、“n”による３度の検索である。しかし、サーチスペース１４０が空白であるため、動詞“activate”は最初に入力された単語となる。表２の第４欄は、サーチコード“v”が他動詞の意味の第１の引数に割り当てられた値と関連付けられ、サーチコード“obj”が他動詞の意味の第３の引数に関連付けられること、そして、前述のサーチが行なわれた後でこれらのサーチコード及び関連付けられた値がサーチスペース１４０に格納されることを示している。こうして、検索が完了すると、解析モジュール１２８はデータ“v/901”と“obj/903”とをサーチスペース１４０へ格納する。表２の第５欄は、サーチコード“obj”が見つかると、その時点で見つかったサーチコードおよび関連する値がサーチスペース１４０から削除されることを示している。この時のテーブルＸの内容は次の通りである。
0004227191.tif 000009
“activate”に関する上述のステップが完了すると、次に解析モジュール１２８は“the”を処理する。辞書１３２がアクセスされて意味が得られる。表１より、限定詞には２つ引数があり、解析モジュール１２８は、これらの引数に次の２つの番号９０４、９０５を連続する値として割当てることがわかる。このように、データ“the（904,905）”がテーブルＸの現時点の意味のセクション１３４に挿入される。
また、解析モジュール１２８はテーブル１３８（表２）にもアクセスする。表２は、限定詞の処理の際に先行するサーチコードの検索がサーチスペース１４０で行なわれないことを示している。しかし、表２の第４欄は、サーチコード“dn”が限定詞“the”の意味の第２の引数に割り当てられた値と共に、サーチスペース１４０に格納されるべきであることを示している。こうして、解析モジュール１２８はデータ“dn/905”をサーチスペース１４０に格納する。表２の第５欄に限定詞に関するコードが存在しないのは、限定詞が入力されてもいずれのコードもサーチスペース１４０から削除されないことを意味している。この時のテーブルＸの内容は次の通りである。
0004227191.tif 000010
解析モジュール１２８は次に“camera”を処理する。辞書１３２がアクセスされ、“camera”の意味が得られる。辞書１３２は“camera”が名詞であることと、名詞の意味には２つの引数が有ることを示している。従って解析モジュール１２８は次の２つの識別番号９０６、９０７を“camera”の意味の第１、第２の引数にそれぞれ割当て、データ“camera（906,907）”をテーブルＸの現時点の意味のセクション１３４へ格納する。表２の第２欄は名詞の処理の際にサーチスペース１４０の検索が３度行なわれることを示している。最初の検索はコード“dn”に対するものである。限定詞“the”の処理の際にデータ“dn/905”がサーチスペース１４０に挿入されているので、この検索は、解析モジュール１２８が、結果として“the”の意味と“camera”の意味とのリンクが規定され得るためのコードを突き止めることができる。
このリンクは、テーブルＸのセクション１４２にバインディング905=906を格納することにより規定される。表２のデータに示すように、このバインディングは、限定詞の意味の第２の引数の値（905）を、名詞の意味の第１の引数の値（906）と等式で結ぶことにより形成される。Ｒは名詞の意味の引数がバインディングを形成する等式の右側に置かれることを意味している。コード“dn”が見つかった検索はここで終了し、他に先行するコード“dn”が見つかったとしても、それに基づく処理が行なわれないようにする。
名詞“camera”の入力に伴う２度目のサーチスペース１４０の検索はサーチコード“an”に対して行なわれる。この例では、サーチスペース１４０にはこのコードが以前に挿入されていないので、これ以上の処理へは進まない。
名詞“camera”に関する３度目のサーチスペースの検索はサーチコード“obj”に対して行なわれる。他動詞“activate”が入力された時、データ“obj/903”がサーチスペース１４０に挿入されているので、このコードが見つかる。解析モジュール１２８はバインディング903=907をテーブルＸのセクション１４２に挿入する。検索はここで終了する。
従って、この時のテーブルＸの内容は次のようになっている。
0004227191.tif 000011
次に処理される単語は“on”である。解析モジュール１２８は辞書１３２にアクセスする。辞書には“on”の意味は２通りあり、この２通りの意味が処理される。解析モジュール１２８は、辞書に複数存在する意味の単語を逆の順序で処理するようになっている。
辞書で２番目に現われる“on”は前置詞としてのもので、その意味は“on（1,2,3）”として現わされている。解析モジュール１２８はデータ“on（908,909,910）”をテーブルＸの現時点の意味のセクション１３４へ格納する。
次に、解析モジュール１２８は表２の前置詞に対する４度の検索の内の最初の１回を行う。つまり、サーチスペース１４０におけるサーチコード“p”の検索である。この例では、このサーチコードは、先行するいずれの単語の処理の結果としてもサーチスペース１４０に挿入されてはいない。
従って、２度目の検索がサーチコード“v”に対して行なわれる。他動詞“activate”の処理の際にデータ“v/901”がサーチスペース１４０に挿入されているので、サーチコード“v”が見つかる。解析モジュール１２８は、テーブルＸのセクション１４２にバインディング909=901を挿入することにより、他動詞“activate”の意味と“on”の意味の間にリンクを規定する。“on”が前置詞である場合に行なわれるサーチスペース１４０の３度目の検索はサーチコード“n”に対して行なわれる。この検索では、名詞“camera”の処理の時にサーチスペースに挿入されたデータ“n/907”が見つかる。解析モジュール１２８は、“on”が“camera”と“activate”のどちらかを修飾していると認識する。既に説明したように、言語学的解析では、処理されている文は１つの多義性を含んでいるので、言語学的には、これらの可能性のどちらも正しい修飾関係である。こうして、この時点で、先に挿入されたバインディング909=901が909=907,901に修正されて、将来の処理で解決される多義性が保持される。
４度目の検索がコード“on”に対して行なわれる。この検索ではデータ“dn/905”が見つかる。しかし、表２には、バインディングが形成されないようにする意味で、“x”と表された命令が格納されている。“x”は、処理の間、引数に割り当てられるどの値とも異なるものであり、表２は、データ“dn/905”がこの時点ではサーチスペースから削除されるべきであることを示している。従って、この時のテーブルＸの内容は次の通りとなる。
0004227191.tif 000012
上述の“on”の処理はこの単語が前置詞であるという辞書の項目に基づいている。解析モジュール１２８は上述の処理を完了してから、次に、“on”の別の登録、即ち副詞としての“on”の処理を行う。
前述のテーブルを考慮し且つ解析モジュール１２８の動作の説明から、“on”を副詞とした場合の処理が完了すると、テーブルＸの内容は次のようになっていると推定できる。
0004227191.tif 000013
このように、この時点までの処理では、前置詞としての“on”が“camera”を修飾していると読むか“activate”を修飾していると読むかで生じる多義性を記録し保持するばかりでなく、“on”が前置詞ではなく、“activate”のみを修飾する副詞であるという事実も記録する。本発明の重要な特徴は、多量のメモリスペースを必要とすることなく、こうした可能性の全てがこの段階で保持されているという点にある。
上述のように“on”が処理されると、次の“the”が処理される。上述の説明やテーブルから、“the”の処理が完了すると、テーブルＸの内容は次のようになっていると推定できる。
0004227191.tif 000014
これにより、“the”の処理の結果データ“dn/914”がサーチスペースに追加されても、新しいバインディングは格納されていないことがわかる。これは、既に説明したように、限定詞の処理ではサーチスペースの検索が行なわれないからである。
“third”の処理では、上述の説明とテーブルから推定できるように、テーブルＸの内容は次のようになっている。
0004227191.tif 000015
“third”はこの文法では形容詞として扱われているので、ここでも検索はおこなわれず、バインディングのリストに変化はない。しかし、形容詞の処理では、サーチスペースに適当な値を伴ったサーチコードが挿入される。
文の最後の単語“floor”を処理すると、テーブルＸの内容は次のようになる。
完成したテーブルＸ
0004227191.tif 000016
これより、“floor”を処理した結果、スペース１３６のバインディング用セクション１４８には３つのバインディングが追加されたことがわかる。これで、文“activate the camera on the third floor”に関するテーブルＸ形成が完了する。
バインディングのリストにおけるバインディングの発生を要約すると次のようになる。
１）バインデイング905=906が、入力された文中で最初に登場する限定詞“the”と名詞“camera”の間の文法的なリンクの結果として定義された。
２）バインディング903=907が、入力された文中の他動詞“activate”と名詞“camera”との間の文法的なリンクの結果として定義された。
３）多義性を表すバインディング909=906,901が、入力された文中の、前置詞と考えた場合の“on”と、“camera”とのリンク並びに“activate”とのリンクという多義的なリンクの結果として定義された。
４）バインディング912=901が、入力された文中の、副詞と考えた場合の“on”と他動詞“activate”との、文法的に可能なリンクの結果として定義された。
５）バインディング914=917が、入力された文で２度目に登場する限定詞“the”と名詞“floor”との文法的なリンクの結果として定義された。
６）バインディング916=918が、入力された文中の形容詞“third”と名詞“floor”との間の文法的なリンクの結果として定義された。
７）バインディング910=918が、入力された文中の前置詞と考えた場合の“on”と名詞“floor”との文法的なリンクの結果として定義された。
バインディングの実行
このステップの目的は、テーブルＸに形成されたデータを、これまで示して来たように単語の意味（引数を含む）が、意味間のリンクを規定するバインディングとは別にリストにされた形式から、意味の引数がリンクを示し、しかも多義性を確実に保持している形式へと変換することである。この目的を達成するために、解析モジュール１２８は各バインディングを順に取り出し、バインディングが多義性を示していない場合は、先ず、現時点の意味のセクション１３４内の対応する値を単一化する。これは、そのバインディングの右辺に存する現時点の意味のリストにそのバインディングの左辺の値と同じ値を持たせることによって行なわれる。さらに、解析モジュール１２８は、現在実行中のバインディングの右側の値と同じ値を持つバインディングが有るかどうか、セクション１４２の残りのバインディングを検索して、そうしたバインディングの値を現在実行中のバインディングの左側の値と同じ値に変える。言い換えると、例えばバインディング
a=b
が実行されている場合、現時点の意味のセクション１３４における全ての値“b”と残りのバインディングが値“a”に変えられる。
解析モジュール１２８は、多義性を示すバインディングを除いては同一の方法で残りのバインディングを１つずつ実行する。この過程は上述の例１のバインディングの実行を考慮すれば十分に理解されるであろう。
このように、テーブルＸが前述のようにして完成された時点から例１の説明を続けると、バインディングを実行するために、解析モジュール１２８は、セクション１４２から最初のバインディングを取り出す。これは上述の例では905=906である。解析モジュール１２８は、現時点の意味のセクション１３４における値“906”のいかなるものも値“905”に変更する。このように、上述の例では、現時点の意味セクションはデータ“camera（906,907）”を含んでいるが、このデータは“camera（905,907）”に変更される。
さらに、解析モジュール１２８はバインディングのリストの残りを検索する（この例ではバインディング903=907から始まってリストの末尾まで行なわれる）。バインディングにはもはや値906は出て来ないので、この段階ではリストに変更はない。リストの最初のバインディングの処理が完了すると、そのバインディングは放棄される。こうして、この時点におけるテーブルＸの現時点の意味のセクション１３４とバインディングのセクション１４２の内容は次のようになっている。
0004227191.tif 000017
このような方法でリストの最初のバインディングを処理した後、解析モジュール１２８は次のバインディング903=907を同じ方法で処理する。この処理では、最初に現時点の意味のセクション１３４内のデータ“camera（905,907）”が“camera（905,903）”に変更される。現時点の意味のセクション１３４には他のバインディング907は出ないので、解析モジュール１２８は未処理のバインディングにおける値907と値903の単一化を行う。つまり、バインディング909=907,901から処理を始めるが、この値は909=903,901に変更される。２番目のバインディングの処理の後、このバインディングは放棄される。テーブルＸの現時点の意味のセクションとバインディングのセクションの内容は次のようになる。
0004227191.tif 000018
リストの次のバインディングは909=903,901（処理前のバインディングリストでは909=907,901）で、このバインディングは多義性を表している。多義性を表すバインディングは処理されず、リスト中に保持されるのみであり、リストの後続のバインディングの実行から生じる新たな単一化の対象となる。
従って解析モジュール１２８はリストの次のバインディング912=901を取り出して、上述のように現時点の意味リストとバインディングリストの両方の単一化を行う。そして、このバインディングをバインディングリストから削除する。この結果、テーブルＸの現時点の意味のセクションとバインディングのセクションは次のようになる。
0004227191.tif 000019
残りの３つのバインディング914=917、916=918、910=918を上述のように順に処理した後、テーブルＸの現時点の意味のセクションとバインディングのセクションは次のようになる。
0004227191.tif 000020
この時点でバインディングの実行が完了し、テーブルＸのバインディングのセクションと現時点の意味のセクションの内容がテーブルＡへ転送される。このテーブルは、リンクを規定するように単一化された識別番号を持つ現時点の意味と、多義性を示すバインディングによって表される多義性のリストとを、次のように有することになる。
0004227191.tif 000021
処理の補足的な変更（Incrementality）
上記の説明から、処理を始める前に句、節、文等といったグループの単語が全て入力されるのを待たねばならないということなく、各単語が入力されるそばから解析モジュール１２８により処理されることが理解できる。この時点までは、上述の説明は、各単語はスペースバーの押下に応じて入力バッファ１３０より読み出されるという前提に基づいていた。また、この時点までは、処理は、最初は現時点の意味セクション１３４に意味のリストを形成し、メモリエリア１３６のセクション１４２にバインディングのリストを形成し、次に、バインディングを実行するという前提に基づいて説明されてきた。また、これらの２つの処理が完了するまでは後続の処理は行なわれないことを前提にしていた。本発明では、この実施例をこうした方法で行うようにするのが実際的である、インタフェース１２６に含まれるダイアログマネージャ１６０は、スペースバーの押下に応じて、解析モジュール１２８に入力バッファ１３０よりの次の単語を得させる手段であることが好ましい。また、ダイアログマネージャ１６０はリターンキー及び／またはフルストップ（ピリオド）キーに応じて、意味や多義性をメモリエリア１３６からテーブル１４４へ転送し、この後で新たな単語のグループの処理に備えてメモリエリア１３６がクリアされるようにしてもよい。
上述の説明では、バインディングは、現時点の単語のグループにおける全てのバインディングが形成された後で実行されるという前提に基づくものであったが、最高の処理速度を達成するためには、この前提においても他のケースにおいても、バインディングが形成される毎に実行され、それまでに処理されたバインディングを伴う現時点の意味の処理も、所属グループの単語の全てが入力され処理されるのを待つことなく次の処理へ進められるようにすることが望ましい。この処理が採用されると、いつの時点でも、その時点までの現時点の意味に基づいて、後続の処理が行なわれる。しかしさらに他の単語が処理される時にこの処理を変更してもよい。このように、処理を補足的に変更（incremental operation）できる点は本発明の重要な利点である。
テーブル１３８の操作
上述の説明では、一般的な意味でも例１のような特定の例によっても、テーブルＸのセクション１４２に格納されたバインディングを入力された言語の文法に基づいて引き出すために、テーブル１３８のデータがどのように利用され、そしてキーボードを通じてシステムに入力された単語から生じた信号の処理が制御されたかが明らかにされた。テーブル１３８のデータは、他の文法を考慮に入れ、そして／あるいは発明の別の用途で生じる必要性に答えるように操作することが可能である。
例えば、表２に示すデータでは、現時点の単語が前置詞である場合に多義性が規定されるようになっている。これらの多義性が規定されるのは、上記の表２に示すように、現時点の単語が前置詞の場合、
ａ）先行する複数の単語カテゴリに応じて格納されたサーチコードの検索が行なわれるからである。特に先行する前置詞、先行する助動詞、否定詞、他動詞、“To動詞”、自動詞に応じて格納されたサーチコードの検索、先行する名詞に応じて格納されたサーチコードの検索が全て行なわれる。
ｂ）表２の第３〜４欄の文字２とＬは、最初に、前置詞の意味の第２の引数が検索の結果として全てのバイディングに用いられること、次に、説明したように、前置詞の第２の引数の値が多義性を示すバインディングの左側に置かれることを示しているからである。
発明のいずれの特定の用途においても、前置詞と、先行する動詞または先行する前置詞との間のリンクの結果としてのバインディングの規定を禁止し、現時点の前置詞と先行する名詞の間のリンクの結果としてのみバインディングの形成を許すことが必要とされた場合、検索命令pとvを表２の第２欄の前置詞に関係する項目から省略することができる。そうした場合、前置詞が処理される時、サーチコード“n”の検索だけが行なわれる。あるいは、発明の特定の用途においていくつかの理由により、前置詞の意味と異なるカテゴリの複数の先行する単語との間に明瞭なバインディングを規定する必要があれば、表２の命令は適当に修正することができる。そうした可能性のある修正の１つは、前置詞の意味の複数の異なる引数が、異なるカテゴリの先行する単語の意味とのリンクを規定するバインディングに用いられるようにすることである。別の可能な修正は、現時点の前置詞の意味の同一の引数を２つ以上の異なるカテゴリの先行する単語の意味とのバインディングの規定に使用して、テーブルの“L”、“R”指定を変更することである。
このように、上述の説明から、表２のデータが操作（manipulate）されて、必要に応じてあるカテゴリの現時点の単語の意味と先行する単語の意味との間の多義的なバインディングを提供または防止できることが理解されるであろう。
表２のデータは、必要に応じてある単語と２つ以上の未来の単語との間の多義的なリンクを規定するバインディングの可能性も提供または防止するよう操作することができる。例えば、表２のデータは、形容詞と２つ以上の未来の名詞との多義的なバインディングの規定を許すが、これはそうしたデータが処理される際、いずれかの先行する形容詞の処理の結果としてサーチスペース１４０に格納されたサーチコード“an”の検索が行なわれるからである。こうした多義的なリンクを防ぐために、表２の第５欄の名詞に関係した行に命令an/2を挿入することによって表２を修正することができる。このように、ある名詞が処理されて先行する形容詞のサーチコードが見つかった場合、そのサーチコードは無効とされ、その先行の形容詞に関してはいずれの未来の新しい名詞（または、いずれの他のカテゴリの未来の単語でも、それが入力されると先行の形容詞のサーチコードの検索が開始されるもの）とのバインディングも形成されないようにする。
ここまで説明されなかった多義性の形は、正確に２つの単語間、例えば名詞と先行する形容詞との間に生じるものである。例えば、“good historian”（良い歴史家）という句は、人柄の良い歴史家、または歴史に詳しい人物という意味になる。表２をこうした多義性の規定に備えて操作してもよい。サーチコード“an”が見つかった場合、名詞の意味の第２の引数とのみバインディングが形成される代わりに、第１の引数と第２の引数の両方と形成されることにより、こうした規定が達成される。この結果、格納されたサーチコード“an”に関する値は２つのバインディングの左側におかれる。バインディングの１つは名詞の意味の第１の引数の値と等式で結ばれ、もう１つは名詞の意味の第２の引数の値と等式で結ばれており、多義性は上述のルール（convention）に従って規定される。
このように、表２のデータはいずれの言語の文法も考慮するように操作することが可能である。それにも関わらず、発明の実施例で使用される文法を検討すると、英語の完全な文法は利用されておらず、むしろ英文法の簡略化したものが用いられていることがわかる。実際英語等の言語の完全な文法は極端に複雑であり、従って本発明を実施する場合、完全な文法に起こる複雑性の全てを考慮するのは主要なことではなく、実際には実施例で示したような簡略化した文法を用いる方がはるかに有益であるということが理解されるべきである。それでもなお、様々な異なる可能性を試みた後、必要であれば、表２の操作により、より完全な英文法のような、より複雑な文法に従って言語を処理する実施例も達成可能である。
出力信号発生部
出力信号発生部１２４は次の３つのステップを行う推論モジュール１４６を有している。
１）テーブル１４４に格納されたデータで表される解釈を得るか、または入力された文に多義性が含まれる場合は、文の異なる解釈の各々を得て、それらの解釈をテーブル１４８に格納するステップ。
２）知識ベース１５２のテーブル１５０に格納されたルールとテーブル１４８に格納された解釈を用いて証明されるべきゴール（goal）を発生し、そのゴールをテーブル１５４へ格納するステップ。
３）知識ベース１５２のテーブル１５６に含まれる事実を用いてゴールの証明を試みて、ゴールが証明できる場合、適当な出力信号Xn:onまたはXn:offを出力信号記憶部１５８へ提供するステップ。
推論モジュール１４６はインタフェース１２６に設けられたダイアログマネージャ１６０により呼び出される。インタフェース１２６は解析モジュール１２８とも通信して、必要に応じて解析モジュール１２８と推論モジュール１４６の動作を調整する。
推論モジュールが実行する上述の３つのステップを順に説明する。
推論モジュール１４６−ステップ１
上述したように、推論モジュール１４６が実行するステップ１では、入力した命令の解釈がテーブル１４４から得られて、後続の処理のためにテーブル１４８へ格納される。もし解釈が１つ、すなわち多義性が存在していなければ、この動作はテーブル１４４からテーブル１４８への単純なデータ転送となる。
多義性が存在した場合、推論モジュール１４６は、可能な異なる解釈を別々に順に扱うことになる。最初の解釈は、その多義性を表すバインディングからそれらの可能な等式（equalities）の１つを取り出し、テーブル１４４に格納された引数の識別番号の単一化に対応させ、それからその結果の解釈をテーブル１４８に格納する。こうして、上記のテーブルＡ（１４４）に示すような例１のデータを取ると、その多義性によって表される同一性：
909=903,912
は、
909=912
となり、そして、現時点の意味の引数における識別番号912のいずれも識別番号909に置き換えることにより、単一化が行なわれる。このように、例１では、テーブル１４８に書かれたデータはテーブルＢ（１）に示すようになる。このデータは、テーブル１４４に格納された多義性によって表される次の解釈を選択する前に処理される。再びテーブルＡを参照すると、その多義性によって表される等式：
909=903,912
は
909=903
となる。
この等式に表される解釈が処理される時、現時点の意味の引数における識別番号903のいずれも識別番号909に置き換えることにより単一化が行なわれる。こうして、例１では、テーブル１４８に書かれたデータはテーブルＢ（２）では次のようになる。
0004227191.tif 000022
既に示したように、本実施例では、テーブルＢ（２）に示すデータによって表される解釈は、テーブルＢ（１）のデータによって表される解釈の処理が完了するまでは処理されない。しかしながら、説明の都合上、ここで両方の解釈がなされたことにする。
より容易に理解するために、上述のように出力信号発生部１２４が実行するステップ２〜３については、これらを詳細に説明する前に概要から説明することにする。
ステップ２−概略的な説明
ステップ２では、推論モジュール１４６は現在テーブル１４８にある解釈を取り出してテーブル１５０より得たルールをこれに適用する。そして解釈をゴールに変換して、後にそのゴールが前述したように証明されるようにテーブル１５４へ格納する。従ってテーブル１５０はルックアップテーブルの形を取り、辞書１３２に格納されている意味の内、実施例と関係した項目の各々に対応する項目を含んでいる。テーブル１５０のこうした項目の各々に関しては、テーブルは各項目に関してテーブル１４８の解釈をテーブル１５４へ格納されるゴールの形に変換するための処理を示すデータも含んでいる。
本実施例では、実行される動作はスイッチのオンオフ切り替え動作である。どのスイッチが入れられるかは、入力文より生じる解釈によって決定される。
本実施例のテーブル１５０の内容は次の表３に示す通りである。
0004227191.tif 000023
0004227191.tif 000024
表３の左欄は、表１の辞書の右欄からの意味に関係する意味を示している。中央の欄はこれらの意味に対応するゴールを示し、テーブル１５０の第３欄は実行される動作がスイッチのオンまたはオフであることを示している。
推論モジュール１４６は、テーブル１４８の現時点の解釈からの各項目に、表３の左欄のデータを順に適用して、中央の欄より相当するゴールを得る。そして、必要な場合には、右欄より実行される動作がスイッチオンか、それともスイッチオフであるかの指示を得る。テーブル１４８の項目がテーブル１５０に適用される順序としては実施例の動作に対し不適切ではあるが、理解をより容易にするために、動詞の意味の処理から先に説明することにする。
表３から明らかになるように、左欄の各動詞の意味は、中央欄の“Action”のラベルが付いたゴールと、さらに“Switch”のラベルが付いたゴールと結び付いている。さらに、複数の動詞の意味は他の複数のゴールとも結び付いている。“Action”のラベルのゴールは実行される動作を規定する、つまり、スイッチオン、スイッチオフのどちらの動作であるかを規定するのに用いられる。“Switch”のラベルのゴールはスイッチＸ１〜Ｘ２１の内操作されるスイッチを識別するのに用いられる。テーブル１５４に供給されて、テーブル１５０のルールに照らした処理の後で証明されるべきゴールは、ここでは次のどちらかのルールの形を取ると考えられる。
action（Sn:on）if...
あるいは
action（Xn:off）if...
ルールの右側には入力信号処理部１２２による処理の間に形成されるバインディングに依存した形で相互に結びついたサブゴール（sub-goal）のセットが置かれる。これらのサブゴールは表３の中央欄の適切な動詞の意味と結び付いたサブゴールと、テーブルＢの動詞以外の意味を表３に適用することから生じたサブゴールから成る。表３を用いてルールとサブゴールを生成すると、後述する変数の具体的な例示も行なわれる。ルールの右側を形成するサブゴールが知識ベース１５２のテーブル１５６に含まれる事実に対して証明可能な場合（その証明動作は後述するさらなる例示を含んでいる）、適切な信号Xn:onあるいはXn:offが生成される。いずれかのサブゴールが証明できない場合は、出力信号は生成されない。サブゴールの証明ができないと、処理中の解釈は、その知識ベースにより表される状況に対して入力された命令を間違って解釈したことを示す。
ステップ３−概略的な説明
本実施例では、知識ベース１５２のテーブル１５６に格納された事実は次の表４に示す通りである。
0004227191.tif 000025
0004227191.tif 000026
説明の都合上、表４のデータは３つのセクションに分かれている。第１のセクションは、スイッチＸ１〜Ｘ２１とスイッチが制御する装置にそれぞれ関係した２４グループのデータである。第２のセクションは、３つの階に関するデータである。第３のセクションは時間に関するデータである。これらのデータが述語及びその引数として表されている。
表４の第２のセクションから、３つの階に関する述語の引数はＦ１、Ｆ２、Ｆ３として与えられていることがわかる。このことから、例えば、カメラＣ３に関する第１のセクションのデータのグループより、そのカメラが値Ｃ３によって規定されており、その位置は値Ｆ３（３階）により規定されていること、そしてカメラが値Ｘ３（スイッチＸ３）によって識別されるスイッチにより制御されていることがわかる。
さらに、テーブル１５４に格納されているルールがテーブル１５６に次のような形で格納されている事実に対して証明された場合、
0004227191.tif 000027
それで、出力信号X3:onが生成される。
推論モジュール１４６によって実行されるステップ２〜３の詳細な説明より明らかになるように、例１において、命令“activate the camera on the third floor”の解釈が“switch on the switch of the camera on the third floor”（３階のカメラのスイッチをオンにせよ）とされた場合、ルールはこの形で証明される。しかし、この命令が“switch on the switch,which is on the third floor,of the camera”（３階にあるスイッチで、カメラのスイッチをオンにせよ）であると解釈された場合は、スイッチ信号は出力されない。それは、このルールが知識ベースの事実に対して証明できないからである。
テーブル１５４に格納されたルールが各解釈のために生成され、これらのルールがテーブル１５６の事実に対して証明される様子を、例として詳細に説明する。
テーブルＢ（１）のデータを表３のデータ適用して推論モジュール１４６によって処理すると、テーブルＢ（１）のデータは下記のテーブルＣ（１）に示す形に変換される。
0004227191.tif 000028
このテーブルＣ（１）のデータは、前述の説明から既に明らかであるが、テーブル１５４へ挿入されて次のようなデータとなる。まず、テーブルＢ（１）の項目“activate（909,902,903）がルックアップ表３に適用される。左欄において項目“activate（e,x,y）”に一致するデータが検出される。表３の項目“activate（e,x,y）”の引数“e,x,y”はテーブルＢ（１）から処理されたデータの引数“（909,902,903）”で例示される。こうして、eは909と等式で結ばれ、xは902と、yは903と等式でむすばれる。表３の中央欄よりの対応するゴール、つまり“action（e）”と“switch（y,s）”が抽出されてその変数が可能な限り上記のe、x、yの値で例示される。こうして、表３の中央欄より抽出されたデータは次の通りである。
action（909）
switch（903,s）
また、項目“activate（e,x,y）”に関する表３の第３欄のデータ、つまり“e=s:on”も抽出されて例示が次のように行なわれる。
e=s:on
は
909=s:on
中央欄より抽出されたデータはさらに、上記データで例示される。
action（s:on）
switch（903,s）
になる。
テーブルＢ（１）のデータにさらに変数909が出ると、システムは変数909が処理される際に同様の例示を行なう。これにより、テーブルＢ（１）の最初の項目の処理が完了してテーブル１５４へ格納される。
テーブルＢ（１）の次の項目は“the（904,905）”である。実施例では、限定詞の意味はこの時点では無視されるので、表３に対応する項目は存在しない。
テーブルＢ（１）の次の項目は“camera（905,903）”である。これはルックアップ表３に適用されて項目“camera（x,y）”が検出される。対応するゴール“camera（y）”が表３の中央欄より抽出される。表３の左欄の述語cameraの引数x、yは、表３の中央欄から抽出したこのデータの変数x、y（もし存在すれば）がそれぞれテーブルＢ（１）の処理中の項目の第１、第２の変数で例示されるということを意味している。表３の中央欄から抽出したデータは“camera（y）”なので、このデータは
camera（903）
に変換されてテーブル１５４へ格納される。こうして、この時点におけるテーブル１５４の内容は次のようになる。
action（s:on）
switch（903,s）
camera（903）
テーブルＢ（１）の次の項目が取り出されて表３の第１欄に適用される。それは“on（908,909,910）”で、表３の左欄の項目“on（e,x,y）”と一致している。対応するデータ“location（x,y）”が表３より抽出されて、そのデータの変数x、yとテーブルＢ（１）の処理中の項目の第２第３の変数との間で例示が行なわれる。こうして、xは909と、yは910と等式で結ばれる。しかし、前述したように、テーブルＢ（１）からの最初の項目が処理された時909はs:onで例示されているので、表３より抽出されたデータ“location（x,y）”は次のように変換される。
location（s:on,910）
このデータはテーブル１５４に追加されて、テーブル１５４の内容は次のようになる。
action（s:on）
switch（903,s）
camera（903）
location（s:on,910）
テーブルＢ（１）の次の項目“change-on（911,909）”が処理される。これは表３の左欄の項目“change-on（x,e）”と一致しているが、表３に示すように、中央欄にはこのデータに対応した抽出すべきデータが存在しない。しかしながら、第３欄に示される例示は次の通りである。
e=s:on
この例示の後、次のようになる。
909=s:on
これは先の909の例示と同一の例示であるが、これによってこの例が影響されることはない。しかしながら、他の例ではこのことに影響される可能性もある。そうした影響が現われる１つの例を後述する。
テーブルＢ（１）の次の項目は２度目に登場した“the”である。前述したように、このデータを表３の左欄の項目と一致させようという試みは不成功に終わっているので、この例において、この限定詞の意味は再び無視される。
テーブルＢ（１）の次の項目は“third（915,910）”である。これは表３の左欄の項目“third（x,y）”と一致するので、対応するデータ“third（y）”が中央欄より抽出されて、値“y”は処理中の項目“third（915,910）”の第２の変数で例示される。こうして、データ“third（910）”がテーブル１５４の内容に追加される。
action（s:on）
switch（903,s）
camera（903）
location（s:on,910）
third（910）
テーブルＢ（１）の最後の項目は“floor（914,910）”である。これは表３の左欄の項目“floor（x,y）”と一致するので、中央欄よりデータ“floor（y）”が抽出されて変数“y”とテーブルＢ（１）の処理中の項目の第２の引数の間で例示が行なわれる。この結果、データ“floor（910）”がテーブル１５４に追加される。テーブルＣに示すテーブルの内容は次のようになる。
action（s:on）
switch（903,s）
camera（903）
location（s:on,910）
third（910）
floor（910）
テーブル１５４に挿入されたデータはテーブル１５６の事実に対して証明されるゴールとして扱われるということは既に説明されてきた。こうして、テーブルＣ（１）のデータは次のように書き直されると考えられる。
0004227191.tif 000029
その後、このルールの右側のサブゴールを知識ベース１５２のテーブル１５６の事実に順に適用して、対応する事実が見つかった場合、適切な例示を行なって、これらのサブゴールを証明する試みがなされる。
最初にサブゴール“switch（903,s）”が処理されるとすると、表４にはこのサブゴールが一致する項目が２４個存在することがわかる。既に述べた通り、見つかった最初の一致項目で例示を行なって証明を試みられ、それから適当な例示を行なって残りのゴールを証明する試みがなされる。知識ベースの事実においてある一致項目を検出してある例示が行なわれると、関係する全ての変数が証明すべきゴールにおいて同じ方法で例示されることは、当業者には理解されるであろう。説明の都合上、最初あるいはある時点で、サブゴール“switch（903,s）”が表４の項目“switch（C3,X3）”と一致していると想定する。この一致を見つけると証明対象のサブゴールの変数“（903,s）”はテーブル１５４に現在格納されているデータの定数“（C3,X3）”で、以下のように（ルールとして）例示される。
0004227191.tif 000030
上記のルールからわかるよに、例示は可能な項目全てに渡って行なわれた。
次に、このように修正されたテーブル１５４の内容から得たゴール“camera（C3）”が表４の事実に適用されて証明が試みられる。このゴールは項目“camera（C3）”と一致することが明らかであるので、例示を行なわずに証明される。
次に証明すべきサブゴールは、前述の例示で修正されたテーブル１５４より得た“location（X3:on,910）”である。表４から明らかであるように、サブゴール“location（X3:on,910）”と一致する項目は存在しない。それは、前述の例示によって引数“X3:on”がもはや変数ではなく定数になっているからである。従ってこの時点では、証明は失敗して出力信号は生成されない。前述の説明から明らかであるように、テーブルＢ（１）の解釈は、命令“activate thc camera on the third floor”の誤った解釈であるから、これは勿論正しいのである。
推論モジュール１４６はこのようにしてテーブルＢ（２）の解釈を処理して行く。テーブルＢ（２）のデータと、テーブル１５４の内容がテーブル１５０の内容に対して処理することにより生成された様子を示す前述の説明を考慮すると、処理テーブルＢ（２）の処理が完了すると、推論モジュール１４６はテーブル１５４へ次のテーブルＣ（２）に示すようなデータを挿入していることが推察される。
0004227191.tif 000031
既に示したように、これは次のようにルールとして扱われる。
0004227191.tif 000032
表４の事実に対して最初に処理されるサブゴールが“switch（909,s）だとして、ある地点で、事実“switch（C3,X3）との一致が見つかったとすると、変数“909”は“C3”に変更され、変数“s”は“X3”に変更される。こうしてテーブル１５４の内容全てに渡って例示が（ルールとして）行なわれる。
0004227191.tif 000033
次に処理されるサブゴールは上述の例示で修正されたテーブル１５４の内容から得た“camera（C3）”である。表４からわかるように、このサブゴールはテーブルの対応する項目“camera（C3）”との一致により証明され、例示は行なわれない。従ってテーブル１５４の内容はここでは変更されない。
次に処理されるゴールは“location（C3,910）”である。ある地点でこのサブゴールと項目“location（C3,F3）”との一致が見つかったとすると、変数“910”と定数“F3”との例示が行なわれる。これはテーブル１５４の内容全てに渡って行なわれて、テーブル１５４は次のように（ルールとして）示される。
0004227191.tif 000034
それから、残りの２つのゴールすなわち“third（F3）”、“floor（F3）”が知識ベース１５６の情報に対して順に証明される。これらは対応する項目とそれぞれ一致するので、この例では、ゴール
action（x3:on）
が証明されて、推論モジュール１４６は出力信号記憶部１５８へ信号“X3:on”を提供する。これにより、信号がインタフェース１０２を介してネットワーク１０４へ伝えられて、スイッチＸ３に受信される。スイッチＸ３は３階のカメラＣ３をオンにする。
上述の説明から、次のことが理解できる。つまり、図示の実施例では、入力された文の単数または複数の解釈を表１〜２を用いて作成する時に、表３へアクセスする際に行なわれる例示が辞書の意味の異なる引数と正確に関連付けられるように、表２、３、４がセットアップされていることが必要である。従って図示の発明の実施例に基づいてシステムを構成する場合には、特定の用途のための表２の内容を、表３の命令と事実と表４に示すその引数が互いに一致しするように決定することが必要である。そうした一致により、テーブルＢ（１）の解釈では出力信号生成が失敗するのに対し、テーブルＢ（２）の解釈では出力信号生成が成功する。以下の、出力信号発生部によるこれらの解釈の処理を示す表サマリは、そうした一致を明らかにしている。
0004227191.tif 000035
0004227191.tif 000036
既に明らかであるように、上記の２つの表サマリに表されている２つの異なる処理の形は、入力した命令における前置詞“on”が他動詞“activate”あるいは名詞“camera”のどちらを修飾しているかに関する多義性から生じている。表２により規定されている処理はこのタイプの多義性の可能性を考慮したものである。図４からわかるように、前置詞の意味の第２の引数は他動詞の意味の第１の引数あるいは名詞の意味の第２の引数とバインディングを形成する。表サマリの“テーブルＢ（１）より”とラベルの付いた第１欄において、述語“activate”の第１の引数と述語“on”の第２の引数における値９０９はその解釈では、入力された命令における前置詞“on”は他動詞“activate”を修飾していると見なされていることを表している。表サマリＩに示す後続の処理では、その解釈が知識ベースのデータと不一致であることを示している。
表サマリＩＩと図４について同様に検討すると、述語“camera”の第２の引数と述語“on”の第３の引数の値９０９が、入力した命令のうち、前置詞“on”が先行する名詞“camera”を修飾していることを表している。表サマリＩＩの残りと知識ベースに格納された事実を検討すると、この解釈が知識ベースの事実と一致しており、従って出力信号が生成されることがわかる。
本発明に従って入力信号処理部により生成される出力信号を処理するための信号発生部を構成する時には、入力信号からの信号が、所望の結果が得られるように解釈され処理されるように、その出力信号発生部を構成する必要がある。
命令の他の形
例１は命令“activate the camera on the third floor”の処理に基づいていたが、同様に３階のカメラを始動させる結果を生じることになる別な形の命令は、“observe the third floor”（３階を監視せよ）と“watch the people on the third floor”（３階の人を監視せよ）である。
入力信号処理部１２２による命令“observe the third floor”の処理により次のテーブル１４４（テーブルＡに対応する）のデータ（例１の記述を用いたもの）が生成される。
show（901,902,903）
the（904,908）
third（906,903）
floor（908,903）
ここには多義性は含まれていないため、推論モジュール１４６は、テーブル１４４の単一の解釈をテーブル１４８（テーブルＢに対応）へ転送するのみである。そして、このデータとテーブル１５０よりテーブル１５４へ挿入される証明すべきゴールを得て、知識ベース１５６の事実に対してサブゴールを処理する。これらの処理は以下の表サマリＩＩＩに要約されている。
0004227191.tif 000037
命令“watch the people on the third floor”はより多くの処理を要する。それは、入力信号処理部１２２がテーブル１４４へ提供する出力データは複数の多義性を表しているからである。
show（914,902,903）
the（904,905）
several（906,905）
person（905,909）
on（910,911,912）
change-on（913,914）
the（915,916）
third（917,912）
floor（916,912）
911=903,914
次の表サマリＩＶは命令“watch the people on the third floor”を表し、出力信号を生成する結果となる解釈を表すように選択されているものである。この命令では出力信号を生成する結果とはならない他の多くの解釈も可能である。そうした他の解釈は前述の説明を参考にこの例を検討することにより考慮できる。
0004227191.tif 000038
0004227191.tif 000039
選択及び変形例
上述の発明には多数の変形例が可能であり、幅広い応用が可能である。詳細な説明ではないが、いくつかの可能な変形例と選択的な応用例を以下に示すことにする。
図示した実施例は、１セットの事実を持つ知識ベースを有しており、表４に示すこれらの事実は装置の動作中は変化しないものとして説明されたが、システムが操作される時、知識ベースの事実が変化するようなシステムに、本発明を適用することも可能である。上述のような演繹法による証明の代わり発送的推論（あるいは適応的な推論abductive reasoner）による証明を行なってもよい。あるいは、変化する状況を考慮して知識ベースを修正する手段を設けることも可能である。例えば、図示の実施例では、スイッチＸ１〜Ｘ２１をオンオフ切り替えする信号は、適切な入力命令に応じて、スイッチの現時点の状況には関係なく生成される。そこで、スイッチの状態が変化する度に、スイッチの現時点の状況を示す事実を知識ベースに挿入して、既に切り替えられた状態のスイッチに対して同じ切り替えの指示の信号を送ることを禁止する手段を設けることが可能である。これは、知識ベースに各スイッチＸｎに関して、次の事実のうちのどちらかを格納することにより達成できる。
currently（Xn:off）
currently（Xn:on）
この変形例では、推論モジュール１４６は、ゴール“action（Xn:on）”または“action（Xn:off）”の証明の後で出力信号を生成する前に、知識ベースをチェックして、切り替え対象のスイッチが、現在指示された状態の反対の状態にある場合のみ、出力信号を生成する。
上に詳細に述べたように、表１に示す辞書では、第１欄は実施例で処理する、入力された単語を全て含み、第３欄はこれらの単語の意味を示している。さらに、表３の第１、第２欄はテーブルより生じた複数の意味を、複数のゴールまたはサブゴールへ翻訳するように構成されている。例えば、表１より得た意味“activate（1,2,3）”と“switch（y,s）”、意味“extinguish”は“action（e），light（y），switch（y,ls）”に翻訳される。発明の範囲内で、この翻訳の一部（some）あるいは全部を辞書により行うようにすることが可能である。これにより、表１の第３欄における意味の適切な拡大あるいは修正が行なわれることになる。例えば、上述の構成の表３は以下の単語の翻訳を含んでいる。
0004227191.tif 000040
しかし、表１にこれらの翻訳を配して、表３においてこれらを証明する必要性を無くすことも可能である。
詳細に説明した実施例では辞書にはテーブル１３２と１３８が別々に設けられ、入力した各単語に関してカテゴリと意味を示しており、表２は各カテゴリを処理する命令を示している。しかし、発明の範囲内で、２つのテーブルのデータを結合して１つのテーブルに示すことも可能である。この場合は、表１の中央の欄は表２の命令と置き換えられる。
発明の図示の都合上、建物の中のスイッチを制御するという、実施例としては比較的単純な応用例を説明したが、実際には本発明は幅広い応用が可能であり、より複雑な動作に有効である。発明は例えば、コンピュータ制御による生産プロセスなどあらゆる種類のスイッチ制御にも利用できる。また、例えばデータベースの検索や自然言語から他の言語への翻訳など、コンピュータシステム自体の制御命令を扱うことにも利用できる。このように、自然言語または他の言語による命令や情報を受け取って、さらに行なわれる処理に有益な形で出力信号を生成する、本発明に従った信号処理は、自然言語または他の言語の入力から生じた入力信号に応じて制御信号を生成することを必要とする、あらゆる状況に適用することが可能である。こうして、出力信号発生部を、入力信号処理部からの信号に応じて有益な出力信号を生成し、他の装置、システム、機器またはプログラムモジュールに供給するための装置またはシステムに替えることもできる。そうした出力信号は、ここては“制御”信号と称されているが、この表現は広い範囲を持つように意図されたものであるということが理解されるべきである。このように、本発明による信号処理装置は様々なシステムの要素を形成することが可能である。
図示の実施例では入力される命令に英語を使用しているが、本発明の実施例はこのような単語（words as such）が使用されない他の言語でも動作するよう構成されている。そうした言語の例は漢字または仮名で書かれた日本語である。
本発明は、例えば言語ＰＲＯＬＯＧを利用して、ソフトウェアにより実現することができる。また、他の言語を用いて本発明を実現することもできる。さらに、本発明はハードウェア及び／またはファームウェアによって部分的にあるいは全体的に実現することも可能である。例えば、表１、２の内容を、ソフトウェアにより実現する代わりに、ＲＯＭに格納したり、あるいは、システムはより複雑化するけれども、ハードウェアのディジタル回路により実現することができる。
【図１】
0004227191.tif 000041
【図２】
0004227191.tif 000042
【図３】
0004227191.tif 000043
【図４】
0004227191.tif 000044
【図５】
0004227191.tif 000045
【図６】
0004227191.tif 000046
【図７】
0004227191.tif 000047
【図８】
0004227191.tif 000048
【図９】
0004227191.tif 000049
【図１０】
0004227191.tif 000050
【図１１】
0004227191.tif 000051
【図１２】
0004227191.tif 000052
【図１３】
0004227191.tif 000053
【図１５】
0004227191.tif 000054
【図１４】
0004227191.tif 000055