(57)【要約】  知識ベースシステム（１０００）は、知識ベースを記憶している記憶部と、記憶部に記憶された知識ベースに対して論理演算を行う演算部（１０７０）とを備える。知識ベースは、物を識別する物識別子と、物がもつ少なくとも一つの属性であって、物の物識別子と対応づけられた属性とを含む。属性は、当該属性を識別する属性識別子と、当該属性を表す少なくとも一つのデータであって、当該属性を識別する属性識別子に対応づけられた特徴データ、及び当該属性を表す言葉に対応付けられたデータであって、当該属性識別子に対応付けられた識別データのうちの少なくとも一方とを含む。物識別子は、物を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成される。属性識別子は、属性を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成される。
2010134319.tif 000002
【特許請求の範囲】
【請求項１】
知識ベースシステムであって、
知識ベースを記憶している記憶部と、
前記記憶部に記憶された知識ベースに対して論理演算を行う演算部とを備え、
前記知識ベースは、物を識別する物識別子と、前記物がもつ少なくとも一つの属性であって、当該物の物識別子と対応づけられた属性とを含み、
前記属性は、当該属性を識別する属性識別子と、当該属性を表す少なくとも一つのデータであって、当該属性を識別する属性識別子に対応づけられた特徴データ、及び当該属性を表す言葉に対応付けられたデータであって、当該属性識別子に対応付けられた識別データのうちの少なくとも一方とを含み、
前記物識別子は、物を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成され、
前記属性識別子は、属性を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成される
知識ベースシステム。
【請求項２】
前記特徴データは、当該特徴データに対応づけられた属性識別子が識別する属性の形、音、香、味、色、圧力、温度、長さ、座標値、及び面積の少なくとも一つを表すデータである
請求項１記載の知識ベースシステム。
【請求項３】
前記知識ベースシステムはさらに、
前記属性に関する情報を取得する入力部と、
前記入力部で取得された情報から、前記特徴データ及び前記識別データの少なくとも一つを抽出する特徴抽出部と、
前記特徴抽出部で抽出された前記特徴データ及び前記識別データの少なくとも一つを、前記属性を識別する属性識別子と対応づけて前記知識ベースに格納するデータ格納部とを備える
請求項１記載の知識ベースシステム。
【請求項４】
前記属性識別子は、主識別子と副識別子とを含み、
前記属性識別子は、前記主識別子と前記副識別子との組み合わせによって、前記属性を識別する
請求項１記載の知識ベースシステム。
【請求項５】
前記演算部は、少なくとも、一つの物が演算の対象として指定されると指定された当該物がもつ属性を対象として前記論理演算を行う
請求項１記載の知識ベースシステム。
【請求項６】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応付けられている場合、同じ属性識別子を持ち、かつ、対応づけられた真偽値が共に真であるか又は共に偽である属性だけを集め、
個々の属性に前記真偽値が対応付けられていない場合、同じ属性識別子を持つ属性だけを集めることで、新たな属性の集合を生成するＡＮＤ演算を行う
請求項５記載の知識ベースシステム。
【請求項７】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、少なくともいずれかの属性の集合に属する属性を集めることで、新たな属性の集合を生成するＯＲ演算を行う
請求項５記載の知識ベースシステム。
【請求項８】
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が１つ指定された場合において、当該属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した新たな属性の集合を生成するＮＯＴ演算を行う
請求項５記載の知識ベースシステム。
【請求項９】
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、同じ属性識別子を持ち、かつ、対応づけられた真偽値が共に真であるか又は共に偽である属性だけを集めることで、新たな属性の集合を生成し、生成した新たな属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した更に新たな属性の集合を生成するＮＡＮＤ演算を行う
請求項５記載の知識ベースシステム。
【請求項１０】
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、少なくともいずれかの属性の集合に属する属性を集めることで、新たな属性の集合を生成し、生成した新たな属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した更に新たな属性の集合を生成するＮＯＲ演算を行う
請求項５記載の知識ベースシステム。
【請求項１１】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が同じである属性の数を共通度として計数し、
個々の前記属性に前記真偽値が対応づけられていない場合、いずれの属性の集合にも含まれる属性の数を共通度として計数する
請求項５記載の知識ベースシステム。
【請求項１２】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が異なる属性の数を非共通度として計数し、
個々の属性に前記真偽値が対応づけられていない場合、いずれかの属性の集合にだけ含まれる属性の数を非共通度として計数する
請求項５記載の知識ベースシステム。
【請求項１３】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、主識別子が同じで、かつ、対応づけられた真偽値が同じである属性の数を類似度として計数し、
個々の前記属性に前記真偽値が対応づけられていない場合、主識別子が同じである属性の数を類似度として計数する
請求項５記載の知識ベースシステム。
【請求項１４】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、主識別子が同じで、かつ、対応づけられた真偽値が異なる属性の数を非類似度として計数し、
個々の前記属性に前記真偽値が対応づけられていない場合、いずれかの属性の集合だけに含まれる属性の数を非類似度として計数する
請求項５記載の知識ベースシステム。
【請求項１５】
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、少なくともいずれかの属性の集合に属する属性から、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が異なる属性を除くことで、新たな属性の集合を生成するＯＲ演算を行う
請求項５記載の知識ベースシステム。
【請求項１６】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、いずれの属性の集合にも属する属性を除くことで、新たな属性の集合を生成するＸＯＲ演算を行う
請求項５記載の知識ベースシステム。
【請求項１７】
前記演算部は、
少なくとも一つの属性が指定されると、指定された属性に対応づけられた物識別子を集めることで、当該属性をもつ知識の集まりを生成し、
物が指定されると、当該物の物識別子が前記知識の集まりに属するか否かを判断する
請求項１記載の知識ベースシステム。
【請求項１８】
前記演算部はさらに、
生成した前記知識の集まりを識別する物識別子と、
前記指定された少なくとも一つの属性を識別する属性識別子、及び抽象的な物であることを示す属性の属性識別子とを対応付けることで、抽象的な物を新たに生成する
請求項１７に記載の知識ベースシステム。
【請求項１９】
前記知識ベースはさらに、物に対応づけられたノードのつながりである知識ネットワークを含み、
前記ノードは、当該ノードに対応する物識別子と、当該ノードが属する知識ネットワークに関する情報である知識ネットワーク情報とを含み、
前記知識ネットワーク情報は、前記知識ネットワークを識別する知識ネットワーク識別子と、前記知識ネットワークにおける当該ノードとつながる他のノードへのポインタとを含む
請求項１記載の知識ベースシステム。
【請求項２０】
前記演算部は、指定された知識ネットワーク識別子で識別された知識ネットワークにおいて、当該知識ネットワークを構成するノードに含まれる物識別子と知識ネットワーク情報とを参照することで、指定された物とつながっている他の物を特定する
請求項１９記載の知識ベースシステム。
【請求項２１】
前記演算部は、属性識別子が指定されると、当該属性識別子に対応づけられた知識ネットワークを検索し、検索された知識ネットワークの知識ネットワーク識別子を取得する
請求項１９記載の知識ベースシステム。
【請求項２２】
前記演算部はさらに、
前記知識ネットワークを識別する物識別子と、
前記知識ネットワークに対応付けられた少なくとも１つの属性識別子、及び抽象的な物であることを示す属性の属性識別子とを対応付けることで、抽象的な物を新たに生成する
請求項２１に記載の知識ベースシステム。
【請求項２３】
知識ベースシステムにおける論理演算方法であって、
請求項１記載の知識ベースシステムが備える知識ベースに対して、少なくとも請求項１〜２２のいずれか１項に記載の演算部による処理を行うステップを含む
論理演算方法。
【請求項２４】
知識ベースシステムのためのプログラムであって、
請求項２３記載の論理演算方法に含まれるステップをコンピュータに実行させる
プログラム。
【請求項２５】
知識ベースシステムのためのコンピュータ読み取り可能な記録媒体であって、
請求項１記載の知識ベースと、
請求項２４記載のプログラムと
が記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、知識ベースシステムに関するものである。
【背景技術】
【０００２】
単細胞物の生物でも外界からの刺激を受けると、ある刺激に対応して特定の反応を示すことがある。外界からの入力情報と内部の状態とに応じて、情報を出力し、一定の反応を示す。つまり、あらかじめ生命体に組み込まれ固定された情報処理の仕組みがあると考えることができる。このような情報処理を、本願では第１の情報処理と呼ぶ。【０００３】
外界からの入力情報に対応する出力情報を調整し、最適な出力情報を見出し、調整情報を記憶する仕組みがあることも明らかになっている。これを、本願では第２の情報処理と呼ぶ。これは、ニューラルネットワークの１つの働きとして、広く知られている。【０００４】
人間は、文字で書かれた言葉を用いて、更に精緻な情報処理を行っている。これを、本願では第３の情報処理と呼ぶ。【０００５】
現在の人工知能の研究の多くは、第３の情報処理について研究を行っている。しかし、この方法で、人間が日常的に行っている情報処理をまねるシステムを構築できていない。文字で書き表された言葉を使うため、精密に情報を記述し、精密に記述された情報を論理演算することができる。しかし、精密であるがゆえに、情報を知識として蓄積する方法や、知識として記録された情報をうまく使う方法が開発できていない。【０００６】
物は、言葉で表わすことができる。英語や日本語のような言語の中で、物は言葉、すなわち単語で表される。物には、定まった性質である属性がある。この属性も言葉で表わされる。言葉は、文字の集まりである文字列、すなわち単語で表わすことができる。したがって、物を表わす単語は属性を持ち、物もその属性も、文字で書き表された文字列、すなわち単語で表わすことができる。文字を使うと、情報を長時間保持し、記録できる。音声や身振りでなど文字以外の手段を言葉として、単語を表現することもできる。単語そのものが、その単語自身の意味を表わしていることが特徴である。【０００７】
物には、石や太陽などのように具体的な物以外に、暖かさ、概念、映像、音、ＷＥＢページのような抽象的な物も含まれる。未知の物は、属性を持たないこともある。属性は、「赤い色をしている」、「甘い味がする」など、物の性質を表わす。【０００８】
コンピュータなどの機械で、２つ文字列を比較し、２つの文字列が等しいかどうかを判定することができる。２つの文字列が同じかどうかを判定して、同じであれば真の値を、異なる場合は偽の値を生成することはできる。コンピュータは、文字で表わされた単語が同じかどうかを判定して、真偽値を生成することができる。【０００９】
２つの単語を比較して、同じであれば真の値を、異なる場合は偽の値を生成することはできる。この方法によって、物や属性が同じか、異なっているかを判断することができる。単語に対応づけられた記号を用いても同様のことができる。単語に対応づけられた記号は、対応付けられた単語の意味を表わす。この場合の記号は、意味を表わす。記号を識別子と言い換えると次のように言える。単語に対応づけられ単語を表わす識別子は、対応付けられた単語の意味を表わす。したがって、単語に対応づけられ単語の意味を表わす識別子も、単語である。犬という単語とＡＢＣという識別子が対応付けられているとすると、ＡＢＣは犬の意味を表わす単語である。【００１０】
文字の組み合わせだけでなく、音や図形などの組み合わせでも単語は生成できる。音や図形などの組み合わせで生成された単語を、文字で生成された単語に置きかえることができるので、記録の容易性を除いて、何で単語を生成するかは本質的なことではない。【００１１】
昔、リレー式計算機というものがあった。リレーを使ってＡＮＤ、ＯＲ、ＮＯＴの３つの演算をする仕組みを実現していた。現在のコンピュータも部品がリレーから半導体に変わっているが、原理はリレー式計算機と同じである。【００１２】
現在のコンピュータは、論理演算する手順を機械部品の組み合わせで保持するのではなく、論理演算する手順をプログラムと呼ばれる情報として保持している。プログラムと呼ばれる情報を変更することで、同じ装置で異なる論理演算を行うことができる。【００１３】
コンピュータが直接実行できるプログラムは、「０」と「１」という２種類の値が組み合わされたものなので、人間がそのようなプログラムを作ることは大変であった。そこで、人間が理解できる英数字の組み合わせでできたプログラムを、コンピュータが直接扱える「０」と「１」とが組み合わされたプログラムに変換する方法が考案された。プログラムを使ってコンピュータにこの変換を行わせる。たとえば、ＣＯＢＯＬは、人間が理解できるプログラムである。ＣＯＢＯＬのようなものをプログラミング言語と呼ぶ。機械であるコンピュータが直接扱えるプログラムは、機械語と呼ぶ。コンパイラというプログラムは、プログラミング言語で作られたプログラムを機械語のプログラムへ変換してくれる。【００１４】
物は、一般に、幾つかの属性を持っている。物を表わす１つの単語は、０個以上の属性を持っている。【００１５】
ＰＲＯＬＯＧというプログラミング言語がある。この従来技術では、属性を表わすために、属性を表わす単語を用いている。このようなプログラミング言語を用いて人工知能を実現しようとする実験が行われたが、限界があった。【００１６】
ＰＲＯＬＯＧというプログラミング言語で、「ソクラテスは人である。」を記述すると、（ｍａｎ  Ｓｏｃｒａｔｅｓ）になる。このように、“ｍａｎ”と“Ｓｏｃｒａｔｅｓ”という２つの単語を並べて、物の性質、すなわち物の属性を表現している。コンピュータの内部では、物と、性質である属性とを単語として保持している。“ｍａｎ”が“ｍａｎ”であることを判断する基準は、単語が同じかどうかである。単語そのものが意味を表わしている。単語は、並びの順によって物、属性、関係として解釈される。【００１７】
「家康は信康の父である」をＰＲＯＬＯＧで記述すると、（Ｆａｔｈｅｒ  Ｉｅｙａｓｕ  Ｎｏｂｕｙａｓｕ）となる。これは、２つの物の関係を表現している。３つの単語を並べて２つの物の関係を表現している。最初の単語が関係を表わし、２番目と３番目の単語が物を表わす。この例では、２番目の単語が父を表わし、３番目の単語が子を表わす。（Ｆａｔｈｅｒ  Ｎｏｂｕｙａｓｕ  Ｉｅｙａｓｕ）のように、２番目の単語と３番目の単語の順番を変えると、「信康は家康の父である」という意味に変わる。関係によっては、２番目の物と３番目の物に意味の違いがあることがある。【００１８】
コンピュータの内部では、関係と２つの物とを３つの単語の並びとして保持している。単語の並びの順番が異なると意味が変わる。単語の並びの順番に意味が含まれている。単語の数や並び順で意味を表わしている。この方法では、１つの物と他の物との２階層の関係を表わすことはできるが、子→父→祖父のような３階層以上の関係を直接的に表わすことはできない。【００１９】
（Ｆａｔｈｅｒ  Ａ  Ｂ）、及び（Ｆａｔｈｅｒ  Ｂ  Ｃ）の２つの単語の並びがあったとする。２つの単語の並びには、Ｂという共通の単語がある。そこで、ＡはＣの父の父、つまり、ＡはＣの祖父であることが導かれる。直接的には、ＡとＣの関連は記述されていないが、共通する単語を仲立ちとして、間接的に表現された物同士の関係を知ることができる。【００２０】
この技術で物と属性と関係とをデータベースとして保持できるが、物や属性や関係を表わす単語の並びを保持しているにすぎない。単語の並びで物の性質である属性を表現し、単語の並びで関連を表現している。属性も関係も、単語の並びという同じ方法で表現されている。情報を体系化したものを知識とすると、情報を現す単語を幾つか並べたものを複数個保持し、保持された単語の並びを知識としている。この方法では、３階層以上の物同士の関連を直接表わす情報は保持されていない。ある単語と他の単語とを付き合わせ、一致している単語を探すことにより、単語の並び同士を関連付ける。一致している単語を探すことによって、その都度、単語の並びで表わされた情報の関連を調べる。【００２１】
特願２００６−５１４６０６号明細書（特許文献１）では、次のような技術が開示されている。インターネット上のＷＥＢサーバに保管され、パソコンなどの上で動作するブラウザと呼ばれるソフトウエアで見ることできるＷＥＢページや、文書ファイルなどの情報をノードと呼び、ノードの集まりを空間と呼び、前記空間内のノードが持つ情報を評価する装置が開示されている。また、ノードに結びついた情報をプロパティと呼んでいる。プロパティ（属性）の実装については一切規定されておらず、プロパティの実装は、プログラムの実装者に全て任せられている。この技術は、物が属性を保持することは開示されていない。また、属性の評価方法について開示されていない。【００２２】
英語や日本語などの言語内の単語をつないで構築された知識ベースがある。この従来技術の知識ベースでは、言語内の単語同士が直接つながっている。そして、従来技術の知識ベースは言語の中に含まれる。【００２３】
グラフ構造を持つ確率モデルであるベイジアンネットワークを使って、推論を行う人工知能の分野がある。ある事象が発生したときに別の事象がある確率で発生すると考え、ある事象から他の事象が発生するという連鎖をグラフ構造で表現するものである。ある事象から他の事象が発生する確率が必ず保持される。ある事象を出発点として、あらかじめ保持されたグラフを辿ることにより、発生確率が一番高い事象を探すことができる。この処理によって推論ができるという考え方である。この方法では、物、属性、関係が区別されておらず、すべて事象として表現されている。事象は言語の中の単語で表わされ、事象同士が直接つながっている。そして、ベイジアンネットワークは言語の中に含まれる。
【先行技術文献】
【特許文献】
【００２４】
【特許文献１】特願２００６−５１４６０６号明細書
【発明の概要】
【発明が解決しようとする課題】
【００２５】
従来技術では、文字を組み合わせて意味を持つ単語を生成する。単語は言語の中にあり、言語の中だけでその単語の意味を直接持つ。意味を直接持つ単語で物や、性質、特徴、意味、概念などの属性という情報を表わす。物を表わす単語と属性を表わす単語とから成る単語の並びを作り、単語の並びで物の性質や物と物との関係を表わす。複数の単語の並びを蓄積し、蓄積された単語の並びを知識としていた。この方法では、単語そのものの意味を持つ単語だけを使って知識を構築している。【００２６】
本発明は、上記の課題に鑑みてなされたものであり、物や属性の意味内容を言語に依存せずに表現することのできる知識ベースシステムを提供することが目的とする。
【課題を解決するための手段】
【００２７】
本発明の一形態に係る知識ベースシステムは、知識ベースを記憶している記憶部と、前記記憶部に記憶された知識ベースに対して論理演算を行う演算部とを備え、前記知識ベースは、物を識別する物識別子と、前記物がもつ少なくとも一つの属性であって、当該物の物識別子と対応づけられた属性とを含む。前記属性は、当該属性を識別する属性識別子と、当該属性を表す少なくとも一つのデータであって、当該属性を識別する属性識別子に対応づけられた特徴データ、及び当該属性を表す言葉に対応付けられたデータであって、当該属性識別子に対応付けられた識別データのうちの少なくとも一方とを含む。前記物識別子は、物を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成される。前記属性識別子は、属性を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成される。【００２８】
上記構成によれば、物および物が持つ属性を、物や属性の意味を表わさない識別子で表わし、保持し、さらに演算の対象とすることができる。なお、「物が指定される」とは、当該物を識別する物識別子が指定されることを指す。【００２９】
また、前記特徴データは、当該特徴データに対応づけられた属性識別子が識別する属性の形、音、香、味、色、圧力、温度、長さ、座標値、及び面積の少なくとも一つを表すデータであってもよい。このように、各属性の概念（意味内容）は、属性識別子に関連付けられた特徴データによって定義される。【００３０】
さらに、前記知識ベースシステムは、前記属性に関する情報を取得する入力部と、前記入力部で取得された情報から、前記特徴データ及び前記識別データの少なくとも一つを抽出する特徴抽出部と、前記特徴抽出部で抽出された前記特徴データ及び前記識別データの少なくとも一つを、前記属性を識別する属性識別子と対応づけて前記知識ベースに格納するデータ格納部とを備えてもよい。これにより、外部から取得した情報に基づいて、特徴データ及び識別データと属性識別子との新たな関係を知識ベースに格納することができる。【００３１】
また、前記属性識別子は、主識別子と副識別子とを含んでもよい。そして、前記属性識別子は、前記主識別子と前記副識別子との組み合わせによって、前記属性を識別してもよい。例えば、主識別子で属性の基本的な性質を表わし、副識別子で程度や様子などのより詳しい性質を表わすことができる。【００３２】
また、前記演算部は、少なくとも、一つの物が演算の対象として指定されると指定された当該物がもつ属性を対象として前記論理演算を行ってもよい。【００３３】
一形態として、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応付けられている場合、同じ属性識別子を持ち、かつ、対応づけられた真偽値が共に真であるか又は共に偽である属性だけを集め、個々の属性に前記真偽値が対応付けられていない場合、同じ属性識別子を持つ属性だけを集めることで、新たな属性の集合を生成するＡＮＤ演算を行ってもよい。【００３４】
他の形態として、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、少なくともいずれかの属性の集合に属する属性を集めることで、新たな属性の集合を生成するＯＲ演算を行ってもよい。【００３５】
他の形態として、個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が１つ指定された場合において、当該属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した新たな属性の集合を生成するＮＯＴ演算を行ってもよい。【００３６】
他の形態として、個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、同じ属性識別子を持ち、かつ、対応づけられた真偽値が共に真であるか又は共に偽である属性だけを集めることで、新たな属性の集合を生成し、生成した新たな属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した更に新たな属性の集合を生成するＮＡＮＤ演算を行ってもよい。【００３７】
他の形態として、個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、少なくともいずれかの属性の集合に属する属性を集めることで、新たな属性の集合を生成し、生成した新たな属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した更に新たな属性の集合を生成するＮＯＲ演算を行ってもよい。【００３８】
他の形態として、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が同じである属性の数を共通度として計数し、個々の前記属性に前記真偽値が対応づけられていない場合、いずれの属性の集合にも含まれる属性の数を共通度として計数してもよい。【００３９】
他の形態として、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が異なる属性の数を非共通度として計数し、個々の属性に前記真偽値が対応づけられていない場合、いずれかの属性の集合にだけ含まれる属性の数を非共通度として計数してもよい。【００４０】
他の形態として、前記属性識別子は、主識別子と副識別子とを含んでもよい。前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、主識別子が同じで、かつ、対応づけられた真偽値が同じである属性の数を類似度として計数し、個々の前記属性に前記真偽値が対応づけられていない場合、主識別子が同じである属性の数を類似度として計数してもよい。【００４１】
他の形態として、前記属性識別子は、主識別子と副識別子とを含んでもよい。前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、主識別子が同じで、かつ、対応づけられた真偽値が異なる属性の数を非類似度として計数し、個々の前記属性に前記真偽値が対応づけられていない場合、いずれかの集合だけに含まれる属性の数を非類似度として計数してもよい。【００４２】
他の形態として、個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、少なくともいずれかの属性の集合に属する属性から、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が異なる属性を除くことで、新たな属性の集合を生成するＯＲ演算を行ってもよい。【００４３】
他の形態として、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、いずれの属性の集合にも属する属性を除くことで、新たな属性の集合を生成するＸＯＲ演算を行ってもよい。【００４４】
上記のように、本発明の一形態に係る知識ベースシステムは、指定された属性の集合を演算対象として、様々な演算処理を実行することができる。なお、「属性の集合」とは、典型的には、物識別子に対応付けられた０以上の属性識別子の集合を指すが、これに限定されない。また、「属性を集める」とは、条件に合致する属性識別子を集めることを指す。【００４５】
また、前記演算部は、少なくとも一つの属性が指定されると、指定された属性に対応づけられた物識別子を集めることで、当該属性をもつ知識の集まりを生成してもよい。そして、物が指定されると、当該物の物識別子が前記知識の集まりに属するか否かを判断してもよい。【００４６】
さらに、前記演算部は、生成した前記知識の集まりを識別する物識別子と、前記指定された少なくとも一つの属性を識別する属性識別子、及び抽象的な物であることを示す属性の属性識別子とを対応付けることで、抽象的な物を新たに生成してもよい。【００４７】
このように、例えば、共通の属性を持つ物（共通の属性識別子が対応付けられている物識別子）を知識の集まりとして、予めグループ化しておけば、物（物識別子）が当該グループに属するか否かを簡単に判断することができる。【００４８】
さらに、前記知識ベースは、物に対応づけられたノードのつながりである知識ネットワークを含んでもよい。前記ノードは、当該ノードに対応する物識別子と、当該ノードが属する知識ネットワークに関する情報である知識ネットワーク情報とを含んでもよい。そして、前記知識ネットワーク情報は、前記知識ネットワークを識別する知識ネットワーク識別子と、前記知識ネットワークにおける当該ノードとつながる他のノードへのポインタとを含んでもよい。これにより、物と物との関係を定義することができるので、知識ベース内で知識を体系的に保持することができる。【００４９】
例えば、前記演算部は、指定された知識ネットワーク識別子で識別された知識ネットワークにおいて、当該知識ネットワークを構成するノードに含まれる物識別子と知識ネットワーク情報とを参照することで、指定された物とつながっている他の物を特定してもよい。さらに、前記演算部は、属性識別子が指定されると、当該属性識別子に対応づけられた知識ネットワークを検索し、検索された知識ネットワークの知識ネットワーク識別子を取得してもよい。これにより、１つの物を出発点として、当該物に関連のある可能性がある他の物に到達することができる。この処理は、「推論」に対応付けられる。【００５０】
前記演算部は、さらに、前記知識ネットワークを識別する物識別子と、前記知識ネットワークに対応付けられた少なくとも１つの属性識別子、及び抽象的な物であることを示す属性の属性識別子とを対応付けることで、抽象的な物を新たに生成してもよい。【００５１】
本発明の一形態に係る論理演算方法は、上記記載の知識ベースシステムが備える知識ベースに対して、少なくとも上記記載の演算部による処理を行うステップを含む。【００５２】
本発明の一形態に係るプログラムは、知識ベースシステムのためのプログラムであって、上記記載の論理演算方法に含まれるステップをコンピュータに実行させる。【００５３】
本発明の一形態に係る記録媒体は、知識ベースシステムのためのコンピュータ読み取り可能な記録媒体であって、上記記載の知識ベースと、上記記載のプログラムとが記録されている。【００５４】
なお、本発明は、知識ベースシステムとして実現できるだけでなく、知識ベースシステムの機能をコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【発明の効果】
【００５５】
本願技術を用いることにより、物および物が持つ属性を、物や属性の意味を表わさない識別子で表わし、保持できる。
【図面の簡単な説明】
【００５６】
【図１】図１は、従来の知識ベースと本発明の一実施形態に係る知識ベースとを対比説明するための図である。
【図２Ａ】図２Ａは、属性と特徴データとの関係を表す第１階層の図形を示す図である。
【図２Ｂ】図２Ｂは、属性と識別データとの関係を表す第１階層の図形を示す図である。
【図３】図３は、物と属性との関係を表す第２階層の図形を示す図である。
【図４】図４は、物と物との関係を表す第３階層の図形を示す図である。
【図５】図５は、第１〜３階層を統合した図形を示す図である。
【図６】図６は、一実施形態に係る知識ベースシステムの概念図である。
【図７】図７は、一実施形態に係るコンピュータシステムのブロック図である。
【図８】図８は、一実施形態に係る知識ベースシステムの機能ブロック図である。
【図９】図９は、一実施形態に係る属性識別子と特徴データとの対応表を示す図である。
【図１０】図１０は、一実施形態に係る物識別子と属性識別子との対応表を示す図である。
【図１１】図１１は、２次元の直交座標を示した図である。
【図１２】図１２は、直角より小さい角度で交わった３次元の座標を示した図である。
【図１３】図１３は、座標軸で属性を表わした例を示した図である。
【図１４】図１４は、ファジィ集合の例を示す図である。
【図１５】図１５は、物の関連を示す図である。
【図１６】図１６は、知識ネットワークと属性との関係を示す図である。
【図１７Ａ】図１７Ａは、属性の元になるデータ一覧を示す図である。
【図１７Ｂ】図１７Ｂは、物の名前と物識別子との対応表を示す図である。
【図１８】図１８は、属性と属性識別子との対応表を示す図である。
【図１９】図１９は、物と属性との一覧表を示す図である。
【図２０Ａ】図２０Ａは、物と主属性と副属性との対応表を示す図である。
【図２０Ｂ】図２０Ｂは、主属性と副属性との対応表を示す図である。
【図２１】図２１は、ＡＮＤ演算の流れ図を示す図である。
【図２２】図２２は、ＯＲ演算の流れ図を示す図である。
【図２３】図２３は、ＮＯＴ演算の流れ図を示す図である。
【図２４】図２４は、ＮＡＮＤ演算の流れ図を示す図である。
【図２５】図２５は、ＸＯＲ演算の流れ図を示す図である。
【図２６】図２６は、共通度を算出する処理の流れ図を示す図である。
【図２７】図２７は、非共通度を算出する処理の流れ図を示す図である。
【図２８Ａ】図２８Ａは、物の名前と物識別子との対応表を示す図である。
【図２８Ｂ】図２８Ｂは、知識ネットワークと属性との対応表を示す図である。
【図２８Ｃ】図２８Ｃは、知識ネットワークのデータ構造を示す図である。
【図２９】図２９は、ノードのデータ構造を示す図である。
【図３０】図３０は、属性の階層情報を示す図である。
【図３１】図３１は、知識の集まりを検索する処理の流れ図である。
【図３２】図３２は、知識ネットワークを辿る処理の流れ図である。
【図３３】図３３は、知識ベースにおけるデータ構造の例を示す図である。
【図３４】図３４は、知識ベースにおけるデータ構造の例を示す図である。
【図３５】図３５は、知識ベースにおけるデータ構造の例を示す図である。
【図３６】図３６は、知識ベースにおけるデータ構造の例を示す図である。
【図３７】図３７は、知識ベースにおける知識の集まりを説明する図である。
【図３８】図３８は、知識ベースにおける知識の集まりを説明する図である。
【図３９】図３９は、知識ベースにおける知識ネットワークを説明する図である。
【図４０】図４０は、知識ベースにおける知識ネットワークを説明する図である。
【図４１】図４１は、知識ベースにおける知識ネットワークを説明する図である。
【図４２】図４２は、知識ネットワークの例を示す図である。
【図４３】図４３は、物と属性と特徴データとの関係を示す図である。
【図４４】図４４は、知識ネットワークの例を示す図である。
【図４５】図４５は、知識ネットワークの例を示す図である。
【図４６】図４６は、三角形を示す図である。
【図４７】図４７は、３個の点で三角形を表した知識ネットワークを示す図である。
【図４８】図４８は、３個の点と３個の線で三角形を表わした知識ネットワークを示す図である。
【図４９】図４９は、３個の線で三角形を表わした知識ネットワークを示す図である。
【図５０】図５０は、三角錐を示す図である。
【図５１】図５１は、三角錐を表わした知識ネットワークを示す図である。
【図５２】図５２は、目、鼻、及び口を模式化した図である。
【図５３】図５３は、目、鼻、及び口の間の距離を表わした知識ネットワークを示す図である。
【図５４】図５４は、将棋盤を表わした知識ネットワークを示す図である。
【図５５】図５５は、ネットワークによる対応表の実装の例を示す図である。
【図５６】図５６は、特徴データと属性との対応表を示す図である。
【図５７】図５７は、１つの特徴データと属性との対応表を示す図である。
【図５８】図５８は、１つの属性と特徴データとの対応表を示す図である。
【発明を実施するための形態】
【００５７】
以下に、本願技術の一実施形態の説明をする。以下の説明は、あくまでも一実施形態の説明であり、本願技術の範囲を制限するものではない。
【００５８】
図１の左側の図が、従来技術の知識ベースである。この図では、英語、日本語、中国語などの言語の中に従来技術の知識ベースが含まれる。従来技術の知識ベースは、言語の単語を保持しているので、言語と重なる部分が必ずある。従来技術の知識ベースは、言語との共通部分をなくし、言語の外側に生成することはできない。
【００５９】
また、現実の世界の中に犬や蛇などの対象物があり、現実の世界の中の対象物が言語の中の単語と直接つながっている。対象物は単語ではない。従来技術の知識ベースでは、言語内の単語で知識ベースが構成されている。従来技術の知識ベースは、言語の中に含まれる。図１では、単語「犬」は、データの源である現実の世界の対象物の犬に直接対応づけられている。
【００６０】
さらに、言語の中において、単語「犬」は対象物である犬を識別するだけでなく、対象物である犬の性質、特徴、意味あるいは概念を単語自身が直接含んでいる。「犬」という単語だけで、哺乳類、４本足など対象物である犬が持つ特徴、性質、意味あるいは概念がわかる。単語は、言語の中でだけで存在し、単語自身がその性質、特徴、意味あるいは概念を直接含んでいる。したがって、言語の中にある単語は、その単語だけでその単語の性質、特徴、意味あるいは概念を直接表わしている。現実の世界と言語とは、共通部分がない。そして、現実の世界の外に言語がある。対象物は、現実の世界の中だけにある。言葉や単語は、言語の中だけにある。言葉や単語は、対象物や対象物が持つ属性を直接識別する。さらに、言葉や単語は、その言葉や単語自身の意味を直接含んでいる。
【００６１】
図１の右側の図が、本願技術の一実施形態の知識ベースである。この知識ベースは、言語に含まれず、言語との共通部分もない。この知識ベースは言語の外にある。この知識ベースは、現実の世界の外にある。さらに、この知識ベースは、現実の世界と共通部分もない。この知識ベースでは、現実の世界の中の対象物その物から直接発せられた映像や音などの情報から生成された特徴データが、知識ベース内に格納され保持される。たとえば、単語ではない対象物の犬から直接発せられ、取得された犬の映像から生成された特徴データ（画像データ）が、知識ベースに格納され保持される。
【００６２】
言語内の単語が知識ベースシステムに入力されると、特徴抽出部によってその単語から識別データが生成され、知識ベースに格納され保持される。識別データは、単語ではない対象物から直接発せられた情報からは生成されず、言語内の単語から生成され発せられた情報から生成される。また、特徴データは、言語内の単語からは生成されず、対象物から直接発せられた情報から生成される。
【００６３】
現実の世界の中の対象物から直接発せられた映像や音などの情報から特徴データが生成され、知識ベースに格納される。対象物は単語ではない。また、知識ベース内に属性が生成され、格納された特徴データがその属性とつながる。さらに、知識ベース内に物が生成される。単語ではない対象物から直接発せられた情報を受け取り、受け取った情報から入力データが生成され、入力データから特徴データが生成され、生成された特徴データと属性がつながり、さらに、その属性と生成された物とがつながる。知識ベース内では、特徴データとつながる属性と、物とのつながりは、知識ベースシステムによって作られる。
【００６４】
この知識ベース内では、特徴データ同士は直接つながらない。同じ属性につながる特徴データ同士でも、各特徴データは、それぞれが一旦属性につながり、その属性を介して他の特徴データとつながっている。識別データも同様で、識別データ同士は直接つながらない。同じ属性につながる識別データ同士でも、各識別データは、それぞれが一旦属性につながり、そのつながっている属性を介して他の識別データとつながっている。特徴データと識別データも直接つながらない。同じ属性につながる特徴データと識別データでも、特徴データは、一旦属性につながり、そのつながっている属性を介して識別データとつながっている。
【００６５】
物、属性および特徴データについて、（１）物同士だけを直接つないだ図形、（２）物と属性とだけを直接つないだ図形、（３）属性と特徴データとだけを直接つないだ図形の３種類の図形を作る。この３つの図形を組み合わせて情報を体系化し、知識とする。物や属性そのものには意味はない。図２Ａの第１階層の図形で、属性は、特徴データに直接つながることにより、意味を持つ。意味は概念でもある。図３の第２階層の図形で、物は、属性と直接つながることにより、物の性質、特徴、意味または概念が定まる。図４の第３階層の図形で、物と物がつながることにより、物と物との関係が表わされる。
【００６６】
第１階層内において、属性と特徴データとは、物、他の属性、識別データ、および他の特徴データを介さずにつながっている。このような属性と特徴データとのつながり方を、属性と特徴データとが直接つながると記述する。第１階層内において、属性と識別データとは、物、他の属性、他の識別データ、および特徴データを介さずにつながっている。このような属性と識別データとのつながり方を、属性と識別データとが直接つながると記述する。同様に、第２階層内において、物と属性とは、他の物、他の属性、識別データ、および特徴データを介さずにつながる。このような物と属性とのつながり方を、物と属性とが直接つながると記述する。同様に、第３階層内において、物と物とは、他の物、属性、識別データ、および特徴データを介さずにつながっている。このような物と物とのつながり方を、物と物とが直接つながると記述する。さらに、物と識別データとが、他の物、属性、他の識別データ、および特徴データを介さずにつながることがある。このような物と識別データとのつながり方を、物と識別データとが直接つながると記述する。同様に、物と特徴データとが、他の物、属性、識別データ、および他の特徴データを介さずにつながることがある。このような物と特徴データとのつながり方を、物と特徴データとが直接つながると記述する。
【００６７】
また、図２Ｂの第１階層の図形で、属性は、識別データと直接つながることにより、その識別データで識別される。識別データだけが直接つながる属性が物につながっていると、識別データによって、識別データが直接つながる属性が取得でき、取得された属性に直接つながる物が取得できる。識別データによって、識別データに直接つながる属性とその属性に直接つながる物とが取得できるだけである。本願技術の一実施形態の知識ベースの外にある言語と、本願技術の一実施形態の知識ベース内の物及び属性とを対応づけるためだけに識別データは用いられる。
【００６８】
ここで、属性識別子と識別データとは、いずれも、属性の識別情報であり、かつ、コンピュータ（知識ベースシステム）による識別を支援する情報である点で共通する。しかしながら、属性識別子は属性に対応づけられる情報（データ）であり、識別データは言葉あるいは単語に対応づけられる情報（データ）である点で相違する。また、特徴データと識別データとは、属性の具体例（インスタンス）という点で共通する。しかしながら、特徴データは属性の実体であり、識別データはコンピュータ（知識ベースシステム）が属性を識別するためのデータである点で相違する。さらに、言葉および単語は、人間による識別を支援する情報（データ）である。言葉および単語の概念的な集まりが、「言語」あるいは「言語の世界」である。
【００６９】
この３つの図形を組み合わせて情報を体系化し、知識とする。物と属性とだけを直接つなぎ対応づけた図形が、図３に示される第２階層の図形である。この階層では、１つの物に対して０個以上の属性が直接対応づけられる。１つの物に直接対応づけられる属性の数は、１つに限定されない。この階層では、物同士はつながらない。物だけを直接つないで対応付けた図形が、図４に示される第３階層の図形である。この階層では、物と属性とはつながらない。この物同士だけのつながりは、直線、環状、木構造、ネットワーク構造など、さまざまなつながり方ができる。
【００７０】
属性と特徴データとだけを直接つなぎ対応付けた図形が、図２Ａに示される第１階層の図形である。属性そのものは、意味を直接持っていない。属性と特徴データとが直接つながることにより、属性が意味を持つ、あるいは属性の意味が生成される。属性と特徴データとが直接つながることにより、概念が生成されると解釈することもできる。たとえば、裏返しになったシャツの映像から生成された特徴データが属性に直接つながり、「裏返し」という意味あるいは概念が生成される。
【００７１】
１つの属性が、複数の特徴データと直接つながることがある。このようにすると複数の特徴データから１つの意味あるいは１つの概念を生成することができる。たとえば、ロマネスク様式を表わす属性は、ロマネスク様式の複数の建物の映像から生成された複数の特徴データが直接つながる。１つの属性に直接対応づけられる特徴データの数は、１つに限定されない。
【００７２】
１つの特徴データが複数の属性と直接つながることがある。１つの特徴データに直接対応づけられる属性は、１つに限定されない。このようにすると、１つの特徴データのさまざまな側面に対応する概念である属性をそれぞれ生成できる。たとえば、焚き火の映像の特徴データがある属性に直接つながり、焚き火の色という概念が生成される。また、焚き火の映像の特徴データが別の属性に直接つながり、焚き火の暖かさという概念が生成される。このように考えると、実物大の焚き火の映像を見て暖かさを感じることがあることを、説明できる。
【００７３】
物そのものは、意味を持っていない。物に直接つながり、対応づけられた属性によって物の性質、特徴、意味あるいは概念が定まる。
【００７４】
第１階層の上に第２階層がつながり、第２階層の上に第３階層がつながる。３つの階層がつながった図が、図５である。例えば、図５に示されるように、この３階層構造を人間の脳に対応させて考えると、１つの属性が１つの神経細胞に対応し、１つの物が１つの神経細胞に対応する。目、舌、鼻などの感覚器官から形、味、香などの、現実の世界の中の対象物である物から直接発せられた、情報を受け取る。脳内の特徴抽出部は、受け取った情報から特徴を抽出し、抽出された特徴を脳内の記憶領域に特徴データとして格納し、保持する。形、香、味などさまざまな特徴が特徴データとして保持される。脳内の属性領域の属性である神経細胞が特徴データとつながり、意味あるいは概念が生成される。属性が、脳内の物領域の物である神経細胞とつながることにより、物の性質、特徴、意味あるいは概念が定まる。
【００７５】
１つの特徴データが複数の概念を生成することがある。炎の映像の特徴データが知識ベース内にあるとする。この特徴データは、ある属性とつながり、炎の色という概念を生成する。また、同じ特徴データは、別の属性とつながり、暖かさという概念を生成する。暖炉で火が燃える絵を見ただけで暖かさを感じることがあるが、このように考えると説明できる。
【００７６】
１つの属性が複数の特徴データとつながってできた概念もある。酸味という特徴データとつながった属性があるとする。レモンの映像の特徴データがこの酸味の属性とつながり、酸味という概念を生成する。青いりんごの映像の特徴データと上述の酸味という属性とがつながることもある。レモンを見るだけで酸味を感じて唾液が出ることがあるが、このように考えると説明できる。このように、異なる複数の特徴データが、１つの同じ属性につながり、１つの概念を生成することがある。
【００７７】
前述の３階層構造は、単語から生成された識別データを使わずに知識を表現し、蓄積し、その知識を体系化することができる。言葉を持たない動物でも、この方法を使えば知識を体系的に保持し、推論などの知識処理ができる。
【００７８】
言葉が使えるならば、文字で表わされた単語の映像、又は音声で表わされた単語の音などから生成された識別データを保持し、その識別データと属性とをつなぎ、対応づけることもできる。識別データと直接つながった属性に特徴データが直接つながっていれば、識別データの元になった言語内の単語と、その属性につながった特徴データとが、その識別データとその属性を介して間接的に対応づけられる。識別データと直接つながった属性に特徴データが直接つながっておらず、その属性に直接つながる物があれば、その識別データの元になった言語内の単語と、その属性に直接つながった物とが、その識別データとその属性を介して間接的に対応づけられる。もちろん、識別データが直接１つの物につながることも可能である。
【００７９】
しかし、同じ単語の文字の映像から生成された識別データ、又は同じ単語の音声から生成された識別データを１つの同じ属性に直接つなぐことにより、１つの属性が複数の識別データを束ねて代表する方が便利である。音声から生成された識別データが直接つながる属性に、文字の映像から生成された識別データが直接つながっていれば、他の属性を取得することなく、文字の映像から生成された識別データをすぐに取得できる。音声から文字への変換がすばやく行える。たとえば、音声から生成された識別データが直接つながる属性を取得し、次に、その属性につながる文字の映像から生成された識別データを取得できる。
【００８０】
このように、識別データは、識別データの元になった言語内の単語と、知識ベース内の物や属性とを対応づける。しかし、映像や音声などで表わされた単語の識別データと、属性や物を対応づけているだけである。識別データは、性質、特徴、意味あるいは概念を直接表わす、あるいは、生成するものではなく、知識ベース内で属性や物を識別するだけである。
【００８１】
対象物そのものから直接発せられる情報を感覚器官を使って受け取り、受け取ったデータから抽出された特徴である特徴データが性質、特徴、意味あるいは概念の源である。単語から生成された識別データと物とを直接つなぐこともできる。
【００８２】
特徴データまたは識別データが直接物につながる場合は、それらによって物が直接識別される。ある特徴的な特徴データまたは識別データによって物を素早く識別したい場合に、特徴データあるいは識別データと物とを直接つなげばよい。この場合、物に直接つながる特徴データまたは識別データは１つに限られず、複数の特徴データまたは識別データが物に直接つながってもよい。物に直接つながる特徴データまたは識別データが、同時に属性に直接つながり、その特徴データが、意味や概念を生成することもできる。
【００８３】
部屋の中に人がいる映像から生成された特徴データがあるとする。この特徴データが属性とつながり、その属性がある物につながっているとする。また、その物が人という属性とつながっているとする。この属性は、たとえば人の映像から生成された特徴データとつながっている。
【００８４】
前述の特徴データと属性と物とのつながりは、「人が部屋の中にいる」ということを表わす。「人が宇宙の中にいる」という表現は、いまひとつ意味がはっきりしない。これは、「宇宙の中にいる」を表わす具体的な特徴データが無く、属性が１つの特徴データともつながっていないからだと考えることができる。「宇宙の中にいる」という概念が生成されていないからだと説明することもできる。もちろん、「人が部屋の中にいる」という特徴データと星空の映像とから生成された特徴データをその属性とつなぐことによって、「宇宙の中にいる」という概念を仮に生成することもできる。類推という思考方法が、これに相当する。
【００８５】
特徴データと属性とを指定し、指定された特徴データと属性とをつなぐように知識ベースシステム外から知識ベースシステムの学習部へ指示を出し、学習部に指定された特徴データと指定された属性とをつながせて学習を行わせることができる。
【００８６】
人間の脳は、内出血などにより脳の一部が働かなくなっても、脳の他の部位が働かなくなった部位の代わりに働くことがある。これは、働かなくなった神経細胞の代わりに、他の神経細胞を物につなぎ変えることにより、他の神経細胞が同じ役割を担うと考えると説明できる。
【００８７】
前述の３階層構造は、この脳の振る舞いを真似ることができる。物および属性が神経細胞に相当する。物および属性それ自体には意味がなく、物および属性は、物や属性の意味を持たない単なる識別子で識別されるだけである。別の物や属性につなぎかえても、つなぎかえる前と同じ対応付けをあらわすことができる。
【００８８】
単一の形式の識別子で、すべての物を識別することができる。単一の形式の識別子で、すべての属性を識別することができる。単一の形式の識別子で、すべての特徴データと識別データとを識別することができる。単一の形式の識別子で、すべての物とすべての属性とすべての特徴データと識別データとを識別することもできる。２種類の形式の識別子でも、３種類の形式の識別子でもかまわない。４種類以上の形式の識別子を使うことも可能であるが、仕組が複雑になるだけである。
【００８９】
２つ以上の神経細胞を１組にして、１つの属性や１つの物に対応させる方法もあり得る。１つの属性や１つの物に対応する複数の神経細胞のうち少なくとも１つにつながっていれば、全体として正常に動作する。
【００９０】
識別データと特徴データの両方を、１つの属性につなぐことができる。識別データだけとつながる属性と、特徴データだけとつながる属性の２種類の属性だけを作ることもできる。
【００９１】
識別データだけにつながる属性と特徴データにだけつながる属性とが、１つの物につながっているとする。たとえば、耳で聞いた単語の音声から生成された音声の識別データと一致する識別データが知識ベース内にあると、その一致する特徴データと直接つながる属性を取得し、その属性に直接つながる物を取得する。さらに、その物に直接つながる他の属性を取得し、取得された属性に直接つながっている特徴データを取得すれば、その単語が表わす物の性質、特徴、意味あるいは概念を知ることができる。これは、連想に相当する働きである。また、１つの単語から識別データが生成され、生成された識別データが１つの属性に直接つながり、その属性をいくつかの異なる物に直接つなぐと、１つの識別データで異なる物を表わせる。これは多義語に相当する。
【００９２】
識別データと特徴データとが同じ属性に直接つながることも可能である。この場合、識別データに直接つながる属性を取得し、取得された属性に直接つながる特徴データを取得する。取得された特徴データは、その識別データの元になった単語が直接含む性質、特徴、意味または概念を表わす。
【００９３】
ひとつの単語から生成された識別データが複数の異なる属性に直接つながると、ひとつの単語から生成された識別データが、複数の意味あるいは概念に対応づけられる。これも多義語に相当する。識別データが物に直接つながっていると、識別データによって物を直接選択し、識別できる。属性を取得することなく物を取得できるので、より早く物を取得できる。
【００９４】
重要なことは、本願技術の一実施形態の知識ベースシステムを使うと、識別データなしで、知識を蓄積し、認識や推論などの知識処理ができるということである。
【００９５】
言葉を用いない動物は、外界から受けた入力情報を、文字や音声などの単語から生成された識別データを用いないで蓄積し、蓄積された情報をもとにして出力情報を生成する仕組みを持っていると想像される。これを、本願では第４の情報処理と呼ぶ。第４の情報処理は、第２の情報処理と第３の情報処理との間に位置づけられる。本願技術の一実施形態の知識ベースシステムは、第４の情報処理を行うことができる。
【００９６】
第２の情報処理と第３の情報処理との間に、大雑把ではあるが、第３の情報処理よりも少ない処理で、可能性のある結論を得ることのできる情報処理の仕組があると考えられる。本願では、これを第４の情報処理と呼ぶ。本願技術を使う一実施形態の知識ベースシステムでは、３階層構造で表現された知識を構築し、第４の情報処理が可能になる。
【００９７】
物と属性と識別データとだけから成る知識ベースを使って、知識を蓄積し、知識処理をすることもできる。この場合の知識ベースシステムは、性質、特徴、意味あるいは概念を含まない。物や属性は、識別データだけで識別され、特徴データに対する処理を行わないので、より速く処理ができ、処理の負荷も小さくできるという特徴がある。知識ベースが特徴データを含んでいても、物と属性と識別データとだけを使って推論などの知識処理を行うことは可能である。
【００９８】
例えば、東京の都心を餌場にするカラスは、深夜や早朝に出されたゴミ袋を破り、食べ物をあさっている。袋からゴミが散乱し、美観を損なっている。人間は、袋の色を変え中身を見えにくくしたり、袋にカラスの嫌がる成分を加えたりして対策を行っている。しかし、カラスは、人間が行った対策を乗り越えて袋の中のゴミをあさり続けている。カラスが学習をして人間と知恵比べをしているように見える。カラスの例で見られるような学習を、第３の情報処理で行っているとは考えにくい。第３の情報処理より簡便な方法で、学習を行っていると考えるのが自然である。本願では、これを第４の情報処理と呼ぶ。前述の３階層構造で表現された知識を構築すると、第４の情報処理が可能になる。
【００９９】
ここまで、第４の情報処理に関する仮説を説明してきた。次に、コンピュータシステムを使って、この仮説の情報処理を行う方法を説明する。
【０１００】
図面を参照しながら、コンピュータシステムを使った、本発明のより具体的な実施形態の一例を以下に説明する。
【０１０１】
図６は、本願技術の一実施形態である知識ベースシステム１０００である。図６に示されるように、入力装置として、カメラ、マイク、赤外線センサ等がコンピュ−タに接続されている。そして、図７に示されるコンピュータが、図６の知識ベースシステム１０００で使われている。
【０１０２】
図７は、コンピュータの概念図である。図７に示されるコンピュータは、入力装置１と、演算装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）２と、通信装置３と、外部記憶装置５と、主記憶装置６と、補助記憶装置７とを備える。
【０１０３】
演算装置２は、例えば、補助記憶装置７に指示を出し、補助記憶装置７に保存されているプログラム９と、プログラム９が使うデータ１０とを主記憶装置６に読み込む。また、演算装置２の指示で、主記憶装置６内のプログラムやデータを補助記憶装置７に保存する。演算装置２は、外部記憶装置５に指示を出し、外部記憶装置５内に保存されているデータ１２やプログラム１１を主記憶装置６に読み込む。また、演算装置２の指示で、主記憶装置６内のプログラムやデータを外部記憶装置５に保存する。
【０１０４】
入力装置１は、キーボード、マウス、画像を読み込むスキャナ、カメラ、マイク、温度センサ、圧力センサなどが含まれる。画像、音、温度などのアナログデータは、デジタルデータに変換される。出力装置８は、平面ディスプレイなどの表示装置、プリンタ、音を出力する装置（スピーカ）、リレー接点、機器を制御する装置などが含まれる。
【０１０５】
演算装置２は、通信装置３に指示を出し、ネットワーク４を介して、図外の他のコンピュータや図外の装置と通信をする。演算装置２は、補助記憶装置７のプログラム９又は外部記憶装置５のプログラム１１を主記憶装置６に読み込むと、読み込んだプログラム９、１１に記述された手順で処理を行う。プログラム９、１１には、演算のほか、入力装置１からの入力、出力装置８への出力、通信装置３を使った通信、主記憶装置６とのデータの読み書き、補助記憶装置７や外部記憶装置５とのデータの読み書きの処理手順が含まれる。
【０１０６】
知識ベースプログラム１３は、本願技術を使った論理演算や知識の集まりや知識ネットワークの処理を行うプログラムである。リレーショナルデータベース１４は、補助記憶装置７又は外部記憶装置５に表形式のデータ１０、１２を作成し、作成された表に対してデータを追加・検索・参照・更新・削除の処理を行う。知識ベースプログラム１３は、リレーショナルデータベース１４を利用して、表に対してデータを追加、検索、参照、更新、削除する。
【０１０７】
図８は、本発明の一実施形態に係る知識ベースシステム１０００の機能ブロック図である。図８に示される各機能ブロックは、例えば、図４に示される補助記憶装置７に知識ベースプログラム１３として記憶されている。補助記憶装置７のプログラム９内に知識ベースプログラム１３があり、その知識ベースプログラム１３内に、例えば、データ入力部１０１０、特徴抽出部１０２０、データ比較部１０３０、データ格納部１０４０、学習部１０５０、検索部１０６０、演算部１０７０、及び出力部１０８０として機能するプログラムがある。プログラム９が、主記憶装置６に読込まれ、演算装置２によって実行される。データ入力部１０１０及び出力部１０８０も主記憶装置６に読込まれ、演算装置２によって実行される。
【０１０８】
データ入力部１０１０は、以下のようにして自動的にカメラで映像データを取得し、マイクで音データを取得する。例えば、赤外線センサによって人や動物がカメラの前にいると判断されると、それがトリガとなってカメラで映像データを取得し、マイクで音データを取得する。また、人間がマウスクリックなどの操作をすることを起因として、カメラで映像データを取得し、マイクで音データを取得してもよい。
【０１０９】
特徴抽出部１０２０は、データ入力部１０１０に入力された入力データから、特徴データまたは識別データを生成する。
【０１１０】
データ比較部１０３０は、特徴抽出部１０２０で抽出された特徴データ（又は、識別データ）と、既にデータ１０（又は、データ１２。以下同じ。）に記憶されている特徴データ（又は、識別データ）とを比較する。
【０１１１】
データ格納部１０４０は、特徴抽出部１０２０で新たな特徴データ又は識別データが生成された場合に、当該新たな特徴データ又は識別データをデータ１０に格納する。また、データ格納部１０４０は、新たな属性の属性識別子を生成し、当該新たな特徴データ又は識別データと対応付けてデータ１０に格納する。さらに、データ格納部１０４０は、新たな物の物識別子を生成し、当該新たな属性の属性識別子と対応付けてデータ１０に格納する。
【０１１２】
なお、データ格納部１０４０は、実際には、新たな特徴データ又は識別データをデータ１０に格納するように、リレーショナルデータベース１４に依頼する。データ１０にアクセスする他の構成要素（検索部１０６０、演算部１０７０等）についても、リレーショナルデータベース１４に対して、データの追加、検索、参照、更新、削除等の処理を依頼し、処理結果をリレーショナルデータベース１４から取得する。しかしながら、以降の説明では、簡単のためにリレーショナルデータベース１４の処理に関する記述を省略する。
【０１１３】
以下に、外部から取得した入力データに基づいて、特徴データ又は識別データを新たにデータ１０に登録する際のデータ入力部１０１０、特徴抽出部１０２０、データ比較部１０３０、及びデータ格納部１０４０の動作を説明する。
【０１１４】
データ入力部１０１０は、対象物から直接発せられた映像データや音データなどの入力データを取得する。データ入力部１０１０によって取得された映像データ又は音データなどの入力データは、特徴抽出部１０２０で特徴が抽出され、特徴データまたは識別データになる。特徴データまたは識別データは、いくつかの処理を経たあと、データ１０にある知識ベースに格納される。
【０１１５】
具体的には、特徴抽出部１０２０は、データ入力部１０１０から取得した入力データから特徴データを抽出し、抽出した特徴データをデータ比較部１０３０に渡す。データ比較部１０３０は、すでにデータ１０に格納されている特徴データと渡された特徴データとを比較し、同じ特徴データがあるかどうかを調べる。
【０１１６】
同じ特徴データがない場合、データ格納部１０４０は、その特徴データを知識ベースに格納し、知識ベース内に属性を生成し、格納された特徴データと生成された属性とを直接つなぐ。さらに、データ格納部１０４０は、物を生成し、生成された物を生成された属性と直接つなぐ。また、同じ識別データがない場合、データ格納部１０４０は、生成された識別データを知識ベースに格納し、知識ベース内に属性を生成し、格納された識別データと生成された属性とを直接つなぐ。さらに、データ格納部１０４０は、物を生成し、生成された物を生成された属性と直接つなぐ。
【０１１７】
いくつかの特徴データが直接つながったひとつの属性は、つながったすべての特徴データを束ねて集約することにより、つながったすべての特徴データを代表し、性質、特徴、意味あるいは概念を表わしている。特徴データがひとつだけつながったひとつの属性も、その特徴データの性質、特徴、意味あるいは概念を代表し表わしている。属性につながる特徴データは、ひとつに限定されない。
【０１１８】
いくつかの識別データだけが直接つながったひとつの属性は、つながったすべての識別データを束ねて集約することにより、つながったすべての識別データを代表している。属性につながる識別データは、ひとつに限定されない。
【０１１９】
上記の処理を、コンピュータに実行させる場合の具体例を、図９及び図１０を参照して説明する。なお、図９は、属性識別子と特徴データとの対応表の例を示す図である。図１０は、物識別子と属性識別子との対応表の例を示す図である。
【０１２０】
図９に示される属性識別子と特徴データとの対応表には、属性識別子と特徴データの識別子（この例では、特徴データが格納されているメモリアドレス）とが対応付けて保持されている。つまり、本明細書中の「属性」とは、図９に示されるように、属性識別子と、当該属性識別子に対応付けられた特徴データとを含む。
【０１２１】
なお、属性識別子は、属性そのものを表す言葉ではなく、かつ、それ自体で意味を持たない記号（この例では、数字列）で構成される。また、特徴データは、当該属性の意味内容を表すデータであって、例えば、当該属性識別子が識別する属性の形、音、香、味、色、圧力、温度、長さ、座標値、及び面積の少なくとも一つを表すデータである。
【０１２２】
さらに、図示は省略するが、図９には、属性識別子と、当該属性識別子に対応付けられた識別データ（又は、その識別子）とを保持してもよい。識別データは、当該属性を表す言葉から生成されたデータである。
【０１２３】
また、図９を参照すれば明らかなように、１つの属性識別子には複数の特徴データ（又は、識別データ）が対応付けられることがあり、１つの特徴データ（又は、識別データ）は異なる属性識別子に対応付けられることがある。
【０１２４】
図１０に示される物識別子と属性識別子との対応表には、物識別子と属性識別子とが対応付けて保持されている。なお、物識別子は、物そのものを表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成される。つまり、本明細書中の「物」とは、物識別子と、当該物識別子に対応付けられた０以上の属性識別子の集合とで表される。
【０１２５】
まず、データ格納部１０４０は、特徴抽出部１０２０で抽出された新たな特徴データ（又は、識別データ。以下同じ。）をデータ１０に格納した後、新たな属性識別子を生成する。このとき、データ格納部１０４０は、図９に既に登録されている属性識別子と重複しないように、新たな属性識別子を生成する。そして、データ格納部１０４０は、新たに生成した属性識別子と、データ１０に格納した特徴データの識別子とを対応付けて、図９に示される属性識別子と特徴データとの対応表に登録する。
【０１２６】
次に、データ格納部１０４０は、新たな物識別子を生成する。このとき、データ格納部１０４０は、図１０に既に登録されている物識別子と重複しないように、新たな物識別子を生成する。そして、データ格納部１０４０は、当該物識別子と、上述の属性識別子とを対応付けて、図１０に示される物識別子と属性識別子との対応表に登録する。
【０１２７】
一例として、データ１０内に未使用の物識別子を保持しておき、当該未使用の物識別子の中から新たに使用する物識別子を取得するようにしてもよい。また、データ１０内に未使用の属性識別子を保持しておき、当該未使用の属性識別子の中から新たに使用する属性識別子を取得するようにしてもよい。さらに、データ１０内に未使用の特徴データの識別子や未使用の識別データの識別子を保持しておき、当該未使用の特徴データの識別子や未使用の識別データの識別子の中から新たに使用する特徴データの識別子や識別データの識別子を取得してもよい。属性識別子、物識別子、特徴データの識別子、及び識別データの識別子を、共通の同じ形式にすると仕組みが単純になる。
【０１２８】
学習部１０５０は、外部から取得した情報に基づいて、図９及び図１０に示される物識別子、属性識別子、及び特徴データの識別子（識別データの識別子）の関係を整理する。検索部１０６０は、データ比較部１０３０又は学習部１０５０の指示に従って、図９及び図１０に示される対応表を検索する。これらの具体的な処理内容は、後述する。
【０１２９】
演算部１０７０は、データ１０に記憶された知識ベースに対して論理演算を行う。より具体的には、少なくとも一つの物識別子が演算の対象として指定されると、当該物識別子に対応付けられた属性を対象として論理演算を行う。論理演算の具体例としては、例えば、ＡＮＤ演算、ＯＲ演算、ＮＯＴ演算、ＮＡＮＤ演算、ＮＯＲ演算、共通度の算出、非共通度の算出、類似度の算出、及び非類似度の算出が挙げられる。これらの具体的な処理内容は、後述する。
【０１３０】
出力部１０８０は、学習部１０５０の学習結果、及び演算部１０７０の演算結果等を、出力装置８に出力するデバイスドライバとして機能する。
【０１３１】
なお、以降の説明においては、「物」及び「属性」を処理対象として説明する。しかしながら、知識ベースシステム１０００における実際の処理では、当該物を識別する物識別子、及び当該属性を識別する属性識別子が処理対象となる。
【０１３２】
例えば、「物と属性とがつながる」とは、物識別子と属性識別子とを対応付けて、図１０に示される物識別子と属性識別子との対応表に登録することを指す。また、「属性につながっている物を取得する」とは、属性識別子に対応付けられた物識別子を取得することを示す。さらに、「物を生成する」とは、新たな物識別子を生成することを指す。上記の例は、一例であって、他の同様の記載についても同様に解釈するものとする。
【０１３３】
本実施形態では、ソフトウエアを使ったコンピュータシステムで実施する例を示した。プログラムという情報で記載された処理手順は、ハードウエアに置き換えることが可能である。したがって、本願技術を集積回路、プロセッサのような演算装置として実施するもとも可能である。
【０１３４】
第４の情報処理に関する前述の仮説を、コンピュータを使って実施する方法を説明する。以下の内容は本願技術の一実施形態である。
【０１３５】
第４の情報処理について、（１）知識の形式、（２）知識の演算、（３）知識の集まりと知識ネットワーク、（４）知識の集まりと知識ネットワークの利用方法の、４つの面から順に説明する。最初に知識の形式について説明する。
【０１３６】
従来技術である第３の情報処理では、話し言葉や文字で書き表された言葉、つまり単語の並びという形式で知識を表現する。現在の人間のような言葉を持っていない動物では、単語の並びという形式の知識を使えない。このような動物では第３の情報処理はできないと考えられる。
【０１３７】
第４の情報処理における（１）知識の形式について考える。知識ベースシステムは、知識を扱う情報システムなので、知識ベースシステムの情報の形式は、知識の形式でもある。第４の情報処理では、知識の基本単位を物とする。１つの物は１つの知識である。物は、石や山などの具体的な物だけではなく、寒さ、大きさ、ＷＥＢページ、音などのような抽象的な物も、物に含まれる。
【０１３８】
物は、あらかじめ定まった性質である属性を持つことができる。１つの物が持つ属性は、１つに限定されず、０個以上の属性を持つことができる。０個以上の属性の集まったものを属性の集合と呼ぶ。論理演算は、集合に対する演算という面がある。属性を論理演算する場合に、１つの物が持つ属性全体を１つの属性の集合と捉えると便利なことがある。１つの属性の集合は、０個以上の属性を持つ。物は、付属情報として属性を持つ。あるいは物は、付属情報として属性の集合を持つ。物が属性を持つとは、属性そのものを持つこと以外に、属性へのポインタを持つことも含まれる。同様に、属性の集合を持つとは、属性の集合そのものを持つこと以外に、属性の集合へのポインタを持つことを含む。
【０１３９】
物が持つ属性を、単語を使わずに表現する方法を以下に示す。最初に座標軸を使って説明する。座標軸を使えば直感的に理解でき理解しやすくなると思われるため、座標軸を使った説明をする。したがって、座標軸をつかった表現は、この一実施形態にとって、本質的なものではない。あくまで、理解しやすくするための例である。
【０１４０】
図１１は、Ｘ軸とＹ軸とが直角に交わっていて、平面上の図形を表現できる。Ｘ軸、Ｙ軸、Ｚ軸の３つの座標をそれぞれ直角に交わらせると、三次元の立体を表わすことができる。Ｘ軸、Ｙ軸、Ｚ軸を直角より小さい角度で交わらせると図１２のようになり、平面で３つの座標を表現できる。座標軸の交わる角度を更に小さくすると、より多くの座標軸を平面で表現できる。
【０１４１】
図１３は、一実施形態において、属性を座標軸に対応させた例である。図１３では、３次元の座標軸で属性を表現している。１つの座標軸で１つの属性を表している。座標軸１で「高い」という属性を表現し、座標軸２で「塩辛い」という属性を表現し、座標軸３で「甘い」という属性を表現する。
【０１４２】
なお、説明を分かりやすくするために、属性を座標軸に対応させているだけである。属性を座標軸に対応させることは、この実施形態にとって本質的ではない。また、本実施形態の説明を分かりやすくするために、図１３では、座標軸１、２、３を直交させているに過ぎない。どのような角度で座標軸が交わっているかも本実施形態にとって本質的ではない。説明を容易にするための例示である。
【０１４３】
通常、物は１つ以上の属性を持っている。図１３の例では、属性が座標軸に対応づけられる。そして、属性は、座標軸の識別子と真であるか偽であるかを表わす真偽値の組で表わされる。真偽値は、真であるか、偽であるか、偽のどちらでもないという３種類の値のどれかを持つことができる。例えば、真の値を「１」、偽の値を「−１」、真でも偽でもない場合の値を「０」とする。
【０１４４】
物の属性である各座標軸において、真偽値として「１」を持つ物は、座標軸で表わされる属性を持つ。同様に、「−１」を持つ物はその属性を持たず、「０」を持つ物はその属性によって特徴付けられないことを表す。真か偽かわからない場合、すなわち不定の場合に真偽値を「０」にすることもできる。属性を識別する１つの属性識別子と１つの真偽値との組が、１つの属性となるようにするのが自然である。「１」、「０」、「−１」という値の代わりに真偽値を、真偽値を表わす識別子とすることもできる。“真”、“偽”、“真でも偽”でもないという３種類の識別子のいずれかを真偽値の値とすることもできる。例えば、“真”を「２０００５」、“偽”を「２０００６」、“真でも偽でもない”を「２０００７」という識別子にすることもできる。
【０１４５】
属性が真偽値を持たないようにすることもできる。物がある属性を持つ場合、その属性の真偽値を真とすることもできる。一方、物がある属性を持たない場合は、その属性の真偽値を偽とする方法がある。また、物がある属性を持たない場合は、真偽値を偽または不定とする方法もある。不定とは、真であるか偽であるか定まっていないことである。この方式では属性の真偽値がないので、論理演算の処理が単純になる。数学の世界では、０（零）という数の発見は大きな出来事である。物がある属性を持たないという状態を、偽という真偽値を持つという形で明確に区別するのは高度な情報の持ち方かもしれない。したがって、第４の情報処理に限定した場合は、属性が真偽値を持たない方式の方が自然かもしれない。
【０１４６】
たとえば、「山」という物を取り上げる。「山」は、「高い」という属性を持つとする。「高い」という属性は、高い山の映像から抽出された特徴データとつながっている。通常、物は複数の属性を持つため、「山」という物は、「高い」などの属性が集まった属性の集合を持っている。このとき、「山は高い」は、正しい。「山は塩辛い」は、正しくない。「岩塩でできた山は塩辛い」は、正しい。「岩塩でできた山」は、「岩塩」が持つ属性と「山」が持つ属性を併せ持つからである。「岩塩」が、「塩辛い」という属性を持つため、「岩塩でできた山」は、「高い」と「塩辛い」という属性を持つ。
【０１４７】
座標軸と真偽値で表わすと、山、岩塩、岩塩でできた山という物はそれぞれ、以下のように記述できる。
（１）山の、座標軸１は１
（２）岩塩の、座標軸２は１、座標軸３は−１
（３）岩塩でできた山の、座標軸１は１、座標軸２は１、座標軸３は−１
同じ内容を、記号を用いて次のように記述することもできる。
（１）山（１：１）
（２）岩塩（２：１、３：−１）
（３）岩塩でできた山（１：１、２：１、３：−１）
【０１４８】
左括弧の左は物で、括弧全体は、言葉が持つ属性の集合を表わし、括弧の中は物が持つ個々の属性を表す。括弧内の「：」の左側の数字は属性を表わす属性識別子で、「：」の右側はその属性の真偽値である。物が、ある属性によって特徴付けられない場合は、その座標軸の属性識別子と真偽値の記述とを省略する。属性を持たないとは、その属性が、物の意味に影響を与えないと考えられることである。あるいは、その物とその属性の関連についての情報が無いことを示す。
【０１４９】
また、物が属性を持つ場合のみ、つまり、物が持つ属性の真偽値が真の場合のみ属性を記述してもよい。この場合は、真偽値は持たない。第４の情報処理においては、この方が自然かもしれない。この方が前述の仮説により近い。物が持つ属性の真偽値が真の場合のみ、真偽値を含まない属性を記述すると次のようになる。
（１）山（１）
（２）岩塩（２）
（３）岩塩でできた山（１、２）
【０１５０】
属性を表わす属性識別子は、主識別子と副識別子とで構成することもできる。主識別子は、属性の基本的な性質を表わし、副識別子は程度や様子などの属性のより詳しい性質を表わす。副識別子は、副詞に相当する。前述の仮説の主属性の識別子が属性の主識別子に相当し、前述の仮説の副属性の識別子が属性の副識別子に相当する。属性が主属性だけでできている場合もある。主属性も副属性も属性で、同じデータ構造である。
【０１５１】
例えば、身長という属性は、背が高い、背がちょっと高い、背が低いなどのように、さらに詳しい属性を持つことができる。身長を例にすると、主属性の識別子である主識別子を基本的な属性である身長に対応付けることができる。一方、身長が高い、身長が低いという基本的属性を修飾する属性を副属性の識別子である副識別子に対応付けることができる。たとえば、人の身長を身長計で測っている映像から生成された特徴データを主属性に直接つないで対応づける。小柄な人の映像から生成された特徴データを副属性に直接つなぎ対応づける。
【０１５２】
主識別子を座標軸の識別子に対応付け、副識別子を座標軸上の位置や範囲に対応付けると理解しやすい。副識別子に対応する値、範囲、程度、または、状況に相当する特徴データが副属性に直接つながり対応づけられており、副属性の識別子である副識別子とその特徴データの識別子が対応づけられている。副属性に直接対応づけられる特徴データは、数値の特徴データだけではなく、音や映像など五感と呼ばれる感覚器官やセンサで得た情報から生成された特徴データもある。副属性の識別子である副識別子は、副詞のように主属性の識別子である主識別子を修飾するものである。主識別子をキーにして、その属性の主識別子に直接対応する特徴データを取得できる。副識別子をキーにして、その属性の副識別子に直接対応する特徴データを取得できる。
【０１５３】
全ての属性がより詳しい属性を持っているわけではないので、副属性の識別子である副識別子を必要としない場合もある。この場合は、副識別子の値の記述を省略する、あるいは、特別な値、例えば０にしておき、詳細な性質が無いことを示すことができる。例えば、詳細な性質がある場合は、主識別子の右側に「＊」に続けて副識別子を記述し、詳細な性質がない場合は、「＊」と副識別子の記述を省略する。
【０１５４】
例えば、「とても塩辛い」に対応する副識別子を９とし、「少し塩味を感じる」に対応する副識別子を１とする。さらに「少し塩味を感じる」と「とても塩辛い」の間に段階的に複数の副識別子を設けてもてもよい。式で表わすと以下のようになる。副識別子も識別子であるから、「とても塩辛い」という特徴を表わすデータ、たとえば、９という値の特徴データを指し示す識別子であればよい。この例では、直感的に判るように「とても塩辛い」という特徴を表わすデータとその副識別子を同じ文字で表わしている。
（１）山（１：１）
（２）岩塩（２＊９：１、３：−１）
（３）岩塩でできた山（１：１、２＊９：１、３：−１）
【０１５５】
山をＡ、岩塩をＢ、岩塩でできた山をＣで表わすと、以下のようになる。Ａ、Ｂは、物の意味を表す単語ではなく、物の意味を表わさず単に物を識別する「物識別子」である。物は、１つの「物識別子」と１つの属性の集合から成ることを表している。Ａの代わりに３０００３という識別子を使ってもよい。集合は、０個以上の属性を要素として持つことができるので、物を表わす「物識別子」が持つ属性を表わす属性識別子は、１個に限定されず、０個でも、１個でも、２個以上でもかまわない。
（１）Ａ（１：１）
（２）Ｂ（２＊９：１、３：−１）
（３）Ｃ（１：１、２＊９：１、３：−１）
Ａの代わりに１０００、Ｂの代わりに１００１、Ｃの代わりに１００２を使うと次のようになる。
（１）１０００（１：１）
（２）１００１（２＊９：１、３：−１）
（３）１００２（１：１、２＊９：１、３：−１）
さらに、真偽値が真の属性だけを記述すると次のようになる。
（１）１０００（１）
（２）１００１（２＊９）
（３）１００２（１、２＊９）
【０１５６】
このようにすると、属性を座標軸とした空間のなかで、物を点、線、平面、立体などとして表現できる。属性を座標軸とした空間のなかで、２つの物の重なり具合や近さが、２つの物の関連性の大きさを表わす。
【０１５７】
このようなデータ構造を使うと、脳の神経細胞に対応づけられた物や属性をうまく表現できる。物や属性を識別する識別子で物や属性を表わすことによって、脳の神経細胞に対応づけられた物や属性のつながりを表現できる。物や属性を識別する識別子をキーにして物や属性を検索することにより、つながっている物や属性を取得する。つながっている物と属性について、物識別子と属性識別子とを対応付ける表を作る。この表を物識別子をキーにして検索すると、その物が持つ属性識別子が取得できる。属性識別子をキーにして表を検索すると、その属性とつながる物識別子が取得できる。つながっている属性と特徴データについて、属性識別子と特徴データとを対応づける表をあらかじめ作成しておく。この表を属性識別子をキーにして検索すると、その属性につながる特徴データを取得できる。この表を特徴データで検索すると、その特徴データとつながる属性識別子が取得できる。このようにして、物、属性、特徴データのつながりをまねることができる。
【０１５８】
本実施形態は、樹状突起等によって物や属性に対応する神経細胞同士をつなぐのではなく、物や属性をその意味を表さず単に識別するだけの識別子だけで表わし、識別子をキーにして物や属性を選択し取得することにより神経細胞のつながりをまねている。
【０１５９】
従来技術の情報システムにおいて、人を社員番号という識別子に対応づけることは行われていた。しかし、従来技術においては、人は、社員番号という識別子以外に年金番号のような異なる形式の複数の識別子を持つことができる。自動車は、ナンバープレートの番号や製造番号という識別子を持つ。社員番号、年金番号、自動車の番号は、それぞれ異なる形式の情報である。同じ人という物でも異なる形式の識別子を持つことができる。また、人と自動車のように異なる物は、異なる形式の識別子を持っている。
【０１６０】
本実施形態では、すべての物は同じ単一の形式の識別子だけを持ち、物と物識別子とは１対１に対応する。すべての属性は同じ単一の形式の識別子だけを持ち、属性と属性識別子とは１対１に対応する。さらに、真偽値を、真偽値を表す識別子とすることもできる。この場合、真偽値は、真を表わす属性と偽を表わす属性とのいずれかになる。真を表わす属性は、真を表わす特徴データとつながり、偽を表わす属性は、偽を表わす特徴データに対応づけられる。属性の主識別子である主属性の識別子、属性の副識別子である副属性の識別子、真偽値の識別子を含む全ての識別子も物識別子と同じ形式に限定できる。
【０１６１】
外部から情報を受け取ると、受け取った情報から特徴を抽出する。抽出された特徴を特徴データとして保持する。保持された特徴データと物識別子や属性識別子が対応づけられる。外部に情報を出力するときには、物や属性とつながっている識別データが取得され、取得された識別データから単語が生成され、生成された単語が出力される。日本語の「花」、英語の「ｆｌｏｗｅｒ」という単語から生成された識別データを１つの属性につなぐ。実際に咲いている花の映像から生成された特徴データが別の属性識別子に対応づけられる。そして、これら２つの属性が１つの物に対応づけられる。このようにすれば、一方の属性から物を取得し、同じ物につながっている他方の属性を取得できる。その結果、属性につながった単語の識別データや映像の特徴データを出力することができる。たとえば、花の映像の特徴データから、花という単語の識別データを取得し出力できる。
【０１６２】
第４の情報処理における（２）知識の演算について説明する。
【０１６３】
たとえば、岩塩は塩辛いかどうかを調べる方法を考える。つまり、物が、ある属性を含んでいるかどうかを調べる方法を考える。仮想のプログラミング言語であらわすと、例えば、以下のような記述で表わすことができる。
Ｂ．ｉｎｃｌｕｄｅ（（２＊９：１））
【０１６４】
Ｂは、物を表わす単語または識別子で、属性の集合を持っている。引数の（２＊９：１）は、属性を１つ含む属性の集合である。物の名前または物識別子が式に記述されている場合は、物が持つ属性の集合が演算対象になる。この場合は、たまたま、属性が１個の集合になっているが、属性が０個でも複数あってもよい。Ｂ．ｉｎｃｌｕｄｅ（（２＊９：１））というプログラムは、Ｂが持つ属性の集合の中に、引数の属性と同じものがあれば、真の値を戻り値として返す。同じ属性識別子はあるが、真偽値が異なる場合は、偽の値を戻り値として返す。同じ属性識別子がない場合は、存在しないことを表わす値を戻り値として返す。存在しないことを表わす値としてＮＵＬＬを使ってもよい。また、同じ属性識別子がない場合に、偽の値を戻り値として返してもよい。この演算によって、ある物が、ある属性を持っているかどうかを調べることができる。
【０１６５】
属性の集合（２＊９：１）に名前をつけて、その名前を記述してもよい。例えば、（２＊９：１）に「ｖｅｒｙＳａｌｔｙ」という名前を付けて、Ｂ．ｉｎｃｌｕｄｅ（ｖｅｒｙＳａｌｔｙ）と記述することができる。
【０１６６】
実際のプログラムでは、ｉｎｃｌｕｄｅというプログラムが次の処理をして、真または偽の値またはＮＵＬＬの値を生成する。Ｂを比較される属性の集合を持つ物、ｖｅｒｙＳａｌｔｙつまりプログラムの引数である属性の集合を、比較する属性の集合と呼ぶ。比較する属性の集合の全ての属性が、比較される属性の集合にあり、かつ、真偽値が一致している場合に、真の値を戻り値として返す。比較する属性の集合の全ての属性が、比較される属性の集合にあり、かつ、真偽値が一致していないものがある場合に、偽の値を戻り値として返す。比較する属性の集合の属性が、比較される属性の集合に１つでもない場合、比較できない属性があるという意味で、ＮＵＬＬを戻り値として返す。比較する属性の集合の属性が、比較される属性の集合に１つでもない場合、偽を返してもよい。ＮＵＬＬを返すか偽を返すかは、プログラムの設計方針に依存する。ここで挙げた戻り値およびその条件は、例示である。他の条件や戻り値の組み合わせでもよい。
【０１６７】
同じ属性が無い場合に、類似の属性があるかどうかを調べる方法があると便利である。すなわち、あらかじめ定められた数以上の比較する属性について、その主識別子が比較される属性の集合にあり、かつ、真偽値が一致している場合に、真の値を戻り値として返す。これは、例示であってこれ以外の条件を用いてもかまわない。
【０１６８】
偽とＮＵＬＬとを戻り値とする条件の一例を以下に示す。あくまでも例示であって他の条件でもよい。比較する属性の集合の属性の主識別子が比較される属性の集合にあり、かつ、真偽値が一致しているものがあらかじめ定められた数より少ない場合に、偽の値を戻り値として返す。比較する属性の集合の属性の主識別子が比較される属性の集合に１つもない場合に、比較できないという意味でＮＵＬＬの値を戻り値として返す。前述の条件は例示であって、適切なものであればそれら以外の条件でもかまわない。
【０１６９】
仮想のプログラム言語で記述すると、以下のようなプログラムになる。下記ｉｓＬｉｋｅというプログラムは、類似性を判断するプログラムである。
Ｂ．ｉｓＬｉｋｅ（（２＊９：１））
【０１７０】
同様に、Ｂ．ｉｓＬｉｋｅ（ｖｅｒｙＳａｌｔｙ）と記述することもできる。
【０１７１】
属性の副識別子が補足情報として値、値の範囲、程度、状況などを表わすようにする。属性の副識別子、つまり、副属性が特徴データである値、値の範囲、程度、状況とつながっている。主識別子を指定し、主識別子が同じで副識別子が同じかどうかを判断基準にすることもできる。副識別子に対応する特徴データである値や範囲をあらかじめ保持しておき、副識別子をキーにして値や範囲の情報を取得すれば、値を直接比較することもできる。
【０１７２】
身長という主属性は、たとえば１９０ｃｍというように、具体的な値の特徴データとつながる副属性とつながることができる。しかし、身長が高いという属性のように明確でない属性もある。日本人男性を前提としてとして考えると、ほぼ全ての人が身長１８５ｃｍを身長が高いと判断する。６０％の人が身長１８０ｃｍを身長が高いと判断するとかもしれない。この例のように、属性が明確な境界を持たないことはよくある。
【０１７３】
ファジィ集合という考え方を使うと、このような明確な境界を持たない属性をうまく表現できる。具体的な身長の範囲という特徴データの代わりに、ファジィ集合におけるメンバーシップ関数につながる副属性を用いる。メンバーシップ関数は、引数として実際の値が与えられると０から１までの範囲の値を計算する。この計算された値が程度を表わす。生成された程度があらかじめ定められた一定の値以上であれば、そのファジィ関数の副属性が真であると判断する。この場合、その主属性とそのファジィ関数と特徴データがつながった副属性とを、その物の属性とする。
【０１７４】
数値、音声データ、画像データ、動画データなども実際のデータに含まれる。実際のデータから生成された特徴データがファジィ関数と共に同じ属性とつながる。実際のデータは、前述のデータに限定されるものではない。例えば、顔の画像データから幅と長さとの比率を求め、その比率を引数にして、保持されたメンバーシップ関数を使って丸顔の程度を生成することができる。
【０１７５】
実際の値を引数にしてあらかじめ保持されたメンバーシップ関数を実行し、メンバーシップ関数で程度を生成する。生成された程度が、あらかじめ定められた一定の値以上であれば真偽値を真にし、あらかじめ定められた一定の値より小さければ真偽値を偽にしてもよい。
【０１７６】
図１４は、一実施形態におけるファジィ集合の例である。メンバーシップ関数は、図１４の横軸の値である具体的な値などのデータを与えると、図１４の縦軸で示される程度を表わす０から１までの値を生成して、生成された程度を表わす値を戻り値として返す。
【０１７７】
明確でない属性を生成する方法として、さまざまな特徴データや識別データを１つの属性につなぐ方法がある。たとえば音声認識において、ある単語を多くの人に発音してもらい、その発音から識別データを生成する。生成された複数の識別データを１つの属性につなぐ。この属性は、その単語の音声表現を表わす。属性につながった識別データのどれかと同じ識別データが入力された音声から生成されると、入力された音声がその属性として認識される。この方法は特徴データにも使え、音声以外に画像などあらゆる情報に適用できる。
【０１７８】
２つの属性の集合に関して、属性がどの程度共通しているかを知りたいことがある。この共通している程度を共通度とする。例えば、２つの属性の集合に関して属性識別子と真偽値が同じである属性があるかどうかを調べ、一致する属性が１組あれば、共通度を１とし、２組あれば２とする。このように、一致する属性の組数を共通度として返すプログラムを作れば、共通度を求めることができる。属性が付属情報として重みを持っている場合、一致する属性の重みを足し合わせて共通度を求めてもよい。重みを足し合わせることも、計数することに含まれる。上記共通度の計算方法は、一例である。他の方法を用いてもよい。
【０１７９】
２つの属性の集合に関して、属性がどの程度一致していないかを知りたいことがある。この一致していない程度を非共通度とする。たとえば、２つの属性の集合に関して属性識別子が同じで、真偽値が異なる属性があるかどうか調べ、該当する属性が１組あれば非共通度を１とし、２組あれば非共通度を２にする。このように、該当する属性の組数を非共通度として返すプログラムを作れば、非共通度を求めることができる。属性が付属情報として重みを持っている場合、該当する属性の重みを足し合わせても非共通度を求めてもよい。上記非共通度の計算方法は、一例である。他の方法を用いてもよい。
【０１８０】
共通度と非共通度とは、２つの属性の集合がどの程度似ているか、どの程度違っているかを表わす尺度として利用できる。共通度を求めるプログラムにおいて、一致している属性の一覧を戻り値として返すことも可能である。同様に、非共通度を求めるプログラムにおいて、一致していない属性の一覧を戻り値として返すことも可能である。
【０１８１】
共通度が大きい場合は、共通する属性が多いことを意味する。非共通度が０より大きい場合は、対立する属性を含んでいる可能性を意味する。本を読んだり話を聴いたりしているときに、「おや、何か変だ」と感じることがある。この感覚は、非共通度が０より大きい場合に対応付けることができる。共通度は大きいけれど、非共通度が０でない場合は、何らかの矛盾がある可能性がある。
【０１８２】
ＡＮＤ演算は、２つの属性の集合に共通する属性を要素とする属性の集合を新たに生成する。ＡＮＤ演算を行うプログラムは、２つの属性の集合に関して、属性識別子が同じで、且つ真偽値が同じ属性を集め、前記集められた属性を要素とする新たな属性の集合を生成する。例えば、次のような記述になる。ＡＮＤ演算は積集合の演算でもある。ＡＮＤ演算は、例えば、（Ａ  ＡＮＤ  Ｂ    ＝  ｃ  ＝  φ）のように表すことができる。ここで、ｃは属性を含まない属性の集合である。記号φは、属性を持たない属性の集合を表わす。
【０１８３】
ＯＲ演算は、２つの属性の集合の属性うち、少なくともいずれかの属性の集合に含まれる属性をすべて含む属性の集合を新たに生成する。ＯＲ演算を行うプログラムは、二つの属性の集合に含まれる属性を全て含む属性を要素とする新たな属性の集合を生成する。ＯＲ演算は、和集合の演算でもある。
【０１８４】
属性識別子が同じで、真偽値が異なる属性をＯＲ演算で生成される新たな属性の集合含める方法と含めない方法とがあるが、含めない方が自然と考えられる。ある属性について一方の属性の集合ではその真偽値が真で、他方の属性の集合ではその真偽値が偽の場合、２つの属性の集合は相反する属性を持っていることになる。
【０１８５】
そのため、２つの属性の集合に対して非共通度を計算し、非共通度が０の場合だけＯＲ演算を行うようにする方法もある。記号で表わすと次のようになる。ａは（１：１）という属性の集合で、ｂは（２：１、３：−１）という属性の集合であるとする。ここで、ａ及びｂのＯＲ演算は、（ａ  ＯＲ  ｂ＝  ｇ）のように記述することができる。そして、ｇは、（１：１、２：１、３：−１）という属性の集合になる。
【０１８６】
ＮＯＴ演算は、属性の集合に含まれる全ての属性の真偽値の値を逆にした属性の集合を新たに生成する。記号で表わすと次のようになる。ａという属性の集合は、（１：１）という属性を含んでいるとする。ａのＮＯＴ演算は、（ＮＯＴ  ａ  ＝  ｋ）のように記述することができる。そして、ｋは、（１：−１）という属性を持っている。
【０１８７】
なお、上記の例では、小文字のアルファベットを属性の集合、大文字のアルファベットを物にしている。
【０１８８】
前述の演算方法を使えば、属性の集合に含まれる属性の数が多くても少なくても、論理演算式は変わらない。通常、物は非常に多くの属性を持っている。本技術を使えば、従来技術に比べて論理演算式が非常に単純に記述できる。
【０１８９】
これまでの説明で明らかなように、本実施形態では、物と物が持つ属性とを、単語で表現するのではなく、物や属性そのものの意味を持たない情報である識別子で表現している。そして、属性そのものの意味を表わさない情報である識別子で表わされた属性を要素とする属性の集合を論理演算の対象としている。
【０１９０】
属性の集合の要素である各属性を、それぞれ１つの座標軸に対応させる。それぞれの属性に対応する座標軸を識別する座標軸の識別子を属性識別子とし、属性識別子と真偽値との組で属性を表わす。その属性が真である場合は、属性識別子と肯定の値との組で属性を表わす。一方、その属性が真でない場合は、属性識別子と否定の値との組で属性を表わす。このように解釈すると、理解しやすいかもしれない。属性を座標軸に対応させるのは、本技術の理解を助けるのが目的である。属性を座標軸に対応させることは、必須ではない。
【０１９１】
属性をより詳しく表現するために、主識別子と副識別子とから成る属性識別子としてもよい。主属性の識別子が主識別子に対応し、副属性の識別子が副識別子に対応する。それぞれの属性に対応する座標軸を識別する座標軸の識別子を主識別子とし、当該属性のより詳しい特徴を示す値、範囲、程度などを表わすものを副識別子とし、主識別子と副識別子とからなる識別子と真偽値とからなる属性としてもよい。ただし、副識別を必要としない属性もある。その場合は、副識別子を持たないことを表わす特別な値、たとえばＮＵＬＬのような特別な値を副識別子にしてもよい。また、単に副識別子を持たないようにしてもよい。
【０１９２】
これまでの説明では、副識別子を使って属性の程度を表わす方法を示した。しかし、例えば、人種によって背が高いという属性の判断基準が異なる。そのため、属性から、身長のような実際の情報を取得できるようにすることは有益である。実際の身長の数値の情報を特徴データとして保持し、身長という属性を生成し、その副属性に身長の特徴データを対応づけておけばよい。また、全身の映像から生成された特徴データを身長という属性につないでおいてもよい。身長という属性につながった特徴データをもとに、背が高いかどうかを判定し、その属性の意味を変更することができる。このようにすると、属性識別子から実際の情報が取得できる。属性識別子を検索キーにして、実際の情報、つまり特徴データが取得できる。
【０１９３】
上記のプログラムの例では、関数型のプログラムを想定しているのでプログラムの実行結果を戻り値として返す。しかし、関数型でないプログラムでも実施可能である。
【０１９４】
画像、動画、音、触覚、温度、圧力などあらゆる情報から属性を生成できる。例えば、顔の画像から面長や丸顔という属性を生成できる。画像データから顔の部分を抽出し、抽出された顔の画像データから顔の横幅と長さとの比率を計算する縦横比率計算機能を持っているとする。顔の画像データが与えられると、縦横比率計算機能を使って与えられた顔の画像データから顔の縦横比率を計算する。計算された顔の縦横比率に一番近い属性を選び、選ばれた属性の真偽値を真にする。
【０１９５】
本実施形態では、単語から識別データを生成して保持し、その単語から生成された識別データを属性に対応づけることはできる。しかし、知識ベースシステム内において、単語から生成された識別データは、単に物や属性を選択するために使われるだけで、物や属性の意味や概念を表すものとしては利用されない。画像、音、触覚、温度、圧力などの言葉以外の情報から生成された特徴データがつながった属性を生成し、生成された属性を含む属性の集合を論理演算することにより、例えば、画像診断システム、設備の監視システムになど利用できる。
【０１９６】
ある物が、他の物の属性の集合を引き継いでいることがある。また、ある物が、他の物の属性の集合を含んでいることもある。ＯＲ演算は、他の物の属性を引き継いだり、含んだりすることに対応付けられる。
【０１９７】
次に、第４の情報処理における（３）知識の集まりと知識のネットワークとについて説明する。
【０１９８】
共通する属性を持つ物を集めたものを知識の集まりという。１つまたは１つ以上の属性を指定し、指定された属性識別子を持つ物を選択する。選択された物の集まりが知識の集まりである。通常、指定された全ての属性の属性識別子を持つ物を選択するが、指定された属性のうちの一部を持つ物を選択してもよい。
【０１９９】
選択された回数を物ごとに記憶しておき、選択された回数が予め定められた回数以上の物を集めて知識の集まりをつくることもできる。たとえば１０個の属性で検索を行った場合は、検索に使った属性の数に０．８を掛けけた値の８回以上選択された物を集めて知識の集まりをつくる。また、物と属性のつながりが付属情報としてつながりの強さの程度を表わす重みを持つ場合は、回数を記憶する代わりに選択されるたびに重みを足しあわて物ごとに重みの累計値を保持し、その累計値が予め定められた一定値を超える物を集めて知識の集まりをつくってもよい。重みを使う方法も検索された回数を使う方法も、属性を使った検索である。
【０２００】
特別な場合として１個の物だけからなる知識の集まりになることがある。この場合は、検索に使った属性によって１つの物が特定され認識されたと解釈することもできる。
【０２０１】
ある物の集まりを生成するために使ったすべての属性だけを１つの物につなぐと、その物は物の集まりを意味する抽象的な物になる。この抽象的な物にある単語から生成された識別データがつながった属性をつなぐと、その識別データによってこの抽象的な物が識別できる。
【０２０２】
知識の集まりにおいて、ある物と他の物とが関係を持っていることがある。これら関係のある物同士をつなぐ。このつながり合った物の集まりが知識ネットワークである。物と物とをつなぐことで、物と物との関係を表現する。関係には、双方向につながる場合と、一方向につながる場合とがある。双方向につながる場合は、つながる２つの物を区別できないので、対等な関係になる。一方向につながる場合は、つながる２つの物を区別できる。たとえば、親子関係を一方向のつながりで表し、親である物から子である物の方向だけの一方向につなぐ。このようにすると、親である物と子である物とを区別できる。
【０２０３】
一方向のつながりで表わされる関係を、包含関係のように、ある物が他の物に含まれていることに対応づけることもできる。
【０２０４】
知識ネットワークにおいて、物と物とのつながりを追加すること、つながり方を変えること、つながりを削除することは、知識を学習することに対応づけられる。知識ネットワークに、新しく物を追加することや既にある物を削除することも、知識の学習に対応づけられる。新たな知識ネットワークを生成することも学習に対応づけられる。知識ネットワーク内の物の存在やつながりも知識である。物も知識である。
【０２０５】
図１５は、物の包含関係を表わしている。図１５に示される丸印は、ノード６０である。ノード６０は、物識別子を保持し、物を表わす。ノード６０は、物識別子で表わされた物だけである。属性６１および属性６１の集合、特徴データ、識別データはノード６０ではない。属性６１および属性６１の集合は、ノード６０である物の付属情報である。物とは石とか犬のような具体的な存在だけなく、光る物やＷＥＢページや概念のような抽象的な物も含まれる。属性６１を持たないノード６０も可能である。何か分からない物がある場合、その物は属性６１を持たない。ノード６０は、０個以上の属性６１を持っている。１つの物が持つ属性全体を属性６１の集合と捉えることもできる。属性６１の集合は、図１９に示される物と属性との一覧表に相当する。矢印６２は、ノード６０の関連を表わす。つまり、矢印６２は、物の関連を表わす。矢印６３は、ノード６０と属性６１とのつながりを表す。
【０２０６】
知識の集まりを生成する属性の持ち方には、２種類ある。１つ目の方法は、たとえば図１５において、すべての物が生物という属性を持つ。また、動物、哺乳類、爬虫類、魚類を表す物が動物という属性をもつ。さらに哺乳類、人、犬を表す物が、哺乳類という属性を持つ。このように、上位概念である物を表わす属性を、下位概念である物が持つようにする。特に、下位概念の物がすべて、上位概念を表わす属性をもつようにすると、下位概念の物は、必ず上位概念を表わす属性を持つようになる。このようにすると、１つの概念を表わす属性を指定して知識の集まりを生成すると、その下位概念である物をすべて含む知識の集まりを生成できる。たとえば、動物という属性を指定して知識の集まりを生成すると、その知識の集まりには、動物とその下位概念である哺乳類、爬虫類、魚類が含まれる。
【０２０７】
２つ目の方法は、次のようにする。下位概念の物は、上位概念を表わす属性を持たない。属性を階層化して、属性の階層化情報を保持する。属性の階層化情報において、上位概念を表わす属性から下位概念を表わす属性へ順に並べてつなぐことにより、複数の概念を表わす属性を同じ順番にできるようにする。属性の階層情報から、ある属性以降の属性を選び、選ばれた属性を少なくとも１つ持つ物を集めて知識の集まりを生成する。属性の階層情報から、ある属性以降のすべての属性を選んで知識の集まりを生成すれば、下位概念すべてを含む知識の集まりを生成できる。ある範囲の属性を選べば、その範囲の属性を持つ知識の集まりが生成できる。しかし、知識の集まりで物と物との関係を表わすことは難しい。物と物とをつないだ知識ネットワークを作ると、物と物との関係を簡単に表わせる。
【０２０８】
図１５のように、知識の集まりにおいて物と物とをつなぐことができる。つながり合った物を知識ネットワークと呼ぶ。例外的に、共通の属性を持たない物、つまり知識の集まりに含まれない物が知識ネットワークにつながることも可能である。端点となる１つのノードに１つ以上のノードがつながる形の木構造の他、さまざまなつながり方の知識ネットワークがある。つながりには方向のあるつながりと方向のないつながりがある。方向がある場合は、つながる２つの物に違いがあることを表わせる。方向のないつながりは、一方向ではなく双方につながっていると見ることもできる。方向のあるつながりは、矢印で表わす。方向のないつながりは線で表わす。矢印は出発点と到着点を持ち、矢印のある方が到着点で、矢印のない到着点でないない方が出発点である。出発点を矢印の始点、到着点を矢印の終点と呼んでもよい。
【０２０９】
木構造のように出発点である根となるノードが無い網構造の知識ネットワークも可能である。物と物とがつながっていれば知識ネットワークである。どのようなつながり方でもよい。物が１つだけ、または、０個の知識ネットワークもあり得る。神経細胞のネットワークにおいては、神経細胞同士をつないでいる樹状突起等によるつながりが矢印に相当する。
【０２１０】
物は、複数の知識の集まりに属すことができる。そして、物は、複数の知識ネットワークに属することができる。例えば、人間は、血縁関係という属性を持っている。出身学校のような属性も持っている。これらの複数の属性を１つの知識ネットワークで表現すると、非常に複雑な知識ネットワークになる。血縁関係を表す知識ネットワークと出身大学を表す知識ネットワークとをそれぞれ生成し、人間のノードを、血縁関係を表す知識ネットワークと出身学校を表す知識ネットワークなど複数の知識ネットワークに属すようにする。血縁関係を表す知識ネットワークでは、物であるノードを血縁関係でつなぐ。出身大学を表す知識ネットワークでは、たとえば学年であるノードをつなぐ。いくつもの知識ネットワークに分けて物と物とのつながりを表わすと、個々の知識ネットワークの構造が非常に単純になる。
【０２１１】
通常、物は、複数の知識ネットワークに属している。知識ネットワークでは、物同士がなんらかの関係で直接つながりあっている。共通の属性を持つ物があらかじめ定められた１つの関係だけでつながりあうことにより、知識ネットワークは、明確に体系化された知識を表わすことができる。物が知識ネットワークに属すことにより、物に関する体系化された知識を表現し、保持できる。知識ネットワークは、物だけがつながりあっている。
【０２１２】
第４の情報処理における、（４）知識の集まりと知識ネットワークの使い方について説明する。
【０２１３】
まず、知識の集まりの使い方の例を示す。指定された属性をすべて持つ物を集めた知識の集まりを生成し、その生成された知識の集まりのなかに、与えられた物があるかどうかをしらべれば、与えられた物がその知識の集まりを生成した属性を全て持っているかどうか判断することができる。
【０２１４】
また、知識の集まりは、物（物識別子）を要素とする集合である。したがって、知識の集まりを表わす抽象的な物を演算対象として、ＡＮＤ演算、ＯＲ演算、ＮＯＴ演算などの論理演算が可能である。
【０２１５】
次に、知識ネットワークの使い方の例を示す。たとえば図１５のように、ある知識ネットワーク内のノードとノードとをつなぐ矢印が包含関係を表わしているとする。出発点のノードが到着点のノードを含むとする。ノードＢから矢印の逆向きに０回以上移動し、ノードＡに到達できる場合、ＢならばＡであると言う。移動回数が０の場合は、ノードＡとノードＢとは、同じノードである。繰り返しになるが、ノードは物を表わしている。
【０２１６】
図１６の知識ネットワークＮ１において、ノードＢから矢印の逆方向の経路に０回以上移動してノードＡへ移動できたとする。また、ノードＢが属する知識ネットワークＮ１とは異なる知識ネットワークＮ２において、ノードＡから矢印の逆方向に０回以上移動して、ノードＤに移動できたとする。このとき、ノードＢならばノードＤである可能性がある。あるいは、ノードＢとノードＤとに何らかの関連がある可能性がある。どの程度の可能性であるかは、経由した知識ネットワークがどの程度適切に生成されているかにも依存する。移動回数の合計が０である場合、ノードＢ、ノードＡ、及び、ノードＤは、同じノードである。前述の経路が発見され、その経路のつながりが適切であると判断されると、ノードＤからノードＢへ１つの矢印でつなぐことができる。ノードＤとノードＢとを含む新しい知識ネットワークを作って、ノードＤとノードＢとを直接つないでもよい。
【０２１７】
１方向のつながりの知識ネットワークを例にしたが、双方向のつながりの知識ネットワークでも同様にできる。だだし、双方向のつながりの場合は、つながる物同士の違いが明らかでない。
【０２１８】
このように、ある物から出発し、別の知識ネットワークにある別の物に到着できるとき、出発点のノードである物と到着点のノードである物との間に、何らかの関係がある可能があると判断できる。このようにすると、知識ネットワークを使って、素早く大まかな判断ができる。大まかな判断の後、出発点のノードである物が持つ属性と到着点のノードである物が持つ属性とを比べて、そのつながりが適切であるかどうかについて最終的な判断を行う。
【０２１９】
言葉である文字列、つまり単語をノードとし、単語であるノードを直接つないでネットワーク構造で表現する方法は従来からあった。しかし、この方法では、物を表わす単語だけでなく属性を表す単語も１つのノードになる。そのため、本願技術を使ったネットワーク構造よりもノードの数もつながりの数も多くなり、非常に複雑なネットワーク構造になる。また、本実施形態のように、知識の集まりを生成し、知識を分類することが簡単にはできない。
【０２２０】
リレーショナルデータベース１４を用いた場合の（１）知識の形式について説明する。
【０２２１】
リレーショナルデータベース１４は、表形式のデータからある条件を満たすデータを抽出するなどの集合演算を効率良く行えるようになっている。そのため、本実施形態では、リレーショナルデータベース１４を使った例を説明する。リレーショナルデータベース１４を使わずに実施してもよい。本願技術では、物及び属性をつなぎ、つながった物や属性に信号を送ることによって、つながった物や属性を知る代わりに、物、属性、特徴データ、及び識別データを識別子で表わし、識別子をキーにして検索する。これにより、つながっている物、属性、特徴データ、及び識別データを取得する。
【０２２２】
本技術のシステムの中では、物識別子自体が物であり、属性識別子自体が属性である。属性の主識別子自体が主属性であり、属性の副識別子自体が副属性である。特徴データは識別子であるポインタで表わされる。特徴データ自体はデータ１０にある。識別データは識別子であるポインタで表わされる。識別データ自体はデータ１０にある。
【０２２３】
図１７Ａ、図１７Ｂ、図１８、図１９の表は、リレーショナルデータベース１４によって作成されたデータ１０内の表を模式的に表したものである。
【０２２４】
図１７Ａは、属性の元になるデータの一覧である。図１７Ｂは、物の名前と物識別子との対応表である。属性の元になるデータ一覧には、文字で表わされた物の名前である単語と物が持つ属性を表わす単語と属性の真偽値とがある。実データは、真偽値の元になるデータである。この実データがある場合は、実データから真偽値を生成してもよい。真偽値を生成する場合、真偽値は不要である。属性が、表に記載されている場合のみ真偽値が真であるという規則を適用することにより、真偽値を省略することもできる。
【０２２５】
実データを特徴データとして保持し、その特徴データと新たに生成された属性とを対応づけ、その新たな属性をその物の属性とすることもできる。物の名前と物識別子との対応表は、物の名前である単語と物識別子とを対応づける。物が図外の特徴データとつながっている場合は、さらに特徴データへのポインタが対応づけられる。
【０２２６】
図１８は、単語に対応づけられた属性と属性識別子との対応表である。この表は、図２Ａ及び図２Ｂの第１階層に相当する。この表にある属性識別子は、あらかじめ保持されている図外の特徴データと対応づけられている。主属性である主識別子は、主属性の特徴データの識別子であるポインタが対応づけられる。副属性である副識別子は、副属性の特徴デ−タの識別子であるポインタが対応づけられている。この表では、属性に対応づけられた単語と属性識別子とが対応づけられている。属性識別子と図外の特徴データとが対応づけられている場合は、特徴データへのポインタである特徴データの識別子も対応づけられる。
【０２２７】
属性識別子と図外の特徴データとがつながり、意味あるいは概念が生成されている。対応づけられる特徴データのポインタの数を１行に最大１個に限定し、対応付ける特徴データの数だけ表の行を作成してもよいし、１行に全ての特徴データのポインタを含めてもよい。属性と属性識別子との対応表は、図１７Ａの属性の元になるデータの一覧の属性の単語を属性識別子に対応づけるための表である。図１７Ａの属性の元になるデータの一覧の属性に対応づけられた単語をキーにして、属性と属性識別子との対応表から対応する属性識別子を取得する。
【０２２８】
取得される属性識別子は、主識別子と副識別子とから成る場合もある。主識別子だけからなることもある。主識別子と副識別子との可能な組み合わせがあらかじめ定められていると、それを使って不自然な組み合わせの検出ができる。可能な主識別子と副識別子との組み合わせがあらかじめ作成されていても、学習により主識別子と副識別子との可能な組み合わせは、追加又は削除できる。
【０２２９】
図１７Ａの属性の元になるデータの一覧の属性が、主属性と副属性とからなる属性である場合もある。図１８の属性と属性識別子との対応表が、属性の真偽値が真になる条件を持つことも可能である。属性と属性識別子との対応表が、属性の真偽値が真になる条件を持ち、且つ属性の元になる実際のデータを持っている場合は、実際のデータが属性の真偽値が真になる条件を満たしているかどうかを判断して真偽値を決めることができる。条件は、ファジィ集合のメンバーシップ関数などの判定機能であってもよい。この場合、属性の元になるデータは、真偽値を持たなくてもよい。実際のデータから特徴データが生成される。
【０２３０】
図１７Ａの属性の元になるデータの一覧と、図１７Ｂの物の名前と物識別子との対応表と、図１８の属性と属性識別子との対応表から生成された物の名前に対応する物識別子と、属性に対応する属性識別子と、真偽値とから、図１９に示されるように、物識別子と物が持つ属性識別子と真偽値とを対応づけた物と属性との一覧表を生成する。物識別子と当該物が持つ属性の属性識別子とがある場合は真偽値が真で、無い場合は真偽値が偽であるという規則を適用することにより、真偽値を省略することもできる。また、属性の実データから生成された特徴データを持ってもよいし、持たなくてもよい。なお、特徴データの識別子を持つことも、特徴データを持つと記述する。属性が１つの主属性と１つの副属性とからなる場合は、表の列位置で主属性と副属性とを区別する。
【０２３１】
図１９に示される物と属性との一覧表から、ある物識別子をキーにして選択された行全体がその物が持つ属性の集合を表わし、選択された各行がその物が持つ属性を表わす。この図は、図３の第２階層に相当する。
【０２３２】
なお、図外の特徴データは、物識別子及び属性識別子と対応付けられている。そして、その特徴データの識別子をキーにして検索することにより、特徴データに対応付けられた物識別子及び属性識別子を取得できる。特徴データとつながっている物及び属性は、その特徴データへのポインタである特徴データの識別子を持っている。
【０２３３】
図２０Ａは、物と主属性と副属性とを対応づけた表である。この表は、物と主属性と副属性とを頂点とする三角形を形作るようにつながった１つの物と、１つの主属性と、１つの副属性との組を表わした例である。物と主属性とを指定してこの表を検索すると、三角形を形作る残りの要素である副属性を取得できる。
【０２３４】
また、図２０Ｂの主属性と副属性との対応表は、主属性と副属性とが対応付けられ、適切な主属性と副属性との組み合わせが保持されている。１つの主属性に対応づけられる副属性は、１つに限らない。ある主属性に対する副属性の対応付けは、１つに限られず、複数あってもよい。この組み合わせから適切な主属性と副属性との組を選び、物と主属性と副属性とを対応づけ、対応づけられた物と主属性と副属性との組を物と属性との一覧表に追加することができる。
【０２３５】
属性が主属性と副属性とから成る場合、１つの属性を構成する主属性と副属性とに同じ特徴データが直接つながり、対応づけられてもよい。１つの属性を構成する主属性と副属性とに対応付けられる特徴データは、それぞれ１つに限られず複数あってもよい。主属性も副属性も属性であり、両者とも１つまたは１つ以上で、１つに限定されない特徴データがつながる。
【０２３６】
物と主属性と副属性とが三角形の形につながるので、三角形を構成する物と主属性と副属性との３つの要素のうち、ふたつを指定すると残りのひとつの要素が決まる。ある物につながる属性が主属性と副属性とから成る場合、その物とその主属性との両方につながる属性を検索し、取得できる。この属性が副属性である。主属性には、大雑把な意味あるいは概念を表わす特徴データがつながっている。副属性には、より詳細な意味あるいは概念を表わす特徴データがつながっている。大雑把な意味あるいは概念を知りたい場合は、その主属性につながる特徴データを取得すればよい。より詳細な意味あるいは概念を知りたい場合は、その副属性につながる特徴データを取得すればよい。
【０２３７】
次に、リレーショナルデータベース１４を用いた場合の（２）知識の演算について説明する。
【０２３８】
２つの属性の集合から共通した属性を選び、選ばれた属性を要素とする属性の集合を新たに生成するこの操作を、ＡＮＤ演算と呼ぶ。２つの属性の集合の少なくともどちらかに含まれる属性を選択し、選択された属性を要素とする集合を新たに生成する操作を、ＯＲ演算と呼ぶ。１つの属性の集合の要素である属性について、真偽値が真の場合は真偽値を偽にし、真偽値が偽の場合は真偽値を真にした属性を生成し、生成された属性を要素とした属性の集合を新たに生成する操作を、ＮＯＴ演算と呼ぶ。２つの属性の集合のどちらか一方にのみ含まれる属性を選択し、選択された属性を要素とする属性の集合を新たに生成する操作を、ＸＯＲ演算と呼ぶ。
【０２３９】
以下に、一実施形態における、属性の集合に対するＡＮＤ演算、ＯＲ演算、ＮＯＴ演算、ＸＯＲ演算、類似度及び非類似度の計算の処理手順を示す。一実施形態における処理手順であり、異なる手順で実施することも可能である。また、ＡＮＤ演算、ＯＲ演算、ＮＯＴ演算、ＸＯＲ演算の定義や、類似度及び非類似度の定義を変えることも可能である。定義を変えれば、処理手順も変わる。
【０２４０】
図２１は、一実施形態におけるＡＮＤ演算の流れ図である。図２１を使ってＡＮＤ演算の処理手順を説明する。
【０２４１】
まず、ＡＮＤ演算の対象となる属性の集合Ａと属性の集合Ｂとを指定する（Ｓ２１）。典型的には、物識別子を指定すると、当該物識別子に対応付けられた０以上の属性識別子の集合が指定されたことになる。次に、属性の集合Ａに属する属性と、属性の集合Ｂに属する属性とのうち、同じ属性識別子を持つ属性を選択する（Ｓ２２）。
【０２４２】
次に、選択された属性のうち、同じ属性識別子で、且つ対応付けられた真偽値が同じである属性を選択し、選択された属性を要素とする属性の集合を新たに生成する（Ｓ２３）。そして、新たに生成された属性の集合をＡＮＤ演算の結果とする。
【０２４３】
一方、属性が真偽値を持たない場合は、共に同じ属性識別子を持っている属性を選択し、選択された属性を要素とする属性の集合を新たに生成する。２つの選択処理を併せて、一致する属性を選択する、と記述する。すると、ＡＮＤ演算は、属性の集合Ａの属性と属性の集合Ｂの属性とについて、一致する属性を選択し、選択された属性を要素とする属性の集合（共通部分）を新たに生成する処理である。
【０２４４】
図２２は、一実施形態におけるＯＲ演算の流れ図である。図２２を使ってＯＲ演算の処理手順を説明する。
【０２４５】
まず、ＯＲ演算の対象となる属性の集合Ａと属性の集合Ｂとを指定する（Ｓ３１）。次に、属性の集合Ａの属性と属性の集合Ｂの属性とのうち、同じ属性識別子を持ち、かつ、真偽値が共に肯定の値または共に否定の値の属性を選択する（Ｓ３２）。また、属性が真偽値を持たない場合は、同じ属性識別子を持つ属性を選択する。２つの選択処理を併せて、一致する属性を選択する、と記述する。なお、この処理は、上述のＡＮＤ演算の結果と一致する。
【０２４６】
次に、属性の集合Ａの属性のうち、属性の集合Ｂに含まれていない属性を選択する。つまり、属性の集合Ａにのみ含まれる属性識別子を選択する。また、属性の集合Ｂの属性のうち、属性の集合Ａに含まれていない属性を選択する。つまり、属性の集合Ｂにのみ含まれる属性識別子を選択する（Ｓ３３）。そして、Ｓ３２及びＳ３３で選択されたすべての属性を要素とする属性の集合を、ＯＲ演算の結果として新たに生成する（Ｓ３４）。
【０２４７】
つまり、真偽値を考慮しない場合、上記の処理で得られる属性の集合は、属性の集合Ａ及び属性の集合Ｂの少なくとも一方に含まれる属性識別子を集めた新たな属性の集合（和集合）となる。一方、真偽値を考慮する場合、上記の処理で得られる属性の集合は、例えば、属性の集合Ａ及び属性の集合Ｂの和集合から、属性の集合Ａ及び属性の集合Ｂのいずれにも含まれ、且つ対応づけられた真偽値が異なる属性を除くことによっても得ることができる。
【０２４８】
図２３は、一実施形態におけるＮＯＴ演算の流れ図である。図２３を使ってＮＯＴ演算の処理手順を説明する。
【０２４９】
まず、演算の対象となる属性の集合を指定する（Ｓ４１）。次に、指定された属性の集合に含まれる全ての属性について、対応付けられた真偽値の値を反転させる。すなわち、真偽値が真の値の場合は偽の値に変え、真偽値が偽の値の場合は真に変えた新たな属性を生成する。そして、生成された属性を集めて新たな属性の集合を生成する（Ｓ４２）。
【０２５０】
図２４は、一実施形態におけるＮＡＮＤ演算の流れ図である。図２４を使ってＮＡＮＤ演算の処理手順を説明する。
【０２５１】
まず、ＮＡＮＤ演算の対象となる属性の集合Ａと属性の集合Ｂとを指定する（Ｓ５１）。次に、属性の集合Ａ及び属性の集合Ｂの属性のうち、属性識別子が同じで、且つ対応付けられた真偽値が同じである属性を選択して、新たな属性の集合を生成する（Ｓ５２）。これは、上述のＡＮＤ演算の結果に相当する。
【０２５２】
次に、新たに生成された属性の集合に含まれる各属性について、対応付けられた真偽値を反転させる。すなわち、真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成する（Ｓ５３）。これは、上述のＮＯＴ演算の結果に相当する。これによって得られた属性の集合を、ＮＡＮＤ演算の結果として出力する。
【０２５３】
図２５は、一実施形態におけるＸＯＲ演算の流れ図である。図２５を使ってＸＯＲ演算の処理手順を説明する。
【０２５４】
まず、ＸＯＲ演算の対象となる属性の集合Ａと属性の集合Ｂとを指定する（Ｓ６１）。次に、属性の集合Ａの属性のうち、属性の集合Ｂに含まれていない属性を選択する。つまり、属性の集合Ａにのみ含まれる属性識別子を選択する。また、属性の集合Ｂの属性のうち、属性の集合Ａに含まれていない属性を選択する。つまり、属性の集合Ｂにのみ含まれる属性識別子を選択する（Ｓ６２）。この処理は、図２２に示されるＳ３３の処理に対応する。そして、Ｓ６２で選択されたすべての属性を要素とする属性の集合を、ＸＯＲ演算の結果として新たに生成する（Ｓ６３）。
【０２５５】
つまり、属性の集合Ａ及び属性の集合Ｂの一方にのみ含まれる属性識別子を集めた新たな属性の集合が生成される。なお、上記の処理で得られる属性の集合は、例えば、属性の集合Ａ及び属性の集合Ｂの和集合（ＯＲ演算の結果）から、属性の集合Ａ及び属性の集合Ｂの共通部分（ＡＮＤ演算の結果）を除くことによっても得ることができる。
【０２５６】
図２６は、一実施形態における共通度を計算する処理の流れ図である。図２６を使って、共通度の計算の処理手順を説明する。
【０２５７】
まず、演算対象となる属性の集合Ａと属性の集合Ｂとを指定する（Ｓ７１）。次に、属性の集合Ａと属性の集合Ｂとに含まれる属性のうち、属性識別子が同じで、且つ対応付けられた真偽値が同じ属性を選択する（Ｓ７２）。属性が真偽値を持っていない場合は、同じ属性識別子を持つ属性を選択する。２つの選択処理を併せて、一致する属性を選択する、と記述する。副識別子が異なっていても主識別子が同じであれば、属性が同じであるとしてもよい。
【０２５８】
そして、選択された属性の数を計数した結果を共通度として出力する（Ｓ７３）。一致する属性を選択する条件は、一例であり、他の条件でもよい。物と属性とのつながりがつながりの程度を表わす重みを持つ場合、組数を数える代わりにその重みの値を合計してもよい。
【０２５９】
なお、共通度の計算処理において、副識別子に関係なく主識別子が同じかどうかだけを判断基準にすると、類似度の計算処理になる。
【０２６０】
図２７は、一実施形態における非共通度を計算する処理の流れ図である。図２７を使って、非共通度の計算の処理手順を説明する。
【０２６１】
まず、演算対象となる属性の集合Ａと属性の集合Ｂとを指定する（Ｓ８１）。次に、属性の集合Ａと属性の集合Ｂの属性とのうち、同じ属性識別子を持ち、かつ、対応付けられた真偽値が異なる属性を選択する（Ｓ８２）。属性が真偽値を持っていない場合は、一方の属性の集合にしか存在しない属性を選択する。２つの選択処理を、不一致の属性を選択する、と記述する。
【０２６２】
そして、選択された属性の数を計数した結果を非共通度として出力する（８３）。不一致の属性を選択する方法は、一例であり、他の選択条件でもよい。物と属性とのつながりがつながりの程度を表わす重みを持つ場合、組数を数える代わりにその重みの値を合計してもよい。
【０２６３】
なお、共通度の計算処理において、副識別子に関係なく主識別子が同じかどうかだけを判断基準にすると、非類似度の計算処理になる。
【０２６４】
前述の演算処理では、あらかじめ保持された演算部１０７０によって、属性の集合の各属性に対する処理が自動的に行われる。この論理演算システムの利用者は、各属性に対する処理を個別に指示しない。この論理演算システムの利用者は、物または属性の集合を演算の対象として指定すると、物が持っている属性または属性集合の属性に対して、自動的に演算が行われる。
【０２６５】
リレーショナルデータベース１４を用いた場合の（３）知識の集まりと知識のネットワークについて説明する。
【０２６６】
物は、例えば、図１９に示される物と属性との一覧表というデータ構造で、データベースに保持されている。１つ以上の属性を指定して、指定されたすべての属性を持つ物を属性の一覧表から選択する。すると、指定されたすべての属性を持つ物からなる物の集まりが生成される。これを知識の集まりと呼ぶ。ある知識の集まりを生成するために使ったすべての属性だけを１つの物につなぐと、その物は知識の集まりを意味する抽象的な物になる。
【０２６７】
知識の集まりであることを表わす属性を、知識の集まりを表わす抽象的な物に直接つないで対応づけたほうがよい。たとえば、知識の集まり表わす抽象的な物を識別する識別データが直接つながる属性または知識の集まりを表わす抽象的な物を特徴づける特徴データが直接つながる属性を、その知識の集まりを表わす抽象的な物につなぐ。すると、その知識の集まりを表わす抽象的な物とその知識の集まりに含まれる物を区別しやすくなる。
【０２６８】
この知識の集まり中には、他の物とつながっていない物があることもある。知識の集まりにおいて、物同士のつながりが全くないこともある。また、ある物が他の物とつながっていることもある。ある知識の集まりの中の物すべてがつながりあっていることもある。つながり合った物が、知識ネットワークになる。１つの知識の集まりの中に、つながり方の異なる知識ネットワークがいくつか存在する場合もある。知識の集まりの外の物とつながってもよいし、知識の集まりと関係なく物をつないでもよい。
【０２６９】
知識の集まりの中の物は、知識ネットワークに属して他の物とつながることにより他の物との関係が明確になる。言い換えると、知識ネットワークは、体系化された知識を表現している。家族という知識の集まりの中に、年齢順という関係でつながった知識ネットワークを作ることもできるし、親子関係という関係で知識ネットワークを作ることもできる。１つの知識の集まりの中に、複数の知識ネットワークを作ることもできる。
【０２７０】
ある知識の集まりの中にある知識ネットワーク内の物が、他の知識の集まりの中にある別の知識ネットワークに属す場合もある。たとえば、ひとりの人は、家族という知識ネットワークに属すと同時に、学校という知識ネットワークに属する場合がある。
【０２７１】
図２８Ａ〜図２８Ｃは、図１５の知識ネットワークを実現するデータ構造の一実施形態である。
【０２７２】
図２８Ａは、物の名前８７と物識別子８８との対応表８６であり、図１７Ｂの物の名前と物識別子との対応表に相当する。この対応表８６は、物の名称を言葉で記述した文字列である単語と、物識別子８８とを対応づけている。図２８Ｂは、知識ネットワークと属性との対応表１０１であり、知識ネットワークを特徴づける属性識別子１０３と、知識ネットワーク識別子１０２とを対応づけている。
【０２７３】
知識ネットワークと属性との対応表１０１において、ある知識ネットワークを特徴づけるすべての属性の属性識別子だけを１つの物識別子につなぐ。すると、その物識別子で識別される物は、その知識ネットワークを表わす抽象的な物になる。同じ属性によって生成される知識の集まりを表わす抽象的な物と区別するために、知識ネットワークを表わす属性と知識ネットワークを表わす抽象的な物とをつなぐ方がよい。また、この対応表１０１の各行、つまり、各知識ネットワーク識別子１０２と属性識別子１０３との組に、付属情報として重みを直接対応づけてもよい。この重みは、その知識ネットワークと属性との関連性の強さを表わす。
【０２７４】
図２８Ｃを使って、さらに詳しく説明する。
【０２７５】
知識ネットワーク内での物であるノード８０は、物識別子８１を１つだけ持っている。さらに、物であるノード８０は、知識ネットワーク情報８４を持つことができる。物であるノードが属している知識ネットワーク１つにつき、１つの知識ネットワーク情報が、その物であるノードに保持される。１つの物であるノード８０が持つ知識ネットワーク情報８４の数は、０個でも１個でもよく、１個に限らず複数個でもよい。知識ネットワーク情報８４は、０個以上の順方向ポインタ８２と、０個以上の逆方向ポインタ８３と、１つの知識ネットワーク識別子８５とからなる。順方向ポインタ８２と逆方向ポインタ８３とが共に０個の場合は、物であるノード８０が１個の知識ネットワークになる。
【０２７６】
例えば、物であるノードＡが物であるノードＢとつながっているとする。ノードＡからノードＢへ一方向につながっている場合には、ノードＡは、順方向ポインタ８２にノードＢの物識別子を保持し、ノードＢは、逆方向ポインタ８３にノードＡの物識別子を保持する。このようにすると、つながりの方向を表わすことができ、かつ、つながりの方向である順方向にも、つながりの逆方向である逆方向にも簡単に移動できる。一方、ノードＡとノードＢとが双方向につながっている場合には、ノードＡは、順方向ポインタ８２にノードＢの物識別子を保持し、ノードＢは、順方向ポインタ８２にノードＡの物識別子を保持する。
【０２７７】
方向のあるポインタの始点を上位、終点を下位と呼び区別してもよいし、方向のあるポインタの始点を下位、終点を上位と呼び区別してもよい。また、双方向ポインタでつながっている場合、上位下位の区別がないので並列と呼んでもよい。
【０２７８】
また、物であるノードＡが、物であるノードＣに直接つながっているかどうかを簡単に調べることができる。ノードＣの物識別子を持った順方向ポインタ８２または逆方向ポインタ８３を、ノードＡが持っているかどうかを調べればよい。つながっている２つの物であるノードＡ、Ｃが、それぞれ他方につながる順方向ポインタ８２を持っている場合は、双方向につながっている。つながっている２つのノードＡ、Ｃの一方が順方向ポインタ８２に他方の物識別子を保持し、他方が逆方向ポインタ８３に一方の物識別子を保持している場合は、一方向につながっている。
【０２７９】
また、ノード８０の知識ネットワーク情報８４は、さらに重み１００を持ち、その重み１００がその知識ネットワークとその物との関連性の強さを表わしてもよい。重み１００を保持しなくてもよい。物であるノード８０が、知識ネットワーク識別子８５と重み１００とを併せて保持することにより、物と知識ネットワークとの関連の強さを表現できる。物が属している知識ネットワークを選択するとき、この重み１００を判断基準にすることができる。重み１００の値がより大きい知識ネットワークを選択する、重み１００の値がより小さい知識ネットワークを選択する、あるいは、重み１００の値が指定された範囲の知識ネットワークを選択するなど、ある知識ネットワークから別の知識ネットワークに移る場合に、重み１００を選択基準にすることができる。
【０２８０】
さらに、図２８Ｃには描かれていないが、１つの知識ネットワーク情報８４の順方向ポインタ８２又は逆方向ポインタ８３がそれぞれ重みを持ち、そのポインタで示されるノードとのつながりの強さの程度を表わしてもよい。これにより、いくつかのポインタの中から１つのポインタを選択する場合の基準として重みを利用できる。
【０２８１】
知識ネットワーク識別子８５は、知識ネットワークを識別する識別子である。複数の属性を指定して生成された知識の集まりの中の知識ネットワークは、複数の属性によって特徴づけられる。もちろん１つの属性によって特徴づけられた知識ネットワークもありうる。知識ネットワーク識別子８５は、知識ネットワークを特徴づける属性すべてとつながると、知識ネットワークを特徴づける属性を持ち、その知識ネットワークを表わす抽象的な物になる。選択に用いられた属性以外の属性がその知識ネットワーク識別子とつながってもよい。
【０２８２】
知識の集まりと関係なく作られた知識ネットワークは、その知識ネットワークの特徴を表わす属性で知識ネットワークを識別してもよい。１つの知識の集まりの中に複数の知識ネットワークがある場合は、各知識ネットワークを特徴付ける属性を追加して、それらを区別する。このようにすると、１つの知識の集まりの中の複数の知識ネットワークから１つの知識ネットワークを選ぶことが容易になる。
【０２８３】
図２９は、ノードのデータ構造の一実施形態である。図２９の上段に示される物と知識ネットワークとの対応表は、知識ネットワーク識別子と物識別子とを対応づける。物識別子を検索キーに指定して検索すると、当該物識別子で識別される物が属している知識ネットワーク識別子がわかる。知識ネットワーク識別子と物識別子と重みとを対応づけてもよい。もちろん、この重みは無くてもよい。この重みは、知識ネットワークと物との関連性の程度を表わす。
【０２８４】
図２９の下段に示されるポインタ一覧は、物識別子と知識ネットワーク識別子との組み合わせに、順方向ポインタと逆方向ポインタとをさらに対応付ける。この図では、順方向ポインタと逆方向ポインタとの２つのポインタに分けているが、１つのポインタと順方向か逆方法かを表わす情報との対にしてもよい。これらのポインタは、知識ネットワーク内での物のつながりを表わしている。ポインタは、つながっている他の物の物識別子を持っている。使っていないポインタの値をＮＵＬＬのような特別な値にしてもよい。ポインタに重みも持たせてもよい。この重みは、つながっている他の物との関連の程度を表わす。この重みは無くてもよい。ノードは、物と知識ネットワークとの対応表とポインタ一覧とから成る。
【０２８５】
知識ネットワーク識別子と物識別子とを指定してポインタ一覧を検索する。検索結果の中から、その知識ネットワーク内でその物とつながっている他の物の物識別子を持つポインタが取得できる。
【０２８６】
ポインタから取得された別の物の物識別子とネットワーク識別子とを検索キーにしてポインタ一覧を検索すると、別の物が持つポインタを取得できる。この処理は、ポインタで指し示された物識別子であるノードを取得したことになる。このように、ポインタが持っている物識別子を取得することは、知識ネットワーク内で、ポインタを辿って、ポインタで指定された物に移動したことを意味する。つまり、知識ネットワーク内で、互いにつながっているある物から別の物に移動することを意味する。ポインタ一覧から、知識ネットワーク識別子と物識別子と、ポインタとを削除することが、物と物とのつながりを削除することである。ポインタ一覧に、知識ネットワーク識別子と物識別子とポインタとを追加することが、物と物とをつなぐことである。
【０２８７】
知識ネットワークを特徴づける属性の属性識別子と知識ネットワーク識別子とを、次のようにして対応づける。
【０２８８】
１つの知識ネットワーク識別子と複数の属性識別子とを対応づける場合は、次のようにする。複数の属性それぞれを識別する属性識別子と当該知識ネットワーク識別子との組を属性の数だけつくり、これらの組を図２８Ｂに示される知識ネットワークと属性との対応表１０１に追加する。知識ネットワーク識別子をキーにして、知識ネットワークと属性との対応表１０１を検索すると、この知識ネットワークを特徴づける属性の属性識別子を知ることができる。逆に、１つの属性識別子をキーにして、知識ネットワークと属性との対応表１０１を検索する。検索結果に対して、さらに別の属性識別子をキーにして検索をする。これを繰り返すと、検索に使ったすべての属性によって特徴づけられた知識ネットワークの知識ネットワーク識別子が取得できる。
【０２８９】
このようにすると、複数の属性で特徴づけられた知識ネットワーク、すなわち、特定の分野の知識ネットワークを取得することができる。知識ネットワークと対応づけられる属性は、その知識ネットワーク内のすべての物が持つ属性から選んでもよいし、一部の物が持っている属性でもよい。また、その知識ネットワーク内の物が持っていない属性でもよい。その知識ネットワーク特有の属性を生成して、知識ネットワークと対応づけてもよい。図２９の物と知識ネットワークとの対応表を、知識ネットワーク識別子を検索キーにして検索すれば、その知識ネットワークに属する物の物識別子を取得することもできる。
【０２９０】
物であるノードは、物識別子と知識ネットワーク識別子とを持っているので、知識ネットワーク識別子をキーにしてノードを検索すれば、その知識ネットワーク識別子を持っている物識別子が取得できる。つまり、その知識ネットワークに含まれる物がわかる。
【０２９１】
順方向ポインタと逆方向ポインタとの組は、ノード間の矢印に相当する。順方向ポインタは、矢印の方向につながったノードに移動する場合に用いる。逆方向ポインタは、矢印と逆方向につながったノードに移動する場合に用いる。ポインタに重みを保持させ、ポインタで直接関連付けられた物とそのポインタを持つ物の関連の強さを表現できる。
【０２９２】
図３０の表は、属性の階層情報の例である。属性を階層化する場合の属性の階層情報の一実施形態である。この例は、いわゆるリスト構造というデータ構造である。１つの属性の属性識別子は、上位階層へのポインタと下位階層へのポインタとを保持する。上位階層の属性へのポインタは、上位階層の属性の属性識別子を保持する。下位階層へのポインタは、下位階層の属性の属性識別子を保持する。属性が、上位階層へのポインタまたは下位階層へのポインタを持たない場合は、その上位階層または下位階層へのポインタは、ポインタが無いことを表わすＮＵＬＬなどの特別な値とする。
【０２９３】
属性識別子を検索キーに指定して、上位階層へのポインタの列を検索すれば、指定された属性の下位の属性が選択される。属性識別子を検索キーにして、下位階層へのポインタの列を検索すれば、指定された属性の上位の属性が選択される。属性識別子を検索キーにして、属性識別子の列を検索すれば、指定された属性の上位階層へのポインタおよび下位階層へのポインタが選択される。
【０２９４】
属性の階層情報で階層化された属性をいくつか選ぶ。選ばれた属性の１つをキーにして図１９に示される物と属性の一覧表を検索すると、その属性を持つ物が選択される。選ばれた属性すべてで前述の検索を繰り返す。これらの検索で選択された物だけを集めて知識の集まりをつくる。このようにすると、ある範囲の階層化された属性のどれかを持つ知識の集まりができる。たとえば、この知識の集まりにおいて上位の属性を持つ物から直下の階層の属性を持つ物をつなぐと、階層化された知識ネットワークができる。
【０２９５】
次に、リレーショナルデータベース１４を用いた場合の（４）知識の集まりと知識ネットワークの利用方法について説明する。
【０２９６】
まず、図３１を参照して、知識の集まりの使用例を説明する。まず、いくつかの属性の属性識別子をキーに指定して、図１９に示される物と属性との一覧表を検索すれば、検索に使ったすべての属性を持つ物だけが集まった、知識の集まりが生成できる（Ｓ１３１）。次に、与えられた物の物識別子をキーに指定して、生成された知識の集まり検索する（Ｓ１３２）。生成された知識の集まりの中に検索キーの物識別子が存在すれば、その物は、その知識の集まりを生成する際に指定された属性を全て持っていると判断できる（Ｓ１３３）。
【０２９７】
具体例として、ある学校の卒業生という知識の集まりが生成されているとする。鈴木さんの識別子でこの卒業生の知識の集まりを検索する。鈴木さんの識別子が選択できれば、鈴木さんはこの学校の卒業生であると判断できる。あらかじめ与えられた１つまたは１つ以上の属性識別子を指定して生成された知識の集まりに、あらかじめ与えられた物が含まれている場合、与えられた物は、与えられた属性である条件を満たしていると判断される。
【０２９８】
仮説において、ネットワーク化された知識の利用方法を説明した。仮説で説明した利用方法を実施する手順を、図２８Ａ〜図２８Ｃを使って説明する。
【０２９９】
知識ネットワークを生成又は削除する、物を知識ネットワークに追加又は削除する、物同士のつながりを追加、削除、又は変更するなどが学習である。追加と削除とを組み合わせることにより、つながりを変えることができる。つまり、不要となったつながりを削除し、新しいつながりを追加すると、つながりが変更される。物の付属情報である属性を追加すること、及び削除することも学習である。属性に特徴データ又は識別データを追加又は削除することも学習である。
【０３００】
次のようにして知識ネットワークを生成することができる。
【０３０１】
まず、新規に生成する知識ネットワークの知識ネットワーク識別子を決める。次に、新規に生成する知識ネットワークを特徴づける属性を決める。そして、決められたネットワーク識別子と決められた属性の属性識別子との組を、図２８Ｂに示される知識ネットワークと属性との対応表１０１に追加する。知識ネットワークを特徴づける属性が複数ある場合は、属性の数だけ、決められたネットワーク識別子と決められた属性識別子との組をつくり、知識ネットワークと属性との対応表１０１に追加する。これで、知識ネットワークと属性とが対応づけられる。このようにして知識ネットワーク情報８４を生成できる。ただし、このままでは、知識のない知識ネットワークである。
【０３０２】
次に、知識である物を知識ネットワークに追加する。物であるノード８０に知識ネットワーク情報８４を追加すれば、その物が知識ネットワークに追加される。具体的には、図２９の物と知識ネットワークとの対応表に、知識ネットワーク識別子と物識別子とを対応付けて追加する。これでノードに知識ネットワーク情報が追加された。
【０３０３】
次に、知識ネットワーク内の物同士をつなぐ。知識ネットワーク情報８４に順方向ポインタ８２及び逆方向ポインタ８３を追加すると、物と物とをつなぐことができる。つなぐ２つの物は、すでに当該知識ネットワーク情報８４を持っているとする。具体的には、図２９のポインタ一覧に、順方向ポインタ及び逆方向ポインタを追加すれば、物と物とがつながる。一方の物識別子と知識ネットワーク識別子とに、他方の物識別子が設定された順方向ポインタ又は逆方向ポインタを対応づけて、ポインタ一覧に追加する。同様に、他方の物識別子と知識ネットワーク識別子とに、一方の物識別子が設定された順方向ポインタ又は逆方向ポインタを対応づけて、ポインタ一覧に追加する。これで、２つの物がつながる。
【０３０４】
前者の物と後者の物とがお互いの物識別子を順方向ポインタに設定した場合は、２つの物は、双方向につながる。前者の物と後者の物との一方が順方向ポインタに他方の物識別子を設定し、他方が逆方向ポインタに一方の物識別子を設定すれば、２つの物は一方向につながる。
【０３０５】
次のようにして物のつながりをなくすことができる。
【０３０６】
つながっている２つの物は、お互いに相手の物識別子が設定されたポインタを持っている。２つのポインタをポインタ一覧から削除すると、２つの物のつながりを削除できる。ある知識ネットワーク内で、ある物についてポインタ一覧にある物識別子が設定されたポインタが１つも存在しなくなった場合、その物をその知識ネットワークから削除してもよい。物と知識ネットワークとの対応表から、その知識ネットワーク識別子とその物識別子とを対応付ける行を削除すれば、その物はその知識ネットワークから削除される。
【０３０７】
次のようにして、物の付属情報である属性を追加又は削除する。
【０３０８】
物識別子と属性識別子とをキーにして図１９に示される物と属性との一覧表を検索する。選択された行を削除すると、その属性と物とのつながりを削除できる。属性そのものを削除しているわけではない。物識別子と属性識別子との対応関係を物と属性との一覧表に追加すると、属性を物に追加できる。
【０３０９】
次のようにして２つ物の間に新しく物を追加できる。まず、前述の手順で、新しい物を２つの物につなぐ。次に、前述の手順で、２つの物同士のつながりを削除する。
【０３１０】
次のようにして、与えられた属性を使って物の認識を行う。
【０３１１】
与えられたいくつかの属性の中から１つの属性を取り出し、その属性の属性識別子をキーにして、物と属性との一覧表を検索する。次に、残りの与えられた属性の中から１つの属性を取り出し、取り出された属性の属性識別子をキーにして検索結果をさらに検索する。与えられた属性すべてについて、これを繰り返し、選択行の物識別子が１種類になれば、その物識別子が、与えられた属性をすべて持つ物を表わす。与えられた属性によって物を識別したことになる。
【０３１２】
与えられた属性すべてについて検索を繰り返しても、物識別子が複数種類ある場合は、複数の物識別子が、識別される物の候補であることが分かる。この場合は、属性を追加して、物識別子が１種類になるまで繰り返せばよい。
【０３１３】
属性は、次のようにして選択される。知識ベースシステムに入力された情報から生成された特徴データまたは識別データと同じと判断された知識ベース内の特徴データまたは識別データが選択され取得される。選択され取得された特徴データまたは識別データに直接つながり、直接対応づけられた属性が選択され取得される。この選択され取得された属性を使って前述のように物の認識が行われる。
【０３１４】
次のようにして、推論を行う。
【０３１５】
２つの物を指定し、ポインタを辿りながら一方の物から他方の物へ移動する経路を探す。移動する経路が見つかれば、２つの物の間になんらかの関係がある可能性がある。この処理が推論に対応づけられる。つながりに方向がある場合は、順方向ポインタと逆方向ポインタの両方を使う方法と、順方向ポインタと逆方向ポインタのどちらか一方だけを用いる方法がある。この処理が推論に対応づけられる。
【０３１６】
図３２に示されるように、まず、出発点となる物の物識別子、つまり出発点のノードを指定する（Ｓ１４１）。この物識別子をキーにして、図２９に示される物とネットワークとの対応表を検索すれば、当該物識別子で識別される物が属する知識ネットワークの知識ネットワーク識別子を得ることができる。
【０３１７】
次に、物識別子と知識ネットワーク識別子とをキーとして、ポインタ一覧を検索すれば、知識ネットワーク識別子で指定された知識ネットワーク内において、物識別子で指定された物の順方向ポインタ又は逆方向ポインタを取得することができる（Ｓ１４２）。
【０３１８】
次に、取得された順方向ポインタ又は逆方向ポインタに設定された物識別子を参照すれば、最初に指定した物識別子で識別される物に関連付けられた物（ノード）が取得できる（Ｓ１４３）。上記の処理を繰り返せば、同じ知識ネットワーク内にも他の知識ネットワーへも移動できる。移動した物識別子を順に記録すれば、その記録が移動した経路になる。
【０３１９】
１つの物を出発点として、ポインタを辿りながらつながっている他の物へ移動する。出発点の物とたどり着いた物とには、何らかの関係がある可能性がある。この処理も推論である。ある物が複数の物につながっているとき、各ポインタの重みを比較して、一番関連の程度が大きいポインタを選択して移動することができる。ある物から別の知識ネットワークに移動する場合、各知識ネットワーク情報が持つ重みを比較して、一番関連の程度が小さい知識ネットワークに移動することもできる。
【０３２０】
このように、１つの知識ネットワーク内を移動して、または、複数の知識ネットワークを移動することにより、物と物とが関連する可能性を見つけることができる。２つの物が関連する可能性があると分かれば、共通度、非共通度、類似度などを求めて、２つの物が関連するかどうかの判断材料を生成できる。ここで記号論理を使えば、２つの物が関連するかどうかの精緻な判断ができる。
【０３２１】
図３３では、音声によって言語の中の「Ｄｏｇ」という単語が、知識ベースシステムに入力され、識別データが生成され、一実施形態の知識ベースに格納されている。音声で「Ｄｏｇ」という単語が入力されると、特徴抽出部１０２０によって音声データの識別データが生成される。また、単語としての「Ｄｏｇ」という文字の映像が入力されると、特徴抽出部１０２０によって画像の識別データが生成される。さらに、単語の文字コードとしての「Ｄｏｇ」が入力されると、特徴抽出部１０２０によって文字コードの識別データが生成される。
【０３２２】
図３３では、「Ｄｏｇ」を発音記号で表記しているが、識別データの表現形式はこれに限定されず、上述の音声データ、映像データ、又は文字コードなどであってもよい。例えば、マイクから入力された音の場合、１００ヘルツの音の強さは５５、２００ヘルツの音の強さは１５６・・・、等というように、周波数成分ごとの信号強度を表すバイナリデータあるいは数値が並んだパターンデータが、識別データになる。図３３等の音符のマークで表されている特徴データおよび識別データは、上記の音データあるいは音のパターンデータである。
【０３２３】
なお、知識ベース内において、識別データは、意味や概念を直接表すものとして利用されない。この知識ベース内では、特徴データだけが意味や概念を直接保持し表わしているので、特徴データを取得しなければ意味や概念は判らない。
【０３２４】
また、一実施形態の知識ベースは物や属性を含んでいる。たとえば、図３３に示される物（３００３）は、犬を表わす。また、属性（１００３）は、犬の外観という特徴を代表し表わす。なお、以降の説明において、「物（ｘｘｘｘ）」はｘｘｘｘという物識別子を指し、「属性（ｙｙｙｙ）」はｙｙｙｙという属性識別子を指すものとする。
【０３２５】
図３３を使って、一実施形態の知識ベースにデータが格納され、知識が蓄積される過程の一例を説明する。これは、あくまでも一例でありこれ以外の過程もある。
【０３２６】
まず、犬の映像がカメラで撮影され、その映像データが本願技術の一実施形態である知識ベースシステム１０００に入力される。入力装置であるカメラが犬の映像を撮影し、撮影された映像データがデータ入力部１０１０によって知識ベースシステム１０００に入力される。データ入力部１０１０が受け取った入力データである映像データは、特徴抽出部１０２０に渡される。特徴抽出部１０２０は、入力データから特徴を抽出し、特徴データを生成する。
【０３２７】
生成された特徴データは、データ比較部１０３０に渡される。データ比較部１０３０は、すでに格納されている特徴データと渡された特徴データとを比較し、同じ特徴データがあるかどうかを調べる。同じ特徴データがない場合、データ格納部１０４０は、渡された特徴データを知識ベースに格納し、知識ベース内に新たに属性を生成し、格納された特徴データと新たに生成された属性とをつなぐ。さらにデータ格納部１０４０は、知識ベース内に新たに物を生成し、新たに生成された物と生成された属性とをつなぐ。その結果、映像を直接発した対象物である犬と間接的に対応づけられた物が、知識ベース内に生成される。知識ベース内の物は、対象物と直接対応づけられてはいない。
【０３２８】
図３３のステップ１の物の追加による学習処理を説明する。
【０３２９】
対象物である犬の映像がカメラで撮影されているときに、マイクから犬の鳴き声「ｂｏｗｗｏｗ」が知識ベースシステム１０００に入力されたとする。
【０３３０】
対象物である子犬の映像がカメラで撮影され、知識ベースシステム１０００のデータ入力部１０１０に入力される。データ入力部１０１０に入力された映像データは、特徴抽出部１０２０に渡される。特徴抽出部１０２０は、入力された映像データから特徴データを生成する。データ比較部１０３０は、同じ特徴データが既に知識ベース内にあるか調べる。同じ特徴データがないので、データ格納部１０４０は、その特徴データを知識ベースに格納し、図３３の属性（１０２１）を生成し、格納された特徴データを属性（１０２１）につなぐ。
【０３３１】
さらに、データ格納部１０４０は、図３３の物（３００３）を生成し、属性（１０２１）と物（３００３）とをつなぐ。このようにして、知識ベースシステム１０００は、知識ベースシステム１０００外から情報を受け取り、受け取った情報から特徴データを生成し、生成された特徴データを知識ベースに格納する。属性が生成され、格納された特徴データはその属性につながる。さらに物が生成され、生成された属性は生成された物につながる。特徴データが、属性を介して、新たに生成された物につながることは、物の追加による学習である。
【０３３２】
マイクから入力された犬の鳴き声に対しても同じように入力処理が行われる。マイクを通してデータ入力部１０１０に入力された犬の鳴き声「ｂｏｗｗｏｗ」という音声データは、特徴抽出部１０２０に渡される。特徴抽出部１０２０は、取得した音声データから特徴データを生成する。データ比較部１０３０は、同じ特徴データが知識ベース内にないと判断する。すると、生成された特徴データはデータ格納部１０４０によって、知識ベースに格納される。データ格納部１０４０は、図３３の属性（１０１１）を生成し、格納された特徴データを属性（１０１１）につなぐ。図には描かれていないが、物が生成され、生成された物に属性（１０１１）がつながるようにしてもよい。もちろん、この物を生成しなくてもよい。
【０３３３】
操作者からキーボード入力やマウス操作があると、学習部１０５０は次のような学習処理を行う。物が生成され、続けて特徴データが生成されると、自動的に次のような学習処理を開始してもよい。ステップ１の入力開始時にキーボード入力やマウス操作などを行うことにより、あらかじめ学習処理を指示してもよい。
【０３３４】
まず学習部１０５０は、最初に生成され格納された知識ベース内の特徴データ、または、最初に生成された特徴データと同じと判断された知識ベース内の特徴データを取得する。検索部１０６０は、取得された特徴データにつながる属性（１０２１）を取得する。さらに検索部１０６０は、取得された属性（１０２１）につながる物（３００３）を取得する。学習部１０５０は、取得された物（３００３）を取得し、物（３００３）を認識する。
【０３３５】
次に学習部１０５０は、犬の鳴き声「ｂｏｗｗｏｗ」から生成され、後から格納された特徴データ、または、後から生成された特徴データと同じと判断された知識ベース内の特徴データを取得する。検索部１０６０は、その特徴データにつながる属性（１０１１）を取得する。この時点では、２つの属性（１０２１、１０１１）は、同じ１つの物に直接つながっていないので、学習部１０５０は次の処理を行う。
【０３３６】
学習部１０５０は、認識された物（３００３）と、後から生成され、認識された物（３００３）と直接つながらない属性（１０１１）をつなぐ。物（３００３）は、属性（１０１１）を経由して犬の鳴き声の特徴データを持つ物になる。図３３のステップ１は、この状態である。
【０３３７】
なお、連続して入力されたかどうかの基準、つまり時間間隔の基準は、あらかじめ知識ベースシステム１０００に保持されている。もちろん、知識ベースシステム１０００外から新たな基準を受け取り、その基準を保持し、基準を追加変更することもできる。同じであるかどうかの判断基準もあらかじめ知識ベースシステム１０００内に保持されている。もちろん、知識ベースシステム１０００外から新たな基準を受け取り、その基準を保持し、基準を追加変更することもできる。
【０３３８】
前述のように知識ベースに特徴データが格納され、知識ベースが構築されると、次のような認識処理ができる。たとえば、犬の鳴き声がマイクを通して知識ベースシステム１０００のデータ入力部１０１０に入力されたとする。データ入力部１０１０から特徴抽出部１０２０に犬の鳴き声の音声データが渡され、渡された音声データから特徴抽出部１０２０で特徴データが生成される。データ比較部１０３０が生成された特徴データを受け取り、知識ベース内に同じ特徴データがあるか調べる。同じ特徴データが見つかると、検索部１０６０は見つかった特徴データにつながった属性（１０１１）を取得する。さらに検索部１０６０は、属性（１０１１）につながっている物（３００３）を取得し、認識する。
【０３３９】
知識ベースシステム１０００に入力された犬の鳴き声によって、その鳴き声を直接発する対象物が物（３００３）であることを認識したことになる。さらに検索部１０６０は、物（３００３）につながった他の属性（１０２１）を取得し、その属性（１０２１）につながった犬の映像から生成された他の特徴データを取得できる。取得された特徴データは、認識された対象物から直接発せられた映像という情報から生成された特徴データである。このように、物（３００３）の認識に使われた鳴き声以外の他の特徴データが取得できる。出力部１０８０は、取得された映像から生成された特徴データを受け取ると、その特徴データをもとにして出力装置である表示装置に犬の映像を表示する。
【０３４０】
このように鳴き声によって対象物を認識し、認識された対象物である犬の映像を出力できる。
【０３４１】
図３３のステップ２の特徴データの追加による学習処理を説明する。
【０３４２】
マイクから犬の鳴き声「ｂｏｗｗｏｗ」が知識ベースシステム１０００に入力されたとする。マイクを通してデータ入力部１０１０に入力された音声データは、特徴抽出部１０２０に渡され特徴データが生成される。データ比較部１０３０は、生成された特徴データを受け取り知識ベース内に同じ特徴データがあるか調べる。同じ特徴データが見つかると、検索部１０６０は、見つかった同じ特徴データにつながった属性（１０１１）を取得する。さらに、検索部１０６０は、属性（１０１１）につながった物（３００３）を取得する。以上の処理により、マイクで入力された犬の鳴き声「ｂｏｗｗｏｗ」によって物（３００３）が認識された。
【０３４３】
同じであるかどうかを判断する判断基準は、知識ベースシステム１０００にあらかじめ備えられている。また、知識ベースシステム１０００外から新たな判断基準を取得し、保持することもできる。同じであるかどうかを判断する判断基準を同一基準と呼ぶ。
【０３４４】
続いて、別の大きな犬の映像がカメラで撮影され、知識ベースシステム１０００のデータ入力部１０１０に入力される。データ入力部１０１０に入力された映像データは、特徴抽出部１０２０に渡される。特徴抽出部１０２０は、入力された映像データから特徴データを生成する。生成された特徴データを受け取ったデータ比較部１０３０は、同じ特徴データが知識ベース内にあるか調べる。この場合、同じ特徴データはないと判断される。データ格納部１０４０は、生成された特徴データを知識ベース内に格納し、図３３の属性（１０２２）を生成し、格納された特徴データを生成された属性（１０２２）につなぐ。図には描かれていないが、データ格納部１０４０によって物が生成され、生成された物と属性（１０２２）がつながってもよい。この物を生成しなくてもよい。
【０３４５】
操作者からキーボード入力やマウス操作があると、学習部１０５０は次のような学習処理を行う。連続して２つの特徴データが生成されると、自動的に次のような学習処理を開始してもよい。入力の前にキーボード入力やマウス操作を行うことによって、あらかじめ学習処理を指示してもよい。
【０３４６】
まず学習部１０５０は、犬の鳴き声「ｂｏｗｗｏｗ」から生成され、最初に渡された特徴データと同じと判断された、知識ベース内の特徴データを取得する。検索部１０６０は、取得された特徴データにつながる属性（１０１１）を取得する。さらに検索部１０６０は、取得された属性（１０１１）につながる物（３００３）を取得する。学習部１０５０は、取得された物（３００３）を取得し、物（３００３）を認識する。次に学習部１０５０は、大きな犬の映像から生成され、後から渡され格納された特徴データを取得する。検索部１０６０は、その特徴データにつながる属性（１０２２）を取得する。取得された２つの属性（１０１１、１０２２）が同じ物につながっていないので、学習部１０５０は次の処理を行う。
【０３４７】
学習部１０５０は、認識された物（３００３）と、後から取得され、認識された物（３００３）と直接つながらない属性（１０２２）とをつなぐ。物（３００３）は、属性（１０２２）だけを経由して、大きな犬の映像から生成された特徴データを持つ物になる。
【０３４８】
図３３のステップ３の特徴データの統合による学習処理を説明する。この学習処理は、ステップ２の特徴データの追加による学習処理の後に行われる、知識ベースに格納された特徴データの統合処理である。２つの異なる属性につながる特徴データを、共通の１つの属性につなぐ処理である。ステップ２の入力処理後、マウス操作やキーボード入力による統合処理の指示があると、学習部１０５０が次のような統合処理を行う。ステップ２の開始時に統合処理を行うことをマウス操作やキーボード入力で指示してもよい。
【０３４９】
カメラから小さな犬の映像が入力され、特徴抽出部１０２０によってその特徴データが生成される。データ比較部１０３０は、生成された特徴データと同じ特徴データが知識ベース内にあるか調べる。同じ特徴データが知識ベース内にあるので、その特徴データとつながる属性（１０２１）が検索部１０６０によって取得される。さらに、取得された属性（１０２１）につながる物（３００３）が検索部１０６０によって取得される。
【０３５０】
次に、カメラから大きな犬の映像が入力され、特徴抽出部１０２０によってその特徴データが生成される。データ比較部１０３０は、生成された特徴データと同じ特徴データが知識ベース内にあるか調べる。同じ特徴データが知識ベース内にあるので、その特徴データとつながる属性（１０２２）が検索部１０６０によって取得される。さらに、取得された属性（１０２２）につながる物（３００３）が検索部１０６０によって取得される。
【０３５１】
属性（１０２１）と属性（１０２２）とが同じ物につながっているので、学習部１０５０は次の処理を行う。
【０３５２】
学習部１０５０は、２つの属性（１０２１、１０２２）を取得する。異なる２つの属性につながる特徴データの数が共に１つの場合、学習部１０５０は、次の処理を行う。新規の属性（１００３）を生成し、２つの特徴データを生成された属性（１００３）につなぎ、２つの属性（１０２１、１０２２）との物（３００３）のつながりを削除する。新たに属性（１００３）を生成しないで、２つの属性（１０２１、１０２２）のどちらか一方の属性に、他方の属性につながっている特徴データを直接つなぎ、他方の属性と物（３００３）のつながりを削除してもよい。
【０３５３】
一方の属性につながる特徴データの数だけが１で、他方の属性につながる特徴データの数だけが１より大きい場合、学習部１０５０は、次の処理を行う。特徴データが１つだけつながる属性の特徴データを、他方の属性につなぎ、特徴データが１つだけつながる属性との物のつながりを削除する。
【０３５４】
特徴データが新たに知識ベースに格納されると、属性が生成され、その生成された属性と格納された特徴データがつながる。特徴データが知識ベースに格納されると、その特徴データとつながる属性には、特徴データが１つだけつながることになる。そのため、上記のようにして特徴データを集約できる。
【０３５５】
複数の特徴データがつながった属性は、その属性につながったいくつかの特徴データを束ねて集約し、集約された特徴データの性質、特徴、意味あるいは概念を代表して表わす。
【０３５６】
ステップ３のような状態でも認識処理が行える。犬の鳴き声が知識ベースシステム１０００に入力されると、入力された犬の鳴き声から特徴データが生成される。生成された特徴データが知識ベース内の特徴データと比較される。同じ特徴データが見つかると、見つかった特徴データにつながった属性（１０１１）が取得される。取得された属性（１０１１）につながった物（３００３）が取得された後、物（３００３）につながる他の属性（１００３）ひとつだけを取得すれば、複数（この例では２つ）の特徴データが取得できる。一方、ステップ２の場合は、属性（１０２１）と属性（１０２２）のふたつの属性を取得しないと、ふたつの特徴データを取得できない。
【０３５７】
たとえば、マイクを通して知識ベースシステム１０００に「ｂｏｗｗｏｗ」という犬の鳴き声が入力されたとする。特徴抽出部１０２０で入力された犬の鳴き声から特徴データが生成され、生成された特徴データがデータ比較部１０３０に渡される。すでに知識ベース内に犬の鳴き声から生成された特徴データが格納されているため、データ比較部１０３０は同じ特徴データがあると判断する。すると、検索部１０６０は、同じと判断された特徴データにつながった属性（１０１１）を取得する。さらに、検索部１０６０は、属性（１０１１）につながった物（３００３）を取得する。そして、物（３００３）につながった他の属性（１００３）を取得すると、その属性（１００３）につながった特徴データを取得することができる。取得された特徴データを元にして、出力部１０８０が表示装置に犬の映像を表示する。この一連の処理によって、犬の鳴き声から犬であることを認識し、認識された犬の映像を表示したことになる。
【０３５８】
ステップ２の状態であれば、属性（１０２１）と属性（１０２２）とのふたつの属性を取得することになるが、ステップ３の状態であれば属性（１００３）ひとつを取得すればふたつの特徴データを取得できる。物につながる属性を取得する回数が少なくなるので、ステップ２より速く特徴データを取得できる。
【０３５９】
図３３のステップ４の識別データの追加による学習処理を説明する。
【０３６０】
子犬の映像がカメラから知識ベースシステム１０００のデータ入力部１０１０に入力される。特徴抽出部１０２０によって入力された映像から特徴データが生成され、データ比較部１０３０によって生成された特徴データと同じ特徴データが知識ベースにあるか調べられる。同じ特徴データが見つかり、その同じ特徴データがつながる属性（１００３）が検索部１０６０によって取得される。さらに検索部１０６０によって、取得された属性（１００３）につながる物（３００３）が取得される。このように、カメラから入力された子犬の映像によって、映像を直接発した対象物が物（３００３）であると認識された。
【０３６１】
次に、単語の「Ｄｏｇ」という音声がマイクから知識ベースシステム１０００のデータ入力部１０１０に入力される。特徴抽出部１０２０によって入力された音声から識別データが生成され、データ比較部１０３０によって生成された識別データと同じ識別データが知識ベース内にあるか調べられる。同じ識別データが見つからないので、生成された識別データがデータ格納部１０４０によって知識ベース内に格納される。データ格納部１０４０はさらに、属性（１０１３）を生成し、生成された属性（１０１３）と格納された識別データとをつなぐ。図には描かれていないが、データ格納部１０４０によって物が生成され、生成された物に格納された属性（１０１３）がつながってもよい。この物を生成しなくてもよい。
【０３６２】
操作者からキーボード入力やマウス操作があると、学習部１０５０は次のような学習処理を行う。連続して１つの特徴データと１つの識別データが生成されると、自動的に次のような学習処理を開始してもよい。ステップ４の開始時に統合処理を行うことをマウス操作やキーボード入力で指示してもよい。
【０３６３】
まず学習部１０５０は、子犬の映像から生成され、最初に渡された特徴データと同じと判断された、知識ベース内の特徴データを取得する。検索部１０６０は、取得された特徴データにつながる属性（１００３）を取得する。さらに検索部１０６０は、取得された属性（１００３）につながる物（３００３）を取得する。学習部１０５０は、取得された物（３００３）を取得し、物（３００３）を認識する。
【０３６４】
次に学習部１０５０は、単語「Ｄｏｇ」の音声から生成され、後から渡され格納された識別データを取得する。検索部１０６０は、その識別データにつながる属性（１０１３）を取得する。取得された２つの属性（１００３、１０１３）が同じ物につながっていないので、学習部１０５０は次の処理を行う。
【０３６５】
学習部１０５０は、認識された物（３００３）と、後から取得され、認識された物（３００３）と直接つながっていない属性（１０１３）とをつなぐ。物（３００３）は、属性（１０１３）を経由して単語「Ｄｏｇ」から生成された識別データを持つ物になる。
【０３６６】
同じようにして、単語「Ｄｏｇｇｙ」の音声から生成された識別データが知識ベースに格納される。属性（１０１４）が生成され、格納された識別データにつながる。生成された属性（１０１４）は、物（３００３）につながる。子犬の映像と単語「Ｄｏｇｇｙ」とを対応づけて行ってもよいし、単語「Ｄｏｇ」と単語「Ｄｏｇｇｙ」とを対応づけて行ってもよい。
【０３６７】
図を見やすくするためステップ４の図では、属性（１０２１）、及び属性（１０２２）を省略している。
【０３６８】
図３３のステップ５の識別データの統合による学習処理を説明する。
【０３６９】
この学習処理は、ステップ４の識別データの追加による学習処理の後に行われる、知識ベースに格納された識別データの統合処理である。２つの異なる属性につながる識別データを、共通の１つの属性につなぐ処理である。ステップ４の識別データの追加による学習処理後、マウス操作やキーボード入力による統合処理の指示があると、学習部１０５０が次のような統合処理を行う。ステップ４の開始時に統合処理を行うことをマウス操作やキーボード入力で指示してもよい。
【０３７０】
マイクから単語「Ｄｏｇ」の音声が入力され、特徴抽出部１０２０によってその識別データが生成される。データ比較部１０３０は、生成された識別データと同じ識別データが知識ベース内にあるか調べる。同じ識別データが知識ベース内にあるので、その識別データとつながる属性（１０１３）が検索部１０６０によって取得される。さらに、属性（１０１３）につながる物（３００３）が検索部１０６０によって取得される。
【０３７１】
次に、マイクから単語「Ｄｏｇｇｙ」の音声が入力され、特徴抽出部１０２０によってその識別データが生成される。データ比較部１０３０は、生成された識別データと同じ識別データが知識ベース内にあるか調べる。同じ識別データが知識ベース内にあるので、その識別データとつながる属性（１０１４）が検索部１０６０によって取得される。さらに、検索部１０６０によって属性（１０１４）につながる物（３００３）が取得される。
【０３７２】
２つの属性（１０１３、１０１４）が同じ物（３００３）につながっているので、学習部１０５０は次の処理を行う。
【０３７３】
学習部１０５０が２つの属性（１０１３、１０１４）を取得する。異なる２つの属性につながる識別データの数が共に１つの場合、学習部１０５０は、次の処理を行う。新規の属性を生成し、２つの識別データを生成された属性につなぎ、生成された属性を物（３００３）につなぎ、２つの属性（１０１３、１０１４）との物（３００３）とのつながりを削除する。又は、新たに属性を生成しないで、２つの属性（１０１３、１０１４）のどちらか一方の属性、たとえば属性（１０１３）に、他方の属性（１０１４）につながっている識別データをつなぎ、他方の属性（１０１４）と物（３００３）とのつながりを削除してもよい。図を見やすくするためステップ５の図では、属性（１０１４）、属性（１０２１）、及び属性（１０２２）を省略している。
【０３７４】
一方の属性につながる識別データの数だけが１で、他方の属性につながる識別データの数だけが１より大きい場合、学習部１０５０は、次の処理を行う。識別データが１つだけつながる属性の識別データを、他方の属性につなぎ、識別データが１つだけつながる属性と物とのつながりを削除する。
【０３７５】
識別データが新たに知識ベースに格納されると、属性が生成され、その生成された属性と格納された識別データとがつながる。識別データが知識ベースに格納されると、その識別データとつながる属性には、識別データが１つだけつながることになる。そのため、上記のようにして識別データを集約できる。複数の識別データがつながった属性は、その属性につながったいくつかの識別データを束ねて集約し、集約された識別データを代表して表わす。
【０３７６】
このように学習が行われると、「Ｄｏｇ」または「Ｄｏｇｇｙ」という音声がマイクから入力されると、物（３００３）であることが認識され、１つの属性（１０１３）だけを介して物（３００３）につながる、特徴データから生成された犬の映像を、出力装置である表示装置に表示することができる。たとえば「Ｄｏｇ」という音声がマイクから入力されると、特徴抽出部１０２０が特徴を抽出し、識別データを生成する。データ比較部１０３０は、生成された識別データと同じ識別データが知識ベース内にあるか調べる。同じ識別データが知識ベース内にあるので、検索部１０６０は、その識別データにつながる属性（１０１３）を取得する。さらに検索部１０６０は、取得された属性（１０１３）とつながる物（３００３）を取得する。検索部１０６０は、物（３００３）につながる他の属性（１００３）を取得し、その属性（１００３）につながる特徴データを取得する。出力部１０８０は、取得された特徴データを元にして表示装置に犬の映像を表示する。さらに、検索部１０６０は、物（３００３）につながる他の属性（１０１１）を取得し、その属性（１０１１）につながる特徴データを取得する。出力部１０８０は、取得された特徴データを元にして出力装置である音声再生装置から犬の鳴き声「ｂｏｗｗｏｗ」出力する。「Ｄｏｇ」という単語から犬という物を認識し、犬の映像や犬の鳴き声を出力したことになる。
【０３７７】
言語の中の単語と、知識ベース内の属性や物とを対応づける必要のない場合、識別データは不要である。言語を持たない動物は、識別データを含まない知識ベースを構築し、識別データを含まない知識ベースを使って認識や推論などの知識処理を行うと考えられる。言語を学習した人間は、識別データと特徴データとの両方を含む知識ベースを構築していると考えられる。（１）識別データを含まず、特徴データ、属性、物からできた知識ベース、（２）特徴データを含まず、識別データ、属性、物からできた知識ベース、（３）識別データ、特徴データ、属性、物からできた知識ベースが構築できる。記号論理だけを行う場合は、（２）の知識ベースでもよい。
【０３７８】
学習によって、知識ベース内の特徴データ、識別データ、属性、物が追加されるだけでなく、削除されることもある。学習によって、特徴データ、識別データ、属性、物のつながりが追加又は削除され、変更される。
【０３７９】
特徴データと識別データとについて再度説明する。
【０３８０】
図１のように、言語の中の単語だけから、一実施形態の知識ベース内の識別データが生成され、現実の世界の中の対象物から直接発せられた映像や音声などのデータだけから、一実施形態の知識ベース内の特徴データが生成される。対象物は単語ではない。しかしながら、知識ベース内において、識別データは、意味や概念を直接表すものとして利用されない。もとの単語の意味や概念を取得するためには、その識別データにつながる属性を取得し、さらにその属性につながる物を取得し、取得された物につながる他の属性を取得し、その属性につながる特徴データを取得しなければならない。
【０３８１】
この一実施形態の知識ベース内では、物（３００３）は、犬という対象物に間接的に対応付けられている。しかし、他の実施形態の知識ベース内では、物（３００３）は犬という対象物でなく、猫という対象物に間接的に対応付けられているかもしれない。そこで、言語の中の単語から識別データを生成し、知識ベース内で識別データと物や属性とをつなぎ、対応付けることによって、異なる知識ベース間で単語を経由して情報交換ができるようになっている。
【０３８２】
識別データは、言語と言語の外にある知識ベースとを対応づけるために利用される。知識ベースごとに、同じ物や同じ属性に割り当てられる識別子の値は異なるので、言語内の単語から生成された識別子を使わずに情報を交換できない。言語内の単語を仲立ちとすることによって、複数の知識ベース間で情報を交換できるようになる。
【０３８３】
また、識別データは、知識ベース内の知識を言語の中に取り出すことにも利用できる。知識ベース内の知識を、識別データを仲立ちにして単語に変換して、知識ベースから言語の中に取り出すことができる。たとえば、知識ベースの中の識別子で表される物を、識別データを仲立ちにして単語に変換すると、識別子だけで物を区別するより物を区別しやすくなる。また、知識ベースの中の物識別子や属性識別子が単語に変換されると、文字で書き表すことができる。そして、書き表された物や属性を単語として、視覚を使って認識することにより、理解しやすくなる。
【０３８４】
格納された１つの特徴データから、新たな特徴データが生成されることもある。図３４では、４本足という特徴データが生成され、知識ベースに格納されている。これは、すでに格納された犬、猫、とかげなどの映像から生成された特徴データから、さらに特徴抽出部１０２０によって生成される。
【０３８５】
図３４の知識ベースには、人間を表わす物（３００１）、イルカを表わす物（３００２）、犬を表わす物（３００３）、猫を表わす物（３００４）、トカゲを表わす物（３００５）、蛇を表わす物（３００６）が格納されている。図３５には、図３４の知識ベースを元にして学習部１０５０が行った学習処理によって、新たに生成された物と属性とが示されている。
【０３８６】
たとえば、マイクで「哺乳類」という単語の音声が知識ベースシステム１０００のデータ入力部１０１０に入力される。特徴抽出部１０２０によって特徴が抽出され、識別データが生成される。データ比較部１０３０によって、この識別データが知識ベースにないことが調べられ、データ格納部１０４０によってこの識別データが知識ベース内に格納される。データ格納部１０４０によって属性（１０１５）が生成され、生成された属性（１０１５）に生成された識別データつながる。さらにデータ格納部１０４０によって、物（３００７）が生成され、生成された属性（１０１５）がつながる。
【０３８７】
マウス操作やキーボード入力により属性の統合処理が指示される。
【０３８８】
再度、マイクで「哺乳類」という単語の音声が知識ベースシステム１０００のデータ入力部１０１０に入力される。特徴抽出部１０２０によって特徴が抽出され、識別データが生成される。データ比較部１０３０によって、この識別データが知識ベースにあることが調べられる。検索部１０６０は、同じ識別データとつながる属性（１０１５）を取得し、取得された属性（１０１５）につながる物（３００７）を取得する。学習部１０５０は、取得された物（３００７）を取得し、認識する。
【０３８９】
マウス操作やキーボード入力により、属性を新しく生成する指示が知識ベースシステム１０００に入力されると、学習部１０５０によって属性（１００８）が生成され、生成された属性（１００８）が認識された物（３００７）につながり、生成された属性（１００８）が取得される。表示装置に、認識された物（３００７）に既につながっている属性の一覧が表示され、その一覧の中から属性を１つ指定し、指定された属性を取得することもできる。
【０３９０】
つづいて、カメラから「大きな犬」の映像が知識ベースシステム１０００のデータ入力部１０１０に入力され、特徴抽出部１０２０で特徴が抽出され、特徴データが生成される。データ比較部１０３０は、生成された特徴データと同じ特徴データが知識ベースにあるか調べる。同じ特徴データはあるので、検索部１０６０によって、知識ベース内にある同じ特徴データが取得される。
【０３９１】
マウス操作やキーボード入力により、特徴データ追加指示が知識ベースシステム１０００に入力されると、学習部１０５０によって、取得された特徴データが取得された属性（１００８）につながる。
【０３９２】
この処理を繰り返すと、図３５のように属性（１００８）に、哺乳類の映像から生成された複数の特徴データがつながり、属性（１００８）が哺乳類という意味あるいは概念を表わす。この属性（１００８）が、哺乳類を表わす物（３００７）につながる。動物を表わす物（３００８）も爬虫類を表わす物（３００９）も同じようにして作られる。
【０３９３】
図３６は、図３４に図３５の３つの属性（１００８，１００９，１０１０）を追記し、物（３００１，３００２，３００３，３００４）に属性（１００８）をつないだ知識ベースを示している。これで、物（３００１，３００２，３００３，３００４）に、哺乳類を表わす属性（１００８）が追加され、その属性（１００８）を持つようになる。属性（１００９，１０１０）についても同様の処理が行われている。
【０３９４】
以下のようにして、学習部１０５０による属性追加処理は行われる。
【０３９５】
たとえば、マイクから「哺乳類」という単語の音声が知識ベースシステム１０００のデータ入力部１０１０に入力される。特徴抽出部１０２０によって特徴が抽出され、識別データが生成される。データ比較部１０３０によって、この識別データと同じ識別データが知識ベースにあることが確認される。そして、同じ識別データとつながる属性（１０１５）が検索部１０６０によって取得される。次に、検索部（１０６０）によって、属性（１０１５）につながる物（３００７）が取得され、認識される。
【０３９６】
次にたとえば、カメラから「人」の映像が入力され、特徴データが生成され、生成された特徴データと同じ特徴データがつながる属性（１００１）が取得される。さらに属性（１００１）につながる物（３００１）が検索部１０６０によって取得され認識される。最初に認識された物（３００７）と、次に認識された物（３００１）とが、異なると、学習部１０５０は、最初に認識された物（３００７）に直接つながる属性（１００８）と、後から認識された物（３００１）とをつなぐ。
【０３９７】
このような処理を繰り返すと、人間を表わす物（３００１）、イルカを表わす物（３００２）、犬を表わす物（３００３）、猫を表わす物（３００４）が、哺乳類を表わす属性（１００８）とつながり、属性（１００８）を持つようになる。
【０３９８】
図３６において、たとえば属性（１００８）につながる物を選択し、属性（１００８）を持つ物を集めることができる。物（３００１、３００２、３００３、３００４）が選択され集められた物である。この集められた物を知識の集まりと呼ぶ。哺乳類という属性（１００８）を持つ物が集められ、哺乳類という知識の集まりが生成される。
【０３９９】
図３７では、物が四角い破線で囲まれている。四角い破線で囲まれた部分、動物という知識の集まり１６５、哺乳類という知識の集まり１６６、爬虫類という知識の集まり１６７、四足の動物という知識の集まり１６８が、それぞれ知識の集まりになる。動物、哺乳類、爬虫類、四足の動物という４つの知識の集まりが図３７に示されている。
【０４００】
知識の集まりを使って推論ができる。
【０４０１】
たとえば「蛇は哺乳類であるかどうか」を推論する。哺乳類を表わす属性（１００８）とつながった物を集め、知識の集まり１６６をつくる。この知識の集まり１６６には、人を表わす物（３００１）、イルカを表わす物（３００２）、犬を表わす物（３００３）、猫を表わす物（３００４）が含まれる。この知識の集まりの中に、蛇を表わす物（３００６）があるかどうかを調べる。この例では、蛇を表わす物（３００６）は、哺乳類を表わす知識の集まりに含まれないので、「蛇は哺乳類ではない」と推論し、判断できる。
【０４０２】
知識の集まりは、抽象的な物である。したがって具体的な物と同様に、抽象的な物である知識の集まりを要素とする知識の集まりも生成できる。いくつかの抽象的な物に同じ属性をつないでその属性を追加する。追加された属性を持つ物を集めれば、新たな知識の集まりが生成される。
【０４０３】
図３８には、図３５で新たに生成された知識の集まりを表わす抽象的な物（３００７、３００８、３００９）が追記され、対応する属性と直接つながれている。ひとつの知識の集まりが、抽象的な１つの物として知識ベースに格納されている。たとえば、爬虫類を表わす抽象的な物（３００９）は、属性（１０１０）につながる。この属性（１０１０）は、蛇の映像から生成された特徴データとトカゲの映像から生成された特徴データとがつながり、爬虫類を表わしている。哺乳類を表わす抽象的な物（３００７）、動物を表わす抽象的な物（３００８）も同様である。
【０４０４】
図３８で示されるように、爬虫類という抽象的な物（３００９）も、爬虫類を構成する具体的な蛇やトカゲなどの物（３００５、３００６）も知識ベース内では同じ構造で表わされる。どちらも特徴データと属性とがつながり、その属性が物につながっている。したがって、知識の集まりという抽象的な物を要素とする知識の集まりを生成できる。
【０４０５】
このように、英語、日本語、中国語などの言語および言語内の単語を使わずに、言語内の単語ではない対象物自体から直接発せられるデータだけを元にして、知識ベースが構築できる。
【０４０６】
知識ネットワークについて説明する。
【０４０７】
図３９では、物同士が矢印でつながれている。たとえば、動物を表わす物（３００８）から哺乳類を表わす物（３００７）へ延びる矢印、動物を表わす物（３００８）から爬虫類を表わす物（３００９）へ延びる矢印、哺乳類を表わす物（３００７）から人を表わす物（３００１）へ延びる矢印、哺乳類を表わす物（３００７）からイルカを表わす物（３００２）へ延びる矢印、哺乳類を表わす物（３００７）から犬を表わす物（３００３）へ延びる矢印、哺乳類を表わす物（３００７）から猫を表わす物（３００４）へ延びる矢印、爬虫類を表わす物（３００９）からトカゲを表わす物（３００５）へ延びる矢印、爬虫類を表わす物（３００９）から蛇を表わす物（３００６）へ延びる矢印によって、物同士がつながる。
【０４０８】
図４０は、物と物とのつながりだけを抜き出した図である。このようなつながり合ったいくつかの物、つまり、１つのつながりあった物全体が１つの知識ネットワークである。この例では、この知識ネットワークは、動物の種の分類を表わす。矢印の始点は上位の分類、矢印の終点は下位の分類を表わす。この知識ネットワークのつながりは、包含関係を表わし、上位に位置する物が下位に位置する物を含むということを表わす。
【０４０９】
この知識ネットワーク内で、動物を表わす物（３００８）から哺乳類を表わす物（３００７）へ矢印を順方向に辿って移動できる。さらに、哺乳類を表わす物（３００７）からイルカを表わす物（３００２）へ矢印を順方向に辿って移動できる。
【０４１０】
イルカを表わす物（３００２）から哺乳類を表わす物（３００７）へ矢印を逆方向に辿って移動する。次に、哺乳類を表わす物（３００７）から動物を表わす物（３００８）へ矢印を逆方向に辿って移動する。このように移動すると、イルカを表わす物（３００２）から動物を表わす物（３００８）へ移動できる。ある物から別の物へ知識ネットワークのつながりを辿って移動できる場合、その２つの物の間に何らかの関係がある可能性が推測される。この例では、イルカは動物という分類に含まれるということが、知識ネットワークのつながりから判る。このように知識ネットワークを使って推論ができる。
【０４１１】
図４０の１つの知識ネットワークを、複数の知識ネットワークを組み合わせて作ることもできる。
【０４１２】
図４１に示される物（３０１１）は、知識ネットワークを表わす属性（１０３０）と動物を表わす属性（１００９）とにつながっており、動物に関する知識ネットワークである抽象的な物である。物（３０１２）は、知識ネットワークを表わす属性（１０３０）と哺乳類を表わす属性（１００８）とにつながっており、哺乳類に関する知識ネットワークである抽象的な物である。物（３０１３）は、知識ネットワークを表わす属性（１０３０）と爬虫類を表わす属性（１０１０）とにつながっており、爬虫類に関する知識ネットワークである抽象的な物である。
【０４１３】
図４２は、図４１の物と物とのつながりを抜き出した図である。図４１では省略されていた知識ネットワークである物と具体的な物とのつながり、たとえば動物に関する知識ネットワークである物（３０１１）と動物を表わす物（３００８）とのつながりも描かれている。図４１では図が複雑になり見難くなるので省略されている。
【０４１４】
動物である物（３００８）と哺乳類である物（３００７）とがつながり、動物である物（３００８）と爬虫類である物（３００９）とがつながり、知識ネットワークが生成されている。この知識ネットワークが動物に関する知識ネットワークである抽象的な物（３０１１）であり、図４２の楕円１６９で囲まれている部分である。
【０４１５】
また、哺乳類である物（３００７）と人である物（３００１）とがつながり、哺乳類である物（３００７）とイルカである物（３００２）とがつながり、哺乳類である物（３００７）と犬である物（３００３）とがつながり、哺乳類である物（３００７）と猫である物（３００４）がつながり、知識ネットワークが生成されている。この知識ネットワークが哺乳類に関する知識ネットワークである抽象的な物（３０１２）で、図４２の楕円１７０で囲まれている部分である。
【０４１６】
また、爬虫類である物（３００９）とトカゲである物（３００５）とがつながり、爬虫類である物（３００９）と蛇である物（３００６）とがつながり、知識ネットワークが生成されている。この知識ネットワークが、爬虫類に関する知識ネットワークである抽象的な物（３０１３）で、図４２の楕円１７１で囲まれている部分である。
【０４１７】
図４１に描かれているように、さらに、動物に関する知識ネットワークである抽象的な物（３０１１）と哺乳類に関する知識ネットワークである抽象的な物（３０１２）とがつながり、動物に関する知識ネットワークである抽象的な物（３０１１）と爬虫類に関する知識ネットワークである抽象的な物（３０１３）とがつながり、知識ネットワークが生成される。なお、見にくくなるので図４２には、この知識ネットワークは描かれていない。このように、知識ネットワークである抽象的な物同士をつないで、新たな知識ネットワークを生成することができる。
【０４１８】
知識ネットワークである抽象的な物は、その知識ネットワークに含まれる全ての物それぞれと直接つながる。たとえば図４２のように、知識ネットワークである抽象的な物（３０１１）は、その知識ネットワークに含まれる物（３００７、３００８、３００９）とそれぞれ直接つながる。このようにすると、知識ネットワークである抽象的な物を指定すると、その知識ネットワーク内にどのような物が含まれているかが判る。
【０４１９】
知識の集まりは物であり、知識ネットワークも物である。図３８及び図４１で示されるように、犬や猫のような具体的な物も、知識の集まりや知識ネットワークのような抽象的な物もデータ構造は同じである。したがって、抽象的な物である知識の集まりまたは抽象的な物である知識ネットワークを含む知識ネットワークを生成することができる。同様に、抽象的な物である知識の集まりまたは抽象的な物である知識ネットワークを含む知識の集まりを生成することができる。この仕組みによって抽象的な知識も蓄積され、蓄積された抽象的な知識が体系化される。さらに、蓄積され体系化されたな抽象的な知識を使って推論が行われる。
【０４２０】
図４２の知識ネットワークを例にして、知識ネットワークを使った推論の説明をする。
【０４２１】
たとえば、哺乳類に関する知識ネットワーク（３０１２）内で、人である物（３００１）から哺乳類である物（３００７）に移動することができる。また、哺乳類である物（３００７）は、哺乳類に関する知識ネットワーク（３０１２）だけでなく、動物に関連する知識ネットワーク（３０１１）にも属している。そこで、哺乳類である物（３００７）を介して、哺乳類に関する知識ネットワーク（３０１２）と異なる知識ネットワークである動物に関する知識ネットワーク（３０１１）に移動する。動物に関する知識ネットワーク（３０１１）内で、哺乳類である物（３００７）から動物である物（３００８）に移動する。このとき、出発点の人である物（３００１）と到着点の動物である物（３００８）の間に関係がある可能性がある。人間は動物である、あるいは、人は動物に含まれるということが推論できる。
【０４２２】
ある知識ネットワーク内の物から、その物が属する他の知識ネットワークに移り、移った知識ネットワーク内の物に移動できる。１つあるいは２つ以上の異なる知識ネットワークを経由して移動してもよい。このとき、出発点の物と到着点の物との間に何らかの関係がある可能性がある。なぜなら、それぞれの知識ネットワーク内の物は、その知識ネットワーク内において関連のある物同士がつながっているからである。ある物から別の知識ネットワークに移り、移った知識ネットワーク内のつながった物に移動できれば、その物との間にも関連性がある可能性があるからである。
【０４２３】
なお、１つの知識ネットワーク内でのつながりの意味は同じにしておく。つながりの意味が変わる場合は、その部分を別の知識ネットワークにする。１つの知識ネットワーク内では、つながりの意味を同じにする。すると、その知識ネットワークの意味が明確になる。さらに、知識ネットワークを特徴づける属性がつながりの意味を表わすようにすると、つながりの意味が異なる知識ネットワークは、必ず異なる属性の組み合わせで特徴づけられる。
【０４２４】
知識ネットワークのつながりをたどり、つながった物を取得すると、関連する物が取得できる。このように、知識ネットワークは、関連する物を検索する、検索システムとしても利用できる。
【０４２５】
言語の中の単語をつないで知識を表現する従来技術の知識ベースがある。単語をつなぎあわせて一塊のつながりをつくり、知識を表現している。しかし、単語の一塊のつながりですべての知識を表わすことはできなかった。そこで、単語の一塊のつながりに入りきれない知識を暗黙知と呼んでいた。
【０４２６】
たとえば、人は会社という組織に属していれば会社組織の中のつながりがある。家庭では家族関係というつながりがある。人に限らず、あらゆる物は切り口によってさまざまなつながりを持っている。これを一塊のつながりで表現することは無理である。無理やり一塊のつながりで表現すると、一塊のつながりに入りきれない知識あるいは情報を暗黙知と呼ばざるを得ない。
【０４２７】
本願技術の一実施形態の知識ベースでは、切り口ごとに一塊のつながりをつくる。この一塊のつながりが１つの知識ネットワークである。このようにすれば、共通する物で知識ネットワークをつなぎあわせて知識を体系化でき、暗黙知を使わずに広範囲な知識を体系化できる。ある知識ネットワークに属するある物から、その知識ネットワークとつなぎあわされた他の知識ネットワークに移り、他の知識ネットワーク内の物に移動し、他の知識ネットワーク内の物とのつながりを調べることができる。
【０４２８】
これまでの説明をもう少し詳しく説明する。本願技術の一実施形態として以下のような仮説を考案した。この仮説はあくまでも一実施形態としての仮説であり、本願技術の範囲を制限するものではない。前述の説明と重なる部分もあるが、その仮説について以下に説明する。
【０４２９】
脳は、たくさんの神経細胞でできている。さらに、神経細胞は、樹状突起と呼ばれる組織などによって相互に接続され、信号を伝達しあっている。実際の脳においては、１つの神経細胞が、物に対応する。図４３では、外部にある対象物から直接生成された情報が、感覚器官１１０で受け取られる。感覚器官１１０が受け取った情報から、特徴抽出部１１４によって特徴が抽出され、特徴データが生成される。生成された特徴データは、記憶領域１１２内に保持される。もちろん、特徴データは、樹状突起等により、属性領域１１５内にある１つの神経細胞７１とつながり、特徴データが属性領域１１５の神経細胞７１に対応づけられる。複数の特徴データが属性領域１１５内の同じ神経細胞７１につながり、対応づけられることもある。属性領域１１５の神経細胞７１は、特徴データに対応づけられることによって属性を表わす。属性を表わす神経細胞７１と物の領域１１１内の神経細胞７０とが樹状突起等によりつながり、属性が物に対応づけられる。このようにして、物が属性を持つ。
【０４３０】
たとえば、感覚器官１１０から甘みの情報を受け取ると、特徴抽出部１１４が甘味の情報から特徴を抽出し、抽出された特徴が記憶領域１１２で保持され特徴データになる。特徴データが属性領域１１５の神経細胞７１とつながることによって、その神経細胞が甘いという属性を表わす。甘いという特徴データに直接つながることによって、甘いという属性を表わす神経細胞７１が、物に直接対応づけられ、物を表わす神経細胞７０と直接つながる。これにより、「その物が甘い」あるいは、「その物が甘い属性を持つ」ということを学習する。
【０４３１】
属性が特徴データと物の間にあると、１つの特徴データが複数の異なる属性につながることができる。また、複数の特徴データが１つの属性につながり１つの意味または概念を生成することができる。これにより、複数の特徴データから１つの意味や概念を生成する、または、１つの特徴データから複数の意味や概念を生成することができる。
【０４３２】
特徴データは、属性領域１１５の神経細胞７１を経由せずに物の領域１１１内の神経細胞７０とつながり、対応づけられる場合もある。この場合、属性領域１１５の神経細胞７１を経由するより速く物の領域１１１の神経細胞７０に信号が届く。感覚器官１１０から情報を受け取り、特徴抽出部１１４が受け取った情報から抽出した特徴データが、記憶領域１１２に既に保持された特徴データと一致あるいは類似していていると判断されるとする。物の領域１１１内の神経細胞７０とその特徴データが直接つながっていたとすると、あらかじめその特徴データとつながった物の領域１１１の神経細胞７０に信号が届く。このとき、物は認識される。真っ赤に燃える炎の映像を見ると、直ちに火であると認識する仕組は、前述の仕組に対応づけられる。
【０４３３】
氷を触り冷たいという特徴データが保持され、属性領域１１５の神経細胞７１とつながることによって、冷たいという概念、すなわち属性が生成されているとする。この冷たいという属性だけがつながった物の領域１１１の神経細胞７０、すなわち物があるとする。この物は、冷たさ、または、漠然とした冷たい物を表わす抽象的な物である。
【０４３４】
たとえば、赤い丸い物を食べたところ、甘くて食べられたとする。このとき、物の領域１１１内の１つの神経細胞７０が赤く丸い物になり、赤い丸い物の映像の特徴データにつながった属性である神経細胞と赤い丸い物の甘さの特徴データにつながった属性領域１１５の神経細胞７１が前記赤く丸い物の神経細胞につながる。同様に、食べられるという特徴データは、属性領域１１５の神経細胞７１とつながり、その属性領域１１５の神経細胞７１は、物の領域１１１内の赤い丸い物に対応する神経細胞７０とつながる。
【０４３５】
食べられるという特徴データにつながった属性領域１１５の神経細胞７１が、物の領域１１１の神経細胞７０に信号を送る。つまり、食べられるとい属性領域１１５の神経細胞７１から物の領域１１１の神経細胞７０に信号を送る。すると、食べられるという属性領域１１５の神経細胞７１につながっている物の領域１１１の神経細胞７０だけが信号を受けて活性化する。活性化された物の領域１１１の神経細胞７０全体が、食べられるという属性を持った物の集まりになる。この集まりが知識の集まりになる。１つ以上の属性領域１１５の神経細胞７１から信号を送って、知識の集まりを生成することもできる。物の領域１１１内の神経細胞７０は、物を表わしている。知識の集まり内の神経細胞は、共通する属性を持つ物を表わしている。１つの知識の集まり内の神経細胞同士をつなぐことによって、物同士の関係を保持できる。このつながれた物の集まりが、知識ネットワークである。もちろん、知識の集まりにない物をつなぐこともできる。さらに、知識の集まりに関係なく物をつないで知識ネットワークを作ってもよい。
【０４３６】
このような働きを学習と呼ぶ。物、属性または特徴データを追加又は削除することは学習である。つながりを追加又は削除することも学習である。物同士のつながりを追加するだけでなく、物同士のつながりを削除すること、神経細胞を新たに物に対応づけて知識ネットワークに追加すること、物と属性、属性と特徴データ、特徴データと物とのつながりを追加したり削除したりすることも学習である。
【０４３７】
砂糖をなめたとする。すると、感覚器官１１０から甘味という情報と甘味の程度の２種類の情報を受け取る。特徴抽出部１１４で前述の２種類の情報を特徴として抽出する。抽出された２つの特徴は、１組の特徴データとして記憶領域１１２に保持される。記憶領域１１２に既に同じ特徴データがある場合は、新たに特徴データを保持しないようにすることもできる。同じ特徴データが無い場合は、属性領域１１５の未使用の神経細胞の１つがその特徴データとつながり、その特徴データに対応する神経細胞となる。同じ特徴データがあり、その特徴データが属性領域１１５の神経細胞とつながっていない場合も、属性領域１１５の神経細胞の１つがその特徴データとつながり、その特徴データに対応する神経細胞になる。
【０４３８】
甘味という特徴データと属性領域１１５にある神経細胞とがつながり、甘みの程度という特徴データと属性領域１１５の別の神経細胞とがつながる。甘味の程度を表わす属性は、程度を表わす属性として他の属性とつながることが可能である。味の濃さや大小などある属性の程度を表わす補助属性がある。補助属性は、他の属性につながり、その属性の意味や概念を修飾する。補助属性は、形容詞や副詞に相当すると考えれば理解しやすい。前述の２つの特徴データから信号を送ると、信号を受けた属性領域１１５の２つの神経細胞は信号を受けて、属性領域１１５の２つの神経細胞は相互につながる。情報の発生源である物に対応づけられた神経細胞も信号を受ける。信号を受けた属性領域１１５の２つの神経細胞は、それぞれ、情報の発生源である物に対応する神経細胞とつながる。物と属性と補助属性とのすべてがつながり、三角形の形につながる。３つの要素のうち２つを指定すれば残りの１つの要素が必ず決まる。たとえば、物と属性とを指定すれば両者につながる補助属性が１つだけ確定する。このようにすると、必要なときに属性に関連する補助属性を取得できる。もちろん、属性につながっている特徴データを取得すれば補助属性の元になった情報が取得できるので、さらに詳しい情報が取得できる。補助属性も属性であり、特徴データと属性領域１１５の神経細胞とにつながっているにすぎない。１つの補助属性はさまざまな属性とつながり、つながった属性の意味や概念を修飾することができる。
【０４３９】
甘味に相当する特徴データを主特徴、甘味の程度に相当する特徴データを副特徴とする。主特徴に対応する属性を主属性、副特徴に対応する属性を副属性とする。先ほど補助属性と呼んだ属性が副属性である。
【０４４０】
特徴抽出部１１４が感覚器官１１０から情報を受けると、主特徴と必要に応じて副特徴が抽出される。抽出された主特徴と副特徴は、記憶領域１１２に特徴データとして保持される。
【０４４１】
甘味という主特徴である特徴データが甘味という主属性を表わす神経細胞につながり、甘味の程度という副特徴である特徴データが甘味の程度という副特徴に対応する副属性を表わす神経細胞につながる。甘味という主属性を表わす神経細胞は、甘味の程度という副属性を表わす神経細胞とつながる。この副属性は、甘味以外の主属性とつながってその主属性を修飾してもよい。他の属性から修飾される属性が主属性であり、他の属性を修飾する属性が副属性である。
【０４４２】
属性は、１つの主属性だけの場合と、１つの主属性と１つまたは１つ以上の副属性からなる場合がある。これは、形容詞と副詞とで修飾する場合に相当する。甘味という特徴データは、信号を甘味という属性を表わす神経細胞に送る。甘味の程度の特徴データは、甘味の程度に対応づけられた属性を表わす神経細胞に信号を送る。甘さの程度とは、砂糖の水溶液を味わったときを想像すればわかる。砂糖の濃度が高ければ甘さの程度は大きくなる。砂糖の濃度が低ければ、甘さの程度は小さくなる。信号を受けた甘味に対応づけられた属性を表わす神経細胞と、信号を受けた甘味の程度に対応づけられた属性を表わす神経細胞とは、樹状突起等によりつながる。このようにすると、物は、属性とその属性の程度、つまり、主属性と副属性とを持つことができる。
【０４４３】
たとえば、味覚神経から味覚情報を受け取り、甘味の次は苦味、苦味の次は酸味などのように、一定の順番で味の種類ごとの味の強さを表わす情報を並べた特徴データを作る。味の特徴データの並びの順番に、特徴データが属性領域１１５の特定の神経細胞とつながるようにする。このようにすると、属性領域１１５の特定の神経細胞が、特定の味を表わす。ある物が持つ甘味、酸味などの個別の味の特徴データもできる。個別の味を表わす属性は、すべての物が共通して使うことができる。また、一定の順番に並んだ味の特徴データの並び全体のパターンを１つの特徴データにして１つの属性につなげば、その物の全体の味の属性をつくることができる。
【０４４４】
このようにして、物は新しい属性を持ち、新しい属性をもつことによって、新しい知識を学習する。本願では、属性に対応づけられた神経細胞を属性の神経細胞、物に対応づけられた神経細胞を物の神経細胞と呼ぶ。主属性に対応づけられた神経細胞を主属性の神経細胞、副属性に対応づけられた神経細胞を副属性の神経細胞と呼ぶ。
【０４４５】
物を認識する手順を説明する。
【０４４６】
情報を入力する情報入力部である感覚器官１１０から情報を受け取り、受け取った情報から特徴抽出部１１４で特徴を抽出し、抽出された特徴を既に記憶領域１１２に保持されている特徴データと比較する。抽出される特徴は、１つの場合もあるが、通常は複数である。たとえば、音という情報が感覚器官１１０から入力され、音の高さ、音の大きさ、周波数分布、音の波形など複数の特徴が特徴抽出部１１４で抽出される。抽出された特徴と同じまたは類似の特徴データがあると、その特徴データからその特徴データにつながった属性に信号が送られる。新たに生成された特徴について、この処理を繰り返す。
【０４４７】
信号を送る特徴データは１つの場合もあるが、１つに限られることはなく、複数の特徴データが信号を送ることが多い。信号を受けた１つ以上の属性は、当該属性につながっている物に信号を送る。信号を受けた物のなかの１つの物が、感覚器官１１０に情報を与えた物として認識される。通常、一番多くの信号を受けた物が、感覚器官１１０に情報を与えた物として認識される。
【０４４８】
ただし、物は、各属性から同じ強さの信号を受けるとは限らない。ある属性からの信号が、他の属性からの信号より強くなるようなつながりになっている場合がある。そのため、単に多くの属性から信号を受けた物が、感覚器官１１０に情報を与えた物として認識される場合だけではなく、受けた信号の総量が多い物が認識されこともある。この手順が、認識を行う手順である。
【０４４９】
同じ属性を持つ物の集まりが知識の集まりである。知識の集まりにおいて、物と物とをつなぐことによって、物と物との関連を表わす。知識の集まりの中のつながりあった物が、知識ネットワークである。知識ネットワークによって関連の意味は異なる。たとえば物と物との関係は、親子関係、時間の前後関係、包含関係などさまざまな関係を表現できる。知識の集まりの中の知識ネットワークに、その知識の集まり以外の物をつないで知識ネットワークを作ってもよい。ある知識の集まりの中の物に限定せずにすべての物の中から物を選び、選ばれた物をつないで知識ネットワークを作ってもよい。
【０４５０】
知識ネットワークは、抽象的な物でもある。したがって、抽象的な物としての知識ネットワークを含んだ知識の集まりや知識ネットワークを生成できる。
【０４５１】
知識の集まりおよび知識ネットワークの生成方法の一例について説明する。
【０４５２】
物の領域１１１にある物に対応づけられた神経細胞７０も物と呼ぶ。属性領域１１５の神経細胞７１を属性と呼ぶ。物の領域１１１には、すべての物がある。このままでは、物の領域１１１から特定の物を探し出すのは難しい。次のようにすると、いくつかの物を選びだすことができる。ある属性から、その属性につながっている物に信号を送る。属性から信号を受けると、物は活性化する。活性化した物は、その属性を持った物である。このようにすると、ある属性を持つ物の集まりを生成することができる。これを知識の集まりと呼ぶ。信号を送る属性は、１つに限定されず、１つでも１つ以上でもよい。
【０４５３】
たとえば、鈴木家という属性を持つ知識の集まりを生成することができる。鈴木家という属性から信号を送ると、鈴木家の属性を持った父、母、子供に対応する物が信号を受け、活性化する。活性化した物を集めれば、鈴木家という属性を持った知識の集まりが生成できる。
【０４５４】
鈴木家の父に対応する物から鈴木家の子供に対応する物につながるようにしておく。また、鈴木家の母に対応する物から鈴木家の子供に対応する物につながるようにしておく。すると、このつながりは、親子関係になる。このつながりを辿ることにより、親子関係が明確になる。図４４は、この例を表わしている。
【０４５５】
属性（４）は、鈴木家という属性である。物（Ｆ）は鈴木家の父、物（Ｇ）は鈴木家の母、物（Ｈ）は鈴木家の子供を表す。鈴木家の父である物（Ｆ）から鈴木家の子供である物（Ｈ）につながり、鈴木家の母である物（Ｆ）から鈴木家の子供である物（Ｈ）につながっている。これらのつながりによって、物の間の関係をより明確にすることができる。図４４では、つながりは矢印であらわされている。
【０４５６】
このつながりは、双方向でもよい。しかし、多くの関係は方向を持っていると考えられる。したがって、単一方向、つまり、方向があるつながりが一般的である。単一方向のつながりで２つの物がつながっているとする。この単一方向のつながりを包含関係に対応づけると、たとえば、つながりの出発点の物が含む物（上位概念）になり、つながりの到着点の物が含まれる物（下位概念）になる。もちろん逆に対応づけることもできる。
【０４５７】
つながりで表わされる関係の意味は、情報ネットワークを生成した属性に依存することが多い。知識ネットワークごとにその知識ネットワークに応じたつながりを保持できる。含まれる物は同じであるが、つながりが異なる知識ネットワークをつくることは可能である。同じ家族を物とする知識ネットワークでも、身長順という関係でつながった知識ネットワーク、年齢順という関係でつながった知識ネットワーク、親子関係でつながった知識ネットワークなどさまざまな知識ネットワークを作ることができる。たとえば、身長順という関係でつながった知識ネットワークは、○○家という属性以外に身長という属性で特徴づけられる。
【０４５８】
知識ネットワークは、「水は水素と酸素とからできている」、というような構成物という関係を表わすこともある。知識ネットワークは、「人間は哺乳類に含まれる」、といような包含関係を表わすこともある。物Ａと物Ｂとが、物Ａから物Ｂにだけつながり、包含関係を表わしているとする。たとえば、物Ａを哺乳類、物Ｂを人間とする。哺乳類共通の属性と哺乳類を表わす属性とを物Ａが持ち、人間だけが持つ共通の属性と上位概念の哺乳類を表わす属性と物Ｂそのものの概念である人間を表わす属性とを、下位概念である物Ｂが持つようにする。このようにすると、下位概念を表わす物は、上位概念が持つ属性を持たなくても良い。上位概念を表わす物が持つ属性と下位概念を表わす物Ｂとが持つ属性を併せた属性が、下位概念を表わす物が持つ属性になる。このようにすると、物と属性のつながりを削減できる。必要に応じて、上位概念を表わす物が持つ属性を取得すればよい。
【０４５９】
２つの物を一方向のつながりでつなぐと、つながった２つの物を区別でききる。たとえば、２つの物の一方を上位概念を表わす抽象的な物に対応付け、他方を下位概念を表わす抽象的な物に対応付けることができる。一方向のつながりを、血縁関係に対応づけることもできる。これらは、一例であり、さまざまな関係を一方向の物のつながりで表現できる。
【０４６０】
知識の集まりと知識ネットワークとの利用方法の例を説明する。
【０４６１】
一旦、知識の集まり又は知識ネットワークが生成されると、外部から入力された情報が知識の集まりまたは知識ネットワークの知識と整合性があるかどうかを調べることができる。たとえば、１つの物といくつかの属性とが外部から入力されたとする。入力された属性をすべて持つ知識の集まりを生成する。その知識の集まりの中に、与えられた物が含まれていれば、その物は入力された属性を持つことが判る。また次のようにすると、与えられた２つの物の関係の有無を判断することも可能になる。一方の物から知識ネットワークのつながりを辿って、もう１つの物に辿りつくことができれば、両者に関係があることがわかる。このようにして与えられた２つの物の関係を取得できる。
【０４６２】
鈴木家の父という物と、花子さんという物と、鈴木家の家族という属性とが与えられたとする。図４４の知識の集まりが鈴木家を表わすとする。鈴木家の家族という知識の集まりを使って、花子さんという物が鈴木家の家族かどうかを判断できる。鈴木家の家族という知識の集まりに、花子さんという物が含まれていないと、花子さんは鈴木家の家族ではないと判断できる。
【０４６３】
具体的な手順は次のようになる。鈴木家の家族という属性から物に信号を送る。信号を受けた物は、すべて鈴木家という属性を持っている。信号を受けた物全体が、鈴木家という属性を持った知識の集まりになる。この生成された知識の集まりに花子さんという物があれば、花子さんは、鈴木家の家族に含まれると判断できる。この生成された知識の集まりに花子さんという物がなければ、花子さんは、鈴木家の家族に含まれないと判断できる。
【０４６４】
花子さんは、鈴木雄三家の子供である次郎さんの娘だとする。図４５の左側の枠が鈴木雄三家を表わす知識ネットワークである。図４５の右側の枠が鈴木次郎家を表わす知識ネットワークである。次郎さんという物は、これらの２つの知識ネットワークに属している。
【０４６５】
また、図には描かれていないが、鈴木雄三家の雄三、恵、一郎、次郎という物は、鈴木雄三家を表わす属性とつながっている。図には描かれていないが、鈴木次郎家の次郎、美香、太郎、花子という物は、鈴木次郎家を表わす属性とつながっている。２つの知識ネットワークは、次郎という共通の物を持っている。
【０４６６】
鈴木雄三家を表わす属性は、たとえば、雄三、恵、一郎、次郎の４人が一緒いる映像から生成された特徴データとつながっている。また、雄三を表わす物は、たとえば、雄三の映像から生成された特徴データとつながった属性とつながっている。図４５では、たとえば「雄三」という名前を表わす単語が記述されているが、これは説明のためだけに記述されている。
【０４６７】
鈴木次郎家という知識ネットワーク内の花子という物から同じ知識ネットワーク内の次郎という物に移動する。次郎という物は、鈴木雄三家という知識ネットワークにも属している。そこで、次郎という物を介して、鈴木次郎家という知識ネットワークから鈴木雄三家という知識ネットワークに移動する。そして、鈴木雄三家という知識ネットワーク内で、次郎から雄三に移動する。このようにして、花子という物から他の知識ネットワークの雄三という物に移動できるので、花子という物と雄三という物との間には、何らかの関係がある可能性がある。実際、雄三は花子のおじいさんである。このように、１つ知識ネットワークだけでなく、つながりあった知識ネットワーク使って推論ができる。
【０４６８】
指定された２つの物について、１つの知識ネットワーク内、あるいは、つながった他の知識ネットワークに移り、その知識ネットワーク内の物とのつながりを辿って、一方の物から他方の物へ移動する経路を見つけることができれば、指定された２つの物の間に何らかの関係がある可能性があると判断できる。このとき、辿られた経路は、２つの物の関係を表わす。一旦、２つの物の間に経路が見つかれば、つながった物が含まれる知識の集まりを新たに生成することもできる。２つの物を直接つなぐこともできる。
【０４６９】
知識の集まりの利用は、物同士の関係を見つけ出すために有効である。共通する物を持つ知識の集まり同士は、関連する可能性がある。また、知識ネットワークの利用も、物同士の関係が有るかどうかの可能性を見つけ出すために有効な方法である。２つの物の間に経路が見つかると、次に、２つの物が持つ属性を比較し、同じあるいは類似の属性を２つの物が持っているかどうかを調べる。同じ属性があれば、その属性について２つの物は、関連があると判断できる。類似の属性があれば、２つの物の関連がある可能性が高いと判断できる。このように本実施形態では、単語から生成された識別データなしで推論が行える。
【０４７０】
指定された物を出発点として、出発点から移動して辿りつける物を見つける。次に、見つけられた物と出発点である指定された物との属性を比較し、２つの物にどのような共通または類似する属性があるかどうかを調べる。共通する属性が見つかれば、２つの物が共通する属性によって関連していることが分かる。類似する属性が見つかれば、２つの物が類似する属性によって関連している可能性があることが分かる。だだし、共通または類似する属性が多いからといって重要な意味のある関連があるとは限らない。たった１つの共通属性あるいはたった１つの類似属性が重要な意味を持ち、新たに見つけられた物と物とのつながりが重要な意味のある関係になることもある。
【０４７１】
前述のように、単一の知識の集まりや単一の知識ネットワークを使って判断をすることもできる。また、複数の知識の集まりを使って判断をすることもできる。複数の知識ネットワークを使って判断をすることもできる。ある知識ネットワークに含まれる物から、その物が含まれる他の知識ネットワークを選択し、選択された他のネットワークに移動することができる。これを繰り返すと、１つ以上の知識ネットワークを経由して、他の知識ネットワークに移動できる。移動した先の知識ネットワーク内の物と出発点の知識ネットワーク内の物との間には、何らかの関連がある可能性がある。どの程度の可能性があるかは、知識ネットワークがどの程度適切に生成されているかということに依存する。
【０４７２】
１つの物が１つの知識である。共通する属性を持つ物の集まりが知識の集まりである。ある属性の神経細胞から物の領域の物の神経細胞に信号を送る。送られた信号を受けとる物の神経細胞すべてが、その属性に関する知識の集まりを構成する物になる。属性が対応づけられた物は、知識である。本願では簡略化のために、属性の神経細胞を属性と呼び、物の神経細胞を物と呼ぶことがある。
【０４７３】
属性を指定してその属性に関する知識の集まりを生成する。生成された知識の集まりに対して、さらに別の属性を指定して、その属性を持つ物を集めた新たな知識の集まりを生成する。これを繰り返せば、複数の属性を指定して知識の集まりを生成できる。
【０４７４】
知識の集まり内の物同士がつながっている場合がある。このつながった物の集まりが知識ネットワークである。このつながりに意味を持たせることができる。たとえば、「人間は哺乳類である」というような包含関係、「雄三さんは次郎さんの父である」というような血縁関係、位置関係、時間の前後関係など、物同士のつながりで、物の間の関係を表現することができる。
【０４７５】
図１６は、ある属性に関連した知識の集まりを生成する例を示している。物（Ａ）は、属性（１）で生成された知識の集まりにも、属性（２）で生成された知識の集まりにも属している。このようにすると、物が持つさまざまな属性ごとに知識の集まりを作り、知識を整理し、利用できる。物や属性を作ること、物同士、属性同士、物と属性とをつなぐことは、学習である。特徴データを作ること、特徴データと物、特徴データと属性とをつなぐことも学習である。識別データを作ること、識別データと物、識別データと属性とをつなぐことも学習である。また、物、属性、特徴データ、及び識別データのつながりを削除することも学習である。
【０４７６】
一旦学習が行われた後、同じ情報が感覚器官から入力されると、入力された情報から特徴抽出部１０２０によって特徴が抽出される。記憶領域に同じ特徴の特徴データがあり、その特徴データが、属性領域の属性を経由して物とつながっていると、その特徴データから物へ信号が送られる。抽出された特徴と類似の特徴データがあった場合にも、同じように信号が送られ、物が信号を受け取る。信号を受け取った物は活性化する。これが、物を認識する方法である。複数の特徴データから属性を経由して、いくつかの物に信号が届く。一番強い信号を受けた物が、その物の第一候補となる。
【０４７７】
たとえば、図５の特徴抽出部は、感覚器官である耳で受け取った音から特徴を抽出する。図５に描かれていないが、データ比較部１０３０に相当する脳内のデータ比較部は、抽出された特徴と記憶領域に保持されている特徴データとを比較する。そして、脳内のデータ比較部は、一致または類似する特徴データに対応する属性に信号を送り、信号を受けた属性が物に信号を送ることにより、耳で聞いた音によって物が認識される。
【０４７８】
従来技術では、個々の属性に対して論理演算をしなければならない。従来技術であるＰＲＯＬＯＧのようなプログラム言語では、物、属性、関係は、言葉としての文字列、つまり物、属性、または、関係の意味を表わす単語で表現されている。１組の単語の並びを知識の基本単位として、単語の並びを複数組保持することにより、知識を構築している。このような従来技術では、単語の並びの間の関連を直接表わしていない。また、広範囲で複雑に関連する暗黙知とよばれる知識を表現することが困難であった。そのため、人間が日常的に行っている簡単な判断を従来技術で行うことは難しかった。
【０４７９】
本実施形態の知識の集まりを用いると、与えられた物がある条件を満たしているかどうかを簡単に判断できる。あらかじめ与えられた１つまたは１つ以上の属性の属性識別子を指定して、知識の集まりを生成する。指定された属性は、ある物がこの知識の集まりに含まれるための条件である。次に、与えられた物がこの知識の集まりに含まれているかどうかを、知識の集まりを検索して調べる。もし含まれていれば、与えられた物は条件を満たすと判断できる。
【０４８０】
本実施形態の知識ネットワークを用いると、推論ができる。
【０４８１】
たとえば、さまざまな病気を物とする知識の集まりをあらかじめ保持しておく。この知識の集まり中の物は、病気という属性を持っている。病気という属性は、病気で寝込んでいる人の映像から生成された特徴データや、病気になったときのさまざまな症状の特徴データとつながっている。病気という抽象的な物には、病気という属性がつながっている。
【０４８２】
たとえば、顔色の悪い人の顔の映像が知識ベースシステムに入力されると、その特徴データが生成され、同じ特徴データが知識ベース内にあるかが調べられる。同じ特徴データがあると、顔色の悪い顔の特徴データにつながっている病気という属性が取得される。次に、病気という属性につながっている病気という抽象的な物が取得され、病気であると認識される。
【０４８３】
特徴データとして知識ベース内に保持されている症状と一致すると判断される症状の情報が入力されると、病気という抽象的な物が取得できる。このようにして病気であるという大雑把な判断ができる。
【０４８４】
どの病気であるかという更に詳しい判断は次のようにして行う。
【０４８５】
この知識の集まりには、風邪や肺炎など個々の病気も物として含まれている。風邪や結核などの各病気という物は、病名や症状を属性として持っている。風邪の病名という属性は、風邪という文字の映像から生成された識別データや、風邪という単語の音声から生成された識別データとつながっている。しかし、知識ベース内において、前述の病名を表わす識別データ自身は、病気に関する意味や概念を表すものとして利用されない。風邪という物は、たとえば、扁桃腺の腫れという属性を持つ。扁桃腺の腫れという属性には腫れた扁桃腺の映像の特徴データがつながる。このように、属性に特徴データがつながることにより、概念や意味が生成される。扁桃腺の腫れなどの１つの属性に、多くの種類の扁桃腺の映像から生成された特徴データがつながることができる。１つの属性に多くの種類の特徴データがつながっているほど、適切な判断ができる。
【０４８６】
たとえば、まず、腫れた扁桃腺の映像を外部から知識ベースシステムに入力し、その映像から特徴を抽出し、特徴データを生成する。次に、生成された特徴データと同じと判断された特徴データが知識ベース内にあるか探す。そして、同じと判断された特徴データが見つかると、その特徴データにつながる属性を取得する。
【０４８７】
さまざまな症状の情報を外部から知識ベースシステムに入力し、同様の処理を繰り返し、同じと判断された特徴データとつながった属性を取得する。取得された属性がより多くつながっている物、または、取得された属性がすべてつながっている物が、その症状の病気である可能性が高い。取得された属性がつながる病気である物のうち、いくつかを表示装置に表示することにより、診断の教育システムや診断支援システムが作れる。
【０４８８】
この知識の集まりの中に知識ネットワークを生成できる。病気という物を出発点にしてさまざまな病気が体系的につながっている知識ネットワークを生成できる。関連する病気をつないだ知識ネットワークも生成できる。たとえば、ある知識ネットワーク内で、風邪という物と肺炎という物をつなぐ。風邪をこじらせると肺炎になるというふたつの病気の関連性を一方向のつながりで表現する。このような知識ネットワークを利用すると、関連する病名を表示し診断を支援することもできる。たとえば、風邪の症状のある患者に関して、医師に肺炎の兆候の有無を確認するよう助言できる。
【０４８９】
直感を真似る仕組を作ることもできる。
【０４９０】
指定された２つの物について、１つまたは複数の情報ネットワークを経由して、一方の物から他方の物へ移動する経路を見つけることができれば、指定された２つの物の間に何らかの関係がある可能性があると判断できる。この処理は、人間が何気なく行っている直感的な判断に対応づけることができる。その後、共通度、非共通度、類似度など、属性を詳しく調べ、関連性について詳しい判断をすればよい。属性につながっている特徴データの比較を行い、さらに詳細に評価することもできる。記号論理を土台とした従来技術は、狭い範囲で詳細な論理的評価が行えるので、記号論理に基づいた方法は、この段階で効果的に利用できる。
【０４９１】
本願技術は何らかの判断をする業務において、判断業務の支援システムや判断業務の教育支援システムの構築に利用できる。
【０４９２】
音声認識という技術がある。音声認識でも本技術を利用できる。音声から特徴を抽出し、抽出された特徴を識別データとして保持しておき、その識別データをあらかじめ物や属性に対応づけておく。物と属性と識別データとは、前述の３階層構造でつないでおく。このようにしておくと、入力された音声を元に、音声が表わす単語の識別データを取得するだけでなく、音声に対応した概念や意味や物を取得できる。入力された音声から特徴を抽出し、識別データを生成する。生成された識別データと類似または一致した識別データとつながった属性や物を取得し、認識することができる。認識された物につながる他の属性を取得し、その属性につながる特徴データや識別データが取得できる。このような音声認識システムだけでなく、映像から特徴を抽出すれば映像認識システムとしても実施できる。温度センサ、圧力センサなどのセンサから特徴を抽出すれば、設備の監視システムとしても利用できる。もちろん文字で記述された情報にも利用できる。
【０４９３】
知識ネットワークを使って図形を表現することもできる。点、線、面、立体などの図形要素を物にして、図形要素である物をつなげば知識ネットワークで図形を扱える。
【０４９４】
図４６は、図形の一例として三角形１２１を示している。三角形以外の図形でもよい。また、平面図形に限らず立体図形でもよい。三角形１２１は、３個の線（直線）１２３と、３個の線１２３が互いに交わる３個の点（頂点）１２２と、３個の線１２３で囲われた面１２４とからなる。線１２３の代わりに曲線でも図形はできる。面１２４は平坦面ではなく曲面であってもよい。線１２３、点１２２、面１２４を物であると考え、線１２３、点１２２または面１２４からなる知識ネットワークを作る。
【０４９５】
図４７は、３個の点１２２で三角形１２１という図形を表わす知識ネットワークである。各点１２２は、物であるから属性を持つことができる。点１２２は、例えば、属性として座標値などを持つことができる。
【０４９６】
図４８は、点１２２と線１２３とで三角形１２１という平面の図形を表わす知識ネットワークである。点１２２と線１２３とが交互につながった知識ネットワークで図形を表わしている。この例では、点１２２は、属性として座標位置や内角を持つ。線１２３は、属性として線の長さを持つ。ただし、属性は、座標位置や長さに限られるものではない。
【０４９７】
図４９は、三角形１２１という平面の図形と、その図形の構成要素である線１２３をつないだ知識ネットワークである。図形のすべての構成要素と、平面をつないでもよいし、１個あるいは２個以上の構成要素を平面とつないでもよい。もちろん点という物を含んでいてもよい。
【０４９８】
平面の属性として、面積、二辺の長さが等しいという特徴、二等辺三角形という名称などを持ってもよい。図形要素という物は、映像から生成された特徴データとつながることで、その意味や概念が生成される。二辺の長さが等しいという特徴である属性は、二等辺三角形の映像から生成された特徴データにつながる。二等辺三角形という名称を表わす属性は、二等辺三角形という単語の文字の映像から生成された識別データや、二等辺三角形という音声から生成された識別データとつながっている。二等辺三角形という単語から生成された識別データだけを表わす属性は、二等辺三角形の意味や概念を表わす特徴データとつながらない。この例では、意味を持たず識別するためだけの属性と物の概念や意味を表わす属性とを明確に分離している。
【０４９９】
１つの属性につながる特徴データの数は、１つに限定されない。図５０は、三角錐という立体の図形で、４個の三角形（面）１２１で構成されている。図５１は、三角錐を例に、立体を知識ネットワークで表わした例である。立体の構成要素である三角形（面）１２１を、面を構成する図形要素とつなぐ。さらに、各面が共有する線（辺）１２３について、その辺を表す線同士をつなぐ。このように表わすと、立体を構成する面がどのように接しているかを表わすことができる。点や線などの共通する構成要素をつなぐ代わりに、共有する点や線などの構成要素について、複数の面で同じ点や線を用いることもできる。立体の展開図のように、いくつかの表現方法が可能である。
【０５００】
人間は、人の顔を認識するときに、目、鼻、口の位置関係を使うことがある。図５２は、目１２６、鼻１２７、口１２８を表わしている。図５３は、目と目を結ぶ直線、目と鼻を結ぶ直線、鼻と口を結ぶ直線を物とし、各物をつなぐ知識ネットワークの例である。つまり、顔の図形的な特徴を表わした知識ネットワークである。各直線の属性として線の長さを持つことにする。この知識ネットワークから、目の間の長さと目から鼻までの長さなどの比率を求めることができる。これらの比率が顔の特徴になる。
【０５０１】
例えば、外部から与えられた顔の映像から特徴を抽出し、図５３のような知識ネットワークを生成し、目、鼻、口の距離の比率を求める。あらかじめ保持された顔の知識ネットワークについても同様の比率を求め、両者を比べる。このようにすると、外部から与えられた顔の映像と記憶している顔が似ているかどうかの判断ができる。
【０５０２】
図５４は、将棋の盤面を表わした知識ネットワークである。将棋の駒を置く場所１２９が物である。駒を置く場所１２９が升目のようにつながった知識ネットワークである。駒を置く場所１２９は、盤面のなかでの位置を表わす情報を属性として持つ。たとえば（１、１）のように盤面の１つの角から縦横何番目に位置するかで表わす。また、碁盤に駒を置くと、駒を置く場所１２９の属性に、置かれた駒の種類が追加される。王、歩などが駒の種類である。駒がない状態は、空いていることを示す属性を持つか、あるいは、駒の属性を持たないようにして表現する。駒が移動すると、移動先にその駒の属性を移す。元の場所は、駒がない状態にする。駒を置く場所１２９の属性として、その場所の安全性や重要性の程度を表わす値など、さまざまな情報を持つことができる。
【０５０３】
また、図外にある駒を表わすものも物であり、その属性として駒の種類、移動可能範囲などの属性を持つ。各駒が移動可能な位置の駒を置く場所１２９が、「歩を移動可能」などの属性を持ってもよい。物である駒を置く場所１２９が、物である駒とつながり、駒自身が駒の移動稼動範囲などの属性を持ってもよい。目的に応じてより適した方法を採用することができる。
【０５０４】
具体的な物や抽象的な物を図形要素のように空間的な位置関係でつないで知識ネットワークを作ることもできる。このようにすると、（ＩＦ  ＴＨＥＮ  ＥＬＳＥ）のような記号論理とは異なる判断あるいは推論ができる。空間的な位置関係によって、判断あるいは推論ができる。
【０５０５】
たとえば、物Ａと物Ｂの隔たりと物Ａと物Ｃの隔たりを比較し、物Ａとの隔たりがより小さい物を選択するという判断あるいは推論ができる。物の隔たりを判断基準にして判断あるいは推論ができる。３次元の空間のように物同士をつないだ知識ネットワークにおいて、より上にある物を選択するという判断あるいは推論もできる。物がつながって生成された空間の中の位置を判断基準にして判断あるいは推論ができる。これは大局観に相当する。
【０５０６】
本実施形態では、属性が表わす意味や概念を表わす抽象的な物も扱える。この場合は、抽象的な物の意味を表わす特徴データとつながった属性が、物につながる。「熱さ」という抽象的な物の場合、ある属性が熱い物に触れたときの熱さの感覚の特徴データとつながり、さらにその属性が物につながる。この物が「熱さ」という抽象的な物である。「熱さ」という抽象的な物は、熱さという単語から生成された識別データとつながった属性ともつながることができるが、熱さという単語から生成された識別データとつながった属性はなくてもよい。本実施形態を使うと、単語あるいは言葉から生成された識別データなしで、知識の集まりや知識ネットワークを生成し、知識を蓄積し、推論などの知的処理ができる。
【０５０７】
ただし、単語あるいは言葉から生成された識別データが物や属性につながっていると、単語から生成された識別データによる識別や選択が可能になる。識別データと直接つながる物は、識別データによって識別できる。識別データとつながった属性は、識別データによって識別できる。さらに、識別データとつながった属性が物につながると、その物は識別データによって間接的に選択し、識別できる。
【０５０８】
一実施形態の知識ベースシステムは、識別データなしで特徴データと属性と物から知識ベース構築し、知識を蓄積し、推論などの知識処理ができる。識別データと特徴データと属性と物から知識ベース構築し、知識を蓄積し推論などの知識処理もできる。また、特徴データなしで識別データと属性と物からなる知識ベースを構築し、知識を蓄積し推論などの知識処理もできる。しかしこの場合、知識ベースは意味や概念を持たない。本願技術の一実施形態の知識ベースは、識別データまたは特徴データと、属性と物とから構成される。
【０５０９】
リレーショナルデータベース１４を使ってつながりを表で表現する実施形態を説明した。リレーショナルデータベース１４は、表を効率よく取り扱える。しかし、つながりを扱える他のソフトウエアでもかまわない。リスト構造というデータ構造を扱えるソフトウエアでも可能であるが、リスト構造を実現するためには、表の形式のデータを使うことになる。リスト構造とは、物であるノードを実現するデータ構造で使われているように、要素同士のつながりポインタで表わす。表でつながりを表わす場合は、つながり合う要素同士を１つの行に並べた表をつくる。ポインタでつながりを表現するか、１つの行に要素を並べて、つながりを表現するかの違いである。
【０５１０】
また、連想メモリのような装置や集積回路などの電子部品でもよい。連想メモリは、内部に表を持ち、ハードウエアによって次のような処理を行う。連想メモリ外からデータを受け取り、受け取ったデータの一部または全部が一致するデータが表の中にあるかどうかを調べる。一致するデータが表の中にあった場合、その一致するデータに関連づけられたデータを連想メモリ内の表から取得し、取得されたデータを出力する。連想メモリ内の表として、物と物を対応付けた表、物と属性を対応づけた表、属性と特徴データを対応づけた表などつながりを表わす表を作成しておく。
【０５１１】
この連想メモリに、物、属性、特徴データ、識別データの識別子を入力すると、その識別子が連想メモリ内にあるかどうかを調べる。その識別子が連想メモリ内にあると、その識別子に対応づけられた物、属性、特徴データ、識別データなどの識別子が表から取得され出力される。つまり、つながっている物、属性、特徴データ、識別データなどの識別子が取得できる。連想メモリ内の表で対応づけられているデータが出力される。このようにすると、リレーショナルデータベース１４を使って表を検索するのと同じ処理が行える。連想メモリ内の表のデータを追加削除することもできる。連想メモリは、リレーショナルデータベース１４の検索、追加、削除機能と表形式データを持つ装置あるいは集積回路などの電子部品である。
【０５１２】
ただし、１つの連想メモリに格納できるデータ量には限度がある。また、大量のデータを１つの連想メモリに格納すると検索時間が長くなるという問題がある。
【０５１３】
図５５のようなネットワークを使って実施することも可能である。図５５のネットワークは、一実施形態であり、図５５のネットワークに限定されない。このようなネットワークを、検索ネットワークと呼ぶ。
【０５１４】
表を使って識別子を対応づけるかわりに、図５５のようなネットワークを使って識別子を対応づけることができる。このネットワークを使って、対応づけられた識別子を検索、追加、削除できる。図５５のネットワークは、表だけを保持する図７の補助記憶装置７のひとつで、図５５のネットワーク内の通信装置内にリレーショナルデータベース１４の表と同等のデータを分解して保持し、リレーショナルデータベース１４と同等の検索処理を行う。リレーショナルデータベース１４よりも速く検索が行える。
【０５１５】
通常のネットワークは、あて先である通信装置識別子を含む情報を送信し、そのあて先がその通信装置識別子に一致する通信装置が受信する。本ネットワークでは、あて先を含まず送信元の通信装置識別子を含む情報を送信する。これにより、受信相手を指定しないであらかじめ指定された相手にデータを送信できる。
【０５１６】
図５５は、ネットワーク１５１を表わしている。図５５のネットワーク１５１は、通信路１５５を介して互いに接続される送信装置１５２、通信装置１５６、制御部１６０、及び送信受付部１６１で構成される。送信装置１５２は、送信部１５３を有する。また、通信装置１５６は、受信部１５７、通信装置識別子１５８、受信可能識別子１５９、検索部１６２、アドレス１６３を有する。
【０５１７】
このネットワーク１５１では、共有する送信装置１５２を使って、通信装置１５６に情報を送信する。送信装置１５２および送信部１５３は、各通信装置１５６に含まれるように実装してもよい。しかし、同時に送信できるのは１つの送信装置１５２の送信部１５３に限るので、１つの送信装置１５２および送信部１５３を複数の通信装置１５６で共用するほうが望ましい。送信装置１５２を１つに限るのは、通信路１５５で送信データの衝突が起こらなくなり、伝送効率が大幅に向上するからである。送信装置１５２から複数の通信装置１５６に対して同時に送信しているため更に効率がよい。
【０５１８】
送信受付部１６１は、制御部１６０から送信指示と送信データを受け付ける。送信データは、あて先を含まず、送信元の通信装置１５６の識別子である通信装置識別子１５８を１つだけ含む。１つの通信装置１５６が１つの物や属性や特徴データや識別データに対応づけられる。送信部１５３は、送信受付部１６１が受け取った送信元の通信装置識別子１５８を１つだけ含み、あて先を含まない情報を通信路１５５へ送信する。通信路１５５は、送信装置１５２と通信装置１５６とをつなぐ。通信路１５５は、電線や光ケーブル以外に、空間そのものが通信路１５５になってもよい。通信路１５５は何でもよい。
【０５１９】
通信装置１５６は、受信部１５７と、通信装置１５６自身の識別子である通信装置識別子１５８と、受信可能な通信装置１５６の識別子である受信可能識別子１５９と、検索部１６２とを持つ。通信装置識別子１５８は、１つのネットワークにおいてその通信装置１５６を識別する識別子であり、あらかじめ制御部１６０によって通信装置１５６に設定されている。受信可能識別子１５９は、１つの神経細胞に相当するその通信装置１５６につながっている他の神経細胞に相当する他の通信装置１５６の通信装置識別子１５８である。受信可能識別子１５９は、制御部１６０によって通信装置１５６にあらかじめ設定されている。
【０５２０】
制御部１６０は、通信装置１５６の受信可能識別子１５９を追加削除できる。これにより、神経細胞に相当する通信装置１５６同士をつなぐ、あるいは、つながりを削除できる。受信部１５７は、送信装置１５２から送信されたデータの中の送信元の通信装置識別子１５８を通信路１５５から受け取る。
【０５２１】
検索部１６２は、受け取った通信装置識別子１５８が受信可能識別子１５９のどれかと一致するかを調べる。受け取った送信元の通信装置識別子１５８が受信可能識別子１５９のどれかと一致すれば、検索部１６２は、その通信装置１５６自身の通信装置識別子１５８を含むデータを制御部１６０に出力する。これは、神経細胞に相当する通信装置１５６が、つながっている他の神経細胞である他の通信装置１５６から信号を受け取ったことに相当する。
【０５２２】
一方、受け取った送信元の通信装置識別子１５８が受信可能識別子１５９のいずれとも一致しないときは、通信装置１５６はその通信装置識別子１５８を出力しない。この場合、受け取った送信元の通信装置識別子１５８で識別される神経細胞に相当する通信装置１５６が、その神経細胞に相当する通信装置１５６とつながっていないことを表わす。このネットワークを使うと、ある通信装置識別子と別の通信装置識別子とを対応づけた表を、ある通信装置識別子で検索し、その通信装置識別子に対応づけられた他の通信装置識別子を取得するのと同じ処理ができる。つまり、このネットワークを使って表を検索することができる。
【０５２３】
制御部１６０は、検索部１６２によって出力された通信装置識別子１５８を受け取ると、受け取った通信装置識別子１５８を含むデータは、図外の装置に渡される。制御部１６０は、図外の装置より神経細胞に相当する通信装置の識別子である送信元の通信装置識別子１５８を含む送信指示を受け、受け取った送信指示を送信受付部１６１に送る。
【０５２４】
各通信装置１５６のアドレス１６３は、通信装置１５６を一意に識別する。制御部１６０は、このアドレス１６３で通信装置１５６を指定し、通信装置識別子１５８や受信可能識別子１５９を含むデータを設定する。図外のコンピュータあるいは知識ベースシステムは、通信装置識別子１５８、受信可能識別子１５９、通信装置１５６のアドレス１６３を含むデータを制御部１６０に送り、アドレス１６３で指定された通信装置１５６に、通信装置識別子１５８、受信可能識別子１５９を含むデータを設定する。通信装置識別子１５８は、ネットワーク１５１内で通信装置１５６を識別し、通信装置１５６のアドレス１６３はネットワーク１５１外から通信装置１５６を識別するために用いられる。
【０５２５】
図外の装置から表の検索を行う場合、図外の装置から制御部１６０装置に送信元の通信装置識別子１５８を含む送信指示を送る。ネットワーク１５１は前述の処理を行う。送信指示に含まれる送信元の通信装置識別子１５８で識別される通信装置１５６とつながる他の通信装置１５６の通信装置識別子１５８受け取ると、制御部１６０は、つながっている他の通信装置１５６の通信装置識別子１５８を含むデータを図外の装置に送る。
【０５２６】
このようなネットワーク１５１を使って実施すると、各通信装置１５６での検索処理が並列に行え、かつ、個々の通信装置１５６の検索処理がハードウエアで行われるので、非常に高速に表の検索が行える。そのため、処理速度が飛躍的に速くなる。素早い応答が要求される分野でも利用できる。
【０５２７】
本ネットワークの通信装置１５６は、仕組が単純であり、集積回路として容易に実施できる。１つの集積回路に複数の通信装置１５６を組み込むことも容易である。複数の通信装置１５６を持つ集積回路を並列に複数個つないでネットワークを生成すると、大きな表を作成できる。大容量の知識情報を蓄積し、高速に処理できる知識ベースシステムが構築できる。データベースを使うと、データベースの性能を維持するための保守作業を定期的に行う必要があるが、このネットワーク１５１ではその必要がない。
【０５２８】
図７に示される演算装置２と、図５５のネットワーク１５１は、制御部１６０でつながり、演算装置２から図５５の制御部１６０に対して指示やデータが渡される。また、演算装置２は制御部１６０からデータを受け取る。
【０５２９】
例えば、演算装置２から制御部１６０にアドレス１６３と通信装置識別子１５８や受信可能識別子１５９を含むデータと共に設定指示が渡されると、制御部１６０は、そのアドレス１６３の通信装置１５６に、受け取った通信装置識別子１５８や受信可能識別子１５９を含むデータを設定する。
【０５３０】
また、演算装置２から制御部１６０に送信指示と送信元の通信装置識別子１５８とを渡すと、制御部１６０は、送信指示と送信元の通信装置識別子１５８とを送信受付部１６１に送る。送信受付部１６１は、送信装置１５２の送信部１５３に送信指示と送信元の通信装置識別子１５８とを送る。送信部１５３は、通信路１５５に送信元の通信装置識別子１５８を送信する。通信装置１５６は、通信路１５５から送信元の通信装置識別子１５８を受け取ると、受信した送信元の通信装置識別子１５８と受信可能識別子１５９とを比較する。一致すれば、その通信装置１５６の通信装置識別子１５８を制御部１６０に渡す。受信可能識別子１５９と直接対応づけられたデータがその通信装置１５６内に設定されている場合は、その通信装置１５６の通信装置識別子１５８と、その受信可能識別子１５９と直接対応づけられたデータとが、制御部１６０に渡される。
【０５３１】
制御部１６０は、渡された通信装置識別子１５８を含むデータを演算装置２に渡す。
【０５３２】
あるいは、通信装置１５６は、その通信装置１５６の通信装置識別子１５８を含むデータと受信した送信元の通信装置識別子１５８とを制御部１６０に渡す。制御部１６０は、通信装置１５６の通信装置識別子１５８を含むデータと送信元の通信装置識別子１５８との組を演算装置２に渡してもよい。
【０５３３】
通信装置識別子１５８は、物、属性、特徴データまたは識別データの識別子である。つまり、１つの通信装置１５６は、１つの物、属性、特徴データまたは識別データである。だだし、特徴データの実際のデータは、特徴データの識別子と共に、図５５のネットワーク１５１以外のデータ１０に格納され、特徴データの識別子によって参照される。識別データの実際のデータも識別データの識別子と共に図５５のネットワーク１５１以外のデータ１０に格納され、識別データの識別子によって参照される。
【０５３４】
受信可能識別子１５９は、たとえばその通信装置１５６である１つの物につながっている他の物、他の属性、他の特徴データまたは他の識別データの識別子である。通信装置１５６は、物、属性、特徴データまたは識別データを表わしている。つまり、このネットワーク１５１は、物、属性、特徴データ、識別データのつながりを表わしている。通信装置１５６に設定されるデータは、リレーショナルデータベース１４の表などとして保持されている。
【０５３５】
物、属性、特徴データ、識別データを対応づけてつながりを表わす表を、分解した表の説明をする。
【０５３６】
つながりを表わす表について、対応づけられた一方の列を選択し、選択された列の１つの識別子を選び、その識別子とつながり対応づけられる他方の列の識別子を抜き出す。１つの識別子と抜き出されたいくつかの識別子だけを対応づける表を新たに作成する。その列の識別子についてこの処理を繰り返す。つながりを表わす表の各行に、さらに、つながりの程度を表わす重みなどの付属情報が対応づけられている場合、対応づけられた他方の列の識別子に付属情報をさらに対応づけて表を作成してもよい。付属情報は重みに限定されない。
【０５３７】
次に、他方の列である後者の列を選択し、選択された列の１つの識別子を選び、その識別子とつながり対応づけられる一方の列である前者の列の識別子を抜き出す。１つの識別子と抜き出されたいくつかの識別子だけを対応づける表を新たに作成する。その列の識別子についてこの処理を繰り返す。つながりを表わす表の各行に、さらに、つながりの程度を表わす重みなどの付属情報が対応づけられている場合、対応づけられた前者の列の識別子に付属情報をさらに対応づけて表を作成してもよい。付属情報は重みに限定されない。
【０５３８】
新たに作成された１つの表が１つの物、属性、特徴データ、識別データに相当する。この表は、たとえば、１つの物識別子と、その１つの物につながる他の物、属性、特徴データまたは識別データの識別子を対応づける。したがって、その１つの物、属性、特徴データまたは識別データの識別子と、物、属性、特徴データまたは識別データの識別子を保持する列数が１の表の組み合わせとしてもよい。つながっている他の物、属性、特徴データまたは識別データを表わす識別子の数は、０個以上で、１個に限定されない。
【０５３９】
図５６の特徴データと属性とを対応づける表は、図５７の１つの特徴データといくつかの属性とを対応づける表と、図５８の１つの属性といくつかの特徴データとを対応づける表とに分解できる。表には、属性の代わりに属性識別子、特徴データの代わりに特徴データの識別子が格納されている。
【０５４０】
図５６の特徴データと属性とを対応づける表の一方の列である特徴データの識別子の列から１つの特徴データの識別子（１０００１）を取得する。他方の列である属性識別子の列から、特徴データの識別子（１０００１）と対応づけられた属性識別子（１４）を抜き出し取得する。取得された１つの特徴データの識別子（１０００１）と、抜き出され取得された属性識別子（１４）だけを対応づけた表を生成する。これが、図５７の表である。図５６の表の各行に重みなどの付属情報があり各行に対応づけられている場合は、特徴データの識別子（１０００１）と対応づけられた属性識別子（１４）とに、さらにその付属情報を対応づけて図５７の表を作成してもよい。図５６の特徴データと属性を対応づける表の一方の列である特徴データの識別子の列のすべての特徴データの識別子について上記処理を繰り返す。
【０５４１】
図５６の特徴データと属性とを対応づける表の属性識別子の列から１つの属性識別子（１４）を取得する。特徴データの識別子の列から、属性識別子（１４）と対応づけられた特徴データの識別子（１０００１）を抜き出し取得する。さらに、属性識別子（１４）と対応づけられた特徴データの識別子（４５０００）を抜き出し取得する。取得された１つの属性識別子（１４）と、抜き出され取得された特徴データの識別子（１０００１、４５０００）だけを対応づけた表を生成する。これが、図５８の表である。図５６の表の各行に重みなどの付属情報があり各行に対応づけられている場合は、属性識別子（１４）と対応づけられた特徴データの識別子（１０００１）に、さらにその付属情報を対応づけて図５８の表を作成してもよい。図５６の特徴データと属性を対応づける表の後者の属性の列のすべての属性識別子について上記処理を繰り返す。
【０５４２】
このようにすると、図５６の特徴データと属性とを対応づける１つの表は、１つの特徴データと、その１つの特徴データと直接対応づけられたいくつかの属性とを表わす表と、１つの属性と、その１つの属性と直接対応づけられたいくつかの特徴データとを表わす表とに分解される。これらの分解された１つの表を１つの通信装置１５６に割り当てる。前者の表の場合は、１つの特徴データの識別子が通信装置識別子１５８に設定され、いくつかの属性識別子が受信可能識別子１５９として設定される。図５５には描かれていないが、属性識別子に付属情報が直接対応づけられている場合は、付属情報は属性識別子、つまり受信可能識別子１５９に直接対応づけられて通信装置１５６内に設定される。受信可能識別子１５９の表が１列の表ではなく複数列の表になって、対応づけられた属性識別子と同じ行に付属情報が設定される。
【０５４３】
データ１０には、未使用の物識別子、未使用の属性識別子、未使用の特徴データの識別子、未使用の識別データの識別子を保持する未使用識別子一覧がある。たとえば図１９の物と属性とを対応づける表で使われている物識別子や属性識別子は、未使用識別子一覧から取得されたものである。特徴データの識別子も識別データの識別子も未使用識別子一覧から取得されたものである。
【０５４４】
１つのネットワーク１５１内では、通信装置１５６と通信装置のアドレス１６３は、あらかじめ１対１に対応付けられ、１つの通信装置のアドレス１６３で通信装置１５６を１つだけ指定できる。データ１０には、未使用の通信装置のアドレス１６３を保持する未使用通信装置一覧がある。また、データ１０には、通信装置のアドレス１６３と、物識別子、属性識別子、特徴データの識別子または識別データの識別子とを対応づけたアドレス識別子対応表がある。
【０５４５】
演算装置２が制御部１６０に設定指示や送信指示を渡す場合、アドレス識別子対応表を使って、物、属性、特徴データまたは識別データの識別子から通信装置のアドレス１６３を取得し、取得されたアドレス１６３を含むデータと指示を制御部１６０に渡す。物、属性、特徴データまたは識別データが生成されるとき、未使用識別子一覧から識別子が取得され、未使用通信装置一覧から通信装置のアドレス１６３が取得され、取得された識別子とアドレス１６３の対がアドレス識別子対応表に格納される。
【０５４６】
ネットワーク１５１内では、１つの通信装置１５６が１つの物、１つの属性、１つの特徴データまたは１つの識別データに相当する。なお、音声や映像などから抽出された特徴である特徴データまたは識別データの実際のデータは、図５５のネットワーク１５１以外のデータ１０に保持されている。演算装置２は、ネットワーク１５１の制御部１６０にアドレス１６３とそのアドレス１６３で特定される通信装置１５６に設定する通信装置識別子１５８と受信可能識別子１５９とを含むデータを渡し、そのアドレス１６３で特定される通信装置１５６に通信装置識別子１５８と受信可能識別子１５９とを含むデータを設定するように指示を出す。指示を受けた制御部１６０は、受け取ったデータと指示にしたがって、そのアドレス１６３で特定される通信装置１５６に通信装置識別子１５８と受信可能識別子１５９とを含むデータを設定する。そして、その通信装置のアドレス１６３と通信装置識別子１５８に使われた識別子が対応付けられ、アドレス識別子対応表に格納される。
【０５４７】
図５６の特徴データと属性とを対応づける表は、図５７の１つの特徴データといくつかの属性とを対応づける表と、図５８の１つの属性といくつかの特徴データを対応づける表に分解できる。表には、属性の代わりに属性識別子、特徴データの代わりに特徴データの識別子が格納されている。
【０５４８】
図５７を例に説明する。図５７の最初の表について説明する。未使用通信装置一覧から未使用のアドレス１６３を１つ取得する。取得されたアドレス１６３と図５７の最初の表の特徴データの識別子（１０００１）との組をアドレス識別子対応表に格納する。これで、アドレス１６３と特徴データの識別子とが対応づけられた。すでに、アドレス１６３と特徴データの識別子（１０００１）とが対応づけられている場合は、アドレス識別子対応表から特徴データの識別子（１０００１）に対応づけられたアドレス１６３を取得する。
【０５４９】
演算装置２は、取得されたアドレス１６３と通信装置識別子１５８としての特徴データの識別子（１０００１）と、受信可能識別子１５９としての属性識別子（１４）と、付属情報である重み（１）と、設定指示とを制御部１６０に渡す。制御部１６０は、渡されたアドレス１６３で特定される通信装置１５６に対して、通信装置識別子１５８として受け取った特徴データの識別子（１０００１）を設定し、受信可能識別子１５９として受け取った属性識別子（１４）を設定し、属性識別子（１４）の付属データとして重み（１）を設定する。図５７のすべての表について同じように設定を繰り返す。図５８の表も同じようにする。
【０５５０】
図５６の表のデータと図５７の表のデータをすべて設定すると、図５６の特徴データと属性とを対応付ける表が、図５５のネットワークに格納されたことになる。１つの選択ネットワークが、図５６のような、識別子を対応づけつながりを表わしている、１つの表になる。
【０５５１】
たとえば、演算装置２が、制御部１６０に送信元の識別子として属性識別子（１４）と送信指示とを渡すと、制御部１６０は、受け取った送信元識別子と送信指示とを送信受付部１６１に渡す。送信受付部１６１は、受け取った送信元識別子と送信指示とを送信装置１５２の送信部１５３に渡す。送信部１５３は、受け取った送信指示にしたがって、受け取った送信元識別子（１４）を通信路１５５に送信する。
【０５５２】
図５７の一番上の表の特徴データの識別子（１０００１）が通信装置識別子１５８に設定され、同じ表の属性識別子（１４）が受信可能識別子１５９に設定された通信装置１５６の受信部１５７が、送信元識別子（１４）を通信路１５５から受け取る。すると、検索部１６２は、受け取った送信元識別子（１４）が、受信可能識別子１５９のどれかと一致するかを調べる。この場合、受け取った送信元識別子（１４）が、設定された受信可能識別子１５９の１つと一致する。その通信装置１５６の通信装置識別子１５８である特徴データの識別子（１０００１）と付属データである重み（１）とが通信装置１５６から制御部１６０に渡される。
【０５５３】
図５７の上から２番目の表の特徴データの識別子（４５０００）が通信装置識別子に設定され、同じ表の属性識別子（１４）が受信可能識別子に設定された別の通信装置１５６の受信部１５７が、通信路１５５から送信元識別子（１４）を受け取る。すると、検索部１６２は、受け取った送信元識別子（１４）が、受信可能識別子１５９のどれかと一致するかを調べる。この場合、受け取った送信元識別子(１４)が、設定された受信可能識別子１５９の１つと一致する。この通信装置１５６は、その通信装置１５６の通信装置識別子である特徴データの識別子（４５０００）と付属データである重み（２）とを制御部１６０に渡す。
【０５５４】
演算装置２は、通信装置１５６から制御部１６０に渡されたデータである特徴データの識別子（１０００１）と付属データである重み（１）との組と、特徴データの識別子（４５０００）と付属データである重み（２）との組を受け取る。特徴データ（１０００１）と特徴データ（４５０００）とが、属性識別子（１４）につながり対応づけられていることが判る。さらに、つながりの強さをあらわす重みも特徴データの付属情報として取得できる。
【０５５５】
上記の処理は、図５６の表を、リレーショナルデータベース１４を使い、属性識別子（１４）を検索キーにして検索したことと同じである。
【０５５６】
通信装置１５６に受信可能識別子１５９の付属データが設定されていない場合、通信装置１５６は、付属データを制御部１６０に渡さないようにしてもよいし、付属情報がないことを表わす特別なデータ、たとえばＮＵＬＬを制御部１６０に渡してもよい。
【０５５７】
プログラムは、処理手順をプログラムという情報で表わしたものである。これを、ハードウエア化することは可能である。従って、本願技術のプログラムをハードウエアで実施することも可能である。本技術のプログラムをハードウエアで実施した電子装置、集積回路またはプロセッサとして実施することにより、本技術をさまざまな機器に組み込むことができ、かつ、高速に処理できるようになる。もちろん情報システムとして実施できる。
【０５５８】
以上、図面を参照してこの発明の実施形態を説明したが、この発明は、図示した実施形態のものに限定されない。図示した実施形態に対して、この発明と同一の範囲内において、あるいは均等の範囲内において、種々の修正や変形を加えることが可能である。
【産業上の利用可能性】
【０５５９】
本発明は、知識ベースシステムに有利に利用される。
【符号の説明】
【０５６０】
１  入力装置
２  演算装置
３，１５６  通信装置
４，１５１  ネットワーク
５  外部記憶装置
６  主記憶装置
７  補助記憶装置
８  出力装置
９，１１  プログラム
１０，１２  データ
１３  知識ベースプログラム
１４  リレーショナルデータベース
６０，８０  ノード
６１，１１８  属性
６２，７２  物と物をつなぐ矢印
６３  物と属性をつなぐ矢印
７０  物である神経細胞
７１  属性である神経細胞
８１，８８  物識別子  
８２  順方向ポインタ
８３  逆方向ポインタ
８４  知識ネットワーク情報
８５，１０２  知識ネットワーク識別子
８６  物の名前と物識別子との対応表
８７  物の名前  
１００  重み
１０１  知識ネットワークと属性との対応表
１０３  属性識別子
１１０  感覚器官
１１１  物の領域
１１２  記憶領域
１１４，１０２０  特徴抽出部
１１５  属性領域
１１９  特徴データ
１２０  物
１２１  三角形
１２２  点
１２３  線
１２４  面
１２６  目
１２７  鼻
１２８  口
１２９  駒を置く場所
１５２  送信装置
１５３  送信部
１５５  通信路
１５７  受信部
１５８  通信装置識別子
１５９  受信可能識別子
１６０  制御部
１６１  送信受付部
１６２  検索部
１６３  アドレス
１６４  識別データ
１６５，１６６，１６７，１６８  知識の集まり
１６９，１７０，１７１  知識ネットワーク
１０００  知識ベースシステム
１０１０  データ入力部
１０２０  特徴抽出部
１０３０  データ比較部
１０４０  データ格納部
１０５０  学習部
１０６０  検索部
１０７０  演算部
１０８０  出力部
【図１】
2010134319.tif 000003
【図２Ａ】
2010134319.tif 000004
【図２Ｂ】
2010134319.tif 000005
【図３】
2010134319.tif 000006
【図４】
2010134319.tif 000007
【図５】
2010134319.tif 000008
【図６】
2010134319.tif 000009
【図７】
2010134319.tif 000010
【図８】
2010134319.tif 000011
【図９】
2010134319.tif 000012
【図１０】
2010134319.tif 000013
【図１１】
2010134319.tif 000014
【図１２】
2010134319.tif 000015
【図１３】
2010134319.tif 000016
【図１４】
2010134319.tif 000017
【図１５】
2010134319.tif 000018
【図１６】
2010134319.tif 000019
【図１７Ａ】
2010134319.tif 000020
【図１７Ｂ】
2010134319.tif 000021
【図１８】
2010134319.tif 000022
【図１９】
2010134319.tif 000023
【図２０Ａ】
2010134319.tif 000024
【図２０Ｂ】
2010134319.tif 000025
【図２１】
2010134319.tif 000026
【図２２】
2010134319.tif 000027
【図２３】
2010134319.tif 000028
【図２４】
2010134319.tif 000029
【図２５】
2010134319.tif 000030
【図２６】
2010134319.tif 000031
【図２７】
2010134319.tif 000032
【図２８Ａ】
2010134319.tif 000033
【図２８Ｂ】
2010134319.tif 000034
【図２８Ｃ】
2010134319.tif 000035
【図２９】
2010134319.tif 000036
【図３０】
2010134319.tif 000037
【図３１】
2010134319.tif 000038
【図３２】
2010134319.tif 000039
【図３３】
2010134319.tif 000040
【図３４】
2010134319.tif 000041
【図３５】
2010134319.tif 000042
【図３６】
2010134319.tif 000043
【図３７】
2010134319.tif 000044
【図３８】
2010134319.tif 000045
【図３９】
2010134319.tif 000046
【図４０】
2010134319.tif 000047
【図４１】
2010134319.tif 000048
【図４２】
2010134319.tif 000049
【図４３】
2010134319.tif 000050
【図４４】
2010134319.tif 000051
【図４５】
2010134319.tif 000052
【図４６】
2010134319.tif 000053
【図４７】
2010134319.tif 000054
【図４８】
2010134319.tif 000055
【図４９】
2010134319.tif 000056
【図５０】
2010134319.tif 000057
【図５１】
2010134319.tif 000058
【図５２】
2010134319.tif 000059
【図５３】
2010134319.tif 000060
【図５４】
2010134319.tif 000061
【図５５】
2010134319.tif 000062
【図５６】
2010134319.tif 000063
【図５７】
2010134319.tif 000064
【図５８】
2010134319.tif 000065
【手続補正書】
【提出日】平成22年10月13日(2010.10.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、知識ベースシステムに関するものである。
【背景技術】
【０００２】
単細胞物の生物でも外界からの刺激を受けると、ある刺激に対応して特定の反応を示すことがある。外界からの入力情報と内部の状態とに応じて、情報を出力し、一定の反応を示す。つまり、あらかじめ生命体に組み込まれ固定された情報処理の仕組みがあると考えることができる。このような情報処理を、本願では第１の情報処理と呼ぶ。
【０００３】
外界からの入力情報に対応する出力情報を調整し、最適な出力情報を見出し、調整情報を記憶する仕組みがあることも明らかになっている。これを、本願では第２の情報処理と呼ぶ。これは、ニューラルネットワークの１つの働きとして、広く知られている。
【０００４】
人間は、文字で書かれた言葉を用いて、更に精緻な情報処理を行っている。これを、本願では第３の情報処理と呼ぶ。
【０００５】
現在の人工知能の研究の多くは、第３の情報処理について研究を行っている。しかし、この方法で、人間が日常的に行っている情報処理をまねるシステムを構築できていない。文字で書き表された言葉を使うため、精密に情報を記述し、精密に記述された情報を論理演算することができる。しかし、精密であるがゆえに、情報を知識として蓄積する方法や、知識として記録された情報をうまく使う方法が開発できていない。
【０００６】
物は、言葉で表わすことができる。英語や日本語のような言語の中で、物は言葉、すなわち単語で表される。物には、定まった性質である属性がある。この属性も言葉で表わされる。言葉は、文字の集まりである文字列、すなわち単語で表わすことができる。したがって、物を表わす単語は属性を持ち、物もその属性も、文字で書き表された文字列、すなわち単語で表わすことができる。文字を使うと、情報を長時間保持し、記録できる。音声や身振りでなど文字以外の手段を言葉として、単語を表現することもできる。単語そのものが、その単語自身の意味を表わしていることが特徴である。
【０００７】
物には、石や太陽などのように具体的な物以外に、暖かさ、概念、映像、音、ＷＥＢページのような抽象的な物も含まれる。未知の物は、属性を持たないこともある。属性は、「赤い色をしている」、「甘い味がする」など、物の性質を表わす。
【０００８】
コンピュータなどの機械で、２つ文字列を比較し、２つの文字列が等しいかどうかを判定することができる。２つの文字列が同じかどうかを判定して、同じであれば真の値を、異なる場合は偽の値を生成することはできる。コンピュータは、文字で表わされた単語が同じかどうかを判定して、真偽値を生成することができる。
【０００９】
２つの単語を比較して、同じであれば真の値を、異なる場合は偽の値を生成することはできる。この方法によって、物や属性が同じか、異なっているかを判断することができる。単語に対応づけられた記号を用いても同様のことができる。単語に対応づけられた記号は、対応付けられた単語の意味を表わす。この場合の記号は、意味を表わす。記号を識別子と言い換えると次のように言える。単語に対応づけられ単語を表わす識別子は、対応付けられた単語の意味を表わす。したがって、単語に対応づけられ単語の意味を表わす識別子も、単語である。犬という単語とＡＢＣという識別子が対応付けられているとすると、ＡＢＣは犬の意味を表わす単語である。
【００１０】
文字の組み合わせだけでなく、音や図形などの組み合わせでも単語は生成できる。音や図形などの組み合わせで生成された単語を、文字で生成された単語に置きかえることができるので、記録の容易性を除いて、何で単語を生成するかは本質的なことではない。
【００１１】
昔、リレー式計算機というものがあった。リレーを使ってＡＮＤ、ＯＲ、ＮＯＴの３つの演算をする仕組みを実現していた。現在のコンピュータも部品がリレーから半導体に変わっているが、原理はリレー式計算機と同じである。
【００１２】
現在のコンピュータは、論理演算する手順を機械部品の組み合わせで保持するのではなく、論理演算する手順をプログラムと呼ばれる情報として保持している。プログラムと呼ばれる情報を変更することで、同じ装置で異なる論理演算を行うことができる。
【００１３】
コンピュータが直接実行できるプログラムは、「０」と「１」という２種類の値が組み合わされたものなので、人間がそのようなプログラムを作ることは大変であった。そこで、人間が理解できる英数字の組み合わせでできたプログラムを、コンピュータが直接扱える「０」と「１」とが組み合わされたプログラムに変換する方法が考案された。プログラムを使ってコンピュータにこの変換を行わせる。たとえば、ＣＯＢＯＬは、人間が理解できるプログラムである。ＣＯＢＯＬのようなものをプログラミング言語と呼ぶ。機械であるコンピュータが直接扱えるプログラムは、機械語と呼ぶ。コンパイラというプログラムは、プログラミング言語で作られたプログラムを機械語のプログラムへ変換してくれる。
【００１４】
物は、一般に、幾つかの属性を持っている。物を表わす１つの単語は、０個以上の属性を持っている。
【００１５】
ＰＲＯＬＯＧというプログラミング言語がある。この従来技術では、属性を表わすために、属性を表わす単語を用いている。このようなプログラミング言語を用いて人工知能を実現しようとする実験が行われたが、限界があった。
【００１６】
ＰＲＯＬＯＧというプログラミング言語で、「ソクラテスは人である。」を記述すると、（ｍａｎ  Ｓｏｃｒａｔｅｓ）になる。このように、“ｍａｎ”と“Ｓｏｃｒａｔｅｓ”という２つの単語を並べて、物の性質、すなわち物の属性を表現している。コンピュータの内部では、物と、性質である属性とを単語として保持している。“ｍａｎ”が“ｍａｎ”であることを判断する基準は、単語が同じかどうかである。単語そのものが意味を表わしている。単語は、並びの順によって物、属性、関係として解釈される。
【００１７】
「家康は信康の父である」をＰＲＯＬＯＧで記述すると、（Ｆａｔｈｅｒ  Ｉｅｙａｓｕ  Ｎｏｂｕｙａｓｕ）となる。これは、２つの物の関係を表現している。３つの単語を並べて２つの物の関係を表現している。最初の単語が関係を表わし、２番目と３番目の単語が物を表わす。この例では、２番目の単語が父を表わし、３番目の単語が子を表わす。（Ｆａｔｈｅｒ  Ｎｏｂｕｙａｓｕ  Ｉｅｙａｓｕ）のように、２番目の単語と３番目の単語の順番を変えると、「信康は家康の父である」という意味に変わる。関係によっては、２番目の物と３番目の物に意味の違いがあることがある。
【００１８】
コンピュータの内部では、関係と２つの物とを３つの単語の並びとして保持している。単語の並びの順番が異なると意味が変わる。単語の並びの順番に意味が含まれている。単語の数や並び順で意味を表わしている。この方法では、１つの物と他の物との２階層の関係を表わすことはできるが、子→父→祖父のような３階層以上の関係を直接的に表わすことはできない。
【００１９】
（Ｆａｔｈｅｒ  Ａ  Ｂ）、及び（Ｆａｔｈｅｒ  Ｂ  Ｃ）の２つの単語の並びがあったとする。２つの単語の並びには、Ｂという共通の単語がある。そこで、ＡはＣの父の父、つまり、ＡはＣの祖父であることが導かれる。直接的には、ＡとＣの関連は記述されていないが、共通する単語を仲立ちとして、間接的に表現された物同士の関係を知ることができる。
【００２０】
この技術で物と属性と関係とをデータベースとして保持できるが、物や属性や関係を表わす単語の並びを保持しているにすぎない。単語の並びで物の性質である属性を表現し、単語の並びで関連を表現している。属性も関係も、単語の並びという同じ方法で表現されている。情報を体系化したものを知識とすると、情報を現す単語を幾つか並べたものを複数個保持し、保持された単語の並びを知識としている。この方法では、３階層以上の物同士の関連を直接表わす情報は保持されていない。ある単語と他の単語とを付き合わせ、一致している単語を探すことにより、単語の並び同士を関連付ける。一致している単語を探すことによって、その都度、単語の並びで表わされた情報の関連を調べる。
【００２１】
再表２００５−１２２０１４号公報（特許文献１）では、次のような技術が開示されている。インターネット上のＷＥＢサーバに保管され、パソコンなどの上で動作するブラウザと呼ばれるソフトウエアで見ることできるＷＥＢページや、文書ファイルなどの情報をノードと呼び、ノードの集まりを空間と呼び、前記空間内のノードが持つ情報を評価する装置が開示されている。また、ノードに結びついた情報をプロパティと呼んでいる。プロパティ（属性）の実装については一切規定されておらず、プロパティの実装は、プログラムの実装者に全て任せられている。この技術は、物が属性を保持することは開示されていない。また、属性の評価方法について開示されていない。
【００２２】
英語や日本語などの言語内の単語をつないで構築された知識ベースがある。この従来技術の知識ベースでは、言語内の単語同士が直接つながっている。そして、従来技術の知識ベースは言語の中に含まれる。
【００２３】
グラフ構造を持つ確率モデルであるベイジアンネットワークを使って、推論を行う人工知能の分野がある。ある事象が発生したときに別の事象がある確率で発生すると考え、ある事象から他の事象が発生するという連鎖をグラフ構造で表現するものである。ある事象から他の事象が発生する確率が必ず保持される。ある事象を出発点として、あらかじめ保持されたグラフを辿ることにより、発生確率が一番高い事象を探すことができる。この処理によって推論ができるという考え方である。この方法では、物、属性、関係が区別されておらず、すべて事象として表現されている。事象は言語の中の単語で表わされ、事象同士が直接つながっている。そして、ベイジアンネットワークは言語の中に含まれる。
【先行技術文献】
【特許文献】
【００２４】
【特許文献１】再表２００５−１２２０１４号公報
【発明の概要】
【発明が解決しようとする課題】
【００２５】
従来技術では、文字を組み合わせて意味を持つ単語を生成する。単語は言語の中にあり、言語の中だけでその単語の意味を直接持つ。意味を直接持つ単語で物や、性質、特徴、意味、概念などの属性という情報を表わす。物を表わす単語と属性を表わす単語とから成る単語の並びを作り、単語の並びで物の性質や物と物との関係を表わす。複数の単語の並びを蓄積し、蓄積された単語の並びを知識としていた。この方法では、単語そのものの意味を持つ単語だけを使って知識を構築している。
【００２６】
本発明は、上記の課題に鑑みてなされたものであり、物や属性の意味内容を言語に依存せずに表現することのできる知識ベースシステムを提供することが目的とする。
【課題を解決するための手段】
【００２７】
本発明の一形態に係る知識ベースシステムは、知識ベースを記憶している記憶部と、前記記憶部に記憶された知識ベースに対して論理演算を行う演算部とを備え、前記知識ベースは、物を識別する物識別子と、前記物がもつ少なくとも一つの属性であって、当該物の物識別子と対応づけられた属性とを含む。前記属性は、当該属性を識別する属性識別子と、当該属性を表す少なくとも一つのデータであって、当該属性を識別する属性識別子に対応づけられた特徴データ、及び当該属性を表す言葉に対応付けられたデータであって、当該属性識別子に対応付けられた識別データのうちの少なくとも一方とを含む。前記物識別子は、物を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成される。前記属性識別子は、属性を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成される。
【００２８】
上記構成によれば、物および物が持つ属性を、物や属性の意味を表わさない識別子で表わし、保持し、さらに演算の対象とすることができる。なお、「物が指定される」とは、当該物を識別する物識別子が指定されることを指す。
【００２９】
また、前記特徴データは、当該特徴データに対応づけられた属性識別子が識別する属性の形、音、香、味、色、圧力、温度、長さ、座標値、及び面積の少なくとも一つを表すデータであってもよい。このように、各属性の概念（意味内容）は、属性識別子に関連付けられた特徴データによって定義される。
【００３０】
さらに、前記知識ベースシステムは、前記属性に関する情報を取得する入力部と、前記入力部で取得された情報から、前記特徴データ及び前記識別データの少なくとも一つを抽出する特徴抽出部と、前記特徴抽出部で抽出された前記特徴データ及び前記識別データの少なくとも一つを、前記属性を識別する属性識別子と対応づけて前記知識ベースに格納するデータ格納部とを備えてもよい。これにより、外部から取得した情報に基づいて、特徴データ及び識別データと属性識別子との新たな関係を知識ベースに格納することができる。
【００３１】
また、前記属性識別子は、主識別子と副識別子とを含んでもよい。そして、前記属性識別子は、前記主識別子と前記副識別子との組み合わせによって、前記属性を識別してもよい。例えば、主識別子で属性の基本的な性質を表わし、副識別子で程度や様子などのより詳しい性質を表わすことができる。
【００３２】
また、前記演算部は、少なくとも、一つの物が演算の対象として指定されると指定された当該物がもつ属性を対象として前記論理演算を行ってもよい。
【００３３】
一形態として、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応付けられている場合、同じ属性識別子を持ち、かつ、対応づけられた真偽値が共に真であるか又は共に偽である属性だけを集め、個々の属性に前記真偽値が対応付けられていない場合、同じ属性識別子を持つ属性だけを集めることで、新たな属性の集合を生成するＡＮＤ演算を行ってもよい。
【００３４】
他の形態として、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、少なくともいずれかの属性の集合に属する属性を集めることで、新たな属性の集合を生成するＯＲ演算を行ってもよい。
【００３５】
他の形態として、個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が１つ指定された場合において、当該属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した新たな属性の集合を生成するＮＯＴ演算を行ってもよい。
【００３６】
他の形態として、個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、同じ属性識別子を持ち、かつ、対応づけられた真偽値が共に真であるか又は共に偽である属性だけを集めることで、新たな属性の集合を生成し、生成した新たな属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した更に新たな属性の集合を生成するＮＡＮＤ演算を行ってもよい。
【００３７】
他の形態として、個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、少なくともいずれかの属性の集合に属する属性を集めることで、新たな属性の集合を生成し、生成した新たな属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した更に新たな属性の集合を生成するＮＯＲ演算を行ってもよい。
【００３８】
他の形態として、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が同じである属性の数を共通度として計数し、個々の前記属性に前記真偽値が対応づけられていない場合、いずれの属性の集合にも含まれる属性の数を共通度として計数してもよい。
【００３９】
他の形態として、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が異なる属性の数を非共通度として計数し、個々の属性に前記真偽値が対応づけられていない場合、いずれかの属性の集合にだけ含まれる属性の数を非共通度として計数してもよい。
【００４０】
他の形態として、前記属性識別子は、主識別子と副識別子とを含んでもよい。前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、主識別子が同じで、かつ、対応づけられた真偽値が同じである属性の数を類似度として計数し、個々の前記属性に前記真偽値が対応づけられていない場合、主識別子が同じである属性の数を類似度として計数してもよい。
【００４１】
他の形態として、前記属性識別子は、主識別子と副識別子とを含んでもよい。前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、主識別子が同じで、かつ、対応づけられた真偽値が異なる属性の数を非類似度として計数し、個々の前記属性に前記真偽値が対応づけられていない場合、いずれかの集合だけに含まれる属性の数を非類似度として計数してもよい。
【００４２】
他の形態として、個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、少なくともいずれかの属性の集合に属する属性から、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が異なる属性を除くことで、新たな属性の集合を生成するＯＲ演算を行ってもよい。
【００４３】
他の形態として、前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、いずれの属性の集合にも属する属性を除くことで、新たな属性の集合を生成するＸＯＲ演算を行ってもよい。
【００４４】
上記のように、本発明の一形態に係る知識ベースシステムは、指定された属性の集合を演算対象として、様々な演算処理を実行することができる。なお、「属性の集合」とは、典型的には、物識別子に対応付けられた０以上の属性識別子の集合を指すが、これに限定されない。また、「属性を集める」とは、条件に合致する属性識別子を集めることを指す。
【００４５】
また、前記演算部は、少なくとも一つの属性が指定されると、指定された属性に対応づけられた物識別子を集めることで、当該属性をもつ知識の集まりを生成してもよい。そして、物が指定されると、当該物の物識別子が前記知識の集まりに属するか否かを判断してもよい。
【００４６】
さらに、前記演算部は、生成した前記知識の集まりを識別する物識別子と、前記指定された少なくとも一つの属性を識別する属性識別子、及び抽象的な物であることを示す属性の属性識別子とを対応付けることで、抽象的な物を新たに生成してもよい。
【００４７】
このように、例えば、共通の属性を持つ物（共通の属性識別子が対応付けられている物識別子）を知識の集まりとして、予めグループ化しておけば、物（物識別子）が当該グループに属するか否かを簡単に判断することができる。
【００４８】
さらに、前記知識ベースは、物に対応づけられたノードのつながりである知識ネットワークを含んでもよい。前記ノードは、当該ノードに対応する物識別子と、当該ノードが属する知識ネットワークに関する情報である知識ネットワーク情報とを含んでもよい。そして、前記知識ネットワーク情報は、前記知識ネットワークを識別する知識ネットワーク識別子と、前記知識ネットワークにおける当該ノードとつながる他のノードへのポインタとを含んでもよい。これにより、物と物との関係を定義することができるので、知識ベース内で知識を体系的に保持することができる。
【００４９】
例えば、前記演算部は、指定された知識ネットワーク識別子で識別された知識ネットワークにおいて、当該知識ネットワークを構成するノードに含まれる物識別子と知識ネットワーク情報とを参照することで、指定された物とつながっている他の物を特定してもよい。さらに、前記演算部は、属性識別子が指定されると、当該属性識別子に対応づけられた知識ネットワークを検索し、検索された知識ネットワークの知識ネットワーク識別子を取得してもよい。これにより、１つの物を出発点として、当該物に関連のある可能性がある他の物に到達することができる。この処理は、「推論」に対応付けられる。
【００５０】
前記演算部は、さらに、前記知識ネットワークを識別する物識別子と、前記知識ネットワークに対応付けられた少なくとも１つの属性識別子、及び抽象的な物であることを示す属性の属性識別子とを対応付けることで、抽象的な物を新たに生成してもよい。
【００５１】
本発明の一形態に係る論理演算方法は、上記記載の知識ベースシステムが備える知識ベースに対して、少なくとも上記記載の演算部による処理を行うステップを含む。
【００５２】
本発明の一形態に係るプログラムは、知識ベースシステムのためのプログラムであって、上記記載の論理演算方法に含まれるステップをコンピュータに実行させる。
【００５３】
本発明の一形態に係る記録媒体は、知識ベースシステムのためのコンピュータ読み取り可能な記録媒体であって、上記記載の知識ベースと、上記記載のプログラムとが記録されている。
【００５４】
なお、本発明は、知識ベースシステムとして実現できるだけでなく、知識ベースシステムの機能をコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【発明の効果】
【００５５】
本願技術を用いることにより、物および物が持つ属性を、物や属性の意味を表わさない識別子で表わし、保持できる。
【図面の簡単な説明】
【００５６】
【図１】図１は、従来の知識ベースと本発明の一実施形態に係る知識ベースとを対比説明するための図である。
【図２Ａ】図２Ａは、属性と特徴データとの関係を表す第１階層の図形を示す図である。
【図２Ｂ】図２Ｂは、属性と識別データとの関係を表す第１階層の図形を示す図である。
【図３】図３は、物と属性との関係を表す第２階層の図形を示す図である。
【図４】図４は、物と物との関係を表す第３階層の図形を示す図である。
【図５】図５は、第１〜３階層を統合した図形を示す図である。
【図６】図６は、一実施形態に係る知識ベースシステムの概念図である。
【図７】図７は、一実施形態に係るコンピュータシステムのブロック図である。
【図８】図８は、一実施形態に係る知識ベースシステムの機能ブロック図である。
【図９】図９は、一実施形態に係る属性識別子と特徴データとの対応表を示す図である。
【図１０】図１０は、一実施形態に係る物識別子と属性識別子との対応表を示す図である。
【図１１】図１１は、２次元の直交座標を示した図である。
【図１２】図１２は、直角より小さい角度で交わった３次元の座標を示した図である。
【図１３】図１３は、座標軸で属性を表わした例を示した図である。
【図１４】図１４は、ファジィ集合の例を示す図である。
【図１５】図１５は、物の関連を示す図である。
【図１６】図１６は、知識ネットワークと属性との関係を示す図である。
【図１７Ａ】図１７Ａは、属性の元になるデータ一覧を示す図である。
【図１７Ｂ】図１７Ｂは、物の名前と物識別子との対応表を示す図である。
【図１８】図１８は、属性と属性識別子との対応表を示す図である。
【図１９】図１９は、物と属性との一覧表を示す図である。
【図２０Ａ】図２０Ａは、物と主属性と副属性との対応表を示す図である。
【図２０Ｂ】図２０Ｂは、主属性と副属性との対応表を示す図である。
【図２１】図２１は、ＡＮＤ演算の流れ図を示す図である。
【図２２】図２２は、ＯＲ演算の流れ図を示す図である。
【図２３】図２３は、ＮＯＴ演算の流れ図を示す図である。
【図２４】図２４は、ＮＡＮＤ演算の流れ図を示す図である。
【図２５】図２５は、ＸＯＲ演算の流れ図を示す図である。
【図２６】図２６は、共通度を算出する処理の流れ図を示す図である。
【図２７】図２７は、非共通度を算出する処理の流れ図を示す図である。
【図２８Ａ】図２８Ａは、物の名前と物識別子との対応表を示す図である。
【図２８Ｂ】図２８Ｂは、知識ネットワークと属性との対応表を示す図である。
【図２８Ｃ】図２８Ｃは、知識ネットワークのデータ構造を示す図である。
【図２９】図２９は、ノードのデータ構造を示す図である。
【図３０】図３０は、属性の階層情報を示す図である。
【図３１】図３１は、知識の集まりを検索する処理の流れ図である。
【図３２】図３２は、知識ネットワークを辿る処理の流れ図である。
【図３３】図３３は、知識ベースにおけるデータ構造の例を示す図である。
【図３４】図３４は、知識ベースにおけるデータ構造の例を示す図である。
【図３５】図３５は、知識ベースにおけるデータ構造の例を示す図である。
【図３６】図３６は、知識ベースにおけるデータ構造の例を示す図である。
【図３７】図３７は、知識ベースにおける知識の集まりを説明する図である。
【図３８】図３８は、知識ベースにおける知識の集まりを説明する図である。
【図３９】図３９は、知識ベースにおける知識ネットワークを説明する図である。
【図４０】図４０は、知識ベースにおける知識ネットワークを説明する図である。
【図４１】図４１は、知識ベースにおける知識ネットワークを説明する図である。
【図４２】図４２は、知識ネットワークの例を示す図である。
【図４３】図４３は、物と属性と特徴データとの関係を示す図である。
【図４４】図４４は、知識ネットワークの例を示す図である。
【図４５】図４５は、知識ネットワークの例を示す図である。
【図４６】図４６は、三角形を示す図である。
【図４７】図４７は、３個の点で三角形を表した知識ネットワークを示す図である。
【図４８】図４８は、３個の点と３個の線で三角形を表わした知識ネットワークを示す図である。
【図４９】図４９は、３個の線で三角形を表わした知識ネットワークを示す図である。
【図５０】図５０は、三角錐を示す図である。
【図５１】図５１は、三角錐を表わした知識ネットワークを示す図である。
【図５２】図５２は、目、鼻、及び口を模式化した図である。
【図５３】図５３は、目、鼻、及び口の間の距離を表わした知識ネットワークを示す図である。
【図５４】図５４は、将棋盤を表わした知識ネットワークを示す図である。
【図５５】図５５は、ネットワークによる対応表の実装の例を示す図である。
【図５６】図５６は、特徴データと属性との対応表を示す図である。
【図５７】図５７は、１つの特徴データと属性との対応表を示す図である。
【図５８】図５８は、１つの属性と特徴データとの対応表を示す図である。
【発明を実施するための形態】
【００５７】
以下に、本願技術の一実施形態の説明をする。以下の説明は、あくまでも一実施形態の説明であり、本願技術の範囲を制限するものではない。
【００５８】
図１の左側の図が、従来技術の知識ベースである。この図では、英語、日本語、中国語などの言語の中に従来技術の知識ベースが含まれる。従来技術の知識ベースは、言語の単語を保持しているので、言語と重なる部分が必ずある。従来技術の知識ベースは、言語との共通部分をなくし、言語の外側に生成することはできない。
【００５９】
また、現実の世界の中に犬や蛇などの対象物があり、現実の世界の中の対象物が言語の中の単語と直接つながっている。対象物は単語ではない。従来技術の知識ベースでは、言語内の単語で知識ベースが構成されている。従来技術の知識ベースは、言語の中に含まれる。図１では、単語「犬」は、データの源である現実の世界の対象物の犬に直接対応づけられている。
【００６０】
さらに、言語の中において、単語「犬」は対象物である犬を識別するだけでなく、対象物である犬の性質、特徴、意味あるいは概念を単語自身が直接含んでいる。「犬」という単語だけで、哺乳類、４本足など対象物である犬が持つ特徴、性質、意味あるいは概念がわかる。単語は、言語の中でだけで存在し、単語自身がその性質、特徴、意味あるいは概念を直接含んでいる。したがって、言語の中にある単語は、その単語だけでその単語の性質、特徴、意味あるいは概念を直接表わしている。現実の世界と言語とは、共通部分がない。そして、現実の世界の外に言語がある。対象物は、現実の世界の中だけにある。言葉や単語は、言語の中だけにある。言葉や単語は、対象物や対象物が持つ属性を直接識別する。さらに、言葉や単語は、その言葉や単語自身の意味を直接含んでいる。
【００６１】
図１の右側の図が、本願技術の一実施形態の知識ベースである。この知識ベースは、言語に含まれず、言語との共通部分もない。この知識ベースは言語の外にある。この知識ベースは、現実の世界の外にある。さらに、この知識ベースは、現実の世界と共通部分もない。この知識ベースでは、現実の世界の中の対象物その物から直接発せられた映像や音などの情報から生成された特徴データが、知識ベース内に格納され保持される。たとえば、単語ではない対象物の犬から直接発せられ、取得された犬の映像から生成された特徴データ（画像データ）が、知識ベースに格納され保持される。
【００６２】
言語内の単語が知識ベースシステムに入力されると、特徴抽出部によってその単語から識別データが生成され、知識ベースに格納され保持される。識別データは、単語ではない対象物から直接発せられた情報からは生成されず、言語内の単語から生成され発せられた情報から生成される。また、特徴データは、言語内の単語からは生成されず、対象物から直接発せられた情報から生成される。
【００６３】
現実の世界の中の対象物から直接発せられた映像や音などの情報から特徴データが生成され、知識ベースに格納される。対象物は単語ではない。また、知識ベース内に属性が生成され、格納された特徴データがその属性とつながる。さらに、知識ベース内に物が生成される。単語ではない対象物から直接発せられた情報を受け取り、受け取った情報から入力データが生成され、入力データから特徴データが生成され、生成された特徴データと属性がつながり、さらに、その属性と生成された物とがつながる。知識ベース内では、特徴データとつながる属性と、物とのつながりは、知識ベースシステムによって作られる。
【００６４】
この知識ベース内では、特徴データ同士は直接つながらない。同じ属性につながる特徴データ同士でも、各特徴データは、それぞれが一旦属性につながり、その属性を介して他の特徴データとつながっている。識別データも同様で、識別データ同士は直接つながらない。同じ属性につながる識別データ同士でも、各識別データは、それぞれが一旦属性につながり、そのつながっている属性を介して他の識別データとつながっている。特徴データと識別データも直接つながらない。同じ属性につながる特徴データと識別データでも、特徴データは、一旦属性につながり、そのつながっている属性を介して識別データとつながっている。
【００６５】
物、属性および特徴データについて、（１）物同士だけを直接つないだ図形、（２）物と属性とだけを直接つないだ図形、（３）属性と特徴データとだけを直接つないだ図形の３種類の図形を作る。この３つの図形を組み合わせて情報を体系化し、知識とする。物や属性そのものには意味はない。図２Ａの第１階層の図形で、属性は、特徴データに直接つながることにより、意味を持つ。意味は概念でもある。図３の第２階層の図形で、物は、属性と直接つながることにより、物の性質、特徴、意味または概念が定まる。図４の第３階層の図形で、物と物がつながることにより、物と物との関係が表わされる。
【００６６】
第１階層内において、属性と特徴データとは、物、他の属性、識別データ、および他の特徴データを介さずにつながっている。このような属性と特徴データとのつながり方を、属性と特徴データとが直接つながると記述する。第１階層内において、属性と識別データとは、物、他の属性、他の識別データ、および特徴データを介さずにつながっている。このような属性と識別データとのつながり方を、属性と識別データとが直接つながると記述する。同様に、第２階層内において、物と属性とは、他の物、他の属性、識別データ、および特徴データを介さずにつながる。このような物と属性とのつながり方を、物と属性とが直接つながると記述する。同様に、第３階層内において、物と物とは、他の物、属性、識別データ、および特徴データを介さずにつながっている。このような物と物とのつながり方を、物と物とが直接つながると記述する。さらに、物と識別データとが、他の物、属性、他の識別データ、および特徴データを介さずにつながることがある。このような物と識別データとのつながり方を、物と識別データとが直接つながると記述する。同様に、物と特徴データとが、他の物、属性、識別データ、および他の特徴データを介さずにつながることがある。このような物と特徴データとのつながり方を、物と特徴データとが直接つながると記述する。
【００６７】
また、図２Ｂの第１階層の図形で、属性は、識別データと直接つながることにより、その識別データで識別される。識別データだけが直接つながる属性が物につながっていると、識別データによって、識別データが直接つながる属性が取得でき、取得された属性に直接つながる物が取得できる。識別データによって、識別データに直接つながる属性とその属性に直接つながる物とが取得できるだけである。本願技術の一実施形態の知識ベースの外にある言語と、本願技術の一実施形態の知識ベース内の物及び属性とを対応づけるためだけに識別データは用いられる。
【００６８】
ここで、属性識別子と識別データとは、いずれも、属性の識別情報であり、かつ、コンピュータ（知識ベースシステム）による識別を支援する情報である点で共通する。しかしながら、属性識別子は属性に対応づけられる情報（データ）であり、識別データは言葉あるいは単語に対応づけられる情報（データ）である点で相違する。また、特徴データと識別データとは、属性の具体例（インスタンス）という点で共通する。しかしながら、特徴データは属性の実体であり、識別データはコンピュータ（知識ベースシステム）が属性を識別するためのデータである点で相違する。さらに、言葉および単語は、人間による識別を支援する情報（データ）である。言葉および単語の概念的な集まりが、「言語」あるいは「言語の世界」である。
【００６９】
この３つの図形を組み合わせて情報を体系化し、知識とする。物と属性とだけを直接つなぎ対応づけた図形が、図３に示される第２階層の図形である。この階層では、１つの物に対して０個以上の属性が直接対応づけられる。１つの物に直接対応づけられる属性の数は、１つに限定されない。この階層では、物同士はつながらない。物だけを直接つないで対応付けた図形が、図４に示される第３階層の図形である。この階層では、物と属性とはつながらない。この物同士だけのつながりは、直線、環状、木構造、ネットワーク構造など、さまざまなつながり方ができる。
【００７０】
属性と特徴データとだけを直接つなぎ対応付けた図形が、図２Ａに示される第１階層の図形である。属性そのものは、意味を直接持っていない。属性と特徴データとが直接つながることにより、属性が意味を持つ、あるいは属性の意味が生成される。属性と特徴データとが直接つながることにより、概念が生成されると解釈することもできる。たとえば、裏返しになったシャツの映像から生成された特徴データが属性に直接つながり、「裏返し」という意味あるいは概念が生成される。
【００７１】
１つの属性が、複数の特徴データと直接つながることがある。このようにすると複数の特徴データから１つの意味あるいは１つの概念を生成することができる。たとえば、ロマネスク様式を表わす属性は、ロマネスク様式の複数の建物の映像から生成された複数の特徴データが直接つながる。１つの属性に直接対応づけられる特徴データの数は、１つに限定されない。
【００７２】
１つの特徴データが複数の属性と直接つながることがある。１つの特徴データに直接対応づけられる属性は、１つに限定されない。このようにすると、１つの特徴データのさまざまな側面に対応する概念である属性をそれぞれ生成できる。たとえば、焚き火の映像の特徴データがある属性に直接つながり、焚き火の色という概念が生成される。また、焚き火の映像の特徴データが別の属性に直接つながり、焚き火の暖かさという概念が生成される。このように考えると、実物大の焚き火の映像を見て暖かさを感じることがあることを、説明できる。
【００７３】
物そのものは、意味を持っていない。物に直接つながり、対応づけられた属性によって物の性質、特徴、意味あるいは概念が定まる。
【００７４】
第１階層の上に第２階層がつながり、第２階層の上に第３階層がつながる。３つの階層がつながった図が、図５である。例えば、図５に示されるように、この３階層構造を人間の脳に対応させて考えると、１つの属性が１つの神経細胞に対応し、１つの物が１つの神経細胞に対応する。目、舌、鼻などの感覚器官から形、味、香などの、現実の世界の中の対象物である物から直接発せられた、情報を受け取る。脳内の特徴抽出部は、受け取った情報から特徴を抽出し、抽出された特徴を脳内の記憶領域に特徴データとして格納し、保持する。形、香、味などさまざまな特徴が特徴データとして保持される。脳内の属性領域の属性である神経細胞が特徴データとつながり、意味あるいは概念が生成される。属性が、脳内の物領域の物である神経細胞とつながることにより、物の性質、特徴、意味あるいは概念が定まる。
【００７５】
１つの特徴データが複数の概念を生成することがある。炎の映像の特徴データが知識ベース内にあるとする。この特徴データは、ある属性とつながり、炎の色という概念を生成する。また、同じ特徴データは、別の属性とつながり、暖かさという概念を生成する。暖炉で火が燃える絵を見ただけで暖かさを感じることがあるが、このように考えると説明できる。
【００７６】
１つの属性が複数の特徴データとつながってできた概念もある。酸味という特徴データとつながった属性があるとする。レモンの映像の特徴データがこの酸味の属性とつながり、酸味という概念を生成する。青いりんごの映像の特徴データと上述の酸味という属性とがつながることもある。レモンを見るだけで酸味を感じて唾液が出ることがあるが、このように考えると説明できる。このように、異なる複数の特徴データが、１つの同じ属性につながり、１つの概念を生成することがある。
【００７７】
前述の３階層構造は、単語から生成された識別データを使わずに知識を表現し、蓄積し、その知識を体系化することができる。言葉を持たない動物でも、この方法を使えば知識を体系的に保持し、推論などの知識処理ができる。
【００７８】
言葉が使えるならば、文字で表わされた単語の映像、又は音声で表わされた単語の音などから生成された識別データを保持し、その識別データと属性とをつなぎ、対応づけることもできる。識別データと直接つながった属性に特徴データが直接つながっていれば、識別データの元になった言語内の単語と、その属性につながった特徴データとが、その識別データとその属性を介して間接的に対応づけられる。識別データと直接つながった属性に特徴データが直接つながっておらず、その属性に直接つながる物があれば、その識別データの元になった言語内の単語と、その属性に直接つながった物とが、その識別データとその属性を介して間接的に対応づけられる。もちろん、識別データが直接１つの物につながることも可能である。
【００７９】
しかし、同じ単語の文字の映像から生成された識別データ、又は同じ単語の音声から生成された識別データを１つの同じ属性に直接つなぐことにより、１つの属性が複数の識別データを束ねて代表する方が便利である。音声から生成された識別データが直接つながる属性に、文字の映像から生成された識別データが直接つながっていれば、他の属性を取得することなく、文字の映像から生成された識別データをすぐに取得できる。音声から文字への変換がすばやく行える。たとえば、音声から生成された識別データが直接つながる属性を取得し、次に、その属性につながる文字の映像から生成された識別データを取得できる。
【００８０】
このように、識別データは、識別データの元になった言語内の単語と、知識ベース内の物や属性とを対応づける。しかし、映像や音声などで表わされた単語の識別データと、属性や物を対応づけているだけである。識別データは、性質、特徴、意味あるいは概念を直接表わす、あるいは、生成するものではなく、知識ベース内で属性や物を識別するだけである。
【００８１】
対象物そのものから直接発せられる情報を感覚器官を使って受け取り、受け取ったデータから抽出された特徴である特徴データが性質、特徴、意味あるいは概念の源である。単語から生成された識別データと物とを直接つなぐこともできる。
【００８２】
特徴データまたは識別データが直接物につながる場合は、それらによって物が直接識別される。ある特徴的な特徴データまたは識別データによって物を素早く識別したい場合に、特徴データあるいは識別データと物とを直接つなげばよい。この場合、物に直接つながる特徴データまたは識別データは１つに限られず、複数の特徴データまたは識別データが物に直接つながってもよい。物に直接つながる特徴データまたは識別データが、同時に属性に直接つながり、その特徴データが、意味や概念を生成することもできる。
【００８３】
部屋の中に人がいる映像から生成された特徴データがあるとする。この特徴データが属性とつながり、その属性がある物につながっているとする。また、その物が人という属性とつながっているとする。この属性は、たとえば人の映像から生成された特徴データとつながっている。
【００８４】
前述の特徴データと属性と物とのつながりは、「人が部屋の中にいる」ということを表わす。「人が宇宙の中にいる」という表現は、いまひとつ意味がはっきりしない。これは、「宇宙の中にいる」を表わす具体的な特徴データが無く、属性が１つの特徴データともつながっていないからだと考えることができる。「宇宙の中にいる」という概念が生成されていないからだと説明することもできる。もちろん、「人が部屋の中にいる」という特徴データと星空の映像とから生成された特徴データをその属性とつなぐことによって、「宇宙の中にいる」という概念を仮に生成することもできる。類推という思考方法が、これに相当する。
【００８５】
特徴データと属性とを指定し、指定された特徴データと属性とをつなぐように知識ベースシステム外から知識ベースシステムの学習部へ指示を出し、学習部に指定された特徴データと指定された属性とをつながせて学習を行わせることができる。
【００８６】
人間の脳は、内出血などにより脳の一部が働かなくなっても、脳の他の部位が働かなくなった部位の代わりに働くことがある。これは、働かなくなった神経細胞の代わりに、他の神経細胞を物につなぎ変えることにより、他の神経細胞が同じ役割を担うと考えると説明できる。
【００８７】
前述の３階層構造は、この脳の振る舞いを真似ることができる。物および属性が神経細胞に相当する。物および属性それ自体には意味がなく、物および属性は、物や属性の意味を持たない単なる識別子で識別されるだけである。別の物や属性につなぎかえても、つなぎかえる前と同じ対応付けをあらわすことができる。
【００８８】
単一の形式の識別子で、すべての物を識別することができる。単一の形式の識別子で、すべての属性を識別することができる。単一の形式の識別子で、すべての特徴データと識別データとを識別することができる。単一の形式の識別子で、すべての物とすべての属性とすべての特徴データと識別データとを識別することもできる。２種類の形式の識別子でも、３種類の形式の識別子でもかまわない。４種類以上の形式の識別子を使うことも可能であるが、仕組が複雑になるだけである。
【００８９】
２つ以上の神経細胞を１組にして、１つの属性や１つの物に対応させる方法もあり得る。１つの属性や１つの物に対応する複数の神経細胞のうち少なくとも１つにつながっていれば、全体として正常に動作する。
【００９０】
識別データと特徴データの両方を、１つの属性につなぐことができる。識別データだけとつながる属性と、特徴データだけとつながる属性の２種類の属性だけを作ることもできる。
【００９１】
識別データだけにつながる属性と特徴データにだけつながる属性とが、１つの物につながっているとする。たとえば、耳で聞いた単語の音声から生成された音声の識別データと一致する識別データが知識ベース内にあると、その一致する識別データと直接つながる属性を取得し、その属性に直接つながる物を取得する。さらに、その物に直接つながる他の属性を取得し、取得された属性に直接つながっている特徴データを取得すれば、その単語が表わす物の性質、特徴、意味あるいは概念を知ることができる。これは、連想に相当する働きである。また、１つの単語から識別データが生成され、生成された識別データが１つの属性に直接つながり、その属性をいくつかの異なる物に直接つなぐと、１つの識別データで異なる物を表わせる。これは多義語に相当する。
【００９２】
識別データと特徴データとが同じ属性に直接つながることも可能である。この場合、識別データに直接つながる属性を取得し、取得された属性に直接つながる特徴データを取得する。取得された特徴データは、その識別データの元になった単語が直接含む性質、特徴、意味または概念を表わす。
【００９３】
ひとつの単語から生成された識別データが複数の異なる属性に直接つながると、ひとつの単語から生成された識別データが、複数の意味あるいは概念に対応づけられる。これも多義語に相当する。識別データが物に直接つながっていると、識別データによって物を直接選択し、識別できる。属性を取得することなく物を取得できるので、より早く物を取得できる。
【００９４】
重要なことは、本願技術の一実施形態の知識ベースシステムを使うと、識別データなしで、知識を蓄積し、認識や推論などの知識処理ができるということである。
【００９５】
言葉を用いない動物は、外界から受けた入力情報を、文字や音声などの単語から生成された識別データを用いないで蓄積し、蓄積された情報をもとにして出力情報を生成する仕組みを持っていると想像される。これを、本願では第４の情報処理と呼ぶ。第４の情報処理は、第２の情報処理と第３の情報処理との間に位置づけられる。本願技術の一実施形態の知識ベースシステムは、第４の情報処理を行うことができる。
【００９６】
第２の情報処理と第３の情報処理との間に、大雑把ではあるが、第３の情報処理よりも少ない処理で、可能性のある結論を得ることのできる情報処理の仕組があると考えられる。本願では、これを第４の情報処理と呼ぶ。本願技術を使う一実施形態の知識ベースシステムでは、３階層構造で表現された知識を構築し、第４の情報処理が可能になる。
【００９７】
物と属性と識別データとだけから成る知識ベースを使って、知識を蓄積し、知識処理をすることもできる。この場合の知識ベースシステムは、性質、特徴、意味あるいは概念を含まない。物や属性は、識別データだけで識別され、特徴データに対する処理を行わないので、より速く処理ができ、処理の負荷も小さくできるという特徴がある。知識ベースが特徴データを含んでいても、物と属性と識別データとだけを使って推論などの知識処理を行うことは可能である。
【００９８】
例えば、東京の都心を餌場にするカラスは、深夜や早朝に出されたゴミ袋を破り、食べ物をあさっている。袋からゴミが散乱し、美観を損なっている。人間は、袋の色を変え中身を見えにくくしたり、袋にカラスの嫌がる成分を加えたりして対策を行っている。しかし、カラスは、人間が行った対策を乗り越えて袋の中のゴミをあさり続けている。カラスが学習をして人間と知恵比べをしているように見える。カラスの例で見られるような学習を、第３の情報処理で行っているとは考えにくい。第３の情報処理より簡便な方法で、学習を行っていると考えるのが自然である。本願では、これを第４の情報処理と呼ぶ。前述の３階層構造で表現された知識を構築すると、第４の情報処理が可能になる。
【００９９】
ここまで、第４の情報処理に関する仮説を説明してきた。次に、コンピュータシステムを使って、この仮説の情報処理を行う方法を説明する。
【０１００】
図面を参照しながら、コンピュータシステムを使った、本発明のより具体的な実施形態の一例を以下に説明する。
【０１０１】
図６は、本願技術の一実施形態である知識ベースシステム１０００である。図６に示されるように、入力装置として、カメラ、マイク、赤外線センサ等がコンピュ−タに接続されている。そして、図７に示されるコンピュータが、図６の知識ベースシステム１０００で使われている。
【０１０２】
図７は、コンピュータの概念図である。図７に示されるコンピュータは、入力装置１と、演算装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）２と、通信装置３と、外部記憶装置５と、主記憶装置６と、補助記憶装置７とを備える。
【０１０３】
演算装置２は、例えば、補助記憶装置７に指示を出し、補助記憶装置７に保存されているプログラム９と、プログラム９が使うデータ１０とを主記憶装置６に読み込む。また、演算装置２の指示で、主記憶装置６内のプログラムやデータを補助記憶装置７に保存する。演算装置２は、外部記憶装置５に指示を出し、外部記憶装置５内に保存されているデータ１２やプログラム１１を主記憶装置６に読み込む。また、演算装置２の指示で、主記憶装置６内のプログラムやデータを外部記憶装置５に保存する。
【０１０４】
入力装置１は、キーボード、マウス、画像を読み込むスキャナ、カメラ、マイク、温度センサ、圧力センサなどが含まれる。画像、音、温度などのアナログデータは、デジタルデータに変換される。出力装置８は、平面ディスプレイなどの表示装置、プリンタ、音を出力する装置（スピーカ）、リレー接点、機器を制御する装置などが含まれる。
【０１０５】
演算装置２は、通信装置３に指示を出し、ネットワーク４を介して、図外の他のコンピュータや図外の装置と通信をする。演算装置２は、補助記憶装置７のプログラム９又は外部記憶装置５のプログラム１１を主記憶装置６に読み込むと、読み込んだプログラム９、１１に記述された手順で処理を行う。プログラム９、１１には、演算のほか、入力装置１からの入力、出力装置８への出力、通信装置３を使った通信、主記憶装置６とのデータの読み書き、補助記憶装置７や外部記憶装置５とのデータの読み書きの処理手順が含まれる。
【０１０６】
知識ベースプログラム１３は、本願技術を使った論理演算や知識の集まりや知識ネットワークの処理を行うプログラムである。リレーショナルデータベース１４は、補助記憶装置７又は外部記憶装置５に表形式のデータ１０、１２を作成し、作成された表に対してデータを追加・検索・参照・更新・削除の処理を行う。知識ベースプログラム１３は、リレーショナルデータベース１４を利用して、表に対してデータを追加、検索、参照、更新、削除する。
【０１０７】
図８は、本発明の一実施形態に係る知識ベースシステム１０００の機能ブロック図である。図８に示される各機能ブロックは、例えば、図４に示される補助記憶装置７に知識ベースプログラム１３として記憶されている。補助記憶装置７のプログラム９内に知識ベースプログラム１３があり、その知識ベースプログラム１３内に、例えば、データ入力部１０１０、特徴抽出部１０２０、データ比較部１０３０、データ格納部１０４０、学習部１０５０、検索部１０６０、演算部１０７０、及び出力部１０８０として機能するプログラムがある。プログラム９が、主記憶装置６に読込まれ、演算装置２によって実行される。データ入力部１０１０及び出力部１０８０も主記憶装置６に読込まれ、演算装置２によって実行される。
【０１０８】
データ入力部１０１０は、以下のようにして自動的にカメラで映像データを取得し、マイクで音データを取得する。例えば、赤外線センサによって人や動物がカメラの前にいると判断されると、それがトリガとなってカメラで映像データを取得し、マイクで音データを取得する。また、人間がマウスクリックなどの操作をすることを起因として、カメラで映像データを取得し、マイクで音データを取得してもよい。
【０１０９】
特徴抽出部１０２０は、データ入力部１０１０に入力された入力データから、特徴データまたは識別データを生成する。
【０１１０】
データ比較部１０３０は、特徴抽出部１０２０で抽出された特徴データ（又は、識別データ）と、既にデータ１０（又は、データ１２。以下同じ。）に記憶されている特徴データ（又は、識別データ）とを比較する。
【０１１１】
データ格納部１０４０は、特徴抽出部１０２０で新たな特徴データ又は識別データが生成された場合に、当該新たな特徴データ又は識別データをデータ１０に格納する。また、データ格納部１０４０は、新たな属性の属性識別子を生成し、当該新たな特徴データ又は識別データと対応付けてデータ１０に格納する。さらに、データ格納部１０４０は、新たな物の物識別子を生成し、当該新たな属性の属性識別子と対応付けてデータ１０に格納する。
【０１１２】
なお、データ格納部１０４０は、実際には、新たな特徴データ又は識別データをデータ１０に格納するように、リレーショナルデータベース１４に依頼する。データ１０にアクセスする他の構成要素（検索部１０６０、演算部１０７０等）についても、リレーショナルデータベース１４に対して、データの追加、検索、参照、更新、削除等の処理を依頼し、処理結果をリレーショナルデータベース１４から取得する。しかしながら、以降の説明では、簡単のためにリレーショナルデータベース１４の処理に関する記述を省略する。
【０１１３】
以下に、外部から取得した入力データに基づいて、特徴データ又は識別データを新たにデータ１０に登録する際のデータ入力部１０１０、特徴抽出部１０２０、データ比較部１０３０、及びデータ格納部１０４０の動作を説明する。
【０１１４】
データ入力部１０１０は、対象物から直接発せられた映像データや音データなどの入力データを取得する。データ入力部１０１０によって取得された映像データ又は音データなどの入力データは、特徴抽出部１０２０で特徴が抽出され、特徴データまたは識別データになる。特徴データまたは識別データは、いくつかの処理を経たあと、データ１０にある知識ベースに格納される。
【０１１５】
具体的には、特徴抽出部１０２０は、データ入力部１０１０から取得した入力データから特徴データを抽出し、抽出した特徴データをデータ比較部１０３０に渡す。データ比較部１０３０は、すでにデータ１０に格納されている特徴データと渡された特徴データとを比較し、同じ特徴データがあるかどうかを調べる。
【０１１６】
同じ特徴データがない場合、データ格納部１０４０は、その特徴データを知識ベースに格納し、知識ベース内に属性を生成し、格納された特徴データと生成された属性とを直接つなぐ。さらに、データ格納部１０４０は、物を生成し、生成された物を生成された属性と直接つなぐ。また、同じ識別データがない場合、データ格納部１０４０は、生成された識別データを知識ベースに格納し、知識ベース内に属性を生成し、格納された識別データと生成された属性とを直接つなぐ。さらに、データ格納部１０４０は、物を生成し、生成された物を生成された属性と直接つなぐ。
【０１１７】
いくつかの特徴データが直接つながったひとつの属性は、つながったすべての特徴データを束ねて集約することにより、つながったすべての特徴データを代表し、性質、特徴、意味あるいは概念を表わしている。特徴データがひとつだけつながったひとつの属性も、その特徴データの性質、特徴、意味あるいは概念を代表し表わしている。属性につながる特徴データは、ひとつに限定されない。
【０１１８】
いくつかの識別データだけが直接つながったひとつの属性は、つながったすべての識別データを束ねて集約することにより、つながったすべての識別データを代表している。属性につながる識別データは、ひとつに限定されない。
【０１１９】
上記の処理を、コンピュータに実行させる場合の具体例を、図９及び図１０を参照して説明する。なお、図９は、属性識別子と特徴データとの対応表の例を示す図である。図１０は、物識別子と属性識別子との対応表の例を示す図である。
【０１２０】
図９に示される属性識別子と特徴データとの対応表には、属性識別子と特徴データの識別子（この例では、特徴データが格納されているメモリアドレス）とが対応付けて保持されている。つまり、本明細書中の「属性」とは、図９に示されるように、属性識別子と、当該属性識別子に対応付けられた特徴データとを含む。
【０１２１】
なお、属性識別子は、属性そのものを表す言葉ではなく、かつ、それ自体で意味を持たない記号（この例では、数字列）で構成される。また、特徴データは、当該属性の意味内容を表すデータであって、例えば、当該属性識別子が識別する属性の形、音、香、味、色、圧力、温度、長さ、座標値、及び面積の少なくとも一つを表すデータである。
【０１２２】
さらに、図示は省略するが、図９には、属性識別子と、当該属性識別子に対応付けられた識別データ（又は、その識別子）とを保持してもよい。識別データは、当該属性を表す言葉から生成されたデータである。
【０１２３】
また、図９を参照すれば明らかなように、１つの属性識別子には複数の特徴データ（又は、識別データ）が対応付けられることがあり、１つの特徴データ（又は、識別データ）は異なる属性識別子に対応付けられることがある。
【０１２４】
図１０に示される物識別子と属性識別子との対応表には、物識別子と属性識別子とが対応付けて保持されている。なお、物識別子は、物そのものを表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成される。つまり、本明細書中の「物」とは、物識別子と、当該物識別子に対応付けられた０以上の属性識別子の集合とで表される。
【０１２５】
まず、データ格納部１０４０は、特徴抽出部１０２０で抽出された新たな特徴データ（又は、識別データ。以下同じ。）をデータ１０に格納した後、新たな属性識別子を生成する。このとき、データ格納部１０４０は、図９に既に登録されている属性識別子と重複しないように、新たな属性識別子を生成する。そして、データ格納部１０４０は、新たに生成した属性識別子と、データ１０に格納した特徴データの識別子とを対応付けて、図９に示される属性識別子と特徴データとの対応表に登録する。
【０１２６】
次に、データ格納部１０４０は、新たな物識別子を生成する。このとき、データ格納部１０４０は、図１０に既に登録されている物識別子と重複しないように、新たな物識別子を生成する。そして、データ格納部１０４０は、当該物識別子と、上述の属性識別子とを対応付けて、図１０に示される物識別子と属性識別子との対応表に登録する。
【０１２７】
一例として、データ１０内に未使用の物識別子を保持しておき、当該未使用の物識別子の中から新たに使用する物識別子を取得するようにしてもよい。また、データ１０内に未使用の属性識別子を保持しておき、当該未使用の属性識別子の中から新たに使用する属性識別子を取得するようにしてもよい。さらに、データ１０内に未使用の特徴データの識別子や未使用の識別データの識別子を保持しておき、当該未使用の特徴データの識別子や未使用の識別データの識別子の中から新たに使用する特徴データの識別子や識別データの識別子を取得してもよい。属性識別子、物識別子、特徴データの識別子、及び識別データの識別子を、共通の同じ形式にすると仕組みが単純になる。
【０１２８】
学習部１０５０は、外部から取得した情報に基づいて、図９及び図１０に示される物識別子、属性識別子、及び特徴データの識別子（識別データの識別子）の関係を整理する。検索部１０６０は、データ比較部１０３０又は学習部１０５０の指示に従って、図９及び図１０に示される対応表を検索する。これらの具体的な処理内容は、後述する。
【０１２９】
演算部１０７０は、データ１０に記憶された知識ベースに対して論理演算を行う。より具体的には、少なくとも一つの物識別子が演算の対象として指定されると、当該物識別子に対応付けられた属性を対象として論理演算を行う。論理演算の具体例としては、例えば、ＡＮＤ演算、ＯＲ演算、ＮＯＴ演算、ＮＡＮＤ演算、ＮＯＲ演算、共通度の算出、非共通度の算出、類似度の算出、及び非類似度の算出が挙げられる。これらの具体的な処理内容は、後述する。
【０１３０】
出力部１０８０は、学習部１０５０の学習結果、及び演算部１０７０の演算結果等を、出力装置８に出力するデバイスドライバとして機能する。
【０１３１】
なお、以降の説明においては、「物」及び「属性」を処理対象として説明する。しかしながら、知識ベースシステム１０００における実際の処理では、当該物を識別する物識別子、及び当該属性を識別する属性識別子が処理対象となる。
【０１３２】
例えば、「物と属性とがつながる」とは、物識別子と属性識別子とを対応付けて、図１０に示される物識別子と属性識別子との対応表に登録することを指す。また、「属性につながっている物を取得する」とは、属性識別子に対応付けられた物識別子を取得することを示す。さらに、「物を生成する」とは、新たな物識別子を生成することを指す。上記の例は、一例であって、他の同様の記載についても同様に解釈するものとする。
【０１３３】
本実施形態では、ソフトウエアを使ったコンピュータシステムで実施する例を示した。プログラムという情報で記載された処理手順は、ハードウエアに置き換えることが可能である。したがって、本願技術を集積回路、プロセッサのような演算装置として実施するもとも可能である。
【０１３４】
第４の情報処理に関する前述の仮説を、コンピュータを使って実施する方法を説明する。以下の内容は本願技術の一実施形態である。
【０１３５】
第４の情報処理について、（１）知識の形式、（２）知識の演算、（３）知識の集まりと知識ネットワーク、（４）知識の集まりと知識ネットワークの利用方法の、４つの面から順に説明する。最初に知識の形式について説明する。
【０１３６】
従来技術である第３の情報処理では、話し言葉や文字で書き表された言葉、つまり単語の並びという形式で知識を表現する。現在の人間のような言葉を持っていない動物では、単語の並びという形式の知識を使えない。このような動物では第３の情報処理はできないと考えられる。
【０１３７】
第４の情報処理における（１）知識の形式について考える。知識ベースシステムは、知識を扱う情報システムなので、知識ベースシステムの情報の形式は、知識の形式でもある。第４の情報処理では、知識の基本単位を物とする。１つの物は１つの知識である。物は、石や山などの具体的な物だけではなく、寒さ、大きさ、ＷＥＢページ、音などのような抽象的な物も、物に含まれる。
【０１３８】
物は、あらかじめ定まった性質である属性を持つことができる。１つの物が持つ属性は、１つに限定されず、０個以上の属性を持つことができる。０個以上の属性の集まったものを属性の集合と呼ぶ。論理演算は、集合に対する演算という面がある。属性を論理演算する場合に、１つの物が持つ属性全体を１つの属性の集合と捉えると便利なことがある。１つの属性の集合は、０個以上の属性を持つ。物は、付属情報として属性を持つ。あるいは物は、付属情報として属性の集合を持つ。物が属性を持つとは、属性そのものを持つこと以外に、属性へのポインタを持つことも含まれる。同様に、属性の集合を持つとは、属性の集合そのものを持つこと以外に、属性の集合へのポインタを持つことを含む。
【０１３９】
物が持つ属性を、単語を使わずに表現する方法を以下に示す。最初に座標軸を使って説明する。座標軸を使えば直感的に理解でき理解しやすくなると思われるため、座標軸を使った説明をする。したがって、座標軸をつかった表現は、この一実施形態にとって、本質的なものではない。あくまで、理解しやすくするための例である。
【０１４０】
図１１は、Ｘ軸とＹ軸とが直角に交わっていて、平面上の図形を表現できる。Ｘ軸、Ｙ軸、Ｚ軸の３つの座標をそれぞれ直角に交わらせると、三次元の立体を表わすことができる。Ｘ軸、Ｙ軸、Ｚ軸を直角より小さい角度で交わらせると図１２のようになり、平面で３つの座標を表現できる。座標軸の交わる角度を更に小さくすると、より多くの座標軸を平面で表現できる。
【０１４１】
図１３は、一実施形態において、属性を座標軸に対応させた例である。図１３では、３次元の座標軸で属性を表現している。１つの座標軸で１つの属性を表している。座標軸１で「高い」という属性を表現し、座標軸２で「塩辛い」という属性を表現し、座標軸３で「甘い」という属性を表現する。
【０１４２】
なお、説明を分かりやすくするために、属性を座標軸に対応させているだけである。属性を座標軸に対応させることは、この実施形態にとって本質的ではない。また、本実施形態の説明を分かりやすくするために、図１３では、座標軸１、２、３を直交させているに過ぎない。どのような角度で座標軸が交わっているかも本実施形態にとって本質的ではない。説明を容易にするための例示である。
【０１４３】
通常、物は１つ以上の属性を持っている。図１３の例では、属性が座標軸に対応づけられる。そして、属性は、座標軸の識別子と真であるか偽であるかを表わす真偽値の組で表わされる。真偽値は、真であるか、偽であるか、偽のどちらでもないという３種類の値のどれかを持つことができる。例えば、真の値を「１」、偽の値を「−１」、真でも偽でもない場合の値を「０」とする。
【０１４４】
物の属性である各座標軸において、真偽値として「１」を持つ物は、座標軸で表わされる属性を持つ。同様に、「−１」を持つ物はその属性を持たず、「０」を持つ物はその属性によって特徴付けられないことを表す。真か偽かわからない場合、すなわち不定の場合に真偽値を「０」にすることもできる。属性を識別する１つの属性識別子と１つの真偽値との組が、１つの属性となるようにするのが自然である。「１」、「０」、「−１」という値の代わりに真偽値を、真偽値を表わす識別子とすることもできる。“真”、“偽”、“真でも偽”でもないという３種類の識別子のいずれかを真偽値の値とすることもできる。例えば、“真”を「２０００５」、“偽”を「２０００６」、“真でも偽でもない”を「２０００７」という識別子にすることもできる。
【０１４５】
属性が真偽値を持たないようにすることもできる。物がある属性を持つ場合、その属性の真偽値を真とすることもできる。一方、物がある属性を持たない場合は、その属性の真偽値を偽とする方法がある。また、物がある属性を持たない場合は、真偽値を偽または不定とする方法もある。不定とは、真であるか偽であるか定まっていないことである。この方式では属性の真偽値がないので、論理演算の処理が単純になる。数学の世界では、０（零）という数の発見は大きな出来事である。物がある属性を持たないという状態を、偽という真偽値を持つという形で明確に区別するのは高度な情報の持ち方かもしれない。したがって、第４の情報処理に限定した場合は、属性が真偽値を持たない方式の方が自然かもしれない。
【０１４６】
たとえば、「山」という物を取り上げる。「山」は、「高い」という属性を持つとする。「高い」という属性は、高い山の映像から抽出された特徴データとつながっている。通常、物は複数の属性を持つため、「山」という物は、「高い」などの属性が集まった属性の集合を持っている。このとき、「山は高い」は、正しい。「山は塩辛い」は、正しくない。「岩塩でできた山は塩辛い」は、正しい。「岩塩でできた山」は、「岩塩」が持つ属性と「山」が持つ属性を併せ持つからである。「岩塩」が、「塩辛い」という属性を持つため、「岩塩でできた山」は、「高い」と「塩辛い」という属性を持つ。
【０１４７】
座標軸と真偽値で表わすと、山、岩塩、岩塩でできた山という物はそれぞれ、以下のように記述できる。
（１）山の、座標軸１は１
（２）岩塩の、座標軸２は１、座標軸３は−１
（３）岩塩でできた山の、座標軸１は１、座標軸２は１、座標軸３は−１
同じ内容を、記号を用いて次のように記述することもできる。
（１）山（１：１）
（２）岩塩（２：１、３：−１）
（３）岩塩でできた山（１：１、２：１、３：−１）
【０１４８】
左括弧の左は物で、括弧全体は、言葉が持つ属性の集合を表わし、括弧の中は物が持つ個々の属性を表す。括弧内の「：」の左側の数字は属性を表わす属性識別子で、「：」の右側はその属性の真偽値である。物が、ある属性によって特徴付けられない場合は、その座標軸の属性識別子と真偽値の記述とを省略する。属性を持たないとは、その属性が、物の意味に影響を与えないと考えられることである。あるいは、その物とその属性の関連についての情報が無いことを示す。
【０１４９】
また、物が属性を持つ場合のみ、つまり、物が持つ属性の真偽値が真の場合のみ属性を記述してもよい。この場合は、真偽値は持たない。第４の情報処理においては、この方が自然かもしれない。この方が前述の仮説により近い。物が持つ属性の真偽値が真の場合のみ、真偽値を含まない属性を記述すると次のようになる。
（１）山（１）
（２）岩塩（２）
（３）岩塩でできた山（１、２）
【０１５０】
属性を表わす属性識別子は、主識別子と副識別子とで構成することもできる。主識別子は、属性の基本的な性質を表わし、副識別子は程度や様子などの属性のより詳しい性質を表わす。副識別子は、副詞に相当する。前述の仮説の主属性の識別子が属性の主識別子に相当し、前述の仮説の副属性の識別子が属性の副識別子に相当する。属性が主属性だけでできている場合もある。主属性も副属性も属性で、同じデータ構造である。
【０１５１】
例えば、身長という属性は、背が高い、背がちょっと高い、背が低いなどのように、さらに詳しい属性を持つことができる。身長を例にすると、主属性の識別子である主識別子を基本的な属性である身長に対応付けることができる。一方、身長が高い、身長が低いという基本的属性を修飾する属性を副属性の識別子である副識別子に対応付けることができる。たとえば、人の身長を身長計で測っている映像から生成された特徴データを主属性に直接つないで対応づける。小柄な人の映像から生成された特徴データを副属性に直接つなぎ対応づける。
【０１５２】
主識別子を座標軸の識別子に対応付け、副識別子を座標軸上の位置や範囲に対応付けると理解しやすい。副識別子に対応する値、範囲、程度、または、状況に相当する特徴データが副属性に直接つながり対応づけられており、副属性の識別子である副識別子とその特徴データの識別子が対応づけられている。副属性に直接対応づけられる特徴データは、数値の特徴データだけではなく、音や映像など五感と呼ばれる感覚器官やセンサで得た情報から生成された特徴データもある。副属性の識別子である副識別子は、副詞のように主属性の識別子である主識別子を修飾するものである。主識別子をキーにして、その属性の主識別子に直接対応する特徴データを取得できる。副識別子をキーにして、その属性の副識別子に直接対応する特徴データを取得できる。
【０１５３】
全ての属性がより詳しい属性を持っているわけではないので、副属性の識別子である副識別子を必要としない場合もある。この場合は、副識別子の値の記述を省略する、あるいは、特別な値、例えば０にしておき、詳細な性質が無いことを示すことができる。例えば、詳細な性質がある場合は、主識別子の右側に「＊」に続けて副識別子を記述し、詳細な性質がない場合は、「＊」と副識別子の記述を省略する。
【０１５４】
例えば、「とても塩辛い」に対応する副識別子を９とし、「少し塩味を感じる」に対応する副識別子を１とする。さらに「少し塩味を感じる」と「とても塩辛い」の間に段階的に複数の副識別子を設けてもてもよい。式で表わすと以下のようになる。副識別子も識別子であるから、「とても塩辛い」という特徴を表わすデータ、たとえば、９という値の特徴データを指し示す識別子であればよい。この例では、直感的に判るように「とても塩辛い」という特徴を表わすデータとその副識別子を同じ文字で表わしている。
（１）山（１：１）
（２）岩塩（２＊９：１、３：−１）
（３）岩塩でできた山（１：１、２＊９：１、３：−１）
【０１５５】
山をＡ、岩塩をＢ、岩塩でできた山をＣで表わすと、以下のようになる。Ａ、Ｂは、物の意味を表す単語ではなく、物の意味を表わさず単に物を識別する「物識別子」である。物は、１つの「物識別子」と１つの属性の集合から成ることを表している。Ａの代わりに３０００３という識別子を使ってもよい。集合は、０個以上の属性を要素として持つことができるので、物を表わす「物識別子」が持つ属性を表わす属性識別子は、１個に限定されず、０個でも、１個でも、２個以上でもかまわない。
（１）Ａ（１：１）
（２）Ｂ（２＊９：１、３：−１）
（３）Ｃ（１：１、２＊９：１、３：−１）
Ａの代わりに１０００、Ｂの代わりに１００１、Ｃの代わりに１００２を使うと次のようになる。
（１）１０００（１：１）
（２）１００１（２＊９：１、３：−１）
（３）１００２（１：１、２＊９：１、３：−１）
さらに、真偽値が真の属性だけを記述すると次のようになる。
（１）１０００（１）
（２）１００１（２＊９）
（３）１００２（１、２＊９）
【０１５６】
このようにすると、属性を座標軸とした空間のなかで、物を点、線、平面、立体などとして表現できる。属性を座標軸とした空間のなかで、２つの物の重なり具合や近さが、２つの物の関連性の大きさを表わす。
【０１５７】
このようなデータ構造を使うと、脳の神経細胞に対応づけられた物や属性をうまく表現できる。物や属性を識別する識別子で物や属性を表わすことによって、脳の神経細胞に対応づけられた物や属性のつながりを表現できる。物や属性を識別する識別子をキーにして物や属性を検索することにより、つながっている物や属性を取得する。つながっている物と属性について、物識別子と属性識別子とを対応付ける表を作る。この表を物識別子をキーにして検索すると、その物が持つ属性識別子が取得できる。属性識別子をキーにして表を検索すると、その属性とつながる物識別子が取得できる。つながっている属性と特徴データについて、属性識別子と特徴データとを対応づける表をあらかじめ作成しておく。この表を属性識別子をキーにして検索すると、その属性につながる特徴データを取得できる。この表を特徴データで検索すると、その特徴データとつながる属性識別子が取得できる。このようにして、物、属性、特徴データのつながりをまねることができる。
【０１５８】
本実施形態は、樹状突起等によって物や属性に対応する神経細胞同士をつなぐのではなく、物や属性をその意味を表さず単に識別するだけの識別子だけで表わし、識別子をキーにして物や属性を選択し取得することにより神経細胞のつながりをまねている。
【０１５９】
従来技術の情報システムにおいて、人を社員番号という識別子に対応づけることは行われていた。しかし、従来技術においては、人は、社員番号という識別子以外に年金番号のような異なる形式の複数の識別子を持つことができる。自動車は、ナンバープレートの番号や製造番号という識別子を持つ。社員番号、年金番号、自動車の番号は、それぞれ異なる形式の情報である。同じ人という物でも異なる形式の識別子を持つことができる。また、人と自動車のように異なる物は、異なる形式の識別子を持っている。
【０１６０】
本実施形態では、すべての物は同じ単一の形式の識別子だけを持ち、物と物識別子とは１対１に対応する。すべての属性は同じ単一の形式の識別子だけを持ち、属性と属性識別子とは１対１に対応する。さらに、真偽値を、真偽値を表す識別子とすることもできる。この場合、真偽値は、真を表わす属性と偽を表わす属性とのいずれかになる。真を表わす属性は、真を表わす特徴データとつながり、偽を表わす属性は、偽を表わす特徴データに対応づけられる。属性の主識別子である主属性の識別子、属性の副識別子である副属性の識別子、真偽値の識別子を含む全ての識別子も物識別子と同じ形式に限定できる。
【０１６１】
外部から情報を受け取ると、受け取った情報から特徴を抽出する。抽出された特徴を特徴データとして保持する。保持された特徴データと物識別子や属性識別子が対応づけられる。外部に情報を出力するときには、物や属性とつながっている識別データが取得され、取得された識別データから単語が生成され、生成された単語が出力される。日本語の「花」、英語の「ｆｌｏｗｅｒ」という単語から生成された識別データを１つの属性につなぐ。実際に咲いている花の映像から生成された特徴データが別の属性識別子に対応づけられる。そして、これら２つの属性が１つの物に対応づけられる。このようにすれば、一方の属性から物を取得し、同じ物につながっている他方の属性を取得できる。その結果、属性につながった単語の識別データや映像の特徴データを出力することができる。たとえば、花の映像の特徴データから、花という単語の識別データを取得し出力できる。
【０１６２】
第４の情報処理における（２）知識の演算について説明する。
【０１６３】
たとえば、岩塩は塩辛いかどうかを調べる方法を考える。つまり、物が、ある属性を含んでいるかどうかを調べる方法を考える。仮想のプログラミング言語であらわすと、例えば、以下のような記述で表わすことができる。
Ｂ．ｉｎｃｌｕｄｅ（（２＊９：１））
【０１６４】
Ｂは、物を表わす単語または識別子で、属性の集合を持っている。引数の（２＊９：１）は、属性を１つ含む属性の集合である。物の名前または物識別子が式に記述されている場合は、物が持つ属性の集合が演算対象になる。この場合は、たまたま、属性が１個の集合になっているが、属性が０個でも複数あってもよい。Ｂ．ｉｎｃｌｕｄｅ（（２＊９：１））というプログラムは、Ｂが持つ属性の集合の中に、引数の属性と同じものがあれば、真の値を戻り値として返す。同じ属性識別子はあるが、真偽値が異なる場合は、偽の値を戻り値として返す。同じ属性識別子がない場合は、存在しないことを表わす値を戻り値として返す。存在しないことを表わす値としてＮＵＬＬを使ってもよい。また、同じ属性識別子がない場合に、偽の値を戻り値として返してもよい。この演算によって、ある物が、ある属性を持っているかどうかを調べることができる。
【０１６５】
属性の集合（２＊９：１）に名前をつけて、その名前を記述してもよい。例えば、（２＊９：１）に「ｖｅｒｙＳａｌｔｙ」という名前を付けて、Ｂ．ｉｎｃｌｕｄｅ（ｖｅｒｙＳａｌｔｙ）と記述することができる。
【０１６６】
実際のプログラムでは、ｉｎｃｌｕｄｅというプログラムが次の処理をして、真または偽の値またはＮＵＬＬの値を生成する。Ｂを比較される属性の集合を持つ物、ｖｅｒｙＳａｌｔｙつまりプログラムの引数である属性の集合を、比較する属性の集合と呼ぶ。比較する属性の集合の全ての属性が、比較される属性の集合にあり、かつ、真偽値が一致している場合に、真の値を戻り値として返す。比較する属性の集合の全ての属性が、比較される属性の集合にあり、かつ、真偽値が一致していないものがある場合に、偽の値を戻り値として返す。比較する属性の集合の属性が、比較される属性の集合に１つでもない場合、比較できない属性があるという意味で、ＮＵＬＬを戻り値として返す。比較する属性の集合の属性が、比較される属性の集合に１つでもない場合、偽を返してもよい。ＮＵＬＬを返すか偽を返すかは、プログラムの設計方針に依存する。ここで挙げた戻り値およびその条件は、例示である。他の条件や戻り値の組み合わせでもよい。
【０１６７】
同じ属性が無い場合に、類似の属性があるかどうかを調べる方法があると便利である。すなわち、あらかじめ定められた数以上の比較する属性について、その主識別子が比較される属性の集合にあり、かつ、真偽値が一致している場合に、真の値を戻り値として返す。これは、例示であってこれ以外の条件を用いてもかまわない。
【０１６８】
偽とＮＵＬＬとを戻り値とする条件の一例を以下に示す。あくまでも例示であって他の条件でもよい。比較する属性の集合の属性の主識別子が比較される属性の集合にあり、かつ、真偽値が一致しているものがあらかじめ定められた数より少ない場合に、偽の値を戻り値として返す。比較する属性の集合の属性の主識別子が比較される属性の集合に１つもない場合に、比較できないという意味でＮＵＬＬの値を戻り値として返す。前述の条件は例示であって、適切なものであればそれら以外の条件でもかまわない。
【０１６９】
仮想のプログラム言語で記述すると、以下のようなプログラムになる。下記ｉｓＬｉｋｅというプログラムは、類似性を判断するプログラムである。
Ｂ．ｉｓＬｉｋｅ（（２＊９：１））
【０１７０】
同様に、Ｂ．ｉｓＬｉｋｅ（ｖｅｒｙＳａｌｔｙ）と記述することもできる。
【０１７１】
属性の副識別子が補足情報として値、値の範囲、程度、状況などを表わすようにする。属性の副識別子、つまり、副属性が特徴データである値、値の範囲、程度、状況とつながっている。主識別子を指定し、主識別子が同じで副識別子が同じかどうかを判断基準にすることもできる。副識別子に対応する特徴データである値や範囲をあらかじめ保持しておき、副識別子をキーにして値や範囲の情報を取得すれば、値を直接比較することもできる。
【０１７２】
身長という主属性は、たとえば１９０ｃｍというように、具体的な値の特徴データとつながる副属性とつながることができる。しかし、身長が高いという属性のように明確でない属性もある。日本人男性を前提としてとして考えると、ほぼ全ての人が身長１８５ｃｍを身長が高いと判断する。６０％の人が身長１８０ｃｍを身長が高いと判断するとかもしれない。この例のように、属性が明確な境界を持たないことはよくある。
【０１７３】
ファジィ集合という考え方を使うと、このような明確な境界を持たない属性をうまく表現できる。具体的な身長の範囲という特徴データの代わりに、ファジィ集合におけるメンバーシップ関数につながる副属性を用いる。メンバーシップ関数は、引数として実際の値が与えられると０から１までの範囲の値を計算する。この計算された値が程度を表わす。生成された程度があらかじめ定められた一定の値以上であれば、そのファジィ関数の副属性が真であると判断する。この場合、その主属性とそのファジィ関数と特徴データがつながった副属性とを、その物の属性とする。
【０１７４】
数値、音声データ、画像データ、動画データなども実際のデータに含まれる。実際のデータから生成された特徴データがファジィ関数と共に同じ属性とつながる。実際のデータは、前述のデータに限定されるものではない。例えば、顔の画像データから幅と長さとの比率を求め、その比率を引数にして、保持されたメンバーシップ関数を使って丸顔の程度を生成することができる。
【０１７５】
実際の値を引数にしてあらかじめ保持されたメンバーシップ関数を実行し、メンバーシップ関数で程度を生成する。生成された程度が、あらかじめ定められた一定の値以上であれば真偽値を真にし、あらかじめ定められた一定の値より小さければ真偽値を偽にしてもよい。
【０１７６】
図１４は、一実施形態におけるファジィ集合の例である。メンバーシップ関数は、図１４の横軸の値である具体的な値などのデータを与えると、図１４の縦軸で示される程度を表わす０から１までの値を生成して、生成された程度を表わす値を戻り値として返す。
【０１７７】
明確でない属性を生成する方法として、さまざまな特徴データや識別データを１つの属性につなぐ方法がある。たとえば音声認識において、ある単語を多くの人に発音してもらい、その発音から識別データを生成する。生成された複数の識別データを１つの属性につなぐ。この属性は、その単語の音声表現を表わす。属性につながった識別データのどれかと同じ識別データが入力された音声から生成されると、入力された音声がその属性として認識される。この方法は特徴データにも使え、音声以外に画像などあらゆる情報に適用できる。
【０１７８】
２つの属性の集合に関して、属性がどの程度共通しているかを知りたいことがある。この共通している程度を共通度とする。例えば、２つの属性の集合に関して属性識別子と真偽値が同じである属性があるかどうかを調べ、一致する属性が１組あれば、共通度を１とし、２組あれば２とする。このように、一致する属性の組数を共通度として返すプログラムを作れば、共通度を求めることができる。属性が付属情報として重みを持っている場合、一致する属性の重みを足し合わせて共通度を求めてもよい。重みを足し合わせることも、計数することに含まれる。上記共通度の計算方法は、一例である。他の方法を用いてもよい。
【０１７９】
２つの属性の集合に関して、属性がどの程度一致していないかを知りたいことがある。この一致していない程度を非共通度とする。たとえば、２つの属性の集合に関して属性識別子が同じで、真偽値が異なる属性があるかどうか調べ、該当する属性が１組あれば非共通度を１とし、２組あれば非共通度を２にする。このように、該当する属性の組数を非共通度として返すプログラムを作れば、非共通度を求めることができる。属性が付属情報として重みを持っている場合、該当する属性の重みを足し合わせても非共通度を求めてもよい。上記非共通度の計算方法は、一例である。他の方法を用いてもよい。
【０１８０】
共通度と非共通度とは、２つの属性の集合がどの程度似ているか、どの程度違っているかを表わす尺度として利用できる。共通度を求めるプログラムにおいて、一致している属性の一覧を戻り値として返すことも可能である。同様に、非共通度を求めるプログラムにおいて、一致していない属性の一覧を戻り値として返すことも可能である。
【０１８１】
共通度が大きい場合は、共通する属性が多いことを意味する。非共通度が０より大きい場合は、対立する属性を含んでいる可能性を意味する。本を読んだり話を聴いたりしているときに、「おや、何か変だ」と感じることがある。この感覚は、非共通度が０より大きい場合に対応付けることができる。共通度は大きいけれど、非共通度が０でない場合は、何らかの矛盾がある可能性がある。
【０１８２】
ＡＮＤ演算は、２つの属性の集合に共通する属性を要素とする属性の集合を新たに生成する。ＡＮＤ演算を行うプログラムは、２つの属性の集合に関して、属性識別子が同じで、且つ真偽値が同じ属性を集め、前記集められた属性を要素とする新たな属性の集合を生成する。例えば、次のような記述になる。ＡＮＤ演算は積集合の演算でもある。ＡＮＤ演算は、例えば、（Ａ  ＡＮＤ  Ｂ    ＝  ｃ  ＝  φ）のように表すことができる。ここで、ｃは属性を含まない属性の集合である。記号φは、属性を持たない属性の集合を表わす。
【０１８３】
ＯＲ演算は、２つの属性の集合の属性うち、少なくともいずれかの属性の集合に含まれる属性をすべて含む属性の集合を新たに生成する。ＯＲ演算を行うプログラムは、二つの属性の集合に含まれる属性を全て含む属性を要素とする新たな属性の集合を生成する。ＯＲ演算は、和集合の演算でもある。
【０１８４】
属性識別子が同じで、真偽値が異なる属性をＯＲ演算で生成される新たな属性の集合含める方法と含めない方法とがあるが、含めない方が自然と考えられる。ある属性について一方の属性の集合ではその真偽値が真で、他方の属性の集合ではその真偽値が偽の場合、２つの属性の集合は相反する属性を持っていることになる。
【０１８５】
そのため、２つの属性の集合に対して非共通度を計算し、非共通度が０の場合だけＯＲ演算を行うようにする方法もある。記号で表わすと次のようになる。ａは（１：１）という属性の集合で、ｂは（２：１、３：−１）という属性の集合であるとする。ここで、ａ及びｂのＯＲ演算は、（ａ  ＯＲ  ｂ＝  ｇ）のように記述することができる。そして、ｇは、（１：１、２：１、３：−１）という属性の集合になる。
【０１８６】
ＮＯＴ演算は、属性の集合に含まれる全ての属性の真偽値の値を逆にした属性の集合を新たに生成する。記号で表わすと次のようになる。ａという属性の集合は、（１：１）という属性を含んでいるとする。ａのＮＯＴ演算は、（ＮＯＴ  ａ  ＝  ｋ）のように記述することができる。そして、ｋは、（１：−１）という属性を持っている。
【０１８７】
なお、上記の例では、小文字のアルファベットを属性の集合、大文字のアルファベットを物にしている。
【０１８８】
前述の演算方法を使えば、属性の集合に含まれる属性の数が多くても少なくても、論理演算式は変わらない。通常、物は非常に多くの属性を持っている。本技術を使えば、従来技術に比べて論理演算式が非常に単純に記述できる。
【０１８９】
これまでの説明で明らかなように、本実施形態では、物と物が持つ属性とを、単語で表現するのではなく、物や属性そのものの意味を持たない情報である識別子で表現している。そして、属性そのものの意味を表わさない情報である識別子で表わされた属性を要素とする属性の集合を論理演算の対象としている。
【０１９０】
属性の集合の要素である各属性を、それぞれ１つの座標軸に対応させる。それぞれの属性に対応する座標軸を識別する座標軸の識別子を属性識別子とし、属性識別子と真偽値との組で属性を表わす。その属性が真である場合は、属性識別子と肯定の値との組で属性を表わす。一方、その属性が真でない場合は、属性識別子と否定の値との組で属性を表わす。このように解釈すると、理解しやすいかもしれない。属性を座標軸に対応させるのは、本技術の理解を助けるのが目的である。属性を座標軸に対応させることは、必須ではない。
【０１９１】
属性をより詳しく表現するために、主識別子と副識別子とから成る属性識別子としてもよい。主属性の識別子が主識別子に対応し、副属性の識別子が副識別子に対応する。それぞれの属性に対応する座標軸を識別する座標軸の識別子を主識別子とし、当該属性のより詳しい特徴を示す値、範囲、程度などを表わすものを副識別子とし、主識別子と副識別子とからなる識別子と真偽値とからなる属性としてもよい。ただし、副識別を必要としない属性もある。その場合は、副識別子を持たないことを表わす特別な値、たとえばＮＵＬＬのような特別な値を副識別子にしてもよい。また、単に副識別子を持たないようにしてもよい。
【０１９２】
これまでの説明では、副識別子を使って属性の程度を表わす方法を示した。しかし、例えば、人種によって背が高いという属性の判断基準が異なる。そのため、属性から、身長のような実際の情報を取得できるようにすることは有益である。実際の身長の数値の情報を特徴データとして保持し、身長という属性を生成し、その副属性に身長の特徴データを対応づけておけばよい。また、全身の映像から生成された特徴データを身長という属性につないでおいてもよい。身長という属性につながった特徴データをもとに、背が高いかどうかを判定し、その属性の意味を変更することができる。このようにすると、属性識別子から実際の情報が取得できる。属性識別子を検索キーにして、実際の情報、つまり特徴データが取得できる。
【０１９３】
上記のプログラムの例では、関数型のプログラムを想定しているのでプログラムの実行結果を戻り値として返す。しかし、関数型でないプログラムでも実施可能である。
【０１９４】
画像、動画、音、触覚、温度、圧力などあらゆる情報から属性を生成できる。例えば、顔の画像から面長や丸顔という属性を生成できる。画像データから顔の部分を抽出し、抽出された顔の画像データから顔の横幅と長さとの比率を計算する縦横比率計算機能を持っているとする。顔の画像データが与えられると、縦横比率計算機能を使って与えられた顔の画像データから顔の縦横比率を計算する。計算された顔の縦横比率に一番近い属性を選び、選ばれた属性の真偽値を真にする。
【０１９５】
本実施形態では、単語から識別データを生成して保持し、その単語から生成された識別データを属性に対応づけることはできる。しかし、知識ベースシステム内において、単語から生成された識別データは、単に物や属性を選択するために使われるだけで、物や属性の意味や概念を表すものとしては利用されない。画像、音、触覚、温度、圧力などの言葉以外の情報から生成された特徴データがつながった属性を生成し、生成された属性を含む属性の集合を論理演算することにより、例えば、画像診断システム、設備の監視システムになど利用できる。
【０１９６】
ある物が、他の物の属性の集合を引き継いでいることがある。また、ある物が、他の物の属性の集合を含んでいることもある。ＯＲ演算は、他の物の属性を引き継いだり、含んだりすることに対応付けられる。
【０１９７】
次に、第４の情報処理における（３）知識の集まりと知識のネットワークとについて説明する。
【０１９８】
共通する属性を持つ物を集めたものを知識の集まりという。１つまたは１つ以上の属性を指定し、指定された属性識別子を持つ物を選択する。選択された物の集まりが知識の集まりである。通常、指定された全ての属性の属性識別子を持つ物を選択するが、指定された属性のうちの一部を持つ物を選択してもよい。
【０１９９】
選択された回数を物ごとに記憶しておき、選択された回数が予め定められた回数以上の物を集めて知識の集まりをつくることもできる。たとえば１０個の属性で検索を行った場合は、検索に使った属性の数に０．８を掛けけた値の８回以上選択された物を集めて知識の集まりをつくる。また、物と属性のつながりが付属情報としてつながりの強さの程度を表わす重みを持つ場合は、回数を記憶する代わりに選択されるたびに重みを足しあわて物ごとに重みの累計値を保持し、その累計値が予め定められた一定値を超える物を集めて知識の集まりをつくってもよい。重みを使う方法も検索された回数を使う方法も、属性を使った検索である。
【０２００】
特別な場合として１個の物だけからなる知識の集まりになることがある。この場合は、検索に使った属性によって１つの物が特定され認識されたと解釈することもできる。
【０２０１】
ある物の集まりを生成するために使ったすべての属性だけを１つの物につなぐと、その物は物の集まりを意味する抽象的な物になる。この抽象的な物にある単語から生成された識別データがつながった属性をつなぐと、その識別データによってこの抽象的な物が識別できる。
【０２０２】
知識の集まりにおいて、ある物と他の物とが関係を持っていることがある。これら関係のある物同士をつなぐ。このつながり合った物の集まりが知識ネットワークである。物と物とをつなぐことで、物と物との関係を表現する。関係には、双方向につながる場合と、一方向につながる場合とがある。双方向につながる場合は、つながる２つの物を区別できないので、対等な関係になる。一方向につながる場合は、つながる２つの物を区別できる。たとえば、親子関係を一方向のつながりで表し、親である物から子である物の方向だけの一方向につなぐ。このようにすると、親である物と子である物とを区別できる。
【０２０３】
一方向のつながりで表わされる関係を、包含関係のように、ある物が他の物に含まれていることに対応づけることもできる。
【０２０４】
知識ネットワークにおいて、物と物とのつながりを追加すること、つながり方を変えること、つながりを削除することは、知識を学習することに対応づけられる。知識ネットワークに、新しく物を追加することや既にある物を削除することも、知識の学習に対応づけられる。新たな知識ネットワークを生成することも学習に対応づけられる。知識ネットワーク内の物の存在やつながりも知識である。物も知識である。
【０２０５】
図１５は、物の包含関係を表わしている。図１５に示される丸印は、ノード６０である。ノード６０は、物識別子を保持し、物を表わす。ノード６０は、物識別子で表わされた物だけである。属性６１および属性６１の集合、特徴データ、識別データはノード６０ではない。属性６１および属性６１の集合は、ノード６０である物の付属情報である。物とは石とか犬のような具体的な存在だけなく、光る物やＷＥＢページや概念のような抽象的な物も含まれる。属性６１を持たないノード６０も可能である。何か分からない物がある場合、その物は属性６１を持たない。ノード６０は、０個以上の属性６１を持っている。１つの物が持つ属性全体を属性６１の集合と捉えることもできる。属性６１の集合は、図１９に示される物と属性との一覧表に相当する。矢印６２は、ノード６０の関連を表わす。つまり、矢印６２は、物の関連を表わす。矢印６３は、ノード６０と属性６１とのつながりを表す。
【０２０６】
知識の集まりを生成する属性の持ち方には、２種類ある。１つ目の方法は、たとえば図１５において、すべての物が生物という属性を持つ。また、動物、哺乳類、爬虫類、魚類を表す物が動物という属性をもつ。さらに哺乳類、人、犬を表す物が、哺乳類という属性を持つ。このように、上位概念である物を表わす属性を、下位概念である物が持つようにする。特に、下位概念の物がすべて、上位概念を表わす属性をもつようにすると、下位概念の物は、必ず上位概念を表わす属性を持つようになる。このようにすると、１つの概念を表わす属性を指定して知識の集まりを生成すると、その下位概念である物をすべて含む知識の集まりを生成できる。たとえば、動物という属性を指定して知識の集まりを生成すると、その知識の集まりには、動物とその下位概念である哺乳類、爬虫類、魚類が含まれる。
【０２０７】
２つ目の方法は、次のようにする。下位概念の物は、上位概念を表わす属性を持たない。属性を階層化して、属性の階層化情報を保持する。属性の階層化情報において、上位概念を表わす属性から下位概念を表わす属性へ順に並べてつなぐことにより、複数の概念を表わす属性を同じ順番にできるようにする。属性の階層情報から、ある属性以降の属性を選び、選ばれた属性を少なくとも１つ持つ物を集めて知識の集まりを生成する。属性の階層情報から、ある属性以降のすべての属性を選んで知識の集まりを生成すれば、下位概念すべてを含む知識の集まりを生成できる。ある範囲の属性を選べば、その範囲の属性を持つ知識の集まりが生成できる。しかし、知識の集まりで物と物との関係を表わすことは難しい。物と物とをつないだ知識ネットワークを作ると、物と物との関係を簡単に表わせる。
【０２０８】
図１５のように、知識の集まりにおいて物と物とをつなぐことができる。つながり合った物を知識ネットワークと呼ぶ。例外的に、共通の属性を持たない物、つまり知識の集まりに含まれない物が知識ネットワークにつながることも可能である。端点となる１つのノードに１つ以上のノードがつながる形の木構造の他、さまざまなつながり方の知識ネットワークがある。つながりには方向のあるつながりと方向のないつながりがある。方向がある場合は、つながる２つの物に違いがあることを表わせる。方向のないつながりは、一方向ではなく双方につながっていると見ることもできる。方向のあるつながりは、矢印で表わす。方向のないつながりは線で表わす。矢印は出発点と到着点を持ち、矢印のある方が到着点で、矢印のない到着点でないない方が出発点である。出発点を矢印の始点、到着点を矢印の終点と呼んでもよい。
【０２０９】
木構造のように出発点である根となるノードが無い網構造の知識ネットワークも可能である。物と物とがつながっていれば知識ネットワークである。どのようなつながり方でもよい。物が１つだけ、または、０個の知識ネットワークもあり得る。神経細胞のネットワークにおいては、神経細胞同士をつないでいる樹状突起等によるつながりが矢印に相当する。
【０２１０】
物は、複数の知識の集まりに属すことができる。そして、物は、複数の知識ネットワークに属することができる。例えば、人間は、血縁関係という属性を持っている。出身学校のような属性も持っている。これらの複数の属性を１つの知識ネットワークで表現すると、非常に複雑な知識ネットワークになる。血縁関係を表す知識ネットワークと出身大学を表す知識ネットワークとをそれぞれ生成し、人間のノードを、血縁関係を表す知識ネットワークと出身学校を表す知識ネットワークなど複数の知識ネットワークに属すようにする。血縁関係を表す知識ネットワークでは、物であるノードを血縁関係でつなぐ。出身大学を表す知識ネットワークでは、たとえば学年であるノードをつなぐ。いくつもの知識ネットワークに分けて物と物とのつながりを表わすと、個々の知識ネットワークの構造が非常に単純になる。
【０２１１】
通常、物は、複数の知識ネットワークに属している。知識ネットワークでは、物同士がなんらかの関係で直接つながりあっている。共通の属性を持つ物があらかじめ定められた１つの関係だけでつながりあうことにより、知識ネットワークは、明確に体系化された知識を表わすことができる。物が知識ネットワークに属すことにより、物に関する体系化された知識を表現し、保持できる。知識ネットワークは、物だけがつながりあっている。
【０２１２】
第４の情報処理における、（４）知識の集まりと知識ネットワークの使い方について説明する。
【０２１３】
まず、知識の集まりの使い方の例を示す。指定された属性をすべて持つ物を集めた知識の集まりを生成し、その生成された知識の集まりのなかに、与えられた物があるかどうかをしらべれば、与えられた物がその知識の集まりを生成した属性を全て持っているかどうか判断することができる。
【０２１４】
また、知識の集まりは、物（物識別子）を要素とする集合である。したがって、知識の集まりを表わす抽象的な物を演算対象として、ＡＮＤ演算、ＯＲ演算、ＮＯＴ演算などの論理演算が可能である。
【０２１５】
次に、知識ネットワークの使い方の例を示す。たとえば図１５のように、ある知識ネットワーク内のノードとノードとをつなぐ矢印が包含関係を表わしているとする。出発点のノードが到着点のノードを含むとする。ノードＢから矢印の逆向きに０回以上移動し、ノードＡに到達できる場合、ＢならばＡであると言う。移動回数が０の場合は、ノードＡとノードＢとは、同じノードである。繰り返しになるが、ノードは物を表わしている。
【０２１６】
図１６の知識ネットワークＮ１において、ノードＢから矢印の逆方向の経路に０回以上移動してノードＡへ移動できたとする。また、ノードＢが属する知識ネットワークＮ１とは異なる知識ネットワークＮ２において、ノードＡから矢印の逆方向に０回以上移動して、ノードＤに移動できたとする。このとき、ノードＢならばノードＤである可能性がある。あるいは、ノードＢとノードＤとに何らかの関連がある可能性がある。どの程度の可能性であるかは、経由した知識ネットワークがどの程度適切に生成されているかにも依存する。移動回数の合計が０である場合、ノードＢ、ノードＡ、及び、ノードＤは、同じノードである。前述の経路が発見され、その経路のつながりが適切であると判断されると、ノードＤからノードＢへ１つの矢印でつなぐことができる。ノードＤとノードＢとを含む新しい知識ネットワークを作って、ノードＤとノードＢとを直接つないでもよい。
【０２１７】
１方向のつながりの知識ネットワークを例にしたが、双方向のつながりの知識ネットワークでも同様にできる。だだし、双方向のつながりの場合は、つながる物同士の違いが明らかでない。
【０２１８】
このように、ある物から出発し、別の知識ネットワークにある別の物に到着できるとき、出発点のノードである物と到着点のノードである物との間に、何らかの関係がある可能があると判断できる。このようにすると、知識ネットワークを使って、素早く大まかな判断ができる。大まかな判断の後、出発点のノードである物が持つ属性と到着点のノードである物が持つ属性とを比べて、そのつながりが適切であるかどうかについて最終的な判断を行う。
【０２１９】
言葉である文字列、つまり単語をノードとし、単語であるノードを直接つないでネットワーク構造で表現する方法は従来からあった。しかし、この方法では、物を表わす単語だけでなく属性を表す単語も１つのノードになる。そのため、本願技術を使ったネットワーク構造よりもノードの数もつながりの数も多くなり、非常に複雑なネットワーク構造になる。また、本実施形態のように、知識の集まりを生成し、知識を分類することが簡単にはできない。
【０２２０】
リレーショナルデータベース１４を用いた場合の（１）知識の形式について説明する。
【０２２１】
リレーショナルデータベース１４は、表形式のデータからある条件を満たすデータを抽出するなどの集合演算を効率良く行えるようになっている。そのため、本実施形態では、リレーショナルデータベース１４を使った例を説明する。リレーショナルデータベース１４を使わずに実施してもよい。本願技術では、物及び属性をつなぎ、つながった物や属性に信号を送ることによって、つながった物や属性を知る代わりに、物、属性、特徴データ、及び識別データを識別子で表わし、識別子をキーにして検索する。これにより、つながっている物、属性、特徴データ、及び識別データを取得する。
【０２２２】
本技術のシステムの中では、物識別子自体が物であり、属性識別子自体が属性である。属性の主識別子自体が主属性であり、属性の副識別子自体が副属性である。特徴データは識別子であるポインタで表わされる。特徴データ自体はデータ１０にある。識別データは識別子であるポインタで表わされる。識別データ自体はデータ１０にある。
【０２２３】
図１７Ａ、図１７Ｂ、図１８、図１９の表は、リレーショナルデータベース１４によって作成されたデータ１０内の表を模式的に表したものである。
【０２２４】
図１７Ａは、属性の元になるデータの一覧である。図１７Ｂは、物の名前と物識別子との対応表である。属性の元になるデータ一覧には、文字で表わされた物の名前である単語と物が持つ属性を表わす単語と属性の真偽値とがある。実データは、真偽値の元になるデータである。この実データがある場合は、実データから真偽値を生成してもよい。真偽値を生成する場合、真偽値は不要である。属性が、表に記載されている場合のみ真偽値が真であるという規則を適用することにより、真偽値を省略することもできる。
【０２２５】
実データを特徴データとして保持し、その特徴データと新たに生成された属性とを対応づけ、その新たな属性をその物の属性とすることもできる。物の名前と物識別子との対応表は、物の名前である単語と物識別子とを対応づける。物が図外の特徴データとつながっている場合は、さらに特徴データへのポインタが対応づけられる。
【０２２６】
図１８は、単語に対応づけられた属性と属性識別子との対応表である。この表は、図２Ａ及び図２Ｂの第１階層に相当する。この表にある属性識別子は、あらかじめ保持されている図外の特徴データと対応づけられている。主属性である主識別子は、主属性の特徴データの識別子であるポインタが対応づけられる。副属性である副識別子は、副属性の特徴デ−タの識別子であるポインタが対応づけられている。この表では、属性に対応づけられた単語と属性識別子とが対応づけられている。属性識別子と図外の特徴データとが対応づけられている場合は、特徴データへのポインタである特徴データの識別子も対応づけられる。
【０２２７】
属性識別子と図外の特徴データとがつながり、意味あるいは概念が生成されている。対応づけられる特徴データのポインタの数を１行に最大１個に限定し、対応付ける特徴データの数だけ表の行を作成してもよいし、１行に全ての特徴データのポインタを含めてもよい。属性と属性識別子との対応表は、図１７Ａの属性の元になるデータの一覧の属性の単語を属性識別子に対応づけるための表である。図１７Ａの属性の元になるデータの一覧の属性に対応づけられた単語をキーにして、属性と属性識別子との対応表から対応する属性識別子を取得する。
【０２２８】
取得される属性識別子は、主識別子と副識別子とから成る場合もある。主識別子だけからなることもある。主識別子と副識別子との可能な組み合わせがあらかじめ定められていると、それを使って不自然な組み合わせの検出ができる。可能な主識別子と副識別子との組み合わせがあらかじめ作成されていても、学習により主識別子と副識別子との可能な組み合わせは、追加又は削除できる。
【０２２９】
図１７Ａの属性の元になるデータの一覧の属性が、主属性と副属性とからなる属性である場合もある。図１８の属性と属性識別子との対応表が、属性の真偽値が真になる条件を持つことも可能である。属性と属性識別子との対応表が、属性の真偽値が真になる条件を持ち、且つ属性の元になる実際のデータを持っている場合は、実際のデータが属性の真偽値が真になる条件を満たしているかどうかを判断して真偽値を決めることができる。条件は、ファジィ集合のメンバーシップ関数などの判定機能であってもよい。この場合、属性の元になるデータは、真偽値を持たなくてもよい。実際のデータから特徴データが生成される。
【０２３０】
図１７Ａの属性の元になるデータの一覧と、図１７Ｂの物の名前と物識別子との対応表と、図１８の属性と属性識別子との対応表から生成された物の名前に対応する物識別子と、属性に対応する属性識別子と、真偽値とから、図１９に示されるように、物識別子と物が持つ属性識別子と真偽値とを対応づけた物と属性との一覧表を生成する。物識別子と当該物が持つ属性の属性識別子とがある場合は真偽値が真で、無い場合は真偽値が偽であるという規則を適用することにより、真偽値を省略することもできる。また、属性の実データから生成された特徴データを持ってもよいし、持たなくてもよい。なお、特徴データの識別子を持つことも、特徴データを持つと記述する。属性が１つの主属性と１つの副属性とからなる場合は、表の列位置で主属性と副属性とを区別する。
【０２３１】
図１９に示される物と属性との一覧表から、ある物識別子をキーにして選択された行全体がその物が持つ属性の集合を表わし、選択された各行がその物が持つ属性を表わす。この図は、図３の第２階層に相当する。
【０２３２】
なお、図外の特徴データは、物識別子及び属性識別子と対応付けられている。そして、その特徴データの識別子をキーにして検索することにより、特徴データに対応付けられた物識別子及び属性識別子を取得できる。特徴データとつながっている物及び属性は、その特徴データへのポインタである特徴データの識別子を持っている。
【０２３３】
図２０Ａは、物と主属性と副属性とを対応づけた表である。この表は、物と主属性と副属性とを頂点とする三角形を形作るようにつながった１つの物と、１つの主属性と、１つの副属性との組を表わした例である。物と主属性とを指定してこの表を検索すると、三角形を形作る残りの要素である副属性を取得できる。
【０２３４】
また、図２０Ｂの主属性と副属性との対応表は、主属性と副属性とが対応付けられ、適切な主属性と副属性との組み合わせが保持されている。１つの主属性に対応づけられる副属性は、１つに限らない。ある主属性に対する副属性の対応付けは、１つに限られず、複数あってもよい。この組み合わせから適切な主属性と副属性との組を選び、物と主属性と副属性とを対応づけ、対応づけられた物と主属性と副属性との組を物と属性との一覧表に追加することができる。
【０２３５】
属性が主属性と副属性とから成る場合、１つの属性を構成する主属性と副属性とに同じ特徴データが直接つながり、対応づけられてもよい。１つの属性を構成する主属性と副属性とに対応付けられる特徴データは、それぞれ１つに限られず複数あってもよい。主属性も副属性も属性であり、両者とも１つまたは１つ以上で、１つに限定されない特徴データがつながる。
【０２３６】
物と主属性と副属性とが三角形の形につながるので、三角形を構成する物と主属性と副属性との３つの要素のうち、ふたつを指定すると残りのひとつの要素が決まる。ある物につながる属性が主属性と副属性とから成る場合、その物とその主属性との両方につながる属性を検索し、取得できる。この属性が副属性である。主属性には、大雑把な意味あるいは概念を表わす特徴データがつながっている。副属性には、より詳細な意味あるいは概念を表わす特徴データがつながっている。大雑把な意味あるいは概念を知りたい場合は、その主属性につながる特徴データを取得すればよい。より詳細な意味あるいは概念を知りたい場合は、その副属性につながる特徴データを取得すればよい。
【０２３７】
次に、リレーショナルデータベース１４を用いた場合の（２）知識の演算について説明する。
【０２３８】
２つの属性の集合から共通した属性を選び、選ばれた属性を要素とする属性の集合を新たに生成するこの操作を、ＡＮＤ演算と呼ぶ。２つの属性の集合の少なくともどちらかに含まれる属性を選択し、選択された属性を要素とする集合を新たに生成する操作を、ＯＲ演算と呼ぶ。１つの属性の集合の要素である属性について、真偽値が真の場合は真偽値を偽にし、真偽値が偽の場合は真偽値を真にした属性を生成し、生成された属性を要素とした属性の集合を新たに生成する操作を、ＮＯＴ演算と呼ぶ。２つの属性の集合のどちらか一方にのみ含まれる属性を選択し、選択された属性を要素とする属性の集合を新たに生成する操作を、ＸＯＲ演算と呼ぶ。
【０２３９】
以下に、一実施形態における、属性の集合に対するＡＮＤ演算、ＯＲ演算、ＮＯＴ演算、ＸＯＲ演算、類似度及び非類似度の計算の処理手順を示す。一実施形態における処理手順であり、異なる手順で実施することも可能である。また、ＡＮＤ演算、ＯＲ演算、ＮＯＴ演算、ＸＯＲ演算の定義や、類似度及び非類似度の定義を変えることも可能である。定義を変えれば、処理手順も変わる。
【０２４０】
図２１は、一実施形態におけるＡＮＤ演算の流れ図である。図２１を使ってＡＮＤ演算の処理手順を説明する。
【０２４１】
まず、ＡＮＤ演算の対象となる属性の集合Ａと属性の集合Ｂとを指定する（Ｓ２１）。典型的には、物識別子を指定すると、当該物識別子に対応付けられた０以上の属性識別子の集合が指定されたことになる。次に、属性の集合Ａに属する属性と、属性の集合Ｂに属する属性とのうち、同じ属性識別子を持つ属性を選択する（Ｓ２２）。
【０２４２】
次に、選択された属性のうち、同じ属性識別子で、且つ対応付けられた真偽値が同じである属性を選択し、選択された属性を要素とする属性の集合を新たに生成する（Ｓ２３）。そして、新たに生成された属性の集合をＡＮＤ演算の結果とする。
【０２４３】
一方、属性が真偽値を持たない場合は、共に同じ属性識別子を持っている属性を選択し、選択された属性を要素とする属性の集合を新たに生成する。２つの選択処理を併せて、一致する属性を選択する、と記述する。すると、ＡＮＤ演算は、属性の集合Ａの属性と属性の集合Ｂの属性とについて、一致する属性を選択し、選択された属性を要素とする属性の集合（共通部分）を新たに生成する処理である。
【０２４４】
図２２は、一実施形態におけるＯＲ演算の流れ図である。図２２を使ってＯＲ演算の処理手順を説明する。
【０２４５】
まず、ＯＲ演算の対象となる属性の集合Ａと属性の集合Ｂとを指定する（Ｓ３１）。次に、属性の集合Ａの属性と属性の集合Ｂの属性とのうち、同じ属性識別子を持ち、かつ、真偽値が共に肯定の値または共に否定の値の属性を選択する（Ｓ３２）。また、属性が真偽値を持たない場合は、同じ属性識別子を持つ属性を選択する。２つの選択処理を併せて、一致する属性を選択する、と記述する。なお、この処理は、上述のＡＮＤ演算の結果と一致する。
【０２４６】
次に、属性の集合Ａの属性のうち、属性の集合Ｂに含まれていない属性を選択する。つまり、属性の集合Ａにのみ含まれる属性識別子を選択する。また、属性の集合Ｂの属性のうち、属性の集合Ａに含まれていない属性を選択する。つまり、属性の集合Ｂにのみ含まれる属性識別子を選択する（Ｓ３３）。そして、Ｓ３２及びＳ３３で選択されたすべての属性を要素とする属性の集合を、ＯＲ演算の結果として新たに生成する（Ｓ３４）。
【０２４７】
つまり、真偽値を考慮しない場合、上記の処理で得られる属性の集合は、属性の集合Ａ及び属性の集合Ｂの少なくとも一方に含まれる属性識別子を集めた新たな属性の集合（和集合）となる。一方、真偽値を考慮する場合、上記の処理で得られる属性の集合は、例えば、属性の集合Ａ及び属性の集合Ｂの和集合から、属性の集合Ａ及び属性の集合Ｂのいずれにも含まれ、且つ対応づけられた真偽値が異なる属性を除くことによっても得ることができる。
【０２４８】
図２３は、一実施形態におけるＮＯＴ演算の流れ図である。図２３を使ってＮＯＴ演算の処理手順を説明する。
【０２４９】
まず、演算の対象となる属性の集合を指定する（Ｓ４１）。次に、指定された属性の集合に含まれる全ての属性について、対応付けられた真偽値の値を反転させる。すなわち、真偽値が真の値の場合は偽の値に変え、真偽値が偽の値の場合は真に変えた新たな属性を生成する。そして、生成された属性を集めて新たな属性の集合を生成する（Ｓ４２）。
【０２５０】
図２４は、一実施形態におけるＮＡＮＤ演算の流れ図である。図２４を使ってＮＡＮＤ演算の処理手順を説明する。
【０２５１】
まず、ＮＡＮＤ演算の対象となる属性の集合Ａと属性の集合Ｂとを指定する（Ｓ５１）。次に、属性の集合Ａ及び属性の集合Ｂの属性のうち、属性識別子が同じで、且つ対応付けられた真偽値が同じである属性を選択して、新たな属性の集合を生成する（Ｓ５２）。これは、上述のＡＮＤ演算の結果に相当する。
【０２５２】
次に、新たに生成された属性の集合に含まれる各属性について、対応付けられた真偽値を反転させる。すなわち、真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成する（Ｓ５３）。これは、上述のＮＯＴ演算の結果に相当する。これによって得られた属性の集合を、ＮＡＮＤ演算の結果として出力する。
【０２５３】
図２５は、一実施形態におけるＸＯＲ演算の流れ図である。図２５を使ってＸＯＲ演算の処理手順を説明する。
【０２５４】
まず、ＸＯＲ演算の対象となる属性の集合Ａと属性の集合Ｂとを指定する（Ｓ６１）。次に、属性の集合Ａの属性のうち、属性の集合Ｂに含まれていない属性を選択する。つまり、属性の集合Ａにのみ含まれる属性識別子を選択する。また、属性の集合Ｂの属性のうち、属性の集合Ａに含まれていない属性を選択する。つまり、属性の集合Ｂにのみ含まれる属性識別子を選択する（Ｓ６２）。この処理は、図２２に示されるＳ３３の処理に対応する。そして、Ｓ６２で選択されたすべての属性を要素とする属性の集合を、ＸＯＲ演算の結果として新たに生成する（Ｓ６３）。
【０２５５】
つまり、属性の集合Ａ及び属性の集合Ｂの一方にのみ含まれる属性識別子を集めた新たな属性の集合が生成される。なお、上記の処理で得られる属性の集合は、例えば、属性の集合Ａ及び属性の集合Ｂの和集合（ＯＲ演算の結果）から、属性の集合Ａ及び属性の集合Ｂの共通部分（ＡＮＤ演算の結果）を除くことによっても得ることができる。
【０２５６】
図２６は、一実施形態における共通度を計算する処理の流れ図である。図２６を使って、共通度の計算の処理手順を説明する。
【０２５７】
まず、演算対象となる属性の集合Ａと属性の集合Ｂとを指定する（Ｓ７１）。次に、属性の集合Ａと属性の集合Ｂとに含まれる属性のうち、属性識別子が同じで、且つ対応付けられた真偽値が同じ属性を選択する（Ｓ７２）。属性が真偽値を持っていない場合は、同じ属性識別子を持つ属性を選択する。２つの選択処理を併せて、一致する属性を選択する、と記述する。副識別子が異なっていても主識別子が同じであれば、属性が同じであるとしてもよい。
【０２５８】
そして、選択された属性の数を計数した結果を共通度として出力する（Ｓ７３）。一致する属性を選択する条件は、一例であり、他の条件でもよい。物と属性とのつながりがつながりの程度を表わす重みを持つ場合、組数を数える代わりにその重みの値を合計してもよい。
【０２５９】
なお、共通度の計算処理において、副識別子に関係なく主識別子が同じかどうかだけを判断基準にすると、類似度の計算処理になる。
【０２６０】
図２７は、一実施形態における非共通度を計算する処理の流れ図である。図２７を使って、非共通度の計算の処理手順を説明する。
【０２６１】
まず、演算対象となる属性の集合Ａと属性の集合Ｂとを指定する（Ｓ８１）。次に、属性の集合Ａと属性の集合Ｂの属性とのうち、同じ属性識別子を持ち、かつ、対応付けられた真偽値が異なる属性を選択する（Ｓ８２）。属性が真偽値を持っていない場合は、一方の属性の集合にしか存在しない属性を選択する。２つの選択処理を、不一致の属性を選択する、と記述する。
【０２６２】
そして、選択された属性の数を計数した結果を非共通度として出力する（８３）。不一致の属性を選択する方法は、一例であり、他の選択条件でもよい。物と属性とのつながりがつながりの程度を表わす重みを持つ場合、組数を数える代わりにその重みの値を合計してもよい。
【０２６３】
なお、共通度の計算処理において、副識別子に関係なく主識別子が同じかどうかだけを判断基準にすると、非類似度の計算処理になる。
【０２６４】
前述の演算処理では、あらかじめ保持された演算部１０７０によって、属性の集合の各属性に対する処理が自動的に行われる。この論理演算システムの利用者は、各属性に対する処理を個別に指示しない。この論理演算システムの利用者は、物または属性の集合を演算の対象として指定すると、物が持っている属性または属性集合の属性に対して、自動的に演算が行われる。
【０２６５】
リレーショナルデータベース１４を用いた場合の（３）知識の集まりと知識のネットワークについて説明する。
【０２６６】
物は、例えば、図１９に示される物と属性との一覧表というデータ構造で、データベースに保持されている。１つ以上の属性を指定して、指定されたすべての属性を持つ物を属性の一覧表から選択する。すると、指定されたすべての属性を持つ物からなる物の集まりが生成される。これを知識の集まりと呼ぶ。ある知識の集まりを生成するために使ったすべての属性だけを１つの物につなぐと、その物は知識の集まりを意味する抽象的な物になる。
【０２６７】
知識の集まりであることを表わす属性を、知識の集まりを表わす抽象的な物に直接つないで対応づけたほうがよい。たとえば、知識の集まり表わす抽象的な物を識別する識別データが直接つながる属性または知識の集まりを表わす抽象的な物を特徴づける特徴データが直接つながる属性を、その知識の集まりを表わす抽象的な物につなぐ。すると、その知識の集まりを表わす抽象的な物とその知識の集まりに含まれる物を区別しやすくなる。
【０２６８】
この知識の集まり中には、他の物とつながっていない物があることもある。知識の集まりにおいて、物同士のつながりが全くないこともある。また、ある物が他の物とつながっていることもある。ある知識の集まりの中の物すべてがつながりあっていることもある。つながり合った物が、知識ネットワークになる。１つの知識の集まりの中に、つながり方の異なる知識ネットワークがいくつか存在する場合もある。知識の集まりの外の物とつながってもよいし、知識の集まりと関係なく物をつないでもよい。
【０２６９】
知識の集まりの中の物は、知識ネットワークに属して他の物とつながることにより他の物との関係が明確になる。言い換えると、知識ネットワークは、体系化された知識を表現している。家族という知識の集まりの中に、年齢順という関係でつながった知識ネットワークを作ることもできるし、親子関係という関係で知識ネットワークを作ることもできる。１つの知識の集まりの中に、複数の知識ネットワークを作ることもできる。
【０２７０】
ある知識の集まりの中にある知識ネットワーク内の物が、他の知識の集まりの中にある別の知識ネットワークに属す場合もある。たとえば、ひとりの人は、家族という知識ネットワークに属すと同時に、学校という知識ネットワークに属する場合がある。
【０２７１】
図２８Ａ〜図２８Ｃは、図１５の知識ネットワークを実現するデータ構造の一実施形態である。
【０２７２】
図２８Ａは、物の名前８７と物識別子８８との対応表８６であり、図１７Ｂの物の名前と物識別子との対応表に相当する。この対応表８６は、物の名称を言葉で記述した文字列である単語と、物識別子８８とを対応づけている。図２８Ｂは、知識ネットワークと属性との対応表１０１であり、知識ネットワークを特徴づける属性識別子１０３と、知識ネットワーク識別子１０２とを対応づけている。
【０２７３】
知識ネットワークと属性との対応表１０１において、ある知識ネットワークを特徴づけるすべての属性の属性識別子だけを１つの物識別子につなぐ。すると、その物識別子で識別される物は、その知識ネットワークを表わす抽象的な物になる。同じ属性によって生成される知識の集まりを表わす抽象的な物と区別するために、知識ネットワークを表わす属性と知識ネットワークを表わす抽象的な物とをつなぐ方がよい。また、この対応表１０１の各行、つまり、各知識ネットワーク識別子１０２と属性識別子１０３との組に、付属情報として重みを直接対応づけてもよい。この重みは、その知識ネットワークと属性との関連性の強さを表わす。
【０２７４】
図２８Ｃを使って、さらに詳しく説明する。
【０２７５】
知識ネットワーク内での物であるノード８０は、物識別子８１を１つだけ持っている。さらに、物であるノード８０は、知識ネットワーク情報８４を持つことができる。物であるノードが属している知識ネットワーク１つにつき、１つの知識ネットワーク情報が、その物であるノードに保持される。１つの物であるノード８０が持つ知識ネットワーク情報８４の数は、０個でも１個でもよく、１個に限らず複数個でもよい。知識ネットワーク情報８４は、０個以上の順方向ポインタ８２と、０個以上の逆方向ポインタ８３と、１つの知識ネットワーク識別子８５とからなる。順方向ポインタ８２と逆方向ポインタ８３とが共に０個の場合は、物であるノード８０が１個の知識ネットワークになる。
【０２７６】
例えば、物であるノードＡが物であるノードＢとつながっているとする。ノードＡからノードＢへ一方向につながっている場合には、ノードＡは、順方向ポインタ８２にノードＢの物識別子を保持し、ノードＢは、逆方向ポインタ８３にノードＡの物識別子を保持する。このようにすると、つながりの方向を表わすことができ、かつ、つながりの方向である順方向にも、つながりの逆方向である逆方向にも簡単に移動できる。一方、ノードＡとノードＢとが双方向につながっている場合には、ノードＡは、順方向ポインタ８２にノードＢの物識別子を保持し、ノードＢは、順方向ポインタ８２にノードＡの物識別子を保持する。
【０２７７】
方向のあるポインタの始点を上位、終点を下位と呼び区別してもよいし、方向のあるポインタの始点を下位、終点を上位と呼び区別してもよい。また、双方向ポインタでつながっている場合、上位下位の区別がないので並列と呼んでもよい。
【０２７８】
また、物であるノードＡが、物であるノードＣに直接つながっているかどうかを簡単に調べることができる。ノードＣの物識別子を持った順方向ポインタ８２または逆方向ポインタ８３を、ノードＡが持っているかどうかを調べればよい。つながっている２つの物であるノードＡ、Ｃが、それぞれ他方につながる順方向ポインタ８２を持っている場合は、双方向につながっている。つながっている２つのノードＡ、Ｃの一方が順方向ポインタ８２に他方の物識別子を保持し、他方が逆方向ポインタ８３に一方の物識別子を保持している場合は、一方向につながっている。
【０２７９】
また、ノード８０の知識ネットワーク情報８４は、さらに重み１００を持ち、その重み１００がその知識ネットワークとその物との関連性の強さを表わしてもよい。重み１００を保持しなくてもよい。物であるノード８０が、知識ネットワーク識別子８５と重み１００とを併せて保持することにより、物と知識ネットワークとの関連の強さを表現できる。物が属している知識ネットワークを選択するとき、この重み１００を判断基準にすることができる。重み１００の値がより大きい知識ネットワークを選択する、重み１００の値がより小さい知識ネットワークを選択する、あるいは、重み１００の値が指定された範囲の知識ネットワークを選択するなど、ある知識ネットワークから別の知識ネットワークに移る場合に、重み１００を選択基準にすることができる。
【０２８０】
さらに、図２８Ｃには描かれていないが、１つの知識ネットワーク情報８４の順方向ポインタ８２又は逆方向ポインタ８３がそれぞれ重みを持ち、そのポインタで示されるノードとのつながりの強さの程度を表わしてもよい。これにより、いくつかのポインタの中から１つのポインタを選択する場合の基準として重みを利用できる。
【０２８１】
知識ネットワーク識別子８５は、知識ネットワークを識別する識別子である。複数の属性を指定して生成された知識の集まりの中の知識ネットワークは、複数の属性によって特徴づけられる。もちろん１つの属性によって特徴づけられた知識ネットワークもありうる。知識ネットワーク識別子８５は、知識ネットワークを特徴づける属性すべてとつながると、知識ネットワークを特徴づける属性を持ち、その知識ネットワークを表わす抽象的な物になる。選択に用いられた属性以外の属性がその知識ネットワーク識別子とつながってもよい。
【０２８２】
知識の集まりと関係なく作られた知識ネットワークは、その知識ネットワークの特徴を表わす属性で知識ネットワークを識別してもよい。１つの知識の集まりの中に複数の知識ネットワークがある場合は、各知識ネットワークを特徴付ける属性を追加して、それらを区別する。このようにすると、１つの知識の集まりの中の複数の知識ネットワークから１つの知識ネットワークを選ぶことが容易になる。
【０２８３】
図２９は、ノードのデータ構造の一実施形態である。図２９の上段に示される物と知識ネットワークとの対応表は、知識ネットワーク識別子と物識別子とを対応づける。物識別子を検索キーに指定して検索すると、当該物識別子で識別される物が属している知識ネットワーク識別子がわかる。知識ネットワーク識別子と物識別子と重みとを対応づけてもよい。もちろん、この重みは無くてもよい。この重みは、知識ネットワークと物との関連性の程度を表わす。
【０２８４】
図２９の下段に示されるポインタ一覧は、物識別子と知識ネットワーク識別子との組み合わせに、順方向ポインタと逆方向ポインタとをさらに対応付ける。この図では、順方向ポインタと逆方向ポインタとの２つのポインタに分けているが、１つのポインタと順方向か逆方法かを表わす情報との対にしてもよい。これらのポインタは、知識ネットワーク内での物のつながりを表わしている。ポインタは、つながっている他の物の物識別子を持っている。使っていないポインタの値をＮＵＬＬのような特別な値にしてもよい。ポインタに重みも持たせてもよい。この重みは、つながっている他の物との関連の程度を表わす。この重みは無くてもよい。ノードは、物と知識ネットワークとの対応表とポインタ一覧とから成る。
【０２８５】
知識ネットワーク識別子と物識別子とを指定してポインタ一覧を検索する。検索結果の中から、その知識ネットワーク内でその物とつながっている他の物の物識別子を持つポインタが取得できる。
【０２８６】
ポインタから取得された別の物の物識別子とネットワーク識別子とを検索キーにしてポインタ一覧を検索すると、別の物が持つポインタを取得できる。この処理は、ポインタで指し示された物識別子であるノードを取得したことになる。このように、ポインタが持っている物識別子を取得することは、知識ネットワーク内で、ポインタを辿って、ポインタで指定された物に移動したことを意味する。つまり、知識ネットワーク内で、互いにつながっているある物から別の物に移動することを意味する。ポインタ一覧から、知識ネットワーク識別子と物識別子と、ポインタとを削除することが、物と物とのつながりを削除することである。ポインタ一覧に、知識ネットワーク識別子と物識別子とポインタとを追加することが、物と物とをつなぐことである。
【０２８７】
知識ネットワークを特徴づける属性の属性識別子と知識ネットワーク識別子とを、次のようにして対応づける。
【０２８８】
１つの知識ネットワーク識別子と複数の属性識別子とを対応づける場合は、次のようにする。複数の属性それぞれを識別する属性識別子と当該知識ネットワーク識別子との組を属性の数だけつくり、これらの組を図２８Ｂに示される知識ネットワークと属性との対応表１０１に追加する。知識ネットワーク識別子をキーにして、知識ネットワークと属性との対応表１０１を検索すると、この知識ネットワークを特徴づける属性の属性識別子を知ることができる。逆に、１つの属性識別子をキーにして、知識ネットワークと属性との対応表１０１を検索する。検索結果に対して、さらに別の属性識別子をキーにして検索をする。これを繰り返すと、検索に使ったすべての属性によって特徴づけられた知識ネットワークの知識ネットワーク識別子が取得できる。
【０２８９】
このようにすると、複数の属性で特徴づけられた知識ネットワーク、すなわち、特定の分野の知識ネットワークを取得することができる。知識ネットワークと対応づけられる属性は、その知識ネットワーク内のすべての物が持つ属性から選んでもよいし、一部の物が持っている属性でもよい。また、その知識ネットワーク内の物が持っていない属性でもよい。その知識ネットワーク特有の属性を生成して、知識ネットワークと対応づけてもよい。図２９の物と知識ネットワークとの対応表を、知識ネットワーク識別子を検索キーにして検索すれば、その知識ネットワークに属する物の物識別子を取得することもできる。
【０２９０】
物であるノードは、物識別子と知識ネットワーク識別子とを持っているので、知識ネットワーク識別子をキーにしてノードを検索すれば、その知識ネットワーク識別子を持っている物識別子が取得できる。つまり、その知識ネットワークに含まれる物がわかる。
【０２９１】
順方向ポインタと逆方向ポインタとの組は、ノード間の矢印に相当する。順方向ポインタは、矢印の方向につながったノードに移動する場合に用いる。逆方向ポインタは、矢印と逆方向につながったノードに移動する場合に用いる。ポインタに重みを保持させ、ポインタで直接関連付けられた物とそのポインタを持つ物の関連の強さを表現できる。
【０２９２】
図３０の表は、属性の階層情報の例である。属性を階層化する場合の属性の階層情報の一実施形態である。この例は、いわゆるリスト構造というデータ構造である。１つの属性の属性識別子は、上位階層へのポインタと下位階層へのポインタとを保持する。上位階層の属性へのポインタは、上位階層の属性の属性識別子を保持する。下位階層へのポインタは、下位階層の属性の属性識別子を保持する。属性が、上位階層へのポインタまたは下位階層へのポインタを持たない場合は、その上位階層または下位階層へのポインタは、ポインタが無いことを表わすＮＵＬＬなどの特別な値とする。
【０２９３】
属性識別子を検索キーに指定して、上位階層へのポインタの列を検索すれば、指定された属性の下位の属性が選択される。属性識別子を検索キーにして、下位階層へのポインタの列を検索すれば、指定された属性の上位の属性が選択される。属性識別子を検索キーにして、属性識別子の列を検索すれば、指定された属性の上位階層へのポインタおよび下位階層へのポインタが選択される。
【０２９４】
属性の階層情報で階層化された属性をいくつか選ぶ。選ばれた属性の１つをキーにして図１９に示される物と属性の一覧表を検索すると、その属性を持つ物が選択される。選ばれた属性すべてで前述の検索を繰り返す。これらの検索で選択された物だけを集めて知識の集まりをつくる。このようにすると、ある範囲の階層化された属性のどれかを持つ知識の集まりができる。たとえば、この知識の集まりにおいて上位の属性を持つ物から直下の階層の属性を持つ物をつなぐと、階層化された知識ネットワークができる。
【０２９５】
次に、リレーショナルデータベース１４を用いた場合の（４）知識の集まりと知識ネットワークの利用方法について説明する。
【０２９６】
まず、図３１を参照して、知識の集まりの使用例を説明する。まず、いくつかの属性の属性識別子をキーに指定して、図１９に示される物と属性との一覧表を検索すれば、検索に使ったすべての属性を持つ物だけが集まった、知識の集まりが生成できる（Ｓ１３１）。次に、与えられた物の物識別子をキーに指定して、生成された知識の集まり検索する（Ｓ１３２）。生成された知識の集まりの中に検索キーの物識別子が存在すれば、その物は、その知識の集まりを生成する際に指定された属性を全て持っていると判断できる（Ｓ１３３）。
【０２９７】
具体例として、ある学校の卒業生という知識の集まりが生成されているとする。鈴木さんの識別子でこの卒業生の知識の集まりを検索する。鈴木さんの識別子が選択できれば、鈴木さんはこの学校の卒業生であると判断できる。あらかじめ与えられた１つまたは１つ以上の属性識別子を指定して生成された知識の集まりに、あらかじめ与えられた物が含まれている場合、与えられた物は、与えられた属性である条件を満たしていると判断される。
【０２９８】
仮説において、ネットワーク化された知識の利用方法を説明した。仮説で説明した利用方法を実施する手順を、図２８Ａ〜図２８Ｃを使って説明する。
【０２９９】
知識ネットワークを生成又は削除する、物を知識ネットワークに追加又は削除する、物同士のつながりを追加、削除、又は変更するなどが学習である。追加と削除とを組み合わせることにより、つながりを変えることができる。つまり、不要となったつながりを削除し、新しいつながりを追加すると、つながりが変更される。物の付属情報である属性を追加すること、及び削除することも学習である。属性に特徴データ又は識別データを追加又は削除することも学習である。
【０３００】
次のようにして知識ネットワークを生成することができる。
【０３０１】
まず、新規に生成する知識ネットワークの知識ネットワーク識別子を決める。次に、新規に生成する知識ネットワークを特徴づける属性を決める。そして、決められたネットワーク識別子と決められた属性の属性識別子との組を、図２８Ｂに示される知識ネットワークと属性との対応表１０１に追加する。知識ネットワークを特徴づける属性が複数ある場合は、属性の数だけ、決められたネットワーク識別子と決められた属性識別子との組をつくり、知識ネットワークと属性との対応表１０１に追加する。これで、知識ネットワークと属性とが対応づけられる。このようにして知識ネットワーク情報８４を生成できる。ただし、このままでは、知識のない知識ネットワークである。
【０３０２】
次に、知識である物を知識ネットワークに追加する。物であるノード８０に知識ネットワーク情報８４を追加すれば、その物が知識ネットワークに追加される。具体的には、図２９の物と知識ネットワークとの対応表に、知識ネットワーク識別子と物識別子とを対応付けて追加する。これでノードに知識ネットワーク情報が追加された。
【０３０３】
次に、知識ネットワーク内の物同士をつなぐ。知識ネットワーク情報８４に順方向ポインタ８２及び逆方向ポインタ８３を追加すると、物と物とをつなぐことができる。つなぐ２つの物は、すでに当該知識ネットワーク情報８４を持っているとする。具体的には、図２９のポインタ一覧に、順方向ポインタ及び逆方向ポインタを追加すれば、物と物とがつながる。一方の物識別子と知識ネットワーク識別子とに、他方の物識別子が設定された順方向ポインタ又は逆方向ポインタを対応づけて、ポインタ一覧に追加する。同様に、他方の物識別子と知識ネットワーク識別子とに、一方の物識別子が設定された順方向ポインタ又は逆方向ポインタを対応づけて、ポインタ一覧に追加する。これで、２つの物がつながる。
【０３０４】
前者の物と後者の物とがお互いの物識別子を順方向ポインタに設定した場合は、２つの物は、双方向につながる。前者の物と後者の物との一方が順方向ポインタに他方の物識別子を設定し、他方が逆方向ポインタに一方の物識別子を設定すれば、２つの物は一方向につながる。
【０３０５】
次のようにして物のつながりをなくすことができる。
【０３０６】
つながっている２つの物は、お互いに相手の物識別子が設定されたポインタを持っている。２つのポインタをポインタ一覧から削除すると、２つの物のつながりを削除できる。ある知識ネットワーク内で、ある物についてポインタ一覧にある物識別子が設定されたポインタが１つも存在しなくなった場合、その物をその知識ネットワークから削除してもよい。物と知識ネットワークとの対応表から、その知識ネットワーク識別子とその物識別子とを対応付ける行を削除すれば、その物はその知識ネットワークから削除される。
【０３０７】
次のようにして、物の付属情報である属性を追加又は削除する。
【０３０８】
物識別子と属性識別子とをキーにして図１９に示される物と属性との一覧表を検索する。選択された行を削除すると、その属性と物とのつながりを削除できる。属性そのものを削除しているわけではない。物識別子と属性識別子との対応関係を物と属性との一覧表に追加すると、属性を物に追加できる。
【０３０９】
次のようにして２つ物の間に新しく物を追加できる。まず、前述の手順で、新しい物を２つの物につなぐ。次に、前述の手順で、２つの物同士のつながりを削除する。
【０３１０】
次のようにして、与えられた属性を使って物の認識を行う。
【０３１１】
与えられたいくつかの属性の中から１つの属性を取り出し、その属性の属性識別子をキーにして、物と属性との一覧表を検索する。次に、残りの与えられた属性の中から１つの属性を取り出し、取り出された属性の属性識別子をキーにして検索結果をさらに検索する。与えられた属性すべてについて、これを繰り返し、選択行の物識別子が１種類になれば、その物識別子が、与えられた属性をすべて持つ物を表わす。与えられた属性によって物を識別したことになる。
【０３１２】
与えられた属性すべてについて検索を繰り返しても、物識別子が複数種類ある場合は、複数の物識別子が、識別される物の候補であることが分かる。この場合は、属性を追加して、物識別子が１種類になるまで繰り返せばよい。
【０３１３】
属性は、次のようにして選択される。知識ベースシステムに入力された情報から生成された特徴データまたは識別データと同じと判断された知識ベース内の特徴データまたは識別データが選択され取得される。選択され取得された特徴データまたは識別データに直接つながり、直接対応づけられた属性が選択され取得される。この選択され取得された属性を使って前述のように物の認識が行われる。
【０３１４】
次のようにして、推論を行う。
【０３１５】
２つの物を指定し、ポインタを辿りながら一方の物から他方の物へ移動する経路を探す。移動する経路が見つかれば、２つの物の間になんらかの関係がある可能性がある。この処理が推論に対応づけられる。つながりに方向がある場合は、順方向ポインタと逆方向ポインタの両方を使う方法と、順方向ポインタと逆方向ポインタのどちらか一方だけを用いる方法がある。この処理が推論に対応づけられる。
【０３１６】
図３２に示されるように、まず、出発点となる物の物識別子、つまり出発点のノードを指定する（Ｓ１４１）。この物識別子をキーにして、図２９に示される物とネットワークとの対応表を検索すれば、当該物識別子で識別される物が属する知識ネットワークの知識ネットワーク識別子を得ることができる。
【０３１７】
次に、物識別子と知識ネットワーク識別子とをキーとして、ポインタ一覧を検索すれば、知識ネットワーク識別子で指定された知識ネットワーク内において、物識別子で指定された物の順方向ポインタ又は逆方向ポインタを取得することができる（Ｓ１４２）。
【０３１８】
次に、取得された順方向ポインタ又は逆方向ポインタに設定された物識別子を参照すれば、最初に指定した物識別子で識別される物に関連付けられた物（ノード）が取得できる（Ｓ１４３）。上記の処理を繰り返せば、同じ知識ネットワーク内にも他の知識ネットワークへも移動できる。移動した物識別子を順に記録すれば、その記録が移動した経路になる。
【０３１９】
１つの物を出発点として、ポインタを辿りながらつながっている他の物へ移動する。出発点の物とたどり着いた物とには、何らかの関係がある可能性がある。この処理も推論である。ある物が複数の物につながっているとき、各ポインタの重みを比較して、一番関連の程度が大きいポインタを選択して移動することができる。ある物から別の知識ネットワークに移動する場合、各知識ネットワーク情報が持つ重みを比較して、一番関連の程度が小さい知識ネットワークに移動することもできる。
【０３２０】
このように、１つの知識ネットワーク内を移動して、または、複数の知識ネットワークを移動することにより、物と物とが関連する可能性を見つけることができる。２つの物が関連する可能性があると分かれば、共通度、非共通度、類似度などを求めて、２つの物が関連するかどうかの判断材料を生成できる。ここで記号論理を使えば、２つの物が関連するかどうかの精緻な判断ができる。
【０３２１】
図３３では、音声によって言語の中の「Ｄｏｇ」という単語が、知識ベースシステムに入力され、識別データが生成され、一実施形態の知識ベースに格納されている。音声で「Ｄｏｇ」という単語が入力されると、特徴抽出部１０２０によって音声データの識別データが生成される。また、単語としての「Ｄｏｇ」という文字の映像が入力されると、特徴抽出部１０２０によって画像の識別データが生成される。さらに、単語の文字コードとしての「Ｄｏｇ」が入力されると、特徴抽出部１０２０によって文字コードの識別データが生成される。
【０３２２】
図３３では、「Ｄｏｇ」を発音記号で表記しているが、識別データの表現形式はこれに限定されず、上述の音声データ、映像データ、又は文字コードなどであってもよい。例えば、マイクから入力された音の場合、１００ヘルツの音の強さは５５、２００ヘルツの音の強さは１５６・・・、等というように、周波数成分ごとの信号強度を表すバイナリデータあるいは数値が並んだパターンデータが、識別データになる。図３３等の音符のマークで表されている特徴データおよび識別データは、上記の音データあるいは音のパターンデータである。
【０３２３】
なお、知識ベース内において、識別データは、意味や概念を直接表すものとして利用されない。この知識ベース内では、特徴データだけが意味や概念を直接保持し表わしているので、特徴データを取得しなければ意味や概念は判らない。
【０３２４】
また、一実施形態の知識ベースは物や属性を含んでいる。たとえば、図３３に示される物（３００３）は、犬を表わす。また、属性（１００３）は、犬の外観という特徴を代表し表わす。なお、以降の説明において、「物（ｘｘｘｘ）」はｘｘｘｘという物識別子を指し、「属性（ｙｙｙｙ）」はｙｙｙｙという属性識別子を指すものとする。
【０３２５】
図３３を使って、一実施形態の知識ベースにデータが格納され、知識が蓄積される過程の一例を説明する。これは、あくまでも一例でありこれ以外の過程もある。
【０３２６】
まず、犬の映像がカメラで撮影され、その映像データが本願技術の一実施形態である知識ベースシステム１０００に入力される。入力装置であるカメラが犬の映像を撮影し、撮影された映像データがデータ入力部１０１０によって知識ベースシステム１０００に入力される。データ入力部１０１０が受け取った入力データである映像データは、特徴抽出部１０２０に渡される。特徴抽出部１０２０は、入力データから特徴を抽出し、特徴データを生成する。
【０３２７】
生成された特徴データは、データ比較部１０３０に渡される。データ比較部１０３０は、すでに格納されている特徴データと渡された特徴データとを比較し、同じ特徴データがあるかどうかを調べる。同じ特徴データがない場合、データ格納部１０４０は、渡された特徴データを知識ベースに格納し、知識ベース内に新たに属性を生成し、格納された特徴データと新たに生成された属性とをつなぐ。さらにデータ格納部１０４０は、知識ベース内に新たに物を生成し、新たに生成された物と生成された属性とをつなぐ。その結果、映像を直接発した対象物である犬と間接的に対応づけられた物が、知識ベース内に生成される。知識ベース内の物は、対象物と直接対応づけられてはいない。
【０３２８】
図３３のステップ１の物の追加による学習処理を説明する。
【０３２９】
対象物である犬の映像がカメラで撮影されているときに、マイクから犬の鳴き声「ｂｏｗｗｏｗ」が知識ベースシステム１０００に入力されたとする。
【０３３０】
対象物である子犬の映像がカメラで撮影され、知識ベースシステム１０００のデータ入力部１０１０に入力される。データ入力部１０１０に入力された映像データは、特徴抽出部１０２０に渡される。特徴抽出部１０２０は、入力された映像データから特徴データを生成する。データ比較部１０３０は、同じ特徴データが既に知識ベース内にあるか調べる。同じ特徴データがないので、データ格納部１０４０は、その特徴データを知識ベースに格納し、図３３の属性（１０２１）を生成し、格納された特徴データを属性（１０２１）につなぐ。
【０３３１】
さらに、データ格納部１０４０は、図３３の物（３００３）を生成し、属性（１０２１）と物（３００３）とをつなぐ。このようにして、知識ベースシステム１０００は、知識ベースシステム１０００外から情報を受け取り、受け取った情報から特徴データを生成し、生成された特徴データを知識ベースに格納する。属性が生成され、格納された特徴データはその属性につながる。さらに物が生成され、生成された属性は生成された物につながる。特徴データが、属性を介して、新たに生成された物につながることは、物の追加による学習である。
【０３３２】
マイクから入力された犬の鳴き声に対しても同じように入力処理が行われる。マイクを通してデータ入力部１０１０に入力された犬の鳴き声「ｂｏｗｗｏｗ」という音声データは、特徴抽出部１０２０に渡される。特徴抽出部１０２０は、取得した音声データから特徴データを生成する。データ比較部１０３０は、同じ特徴データが知識ベース内にないと判断する。すると、生成された特徴データはデータ格納部１０４０によって、知識ベースに格納される。データ格納部１０４０は、図３３の属性（１０１１）を生成し、格納された特徴データを属性（１０１１）につなぐ。図には描かれていないが、物が生成され、生成された物に属性（１０１１）がつながるようにしてもよい。もちろん、この物を生成しなくてもよい。
【０３３３】
操作者からキーボード入力やマウス操作があると、学習部１０５０は次のような学習処理を行う。物が生成され、続けて特徴データが生成されると、自動的に次のような学習処理を開始してもよい。ステップ１の入力開始時にキーボード入力やマウス操作などを行うことにより、あらかじめ学習処理を指示してもよい。
【０３３４】
まず学習部１０５０は、最初に生成され格納された知識ベース内の特徴データ、または、最初に生成された特徴データと同じと判断された知識ベース内の特徴データを取得する。検索部１０６０は、取得された特徴データにつながる属性（１０２１）を取得する。さらに検索部１０６０は、取得された属性（１０２１）につながる物（３００３）を取得する。学習部１０５０は、取得された物（３００３）を取得し、物（３００３）を認識する。
【０３３５】
次に学習部１０５０は、犬の鳴き声「ｂｏｗｗｏｗ」から生成され、後から格納された特徴データ、または、後から生成された特徴データと同じと判断された知識ベース内の特徴データを取得する。検索部１０６０は、その特徴データにつながる属性（１０１１）を取得する。この時点では、２つの属性（１０２１、１０１１）は、同じ１つの物に直接つながっていないので、学習部１０５０は次の処理を行う。
【０３３６】
学習部１０５０は、認識された物（３００３）と、後から生成され、認識された物（３００３）と直接つながらない属性（１０１１）をつなぐ。物（３００３）は、属性（１０１１）を経由して犬の鳴き声の特徴データを持つ物になる。図３３のステップ１は、この状態である。
【０３３７】
なお、連続して入力されたかどうかの基準、つまり時間間隔の基準は、あらかじめ知識ベースシステム１０００に保持されている。もちろん、知識ベースシステム１０００外から新たな基準を受け取り、その基準を保持し、基準を追加変更することもできる。同じであるかどうかの判断基準もあらかじめ知識ベースシステム１０００内に保持されている。もちろん、知識ベースシステム１０００外から新たな基準を受け取り、その基準を保持し、基準を追加変更することもできる。
【０３３８】
前述のように知識ベースに特徴データが格納され、知識ベースが構築されると、次のような認識処理ができる。たとえば、犬の鳴き声がマイクを通して知識ベースシステム１０００のデータ入力部１０１０に入力されたとする。データ入力部１０１０から特徴抽出部１０２０に犬の鳴き声の音声データが渡され、渡された音声データから特徴抽出部１０２０で特徴データが生成される。データ比較部１０３０が生成された特徴データを受け取り、知識ベース内に同じ特徴データがあるか調べる。同じ特徴データが見つかると、検索部１０６０は見つかった特徴データにつながった属性（１０１１）を取得する。さらに検索部１０６０は、属性（１０１１）につながっている物（３００３）を取得し、認識する。
【０３３９】
知識ベースシステム１０００に入力された犬の鳴き声によって、その鳴き声を直接発する対象物が物（３００３）であることを認識したことになる。さらに検索部１０６０は、物（３００３）につながった他の属性（１０２１）を取得し、その属性（１０２１）につながった犬の映像から生成された他の特徴データを取得できる。取得された特徴データは、認識された対象物から直接発せられた映像という情報から生成された特徴データである。このように、物（３００３）の認識に使われた鳴き声以外の他の特徴データが取得できる。出力部１０８０は、取得された映像から生成された特徴データを受け取ると、その特徴データをもとにして出力装置である表示装置に犬の映像を表示する。
【０３４０】
このように鳴き声によって対象物を認識し、認識された対象物である犬の映像を出力できる。
【０３４１】
図３３のステップ２の特徴データの追加による学習処理を説明する。
【０３４２】
マイクから犬の鳴き声「ｂｏｗｗｏｗ」が知識ベースシステム１０００に入力されたとする。マイクを通してデータ入力部１０１０に入力された音声データは、特徴抽出部１０２０に渡され特徴データが生成される。データ比較部１０３０は、生成された特徴データを受け取り知識ベース内に同じ特徴データがあるか調べる。同じ特徴データが見つかると、検索部１０６０は、見つかった同じ特徴データにつながった属性（１０１１）を取得する。さらに、検索部１０６０は、属性（１０１１）につながった物（３００３）を取得する。以上の処理により、マイクで入力された犬の鳴き声「ｂｏｗｗｏｗ」によって物（３００３）が認識された。
【０３４３】
同じであるかどうかを判断する判断基準は、知識ベースシステム１０００にあらかじめ備えられている。また、知識ベースシステム１０００外から新たな判断基準を取得し、保持することもできる。同じであるかどうかを判断する判断基準を同一基準と呼ぶ。
【０３４４】
続いて、別の大きな犬の映像がカメラで撮影され、知識ベースシステム１０００のデータ入力部１０１０に入力される。データ入力部１０１０に入力された映像データは、特徴抽出部１０２０に渡される。特徴抽出部１０２０は、入力された映像データから特徴データを生成する。生成された特徴データを受け取ったデータ比較部１０３０は、同じ特徴データが知識ベース内にあるか調べる。この場合、同じ特徴データはないと判断される。データ格納部１０４０は、生成された特徴データを知識ベース内に格納し、図３３の属性（１０２２）を生成し、格納された特徴データを生成された属性（１０２２）につなぐ。図には描かれていないが、データ格納部１０４０によって物が生成され、生成された物と属性（１０２２）がつながってもよい。この物を生成しなくてもよい。
【０３４５】
操作者からキーボード入力やマウス操作があると、学習部１０５０は次のような学習処理を行う。連続して２つの特徴データが生成されると、自動的に次のような学習処理を開始してもよい。入力の前にキーボード入力やマウス操作を行うことによって、あらかじめ学習処理を指示してもよい。
【０３４６】
まず学習部１０５０は、犬の鳴き声「ｂｏｗｗｏｗ」から生成され、最初に渡された特徴データと同じと判断された、知識ベース内の特徴データを取得する。検索部１０６０は、取得された特徴データにつながる属性（１０１１）を取得する。さらに検索部１０６０は、取得された属性（１０１１）につながる物（３００３）を取得する。学習部１０５０は、取得された物（３００３）を取得し、物（３００３）を認識する。次に学習部１０５０は、大きな犬の映像から生成され、後から渡され格納された特徴データを取得する。検索部１０６０は、その特徴データにつながる属性（１０２２）を取得する。取得された２つの属性（１０１１、１０２２）が同じ物につながっていないので、学習部１０５０は次の処理を行う。
【０３４７】
学習部１０５０は、認識された物（３００３）と、後から取得され、認識された物（３００３）と直接つながらない属性（１０２２）とをつなぐ。物（３００３）は、属性（１０２２）だけを経由して、大きな犬の映像から生成された特徴データを持つ物になる。
【０３４８】
図３３のステップ３の特徴データの統合による学習処理を説明する。この学習処理は、ステップ２の特徴データの追加による学習処理の後に行われる、知識ベースに格納された特徴データの統合処理である。２つの異なる属性につながる特徴データを、共通の１つの属性につなぐ処理である。ステップ２の入力処理後、マウス操作やキーボード入力による統合処理の指示があると、学習部１０５０が次のような統合処理を行う。ステップ２の開始時に統合処理を行うことをマウス操作やキーボード入力で指示してもよい。
【０３４９】
カメラから小さな犬の映像が入力され、特徴抽出部１０２０によってその特徴データが生成される。データ比較部１０３０は、生成された特徴データと同じ特徴データが知識ベース内にあるか調べる。同じ特徴データが知識ベース内にあるので、その特徴データとつながる属性（１０２１）が検索部１０６０によって取得される。さらに、取得された属性（１０２１）につながる物（３００３）が検索部１０６０によって取得される。
【０３５０】
次に、カメラから大きな犬の映像が入力され、特徴抽出部１０２０によってその特徴データが生成される。データ比較部１０３０は、生成された特徴データと同じ特徴データが知識ベース内にあるか調べる。同じ特徴データが知識ベース内にあるので、その特徴データとつながる属性（１０２２）が検索部１０６０によって取得される。さらに、取得された属性（１０２２）につながる物（３００３）が検索部１０６０によって取得される。
【０３５１】
属性（１０２１）と属性（１０２２）とが同じ物につながっているので、学習部１０５０は次の処理を行う。
【０３５２】
学習部１０５０は、２つの属性（１０２１、１０２２）を取得する。異なる２つの属性につながる特徴データの数が共に１つの場合、学習部１０５０は、次の処理を行う。新規の属性（１００３）を生成し、２つの特徴データを生成された属性（１００３）につなぎ、２つの属性（１０２１、１０２２）との物（３００３）のつながりを削除する。新たに属性（１００３）を生成しないで、２つの属性（１０２１、１０２２）のどちらか一方の属性に、他方の属性につながっている特徴データを直接つなぎ、他方の属性と物（３００３）のつながりを削除してもよい。
【０３５３】
一方の属性につながる特徴データの数だけが１で、他方の属性につながる特徴データの数だけが１より大きい場合、学習部１０５０は、次の処理を行う。特徴データが１つだけつながる属性の特徴データを、他方の属性につなぎ、特徴データが１つだけつながる属性との物のつながりを削除する。
【０３５４】
特徴データが新たに知識ベースに格納されると、属性が生成され、その生成された属性と格納された特徴データがつながる。特徴データが知識ベースに格納されると、その特徴データとつながる属性には、特徴データが１つだけつながることになる。そのため、上記のようにして特徴データを集約できる。
【０３５５】
複数の特徴データがつながった属性は、その属性につながったいくつかの特徴データを束ねて集約し、集約された特徴データの性質、特徴、意味あるいは概念を代表して表わす。
【０３５６】
ステップ３のような状態でも認識処理が行える。犬の鳴き声が知識ベースシステム１０００に入力されると、入力された犬の鳴き声から特徴データが生成される。生成された特徴データが知識ベース内の特徴データと比較される。同じ特徴データが見つかると、見つかった特徴データにつながった属性（１０１１）が取得される。取得された属性（１０１１）につながった物（３００３）が取得された後、物（３００３）につながる他の属性（１００３）ひとつだけを取得すれば、複数（この例では２つ）の特徴データが取得できる。一方、ステップ２の場合は、属性（１０２１）と属性（１０２２）のふたつの属性を取得しないと、ふたつの特徴データを取得できない。
【０３５７】
たとえば、マイクを通して知識ベースシステム１０００に「ｂｏｗｗｏｗ」という犬の鳴き声が入力されたとする。特徴抽出部１０２０で入力された犬の鳴き声から特徴データが生成され、生成された特徴データがデータ比較部１０３０に渡される。すでに知識ベース内に犬の鳴き声から生成された特徴データが格納されているため、データ比較部１０３０は同じ特徴データがあると判断する。すると、検索部１０６０は、同じと判断された特徴データにつながった属性（１０１１）を取得する。さらに、検索部１０６０は、属性（１０１１）につながった物（３００３）を取得する。そして、物（３００３）につながった他の属性（１００３）を取得すると、その属性（１００３）につながった特徴データを取得することができる。取得された特徴データを元にして、出力部１０８０が表示装置に犬の映像を表示する。この一連の処理によって、犬の鳴き声から犬であることを認識し、認識された犬の映像を表示したことになる。
【０３５８】
ステップ２の状態であれば、属性（１０２１）と属性（１０２２）とのふたつの属性を取得することになるが、ステップ３の状態であれば属性（１００３）ひとつを取得すればふたつの特徴データを取得できる。物につながる属性を取得する回数が少なくなるので、ステップ２より速く特徴データを取得できる。
【０３５９】
図３３のステップ４の識別データの追加による学習処理を説明する。
【０３６０】
子犬の映像がカメラから知識ベースシステム１０００のデータ入力部１０１０に入力される。特徴抽出部１０２０によって入力された映像から特徴データが生成され、データ比較部１０３０によって生成された特徴データと同じ特徴データが知識ベースにあるか調べられる。同じ特徴データが見つかり、その同じ特徴データがつながる属性（１００３）が検索部１０６０によって取得される。さらに検索部１０６０によって、取得された属性（１００３）につながる物（３００３）が取得される。このように、カメラから入力された子犬の映像によって、映像を直接発した対象物が物（３００３）であると認識された。
【０３６１】
次に、単語の「Ｄｏｇ」という音声がマイクから知識ベースシステム１０００のデータ入力部１０１０に入力される。特徴抽出部１０２０によって入力された音声から識別データが生成され、データ比較部１０３０によって生成された識別データと同じ識別データが知識ベース内にあるか調べられる。同じ識別データが見つからないので、生成された識別データがデータ格納部１０４０によって知識ベース内に格納される。データ格納部１０４０はさらに、属性（１０１３）を生成し、生成された属性（１０１３）と格納された識別データとをつなぐ。図には描かれていないが、データ格納部１０４０によって物が生成され、生成された物に格納された属性（１０１３）がつながってもよい。この物を生成しなくてもよい。
【０３６２】
操作者からキーボード入力やマウス操作があると、学習部１０５０は次のような学習処理を行う。連続して１つの特徴データと１つの識別データが生成されると、自動的に次のような学習処理を開始してもよい。ステップ４の開始時に統合処理を行うことをマウス操作やキーボード入力で指示してもよい。
【０３６３】
まず学習部１０５０は、子犬の映像から生成され、最初に渡された特徴データと同じと判断された、知識ベース内の特徴データを取得する。検索部１０６０は、取得された特徴データにつながる属性（１００３）を取得する。さらに検索部１０６０は、取得された属性（１００３）につながる物（３００３）を取得する。学習部１０５０は、取得された物（３００３）を取得し、物（３００３）を認識する。
【０３６４】
次に学習部１０５０は、単語「Ｄｏｇ」の音声から生成され、後から渡され格納された識別データを取得する。検索部１０６０は、その識別データにつながる属性（１０１３）を取得する。取得された２つの属性（１００３、１０１３）が同じ物につながっていないので、学習部１０５０は次の処理を行う。
【０３６５】
学習部１０５０は、認識された物（３００３）と、後から取得され、認識された物（３００３）と直接つながっていない属性（１０１３）とをつなぐ。物（３００３）は、属性（１０１３）を経由して単語「Ｄｏｇ」から生成された識別データを持つ物になる。
【０３６６】
同じようにして、単語「Ｄｏｇｇｙ」の音声から生成された識別データが知識ベースに格納される。属性（１０１４）が生成され、格納された識別データにつながる。生成された属性（１０１４）は、物（３００３）につながる。子犬の映像と単語「Ｄｏｇｇｙ」とを対応づけて行ってもよいし、単語「Ｄｏｇ」と単語「Ｄｏｇｇｙ」とを対応づけて行ってもよい。
【０３６７】
図を見やすくするためステップ４の図では、属性（１０２１）、及び属性（１０２２）を省略している。
【０３６８】
図３３のステップ５の識別データの統合による学習処理を説明する。
【０３６９】
この学習処理は、ステップ４の識別データの追加による学習処理の後に行われる、知識ベースに格納された識別データの統合処理である。２つの異なる属性につながる識別データを、共通の１つの属性につなぐ処理である。ステップ４の識別データの追加による学習処理後、マウス操作やキーボード入力による統合処理の指示があると、学習部１０５０が次のような統合処理を行う。ステップ４の開始時に統合処理を行うことをマウス操作やキーボード入力で指示してもよい。
【０３７０】
マイクから単語「Ｄｏｇ」の音声が入力され、特徴抽出部１０２０によってその識別データが生成される。データ比較部１０３０は、生成された識別データと同じ識別データが知識ベース内にあるか調べる。同じ識別データが知識ベース内にあるので、その識別データとつながる属性（１０１３）が検索部１０６０によって取得される。さらに、属性（１０１３）につながる物（３００３）が検索部１０６０によって取得される。
【０３７１】
次に、マイクから単語「Ｄｏｇｇｙ」の音声が入力され、特徴抽出部１０２０によってその識別データが生成される。データ比較部１０３０は、生成された識別データと同じ識別データが知識ベース内にあるか調べる。同じ識別データが知識ベース内にあるので、その識別データとつながる属性（１０１４）が検索部１０６０によって取得される。さらに、検索部１０６０によって属性（１０１４）につながる物（３００３）が取得される。
【０３７２】
２つの属性（１０１３、１０１４）が同じ物（３００３）につながっているので、学習部１０５０は次の処理を行う。
【０３７３】
学習部１０５０が２つの属性（１０１３、１０１４）を取得する。異なる２つの属性につながる識別データの数が共に１つの場合、学習部１０５０は、次の処理を行う。新規の属性を生成し、２つの識別データを生成された属性につなぎ、生成された属性を物（３００３）につなぎ、２つの属性（１０１３、１０１４）との物（３００３）とのつながりを削除する。又は、新たに属性を生成しないで、２つの属性（１０１３、１０１４）のどちらか一方の属性、たとえば属性（１０１３）に、他方の属性（１０１４）につながっている識別データをつなぎ、他方の属性（１０１４）と物（３００３）とのつながりを削除してもよい。図を見やすくするためステップ５の図では、属性（１０１４）、属性（１０２１）、及び属性（１０２２）を省略している。
【０３７４】
一方の属性につながる識別データの数だけが１で、他方の属性につながる識別データの数だけが１より大きい場合、学習部１０５０は、次の処理を行う。識別データが１つだけつながる属性の識別データを、他方の属性につなぎ、識別データが１つだけつながる属性と物とのつながりを削除する。
【０３７５】
識別データが新たに知識ベースに格納されると、属性が生成され、その生成された属性と格納された識別データとがつながる。識別データが知識ベースに格納されると、その識別データとつながる属性には、識別データが１つだけつながることになる。そのため、上記のようにして識別データを集約できる。複数の識別データがつながった属性は、その属性につながったいくつかの識別データを束ねて集約し、集約された識別データを代表して表わす。
【０３７６】
このように学習が行われると、「Ｄｏｇ」または「Ｄｏｇｇｙ」という音声がマイクから入力されると、物（３００３）であることが認識され、１つの属性（１０１３）だけを介して物（３００３）につながる、特徴データから生成された犬の映像を、出力装置である表示装置に表示することができる。たとえば「Ｄｏｇ」という音声がマイクから入力されると、特徴抽出部１０２０が特徴を抽出し、識別データを生成する。データ比較部１０３０は、生成された識別データと同じ識別データが知識ベース内にあるか調べる。同じ識別データが知識ベース内にあるので、検索部１０６０は、その識別データにつながる属性（１０１３）を取得する。さらに検索部１０６０は、取得された属性（１０１３）とつながる物（３００３）を取得する。検索部１０６０は、物（３００３）につながる他の属性（１００３）を取得し、その属性（１００３）につながる特徴データを取得する。出力部１０８０は、取得された特徴データを元にして表示装置に犬の映像を表示する。さらに、検索部１０６０は、物（３００３）につながる他の属性（１０１１）を取得し、その属性（１０１１）につながる特徴データを取得する。出力部１０８０は、取得された特徴データを元にして出力装置である音声再生装置から犬の鳴き声「ｂｏｗｗｏｗ」出力する。「Ｄｏｇ」という単語から犬という物を認識し、犬の映像や犬の鳴き声を出力したことになる。
【０３７７】
言語の中の単語と、知識ベース内の属性や物とを対応づける必要のない場合、識別データは不要である。言語を持たない動物は、識別データを含まない知識ベースを構築し、識別データを含まない知識ベースを使って認識や推論などの知識処理を行うと考えられる。言語を学習した人間は、識別データと特徴データとの両方を含む知識ベースを構築していると考えられる。（１）識別データを含まず、特徴データ、属性、物からできた知識ベース、（２）特徴データを含まず、識別データ、属性、物からできた知識ベース、（３）識別データ、特徴データ、属性、物からできた知識ベースが構築できる。記号論理だけを行う場合は、（２）の知識ベースでもよい。
【０３７８】
学習によって、知識ベース内の特徴データ、識別データ、属性、物が追加されるだけでなく、削除されることもある。学習によって、特徴データ、識別データ、属性、物のつながりが追加又は削除され、変更される。
【０３７９】
特徴データと識別データとについて再度説明する。
【０３８０】
図１のように、言語の中の単語だけから、一実施形態の知識ベース内の識別データが生成され、現実の世界の中の対象物から直接発せられた映像や音声などのデータだけから、一実施形態の知識ベース内の特徴データが生成される。対象物は単語ではない。しかしながら、知識ベース内において、識別データは、意味や概念を直接表すものとして利用されない。もとの単語の意味や概念を取得するためには、その識別データにつながる属性を取得し、さらにその属性につながる物を取得し、取得された物につながる他の属性を取得し、その属性につながる特徴データを取得しなければならない。
【０３８１】
この一実施形態の知識ベース内では、物（３００３）は、犬という対象物に間接的に対応付けられている。しかし、他の実施形態の知識ベース内では、物（３００３）は犬という対象物でなく、猫という対象物に間接的に対応付けられているかもしれない。そこで、言語の中の単語から識別データを生成し、知識ベース内で識別データと物や属性とをつなぎ、対応付けることによって、異なる知識ベース間で単語を経由して情報交換ができるようになっている。
【０３８２】
識別データは、言語と言語の外にある知識ベースとを対応づけるために利用される。知識ベースごとに、同じ物や同じ属性に割り当てられる識別子の値は異なるので、言語内の単語から生成された識別子を使わずに情報を交換できない。言語内の単語を仲立ちとすることによって、複数の知識ベース間で情報を交換できるようになる。
【０３８３】
また、識別データは、知識ベース内の知識を言語の中に取り出すことにも利用できる。知識ベース内の知識を、識別データを仲立ちにして単語に変換して、知識ベースから言語の中に取り出すことができる。たとえば、知識ベースの中の識別子で表される物を、識別データを仲立ちにして単語に変換すると、識別子だけで物を区別するより物を区別しやすくなる。また、知識ベースの中の物識別子や属性識別子が単語に変換されると、文字で書き表すことができる。そして、書き表された物や属性を単語として、視覚を使って認識することにより、理解しやすくなる。
【０３８４】
格納された１つの特徴データから、新たな特徴データが生成されることもある。図３４では、４本足という特徴データが生成され、知識ベースに格納されている。これは、すでに格納された犬、猫、とかげなどの映像から生成された特徴データから、さらに特徴抽出部１０２０によって生成される。
【０３８５】
図３４の知識ベースには、人間を表わす物（３００１）、イルカを表わす物（３００２）、犬を表わす物（３００３）、猫を表わす物（３００４）、トカゲを表わす物（３００５）、蛇を表わす物（３００６）が格納されている。図３５には、図３４の知識ベースを元にして学習部１０５０が行った学習処理によって、新たに生成された物と属性とが示されている。
【０３８６】
たとえば、マイクで「哺乳類」という単語の音声が知識ベースシステム１０００のデータ入力部１０１０に入力される。特徴抽出部１０２０によって特徴が抽出され、識別データが生成される。データ比較部１０３０によって、この識別データが知識ベースにないことが調べられ、データ格納部１０４０によってこの識別データが知識ベース内に格納される。データ格納部１０４０によって属性（１０１５）が生成され、生成された属性（１０１５）に生成された識別データつながる。さらにデータ格納部１０４０によって、物（３００７）が生成され、生成された属性（１０１５）がつながる。
【０３８７】
マウス操作やキーボード入力により属性の統合処理が指示される。
【０３８８】
再度、マイクで「哺乳類」という単語の音声が知識ベースシステム１０００のデータ入力部１０１０に入力される。特徴抽出部１０２０によって特徴が抽出され、識別データが生成される。データ比較部１０３０によって、この識別データが知識ベースにあることが調べられる。検索部１０６０は、同じ識別データとつながる属性（１０１５）を取得し、取得された属性（１０１５）につながる物（３００７）を取得する。学習部１０５０は、取得された物（３００７）を取得し、認識する。
【０３８９】
マウス操作やキーボード入力により、属性を新しく生成する指示が知識ベースシステム１０００に入力されると、学習部１０５０によって属性（１００８）が生成され、生成された属性（１００８）が認識された物（３００７）につながり、生成された属性（１００８）が取得される。表示装置に、認識された物（３００７）に既につながっている属性の一覧が表示され、その一覧の中から属性を１つ指定し、指定された属性を取得することもできる。
【０３９０】
つづいて、カメラから「大きな犬」の映像が知識ベースシステム１０００のデータ入力部１０１０に入力され、特徴抽出部１０２０で特徴が抽出され、特徴データが生成される。データ比較部１０３０は、生成された特徴データと同じ特徴データが知識ベースにあるか調べる。同じ特徴データはあるので、検索部１０６０によって、知識ベース内にある同じ特徴データが取得される。
【０３９１】
マウス操作やキーボード入力により、特徴データ追加指示が知識ベースシステム１０００に入力されると、学習部１０５０によって、取得された特徴データが取得された属性（１００８）につながる。
【０３９２】
この処理を繰り返すと、図３５のように属性（１００８）に、哺乳類の映像から生成された複数の特徴データがつながり、属性（１００８）が哺乳類という意味あるいは概念を表わす。この属性（１００８）が、哺乳類を表わす物（３００７）につながる。動物を表わす物（３００８）も爬虫類を表わす物（３００９）も同じようにして作られる。
【０３９３】
図３６は、図３４に図３５の３つの属性（１００８，１００９，１０１０）を追記し、物（３００１，３００２，３００３，３００４）に属性（１００８）をつないだ知識ベースを示している。これで、物（３００１，３００２，３００３，３００４）に、哺乳類を表わす属性（１００８）が追加され、その属性（１００８）を持つようになる。属性（１００９，１０１０）についても同様の処理が行われている。
【０３９４】
以下のようにして、学習部１０５０による属性追加処理は行われる。
【０３９５】
たとえば、マイクから「哺乳類」という単語の音声が知識ベースシステム１０００のデータ入力部１０１０に入力される。特徴抽出部１０２０によって特徴が抽出され、識別データが生成される。データ比較部１０３０によって、この識別データと同じ識別データが知識ベースにあることが確認される。そして、同じ識別データとつながる属性（１０１５）が検索部１０６０によって取得される。次に、検索部（１０６０）によって、属性（１０１５）につながる物（３００７）が取得され、認識される。
【０３９６】
次にたとえば、カメラから「人」の映像が入力され、特徴データが生成され、生成された特徴データと同じ特徴データがつながる属性（１００１）が取得される。さらに属性（１００１）につながる物（３００１）が検索部１０６０によって取得され認識される。最初に認識された物（３００７）と、次に認識された物（３００１）とが、異なると、学習部１０５０は、最初に認識された物（３００７）に直接つながる属性（１００８）と、後から認識された物（３００１）とをつなぐ。
【０３９７】
このような処理を繰り返すと、人間を表わす物（３００１）、イルカを表わす物（３００２）、犬を表わす物（３００３）、猫を表わす物（３００４）が、哺乳類を表わす属性（１００８）とつながり、属性（１００８）を持つようになる。
【０３９８】
図３６において、たとえば属性（１００８）につながる物を選択し、属性（１００８）を持つ物を集めることができる。物（３００１、３００２、３００３、３００４）が選択され集められた物である。この集められた物を知識の集まりと呼ぶ。哺乳類という属性（１００８）を持つ物が集められ、哺乳類という知識の集まりが生成される。
【０３９９】
図３７では、物が四角い破線で囲まれている。四角い破線で囲まれた部分、動物という知識の集まり１６５、哺乳類という知識の集まり１６６、爬虫類という知識の集まり１６７、四足の動物という知識の集まり１６８が、それぞれ知識の集まりになる。動物、哺乳類、爬虫類、四足の動物という４つの知識の集まりが図３７に示されている。
【０４００】
知識の集まりを使って推論ができる。
【０４０１】
たとえば「蛇は哺乳類であるかどうか」を推論する。哺乳類を表わす属性（１００８）とつながった物を集め、知識の集まり１６６をつくる。この知識の集まり１６６には、人を表わす物（３００１）、イルカを表わす物（３００２）、犬を表わす物（３００３）、猫を表わす物（３００４）が含まれる。この知識の集まりの中に、蛇を表わす物（３００６）があるかどうかを調べる。この例では、蛇を表わす物（３００６）は、哺乳類を表わす知識の集まりに含まれないので、「蛇は哺乳類ではない」と推論し、判断できる。
【０４０２】
知識の集まりは、抽象的な物である。したがって具体的な物と同様に、抽象的な物である知識の集まりを要素とする知識の集まりも生成できる。いくつかの抽象的な物に同じ属性をつないでその属性を追加する。追加された属性を持つ物を集めれば、新たな知識の集まりが生成される。
【０４０３】
図３８には、図３５で新たに生成された知識の集まりを表わす抽象的な物（３００７、３００８、３００９）が追記され、対応する属性と直接つながれている。ひとつの知識の集まりが、抽象的な１つの物として知識ベースに格納されている。たとえば、爬虫類を表わす抽象的な物（３００９）は、属性（１０１０）につながる。この属性（１０１０）は、蛇の映像から生成された特徴データとトカゲの映像から生成された特徴データとがつながり、爬虫類を表わしている。哺乳類を表わす抽象的な物（３００７）、動物を表わす抽象的な物（３００８）も同様である。
【０４０４】
図３８で示されるように、爬虫類という抽象的な物（３００９）も、爬虫類を構成する具体的な蛇やトカゲなどの物（３００５、３００６）も知識ベース内では同じ構造で表わされる。どちらも特徴データと属性とがつながり、その属性が物につながっている。したがって、知識の集まりという抽象的な物を要素とする知識の集まりを生成できる。
【０４０５】
このように、英語、日本語、中国語などの言語および言語内の単語を使わずに、言語内の単語ではない対象物自体から直接発せられるデータだけを元にして、知識ベースが構築できる。
【０４０６】
知識ネットワークについて説明する。
【０４０７】
図３９では、物同士が矢印でつながれている。たとえば、動物を表わす物（３００８）から哺乳類を表わす物（３００７）へ延びる矢印、動物を表わす物（３００８）から爬虫類を表わす物（３００９）へ延びる矢印、哺乳類を表わす物（３００７）から人を表わす物（３００１）へ延びる矢印、哺乳類を表わす物（３００７）からイルカを表わす物（３００２）へ延びる矢印、哺乳類を表わす物（３００７）から犬を表わす物（３００３）へ延びる矢印、哺乳類を表わす物（３００７）から猫を表わす物（３００４）へ延びる矢印、爬虫類を表わす物（３００９）からトカゲを表わす物（３００５）へ延びる矢印、爬虫類を表わす物（３００９）から蛇を表わす物（３００６）へ延びる矢印によって、物同士がつながる。
【０４０８】
図４０は、物と物とのつながりだけを抜き出した図である。このようなつながり合ったいくつかの物、つまり、１つのつながりあった物全体が１つの知識ネットワークである。この例では、この知識ネットワークは、動物の種の分類を表わす。矢印の始点は上位の分類、矢印の終点は下位の分類を表わす。この知識ネットワークのつながりは、包含関係を表わし、上位に位置する物が下位に位置する物を含むということを表わす。
【０４０９】
この知識ネットワーク内で、動物を表わす物（３００８）から哺乳類を表わす物（３００７）へ矢印を順方向に辿って移動できる。さらに、哺乳類を表わす物（３００７）からイルカを表わす物（３００２）へ矢印を順方向に辿って移動できる。
【０４１０】
イルカを表わす物（３００２）から哺乳類を表わす物（３００７）へ矢印を逆方向に辿って移動する。次に、哺乳類を表わす物（３００７）から動物を表わす物（３００８）へ矢印を逆方向に辿って移動する。このように移動すると、イルカを表わす物（３００２）から動物を表わす物（３００８）へ移動できる。ある物から別の物へ知識ネットワークのつながりを辿って移動できる場合、その２つの物の間に何らかの関係がある可能性が推測される。この例では、イルカは動物という分類に含まれるということが、知識ネットワークのつながりから判る。このように知識ネットワークを使って推論ができる。
【０４１１】
図４０の１つの知識ネットワークを、複数の知識ネットワークを組み合わせて作ることもできる。
【０４１２】
図４１に示される物（３０１１）は、知識ネットワークを表わす属性（１０３０）と動物を表わす属性（１００９）とにつながっており、動物に関する知識ネットワークである抽象的な物である。物（３０１２）は、知識ネットワークを表わす属性（１０３０）と哺乳類を表わす属性（１００８）とにつながっており、哺乳類に関する知識ネットワークである抽象的な物である。物（３０１３）は、知識ネットワークを表わす属性（１０３０）と爬虫類を表わす属性（１０１０）とにつながっており、爬虫類に関する知識ネットワークである抽象的な物である。
【０４１３】
図４２は、図４１の物と物とのつながりを抜き出した図である。図４１では省略されていた知識ネットワークである物と具体的な物とのつながり、たとえば動物に関する知識ネットワークである物（３０１１）と動物を表わす物（３００８）とのつながりも描かれている。図４１では図が複雑になり見難くなるので省略されている。
【０４１４】
動物である物（３００８）と哺乳類である物（３００７）とがつながり、動物である物（３００８）と爬虫類である物（３００９）とがつながり、知識ネットワークが生成されている。この知識ネットワークが動物に関する知識ネットワークである抽象的な物（３０１１）であり、図４２の楕円１６９で囲まれている部分である。
【０４１５】
また、哺乳類である物（３００７）と人である物（３００１）とがつながり、哺乳類である物（３００７）とイルカである物（３００２）とがつながり、哺乳類である物（３００７）と犬である物（３００３）とがつながり、哺乳類である物（３００７）と猫である物（３００４）がつながり、知識ネットワークが生成されている。この知識ネットワークが哺乳類に関する知識ネットワークである抽象的な物（３０１２）で、図４２の楕円１７０で囲まれている部分である。
【０４１６】
また、爬虫類である物（３００９）とトカゲである物（３００５）とがつながり、爬虫類である物（３００９）と蛇である物（３００６）とがつながり、知識ネットワークが生成されている。この知識ネットワークが、爬虫類に関する知識ネットワークである抽象的な物（３０１３）で、図４２の楕円１７１で囲まれている部分である。
【０４１７】
図４１に描かれているように、さらに、動物に関する知識ネットワークである抽象的な物（３０１１）と哺乳類に関する知識ネットワークである抽象的な物（３０１２）とがつながり、動物に関する知識ネットワークである抽象的な物（３０１１）と爬虫類に関する知識ネットワークである抽象的な物（３０１３）とがつながり、知識ネットワークが生成される。なお、見にくくなるので図４２には、この知識ネットワークは描かれていない。このように、知識ネットワークである抽象的な物同士をつないで、新たな知識ネットワークを生成することができる。
【０４１８】
知識ネットワークである抽象的な物は、その知識ネットワークに含まれる全ての物それぞれと直接つながる。たとえば図４２のように、知識ネットワークである抽象的な物（３０１１）は、その知識ネットワークに含まれる物（３００７、３００８、３００９）とそれぞれ直接つながる。このようにすると、知識ネットワークである抽象的な物を指定すると、その知識ネットワーク内にどのような物が含まれているかが判る。
【０４１９】
知識の集まりは物であり、知識ネットワークも物である。図３８及び図４１で示されるように、犬や猫のような具体的な物も、知識の集まりや知識ネットワークのような抽象的な物もデータ構造は同じである。したがって、抽象的な物である知識の集まりまたは抽象的な物である知識ネットワークを含む知識ネットワークを生成することができる。同様に、抽象的な物である知識の集まりまたは抽象的な物である知識ネットワークを含む知識の集まりを生成することができる。この仕組みによって抽象的な知識も蓄積され、蓄積された抽象的な知識が体系化される。さらに、蓄積され体系化されたな抽象的な知識を使って推論が行われる。
【０４２０】
図４２の知識ネットワークを例にして、知識ネットワークを使った推論の説明をする。
【０４２１】
たとえば、哺乳類に関する知識ネットワーク（３０１２）内で、人である物（３００１）から哺乳類である物（３００７）に移動することができる。また、哺乳類である物（３００７）は、哺乳類に関する知識ネットワーク（３０１２）だけでなく、動物に関連する知識ネットワーク（３０１１）にも属している。そこで、哺乳類である物（３００７）を介して、哺乳類に関する知識ネットワーク（３０１２）と異なる知識ネットワークである動物に関する知識ネットワーク（３０１１）に移動する。動物に関する知識ネットワーク（３０１１）内で、哺乳類である物（３００７）から動物である物（３００８）に移動する。このとき、出発点の人である物（３００１）と到着点の動物である物（３００８）の間に関係がある可能性がある。人間は動物である、あるいは、人は動物に含まれるということが推論できる。
【０４２２】
ある知識ネットワーク内の物から、その物が属する他の知識ネットワークに移り、移った知識ネットワーク内の物に移動できる。１つあるいは２つ以上の異なる知識ネットワークを経由して移動してもよい。このとき、出発点の物と到着点の物との間に何らかの関係がある可能性がある。なぜなら、それぞれの知識ネットワーク内の物は、その知識ネットワーク内において関連のある物同士がつながっているからである。ある物から別の知識ネットワークに移り、移った知識ネットワーク内のつながった物に移動できれば、その物との間にも関連性がある可能性があるからである。
【０４２３】
なお、１つの知識ネットワーク内でのつながりの意味は同じにしておく。つながりの意味が変わる場合は、その部分を別の知識ネットワークにする。１つの知識ネットワーク内では、つながりの意味を同じにする。すると、その知識ネットワークの意味が明確になる。さらに、知識ネットワークを特徴づける属性がつながりの意味を表わすようにすると、つながりの意味が異なる知識ネットワークは、必ず異なる属性の組み合わせで特徴づけられる。
【０４２４】
知識ネットワークのつながりをたどり、つながった物を取得すると、関連する物が取得できる。このように、知識ネットワークは、関連する物を検索する、検索システムとしても利用できる。
【０４２５】
言語の中の単語をつないで知識を表現する従来技術の知識ベースがある。単語をつなぎあわせて一塊のつながりをつくり、知識を表現している。しかし、単語の一塊のつながりですべての知識を表わすことはできなかった。そこで、単語の一塊のつながりに入りきれない知識を暗黙知と呼んでいた。
【０４２６】
たとえば、人は会社という組織に属していれば会社組織の中のつながりがある。家庭では家族関係というつながりがある。人に限らず、あらゆる物は切り口によってさまざまなつながりを持っている。これを一塊のつながりで表現することは無理である。無理やり一塊のつながりで表現すると、一塊のつながりに入りきれない知識あるいは情報を暗黙知と呼ばざるを得ない。
【０４２７】
本願技術の一実施形態の知識ベースでは、切り口ごとに一塊のつながりをつくる。この一塊のつながりが１つの知識ネットワークである。このようにすれば、共通する物で知識ネットワークをつなぎあわせて知識を体系化でき、暗黙知を使わずに広範囲な知識を体系化できる。ある知識ネットワークに属するある物から、その知識ネットワークとつなぎあわされた他の知識ネットワークに移り、他の知識ネットワーク内の物に移動し、他の知識ネットワーク内の物とのつながりを調べることができる。
【０４２８】
これまでの説明をもう少し詳しく説明する。本願技術の一実施形態として以下のような仮説を考案した。この仮説はあくまでも一実施形態としての仮説であり、本願技術の範囲を制限するものではない。前述の説明と重なる部分もあるが、その仮説について以下に説明する。
【０４２９】
脳は、たくさんの神経細胞でできている。さらに、神経細胞は、樹状突起と呼ばれる組織などによって相互に接続され、信号を伝達しあっている。実際の脳においては、１つの神経細胞が、物に対応する。図４３では、外部にある対象物から直接生成された情報が、感覚器官１１０で受け取られる。感覚器官１１０が受け取った情報から、特徴抽出部１１４によって特徴が抽出され、特徴データが生成される。生成された特徴データは、記憶領域１１２内に保持される。もちろん、特徴データは、樹状突起等により、属性領域１１５内にある１つの神経細胞７１とつながり、特徴データが属性領域１１５の神経細胞７１に対応づけられる。複数の特徴データが属性領域１１５内の同じ神経細胞７１につながり、対応づけられることもある。属性領域１１５の神経細胞７１は、特徴データに対応づけられることによって属性を表わす。属性を表わす神経細胞７１と物の領域１１１内の神経細胞７０とが樹状突起等によりつながり、属性が物に対応づけられる。このようにして、物が属性を持つ。
【０４３０】
たとえば、感覚器官１１０から甘みの情報を受け取ると、特徴抽出部１１４が甘味の情報から特徴を抽出し、抽出された特徴が記憶領域１１２で保持され特徴データになる。特徴データが属性領域１１５の神経細胞７１とつながることによって、その神経細胞が甘いという属性を表わす。甘いという特徴データに直接つながることによって、甘いという属性を表わす神経細胞７１が、物に直接対応づけられ、物を表わす神経細胞７０と直接つながる。これにより、「その物が甘い」あるいは、「その物が甘い属性を持つ」ということを学習する。
【０４３１】
属性が特徴データと物の間にあると、１つの特徴データが複数の異なる属性につながることができる。また、複数の特徴データが１つの属性につながり１つの意味または概念を生成することができる。これにより、複数の特徴データから１つの意味や概念を生成する、または、１つの特徴データから複数の意味や概念を生成することができる。
【０４３２】
特徴データは、属性領域１１５の神経細胞７１を経由せずに物の領域１１１内の神経細胞７０とつながり、対応づけられる場合もある。この場合、属性領域１１５の神経細胞７１を経由するより速く物の領域１１１の神経細胞７０に信号が届く。感覚器官１１０から情報を受け取り、特徴抽出部１１４が受け取った情報から抽出した特徴データが、記憶領域１１２に既に保持された特徴データと一致あるいは類似していていると判断されるとする。物の領域１１１内の神経細胞７０とその特徴データが直接つながっていたとすると、あらかじめその特徴データとつながった物の領域１１１の神経細胞７０に信号が届く。このとき、物は認識される。真っ赤に燃える炎の映像を見ると、直ちに火であると認識する仕組は、前述の仕組に対応づけられる。
【０４３３】
氷を触り冷たいという特徴データが保持され、属性領域１１５の神経細胞７１とつながることによって、冷たいという概念、すなわち属性が生成されているとする。この冷たいという属性だけがつながった物の領域１１１の神経細胞７０、すなわち物があるとする。この物は、冷たさ、または、漠然とした冷たい物を表わす抽象的な物である。
【０４３４】
たとえば、赤い丸い物を食べたところ、甘くて食べられたとする。このとき、物の領域１１１内の１つの神経細胞７０が赤く丸い物になり、赤い丸い物の映像の特徴データにつながった属性である神経細胞と赤い丸い物の甘さの特徴データにつながった属性領域１１５の神経細胞７１が前記赤く丸い物の神経細胞につながる。同様に、食べられるという特徴データは、属性領域１１５の神経細胞７１とつながり、その属性領域１１５の神経細胞７１は、物の領域１１１内の赤い丸い物に対応する神経細胞７０とつながる。
【０４３５】
食べられるという特徴データにつながった属性領域１１５の神経細胞７１が、物の領域１１１の神経細胞７０に信号を送る。つまり、食べられるとい属性領域１１５の神経細胞７１から物の領域１１１の神経細胞７０に信号を送る。すると、食べられるという属性領域１１５の神経細胞７１につながっている物の領域１１１の神経細胞７０だけが信号を受けて活性化する。活性化された物の領域１１１の神経細胞７０全体が、食べられるという属性を持った物の集まりになる。この集まりが知識の集まりになる。１つ以上の属性領域１１５の神経細胞７１から信号を送って、知識の集まりを生成することもできる。物の領域１１１内の神経細胞７０は、物を表わしている。知識の集まり内の神経細胞は、共通する属性を持つ物を表わしている。１つの知識の集まり内の神経細胞同士をつなぐことによって、物同士の関係を保持できる。このつながれた物の集まりが、知識ネットワークである。もちろん、知識の集まりにない物をつなぐこともできる。さらに、知識の集まりに関係なく物をつないで知識ネットワークを作ってもよい。
【０４３６】
このような働きを学習と呼ぶ。物、属性または特徴データを追加又は削除することは学習である。つながりを追加又は削除することも学習である。物同士のつながりを追加するだけでなく、物同士のつながりを削除すること、神経細胞を新たに物に対応づけて知識ネットワークに追加すること、物と属性、属性と特徴データ、特徴データと物とのつながりを追加したり削除したりすることも学習である。
【０４３７】
砂糖をなめたとする。すると、感覚器官１１０から甘味という情報と甘味の程度の２種類の情報を受け取る。特徴抽出部１１４で前述の２種類の情報を特徴として抽出する。抽出された２つの特徴は、１組の特徴データとして記憶領域１１２に保持される。記憶領域１１２に既に同じ特徴データがある場合は、新たに特徴データを保持しないようにすることもできる。同じ特徴データが無い場合は、属性領域１１５の未使用の神経細胞の１つがその特徴データとつながり、その特徴データに対応する神経細胞となる。同じ特徴データがあり、その特徴データが属性領域１１５の神経細胞とつながっていない場合も、属性領域１１５の神経細胞の１つがその特徴データとつながり、その特徴データに対応する神経細胞になる。
【０４３８】
甘味という特徴データと属性領域１１５にある神経細胞とがつながり、甘みの程度という特徴データと属性領域１１５の別の神経細胞とがつながる。甘味の程度を表わす属性は、程度を表わす属性として他の属性とつながることが可能である。味の濃さや大小などある属性の程度を表わす補助属性がある。補助属性は、他の属性につながり、その属性の意味や概念を修飾する。補助属性は、形容詞や副詞に相当すると考えれば理解しやすい。前述の２つの特徴データから信号を送ると、信号を受けた属性領域１１５の２つの神経細胞は信号を受けて、属性領域１１５の２つの神経細胞は相互につながる。情報の発生源である物に対応づけられた神経細胞も信号を受ける。信号を受けた属性領域１１５の２つの神経細胞は、それぞれ、情報の発生源である物に対応する神経細胞とつながる。物と属性と補助属性とのすべてがつながり、三角形の形につながる。３つの要素のうち２つを指定すれば残りの１つの要素が必ず決まる。たとえば、物と属性とを指定すれば両者につながる補助属性が１つだけ確定する。このようにすると、必要なときに属性に関連する補助属性を取得できる。もちろん、属性につながっている特徴データを取得すれば補助属性の元になった情報が取得できるので、さらに詳しい情報が取得できる。補助属性も属性であり、特徴データと属性領域１１５の神経細胞とにつながっているにすぎない。１つの補助属性はさまざまな属性とつながり、つながった属性の意味や概念を修飾することができる。
【０４３９】
甘味に相当する特徴データを主特徴、甘味の程度に相当する特徴データを副特徴とする。主特徴に対応する属性を主属性、副特徴に対応する属性を副属性とする。先ほど補助属性と呼んだ属性が副属性である。
【０４４０】
特徴抽出部１１４が感覚器官１１０から情報を受けると、主特徴と必要に応じて副特徴が抽出される。抽出された主特徴と副特徴は、記憶領域１１２に特徴データとして保持される。
【０４４１】
甘味という主特徴である特徴データが甘味という主属性を表わす神経細胞につながり、甘味の程度という副特徴である特徴データが甘味の程度という副特徴に対応する副属性を表わす神経細胞につながる。甘味という主属性を表わす神経細胞は、甘味の程度という副属性を表わす神経細胞とつながる。この副属性は、甘味以外の主属性とつながってその主属性を修飾してもよい。他の属性から修飾される属性が主属性であり、他の属性を修飾する属性が副属性である。
【０４４２】
属性は、１つの主属性だけの場合と、１つの主属性と１つまたは１つ以上の副属性からなる場合がある。これは、形容詞と副詞とで修飾する場合に相当する。甘味という特徴データは、信号を甘味という属性を表わす神経細胞に送る。甘味の程度の特徴データは、甘味の程度に対応づけられた属性を表わす神経細胞に信号を送る。甘さの程度とは、砂糖の水溶液を味わったときを想像すればわかる。砂糖の濃度が高ければ甘さの程度は大きくなる。砂糖の濃度が低ければ、甘さの程度は小さくなる。信号を受けた甘味に対応づけられた属性を表わす神経細胞と、信号を受けた甘味の程度に対応づけられた属性を表わす神経細胞とは、樹状突起等によりつながる。このようにすると、物は、属性とその属性の程度、つまり、主属性と副属性とを持つことができる。
【０４４３】
たとえば、味覚神経から味覚情報を受け取り、甘味の次は苦味、苦味の次は酸味などのように、一定の順番で味の種類ごとの味の強さを表わす情報を並べた特徴データを作る。味の特徴データの並びの順番に、特徴データが属性領域１１５の特定の神経細胞とつながるようにする。このようにすると、属性領域１１５の特定の神経細胞が、特定の味を表わす。ある物が持つ甘味、酸味などの個別の味の特徴データもできる。個別の味を表わす属性は、すべての物が共通して使うことができる。また、一定の順番に並んだ味の特徴データの並び全体のパターンを１つの特徴データにして１つの属性につなげば、その物の全体の味の属性をつくることができる。
【０４４４】
このようにして、物は新しい属性を持ち、新しい属性をもつことによって、新しい知識を学習する。本願では、属性に対応づけられた神経細胞を属性の神経細胞、物に対応づけられた神経細胞を物の神経細胞と呼ぶ。主属性に対応づけられた神経細胞を主属性の神経細胞、副属性に対応づけられた神経細胞を副属性の神経細胞と呼ぶ。
【０４４５】
物を認識する手順を説明する。
【０４４６】
情報を入力する情報入力部である感覚器官１１０から情報を受け取り、受け取った情報から特徴抽出部１１４で特徴を抽出し、抽出された特徴を既に記憶領域１１２に保持されている特徴データと比較する。抽出される特徴は、１つの場合もあるが、通常は複数である。たとえば、音という情報が感覚器官１１０から入力され、音の高さ、音の大きさ、周波数分布、音の波形など複数の特徴が特徴抽出部１１４で抽出される。抽出された特徴と同じまたは類似の特徴データがあると、その特徴データからその特徴データにつながった属性に信号が送られる。新たに生成された特徴について、この処理を繰り返す。
【０４４７】
信号を送る特徴データは１つの場合もあるが、１つに限られることはなく、複数の特徴データが信号を送ることが多い。信号を受けた１つ以上の属性は、当該属性につながっている物に信号を送る。信号を受けた物のなかの１つの物が、感覚器官１１０に情報を与えた物として認識される。通常、一番多くの信号を受けた物が、感覚器官１１０に情報を与えた物として認識される。
【０４４８】
ただし、物は、各属性から同じ強さの信号を受けるとは限らない。ある属性からの信号が、他の属性からの信号より強くなるようなつながりになっている場合がある。そのため、単に多くの属性から信号を受けた物が、感覚器官１１０に情報を与えた物として認識される場合だけではなく、受けた信号の総量が多い物が認識されこともある。この手順が、認識を行う手順である。
【０４４９】
同じ属性を持つ物の集まりが知識の集まりである。知識の集まりにおいて、物と物とをつなぐことによって、物と物との関連を表わす。知識の集まりの中のつながりあった物が、知識ネットワークである。知識ネットワークによって関連の意味は異なる。たとえば物と物との関係は、親子関係、時間の前後関係、包含関係などさまざまな関係を表現できる。知識の集まりの中の知識ネットワークに、その知識の集まり以外の物をつないで知識ネットワークを作ってもよい。ある知識の集まりの中の物に限定せずにすべての物の中から物を選び、選ばれた物をつないで知識ネットワークを作ってもよい。
【０４５０】
知識ネットワークは、抽象的な物でもある。したがって、抽象的な物としての知識ネットワークを含んだ知識の集まりや知識ネットワークを生成できる。
【０４５１】
知識の集まりおよび知識ネットワークの生成方法の一例について説明する。
【０４５２】
物の領域１１１にある物に対応づけられた神経細胞７０も物と呼ぶ。属性領域１１５の神経細胞７１を属性と呼ぶ。物の領域１１１には、すべての物がある。このままでは、物の領域１１１から特定の物を探し出すのは難しい。次のようにすると、いくつかの物を選びだすことができる。ある属性から、その属性につながっている物に信号を送る。属性から信号を受けると、物は活性化する。活性化した物は、その属性を持った物である。このようにすると、ある属性を持つ物の集まりを生成することができる。これを知識の集まりと呼ぶ。信号を送る属性は、１つに限定されず、１つでも１つ以上でもよい。
【０４５３】
たとえば、鈴木家という属性を持つ知識の集まりを生成することができる。鈴木家という属性から信号を送ると、鈴木家の属性を持った父、母、子供に対応する物が信号を受け、活性化する。活性化した物を集めれば、鈴木家という属性を持った知識の集まりが生成できる。
【０４５４】
鈴木家の父に対応する物から鈴木家の子供に対応する物につながるようにしておく。また、鈴木家の母に対応する物から鈴木家の子供に対応する物につながるようにしておく。すると、このつながりは、親子関係になる。このつながりを辿ることにより、親子関係が明確になる。図４４は、この例を表わしている。
【０４５５】
属性（４）は、鈴木家という属性である。物（Ｆ）は鈴木家の父、物（Ｇ）は鈴木家の母、物（Ｈ）は鈴木家の子供を表す。鈴木家の父である物（Ｆ）から鈴木家の子供である物（Ｈ）につながり、鈴木家の母である物（Ｆ）から鈴木家の子供である物（Ｈ）につながっている。これらのつながりによって、物の間の関係をより明確にすることができる。図４４では、つながりは矢印であらわされている。
【０４５６】
このつながりは、双方向でもよい。しかし、多くの関係は方向を持っていると考えられる。したがって、単一方向、つまり、方向があるつながりが一般的である。単一方向のつながりで２つの物がつながっているとする。この単一方向のつながりを包含関係に対応づけると、たとえば、つながりの出発点の物が含む物（上位概念）になり、つながりの到着点の物が含まれる物（下位概念）になる。もちろん逆に対応づけることもできる。
【０４５７】
つながりで表わされる関係の意味は、情報ネットワークを生成した属性に依存することが多い。知識ネットワークごとにその知識ネットワークに応じたつながりを保持できる。含まれる物は同じであるが、つながりが異なる知識ネットワークをつくることは可能である。同じ家族を物とする知識ネットワークでも、身長順という関係でつながった知識ネットワーク、年齢順という関係でつながった知識ネットワーク、親子関係でつながった知識ネットワークなどさまざまな知識ネットワークを作ることができる。たとえば、身長順という関係でつながった知識ネットワークは、○○家という属性以外に身長という属性で特徴づけられる。
【０４５８】
知識ネットワークは、「水は水素と酸素とからできている」、というような構成物という関係を表わすこともある。知識ネットワークは、「人間は哺乳類に含まれる」、といような包含関係を表わすこともある。物Ａと物Ｂとが、物Ａから物Ｂにだけつながり、包含関係を表わしているとする。たとえば、物Ａを哺乳類、物Ｂを人間とする。哺乳類共通の属性と哺乳類を表わす属性とを物Ａが持ち、人間だけが持つ共通の属性と上位概念の哺乳類を表わす属性と物Ｂそのものの概念である人間を表わす属性とを、下位概念である物Ｂが持つようにする。このようにすると、下位概念を表わす物は、上位概念が持つ属性を持たなくても良い。上位概念を表わす物が持つ属性と下位概念を表わす物Ｂとが持つ属性を併せた属性が、下位概念を表わす物が持つ属性になる。このようにすると、物と属性のつながりを削減できる。必要に応じて、上位概念を表わす物が持つ属性を取得すればよい。
【０４５９】
２つの物を一方向のつながりでつなぐと、つながった２つの物を区別でききる。たとえば、２つの物の一方を上位概念を表わす抽象的な物に対応付け、他方を下位概念を表わす抽象的な物に対応付けることができる。一方向のつながりを、血縁関係に対応づけることもできる。これらは、一例であり、さまざまな関係を一方向の物のつながりで表現できる。
【０４６０】
知識の集まりと知識ネットワークとの利用方法の例を説明する。
【０４６１】
一旦、知識の集まり又は知識ネットワークが生成されると、外部から入力された情報が知識の集まりまたは知識ネットワークの知識と整合性があるかどうかを調べることができる。たとえば、１つの物といくつかの属性とが外部から入力されたとする。入力された属性をすべて持つ知識の集まりを生成する。その知識の集まりの中に、与えられた物が含まれていれば、その物は入力された属性を持つことが判る。また次のようにすると、与えられた２つの物の関係の有無を判断することも可能になる。一方の物から知識ネットワークのつながりを辿って、もう１つの物に辿りつくことができれば、両者に関係があることがわかる。このようにして与えられた２つの物の関係を取得できる。
【０４６２】
鈴木家の父という物と、花子さんという物と、鈴木家の家族という属性とが与えられたとする。図４４の知識の集まりが鈴木家を表わすとする。鈴木家の家族という知識の集まりを使って、花子さんという物が鈴木家の家族かどうかを判断できる。鈴木家の家族という知識の集まりに、花子さんという物が含まれていないと、花子さんは鈴木家の家族ではないと判断できる。
【０４６３】
具体的な手順は次のようになる。鈴木家の家族という属性から物に信号を送る。信号を受けた物は、すべて鈴木家という属性を持っている。信号を受けた物全体が、鈴木家という属性を持った知識の集まりになる。この生成された知識の集まりに花子さんという物があれば、花子さんは、鈴木家の家族に含まれると判断できる。この生成された知識の集まりに花子さんという物がなければ、花子さんは、鈴木家の家族に含まれないと判断できる。
【０４６４】
花子さんは、鈴木雄三家の子供である次郎さんの娘だとする。図４５の左側の枠が鈴木雄三家を表わす知識ネットワークである。図４５の右側の枠が鈴木次郎家を表わす知識ネットワークである。次郎さんという物は、これらの２つの知識ネットワークに属している。
【０４６５】
また、図には描かれていないが、鈴木雄三家の雄三、恵、一郎、次郎という物は、鈴木雄三家を表わす属性とつながっている。図には描かれていないが、鈴木次郎家の次郎、美香、太郎、花子という物は、鈴木次郎家を表わす属性とつながっている。２つの知識ネットワークは、次郎という共通の物を持っている。
【０４６６】
鈴木雄三家を表わす属性は、たとえば、雄三、恵、一郎、次郎の４人が一緒いる映像から生成された特徴データとつながっている。また、雄三を表わす物は、たとえば、雄三の映像から生成された特徴データとつながった属性とつながっている。図４５では、たとえば「雄三」という名前を表わす単語が記述されているが、これは説明のためだけに記述されている。
【０４６７】
鈴木次郎家という知識ネットワーク内の花子という物から同じ知識ネットワーク内の次郎という物に移動する。次郎という物は、鈴木雄三家という知識ネットワークにも属している。そこで、次郎という物を介して、鈴木次郎家という知識ネットワークから鈴木雄三家という知識ネットワークに移動する。そして、鈴木雄三家という知識ネットワーク内で、次郎から雄三に移動する。このようにして、花子という物から他の知識ネットワークの雄三という物に移動できるので、花子という物と雄三という物との間には、何らかの関係がある可能性がある。実際、雄三は花子のおじいさんである。このように、１つ知識ネットワークだけでなく、つながりあった知識ネットワーク使って推論ができる。
【０４６８】
指定された２つの物について、１つの知識ネットワーク内、あるいは、つながった他の知識ネットワークに移り、その知識ネットワーク内の物とのつながりを辿って、一方の物から他方の物へ移動する経路を見つけることができれば、指定された２つの物の間に何らかの関係がある可能性があると判断できる。このとき、辿られた経路は、２つの物の関係を表わす。一旦、２つの物の間に経路が見つかれば、つながった物が含まれる知識の集まりを新たに生成することもできる。２つの物を直接つなぐこともできる。
【０４６９】
知識の集まりの利用は、物同士の関係を見つけ出すために有効である。共通する物を持つ知識の集まり同士は、関連する可能性がある。また、知識ネットワークの利用も、物同士の関係が有るかどうかの可能性を見つけ出すために有効な方法である。２つの物の間に経路が見つかると、次に、２つの物が持つ属性を比較し、同じあるいは類似の属性を２つの物が持っているかどうかを調べる。同じ属性があれば、その属性について２つの物は、関連があると判断できる。類似の属性があれば、２つの物の関連がある可能性が高いと判断できる。このように本実施形態では、単語から生成された識別データなしで推論が行える。
【０４７０】
指定された物を出発点として、出発点から移動して辿りつける物を見つける。次に、見つけられた物と出発点である指定された物との属性を比較し、２つの物にどのような共通または類似する属性があるかどうかを調べる。共通する属性が見つかれば、２つの物が共通する属性によって関連していることが分かる。類似する属性が見つかれば、２つの物が類似する属性によって関連している可能性があることが分かる。だだし、共通または類似する属性が多いからといって重要な意味のある関連があるとは限らない。たった１つの共通属性あるいはたった１つの類似属性が重要な意味を持ち、新たに見つけられた物と物とのつながりが重要な意味のある関係になることもある。
【０４７１】
前述のように、単一の知識の集まりや単一の知識ネットワークを使って判断をすることもできる。また、複数の知識の集まりを使って判断をすることもできる。複数の知識ネットワークを使って判断をすることもできる。ある知識ネットワークに含まれる物から、その物が含まれる他の知識ネットワークを選択し、選択された他のネットワークに移動することができる。これを繰り返すと、１つ以上の知識ネットワークを経由して、他の知識ネットワークに移動できる。移動した先の知識ネットワーク内の物と出発点の知識ネットワーク内の物との間には、何らかの関連がある可能性がある。どの程度の可能性があるかは、知識ネットワークがどの程度適切に生成されているかということに依存する。
【０４７２】
１つの物が１つの知識である。共通する属性を持つ物の集まりが知識の集まりである。ある属性の神経細胞から物の領域の物の神経細胞に信号を送る。送られた信号を受けとる物の神経細胞すべてが、その属性に関する知識の集まりを構成する物になる。属性が対応づけられた物は、知識である。本願では簡略化のために、属性の神経細胞を属性と呼び、物の神経細胞を物と呼ぶことがある。
【０４７３】
属性を指定してその属性に関する知識の集まりを生成する。生成された知識の集まりに対して、さらに別の属性を指定して、その属性を持つ物を集めた新たな知識の集まりを生成する。これを繰り返せば、複数の属性を指定して知識の集まりを生成できる。
【０４７４】
知識の集まり内の物同士がつながっている場合がある。このつながった物の集まりが知識ネットワークである。このつながりに意味を持たせることができる。たとえば、「人間は哺乳類である」というような包含関係、「雄三さんは次郎さんの父である」というような血縁関係、位置関係、時間の前後関係など、物同士のつながりで、物の間の関係を表現することができる。
【０４７５】
図１６は、ある属性に関連した知識の集まりを生成する例を示している。物（Ａ）は、属性（１）で生成された知識の集まりにも、属性（２）で生成された知識の集まりにも属している。このようにすると、物が持つさまざまな属性ごとに知識の集まりを作り、知識を整理し、利用できる。物や属性を作ること、物同士、属性同士、物と属性とをつなぐことは、学習である。特徴データを作ること、特徴データと物、特徴データと属性とをつなぐことも学習である。識別データを作ること、識別データと物、識別データと属性とをつなぐことも学習である。また、物、属性、特徴データ、及び識別データのつながりを削除することも学習である。
【０４７６】
一旦学習が行われた後、同じ情報が感覚器官から入力されると、入力された情報から特徴抽出部１０２０によって特徴が抽出される。記憶領域に同じ特徴の特徴データがあり、その特徴データが、属性領域の属性を経由して物とつながっていると、その特徴データから物へ信号が送られる。抽出された特徴と類似の特徴データがあった場合にも、同じように信号が送られ、物が信号を受け取る。信号を受け取った物は活性化する。これが、物を認識する方法である。複数の特徴データから属性を経由して、いくつかの物に信号が届く。一番強い信号を受けた物が、その物の第一候補となる。
【０４７７】
たとえば、図５の特徴抽出部は、感覚器官である耳で受け取った音から特徴を抽出する。図５に描かれていないが、データ比較部１０３０に相当する脳内のデータ比較部は、抽出された特徴と記憶領域に保持されている特徴データとを比較する。そして、脳内のデータ比較部は、一致または類似する特徴データに対応する属性に信号を送り、信号を受けた属性が物に信号を送ることにより、耳で聞いた音によって物が認識される。
【０４７８】
従来技術では、個々の属性に対して論理演算をしなければならない。従来技術であるＰＲＯＬＯＧのようなプログラム言語では、物、属性、関係は、言葉としての文字列、つまり物、属性、または、関係の意味を表わす単語で表現されている。１組の単語の並びを知識の基本単位として、単語の並びを複数組保持することにより、知識を構築している。このような従来技術では、単語の並びの間の関連を直接表わしていない。また、広範囲で複雑に関連する暗黙知とよばれる知識を表現することが困難であった。そのため、人間が日常的に行っている簡単な判断を従来技術で行うことは難しかった。
【０４７９】
本実施形態の知識の集まりを用いると、与えられた物がある条件を満たしているかどうかを簡単に判断できる。あらかじめ与えられた１つまたは１つ以上の属性の属性識別子を指定して、知識の集まりを生成する。指定された属性は、ある物がこの知識の集まりに含まれるための条件である。次に、与えられた物がこの知識の集まりに含まれているかどうかを、知識の集まりを検索して調べる。もし含まれていれば、与えられた物は条件を満たすと判断できる。
【０４８０】
本実施形態の知識ネットワークを用いると、推論ができる。
【０４８１】
たとえば、さまざまな病気を物とする知識の集まりをあらかじめ保持しておく。この知識の集まり中の物は、病気という属性を持っている。病気という属性は、病気で寝込んでいる人の映像から生成された特徴データや、病気になったときのさまざまな症状の特徴データとつながっている。病気という抽象的な物には、病気という属性がつながっている。
【０４８２】
たとえば、顔色の悪い人の顔の映像が知識ベースシステムに入力されると、その特徴データが生成され、同じ特徴データが知識ベース内にあるかが調べられる。同じ特徴データがあると、顔色の悪い顔の特徴データにつながっている病気という属性が取得される。次に、病気という属性につながっている病気という抽象的な物が取得され、病気であると認識される。
【０４８３】
特徴データとして知識ベース内に保持されている症状と一致すると判断される症状の情報が入力されると、病気という抽象的な物が取得できる。このようにして病気であるという大雑把な判断ができる。
【０４８４】
どの病気であるかという更に詳しい判断は次のようにして行う。
【０４８５】
この知識の集まりには、風邪や肺炎など個々の病気も物として含まれている。風邪や結核などの各病気という物は、病名や症状を属性として持っている。風邪の病名という属性は、風邪という文字の映像から生成された識別データや、風邪という単語の音声から生成された識別データとつながっている。しかし、知識ベース内において、前述の病名を表わす識別データ自身は、病気に関する意味や概念を表すものとして利用されない。風邪という物は、たとえば、扁桃腺の腫れという属性を持つ。扁桃腺の腫れという属性には腫れた扁桃腺の映像の特徴データがつながる。このように、属性に特徴データがつながることにより、概念や意味が生成される。扁桃腺の腫れなどの１つの属性に、多くの種類の扁桃腺の映像から生成された特徴データがつながることができる。１つの属性に多くの種類の特徴データがつながっているほど、適切な判断ができる。
【０４８６】
たとえば、まず、腫れた扁桃腺の映像を外部から知識ベースシステムに入力し、その映像から特徴を抽出し、特徴データを生成する。次に、生成された特徴データと同じと判断された特徴データが知識ベース内にあるか探す。そして、同じと判断された特徴データが見つかると、その特徴データにつながる属性を取得する。
【０４８７】
さまざまな症状の情報を外部から知識ベースシステムに入力し、同様の処理を繰り返し、同じと判断された特徴データとつながった属性を取得する。取得された属性がより多くつながっている物、または、取得された属性がすべてつながっている物が、その症状の病気である可能性が高い。取得された属性がつながる病気である物のうち、いくつかを表示装置に表示することにより、診断の教育システムや診断支援システムが作れる。
【０４８８】
この知識の集まりの中に知識ネットワークを生成できる。病気という物を出発点にしてさまざまな病気が体系的につながっている知識ネットワークを生成できる。関連する病気をつないだ知識ネットワークも生成できる。たとえば、ある知識ネットワーク内で、風邪という物と肺炎という物をつなぐ。風邪をこじらせると肺炎になるというふたつの病気の関連性を一方向のつながりで表現する。このような知識ネットワークを利用すると、関連する病名を表示し診断を支援することもできる。たとえば、風邪の症状のある患者に関して、医師に肺炎の兆候の有無を確認するよう助言できる。
【０４８９】
直感を真似る仕組を作ることもできる。
【０４９０】
指定された２つの物について、１つまたは複数の情報ネットワークを経由して、一方の物から他方の物へ移動する経路を見つけることができれば、指定された２つの物の間に何らかの関係がある可能性があると判断できる。この処理は、人間が何気なく行っている直感的な判断に対応づけることができる。その後、共通度、非共通度、類似度など、属性を詳しく調べ、関連性について詳しい判断をすればよい。属性につながっている特徴データの比較を行い、さらに詳細に評価することもできる。記号論理を土台とした従来技術は、狭い範囲で詳細な論理的評価が行えるので、記号論理に基づいた方法は、この段階で効果的に利用できる。
【０４９１】
本願技術は何らかの判断をする業務において、判断業務の支援システムや判断業務の教育支援システムの構築に利用できる。
【０４９２】
音声認識という技術がある。音声認識でも本技術を利用できる。音声から特徴を抽出し、抽出された特徴を識別データとして保持しておき、その識別データをあらかじめ物や属性に対応づけておく。物と属性と識別データとは、前述の３階層構造でつないでおく。このようにしておくと、入力された音声を元に、音声が表わす単語の識別データを取得するだけでなく、音声に対応した概念や意味や物を取得できる。入力された音声から特徴を抽出し、識別データを生成する。生成された識別データと類似または一致した識別データとつながった属性や物を取得し、認識することができる。認識された物につながる他の属性を取得し、その属性につながる特徴データや識別データが取得できる。このような音声認識システムだけでなく、映像から特徴を抽出すれば映像認識システムとしても実施できる。温度センサ、圧力センサなどのセンサから特徴を抽出すれば、設備の監視システムとしても利用できる。もちろん文字で記述された情報にも利用できる。
【０４９３】
知識ネットワークを使って図形を表現することもできる。点、線、面、立体などの図形要素を物にして、図形要素である物をつなげば知識ネットワークで図形を扱える。
【０４９４】
図４６は、図形の一例として三角形１２１を示している。三角形以外の図形でもよい。また、平面図形に限らず立体図形でもよい。三角形１２１は、３個の線（直線）１２３と、３個の線１２３が互いに交わる３個の点（頂点）１２２と、３個の線１２３で囲われた面１２４とからなる。線１２３の代わりに曲線でも図形はできる。面１２４は平坦面ではなく曲面であってもよい。線１２３、点１２２、面１２４を物であると考え、線１２３、点１２２または面１２４からなる知識ネットワークを作る。
【０４９５】
図４７は、３個の点１２２で三角形１２１という図形を表わす知識ネットワークである。各点１２２は、物であるから属性を持つことができる。点１２２は、例えば、属性として座標値などを持つことができる。
【０４９６】
図４８は、点１２２と線１２３とで三角形１２１という平面の図形を表わす知識ネットワークである。点１２２と線１２３とが交互につながった知識ネットワークで図形を表わしている。この例では、点１２２は、属性として座標位置や内角を持つ。線１２３は、属性として線の長さを持つ。ただし、属性は、座標位置や長さに限られるものではない。
【０４９７】
図４９は、三角形１２１という平面の図形と、その図形の構成要素である線１２３をつないだ知識ネットワークである。図形のすべての構成要素と、平面をつないでもよいし、１個あるいは２個以上の構成要素を平面とつないでもよい。もちろん点という物を含んでいてもよい。
【０４９８】
平面の属性として、面積、二辺の長さが等しいという特徴、二等辺三角形という名称などを持ってもよい。図形要素という物は、映像から生成された特徴データとつながることで、その意味や概念が生成される。二辺の長さが等しいという特徴である属性は、二等辺三角形の映像から生成された特徴データにつながる。二等辺三角形という名称を表わす属性は、二等辺三角形という単語の文字の映像から生成された識別データや、二等辺三角形という音声から生成された識別データとつながっている。二等辺三角形という単語から生成された識別データだけを表わす属性は、二等辺三角形の意味や概念を表わす特徴データとつながらない。この例では、意味を持たず識別するためだけの属性と物の概念や意味を表わす属性とを明確に分離している。
【０４９９】
１つの属性につながる特徴データの数は、１つに限定されない。図５０は、三角錐という立体の図形で、４個の三角形（面）１２１で構成されている。図５１は、三角錐を例に、立体を知識ネットワークで表わした例である。立体の構成要素である三角形（面）１２１を、面を構成する図形要素とつなぐ。さらに、各面が共有する線（辺）１２３について、その辺を表す線同士をつなぐ。このように表わすと、立体を構成する面がどのように接しているかを表わすことができる。点や線などの共通する構成要素をつなぐ代わりに、共有する点や線などの構成要素について、複数の面で同じ点や線を用いることもできる。立体の展開図のように、いくつかの表現方法が可能である。
【０５００】
人間は、人の顔を認識するときに、目、鼻、口の位置関係を使うことがある。図５２は、目１２６、鼻１２７、口１２８を表わしている。図５３は、目と目を結ぶ直線、目と鼻を結ぶ直線、鼻と口を結ぶ直線を物とし、各物をつなぐ知識ネットワークの例である。つまり、顔の図形的な特徴を表わした知識ネットワークである。各直線の属性として線の長さを持つことにする。この知識ネットワークから、目の間の長さと目から鼻までの長さなどの比率を求めることができる。これらの比率が顔の特徴になる。
【０５０１】
例えば、外部から与えられた顔の映像から特徴を抽出し、図５３のような知識ネットワークを生成し、目、鼻、口の距離の比率を求める。あらかじめ保持された顔の知識ネットワークについても同様の比率を求め、両者を比べる。このようにすると、外部から与えられた顔の映像と記憶している顔が似ているかどうかの判断ができる。
【０５０２】
図５４は、将棋の盤面を表わした知識ネットワークである。将棋の駒を置く場所１２９が物である。駒を置く場所１２９が升目のようにつながった知識ネットワークである。駒を置く場所１２９は、盤面のなかでの位置を表わす情報を属性として持つ。たとえば（１、１）のように盤面の１つの角から縦横何番目に位置するかで表わす。また、碁盤に駒を置くと、駒を置く場所１２９の属性に、置かれた駒の種類が追加される。王、歩などが駒の種類である。駒がない状態は、空いていることを示す属性を持つか、あるいは、駒の属性を持たないようにして表現する。駒が移動すると、移動先にその駒の属性を移す。元の場所は、駒がない状態にする。駒を置く場所１２９の属性として、その場所の安全性や重要性の程度を表わす値など、さまざまな情報を持つことができる。
【０５０３】
また、図外にある駒を表わすものも物であり、その属性として駒の種類、移動可能範囲などの属性を持つ。各駒が移動可能な位置の駒を置く場所１２９が、「歩を移動可能」などの属性を持ってもよい。物である駒を置く場所１２９が、物である駒とつながり、駒自身が駒の移動稼動範囲などの属性を持ってもよい。目的に応じてより適した方法を採用することができる。
【０５０４】
具体的な物や抽象的な物を図形要素のように空間的な位置関係でつないで知識ネットワークを作ることもできる。このようにすると、（ＩＦ  ＴＨＥＮ  ＥＬＳＥ）のような記号論理とは異なる判断あるいは推論ができる。空間的な位置関係によって、判断あるいは推論ができる。
【０５０５】
たとえば、物Ａと物Ｂの隔たりと物Ａと物Ｃの隔たりを比較し、物Ａとの隔たりがより小さい物を選択するという判断あるいは推論ができる。物の隔たりを判断基準にして判断あるいは推論ができる。３次元の空間のように物同士をつないだ知識ネットワークにおいて、より上にある物を選択するという判断あるいは推論もできる。物がつながって生成された空間の中の位置を判断基準にして判断あるいは推論ができる。これは大局観に相当する。
【０５０６】
本実施形態では、属性が表わす意味や概念を表わす抽象的な物も扱える。この場合は、抽象的な物の意味を表わす特徴データとつながった属性が、物につながる。「熱さ」という抽象的な物の場合、ある属性が熱い物に触れたときの熱さの感覚の特徴データとつながり、さらにその属性が物につながる。この物が「熱さ」という抽象的な物である。「熱さ」という抽象的な物は、熱さという単語から生成された識別データとつながった属性ともつながることができるが、熱さという単語から生成された識別データとつながった属性はなくてもよい。本実施形態を使うと、単語あるいは言葉から生成された識別データなしで、知識の集まりや知識ネットワークを生成し、知識を蓄積し、推論などの知的処理ができる。
【０５０７】
ただし、単語あるいは言葉から生成された識別データが物や属性につながっていると、単語から生成された識別データによる識別や選択が可能になる。識別データと直接つながる物は、識別データによって識別できる。識別データとつながった属性は、識別データによって識別できる。さらに、識別データとつながった属性が物につながると、その物は識別データによって間接的に選択し、識別できる。
【０５０８】
一実施形態の知識ベースシステムは、識別データなしで特徴データと属性と物から知識ベース構築し、知識を蓄積し、推論などの知識処理ができる。識別データと特徴データと属性と物から知識ベース構築し、知識を蓄積し推論などの知識処理もできる。また、特徴データなしで識別データと属性と物からなる知識ベースを構築し、知識を蓄積し推論などの知識処理もできる。しかしこの場合、知識ベースは意味や概念を持たない。本願技術の一実施形態の知識ベースは、識別データまたは特徴データと、属性と物とから構成される。
【０５０９】
リレーショナルデータベース１４を使ってつながりを表で表現する実施形態を説明した。リレーショナルデータベース１４は、表を効率よく取り扱える。しかし、つながりを扱える他のソフトウエアでもかまわない。リスト構造というデータ構造を扱えるソフトウエアでも可能であるが、リスト構造を実現するためには、表の形式のデータを使うことになる。リスト構造とは、物であるノードを実現するデータ構造で使われているように、要素同士のつながりポインタで表わす。表でつながりを表わす場合は、つながり合う要素同士を１つの行に並べた表をつくる。ポインタでつながりを表現するか、１つの行に要素を並べて、つながりを表現するかの違いである。
【０５１０】
また、連想メモリのような装置や集積回路などの電子部品でもよい。連想メモリは、内部に表を持ち、ハードウエアによって次のような処理を行う。連想メモリ外からデータを受け取り、受け取ったデータの一部または全部が一致するデータが表の中にあるかどうかを調べる。一致するデータが表の中にあった場合、その一致するデータに関連づけられたデータを連想メモリ内の表から取得し、取得されたデータを出力する。連想メモリ内の表として、物と物を対応付けた表、物と属性を対応づけた表、属性と特徴データを対応づけた表などつながりを表わす表を作成しておく。
【０５１１】
この連想メモリに、物、属性、特徴データ、識別データの識別子を入力すると、その識別子が連想メモリ内にあるかどうかを調べる。その識別子が連想メモリ内にあると、その識別子に対応づけられた物、属性、特徴データ、識別データなどの識別子が表から取得され出力される。つまり、つながっている物、属性、特徴データ、識別データなどの識別子が取得できる。連想メモリ内の表で対応づけられているデータが出力される。このようにすると、リレーショナルデータベース１４を使って表を検索するのと同じ処理が行える。連想メモリ内の表のデータを追加削除することもできる。連想メモリは、リレーショナルデータベース１４の検索、追加、削除機能と表形式データを持つ装置あるいは集積回路などの電子部品である。
【０５１２】
ただし、１つの連想メモリに格納できるデータ量には限度がある。また、大量のデータを１つの連想メモリに格納すると検索時間が長くなるという問題がある。
【０５１３】
図５５のようなネットワークを使って実施することも可能である。図５５のネットワークは、一実施形態であり、図５５のネットワークに限定されない。このようなネットワークを、検索ネットワークと呼ぶ。
【０５１４】
表を使って識別子を対応づけるかわりに、図５５のようなネットワークを使って識別子を対応づけることができる。このネットワークを使って、対応づけられた識別子を検索、追加、削除できる。図５５のネットワークは、表だけを保持する図７の補助記憶装置７のひとつで、図５５のネットワーク内の通信装置内にリレーショナルデータベース１４の表と同等のデータを分解して保持し、リレーショナルデータベース１４と同等の検索処理を行う。リレーショナルデータベース１４よりも速く検索が行える。
【０５１５】
通常のネットワークは、あて先である通信装置識別子を含む情報を送信し、そのあて先がその通信装置識別子に一致する通信装置が受信する。本ネットワークでは、あて先を含まず送信元の通信装置識別子を含む情報を送信する。これにより、受信相手を指定しないであらかじめ指定された相手にデータを送信できる。
【０５１６】
図５５は、ネットワーク１５１を表わしている。図５５のネットワーク１５１は、通信路１５５を介して互いに接続される送信装置１５２、通信装置１５６、制御部１６０、及び送信受付部１６１で構成される。送信装置１５２は、送信部１５３を有する。また、通信装置１５６は、受信部１５７、通信装置識別子１５８、受信可能識別子１５９、検索部１６２、アドレス１６３を有する。
【０５１７】
このネットワーク１５１では、共有する送信装置１５２を使って、通信装置１５６に情報を送信する。送信装置１５２および送信部１５３は、各通信装置１５６に含まれるように実装してもよい。しかし、同時に送信できるのは１つの送信装置１５２の送信部１５３に限るので、１つの送信装置１５２および送信部１５３を複数の通信装置１５６で共用するほうが望ましい。送信装置１５２を１つに限るのは、通信路１５５で送信データの衝突が起こらなくなり、伝送効率が大幅に向上するからである。送信装置１５２から複数の通信装置１５６に対して同時に送信しているため更に効率がよい。
【０５１８】
送信受付部１６１は、制御部１６０から送信指示と送信データを受け付ける。送信データは、あて先を含まず、送信元の通信装置１５６の識別子である通信装置識別子１５８を１つだけ含む。１つの通信装置１５６が１つの物や属性や特徴データや識別データに対応づけられる。送信部１５３は、送信受付部１６１が受け取った送信元の通信装置識別子１５８を１つだけ含み、あて先を含まない情報を通信路１５５へ送信する。通信路１５５は、送信装置１５２と通信装置１５６とをつなぐ。通信路１５５は、電線や光ケーブル以外に、空間そのものが通信路１５５になってもよい。通信路１５５は何でもよい。
【０５１９】
通信装置１５６は、受信部１５７と、通信装置１５６自身の識別子である通信装置識別子１５８と、受信可能な通信装置１５６の識別子である受信可能識別子１５９と、検索部１６２とを持つ。通信装置識別子１５８は、１つのネットワークにおいてその通信装置１５６を識別する識別子であり、あらかじめ制御部１６０によって通信装置１５６に設定されている。受信可能識別子１５９は、１つの神経細胞に相当するその通信装置１５６につながっている他の神経細胞に相当する他の通信装置１５６の通信装置識別子１５８である。受信可能識別子１５９は、制御部１６０によって通信装置１５６にあらかじめ設定されている。
【０５２０】
制御部１６０は、通信装置１５６の受信可能識別子１５９を追加削除できる。これにより、神経細胞に相当する通信装置１５６同士をつなぐ、あるいは、つながりを削除できる。受信部１５７は、送信装置１５２から送信されたデータの中の送信元の通信装置識別子１５８を通信路１５５から受け取る。
【０５２１】
検索部１６２は、受け取った通信装置識別子１５８が受信可能識別子１５９のどれかと一致するかを調べる。受け取った送信元の通信装置識別子１５８が受信可能識別子１５９のどれかと一致すれば、検索部１６２は、その通信装置１５６自身の通信装置識別子１５８を含むデータを制御部１６０に出力する。これは、神経細胞に相当する通信装置１５６が、つながっている他の神経細胞である他の通信装置１５６から信号を受け取ったことに相当する。
【０５２２】
一方、受け取った送信元の通信装置識別子１５８が受信可能識別子１５９のいずれとも一致しないときは、通信装置１５６はその通信装置識別子１５８を出力しない。この場合、受け取った送信元の通信装置識別子１５８で識別される神経細胞に相当する通信装置１５６が、その神経細胞に相当する通信装置１５６とつながっていないことを表わす。このネットワークを使うと、ある通信装置識別子と別の通信装置識別子とを対応づけた表を、ある通信装置識別子で検索し、その通信装置識別子に対応づけられた他の通信装置識別子を取得するのと同じ処理ができる。つまり、このネットワークを使って表を検索することができる。
【０５２３】
制御部１６０は、検索部１６２によって出力された通信装置識別子１５８を受け取ると、受け取った通信装置識別子１５８を含むデータは、図外の装置に渡される。制御部１６０は、図外の装置より神経細胞に相当する通信装置の識別子である送信元の通信装置識別子１５８を含む送信指示を受け、受け取った送信指示を送信受付部１６１に送る。
【０５２４】
各通信装置１５６のアドレス１６３は、通信装置１５６を一意に識別する。制御部１６０は、このアドレス１６３で通信装置１５６を指定し、通信装置識別子１５８や受信可能識別子１５９を含むデータを設定する。図外のコンピュータあるいは知識ベースシステムは、通信装置識別子１５８、受信可能識別子１５９、通信装置１５６のアドレス１６３を含むデータを制御部１６０に送り、アドレス１６３で指定された通信装置１５６に、通信装置識別子１５８、受信可能識別子１５９を含むデータを設定する。通信装置識別子１５８は、ネットワーク１５１内で通信装置１５６を識別し、通信装置１５６のアドレス１６３はネットワーク１５１外から通信装置１５６を識別するために用いられる。
【０５２５】
図外の装置から表の検索を行う場合、図外の装置から制御部１６０装置に送信元の通信装置識別子１５８を含む送信指示を送る。ネットワーク１５１は前述の処理を行う。送信指示に含まれる送信元の通信装置識別子１５８で識別される通信装置１５６とつながる他の通信装置１５６の通信装置識別子１５８受け取ると、制御部１６０は、つながっている他の通信装置１５６の通信装置識別子１５８を含むデータを図外の装置に送る。
【０５２６】
このようなネットワーク１５１を使って実施すると、各通信装置１５６での検索処理が並列に行え、かつ、個々の通信装置１５６の検索処理がハードウエアで行われるので、非常に高速に表の検索が行える。そのため、処理速度が飛躍的に速くなる。素早い応答が要求される分野でも利用できる。
【０５２７】
本ネットワークの通信装置１５６は、仕組が単純であり、集積回路として容易に実施できる。１つの集積回路に複数の通信装置１５６を組み込むことも容易である。複数の通信装置１５６を持つ集積回路を並列に複数個つないでネットワークを生成すると、大きな表を作成できる。大容量の知識情報を蓄積し、高速に処理できる知識ベースシステムが構築できる。データベースを使うと、データベースの性能を維持するための保守作業を定期的に行う必要があるが、このネットワーク１５１ではその必要がない。
【０５２８】
図７に示される演算装置２と、図５５のネットワーク１５１は、制御部１６０でつながり、演算装置２から図５５の制御部１６０に対して指示やデータが渡される。また、演算装置２は制御部１６０からデータを受け取る。
【０５２９】
例えば、演算装置２から制御部１６０にアドレス１６３と通信装置識別子１５８や受信可能識別子１５９を含むデータと共に設定指示が渡されると、制御部１６０は、そのアドレス１６３の通信装置１５６に、受け取った通信装置識別子１５８や受信可能識別子１５９を含むデータを設定する。
【０５３０】
また、演算装置２から制御部１６０に送信指示と送信元の通信装置識別子１５８とを渡すと、制御部１６０は、送信指示と送信元の通信装置識別子１５８とを送信受付部１６１に送る。送信受付部１６１は、送信装置１５２の送信部１５３に送信指示と送信元の通信装置識別子１５８とを送る。送信部１５３は、通信路１５５に送信元の通信装置識別子１５８を送信する。通信装置１５６は、通信路１５５から送信元の通信装置識別子１５８を受け取ると、受信した送信元の通信装置識別子１５８と受信可能識別子１５９とを比較する。一致すれば、その通信装置１５６の通信装置識別子１５８を制御部１６０に渡す。受信可能識別子１５９と直接対応づけられたデータがその通信装置１５６内に設定されている場合は、その通信装置１５６の通信装置識別子１５８と、その受信可能識別子１５９と直接対応づけられたデータとが、制御部１６０に渡される。
【０５３１】
制御部１６０は、渡された通信装置識別子１５８を含むデータを演算装置２に渡す。
【０５３２】
あるいは、通信装置１５６は、その通信装置１５６の通信装置識別子１５８を含むデータと受信した送信元の通信装置識別子１５８とを制御部１６０に渡す。制御部１６０は、通信装置１５６の通信装置識別子１５８を含むデータと送信元の通信装置識別子１５８との組を演算装置２に渡してもよい。
【０５３３】
通信装置識別子１５８は、物、属性、特徴データまたは識別データの識別子である。つまり、１つの通信装置１５６は、１つの物、属性、特徴データまたは識別データである。だだし、特徴データの実際のデータは、特徴データの識別子と共に、図５５のネットワーク１５１以外のデータ１０に格納され、特徴データの識別子によって参照される。識別データの実際のデータも識別データの識別子と共に図５５のネットワーク１５１以外のデータ１０に格納され、識別データの識別子によって参照される。
【０５３４】
受信可能識別子１５９は、たとえばその通信装置１５６である１つの物につながっている他の物、他の属性、他の特徴データまたは他の識別データの識別子である。通信装置１５６は、物、属性、特徴データまたは識別データを表わしている。つまり、このネットワーク１５１は、物、属性、特徴データ、識別データのつながりを表わしている。通信装置１５６に設定されるデータは、リレーショナルデータベース１４の表などとして保持されている。
【０５３５】
物、属性、特徴データ、識別データを対応づけてつながりを表わす表を、分解した表の説明をする。
【０５３６】
つながりを表わす表について、対応づけられた一方の列を選択し、選択された列の１つの識別子を選び、その識別子とつながり対応づけられる他方の列の識別子を抜き出す。１つの識別子と抜き出されたいくつかの識別子だけを対応づける表を新たに作成する。その列の識別子についてこの処理を繰り返す。つながりを表わす表の各行に、さらに、つながりの程度を表わす重みなどの付属情報が対応づけられている場合、対応づけられた他方の列の識別子に付属情報をさらに対応づけて表を作成してもよい。付属情報は重みに限定されない。
【０５３７】
次に、他方の列である後者の列を選択し、選択された列の１つの識別子を選び、その識別子とつながり対応づけられる一方の列である前者の列の識別子を抜き出す。１つの識別子と抜き出されたいくつかの識別子だけを対応づける表を新たに作成する。その列の識別子についてこの処理を繰り返す。つながりを表わす表の各行に、さらに、つながりの程度を表わす重みなどの付属情報が対応づけられている場合、対応づけられた前者の列の識別子に付属情報をさらに対応づけて表を作成してもよい。付属情報は重みに限定されない。
【０５３８】
新たに作成された１つの表が１つの物、属性、特徴データ、識別データに相当する。この表は、たとえば、１つの物識別子と、その１つの物につながる他の物、属性、特徴データまたは識別データの識別子を対応づける。したがって、その１つの物、属性、特徴データまたは識別データの識別子と、物、属性、特徴データまたは識別データの識別子を保持する列数が１の表の組み合わせとしてもよい。つながっている他の物、属性、特徴データまたは識別データを表わす識別子の数は、０個以上で、１個に限定されない。
【０５３９】
図５６の特徴データと属性とを対応づける表は、図５７の１つの特徴データといくつかの属性とを対応づける表と、図５８の１つの属性といくつかの特徴データとを対応づける表とに分解できる。表には、属性の代わりに属性識別子、特徴データの代わりに特徴データの識別子が格納されている。
【０５４０】
図５６の特徴データと属性とを対応づける表の一方の列である特徴データの識別子の列から１つの特徴データの識別子（１０００１）を取得する。他方の列である属性識別子の列から、特徴データの識別子（１０００１）と対応づけられた属性識別子（１４）を抜き出し取得する。取得された１つの特徴データの識別子（１０００１）と、抜き出され取得された属性識別子（１４）だけを対応づけた表を生成する。これが、図５７の表である。図５６の表の各行に重みなどの付属情報があり各行に対応づけられている場合は、特徴データの識別子（１０００１）と対応づけられた属性識別子（１４）とに、さらにその付属情報を対応づけて図５７の表を作成してもよい。図５６の特徴データと属性を対応づける表の一方の列である特徴データの識別子の列のすべての特徴データの識別子について上記処理を繰り返す。
【０５４１】
図５６の特徴データと属性とを対応づける表の属性識別子の列から１つの属性識別子（１４）を取得する。特徴データの識別子の列から、属性識別子（１４）と対応づけられた特徴データの識別子（１０００１）を抜き出し取得する。さらに、属性識別子（１４）と対応づけられた特徴データの識別子（４５０００）を抜き出し取得する。取得された１つの属性識別子（１４）と、抜き出され取得された特徴データの識別子（１０００１、４５０００）だけを対応づけた表を生成する。これが、図５８の表である。図５６の表の各行に重みなどの付属情報があり各行に対応づけられている場合は、属性識別子（１４）と対応づけられた特徴データの識別子（１０００１）に、さらにその付属情報を対応づけて図５８の表を作成してもよい。図５６の特徴データと属性を対応づける表の後者の属性の列のすべての属性識別子について上記処理を繰り返す。
【０５４２】
このようにすると、図５６の特徴データと属性とを対応づける１つの表は、１つの特徴データと、その１つの特徴データと直接対応づけられたいくつかの属性とを表わす表と、１つの属性と、その１つの属性と直接対応づけられたいくつかの特徴データとを表わす表とに分解される。これらの分解された１つの表を１つの通信装置１５６に割り当てる。前者の表の場合は、１つの特徴データの識別子が通信装置識別子１５８に設定され、いくつかの属性識別子が受信可能識別子１５９として設定される。図５５には描かれていないが、属性識別子に付属情報が直接対応づけられている場合は、付属情報は属性識別子、つまり受信可能識別子１５９に直接対応づけられて通信装置１５６内に設定される。受信可能識別子１５９の表が１列の表ではなく複数列の表になって、対応づけられた属性識別子と同じ行に付属情報が設定される。
【０５４３】
データ１０には、未使用の物識別子、未使用の属性識別子、未使用の特徴データの識別子、未使用の識別データの識別子を保持する未使用識別子一覧がある。たとえば図１９の物と属性とを対応づける表で使われている物識別子や属性識別子は、未使用識別子一覧から取得されたものである。特徴データの識別子も識別データの識別子も未使用識別子一覧から取得されたものである。
【０５４４】
１つのネットワーク１５１内では、通信装置１５６と通信装置のアドレス１６３は、あらかじめ１対１に対応付けられ、１つの通信装置のアドレス１６３で通信装置１５６を１つだけ指定できる。データ１０には、未使用の通信装置のアドレス１６３を保持する未使用通信装置一覧がある。また、データ１０には、通信装置のアドレス１６３と、物識別子、属性識別子、特徴データの識別子または識別データの識別子とを対応づけたアドレス識別子対応表がある。
【０５４５】
演算装置２が制御部１６０に設定指示や送信指示を渡す場合、アドレス識別子対応表を使って、物、属性、特徴データまたは識別データの識別子から通信装置のアドレス１６３を取得し、取得されたアドレス１６３を含むデータと指示を制御部１６０に渡す。物、属性、特徴データまたは識別データが生成されるとき、未使用識別子一覧から識別子が取得され、未使用通信装置一覧から通信装置のアドレス１６３が取得され、取得された識別子とアドレス１６３の対がアドレス識別子対応表に格納される。
【０５４６】
ネットワーク１５１内では、１つの通信装置１５６が１つの物、１つの属性、１つの特徴データまたは１つの識別データに相当する。なお、音声や映像などから抽出された特徴である特徴データまたは識別データの実際のデータは、図５５のネットワーク１５１以外のデータ１０に保持されている。演算装置２は、ネットワーク１５１の制御部１６０にアドレス１６３とそのアドレス１６３で特定される通信装置１５６に設定する通信装置識別子１５８と受信可能識別子１５９とを含むデータを渡し、そのアドレス１６３で特定される通信装置１５６に通信装置識別子１５８と受信可能識別子１５９とを含むデータを設定するように指示を出す。指示を受けた制御部１６０は、受け取ったデータと指示にしたがって、そのアドレス１６３で特定される通信装置１５６に通信装置識別子１５８と受信可能識別子１５９とを含むデータを設定する。そして、その通信装置のアドレス１６３と通信装置識別子１５８に使われた識別子が対応付けられ、アドレス識別子対応表に格納される。
【０５４７】
図５６の特徴データと属性とを対応づける表は、図５７の１つの特徴データといくつかの属性とを対応づける表と、図５８の１つの属性といくつかの特徴データを対応づける表に分解できる。表には、属性の代わりに属性識別子、特徴データの代わりに特徴データの識別子が格納されている。
【０５４８】
図５７を例に説明する。図５７の最初の表について説明する。未使用通信装置一覧から未使用のアドレス１６３を１つ取得する。取得されたアドレス１６３と図５７の最初の表の特徴データの識別子（１０００１）との組をアドレス識別子対応表に格納する。これで、アドレス１６３と特徴データの識別子とが対応づけられた。すでに、アドレス１６３と特徴データの識別子（１０００１）とが対応づけられている場合は、アドレス識別子対応表から特徴データの識別子（１０００１）に対応づけられたアドレス１６３を取得する。
【０５４９】
演算装置２は、取得されたアドレス１６３と通信装置識別子１５８としての特徴データの識別子（１０００１）と、受信可能識別子１５９としての属性識別子（１４）と、付属情報である重み（１）と、設定指示とを制御部１６０に渡す。制御部１６０は、渡されたアドレス１６３で特定される通信装置１５６に対して、通信装置識別子１５８として受け取った特徴データの識別子（１０００１）を設定し、受信可能識別子１５９として受け取った属性識別子（１４）を設定し、属性識別子（１４）の付属データとして重み（１）を設定する。図５７のすべての表について同じように設定を繰り返す。図５８の表も同じようにする。
【０５５０】
図５６の表のデータと図５７の表のデータをすべて設定すると、図５６の特徴データと属性とを対応付ける表が、図５５のネットワークに格納されたことになる。１つの選択ネットワークが、図５６のような、識別子を対応づけつながりを表わしている、１つの表になる。
【０５５１】
たとえば、演算装置２が、制御部１６０に送信元の識別子として属性識別子（１４）と送信指示とを渡すと、制御部１６０は、受け取った送信元識別子と送信指示とを送信受付部１６１に渡す。送信受付部１６１は、受け取った送信元識別子と送信指示とを送信装置１５２の送信部１５３に渡す。送信部１５３は、受け取った送信指示にしたがって、受け取った送信元識別子（１４）を通信路１５５に送信する。
【０５５２】
図５７の一番上の表の特徴データの識別子（１０００１）が通信装置識別子１５８に設定され、同じ表の属性識別子（１４）が受信可能識別子１５９に設定された通信装置１５６の受信部１５７が、送信元識別子（１４）を通信路１５５から受け取る。すると、検索部１６２は、受け取った送信元識別子（１４）が、受信可能識別子１５９のどれかと一致するかを調べる。この場合、受け取った送信元識別子（１４）が、設定された受信可能識別子１５９の１つと一致する。その通信装置１５６の通信装置識別子１５８である特徴データの識別子（１０００１）と付属データである重み（１）とが通信装置１５６から制御部１６０に渡される。
【０５５３】
図５７の上から２番目の表の特徴データの識別子（４５０００）が通信装置識別子に設定され、同じ表の属性識別子（１４）が受信可能識別子に設定された別の通信装置１５６の受信部１５７が、通信路１５５から送信元識別子（１４）を受け取る。すると、検索部１６２は、受け取った送信元識別子（１４）が、受信可能識別子１５９のどれかと一致するかを調べる。この場合、受け取った送信元識別子(１４)が、設定された受信可能識別子１５９の１つと一致する。この通信装置１５６は、その通信装置１５６の通信装置識別子である特徴データの識別子（４５０００）と付属データである重み（２）とを制御部１６０に渡す。
【０５５４】
演算装置２は、通信装置１５６から制御部１６０に渡されたデータである特徴データの識別子（１０００１）と付属データである重み（１）との組と、特徴データの識別子（４５０００）と付属データである重み（２）との組を受け取る。特徴データ（１０００１）と特徴データ（４５０００）とが、属性識別子（１４）につながり対応づけられていることが判る。さらに、つながりの強さをあらわす重みも特徴データの付属情報として取得できる。
【０５５５】
上記の処理は、図５６の表を、リレーショナルデータベース１４を使い、属性識別子（１４）を検索キーにして検索したことと同じである。
【０５５６】
通信装置１５６に受信可能識別子１５９の付属データが設定されていない場合、通信装置１５６は、付属データを制御部１６０に渡さないようにしてもよいし、付属情報がないことを表わす特別なデータ、たとえばＮＵＬＬを制御部１６０に渡してもよい。
【０５５７】
プログラムは、処理手順をプログラムという情報で表わしたものである。これを、ハードウエア化することは可能である。従って、本願技術のプログラムをハードウエアで実施することも可能である。本技術のプログラムをハードウエアで実施した電子装置、集積回路またはプロセッサとして実施することにより、本技術をさまざまな機器に組み込むことができ、かつ、高速に処理できるようになる。もちろん情報システムとして実施できる。
【０５５８】
以上、図面を参照してこの発明の実施形態を説明したが、この発明は、図示した実施形態のものに限定されない。図示した実施形態に対して、この発明と同一の範囲内において、あるいは均等の範囲内において、種々の修正や変形を加えることが可能である。
【産業上の利用可能性】
【０５５９】
本発明は、知識ベースシステムに有利に利用される。
【符号の説明】
【０５６０】
１  入力装置
２  演算装置
３，１５６  通信装置
４，１５１  ネットワーク
５  外部記憶装置
６  主記憶装置
７  補助記憶装置
８  出力装置
９，１１  プログラム
１０，１２  データ
１３  知識ベースプログラム
１４  リレーショナルデータベース
６０，８０  ノード
６１，１１８  属性
６２，７２  物と物をつなぐ矢印
６３  物と属性をつなぐ矢印
７０  物である神経細胞
７１  属性である神経細胞
８１，８８  物識別子
８２  順方向ポインタ
８３  逆方向ポインタ
８４  知識ネットワーク情報
８５，１０２  知識ネットワーク識別子
８６  物の名前と物識別子との対応表
８７  物の名前
１００  重み
１０１  知識ネットワークと属性との対応表
１０３  属性識別子
１１０  感覚器官
１１１  物の領域
１１２  記憶領域
１１４，１０２０  特徴抽出部
１１５  属性領域
１１９  特徴データ
１２０  物
１２１  三角形
１２２  点
１２３  線
１２４  面
１２６  目
１２７  鼻
１２８  口
１２９  駒を置く場所
１５２  送信装置
１５３  送信部
１５５  通信路
１５７  受信部
１５８  通信装置識別子
１５９  受信可能識別子
１６０  制御部
１６１  送信受付部
１６２  検索部
１６３  アドレス
１６４  識別データ
１６５，１６６，１６７，１６８  知識の集まり
１６９，１７０，１７１  知識ネットワーク
１０００  知識ベースシステム
１０１０  データ入力部
１０２０  特徴抽出部
１０３０  データ比較部
１０４０  データ格納部
１０５０  学習部
１０６０  検索部
１０７０  演算部
１０８０  出力部
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
知識ベースシステムであって、
知識ベースを記憶している記憶部と、
前記記憶部に記憶された知識ベースに対する検索を行う検索部とを備え、
前記知識ベースは、物を識別する物識別子と、前記物がもつ少なくとも一つの属性であって、当該物の物識別子と対応づけられた属性とを含み、
前記属性は、当該属性を識別する属性識別子と、当該属性を表す少なくとも一つのデータであって、当該属性を識別する属性識別子に対応づけられた特徴データ、及び当該属性を表す言葉に対応付けられたデータであって、当該属性識別子に対応付けられた識別データのうちの少なくとも一方とを含み、
前記物識別子は、物を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成され、
前記属性識別子は、属性を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成され、
前記特徴データは、対応する属性の実体であり、対応する属性の概念を表し、
前記識別データは、対応する属性を識別するためのデータであり、対応する属性の概念を表さず、
前記検索部は、
識別データ又は特徴データが指定されると、指定された識別データ又は特徴データに対応づけられた属性識別子を取得すること、
識別データ又は特徴データが指定されると、指定された識別データ又は特徴データに対応づけられた物識別子を取得すること、
属性が指定されると、指定された属性に対応づけられた識別データ又は特徴データを取得すること、
属性が指定されると、指定された属性に対応づけられた物識別子を取得すること、
物が指定されると、指定された物に対応付けられた属性識別子を取得すること、及び、
物が指定されると、指定された物に対応づけられた特徴データ又は識別データを取得することの少なくとも１つを実行する
知識ベースシステム。
【請求項２】
前記特徴データは、当該特徴データに対応づけられた属性識別子が識別する属性の形、音、香、味、色、圧力、温度、長さ、座標値、及び面積の少なくとも一つを表すデータである
請求項１記載の知識ベースシステム。
【請求項３】
前記知識ベースシステムはさらに、
前記属性に関する情報を取得する入力部と、
前記入力部で取得された情報から、前記特徴データ及び前記識別データの少なくとも一つを抽出する特徴抽出部と、
前記特徴抽出部で抽出された前記特徴データ及び前記識別データの少なくとも一つを、前記属性を識別する属性識別子と対応づけて前記知識ベースに格納するデータ格納部とを備える
請求項１記載の知識ベースシステム。
【請求項４】
前記属性識別子は、主識別子と副識別子とを含み、
前記属性識別子は、前記主識別子と前記副識別子との組み合わせによって、前記属性を識別する
請求項１記載の知識ベースシステム。
【請求項５】
さらに、少なくとも、一つの物が演算の対象として指定されると指定された当該物がもつ属性を対象として前記論理演算を行う演算部を備える
請求項１記載の知識ベースシステム。
【請求項６】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応付けられている場合、同じ属性識別子を持ち、かつ、対応づけられた真偽値が共に真であるか又は共に偽である属性だけを集め、
個々の属性に前記真偽値が対応付けられていない場合、同じ属性識別子を持つ属性だけを集めることで、新たな属性の集合を生成するＡＮＤ演算を行う
請求項５記載の知識ベースシステム。
【請求項７】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、少なくともいずれかの属性の集合に属する属性を集めることで、新たな属性の集合を生成するＯＲ演算を行う
請求項５記載の知識ベースシステム。
【請求項８】
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が１つ指定された場合において、当該属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した新たな属性の集合を生成するＮＯＴ演算を行う
請求項５記載の知識ベースシステム。
【請求項９】
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、同じ属性識別子を持ち、かつ、対応づけられた真偽値が共に真であるか又は共に偽である属性だけを集めることで、新たな属性の集合を生成し、生成した新たな属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した更に新たな属性の集合を生成するＮＡＮＤ演算を行う
請求項５記載の知識ベースシステム。
【請求項１０】
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、少なくともいずれかの属性の集合に属する属性を集めることで、新たな属性の集合を生成し、生成した新たな属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した更に新たな属性の集合を生成するＮＯＲ演算を行う
請求項５記載の知識ベースシステム。
【請求項１１】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が同じである属性の数を共通度として計数し、
個々の前記属性に前記真偽値が対応づけられていない場合、いずれの属性の集合にも含まれる属性の数を共通度として計数する
請求項５記載の知識ベースシステム。
【請求項１２】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が異なる属性の数を非共通度として計数し、
個々の属性に前記真偽値が対応づけられていない場合、いずれかの属性の集合にだけ含まれる属性の数を非共通度として計数する
請求項５記載の知識ベースシステム。
【請求項１３】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、主識別子が同じで、かつ、対応づけられた真偽値が同じである属性の数を類似度として計数し、
個々の前記属性に前記真偽値が対応づけられていない場合、主識別子が同じである属性の数を類似度として計数する
請求項５記載の知識ベースシステム。
【請求項１４】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、主識別子が同じで、かつ、対応づけられた真偽値が異なる属性の数を非類似度として計数し、
個々の前記属性に前記真偽値が対応づけられていない場合、いずれかの属性の集合だけに含まれる属性の数を非類似度として計数する
請求項５記載の知識ベースシステム。
【請求項１５】
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、少なくともいずれかの属性の集合に属する属性から、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が異なる属性を除くことで、新たな属性の集合を生成するＯＲ演算を行う
請求項５記載の知識ベースシステム。
【請求項１６】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、いずれの属性の集合にも属する属性を除くことで、新たな属性の集合を生成するＸＯＲ演算を行う
請求項５記載の知識ベースシステム。
【請求項１７】
さらに、少なくとも一つの属性が指定されると、指定された属性に対応づけられた物識別子を集めることで、当該属性をもつ知識の集まりを生成する演算部を備える
請求項１記載の知識ベースシステム。
【請求項１８】
前記演算部はさらに、物が指定されると、当該物の物識別子が前記知識の集まりに属するか否かを判断する
請求項１７記載の知識ベースシステム。
【請求項１９】
前記演算部はさらに、
生成した前記知識の集まりを識別する物識別子と、
前記指定された少なくとも一つの属性を識別する属性識別子、及び抽象的な物であることを示す属性の属性識別子とを対応付けることで、抽象的な物を新たに生成する
請求項１７に記載の知識ベースシステム。
【請求項２０】
前記知識ベースはさらに、物に対応づけられたノードのつながりである知識ネットワークを含み、
前記ノードは、当該ノードに対応する物識別子と、当該ノードが属する知識ネットワークに関する情報である知識ネットワーク情報とを含み、
前記知識ネットワーク情報は、前記知識ネットワークを識別する知識ネットワーク識別子と、前記知識ネットワークにおける当該ノードとつながる他のノードへのポインタとを含む
請求項１記載の知識ベースシステム。
【請求項２１】
さらに、指定された知識ネットワーク識別子で識別された知識ネットワークにおいて、当該知識ネットワークを構成するノードに含まれる物識別子と知識ネットワーク情報とを参照することで、指定された物とつながっている他の物を特定する演算部を備える
請求項２０記載の知識ベースシステム。
【請求項２２】
さらに、属性識別子が指定されると、当該属性識別子に対応づけられた知識ネットワークを検索し、検索された知識ネットワークの知識ネットワーク識別子を取得する演算部を備える
請求項２０記載の知識ベースシステム。
【請求項２３】
前記演算部はさらに、
前記知識ネットワークを識別する物識別子と、
前記知識ネットワークに対応付けられた少なくとも１つの属性識別子、及び抽象的な物であることを示す属性の属性識別子とを対応付けることで、抽象的な物を新たに生成する
請求項２２に記載の知識ベースシステム。
【請求項２４】
知識ベースシステムにおける論理演算方法であって、
請求項１記載の知識ベースシステムが備える知識ベースに対して、少なくとも請求項１〜２３のいずれか１項に記載の検索部及び演算部による処理を行うステップを含む
論理演算方法。
【請求項２５】
知識ベースシステムのためのプログラムであって、
請求項２４記載の論理演算方法に含まれるステップをコンピュータに実行させる
プログラム。
【請求項２６】
知識ベースシステムのためのコンピュータ読み取り可能な記録媒体であって、
請求項１記載の知識ベースと、
請求項２５記載のプログラムと
が記録された記録媒体。
【手続補正書】
【提出日】平成23年1月5日(2011.1.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
知識ベースシステムであって、
知識ベースを記憶している記憶部と、
前記記憶部に記憶された知識ベースに対する検索を行う検索部とを備え、
前記知識ベースは、物を識別する物識別子と、前記物がもつ少なくとも一つの属性であって、当該物の物識別子と対応づけられた属性とを含み、
前記属性には、当該属性を識別する属性識別子が１対１に対応づけられ、
前記属性識別子には、属性を表す少なくとも一つのデータである特徴データ、及び属性を表す言葉に対応付けられたデータである識別データのうちの少なくとも一方が対応づけられ、
前記物識別子は、物を表す言葉ではなく、物を表す言葉との直接的な対応をもたず、かつ、それ自体で意味を持たない記号で構成され、
前記属性識別子は、属性を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成され、
前記特徴データは、対応する属性の実体であり、対応する属性の概念を表し、かつ、言葉に対応づけられたデータを除くデータであり、
前記識別データは、対応する属性を識別するためのデータであり、対応する属性の概念を表さず、
前記検索部は、
識別データ又は特徴データが指定されると、指定された識別データ又は特徴データに対応づけられた属性識別子を取得すること、
識別データ又は特徴データが指定されると、指定された識別データ又は特徴データに対応づけられた物識別子を取得すること、
属性が指定されると、指定された属性に対応づけられた識別データ又は特徴データを取得すること、
属性が指定されると、指定された属性に対応づけられた物識別子を取得すること、
物が指定されると、指定された物に対応付けられた属性識別子を取得すること、及び、
物が指定されると、指定された物に対応づけられた特徴データ又は識別データを取得することの少なくとも１つを実行する
知識ベースシステム。 
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
本発明の一形態に係る知識ベースシステムは、知識ベースを記憶している記憶部と、前記記憶部に記憶された知識ベースに対して論理演算を行う演算部とを備え、前記知識ベースは、物を識別する物識別子と、前記物がもつ少なくとも一つの属性であって、当該物の物識別子と対応づけられた属性とを含む。前記属性には、当該属性を識別する属性識別子が１対１に対応づけられ、前記属性識別子には、属性を表す少なくとも一つのデータである特徴データ、及び属性を表す言葉に対応付けられたデータである識別データのうちの少なくとも一方が対応づけられる。前記物識別子は、物を表す言葉ではなく、物を表す言葉との直接的な対応をもたず、かつ、それ自体で意味を持たない記号で構成される。前記属性識別子は、属性を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成される。 
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
また、前記特徴データは、対応する属性の実体であり、対応する属性の概念を表し、かつ、言葉に対応づけられたデータを除くデータであり、例えば、当該特徴データに対応づけられた属性識別子が識別する属性の形、音、香、味、色、圧力、温度、長さ、座標値、及び面積の少なくとも一つを表すデータであってもよい。このように、各属性の概念（意味内容）は、属性識別子に関連付けられた特徴データによって定義される。
【手続補正書】
【提出日】平成23年3月11日(2011.3.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
知識ベースシステムであって、
知識ベースを記憶している記憶部と、
前記記憶部に記憶された知識ベースに対する検索を行う検索部とを備え、
前記知識ベースは、物を識別する物識別子と、前記物がもつ少なくとも一つの属性であって、当該物の物識別子と対応づけられた属性とを含み、
前記属性には、当該属性を識別する属性識別子が１対１に対応づけられ、
前記属性識別子には、属性を表す少なくとも一つのデータである特徴データ、及び属性を表す言葉に対応付けられたデータである識別データのうちの少なくとも一方が対応づけられ、
前記物識別子は、物を表す言葉ではなく、物を表す言葉との直接的な対応をもたず、かつ、それ自体で意味を持たない記号で構成され、
前記属性識別子は、属性を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成され、
前記特徴データは、対応する属性の実体であり、
前記識別データは、対応する属性を識別するためのデータであり、
前記検索部は、
識別データ又は特徴データが指定されると、指定された識別データ又は特徴データに対応づけられた属性識別子を取得すること、
識別データ又は特徴データが指定されると、指定された識別データ又は特徴データに対応づけられた物識別子を取得すること、
属性が指定されると、指定された属性に対応づけられた識別データ又は特徴データを取得すること、
属性が指定されると、指定された属性に対応づけられた物識別子を取得すること、
物が指定されると、指定された物に対応付けられた属性識別子を取得すること、及び、
物が指定されると、指定された物に対応づけられた特徴データ又は識別データを取得することの少なくとも１つを実行する
知識ベースシステム。
【請求項２】
前記特徴データは、当該特徴データに対応づけられた属性識別子が識別する属性の形、音、香、味、色、圧力、温度、長さ、座標値、及び面積の少なくとも一つを表すデータである
請求項１記載の知識ベースシステム。
【請求項３】
前記知識ベースシステムはさらに、
前記属性に関する情報を取得する入力部と、
前記入力部で取得された情報から、前記特徴データ及び前記識別データの少なくとも一つを抽出する特徴抽出部と、
前記特徴抽出部で抽出された前記特徴データ及び前記識別データの少なくとも一つを、前記属性を識別する属性識別子と対応づけて前記知識ベースに格納するデータ格納部とを備える
請求項１記載の知識ベースシステム。
【請求項４】
前記属性識別子は、主識別子と副識別子とを含み、
前記属性識別子は、前記主識別子と前記副識別子との組み合わせによって、前記属性を識別する
請求項１記載の知識ベースシステム。
【請求項５】
さらに、前記知識ベースを対象として論理演算を行う演算部を備え、
前記演算部は、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合に対する論理積を算出する処理として、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応付けられている場合、指定された前記２つの属性の集合において同じ属性識別子を持ち、かつ、対応づけられた真偽値が共に真であるか又は共に偽である属性だけを集め、
個々の属性に前記真偽値が対応付けられていない場合、指定された前記２つの属性の集合において同じ属性識別子を持つ属性だけを集めることで、新たな属性の集合を生成するＡＮＤ演算を行う
請求項１記載の知識ベースシステム。
【請求項６】
さらに、前記知識ベースを対象として論理演算を行う演算部を備え、
前記演算部は、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合に対する論理和を算出する処理として、指定された２つの集合の少なくともいずれかに属する属性を集めることで、新たな属性の集合を生成するＯＲ演算を行う
請求項１記載の知識ベースシステム。
【請求項７】
さらに、前記知識ベースを対象として論理演算を行う演算部を備え、
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部は、少なくとも一つの属性からなる属性の集合が１つ指定された場合において、指定された１つの集合に対する否定を算出する処理として、当該属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した新たな属性の集合を生成するＮＯＴ演算を行う
請求項１記載の知識ベースシステム。
【請求項８】
さらに、前記知識ベースを対象として論理演算を行う演算部を備え、
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部は、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合に対する否定論理積を算出する処理として、指定された前記２つの属性の集合において同じ属性識別子を持ち、かつ、対応づけられた真偽値が共に真であるか又は共に偽である属性だけを集めることで、新たな属性の集合を生成し、生成した新たな属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した更に新たな属性の集合を生成するＮＡＮＤ演算を行う
請求項１記載の知識ベースシステム。
【請求項９】
さらに、前記知識ベースを対象として論理演算を行う演算部を備え、
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部は、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合に対する否定論理和を算出する処理として、指定された２つの集合の少なくともいずれかに属する属性を集めることで、新たな属性の集合を生成し、生成した新たな属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した更に新たな属性の集合を生成するＮＯＲ演算を行う
請求項１記載の知識ベースシステム。
【請求項１０】
さらに、前記知識ベースを対象として論理演算を行う演算部を備え、
前記演算部は、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合が似ている程度を算出する処理として、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が同じである属性の数を共通度として計数し、
個々の前記属性に前記真偽値が対応づけられていない場合、いずれの属性の集合にも含まれる属性の数を共通度として計数する
請求項１記載の知識ベースシステム。
【請求項１１】
さらに、前記知識ベースを対象として論理演算を行う演算部を備え、
前記演算部は、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合が似ていない程度を算出する処理として、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が異なる属性の数を非共通度として計数し、
個々の属性に前記真偽値が対応づけられていない場合、いずれかの属性の集合にだけ含まれる属性の数を非共通度として計数する
請求項１記載の知識ベースシステム。
【請求項１２】
さらに、前記知識ベースを対象として論理演算を行う演算部を備え、
前記属性識別子は、主識別子と副識別子とを含み、
前記属性識別子は、前記主識別子と前記副識別子との組み合わせによって、前記属性を識別し、
前記演算部は、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合が似ている程度を算出する処理として、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、主識別子が同じで、かつ、対応づけられた真偽値が同じである属性の数を類似度として計数し、
個々の前記属性に前記真偽値が対応づけられていない場合、主識別子が同じである属性の数を類似度として計数する
請求項１記載の知識ベースシステム。
【請求項１３】
さらに、前記知識ベースを対象として論理演算を行う演算部を備え、
前記属性識別子は、主識別子と副識別子とを含み、
前記属性識別子は、前記主識別子と前記副識別子との組み合わせによって、前記属性を識別し、
前記演算部は、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合が似ていない程度を算出する処理として、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、主識別子が同じで、かつ、対応づけられた真偽値が異なる属性の数を非類似度として計数し、
個々の前記属性に前記真偽値が対応づけられていない場合、いずれかの属性の集合だけに含まれる属性の数を非類似度として計数する
請求項１記載の知識ベースシステム。
【請求項１４】
さらに、前記知識ベースを対象として論理演算を行う演算部を備え、
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部は、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合に対する論理和を算出する処理として、指定された２つの集合の少なくともいずれかに属する属性から、いずれの集合にも含まれ、かつ、対応づけられた真偽値が異なる属性を除くことで、新たな属性の集合を生成するＯＲ演算を行う
請求項１記載の知識ベースシステム。
【請求項１５】
さらに、前記知識ベースを対象として論理演算を行う演算部を備え、
前記演算部は、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合に対する排他的論理和を算出する処理として、指定された２つの集合のいずれにも属する属性を除くことで、新たな属性の集合を生成するＸＯＲ演算を行う
請求項１記載の知識ベースシステム。
【請求項１６】
さらに、少なくとも一つの属性が指定されると、指定された属性に対応づけられた物識別子を集めることで、当該属性をもつ知識の集まりを生成する演算部を備える
請求項１記載の知識ベースシステム。
【請求項１７】
前記演算部はさらに、物が指定されると、当該物の物識別子が前記知識の集まりに属するか否かを判断する
請求項１６記載の知識ベースシステム。
【請求項１８】
前記演算部はさらに、
生成した前記知識の集まりを識別する物識別子と、
前記指定された少なくとも一つの属性を識別する属性識別子、及び抽象的な物であることを示す属性の属性識別子とを対応付けた情報を前記記憶部に格納することで、抽象的な物を新たに生成する
請求項１６に記載の知識ベースシステム。
【請求項１９】
前記知識ベースはさらに、物に対応づけられたノードのつながりである知識ネットワークを含み、
前記ノードは、当該ノードに対応する物識別子と、当該ノードが属する知識ネットワークに関する情報である知識ネットワーク情報とを含み、
前記知識ネットワーク情報は、前記知識ネットワークを識別する知識ネットワーク識別子と、前記知識ネットワークにおける当該ノードとつながる他のノードへのポインタとを含む
請求項１記載の知識ベースシステム。
【請求項２０】
さらに、指定された知識ネットワーク識別子で識別された知識ネットワークにおいて、当該知識ネットワークを構成するノードに含まれる物識別子と知識ネットワーク情報とを参照することで、指定された物とつながっている他の物を特定する演算部を備える
請求項１９記載の知識ベースシステム。
【請求項２１】
さらに、属性識別子が指定されると、当該属性識別子に対応づけられた知識ネットワークを検索し、検索された知識ネットワークの知識ネットワーク識別子を取得する演算部を備える
請求項１９記載の知識ベースシステム。
【請求項２２】
前記演算部はさらに、
前記知識ネットワークを識別する物識別子と、
前記知識ネットワークに対応付けられた少なくとも１つの属性識別子、及び抽象的な物であることを示す属性の属性識別子とを対応付けた情報を前記記憶部に格納することで、抽象的な物を新たに生成する
請求項２１に記載の知識ベースシステム。
【請求項２３】
知識ベースシステムにおける論理演算方法であって、
請求項１記載の知識ベースシステムが備える知識ベースに対して、少なくとも請求項１〜２２のいずれか１項に記載の検索部及び演算部による処理を行うステップを含む
論理演算方法。
【請求項２４】
知識ベースシステムのためのプログラムであって、
請求項２３記載の論理演算方法に含まれるステップをコンピュータに実行させる
プログラム。
【請求項２５】
知識ベースシステムのためのコンピュータ読み取り可能な記録媒体であって、
請求項１記載の知識ベースと、
請求項２４記載のプログラムと
が記録された記録媒体。
【手続補正書】
【提出日】平成23年6月15日(2011.6.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
知識ベースシステムであって、
知識ベースを記憶している記憶部と、
前記記憶部に記憶された知識ベースに対する検索を行う検索部と、
前記知識ベースを対象として論理演算を行う演算部とを備え、
前記知識ベースは、物を識別する物識別子と、前記物がもつ少なくとも一つの属性であって、当該物の物識別子と対応づけられた属性とを含み、
前記属性には、当該属性を識別する属性識別子が１対１に対応づけられ、
前記属性識別子には、属性を表す少なくとも一つのデータである特徴データ、及び属性を表す言葉に対応付けられたデータである識別データのうちの少なくとも一方が対応づけられ、
前記物識別子は、物を表す言葉ではなく、物を表す言葉との直接的な対応をもたず、かつ、それ自体で意味を持たない記号で構成され、
前記属性識別子は、属性を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成され、
前記特徴データは、対応する属性の実体であり、
前記識別データは、対応する属性を識別するためのデータであり、
前記検索部は、
識別データ又は特徴データが指定されると、指定された識別データ又は特徴データに対応づけられた属性識別子を取得すること、
識別データ又は特徴データが指定されると、指定された識別データ又は特徴データに対応づけられた物識別子を取得すること、
属性が指定されると、指定された属性に対応づけられた識別データ又は特徴データを取得すること、
属性が指定されると、指定された属性に対応づけられた物識別子を取得すること、
物が指定されると、指定された物に対応付けられた属性識別子を取得すること、及び、
物が指定されると、指定された物に対応づけられた特徴データ又は識別データを取得することの少なくとも１つを実行し、
前記属性識別子は、主識別子と副識別子とを含み、前記主識別子と前記副識別子との組み合わせによって、前記属性を識別し、
前記演算部は、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合が似ている程度を算出する処理として、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、主識別子が同じで、かつ、対応づけられた真偽値が同じである属性の数を類似度として計数し、
個々の前記属性に前記真偽値が対応づけられていない場合、主識別子が同じである属性
の数を類似度として計数する
知識ベースシステム。
【請求項２】
知識ベースシステムであって、
知識ベースを記憶している記憶部と、
前記記憶部に記憶された知識ベースに対する検索を行う検索部と、
前記知識ベースを対象として論理演算を行う演算部とを備え、
前記知識ベースは、物を識別する物識別子と、前記物がもつ少なくとも一つの属性であって、当該物の物識別子と対応づけられた属性とを含み、
前記属性には、当該属性を識別する属性識別子が１対１に対応づけられ、
前記属性識別子には、属性を表す少なくとも一つのデータである特徴データ、及び属性を表す言葉に対応付けられたデータである識別データのうちの少なくとも一方が対応づけられ、
前記物識別子は、物を表す言葉ではなく、物を表す言葉との直接的な対応をもたず、かつ、それ自体で意味を持たない記号で構成され、
前記属性識別子は、属性を表す言葉ではなく、かつ、それ自体で意味を持たない記号で構成され、
前記特徴データは、対応する属性の実体であり、
前記識別データは、対応する属性を識別するためのデータであり、
前記検索部は、
識別データ又は特徴データが指定されると、指定された識別データ又は特徴データに対応づけられた属性識別子を取得すること、
識別データ又は特徴データが指定されると、指定された識別データ又は特徴データに対応づけられた物識別子を取得すること、
属性が指定されると、指定された属性に対応づけられた識別データ又は特徴データを取得すること、
属性が指定されると、指定された属性に対応づけられた物識別子を取得すること、
物が指定されると、指定された物に対応付けられた属性識別子を取得すること、及び、
物が指定されると、指定された物に対応づけられた特徴データ又は識別データを取得することの少なくとも１つを実行し、
前記属性識別子は、主識別子と副識別子とを含み、前記主識別子と前記副識別子との組み合わせによって、前記属性を識別し、
前記演算部は、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合が似ていない程度を算出する処理として、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、主識別子が同じで、かつ、対応づけられた真偽値が異なる属性の数を非類似度として計数し、
個々の前記属性に前記真偽値が対応づけられていない場合、いずれかの属性の集合だけに含まれる属性の数を非類似度として計数する
知識ベースシステム。
【請求項３】
前記特徴データは、当該特徴データに対応づけられた属性識別子が識別する属性の形、音、香、味、色、圧力、温度、長さ、座標値、及び面積の少なくとも一つを表すデータである
請求項１又は２記載の知識ベースシステム。
【請求項４】
前記知識ベースシステムはさらに、
前記属性に関する情報を取得する入力部と、
前記入力部で取得された情報から、前記特徴データ及び前記識別データの少なくとも一つを抽出する特徴抽出部と、
前記特徴抽出部で抽出された前記特徴データ及び前記識別データの少なくとも一つを、前記属性を識別する属性識別子と対応づけて前記知識ベースに格納するデータ格納部とを備える
請求項１又は２記載の知識ベースシステム。
【請求項５】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合に対する論理積を算出する処理として、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応付けられている場合、指定された前記２つの属性の集合において同じ属性識別子を持ち、かつ、対応づけられた真偽値が共に真であるか又は共に偽である属性だけを集め、
個々の属性に前記真偽値が対応付けられていない場合、指定された前記２つの属性の集合において同じ属性識別子を持つ属性だけを集めることで、新たな属性の集合を生成するＡＮＤ演算を行う
請求項１又は２記載の知識ベースシステム。
【請求項６】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合に対する論理和を算出する処理として、指定された２つの集合の少なくともいずれかに属する属性を集めることで、新たな属性の集合を生成するＯＲ演算を行う
請求項１又は２記載の知識ベースシステム。
【請求項７】
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が１つ指定された場合において、指定された１つの集合に対する否定を算出する処理として、当該属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した新たな属性の集合を生成するＮＯＴ演算を行う
請求項１又は２記載の知識ベースシステム。
【請求項８】
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合に対する否定論理積を算出する処理として、指定された前記２つの属性の集合において同じ属性識別子を持ち、かつ、対応づけられた真偽値が共に真であるか又は共に偽である属性だけを集めることで、新たな属性の集合を生成し、生成した新たな属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した更に新たな属性の集合を生成するＮＡＮＤ演算を行う
請求項１又は２記載の知識ベースシステム。
【請求項９】
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合に対する否定論理和を算出する処理として、指定された２つの集合の少なくともいずれかに属する属性を集めることで、新たな属性の集合を生成し、生成した新たな属性の集合に含まれる各属性について、対応づけられた真偽値が真の場合は偽に変えた属性を生成し、真偽値が偽の場合は真に変えた属性を生成することで、真偽値を変更した更に新たな属性の集合を生成するＮＯＲ演算を行う
請求項１又は２記載の知識ベースシステム。
【請求項１０】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合が似ている程度を算出する処理として、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が同じである属性の数を共通度として計数し、
個々の前記属性に前記真偽値が対応づけられていない場合、いずれの属性の集合にも含まれる属性の数を共通度として計数する
請求項１又は２記載の知識ベースシステム。
【請求項１１】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合が似ていない程度を算出する処理として、
個々の前記属性に、当該属性が真であるか偽であるかを示す真偽値が対応づけられている場合、いずれの属性の集合にも含まれ、かつ、対応づけられた真偽値が異なる属性の数を非共通度として計数し、
個々の属性に前記真偽値が対応づけられていない場合、いずれかの属性の集合にだけ含まれる属性の数を非共通度として計数する
請求項１又は２記載の知識ベースシステム。
【請求項１２】
個々の前記属性には、当該属性が真であるか偽であるかを示す真偽値が対応付けられており、
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合に対する論理和を算出する処理として、指定された２つの集合の少なくともいずれかに属する属性から、いずれの集合にも含まれ、かつ、対応づけられた真偽値が異なる属性を除くことで、新たな属性の集合を生成するＯＲ演算を行う
請求項１又は２記載の知識ベースシステム。
【請求項１３】
前記演算部はさらに、少なくとも一つの属性からなる属性の集合が２つ指定された場合において、指定された２つの集合に対する排他的論理和を算出する処理として、指定された２つの集合のいずれにも属する属性を除くことで、新たな属性の集合を生成するＸＯＲ演算を行う
請求項１又は２記載の知識ベースシステム。
【請求項１４】
前記演算部はさらに、少なくとも一つの属性が指定されると、指定された属性に対応づけられた物識別子を集めることで、当該属性をもつ知識の集まりを生成する
請求項１又は２記載の知識ベースシステム。
【請求項１５】
前記演算部はさらに、物が指定されると、当該物の物識別子が前記知識の集まりに属するか否かを判断する
請求項１４記載の知識ベースシステム。
【請求項１６】
前記演算部はさらに、
生成した前記知識の集まりを識別する物識別子と、
前記指定された少なくとも一つの属性を識別する属性識別子、及び抽象的な物であることを示す属性の属性識別子とを対応付けた情報を前記記憶部に格納することで、抽象的な物を新たに生成する
請求項１４に記載の知識ベースシステム。
【請求項１７】
前記知識ベースはさらに、物に対応づけられたノードのつながりである知識ネットワークを含み、
前記ノードは、当該ノードに対応する物識別子と、当該ノードが属する知識ネットワー
クに関する情報である知識ネットワーク情報とを含み、
前記知識ネットワーク情報は、前記知識ネットワークを識別する知識ネットワーク識別子と、前記知識ネットワークにおける当該ノードとつながる他のノードへのポインタとを含む
請求項１又は２記載の知識ベースシステム。
【請求項１８】
前記演算部はさらに、指定された知識ネットワーク識別子で識別された知識ネットワークにおいて、当該知識ネットワークを構成するノードに含まれる物識別子と知識ネットワーク情報とを参照することで、指定された物とつながっている他の物を特定する
請求項１７記載の知識ベースシステム。
【請求項１９】
前記演算部はさらに、属性識別子が指定されると、当該属性識別子に対応づけられた知識ネットワークを検索し、検索された知識ネットワークの知識ネットワーク識別子を取得する
請求項１７記載の知識ベースシステム。
【請求項２０】
前記演算部はさらに、
前記知識ネットワークを識別する物識別子と、
前記知識ネットワークに対応付けられた少なくとも１つの属性識別子、及び抽象的な物であることを示す属性の属性識別子とを対応付けた情報を前記記憶部に格納することで、抽象的な物を新たに生成する
請求項１９に記載の知識ベースシステム。
【請求項２１】
知識ベースシステムにおける論理演算方法であって、
請求項１又は２記載の知識ベースシステムが備える知識ベースに対して、少なくとも請求項１〜２０のいずれか１項に記載の検索部及び演算部による処理を行うステップを含む
論理演算方法。
【請求項２２】
知識ベースシステムのためのプログラムであって、
請求項２１記載の論理演算方法に含まれるステップをコンピュータに実行させる
プログラム。
【請求項２３】
知識ベースシステムのためのコンピュータ読み取り可能な記録媒体であって、
請求項１又は２記載の知識ベースと、
請求項２２記載のプログラムと
が記録された記録媒体。
【国際調査報告】
2010134319.tif 000066
2010134319.tif 000067
2010134319.tif 000068
2010134319.tif 000069