(57)【要約】  情報を取り出すためのシステムであって、このシステムは、ステートメントを取得するために配置される入力手段と、ステートメントの構成要素に基づいて第１のレコードを選択し、第１のレコードを参照する第２のレコードを選択し、第２のレコードを調べて、第３のレコードを識別し、かつ第３のレコードを用いて情報を取り出す、ために配置される処理手段と、を備える。【選択図】図１
2007537515.tif 000002
【特許請求の範囲】
【請求項１】
情報を取り出すためのシステムであって、前記システムは、ステートメントを取得するために配置される入力手段と、前記ステートメントの構成要素に基づいて第１のレコードを選択し、前記第１のレコードを参照する第２のレコードを選択し、前記第２のレコードを調べて、第３のレコードを識別し、かつ、前記第３のレコードを用いて前記情報を取り出す、ために配置される処理手段と、を備えるシステム。
【請求項２】
前記処理手段は、前記構成要素に対応する情報を備える第４のレコードを検出し、前記第４のレコードの識別子を取得し、かつ前記第１のレコードが前記識別子を備えるかどうか判定する、ことによって前記第１のレコードを選択するために配置され、それが前記識別子を備えると判定された場合、前記第１のレコードが選択される、ことを特徴とする請求項１に記載のシステム。
【請求項３】
前記処理手段は、前記第３のレコードを調べて、少なくとも一つの第５のレコードを識別し、かつ前記少なくとも一つの第５のレコードから前記情報を取得する、ことによって前記情報を取り出すために配置される、ことを特徴とする請求項１または２に記載のシステム。
【請求項４】
前記第３のレコードは、前記第１のレコードと関連づけられる、ことを特徴とする先行する請求項のいずれかに記載のシステム。
【請求項５】
前記入力手段は、自然言語ステートメントを受け取るために配置されるインタフェースと、前記自然言語ステートメントの構文解析に基づいて中間言語ステートメントを作成するために配置される構文解析プログラムと、を備え、前記処理手段は、前記ステートメントとして前記中間言語ステートメントを使用するために配置される、ことを特徴とする先行する請求項のいずれかに記載のシステム。
【請求項６】
前記第１、第２、第３、第４および第５のレコードは、単一表内に含まれる、ことを特徴とする先行する請求項のいずれかに記載のシステム。
【請求項７】
情報を保存するためのシステムであって、前記システムは、ステートメントを取得するために配置される入力手段と、中間言語ステートメントの構成要素に基づいて識別されることができる第１のレコードを作成し、前記第１のレコードを参照し、かつ第３のレコードを識別するために調べられることができる第２のレコードを作成し、かつそれが前記情報を取り出すために使用されることができるように、前記第３のレコードを配置する、ために配置される処理手段と、を備えるシステム。
【請求項８】
前記処理手段は、前記構成要素に対応する情報を備える第４のレコードを作成し、前記第４のレコードの識別子を取得し、かつ、それが前記識別子を備えるように前記第１のレコードを設定する、ことによって前記第１のレコードを作成するために配置される、ことを特徴とする請求項７に記載のシステム。
【請求項９】
前記処理手段は、少なくとも一つの第５のレコードを識別するために調べることができるように、前記第３のレコードを配置するように配置され、前記処理手段は、それが前記情報を備えるように、前記第５のレコードを作成するために使用可能である、ことを特徴とする請求項７または８に記載のシステム。
【請求項１０】
前記入力手段は、自然言語ステートメントを受け取るために配置されるインタフェースと、前記自然言語ステートメントの構文解析に基づいて中間言語ステートメントを作成するために配置される構文解析プログラムと、を備え、前記処理手段は、前記ステートメントとして前記中間言語ステートメントを使用するように配置される、ことを特徴とする請求項７ないし９のいずれかに記載のシステム。
【請求項１１】
前記第３のレコードは、前記第１のレコードと関連づけられる、ことを特徴とする請求項７ないし１０のいずれかに記載のシステム。
【請求項１２】
前記第１、第２、第３、第４および第５のレコードは、単一表内に含まれる、ことを特徴とする請求項７ないし１１のいずれかに記載のシステム。
【請求項１３】
情報を取り出す方法であって、前記方法は、次の諸ステップ、すなわち、
ステートメントを取得するステップと、
前記ステートメントの構成要素に基づいて第１のレコードを選択するステップと、
前記第１のレコードを参照する第２のレコードを選択するステップと、
前記第２のレコードを調べて第３のレコードを識別するステップと、
前記第３のレコードを用いて前記情報を取り出すステップと、
を備える方法。
【請求項１４】
前記第１のレコードを選択する前記ステップは、次の諸ステップ、すなわち、
前記構成要素に対応する情報を備える第４のレコードを検出するステップと、
前記第４のレコードの識別子を取得するステップと、
前記第１のレコードが前記識別子を備えるかどうか判定するステップと、
を備え、それが前記識別子を備えると判定された場合、前記第１のレコードが選択される、ことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記情報を取り出す前記ステップは、前記第３のレコードを調べて少なくとも一つの第５のレコードを識別するステップと、前記少なくとも一つの第５のレコードから前記情報を取得するステップと、を備える、ことを特徴とする請求項１３または１４に記載の方法。
【請求項１６】
前記ステートメントを取得する前記ステップは、
自然言語ステートメントを受け取るステップと、
前記自然言語ステートメントの構文解析に基づいて中間言語ステートメントを作成するステップと、
前記ステートメントとして前記中間言語ステートメントを使用するステップと、
を備える、ことを特徴とする請求項１３ないし１５のいずれかに記載の方法。
【請求項１７】
前記第３のレコードは、前記第１のレコードと関連づけられる、ことを特徴とする請求項１３ないし１６のいずれかに記載の方法。
【請求項１８】
前記第１、第２、第３、第４および第５のレコードは、単一表内に含まれる、ことを特徴とする請求項１３ないし１７のいずれかに記載の方法。
【請求項１９】
情報を保存する方法であって、前記方法は、次の諸ステップ、すなわち、
ステートメントを取得するステップと、
前記ステートメントの構成要素に基づいて識別されることができる第１のレコードを作成するステップと、
前記第１のレコードを参照し、かつ第３のレコードを識別するために調べられることができる、第２のレコードを作成するステップと、
前記情報を取り出すために使用されることができるように、前記第３のレコードを配置するステップと、
を備える方法。
【請求項２０】
前記第１のレコードを作成する前記ステップは、
前記構成要素に対応する情報を備える第４のレコードを作成するステップと、
前記第４のレコードの識別子を取得するステップと、
それが前記識別子を備えるように前記第１のレコードを設定するステップと、
を備える、ことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記第３のレコードを配置する前記ステップは、次の諸ステップ、すなわち、
それが少なくとも一つの第５のレコードを識別するように、前記第３のレコードを配置するステップと、
それが前記情報を備えるように、前記第５のレコードを配置するステップと、
を備える、ことを特徴とする請求項１９または２０に記載の方法。
【請求項２２】
前記ステートメントを取得する前記ステップは、
自然言語ステートメントを受け取るステップと、
前記自然言語ステートメントの構文解析に基づいて中間言語ステートメントを作成するステップと、
前記ステートメントとして前記中間言語ステートメントを使用するステップと、
を備える、ことを特徴とする請求項１９ないし２１のいずれかに記載の方法。
【請求項２３】
前記第３のレコードは、前記第１のレコードと関連づけられる、ことを特徴とする請求項１９ないし２２のいずれかに記載の方法。
【請求項２４】
前記第１、第２、第３、第４および第５のレコードは、単一表内に含まれる、ことを特徴とする請求項１９ないし２３のいずれかに記載の方法。
【請求項２５】
コンピュータに、請求項１３ないし２３のいずれかに従う前記方法を実施させるための、少なくとも一つの命令を備えるコンピュータプログラム。
【請求項２６】
請求項２１に記載の前記コンピュータプログラムを備えるコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概ね情報を取り出すためのシステムと方法および情報を保存するためのシステムと方法に関するものである。本発明は、特定の、しかし、決して唯一のものではない、コンピュータシステム内に保存された情報を管理するアプリケーションを有する。
【背景技術】
【０００２】
現在の情報管理システムは、事前に決められた情報構造に基づいて情報を管理（例えば、情報の取り出しまたは保存）するように設計されている。事前に決められた情報構造は多くの異なったフィールドを備え、それは情報の特定の形式を代表するために使用される。例えば、１つのフィールドが、人の電話番号を保存するために使用することができるのに対して、別のフィールドは人の住所を保存するために使用することができる。事前に決められた情報構造を使用することに関連する問題は、フィールドが特定の形式の情報を代表することに割り当てられていない限り、その事前に決められた情報構造内に、容易にその特定の形式の情報を保存することが困難な可能性がある、ということである。例えば、人の連絡先（例えば電話番号および住所）を管理するように設計されている既存のシステムは、概ね、人の医療の詳細を保存する能力を持たない。これは、主として人の連絡先を管理するように設計されたシステムに使用される事前に決められた情報構造が、医療記録を保存するために割り当てられたフィールドを持たないという事実による。
【０００３】
事前に決められた情報構造を使用することと関連する上記の問題に対処するために、２つの可能なオプションがある。第１のオプションは、事前に決められたデータ構造が必要なフィールドを備えるように修正された情報管理システムを持つことである。第２のオプションは、既存の情報管理システムを、必要情報を管理することができる新しいシステムに置き換えることである。残念なことに、それらに多大なコストを伴う恐れがあり、かつ、システムダウンタイムが生じるという結果になる恐れがあるので、これらの２つのオプションは一般に望ましくない。
【発明の開示】
【０００４】
本発明の第１の態様に従って、情報を取り出すためのシステムが提供され、このシステムは、ステートメントを取得するために配置される入力手段と、ステートメントの構成要素に基づいて第１のレコードを選択し、第１のレコードを参照する第２のレコードを選択し、第２のレコードを調べて、第３のレコードを識別し、かつ第３のレコードを用いて情報を取り出す、ために配置される処理手段と、を備える。
【０００５】
好ましくは、処理手段は、構成要素に対応する情報を備える第４のレコードを検出し、第４のレコードの識別子を取得し、かつ第１のレコードが識別子を備えるかどうか判定する、ことによって第１のレコードを選択するために配置され、それが識別子を備えると判定された場合に、第１のレコードが選択される。
【０００６】
好ましくは、処理手段は、第３のレコードを調べて、少なくとも一つの第５のレコードを識別し、かつこの少なくとも一つの第５のレコードから情報を取得すること、によって情報を取り出すために配置される。
【０００７】
好ましくは、入力手段は、自然言語ステートメントを受け取るために配置されるインタフェースと、自然言語ステートメントの構文解析に基づいて中間言語ステートメントを作成するために配置される構文解析プログラムと、を備え、処理手段は、ステートメントとして中間言語ステートメントを使用するために配置される。
【０００８】
好ましくは、第３のレコードは、第１のレコードと関連づけられる。
【０００９】
好ましくは、第１、第２、第３、第４、および、第５のレコードは、単一表内に含まれる。
【００１０】
本発明の第２の態様に従って、情報を保存するためのシステムが提供され、このシステムは、ステートメントを取得するために配置される入力手段と、ステートメントの構成要素に基づいて識別される第１のレコードを作成し、第１のレコードを参照し、かつ第３のレコードを識別するために調べることができる第２のレコードを作成し、かつ情報を取り出すために使用されるように、第３のレコードを配置する、ために配置される処理手段と、を備える。
【００１１】
好ましくは、処理手段は、構成要素に対応する情報を備える第４のレコードを作成し、第４のレコードの識別子を取得し、かつ識別子を備えるように第１のレコードを設定する、ことによって第１のレコードを作成するために配置される。
【００１２】
好ましくは、処理手段は、少なくとも一つの第５のレコードを識別するために調べることができるように、第３のレコードを配置するために配置され、処理手段は、情報を備えるように、第５のレコードを作成するために配置される。
【００１３】
好ましくは、入力手段は、自然言語ステートメントを受け取るために配置されるインタフェースと、自然言語ステートメントの構文解析に基づいて中間言語ステートメントを作成するために配置される構文解析プログラムと、を備え、処理手段は、ステートメントとして中間言語ステートメントを使用するために配置される。
【００１４】
好ましくは、第３のレコードは、第１のレコードと関連づけられる。
【００１５】
好ましくは、第１、第２、第３、第４、および、第５のレコードは、単一表内に含まれる。
【００１６】
本発明の第３の態様に従って、情報を取り出す方法が提供され、この方法は次の諸ステップ、すなわち、ステートメントを取得するステップと、ステートメントの構成要素に基づいて第１のレコードを選択するステップと、第１のレコードを参照する第２のレコードを選択するステップと、第２のレコードを調べて第３のレコードを識別するステップと、第３のレコードを用いて情報を取り出すステップと、を備える。
【００１７】
好ましくは、第１のレコードを選択するステップは、次の諸ステップ、すなわち、構成要素に対応する情報を備える第４のレコードを検出するステップと、第４のレコードの識別子を取得するステップと、第１のレコードが識別子を備えるかどうか判定するステップと、を備え、それが識別子を備えると判定された場合に、第１のレコードが選択される。
【００１８】
好ましくは、情報を取り出すステップは、第３のレコードを調べて少なくとも一つの第５のレコードを識別するステップと、この少なくとも一つの第５のレコードから情報を取得するステップと、を備える。
【００１９】
好ましくは、ステートメントを取得するステップは、自然言語ステートメントを受け取るステップと、自然言語ステートメントの構文解析に基づいて中間言語ステートメントを作成するステップと、ステートメントとして中間言語ステートメントを使用するステップと、を備える。
【００２０】
好ましくは、第３のレコードは、第１のレコードと関連づけられる。
【００２１】
好ましくは、第１、第２、第３、第４、および、第５のレコードは、単一表内に含まれる。
【００２２】
本発明の第４の態様に従って、情報を保存する方法が提供され、この方法は次の諸ステップ、すなわち、ステートメントを取得するステップと、ステートメントの構成要素に基づいて識別することができる第１のレコードを作成するステップと、第１のレコードを参照し、かつ第３のレコードを識別するために調べることができる第２のレコードを作成するステップと、情報を取り出すために使用されるように、第３のレコードを配置するステップと、を備える。
【００２３】
好ましくは、第１のレコードを作成するステップは、構成要素に対応する情報を備える第４のレコードを作成するステップと、第４のレコードの識別子を取得するステップと、それが識別子を備えるように第１のレコードを設定するステップと、を備える。
【００２４】
好ましくは、第３のレコードを配置するステップは、次の諸ステップ、すなわち、それが少なくとも一つの第５のレコードを識別するように、第３のレコードを配置するステップと、それが情報を備えるように、第５のレコードを配置するステップと、を備える。
【００２５】
好ましくは、ステートメントを取得するステップは、自然言語ステートメントを受け取るステップと、自然言語ステートメントの構文解析に基づいて中間言語ステートメントを作成するステップと、ステートメントとして中間言語ステートメントを使用するステップと、を備える。
【００２６】
好ましくは、第３のレコードは、第１のレコードと関連づけられる。
【００２７】
好ましくは、第１、第２、第３、第４、および、第５のレコードは、単一表内に含まれる。
【００２８】
本発明の第５の態様に従って、コンピュータに、本発明の第３のまたは第４の態様に従う方法を実施させるための少なくとも一つの命令を備えるコンピュータプログラムが、提供される。
【００２９】
本発明の第６の態様に従って、本発明の第５の態様に従うコンピュータプログラムを備える計算機可読の媒体が、提供される。
【発明を実施するための最良の形態】
【００３０】
図１は、本発明の一実施態様を例示する。この実施態様は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓオペレーティングシステムをインストールされているパーソナルコンピュータ１を備える。このオペレーティングシステムに加えて、このパーソナルコンピュータ１は、情報を管理するためにコンピュータ１のユーザーによって使用される情報管理ソフトウェアが、インストールされている。この情報管理ソフトウェアは、例えば一群の人々の連絡先詳細または一組の医療記録などの多様な範囲の情報を管理するために使用することができるようなものである。
【００３１】
この情報管理ソフトウェアはグラフィカルユーザーインタフェース（ＧＵＩ）の形でインタフェース３を表示するように使用可能な第１のモジュールを備え、それは図２内に例示されている。インタフェース３はダイアログボックス５を備え、ユーザーはコンピュータ１に接続されたキーボード７を使用して、自然言語ステートメントで、それを入力することができる。この情報管理ソフトウェアは、様々な言語で自然言語ステートメントを受け取る能力を持つようなものである。自然言語ステートメントの実例は、「私の自動車登録は、２００５年４月１５日に予定されている」または、「私の自動車更新は、いつ予定されているか？」であってもよい。本発明の実施態様の独特の側面の一つは、ユーザーが自然言語ステートメントを使用して情報を管理することができる点であり、それは、使いやすい利点を提供し、かつ情報を管理するために特別なコンピュータ言語を学ばなければならないという望ましくない要求を回避する。
【００３２】
この情報管理ソフトウェアは、インタフェース３によって受け取られる自然言語ステートメントを解析するための構文解析プログラムとして機能するように使用可能な第２のモジュールを備える。構文解析プログラムは、基本的に、自然言語ステートメントの構文解析から、中間言語ステートメントを作成するように使用可能である。中間言語ステートメントを作成するために、構文解析プログラムは、自然言語ステートメントを、主語、および、述語に解析することができ、主語および目的語内の名詞および性質形容詞、同じく動詞、およびそれが意味する関係の形式を識別する。
【００３３】
自然言語ステートメントを解析することができることに加えて、第２のモジュールは、入力（自然言語ステートメント）が中間言語ステートメントに正確に変換されるように、自然言語ステートメント内のパターンを認識し、かつ、データの形式を推論するためにそのパターンを使用する能力を持つ。この情報管理ソフトウェアは、パターン定義が知識ベース（それは、明細書の以下の段落内に、更に詳細に記述されている）内に保存されるようなものである。知識ベース上のパターン定義は、追加されることができ、または旧パターン定義は編集され、または削除することができる。第２のモジュールは、以下の制御パターンを処理するように使用可能であり、
・オプション−以下のパターンはオプションである。ターゲット内に現れない場合、パターンマッチはフェイルとならない（入力は一致する）。
・複数−以下のパターンはターゲット内に複数回発生することができる。不一致が見つかるまで、各々の反復ごとに一致し続ける。オプションのパターンが複数パターンに先行しない限り、複数パターンの少なくとも一つの出現がターゲット内になければならない。
【００３４】
第２のモジュールのパターンマッチング能力もまた、それがパターン内に埋め込まれたパターンを処理することができるようなものであり、親パターンは子パターンを持つことができる。例えば、ステートメントのパターンが「主語述語」として定められる場合、第２のモジュールは、それが更なるパターン知識項目を持たない知識オブジェクトを検出するまで、それが「主語」および「述語」知識項目内の更なるパターン知識項目を探すようなものである。知識項目および知識オブジェクトの概念は、明細書の以下の段落内に、詳細に記述される。第２のモジュールのパターンマッチング能力もまた、それが親パターンに対して複数の子パターンを処理することができるようなものである。例えば、自然言語ステートメントが、「文」であるとみなされる場合、文パターンは、以下の子パターンを持つことができる。
・命令
・ステートメント
・質問
中間言語は、一組の演算子を備える（演算子として使用される実際のシンボルは、これらのステートメントを解読する必要がある解釈プログラムソフトウェアに関してのみ重要である）。実施態様に使用されるいくつかのシンボルは、次の通りである。
＝            Ｉｓ（である）
＆            非排他的な特性を持つ（それが存在しない場合、新しいインスタンスを作成する）。この特性の他のいかなるインスタンスも無効にしない。
．            排他的な特性を持つ（それが存在しない場合、新しいインスタンスを作成する）。この特性の他のいかなるインスタンスも無効にする。
＞            アクション
（  ）            属性を囲うために使用される。
：            属性内の概念と値を分離する
，            属性を分離する。
／            パス内の目的語から主語を分離する。
！            Ｎｏｔ（〜ない）
＊            新しいインスタンスまたは概念。完全な一致が存在しない場合、新しい知識項目を作成する。
？            パスの終わりに配置される場合、ステートメントではなく質問を示す
〜ｎ            知識ベースの値フィールド内に使用される。１つまたは複数の知識オブジェクトＩＤがＡＳＣＩＩデータ列内にコード化される場合、各々の知識オブジェクトＩＤに先行する。「ｎ」は、知識オブジェクトＩＤにおける桁数を示すために使用される。これは、一例としてだけである。テキストまたは他のデータ列内の知識オブジェクトＩＤをコード化するための、他のいくつかのオプションは、定義済みの上記の拡張文字によって識別された、固定長フィールド、ＡＳＣＩＩフィールドまたは固定長２進数データフィールドを使用することができる。
【００３５】
中間言語ステートメントに使用される実際の単語が、人間の言語からのものであってもよく、または、例えばパターンマスクまたは数学的計算式などの象徴的な情報であってもよい。中間言語ステートメントの実例は、Ｊａｃｋ．ｈａｉｒ／（色：黒、長さ：短い）、
これはフランス語でもまったく同様に機能し、Ｊａｃｑｕｅｓ．ｃｈｅｖｅｕｘ／  （色：黒、長さ：短い）中間言語ステートメントのこの実例は「ジャックは、短い黒毛を持つ」の行に沿った英語文から翻訳される。
【００３６】
第１のモジュールおよび第２のモジュールに加えて、情報管理ソフトウェアは、情報を管理する、すなわち例えば、情報を保存・取り出しする役割を果たす第３のモジュールを備える。情報を管理するために、第３のモジュールは、基本的に情報を管理するための第２のモジュールによって作成される中間言語ステートメントを使用する。第３のモジュールがどのように中間言語ステートメントを使用するか記述する前に、情報が保存される方法を記述することが賢明である。
【００３７】
本実施態様において、コンピュータ１は情報を保存するための基本的な機能として、Ｍｉｃｒｏｓｏｆｔ  Ａｃｃｅｓｓリレーショナルデータベースをロードされている。コンピュータ１は、情報を保存するための基本的な機能として、代替データベースを使用するように配置することができることは、当業者によって理解されよう。第３のモジュールはそれが表を使用するようなものであり、以下に、図３に示される知識ベースを参照する。知識ベースは可変数のレコードを備え、以下に知識項目として参照される。知識項目は、事実上図３に示される表内の行である。一まとまりの関連した知識項目は、知識オブジェクトを表現する。図３から分かるように、知識項目の各々は多くのフィールドを含む。以下は、各々のフィールド内に含まれる情報に関する記述を提供する。
ＩＤ−各々の知識項目を識別する一意のフィールド。
概念−このフィールドが、概念または一つの知識のインスタンスであるどうか識別するオプションのフィールド。同じ情報が別々の知識項目としてコード化することができるので、これはオプションであるが、知識項目のフィールド内にそれを記録することはよりすばやく、および、より簡潔である。
関係−この知識項目とそれが帰属する知識オブジェクトとの間の関係を示す。関係の例は、「ある」、「持つ」、および、「する」である。「する」は、各種の動作（動詞）と関連づけられることができる。このフィールドは、また、関係の時制（過去、現在または未来）をコード化する。
否定−「ない」、「持たない」、および、「しない」式の関係を作成するために、関係フィールドを否定する。
Ｐａｒｅｎｔ＿Ｉｄ−知識オブジェクトを形成するために知識項目を互いにリンクする。同じＰａｒｅｎｔ＿Ｉｄを共有している全ての知識項目は、密接に関連しており、および、単一知識オブジェクトを備える。
Ｃｏｎｃｅｐｔ＿Ｉｄ−知識ベース内の別の知識項目に対するポインタ。このフィールドは、現在の知識項目の概念知識オブジェクトを示すために使用される。（例えば、知識オブジェクトが「色」に対して前もって定められ、かつ現在の知識項目が「赤」に対する知識オブジェクトの一部である場合。関係が「ある」で、Ｃｏｎｃｅｐｔ＿Ｉｄが「色」の知識オブジェクトを指す場合、現在の知識項目は、「赤は、色である」と述べる）。
Ｖａｌｕｅ＿Ｉｄ−知識ベース内の別の知識項目に対するポインタ。このフィールドは、現在の知識項目の値知識オブジェクトを示すために使用される。（例えば、知識オブジェクトが「赤」として前もって定められ、および、別の知識オブジェクトが「色」として前もって定められる場合を想定する。現在の知識項目は、「ジャックの毛」に対する知識オブジェクトの一部である。関係が「持つ」であり、および、Ｃｏｎｃｅｐｔ＿Ｉｄが「色」の知識オブジェクトを指し、かつ値ｌｄが「赤」の知識オブジェクトを指す場合、現在の知識項目は、「ジャックは、赤毛を持つ」を述べる。
・値−いかなる２進データをも含む。それは、単一Ｖａｌｕｅ＿Ｉｄフィールドによって示されることができない情報をコード化するためにある。例は、テキスト、コード化されたＶａｌｕｅ＿Ｉｄのパターン、および、他のデータ、オーディオまたはビデオデータ、であってもよい。
・有効性−知識項目内に保存される情報がもはや有効でなく、過去の情報目的のために保存される場合にクリアすることができるフラグ（ブーリアン式のフィールド）。
【００３８】
情報管理ソフトウェアがどのように情報が保存されることを可能にするかについて例示するために、ジャックと呼ばれる人が短い黒毛を持つ、という事実の情報を保存することを望むユーザーの実例を考える。こうするために、ユーザーは単にダイアログボックス５内に「ジャックは、短い黒毛を持つ」とタイプすることができる。第２のモジュールは、以下の中間言語ステートメントに、この自然言語ステートメントを変換する。Ｊａｃｋ．ｈａｉｒ／（色：黒、長さ：短い）。図４内に示される表を参照して、中間言語ステートメントは、次いで第３のモジュールに引き継がれ、それは、値フィールド内に単語「ジャック」、「ある」の関係、および、Ｂ３のＣＩｄを持つ知識項目を含む全ての知識オブジェクトを検出することを試みる（Ｂ３は、英語の名前の概念に対する知識オブジェクトである）。Ｂ１の知識オブジェクトは、これらの状態を満足しており、したがって、英語の名前ジャックに対する知識オブジェクトである。単語「ジャック」に対する知識オブジェクトを検出して、次のステップは、ジャック自身に対する知識オブジェクトを見つけることである。これは、「持つ」の関係、Ｂ３（英語の名前）のＣＩｄ、および、Ｂ１のＶＩｄ、を持つ全ての知識オブジェクトを検出することによってなされる。Ａ１の知識オブジェクトが、これらの条件を満足しており、したがって、この知識オブジェクトは「英語の名前ジャックを持つ」と想定することができる。それは、ジャック自身に対する知識オブジェクト（ＪａｃｋＫＯ）である。基準を満たす複数の知識オブジェクトがある場合、解釈プログラムは、続ける前に、詳細情報を促す必要がある。
【００３９】
唯一の（または正しく識別された）ジャック知識オブジェクト（Ａ１）が知識ベースの中で検出された後で、第３のモジュールは、この知識オブジェクトＩＤを保存し、かつ中間言語ステートメント内の次の単語−「毛」に移り、そして、検索プロセスを繰り返す。これは、「ある」の関係、Ｂ２（英語の単語）のＣＩｄ、および、「毛」のＶＩｄの全ての知識オブジェクトを検出することを伴う。Ｃ１が、結果である。第３のモジュールは、次いで、「持つ」の関係、Ｂ２（英語の単語）のＣＩｄ、および、Ｃ１のＶＩｄの知識オブジェクトを検出するために進む。Ａ３が、結果である。それは、毛の概念に対する知識オブジェクト（ＨａｉｒＫＯ）である。
【００４０】
中間言語ステートメントから最初の２つの知識オブジェクトを識別して、「Ｊａｃｋ．ｈａｉｒ」は「Ａ１．Ａ３」によって置換することができる。次のステップは、中間言語ステートメントのこの部分が分析することができるかどうかを判定することである。「．」演算子は、「持つ」関係を意味し、それで、第３のモジュールは、知識オブジェクトＡ１が「持つ」の関係、および、Ａ３のＣＩｄを有する知識項目を含むかどうか、確認しなければならない。これは、知識オブジェクトＡ１の行３で見つかる。この知識項目は「ジャックは、毛を持つ」という知識を示す。それが存在しなかった場合、知識ベースは前もってジャックが毛を持つという情報を持たず、および、したがって、このデータを有する新しい知識項目を作成する。
【００４１】
ジャックの毛に関する、追加の情報（色、および、長さ）を保存するために、知識オブジェクトが、必要とされる。知識項目３のＶＩｄ（Ａ２）は、この情報を含む知識オブジェクトを指す。知識項目３が前のステップ内に存在しなかった場合、それは、知識オブジェクトＡ２もまた存在しなかったことを意味し、したがって、第３のモジュールは、知識オブジェクトＡ２（Ｊａｃｋ．ＨａｉｒＫＯ）を作成する必要があり、知識項目３のＶＩｄフィールド内に、そのＩＤ（Ａ２）を配置する必要がある。知識オブジェクトＡ３に中間言語ステートメント「Ｊａｃｋｓ．ｈａｉｒ」の第１の部分を分析して、第３のモジュールは、単語対「色：黒」に対する中間言語ステートメントに移動する。「ある」の関係、Ｂ２（英語の単語）のＣＩｄ、および、「色」のＶＩｄを有する知識オブジェクトが、次いで検出される。Ｃ２の選択という結果になる。
【００４２】
第３のモジュールは、次いで「持つ」の関係、Ｂ２（英語の単語）のＣＩｄ、および、Ｃ２のＶＩｄの知識オブジェクトを検出する。Ｃ３が、結果である。それは、色の概念に対する知識オブジェクト（ＣｏｌｏｕｒＫＯ）である。それに続いて、第３のモジュールは、「ある」の関係、Ｂ２（英語の単語）のＣＩｄ、および、「黒」のＶＩｄの知識オブジェクトを検出することを試みる。Ｃ４が、結果である。最後に、第３のモジュールは、「持つ」の関係、Ｂ２（英語の語）のＣＩｄ、および、Ｃ４のＶＩｄの知識オブジェクトを検出する。Ｂ４が、結果である。それは、黒の概念に対する知識オブジェクト（ＢｌａｃｋＫＯ）である。
【００４３】
これらの知識オブジェクトを検出し、第３のモジュールは、Ｃ３（ＣｏｌｏｕｒＪＣＯ）のＣＩｄ、および、Ｂ４（ＢｌａｃｋＫＯ）のＶＩｄとともに「持つ」の関係を持つ知識オブジェクトに対するＡ２（Ｊａｃｋ．ＨａｉｒＫＯ）を検索する。この知識項目が見つかる場合、それはその知識ベースがすでに、ジャックの毛は黒であるとわかっていることを示し、何のアクションもとられない。Ｃ３（ＣｏｌｏｕｒＫＯ）のＣＩｄ、および、Ｂ４（ＢｌａｃｋＫＯ）と等しくないＶＩｄとともに「持つ」の関係を持つ知識項目が見つかる場合、この知識項目は無効にされ（ＩｓＶａｌｉｄは偽に設定される）、および、Ｃ３（ＣｏｌｏｕｒＫＯ）のＣＩｄ、および、Ｂ４（ＢｌａｃｋＫＯ）のＶＩｄとともに「持つ」の関係を持つ新しい知識項目が作成される。このプロセスは、ジャックの毛色を、それが以前どんな色であろうと黒に変更した。しかし、何の知識項目も見つからない場合、Ｃ３（ＣｏｌｏｕｒＫＯ）のＣＩｄ、および、Ｂ４（ＢｌａｃｋＫＯ）のＶＩｄとともに「持つ」の関係を持つ新しい知識項目が、作成される。このプロセスは、ジャックの毛色を黒として記録する。情報管理ソフトウェアによって保存される情報の配置が、図７内に示される。
【００４４】
中間言語ステートメントの色部分を分析して、第３のモジュールは、単語対「長さ：短い」に対する中間言語ステートメントに移り、ステートメントの最終的部分を分析するために、上で概説されたものに類似したステップを実行する。
【００４５】
情報を保存するときに情報管理ソフトウェアが実行する様々なステップが、図５のフローチャート内に示されている。
【００４６】
情報管理ソフトウェアがどのように情報を取り出すかについて例示するために、以下の実例を考える。ジャックがどんな色の毛を持つかについて知ることを望むユーザーは、次の自然言語ステートメント「ジャックは何色の毛を持つか？」をダイアログボックス５に入力することができる。第２のモジュールにこのステートメントを渡すと、中間言語ステートメント「Ｊａｃｋ．Ｈａｉｒ．Ｃｏｌｏｕｒ？」になる。この中間言語ステートメントを使用して、第３のモジュールは、基本的に知識オブジェクトＡ１．Ａ３を識別するための以前の記述されたステップに従う。一旦、これらの知識オブジェクトが識別されると、第３のモジュールは毛（Ａ３）が色の概念を持つかどうか判定するために進む。こうするために、第３のモジュールは、「ある」の関係、Ｂ２（英語の単語）のＣＩｄ、および、色のＶｉｄを持つ知識オブジェクトを検出することを試みる。結果は、Ｃ２である。ここで、第３のソフトウェアモジュールは、「持つ」の関係、Ｂ２（英語の単語）のＣＩｄ、および、Ｃ２のＶＩｄの知識オブジェクトを検出するために進む。これは、Ｃ３が識別されるという結果になる。
【００４７】
ここで、第３の処理手段は、ジャックに関する情報が、Ａ１内に含まれ、ジャック（Ａ１）の毛に関する情報が、Ａ３の概念に対応し、ジャックの毛の色に関する情報が、Ｃ３の概念に対応する、ということを知る。したがって、ジャックの毛の色を取り出すために、第３のモジュールはＡ３のＣＩｄに対応するＡ１のＶＩｄフィールドに向かい、それはＡ２という結果になる。第３のモジュールは次いでＡ２、特にＣ３のＣＩｄに対応するＡ２のＶＩｄフィールド、を調べる。そして、それはＢ４である。Ｂ４のＶＩｄフィールドがＣ４（英語の単語）を参照するので、第３のモジュールはＣ４の値フィールドを調べることによってジャックの毛の色を取得する。そして、それは「黒」である。
【００４８】
情報フィールド内の単語黒は次いでインタフェース３へ戻され、それはダイアログボックス５内に単語黒を表示する。したがって、ユーザーが情報を取り出すことを可能にする。
【００４９】
情報を取り出すときに、情報管理ソフトウェアによって実行される様々なステップが、図６のフローチャート内に示される。
【００５０】
インタフェース３が代替実施態様において異なる形態をとることができることは、当業者によって理解されよう。例えば、１つの代替実施態様において、インタフェースがテキスト駆動されたインタフェースの代わりに音声インタフェースの形とすることができる。代わりに、ステートメントを含むソフトウェアベースの機能（ルーチン）コールの形のインタフェースとすることができる。当業者はまた、本発明の実施態様を使用して保存される情報は、さまざまな異なる情報とすることができることを理解するであろう。例えば、情報はアプリケーションの起動または停止に使用するテキスト行とすることができる。このシナリオにおいて、ダイアログボックス５に情報を出力する代わりに、情報は関連するアプリケーションを自動的に起動するように処理することができる。
【００５１】
代替実施態様がソフトウェアの代わりに専用ハードウエアを使用して実装することができる、本発明のいくつかの構成要素は、当業者によって理解されよう。
【００５２】
この明細書の全体にわたって単語「レコード」は、表内の単一行として表すことができる単一知識項目、または表内の複数行によって表すことができる一まとまりの知識項目から成る知識オブジェクトを指す。
【００５３】
当業者は、本願明細書に記述された本発明は、特に記述されたもの以外の変更および修正の余地があることを理解されよう。本発明は、本発明の範囲内に含まれる全てのこの種の変更および修正を含むことが理解されるべきである。
【図面の簡単な説明】
【００５４】
本発明の範囲内に含まれることができる他のいかなる実施態様にも関わらず、添付の図を参照して、本発明の実施態様は、実例としてのみ、次に記述される。
【図１】本発明の一実施態様の例示。
【図２】図１内に例示される本発明の実施態様に使用されるグラフィカルユーザーインタフェースの例示。
【図３】図１内に示される本発明の実施態様によって維持される表の例示。
【図４ａ】図１内に示される本発明の実施態様によって情報が保存される方法の実例の例示。
【図４ｂ】図１内に示される本発明の実施態様によって情報が保存される方法の実例の例示。
【図４ｃ】図１内に示される本発明の実施態様によって情報が保存される方法の実例の例示。
【図５】情報を保存する時に図１のシステムによって実行される様々なステップのフローチャート。
【図６】情報を取り出す時に図１のシステムによって実行されるステップのフローチャート。
【図７】図１のシステムによって保存される情報の配置の例示。
【図１】
2007537515.tif 000003
【図２】
2007537515.tif 000004
【図３】
2007537515.tif 000005
【図４ａ】
2007537515.tif 000006
【図４ｂ】
2007537515.tif 000007
【図４ｃ】
2007537515.tif 000008
【図５】
2007537515.tif 000009
【図６】
2007537515.tif 000010
【図７】
2007537515.tif 000011
【国際調査報告】
2007537515.tif 000012
2007537515.tif 000013
2007537515.tif 000014