(57)【要約】  ノイズの多い（矛盾する）データが存在する場合でも論理的な推論を可能にするシステムと方法が提示される。知識ベースはその矛盾をなくすために処理され、編集される。この処理はスペリングのチェックおよび修正、ストップワードの除去、語幹選択の実行、意味が類似し関連する単語のグループ化、および知識ベースの圧縮化を含む。ロボットは、照会に対する応答、ある特定の目標を達成すために設定された行動方針の決定、およびロボット自身の場所決定のような、多くの異なるタイプのタスクを実行するために処理された知識ベースを使用することができる。
2007520805.tif 000002
【特許請求の範囲】
【請求項１】
知識ベースを処理するための方法であって、統計的方法に基づく相関含意の集合を決定するステップを含む方法。
【請求項２】
第一の対象物と関連付けられた含意を、該第一の対象物の上位語である第二の対象物と関連付けられた含意で置換することによって、前記知識ベースのデータを一般化するステップをさらに含む請求項１に記載の方法。
【請求項３】
前記知識ベースから推論するステップをさらに含む請求項１に記載の方法。
【請求項４】
前記知識ベースから推論するステップは、前記知識ベースに存在しない対象物から推論するステップを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記知識ベースに存在しない前記対象物は、前記知識ベースに存在する対象物の上位語および同意語の一つであることを特徴とする請求項４に記載の方法。
【請求項６】
照会に応答するステップと、どのようにタスクを実行するか決定するステップと、願望をどのように達成するか決定するステップ内の一つをさらに含む請求項３に記載の方法。
【請求項７】
合意的知識を決定するステップと常識的知識を決定するステップ内の一つをさらに含む請求項３に記載の方法。
【請求項８】
ロボットの場所を決定するステップをさらに含む請求項３に記載の方法。
【請求項９】
スペリングが誤っているとの決定に従って、前記知識ベースの単語のスペリングを修正するステップをさらに含む請求項１に記載の方法。
【請求項１０】
単語がストップワードリストに載っているとの決定に従って、該単語を除去するステップをさらに含む請求項１に記載の方法。
【請求項１１】
単語が語根形式で無いとの決定に従って、該単語を語根形式の該単語で置換するステップをさらに含む請求項１に記載の方法。
【請求項１２】
統計的方法は、潜在的意味解析、スペクトラルクラスタリングおよび主成分分析の一つを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
知識ベースを処理するための装置であって、統計的方法に基づく相関含意の集合を決定するように設定された統計的方法モジュールを含む装置。
【請求項１４】
第一の対象物と関連付けられた含意を、該第一の対象物の上位語である第二の対象物と関連付けられた含意で置換することによって、前記知識ベースのデータを一般化するように設定された一般化モジュールをさらに含む請求項１３に記載の装置。
【請求項１５】
前記知識ベースから推論するように設定された推論モジュールをさらに含む請求項１３に記載の装置。
【請求項１６】
前記知識ベースから推論することは、前記知識ベースに存在しない対象物から推論することを含むことを特徴とする請求項１５に記載の装置。
【請求項１７】
前記知識ベースに存在しない前記対象物は、前記知識ベースに存在する対象物の上位語および同意語の一つであることを特徴とする請求項１６に記載の装置。
【請求項１８】
照会に応答することと、どのようにタスクを実行するか決定することと、願望をどのように達成するか決定することの内の一つをさらに含む請求項１５に記載の装置。
【請求項１９】
合意的知識を決定することと常識的知識を決定することの内の一つをさらに含む請求項１５に記載の装置。
【請求項２０】
ロボットの場所を決定することをさらに含む請求項１５に記載の装置。
【請求項２１】
スペリングが誤っているとの決定に従って、前記知識ベースの単語を修正することをさらに含む請求項１３に記載の装置。
【請求項２２】
単語がストップワードリストに載っているとの決定に従って、該単語を除去することをさらに含む請求項１３に記載の装置。
【請求項２３】
単語が語根形式で無いとの決定に従って、該単語を該単語の語根形式で置換することをさらに含む請求項１３に記載の装置。
【請求項２４】
統計的方法は、潜在的意味解析、スペクトラルクラスタリングおよび主成分分析の内の一つを含むことを特徴とする請求項１３に記載の装置。
【請求項２５】
知識ベースを処理するための装置であって、統計的方法に基づく相関含意の集合を決定するための手段を含む装置。
【請求項２６】
第一の対象物と関連付けられた含意を、該第一の対象物の上位語である第二の対象物と関連付けられた含意で置換することによって、前記知識ベースのデータを一般化するための手段をさらに含む請求項２５に記載の装置。
【請求項２７】
前記知識ベースから推論するための手段をさらに含む請求項２５に記載の装置。
【請求項２８】
前記知識ベースから推論することは、前記知識ベースに存在しない対象物から推論することを含むことを特徴とする請求項２７に記載の装置。
【請求項２９】
前記知識ベースに存在しない前記対象物は、前記知識ベースに存在する対象物の上位語および同意語の一つであることを特徴とする請求項２８に記載の装置。
【請求項３０】
照会に応答するための手段と、どのようにタスクを実行するか決定するための手段と、願望をどのように達成するか決定するための手段の一つをさらに含む請求項２７に記載の装置。
【請求項３１】
合意的知識を決定するための手段と常識的知識を決定するための手段の一つをさらに含む請求項２７に記載の装置。
【請求項３２】
ロボットの場所を決定するための手段をさらに含む請求項２７に記載の装置。
【請求項３３】
スペリングが誤っているとの決定に従って、前記知識ベースの単語を修正するための手段をさらに含む請求項２５に記載の装置。
【請求項３４】
単語がストップワードリストに載っているとの決定に従って、該単語を除去するための手段をさらに含む請求項２５に記載の装置。
【請求項３５】
単語が語根形式で無いとの決定に従って、該単語を語根形式の該単語で置換するための手段をさらに含む請求項２５に記載の装置。
【請求項３６】
統計的方法は、潜在的意味解析、スペクトラルクラスタリングおよび主成分分析の内の一つを含むことを特徴とする請求項２５に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
１．発明の分野
本発明は自動化推論に関する。より具体的には、本発明はノイズの多いデータで自動化推論を実現するために統計的技術を使用することに関する。
【背景技術】
【０００２】
２．背景技術の説明
ロボットはやがてそれらの環境内でタスクを成し遂げ、それらの利用者の要求および願望を理解して満足させることが予想される。これらの願望を決定し、いかにしてそれらを達成できるかを推論するためには常識が必要である。ロボティクスの分野の主要な挑戦の一つは、それらに常識を与えることによって、ロボットの知能をもっと高めることである。ロボットが常識を持つためには、それらは基礎として用いるための一般知識をある程度の量必要とする。それらはそれらのタスクを達成し、それらの世界と知的に相互作用するために、この基礎から推論することが可能である。
【０００３】
人工知能分野の一つのトピックである自動化推論は、論理的推論を実行するためのコンピュータ利用に関係している。演繹のような論理的推論は、事実から結論を引き出すことから成っている。結論は規則（例えば、含意）を事実に適用することによって形成される。このことは推論としても知られている。論理的推論システムは含意、事実から構成される基礎およびこれらの事実に含意を適用するための制御メカニズムを含む。自動化推論システムにおいて、事実と含意は「知識ベース」に記憶される。事実は、例えば利用者の入力（例えば、「ストーブは熱い」とタイプ）またはセンサ入力（例えば、ストーブの近傍に熱センサを設置）によって確立される。含意は、例えば利用者入力（例えば、「冷蔵庫内の品物は冷たい」とタイプ）または機械学習によって確立される。
【０００４】
論理的推論が論理的に正しいためには、結論はそれが引き出される事実から必然的に導かれることを、含意は必ず必要とする。システムが起動する時の事実と含意に応じて、多くの異なる結論に到達する可能性がある。さらに、含意は事実（最初からシステムに入力される）と結論（含意によって生成される）の両者に適用することが可能である。事実、含意および結論間の相互作用のために、最初に入力される事実と含意は正しいことが重要である。事実または含意が誤りまたは相互矛盾していれば、得られる結論は無効である可能性がある。
【０００５】
従って、自動化推論システムは自己矛盾の無い知識ベースを持たねばならない。論理的に正しく完全な一貫性のチェックは、データベースのアイテムの数に従って、指数関数的な時間量を必要とする。一貫性のチェックは、知識ベースに何かが追加されるたびに実行される必要がある。この結果、自動化推論システムは非常に不安定なことになる。それらの知識ベースは頻繁に手作業で作成され、語彙の差は通常は許容されない。
【０００６】
矛盾した知識で推論する一つの方法は、推論を実行する前に、知識ベースを改訂することである。どのような改訂処理も、明示的あるいは非明示的に、優先度に基づく規則の整理が必要である。このことは次の文献よって証明されている。「オン  ザ  セマンティクス  オブ  アップデーツ  イン  データベース」アール・ファジン、ジェーディー・ウルマン、エムワイ・バルディ、イン  プリンシプルズ  オブ  データベース  システムズ：プロシーディングズ  オブ  ザ  セカンド  ＡＣＭ  ＳＩＧＡＣＴ−ＳＩＧＭＯＮＤ  シンポジューム、３５２−３６５頁、アトランタ、１９８３；「ノリッジ  イン  フラックス−モデリング  ザ  ダイナミック  オブ  エピステミック  ステーツ、」ピー・ガーデンフォロス、ケンブリッジ、マサチューセッツ，１９８８。（"On the semantics of updates in database" by R. Fagin, J.D. Ullman, M.Y. Vardi, in Principles of Database Systems: Proceedings of the Second ACM SIGACT-SIGMOD Symposium, pp. 352-365, Atlanta, 1983; and "Knowledge in Flux ？ Modeling the Dynamic of Epstemic States" by P. Gardenfors, Cambridge, MA, 1988.  あるいは、「ハウ  トゥ  インファー  フロム  インコンシスタント  ビリーフス  ウィズアウト  リバイジング？」エス・ベンファーハット、ディー・デュブワおよびエイチ・プレイド、プロシーディングズ  オブ  ザ  フォーティーンス  インターナショナル  ジョイント  カンファランス  オン  アーティフィシャル  インテリジェンス、モントリオール、カナダ、８月２０−２５日、１９９５（"How to infer from inconsistent beliefs without revising?" by S. Benferhat, D. Dubois, and H. Prade, Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence, Montreal, Canada, August 20-25, 1995）に記載されているように、最初に知識ベースを改訂することなく矛盾する知識で推論することが可能である。一般にこの分野の先行する研究は、統計的技術よりも論理的人工知能技術に基づいている。
【０００７】
知識ベースから推論する前に、知識ベースを編集することも有益である。知識ベースの編集は、知識ベースデータのクリーニング、一般化および圧縮を含むことが可能である。編集は推論処理に必要なリソース（時間、メモリその他）の量を減らすことが可能である。
【０００８】
必要とするものは、自動化推論システムをノイズの多いデータを使用できるようにする方法、即ち自己矛盾しない知識ベースである。さらに、自動化推論システムは知識ベースに無い単語を含むタスクを取り扱いできるべきである。
【発明の開示】
【０００９】
発明の要約
ロボティクス分野の主要な挑戦の一つは、それらに常識を与えて知能をもっと高めることである。この常識は論理的推論を実行するために使用することが可能である。常識は知識ベースに、ステートメントと含意からなる集合として記憶される。ステートメントと含意が相互に矛盾の無いことが重要である；もしそうでないと、結果として得られる結論は無効であるかもしれない。
【００１０】
ノイズの多い（矛盾する）データが存在しても、論理的な推論を可能にするシステムと方法が提案される。知識ベースは矛盾が無いようにするために処理され、また編集される。この処理は、スペリングのチェックおよび修正、ストップワードの除去、語幹抽出（stemming）の実行、意味が類似し関連している単語のグループ化および知識ベースの圧縮を含む。
【００１１】
ロボットは多くの異なる環境で、多くの異なるタスクを実行するために、処理された知識ベースを使用することが可能である。一実施形態において、ロボットは家庭又はオフィス環境で使用される移動ロボットである。考えられるタスクとしては、例えば、照会に対する応答、ある特定の目標を達成するように設定された行動方針を決定すること、およびロボット自身の場所決定が含まれる。
【発明を実施するための最良の形態】
【００１２】
発明の詳細な説明
類似の参照番号が類似の要素を示す添付図面の図において、発明は限定するためではなく、例示のために示される。
【００１３】
以下の説明において、説明の目的から、多くの具体的な詳細が発明の完全な理解を目的として提示される。しかしながら、これらの具体的な詳細が無くても、本発明が実施可能であることは、当業者にとって明らかである。他の場合において、本発明を不明確にすることが無いように、構造および装置がブロック図の形で示される。
【００１４】
明細書中の「一実施形態」又は「実施形態」の使用は、その実施形態に関連して説明された特定の特徴、構造又は特性が本発明の少なくとも一実施形態に含まれることを意図している。明細書中のいくつかの個所で出現する「一実施形態において」は必ずしも全てが同じ実施形態に言及するものではない。
【００１５】
以下に述べられる詳細な記述のある部分は、コンピュータメモリ内のデータビット上の動作について、アルゴリズムおよび記号表現の形で示されている。これらのアルゴリズムの説明および表現は、データ処理技術に携わる当業者が自分の成果の中身を最も効果的に他の当業者に対して伝達するために使用する手段である。ここでは、また一般にも、一つのアルゴリズムは所望の結論に導く自己矛盾の無い一連のステップと考えられる。ステップは物理量の物理的な操作を要求するものである。必ずというわけではないが、通常、これらの量は、記憶、移動、結合、比較およびその他の操作が可能な電気または磁気信号の形を取る。主に通常の使用にかかわる理由として、これらの信号を、ビット、数値、要素、記号、文字、項、番号等と呼ぶと便利な場合があることが分かっている
【００１６】
しかしながら、これらおよび類似の用語の全てが、適切な物理量と関連付けられ、これらの量に適用される便宜的な表示に過ぎないことを覚えておくべきである。具体的に宣言されない限り、以下の議論で明らかなように、説明を通して、「処理する」、「演算する」、「計算する」、「決定する」「表示する」等を使用する議論は、コンピュータシステムのレジスタおよびメモリ内に物理（電子）量として表されているデータを、コンピュータシステムのメモリ、レジスタ、あるいは他のそのような情報保存、伝送またはディスプレイ装置内で、同じように物理量として表わされる他のデータに、操作して変換するコンピュータシステムまたは類似の電子計算装置の実行および処理、に言及している。
【００１７】
本発明はここで動作を実行する装置にも関係している。この装置は要求目的に合わせて構成された専用機か、あるいはコンピュータ内に記憶されたコンピュータプログラムによって、選択的に作動または再設定される汎用のコンピュータを含む。このようなコンピュータプログラムはコンピュータが読み出し可能な次のようなストレージ媒体、以下に限定されないが例えば、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスクを含む任意のタイプのディスク、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気または光カード、または電子命令を記憶可能な全てのタイプの媒体に記憶され、以上のそれぞれの媒体はコンピュータシステムバスに接続される。
【００１８】
ここで示されるアルゴリズムとディスプレイは特定のコンピュータまたは他の装置に固有に関連するものではない。多種の汎用目的のシステムが、ここでの教示事項に従ったプログラムを実装して使用され、あるいは要求される方法のステップを実行するためにより専用化された装置が構築される。これらのさまざまなシステムに要求される構成は以下の説明によって明らかになる。さらに、本発明はいずれの特定のプログラミング言語も参照することなく説明される。ここで説明される本発明の教示事項を実施するために、さまざまなプログラミング言語が使用可能であると認識される。
【００１９】
１．推論装置の構成
図１は、ノイズの多いデータが存在する場合の、推論装置の好適な実施形態を示すブロック図である。推論装置１００は、全てシステムバス１４０に通信可能な状態で接続される、プロセッサ１１０、メインメモリ１２０、データ記憶装置１３０、および入出力制御器１８０を含むことが好ましい。推論装置は、例えば、コンピュータ又はロボットであることがある。
【００２０】
推論装置１００は、ノイズの多いデータが存在する場合、推論を可能とするために統計的推論を用いる。論理的推論と異なり、統計的推論は不確実性の考えを含む。この不確実性は、潜在意味解析のような統計およびベイジアンネットワークのような確率論の使用を介して表される。統計的推論は慣例で、データ検索およびデータマイニングの分野において大量のテキスト文献を処理するために使用されてきた。
【００２１】
統計的方法を使用する知識ベースを処理して、推論装置１００は知識ベースに合意的知識（consensus knowledge）を一義的に反映させる。推論装置１００は無効な結論を生み出すことなく知識ベースから推論することができる。統計的推論技術は過去においてこの分野では使用されたことが無い。この理由の一つとして、過去においては利用可能なデータが統計的技術を行使できるほどに密で無かったことが考えられる。
【００２２】
推論装置１００はまた照会と命令を処理するために統計的方法を使用する。この結果、推論装置１００は知識ベースに無い単語を含むタスクを取り扱うことが可能になる。
【００２３】
プロセッサ１１０はデータ信号を処理し、複号命令セットコンピュータ（ＣＩＳＣ）、縮小命令セットコンピュータ（ＲＩＳＣ）または命令セットを組み合わせた構成を含むさまざまな計算構成を含む。図１では一つのプロセッサだけが示されているが、多数のプロセッサが含まれる場合もある。
【００２４】
メインメモリ１２０はプロセッサ１１０によって実行される命令および／またはデータを保存する。命令および／またはデータは、ここで説明される技術のいずれかおよび／または全てを実行するためのコードを含む。メインメモリ１２０はダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）またはその他の周知のメモリデバイスであることが望ましい。
【００２５】
データ記憶装置１３０はプロセッサ１１０のためのデータおよび命令を記憶し、ハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭデバイス、ＤＶＤ−ＲＯＭデバイス、ＤＶＤ−ＲＡＭデバイス、ＤＶＤ−ＲＷデバイス、フラッシュメモリデバイスまたはその他の既知の大容量ストレージデバイスを含む一つ以上のデバイスを含む。
【００２６】
ネットワーク制御器１８０は推論装置１００が通信できるように推論装置１００を他の機器にリンクさせる。
【００２７】
システムバス１４０は推論装置１００の至る所で情報およびデータを通信するための共有バスである。システムバス１４０は、工業標準アーキテクチャ（ＩＳＡ）バス、周辺機器相互接続（ＰＣＩ）バス、ユニバーサルシリアルバス（ＵＳＢ）またはその他の類似の機能を実現できる周知のバスを含むバスの一つ以上のバスである。
【００２８】
システムバス１４０経由で推論装置１００に接続される可能性のある追加コンポーネントとしては、ディスプレイ装置１５０、キーボード１６０およびカーソル制御装置１７０がある。ディスプレイ装置１５０は電子イメージおよびデータをローカルユーザまたは保守担当者に表示できる装置であればどのようなものでも構わない。ディスプレイ装置１５０は陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）またはその他の類似の機能を有するディスプレイ装置、スクリーンまたはモニタである。キーボード１６０は情報および命令選択をプロセッサ１１０へ通信するために推論装置１００に接続されたアルファベットと数字を組み合わせた入力装置である。カーソル制御装置１７０は命令選択および位置データをプロセッサ１１０へ通信するために備えられたユーザ入力装置である。カーソル制御装置１７０は、マウス、トラックボール、スタイラス、ペン、カーソル方向キーあるいはカーソルに動作を与える他の機構を含む。
【００２９】
当業者にとって、本発明の範囲を逸脱することなく、推論装置１００が図１に示された例より多くのまたは少ないコンポーネントから構成されることは自明である。例えば、推論装置１００は追加のメモリ、例えば、プライマリまたはセカンダリレベルのキャッシュ、あるいは一つ以上の特定用途向け集積回路（ＡＳＩＣ）を含むこともある。上述のように、推論装置１００はＡＳＩＣだけから構成することもある。さらに、推論装置１００に連結される可能性のあるコンポーネントとしては、例えば、画像走査装置、デジタルスチルまたはビデオカメラ、あるいは推論装置１００へ／又は推論装置１００から電子データを取得および／またはダウンロードするために装備されてもされなくても良い他の装置が挙げられる。
【００３０】
図２は図１に示されたメモリユニットの内容をより詳細に示すブロック図である。一般に、メインメモリ１２０は、ノイズの多いデータが存在する場合に推論するためのいくつかのコードモジュールを含む。特に、メインメモリ１２０のコードモジュールは、メインプログラム２００、知識ベース処理プログラム２０５、推論プログラム２１０、スペルチェックモジュール２１５、ストップワードモジュール２２０、語幹抽出モジュール２２５、潜在意味解析モジュール２３０、WordNetモジュール２３５、統計生成モジュール２４０および知識ベース２４５からなる。
【００３１】
全てのコードモジュール２０５、２１０、２１５、２２０、２２５、２３０、２３５、２４０、２４５はメインプログラムモジュール２００に通信可能に連結される。メインプログラムモジュール２００が中心となって推論装置１００の動作および処理フローを制御し、個々のコードモジュール２０５、２１０、２１５、２２０、２２５、２３０、２３５、２４０、２４５からデータを受信するとともに、これらのモジュールへ命令とデータを送信する。メインプログラムモジュール２００の動作の詳細については図３を参照して以下に説明する。
【００３２】
知識ベース処理プログラム２０５は知識ベースを自己矛盾が無くなるように処理し、知識ベースを編集する。これを達成するために、知識ベースプログラム２０５は、スペルチェックモジュール２１５、ストップワードモジュール２２０、語幹抽出モジュール２２５および潜在意味解析モジュール２３０を使用する。
【００３３】
知識ベース２４５は事実と含意を含む知識ベースを記憶する。含意は事実に適用されるので、結果として得られる結論も知識ベース２４５に記憶される。
【００３４】
スペルチェックモジュール２１５は単語のスペリングをチェックし修正する。ストップワードモジュール２２０は収集した単語から特定の単語を除外する。語幹抽出モジュール２２５は同じ単語の単語変形をマップ化する。例えば、"cooking", "cooked"および"cooks"は"cook"にマップ化される。潜在意味解析モジュール２３０は最も関連のある含意を探すために、収集した含意に潜在意味解析を実行する。WordNetモジュール２３５はデータを圧縮する。WordNetモジュール２３５はまた知識ベースに存在しない単語について推論することを可能にする。推論プログラム２１０は知識ベースに記憶された事実と含意を使用し、推論によって結論を生成する。統計生成モジュール２４０は知識ベース内のデータに基づいて統計を生成する。図３および４を参照してコードモジュール２００−２４５について、以下にさらに説明する。
【００３５】
２．推論装置の使用
上述のように、推論装置１００は多くの異なったタスクを実行するために、多くの異なる状況において使用が可能である。図３はノイズの多いデータが存在する場合の推論方法を示す。一実施形態において、この推論は常識に基づいている。
【００３６】
2007520805.tif 000003
【００３７】
2007520805.tif 000004
【００３８】
2007520805.tif 000005
【００３９】
2007520805.tif 000006
【００４０】
2007520805.tif 000007
【００４１】
データは入出力制御器１８０を介して推論装置１００へ通信されたかもしれない。または、データはデータ記憶装置１３０にあるかもしれない。
【００４２】
メインプログラム２００が一旦データを知識ベース２４５にロードすると（３０５）、メインプログラム２００は統計的技術を使用して知識ベース２４５を処理する（３１０）。この処理の目的の一つは知識ベースを自己矛盾が無いようにすることである。知識ベースに自己矛盾が無いことを確実にする一つの方法は、人手によって知識ベースを作成し、個々の情報が有効なことを確認し、その情報が知識ベースの他の情報と矛盾しないことをチェックすることである。知識ベースが役立つためには大量の情報を含む必要があるので、人手による作成は大量の時間がかかることがある。個々の情報を人的にレビューする人を必要とせずに、知識ベースを自己矛盾が無いようにできることが好ましい。この処理のもう一つの目的は、知識ベースに必要な記憶スペースが減少し、それに基づいて推論がより迅速に実行できるように、知識ベースを一般化および圧縮化して編集することである。
【００４３】
ステップ３１０が図４２詳細に示されている。図４は知識ベースを処理する方法を示す。最初のステップで知識ベース処理プログラム２０５が起動する（４００）。知識ベース処理プログラム２０５は次にスペルチェックモジュール２１５を使用して、知識ベース内の単語のスペリングをチェックし修正する（４０５）。次に知識ベース処理プログラム２０５は、ストップワードモジュール２２０を使用して、"a"、"an"および"the"のようなコモンワード（common words）を知識ベース２４５から除去する（４１０）。この後、知識ベース処理プログラム２０５は知識ベース２４５内の単語に語幹抽出を実行する（４１５）。ステップ４０５，４１０および４１５は選択可能である。これらのステップは知識ベース内のデータを標準化することによって知識ベースの価値を高める。
【００４４】
ステップ４２０において知識ベース処理プログラム２０５は、意味が類似し関連している単語を集めて意味上のファミリーにグループ化する（４２０）。意味上のファミリーは、最も関連のある含意を探すためにデータをクラスタ化し、データの次元を低減するのに役立つ。換言すれば、意味上のファミリーは知識ベース内で合意を認識し、この合意が推論装置の常識としての役を果たす。意味上のファミリーはここで参照によって引用している「ジ  オートマティック  デリベーション  オブ  インフォメーション  リトリーバル  エンコードメント  フロム  マシン  リーダブル  テキスト」エイチ・ピー・ルーン、インフォメーション  リトリーバル  アンド  マシン  トランスレーション、３（２）１０２１−１０２８頁、１９６１（"The automatic derivation of information retrieval encodement from machine readable text" by H.P. Luhn, Information Retrieval and Machine Translation, 3(2), pp. 1021-1028, 1961）で最初に提案された。
【００４５】
最も関連のある含意を探すためにデータをクラスタ化しデータの次元を低減する一つの方法は、知識ベース内の含意に潜在意味解析を実行することである。潜在意味解析は主題の類似性を反映させるために句または文献に索引をつける統計的方法である。主題の類似性は単語の同時生起、主題が関連していることの有効な指標に基づいている。潜在意味スペース内では、句の表現が同時生起解析によって意味的に類似している限り、句がどのような表現も共有していなくても、句は高い類似性がある可能性がある。換言すれば、潜在意味解析は、人々が異なる単語を用いて同じ概念に言及する同義性問題を扱う。潜在意味解析は個々の前提ステートメントに対して唯一の結論ステートメント、またはその逆をもたらす。
【００４６】
ここでは、潜在意味解析は個々の結論に導く含意にインデックスをつけ、最も関連する含意を探すために、特異値分解によってこれらのインデックスを適用する。特異値分解に必要な時間は、含意マトリクスによるステートメントのランクと計算される特異値の数に基づいて指数関数的である。潜在意味解析は参照により引用している次の文献にさらに詳細に説明されている。「インデキシング  バイ  レイテント  セマンティック  アナリシス」  エス・シー・ディアウェスタ、エス・ティー・デュメス、ティー・ケー・ランダウアー、ジー・ダブリュ・ファーナスおよびアール・エー・ハーシュマン、ジャーナル  オブ  ジ  アメリカン  ソサイアティ  オブ  インフォーメーション  サイエンス、４１（６）、３９１−４０７頁、１９９０（"Indexing by Latent Semantic Analysis" by S.C. Deerwester, S.T. Dumais, T.K. Landauer, G.W. Furnas, and R.A. Harshman, Journal of the American Society of Information Science, 41(6), pp. 391-407, 1990）；および「ファウンデーションズ  オブ  スタティスティカル  ナチュラル  ランゲージ  プロセシング」シー・デー・マニングおよびエイチ・シュエツ、チャプタ：トピックス  イン  インフォーメーション  レトリーバル：レイテント  セマンティック  インデキシング、２００１（"Foundations of Statistical Natural Language Processing" by C.D. Manning and H. Schuetze, Chapter: Topics in Information Retrieval: Latent Semantic Indexing, 2001）。
【００４７】
最も関連のある含意を探すために、データをクラスタ化しデータの次元を低減させる技術には、スペクトラルクラスタリング方法および主成分分析の統計的方法が含まれる。スペクトラルクラスタリング方法は、データから得られる行列の固有ベクトルを使用して、ポイントをクラスタ化する。主成分分析の元になる考え方は、ｎ個の線形に変換されたコンポーネントによって考えられる最大の変動量を説明するコンポーネントｓ1，ｓ2，．．．，ｓnを決定することである。スペクトラルクラスタリングは参照によって引用している次の文献にさらに説明されている。「ア  カンパリソン  オブ  スペクトラル  クラスタリング  アルゴリズムス」デー・ベーマおよびエム・メイラ、ユニバーシティ  オブ  ワシントン（UW）コンピュータ  サイエンス  アンド  エンジニアリング  （CSE）テクニカル  レポート、３月５日、２００１（"A Comparison of Spectral Clustering Algorithms" by D. Verma and M. Meila, University of Washington (UW) Computer Science and Engineering (CSE) Technical Report, March 5, 2001）；および「オン  クラスタリングズ−グッド、バッドおよびスペクトラル」  アール・カナン、エス・ベンパラおよびエイ・ベータ、第４１回  アニュアル  シンポジューム  オン  ファウンデーションズ  オブコンピュータ  サイエンス、１１月１２−１４日、２０００、レドンド  ビーチ  カリフォルニア（"On Clusterings-Good, Bad and Spectral" by R. Kannan, S. Vempala, and A. Veta, 41st Annual symposium on Foundations of Computer Science, November 12-14, 2000, Redondo Beach, California）。主成分分析についてはさらにここ参照によって引用している、プリンシプル  コンポーネント  アナリシス  アイ・ティ・ジョリフ、スプリンジャ−ヴァーラグ、１９８６（Principal Component Analysis by I.T. Jolliffe, Springer-Verlag, 1986）に説明されている。
【００４８】
ステップ４２５では知識ベース処理プログラム２０５はWordNetモジュール２３５を使用して知識ベースを編集する（４２５）。プリンストン大学に由来するWordNetは英語の語彙データベースである。名詞、動詞、形容詞および副詞が同意語の集合に体系化されている。個々の集合は一つの基礎をなす語彙的概念（ルートワード）を表し、異なる関係が集合をリンクする。
【００４９】
個々のルートワードは関連する同意語の上位語である。上位語はis-a関係に対する言語学上の用語である。例えば、フォークは銀器であるので、「銀器」"silverware"は「フォーク」"fork"の上位語である。WordNetの同意語集合の一例としては、ルートワードの「カン（can）」（名詞として）が含まれる。第一の上位語は「缶」（"tin can"）、第二の上位語は「トイレット」（"toilet"）、第三の上位語は「浴室」（"bathroom"）であろう。「缶」"tin can"グループの同意語は、「ミルク缶」（"milk can"）および「オイル缶」（"oil can"）を含み、一方「浴室」（"bathroom"）の同意語は「手洗所」（"restroom"）および「便所」（"washroom"）を含むであろう。
【００５０】
WordNetモジュール２３５は、同意語をそれらの上位語で置換することによって知識ベース２４５内の知識を一般化する。WordNetモジュール２３５は次に、含意を同義語ではなく上位語と関連付けて、知識を圧縮する。次に同意語が見つかると上位語が決定され、上位語の含意が使用可能になる。例えば、知識ベースが「フォーク」についての含意を持っていない場合は、知識ベースは「銀器」についての含意を使用できる。WordNet同義語集合が無ければ、前提「フォーク」はどの含意にも一致せず、結論が決まらないだろう。WordNet同意語集合はまた、個々の含意を多数回(同意語のレベルで)記憶するよりも、個々の含意を１回(上位語のレベルで)記憶することによりメモリを節約する。また、実世界状況に基づいて、WordNet同意語集合から無関係な上位語をまず取り除くことによって、より良好な推論結果が取得可能である。
【００５１】
同意語が知識ベースで同時生起する場合は、潜在意味解析又は類似技術によって、それらは既にクラスタ化されているであろう。WordNetは同意語が知識ベース内で生起しない場合でも、それらをクラスタ化する付加的な利点を有している。一つの代替案は用語に対する同義語のリストを集め、潜在意味分析のための特徴ベクトルの一部としてそれらの同意語を使用することである。ステップ４２５は選択可能であるが、知識ベースの編集はより多くの含意を使用可能にし、記憶スペースを節約し、且つ推論処理速度を増加させる。
【００５２】
知識ベース処理プログラム２０５がWordNetモジュール２３５を使用して知識ベース２４５を編集した後（４２５）、知識ベース処理プログラム２０５は処理を終了する（４３０）。これによってまた知識ベース２４５の処理を終了する（図３のステップ３１０）。
【００５３】
この時点で、知識ベースは自己矛盾が無い。完全に自己矛盾が無いことが望ましいが、一実施形態においては、知識ベースはほぼ自己矛盾が無い。さらに、個々の結論に導く唯一の含意が存在し、このことは個々の結論に唯一の前提が存在することを意味する。次のステップは実際に推論装置１００を使用する。人が推論装置１００に命令を与え、メインプログラム２００が命令を受信する（３１５）。
【００５４】
命令が知識ベースに無い単語を含んでいても、推論装置１００は命令を処理することが可能である。例えば、照会が「私は水差しをどこで見つけられますか？」とする。知識ベースは次の２個の情報を持つ：１）瓶と冷蔵庫は一緒に見つけられる；２）冷蔵庫は台所で見つけられる。まず、メインプログラム２００はWordNetモジュール２３５を使用し、室内環境という面において「瓶」についての無関係な意味を除外する。残りの意味からメインプログラム２００は「瓶」が「水差し」の上位語であることを決定する。「瓶」は「水差し」の上位語であるので、瓶についての知識は水差しにも適用される。このようにして、水差しと冷蔵庫は一緒に見つけられる。冷蔵庫は台所で見つけられるので、水差しも同様に見つけられる。
【００５５】
メインプログラム２００が命令を受信した後（３１５）、それは命令によって特定されているタスクを実行する（３２０）。メインプログラム２００がタスクを実行した後、それは処理を終了する（３２５）。
【００５６】
推論装置１００は多くの異なる状況で使用可能である。以下の説明では、家庭またはオフィス室内環境で移動ロボットと共に推論装置１００を使用する場合に注目する。しかしながら、推論装置１００はロボット無しで、家庭またはオフィス以外の環境で使用することが可能である。また推論装置１００は多くの異なるタイプのタスクを実行するために使用することが可能である。一つのタスクは照会に応答することである。一つの状況下で推論装置１００は、知識ベースに既にある情報を使用して、照会に応答することが可能であろう。別の状況では、照会に対する応答は情報に基づいた推論を必要とするかもしれない。
【００５７】
２．１  タスクの実例：目標成果
別のタスクは特定の目標を達成するように設定された行動方針を決定することである。この目標は利用者によって直接入力されることもできるし、その要望が知識ベースと推論に基づいて推論装置１００によって推論されることも可能である。目標が分かれば推論装置１００は目標を達成するために実行すべき行動方針を決定可能である。行動方針は目標状況からスタートする後ろ向き推論含意（backward chaining implications）によって決定されることもある。
【００５８】
2007520805.tif 000008
【００５９】
2007520805.tif 000009
【００６０】
次のステップは、目標を達成するために、推論装置１００が実行すべき行動方針を決定することである。メインプログラム２００は推論プログラム２１０を使用して目標に対して推論を実行する。しかしながら、この時推論プログラム２１０は「（ソーダ缶、冷たい）」"(soda can, chilled)"が原因含意についての結論かチェックする。
【００６１】
2007520805.tif 000010
【００６２】
2007520805.tif 000011
【００６３】
行動方針が決められると、推論装置１００は目標を達成するために、それらの行動の実行に進むことが可能である（例えば、推論装置１００がロボットと共に使用されれば）。推論装置１００はロボットにこれらの行動を実行させ、行動が実行されて目標が達成される。この実施形態において、知識ベース２４５は、対象物自身について（対象物関係）と多種の対象物がどのように使用されるか（使用関係）についての情報も含むだろう。ロボットは多種のタスクをどのように達成するかを決定するためにこの情報を使用するだろう。知識ベース２４５は、特定の対象物がどのようなタイプの部屋で通常発見されるか（場所関係）およびどの対象物が通常一緒に発見されるか（近接関係）についての情報を含むこともある。ロボットはそれがタスクを実行するために必要な特定の対象物をどこで探すか決定するためにこの情報を使用するだろう。これらの関係のそれぞれについて、考えられるデータベースの実行を参照して以上に説明した。
【００６４】
２．２  サンプルタスク：場所決定
推論装置１００はそれ自身の場所を決定するために、それが行う環境の観察および対象物と場所に関する常識的知識を使用することが可能である。例えば、推論装置１００が移動ロボットと共に使用される場合、場所決定は有益である。１）二次元マップ、２）場所知識、３）模擬対象物および部屋ラベルが与えられた時、関連タスクは家庭またはオフィスの部屋およびオープンスペースを分類する。ロボットと人間が自然な相互作用を持つために、部屋のレイアウトのような周囲スペースについての知識を持つことがロボットにとって有益である。マップ構造は、１）事務所は個人によって所有されている；２）廊下と歩道は個人によって所有されてない；および３）受付エリアはオフィスの入り口に位置している、のような常識的制約を使用して生成することが可能である。
【００６５】
次に対象物および部屋のラベルのようなマップレイアウト情報は、文章に取り込まれるとともに、文章情報を反映する変更マップレイアウトに取り込まれる。これについては、ここで参照によって引用している「リーズニング  ウィズ  アナロジカル  レプリゼンテーションズ」ケイ・マイヤーズおよびケイ・コノリグ、イン  プリンシプルズ  オブ  ノリッジ  レプリゼンテーション  アンド  リーズニング：プロシーディングズ  オブ  ザ  サード  インターナショナル  カンファレンス（KR92）（ビー・ネヴェル  シー・リッチ、およびダブリュ・スワータウト）、サン  マテオ、カリフォルニア、１９９２（"Reasoning with Analogical Representations" by K. Myers and K. Konolige, in Principles of Knowledge Representation and Reasoning: Proceedings of the Third International Conference (KR92) (B. Nebel, C Rich, and W. Swartout, eds.), San Mateo, California, 1992 ）にさらに説明されている。マップは人間によって生成される必要は無く、レーザデータによっても生成可能であることに注目されたい。レーザデータは未知の環境の希薄マップを構築するためにカメラから抽出可能である。
【００６６】
図５はベイジアン推論を使用して場所を決定するための方法を示す。例えば、ロボットは部屋の集合（Ω）に属する一つの部屋（ω）：ω∈Ωに位置している。推論装置１００は、１）どの対象物が部屋に存在する可能性があるか、２）これらの対象物のどれが個々のタイプの部屋で通常見つかるか、および３）これらの対象物は一般にどの程度ありふれているか、に基づいて部屋のタイプを決定する。ベイズの定理とともにこれらの確率が使用される場合、最も確率の高いタイプの部屋が計算されることが可能である。
【００６７】
方法が開始された後（５００）、推論装置１００はどの対象物が部屋に存在するか決定する（５０５）。ロボットは一つ以上の方法を使用して部屋に存在する対象物に関する知識（D）を収集する。これらの方法には、例えば、利用者直接入力（例えば「この部屋にはベッドがある」とタイプ入力する）または音声認識（例えば人が「この部屋にはベッドがある」と話すのを聞いて、次に音声処理する）が含まれる。理想的には、ロボットが新しい家またはオフィスを探る時、推移する隣接環境の描写を受信して、人間の言葉とセンサデータを関連付けることができるべきである。これらの人間によって与えられるラベルは部屋のタイプ（例えば「これは台所です」）または対象物（「これは椅子です」）であるだろう。別の可能性は推論装置１００が対象物認識（例えば部屋の写真をとってその写真を処理することによる）を使用することである。
【００６８】
2007520805.tif 000012
【００６９】
2007520805.tif 000013
【００７０】
2007520805.tif 000014
【００７１】
2007520805.tif 000015
【００７２】
本発明はある実施形態を参照して相当詳細に説明されたが、当業者によって理解されるように他の実施形態が可能である。
【図面の簡単な説明】
【００７３】
【図１】図１は雑音の多いデータがある場合の推論装置の好適な実施形態のブロック図を示す。
【図２】図２は図１のメインメモリの内容についてさらに詳細なブロック図を示す。
【図３】図３はノイズが多いデータがある場合の推論方法を示す。
【図４】図４は知識ベースを処理するための方法を示す。
【図５】図５はベイジアン推論を用いて場所を決定する方法を示す。
【図１】
2007520805.tif 000016
【図２】
2007520805.tif 000017
【図３】
2007520805.tif 000018
【図４】
2007520805.tif 000019
【図５】
2007520805.tif 000020
【国際調査報告】
2007520805.tif 000021