(57)【特許請求の範囲】
【請求項１】
提供対象となるデータを格納するデータ格納手段と、
前記データ格納手段に格納されているデータの中から所定の検索条件に合致するデータを関連集合として抽出する検索処理を、オペレータから順次与えられる複数の検索条件に基づいて繰り返し実行する検索手段と、
前記検索手段が検索処理を実行するたびに、この検索処理の結果に基づいて所定のデータから構成される候補集合を求め、求めた候補集合を示す情報をオペレータに提示する候補提示手段と、
前記候補集合の中から、オペレータによって採択されたデータを提供するデータ提供手段と、
を備え、前記候補提示手段が、
個々のデータに、最下位ステータスＳ１乃至最上位ステータスＳ（ｎ＋１）なる合計（ｎ＋１）段階のステータスを定義できるようにし（ただし、ｎは予め設定された２以上の自然数）、一連の繰り返し検索処理の開始時に、全データのステータスを初期ステータスＳｊ（ただし、ｊは１＜ｊ≦ｎ＋１なる自然数）に設定しておき、
各回の検索処理が実行されるたびに、当該検索処理により関連集合として抽出されたデータについては、ステータスをｕ段階昇進（ただし、ｕは予め定義された０＜ｕ＜ｎなる自然数とし、全データについて共通の値でもよいし、個々のデータごとに異なる値でもよい。また、昇進は、最上位ステータスＳ（ｎ＋１）を上限とする）させ、当該検索処理により関連集合として抽出されなかったデータについては、最下位ステータスＳ１へ転落（ただし、最下位ステータスＳ１を下限とする）させるステータス遷移を行うとともに、最上位ステータスＳ（ｎ＋１）となったデータを候補集合として提示する処理を行うことを特徴とするデータベースシステム。
【請求項２】
複数のノードからなるノード集合体を定義し、個々のノードにそれぞれ所定のデータを対応づけ、特定の着目ノードが指定された場合に、この着目ノードに対応づけられたデータを提供する機能をもったデータベースシステムであって、
提供対象となるデータを、ノードに対応づけて格納するデータ格納手段と、
ノード間の関連を示すリンクの集合からなるリンク集合体を格納するリンク格納手段と、
オペレータからの指示に基づいて、特定の着目ノードを設定する着目ノード設定手段と、
前記リンク集合体を利用して、前記着目ノードに対して所定の条件下で関連する関連ノードを検索し、この関連ノードの集合体を関連集合として抽出する検索処理を実行する検索手段と、
前記関連集合に所属するノードの全部もしくは一部を候補ノードとしてオペレータに提示する候補提示手段と、
前記候補提示手段によって提示されている候補ノードの中から、オペレータに特定の候補ノードを採択させる候補採択手段と、
採択されたノードが新たな着目ノードとなるように、前記着目ノード設定手段の設定を更新する更新手段と、
前記データ格納手段から、着目ノードに対応づけられたデータを抽出し、これをオペレータに提供するデータ提供手段と、
を備え、
オペレータの採択行為に基づいて着目ノードを次々と更新させながら、一連の繰り返し検索処理を実行する機能を有し、前記候補提示手段が、
個々のノードに、最下位ステータスＳ１乃至最上位ステータスＳ（ｎ＋１）なる合計（ｎ＋１）段階のステータスを定義できるようにし（ただし、ｎは予め設定された２以上の自然数）、一連の繰り返し検索処理の開始時に、全ノードのステータスを初期ステータスＳｊ（ただし、ｊは１＜ｊ≦ｎ＋１なる自然数）に設定しておき、
各回の検索処理が実行されるたびに、当該検索処理により関連集合として抽出されたノードについては、ステータスをｕ段階昇進（ただし、ｕは予め定義された０＜ｕ＜ｎなる整数とし、全ノードについて共通の値でもよいし、個々のノードごとに異なる値でもよい。また、昇進は、最上位ステータスＳ（ｎ＋１）を上限とする）させ、当該検索処理により関連集合として抽出されなかったノードについては、最下位ステータスＳ１へ転落（ただし、最下位ステータスＳ１を下限とする）させるステータス遷移を行うとともに、最上位ステータスＳ（ｎ＋１）となったノードを候補集合として提示する処理を行うことを特徴とするデータベースシステム。
【請求項３】
請求項２に記載のデータベースシステムにおいて、
一連の繰り返し検索処理中に、着目ノードとなったノードについては、除外ステータスなる特別なステータスへ移行させるようにし、前記一連の繰り返し検索処理中には、前記除外ステータスから他のステータスへの遷移を行わせないようにしたことを特徴とするデータベースシステム。
【請求項４】
請求項２に記載のデータベースシステムにおいて、
一連の繰り返し検索処理中に、最下位ステータスＳ１へ転落したことのある転落経験ノードが候補ノードとして提示され、前記転落経験ノードが採択された場合に、前記転落経験ノードが最下位ステータスＳ１へ転落した時点における着目ノードと、前記転落経験ノードとの間に、新たなリンクを定義し、この新たなリンクをリンク集合体に追加する処理を行う学習手段を更に設けたことを特徴とするデータベースシステム。
【請求項５】
請求項２に記載のデータベースシステムにおいて、
着目ノードと個々の関連ノードとの関連の程度に基づいて、個々の関連ノードについてのステータスの昇進段階ｕの値を独立して決定することを特徴とするデータベースシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベースシステムに関し、特に、複数の検索条件を順次与えてゆき、複数の検索条件のすべてを満たすデータのみを残すことにより、徐々に候補を絞り込む検索機能をもったデータベースシステムに関する。
【０００２】
【従来の技術】
現代の情報社会において、データベースシステムの果たす役割は益々重要度を増してきており、あらゆる分野の情報に関して、データベースシステムが構築されるに至っている。質の高いデータベースシステムを構築するためには、質の高いデータを収録することも重要ではあるが、それにも増して、質の高い検索環境を提供することが重要になる。いくら質の高いデータを収録したデータベースであっても、ユーザの要求するデータを探し出すことができなければ、何ら目的を達成することはできない。
【０００３】
データベースシステムにおける検索作業は、通常、キーワードを用いて行われる。データベースシステムの管理者が、予め個々のデータについて何らかのキーワードを対応づけておけば、ユーザが特定のキーワードを入力すると、該当するデータを提示させることができる。このようなキーワードを用いた検索作業の１つとして、複数のキーワードを順次与えてゆき、これら複数のキーワードのすべてに関連したデータのみを候補として残すことにより、徐々に候補を絞り込んでゆく手法は、ごく一般的に用いられている。
【０００４】
また、最近は、インターネットの普及にもみられるように、遠隔地に設置されたコンピュータへのアクセスが比較的容易に行われるようになってきており、データベースシステムも、通信回線などを介して世界的な規模での広がりをみせている。このため、個々の地域に構築されたローカルなデータベースを、相互に通信回線で結ぶことにより、グローバルなデータベースシステムを構築することが可能になってきている。このような分散型のデータベースシステムにおいて、質の高い検索環境を提供するために、ノード集合体を利用した検索手法が提案されている。すなわち、複数のノードからなるノード集合体を定義し、個々のノードにそれぞれ所定のデータを対応づけておく。そして、このノード集合体の中から特定の着目ノードが指定された場合、この着目ノードに対応づけられたデータを提供できるようにしておく。個々のノードにそれぞれキーワードを与えておけば、基本的には、キーワードによるデータ検索が行われることになる。ただ、各ノードを所定のリンク集合体によって関連づけておけば、ある１つのキーワード（ノード）を指定したときに、リンク集合体によって関連づけられた別なキーワード（ノード）を見つけ出すことができるので、検索の範囲は、ローカルなデータベースだけでなく、リンク集合体で関連づけられたグローバルなデータベースへと広がることになる。
【０００５】
【発明が解決しようとする課題】
従来のデータベースシステムは、基本的に、管理者が予め環境設定を行い、この環境下で一般利用者が検索作業などを行うことになる。この管理者による環境設定は、通常、標準的な利用者の便宜を考慮してなされるため、必ずしも個々の利用者の要望に沿ったものになるとは限らない。たとえば、あるデータについて、どのようなキーワードを対応づけるか、という事柄は、環境設定を行う管理者の裁量によって決められることになり、特定の利用者にとっては必ずしも適切なキーワードが対応づけられるとは限らない。
【０００６】
特に、上述した分散型のデータベースシステムでは、利用者が特定のノードに対して関連するノードを検索した場合に、どのような関連ノードが抽出されるかは、ノード間に張られているリンク次第であり、リンク集合体の設定内容に左右される。ところが、このリンク集合体の設定は、システムの管理者によって行われるため、必ずしも利用者の意向に沿った形でリンクが張られているとは限らず、たまたまリンクが定義されていなかったために、利用者の必要とするノードが関連ノードとして抽出されないような事態も起こり得る。特に、複数のキーワードを用いて徐々に候補を絞り込んでゆく検索手法を用いた場合、検索に用いたキーワードがたまたま対応づけられていなかった場合、目的とするデータが絞り込み作業の途中で候補から脱落してしまうため、最終的に検索されないという事態が生じ得る。
【０００７】
そこで本発明は、より柔軟な絞り込み検索を行うことができるデータベースシステムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
【０００９】
(1)   本発明の第１の態様は、絞り込み検索機能をもったデータベースシステムにおいて、
提供対象となるデータを格納するデータ格納手段と、
このデータ格納手段に格納されているデータの中から所定の検索条件に合致するデータを関連集合として抽出する検索処理を、オペレータから順次与えられる複数の検索条件に基づいて繰り返し実行する検索手段と、
検索手段が検索処理を実行するたびに、この検索処理の結果に基づいて所定のデータから構成される候補集合を求め、求めた候補集合を示す情報をオペレータに提示する候補提示手段と、
候補集合の中から、オペレータによって採択されたデータを提供するデータ提供手段と、
を設け、候補提示手段が、
個々のデータに、最下位ステータスＳ１乃至最上位ステータスＳ（ｎ＋１）なる合計（ｎ＋１）段階のステータスを定義できるようにし（ただし、ｎは予め設定された２以上の自然数）、一連の繰り返し検索処理の開始時に、全データのステータスを初期ステータスＳｊ（ただし、ｊは１＜ｊ≦ｎ＋１なる自然数）に設定しておき、
各回の検索処理が実行されるたびに、当該検索処理により関連集合として抽出されたデータについては、ステータスをｕ段階昇進（ただし、ｕは予め定義された０＜ｕ＜ｎなる自然数とし、全データについて共通の値でもよいし、個々のデータごとに異なる値でもよい。また、昇進は、最上位ステータスＳ（ｎ＋１）を上限とする）させ、当該検索処理により関連集合として抽出されなかったデータについては、最下位ステータスＳ１へ転落（ただし、最下位ステータスＳ１を下限とする）させるステータス遷移を行うとともに、最上位ステータスＳ（ｎ＋１）となったデータを候補集合として提示する処理を行うようにしたものである。
【００１０】
(2)   本発明の第２の態様は、複数のノードからなるノード集合体を定義し、個々のノードにそれぞれ所定のデータを対応づけ、特定の着目ノードが指定された場合に、この着目ノードに対応づけられたデータを提供する機能をもったデータベースシステムにおいて、
提供対象となるデータを、ノードに対応づけて格納するデータ格納手段と、
ノード間の関連を示すリンクの集合からなるリンク集合体を格納するリンク格納手段と、
オペレータからの指示に基づいて、特定の着目ノードを設定する着目ノード設定手段と、
リンク集合体を利用して、着目ノードに対して所定の条件下で関連する関連ノードを検索し、この関連ノードの集合体を関連集合として抽出する検索処理を実行する検索手段と、
関連集合に所属するノードの全部もしくは一部を候補ノードとしてオペレータに提示する候補提示手段と、
候補提示手段によって提示されている候補ノードの中から、オペレータに特定の候補ノードを採択させる候補採択手段と、
採択されたノードが新たな着目ノードとなるように、着目ノード設定手段の設定を更新する更新手段と、
データ格納手段から、着目ノードに対応づけられたデータを抽出し、これをオペレータに提供するデータ提供手段と、
を設け、
オペレータの採択行為に基づいて着目ノードを次々と更新させながら、一連の繰り返し検索処理を実行できるようにし、候補提示手段が、
個々のノードに、最下位ステータスＳ１乃至最上位ステータスＳ（ｎ＋１）なる合計（ｎ＋１）段階のステータスを定義できるようにし（ただし、ｎは予め設定された２以上の自然数）、一連の繰り返し検索処理の開始時に、全ノードのステータスを初期ステータスＳｊ（ただし、ｊは１＜ｊ≦ｎ＋１なる自然数）に設定しておき、
各回の検索処理が実行されるたびに、当該検索処理により関連集合として抽出されたノードについては、ステータスをｕ段階昇進（ただし、ｕは予め定義された０＜ｕ＜ｎなる整数とし、全ノードについて共通の値でもよいし、個々のノードごとに異なる値でもよい。また、昇進は、最上位ステータスＳ（ｎ＋１）を上限とする）させ、当該検索処理により関連集合として抽出されなかったノードについては、最下位ステータスＳ１へ転落（ただし、最下位ステータスＳ１を下限とする）させるステータス遷移を行うとともに、最上位ステータスＳ（ｎ＋１）となったノードを候補集合として提示する処理を行うようにしたものである。
【００１１】
(3)   本発明の第３の態様は、上述の第２の態様に係るデータベースシステムにおいて、
一連の繰り返し検索処理中に、着目ノードとなったノードについては、除外ステータスなる特別なステータスへ移行させるようにし、一連の繰り返し検索処理中には、除外ステータスから他のステータスへの遷移を行わせないようにしたものである。
【００１２】
(4)   本発明の第４の態様は、上述の第２の態様に係るデータベースシステムにおいて、
一連の繰り返し検索処理中に、最下位ステータスＳ１へ転落したことのある転落経験ノードが候補ノードとして提示され、転落経験ノードが採択された場合に、転落経験ノードが最下位ステータスＳ１へ転落した時点における着目ノードと、転落経験ノードとの間に、新たなリンクを定義し、この新たなリンクをリンク集合体に追加する処理を行う学習手段を更に設けたものである。
【００１３】
(5)   本発明の第５の態様は、上述の第２の態様に係るデータベースシステムにおいて、
着目ノードと個々の関連ノードとの関連の程度に基づいて、個々の関連ノードについてのステータスの昇進段階ｕの値を独立して決定するようにしたものである。
【００１４】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。
【００１５】
§１．  本実施形態に係るデータベースシステムの基本概念
はじめに、本実施形態の基本概念を説明するために、図１に示すような基本的なデータベースシステムについて、データへのアクセス方法を述べる。この図１に示すデータベースシステムは、多数のデータを収録したデータベース１と、これにアクセスするためのノード・リンク集合体２とによって構成されている。ノード・リンク集合体２は、多数のノードおよびリンクから構成されている。図示の例では、９つのノードＮ１〜Ｎ９と、７つのリンクＬ１〜Ｌ７が定義されている。各ノードＮ１〜Ｎ９には、それぞれ所定のキーワードＫ１〜Ｋ９が定義されており、ノード間を結ぶ各リンクは、個々のキーワードを結びつける機能を果たしている。このような意味で、ノード・リンク集合体２は、「キーワードネットワーク」と呼ぶこともできる。
【００１６】
図示のとおり、リンクはすべてのノード間に定義されているわけではなく、互いに関連をもったノード間（すなわち、互いに関連をもったキーワードが定義されているノード間）にのみ定義されている。たとえば、図示の例では、ノードＮ１とノードＮ２との間に定義されたリンクＬ１は、キーワードＫ１とキーワードＫ２とが何らかの関連性を有することを示している。同様に、ノードＮ２とノードＮ４との間に定義されたリンクＬ３は、キーワードＫ２とキーワードＫ４とが何らかの関連性を有することを示しており、ノードＮ４とノードＮ５との間に定義されたリンクＬ４は、キーワードＫ４とキーワードＫ５とが何らかの関連性を有することを示している。このようなリンクを介して、間接的に、ノードＮ１とノードＮ５との間が連結されており、キーワードＫ１を与えることにより、関連するキーワードとしてキーワードＫ５を得ることができる。なお、各リンクには、それぞれ重みづけがなされており、この重みづけによりノード間の関連の程度が示される。
【００１７】
どのノードにどのようなキーワードを定義し、どのノード間にどのようなリンクを定義するかは、第一義的には、このデータベースシステムの管理者に課せられた仕事であり、一般利用者がこのシステムを利用する時点において、既に、何らかのノード・リンク集合体２が構築されていることになる。もっとも、後述するように、このノード・リンク集合体２は、利用者の利用行為によって学習を行う機能を有しており、利用者が利用してゆくに従って、各リンクの重みづけが修正されたり、これまでリンクが定義されていなかったノード間に新たなリンクが定義されたりすることになる。したがって、たとえ管理者が何らリンクの定義を行わなかったとしても、利用者が利用するに従って、ノード・リンク集合体２は徐々に形成されてゆくことになる。
【００１８】
オペレータ３は、データベース１内の特定のデータを利用したいと考えた場合、まず、このノード・リンク集合体２に対してアクセスを行う。オペレータ３から見ると、このノード・リンク集合体２は、データベース１へアクセスするためのフロントエンドプロセッサとして機能していることになる。オペレータ３は、まず、ノード・リンク集合体２内の特定のノードを着目ノードとして指定する。ノードの指定は、キーワードの入力によって行うことができる。たとえば、オペレータ３が特定のキーワードＫ１をノード・リンク集合体２に対して与えたとすれば、このキーワードＫ１に対応するノードＮ１が着目ノードとして指定されることになる。本願の図では、説明の便宜上、その時点での着目ノードを、黒丸のノード点の周囲に円を描くことにより表示することにする。図１において、ノードＮ１の周囲に円が描かれているのは、このノードＮ１が現時点での着目ノードであることを示すものである。
【００１９】
ノード・リンク集合体２内の個々のノードには、それぞれデータベース１内の特定のデータが対応づけられている。別言すれば、１つのノードを特定すれば、このノードに対応づけられたデータをデータベース１から抽出してくることができる。したがって、オペレータ３が、現時点の着目ノードＮ１に関するデータを閲覧したい旨の指示を与えれば、ノードＮ１に対応づけられたデータが、データベース１から抽出され、オペレータ３に提供されることになる。ノードとデータベース１内の各データとの対応づけは、たとえば、個々のノードにデータベース１内の特定のアドレス情報をもたせておけばよい。着目ノードＮ１に関するデータ閲覧の指示が与えられたら、ノードＮ１のもつアドレス情報に基づいて、データベース１をアクセスして所定のデータを読出し、これをオペレータ３に提供すればよい。
【００２０】
このように、オペレータ３が、ノード・リンク集合体２に対してキーワードＫ１を与え、データ閲覧の指示を与えれば、データベース１からノードＮ１に対応づけられたデータが読み出され、オペレータ３に提供されることになる。しかしながら、このような検索処理は、所定のキーワードＫ１を入力したときに、予めこのキーワードＫ１に関連づけられていたデータを提示する、という従来の一般的なデータベースシステムにおける検索処理に過ぎない。もちろん、本実施形態に係るデータベースシステムでは、このような従来の一般的な検索処理を行うことも可能であるが、本実施形態の主眼は、オペレータが１つのキーワードをシステムに与えた場合に、このキーワードに関連する別なキーワードを検索できるようにし、より自由度の高い検索作業を実現することにある。
【００２１】
たとえば、オペレータが所定のキーワードＫ１をノード・リンク集合体２に与えると、図１に示されているように、ノードＮ１が着目ノードとして指定されることになる。上述したように、オペレータは、必要があれば、「着目ノードＮ１に対応づけられたデータの閲覧」を行う旨の指示を与えることが可能である。ただ、ここでは、オペレータが、このノードＮ１に対応づけられたデータには直接的には興味はないが、キーワードＫ１に関連した別なデータを探しているものとしよう。この場合、「ノードＮ１を着目ノードとした検索処理」を行う旨の指示をノード・リンク集合体２に対して与えればよい。ノード・リンク集合体２は、このような検索指示が与えられると、定義されているリンク集合体を参照しながら、着目ノードＮ１に関連する別なノードを検索する処理を実行する。たとえば、着目ノードＮ１に対して、リンクによって直接的あるいは間接的に連結されているノードすべてを関連ノードとして検索する処理を行った場合、図１の例の場合、着目ノードＮ１に対して、４つのノードＮ２，Ｎ３，Ｎ４，Ｎ５が関連ノードとして検索されることになる。ただ、実用上は、個々のリンクの重みを考慮して、ある程度以上の関連性をもったノードのみを関連ノードとして抽出するようにするのが好ましい。たとえば、図１の例では、リンクＬ４の重みが小さい場合には、着目ノードＮ１とノードＮ５との間の関連性は低いものと判断し、ノードＮ５は関連ノードから外されることになる。また、後の§４．３で詳述するように、１つのリンクで結合されたノード間の信号伝達をホップ数Ｈ＝１と定義し、所定のホップ数以下で連結されているノードのみを関連ノードとするという条件を課すのが好ましい。たとえば、ホップ数Ｈ＝２以下との条件を課した場合、図１の例では各リンクの重みにかかわらず、着目ノードＮ１に対してホップ数Ｈ＝３の位置にあるノードＮ５は関連ノードとしては抽出されない。
【００２２】
ここでは、ノードＮ１を着目ノードとした検索処理を行うことにより、３つのノードＮ２，Ｎ３，Ｎ４のみが抽出されたものと仮定しよう。図２は、このような検索処理の結果を示す図である。３つのノードＮ２，Ｎ３，Ｎ４が白抜きのノード点として描かれているのは、この３つのノードが関連ノードとして抽出されたノードであることを示すためである。以下、検索により抽出された関連ノードについては、白抜きのノード点で示すことにする。図に黒いノード点として示されているノードＮ５は、今回の検索では関連ノードとしては抽出されなかったことになる。
【００２３】
こうして、関連ノードＮ２，Ｎ３，Ｎ４が検索されたら、これらの「関連ノード」を「候補ノード」としてオペレータに提示する。具体的には、個々の候補ノードＮ２，Ｎ３，Ｎ４に定義された各キーワードＫ２，Ｋ３，Ｋ４をディスプレイなどに表示することにより、候補ノードの提示を行えばよい。ここで、「関連ノード」を「候補ノード」と呼ぶのは、これらのノードの中から、オペレータが新たな着目ノードの採択を行うからである。図２に示すように、現時点の着目ノードは、ノードＮ１であるが、オペレータは、候補ノードＮ２，Ｎ３，Ｎ４のうちのいずれかを、新たな着目ノードとして指定することになる。たとえば、オペレータが、候補ノードＮ４を新たな着目ノードとして採択したとすれば、図３に示すように、ノードＮ４が新たな着目ノードになり、その他のノードはいずれも通常のノードに戻る。採択すべき候補ノードの指定は、たとえば、ディスプレイ画面上に提示されているキーワードＫ２，Ｋ３，Ｋ４のうち、キーワードＫ４を選択する操作により行うことができる。
【００２４】
なお、後の§７で述べる「ＡＮＤ検索」における説明の便宜を考えて、本願明細書では、所定の着目ノードについての検索処理により、この着目ノードとある程度以上の関連性がある、と判断されて抽出されたノードを「関連ノード」と呼び、この「関連ノード」の中からオペレータに対して「新たな着目ノードの候補」として提示するノードを「候補ノード」と呼ぶことにする。後述する§７で述べる「ＡＮＤ検索」では、抽出された「関連ノード」のうちの一部のみが「候補ノード」として提示されることになるが、ここで述べる通常の検索では、抽出された「関連ノード」のすべてがそのまま「候補ノード」として提示されることになるので、とりあえずは、「関連ノード」＝「候補ノード」と考えておいてかまわない。したがって、§６までの説明においては、特に問題が生じない場合には、「関連ノード」と「候補ノード」とを同義語として取り扱うことにする。
【００２５】
以上の検索処理をオペレータ側の操作として見ると、次のようになる。まず、オペレータは、所定のキーワードＫ１を入力するとともに、検索指示を与える。すると、リンク集合体を参照した検索処理が行われ、ディスプレイ画面上に、キーワードＫ１にある程度の関連性をもった別なキーワードＫ２，Ｋ３，Ｋ４が表示される（候補ノードＮ２，Ｎ３，Ｎ４の提示）。オペレータは、これらの新たなキーワードの中から、自分の探しているデータに関連すると思われるキーワードを選択する（候補ノードの１つを新たな着目ノードとして採択）。これにより、ノードＮ４が新たな着目ノードになる。
【００２６】
このように、検索指示を与えることにより、オペレータは関連するノードを次々と渡り歩くことができ、キーワードネットワーク中を移動することができるようになる。しかも、必要があれば、現在の着目ノードに対応づけられたデータをいつでも閲覧することが可能になる。たとえば、図３に示すように、ノードＮ４が新たな着目ノードとなった時点で、このノードＮ４に対応づけられているデータを閲覧したい場合には、その時点で閲覧指示を与えればよい。すると、データベース１からノードＮ４に対応するデータが読み出され、オペレータに提示されることになる。また、「ノードＮ４を着目ノードとする検索処理」を行う旨の指示を与えれば、今度は、ノードＮ４に対してある程度の関連性を有する関連ノードが候補ノードとして抽出されることになる。たとえば、前回の「ノードＮ１を着目ノードとする検索処理」では関連性が低く、候補ノードからは漏れたノードＮ５が、今回の検索処理では候補ノードとして検索されることになる。
【００２７】
一般に、データベースシステムから必要とするデータを検索しようとする場合に、適切なキーワードが直ちに頭に思い浮かべばよいのであるが、必ずしも最適なキーワードが頭に思い浮かぶとは限らない。このような場合、本実施形態に係るシステムでは、非常に自由度の高い柔軟な検索が可能になる。すなわち、とりあえず頭に浮かんだキーワードＫ１を入力して検索指示を与えれば、これに関連したキーワードＫ２，Ｋ３，Ｋ４が候補としてディスプレイ上に自動的に提示されるので、オペレータは、検索対象となるデータをアクセスするのに、より適したキーワードを採択することができる。ここで、より適当なキーワードとしてＫ４（ノードＮ４）を採択し、再び検索指示を与えれば、たとえば、新たなキーワードＫ５が提示されることになる。ここで、このキーワードＫ５が、正に検索対象となるデータをアクセスするための最適のキーワードであったとすれば、このキーワードＫ５（ノードＮ５）を採択した上で、閲覧指示を与えれば、データベース１から目的のデータを得ることができる。
【００２８】
§２．  ノード・リンク集合体の学習
本実施形態に係るデータベースシステムの特徴のひとつは、ノード・リンク集合体２が学習機能を備えている点である。前述したように、図１に示すノード・リンク集合体２は、第一義的には、このデータベースシステムの管理者によって構築されるが、その後、利用者が利用する過程において、徐々に形態を変えてゆくことになる。したがって、データベース１は全利用者について共通のものをひとつ用意しておけばよいが、ノード・リンク集合体２としては、個々の利用者ごとに別個独立したものを用意しておくのが好ましい。このように各利用者ごとに別個のノード・リンク集合体２を用意しておけば、当初は、すべてのノード・リンク集合体２がシステム管理者によって構築された共通のものであったとしても、各利用者がこのシステムを利用してゆくに従って、各利用者ごとのノード・リンク集合体２は、個々の利用者にとって利用しやすい形態に変遷してゆくことができる。
【００２９】
このように、ノード・リンク集合体２を、利用しやすい形態に変えてゆくために、本実施形態では次のような基本方針に沿った学習が行われるようにしている。すなわち、ある着目ノードについての検索により複数の候補ノードが抽出され、オペレータがこれらの候補ノードの中から、所望の候補ノードを採択した場合、着目ノードから採択ノードに至るパス上のリンクの重みづけを増加させるのである。たとえば、前述の例の場合、図２に示すように、着目ノードＮ１に対して３つの候補ノードＮ２，Ｎ３，Ｎ４が検索され、この中からオペレータがノードＮ４を採択し、その結果、図３に示すように、採択ノードＮ４が新たな着目ノードになった。この場合は、着目ノードＮ１から採択ノードＮ４に至るパス上のリンクＬ１，Ｌ３の重みづけを増加させるのである。図３では、リンクＬ１，Ｌ３が太線で示されているが、これはこのような重みづけを増加させる学習が行われたことを示すものである。
【００３０】
学習によって、リンクの重みづけを逆に減少させることも可能である。たとえば、上述の例の場合、着目ノードＮ１に対して３つの候補ノードＮ２，Ｎ３，Ｎ４が提示されたにもかかわらず、オペレータはノードＮ４を採択し、ノードＮ３は採択から漏れたことになる。別言すれば、リンクＬ２はノードの採択に何ら関与しなかったことになる。このような場合、リンクＬ２の重みづけを減少させる修正を行うと、利用者の利用形態に沿った形での学習が可能になる。たとえば、この利用者が、「ノードＮ１を着目ノードとする検索を行い、候補ノードのうちのノードＮ４を採択した」という事象が５回行われたとしよう。この場合、５回の学習のいずれにおいても、リンクＬ１，Ｌ３の重みづけを増加させ、リンクＬ２の重みづけを減少させる、という修正が行われることになる。その結果、リンクＬ１，Ｌ３の重みは非常に大きくなり、逆に、リンクＬ２の重みは非常に小さくなる。したがって、たとえば、「ノードＮ１を着目ノードとする６回目の検索」が行われた時点では、リンクＬ２が示す関連性（ノードＮ２とノードＮ３との関連性）はかなり小さくなり、もはやノードＮ３は候補ノードとしては抽出されなくなる。
【００３１】
このように、重みづけを増加させる学習とともに、重みづけを減少させる学習を行うようにすれば、過去の履歴を見た限りでは今後も採択される可能性が低いノードは、将来の検索時には候補ノードとして抽出されないようにすることができ、候補ノードを絞り込むことができるようになる。全ノード数が膨大な数になる実際のデータベースシステムでは、このように、オペレータに提示する候補ノードの数をある程度絞り込むことが、使い勝手を良くするために重要である。
【００３２】
リンクの重みづけに関して、増加させる学習と、減少させる学習との双方を行うには、次のような基準で学習を行うようにしておけばよい。すなわち、所定の着目ノードについての検索により、いくつかの候補ノードが抽出され、これらの候補ノードの中から１つのノードが採択された場合、着目ノードから個々の候補ノードに至るパスすべてを学習対象パスとするのである。そして、この学習対象パス上のリンクのうち、着目ノードから採択ノードに至るパス上のリンクの重みづけを増加させ、それ以外のリンクの重みづけを減少させる。このような重みづけの増減修正は、要するに、「着目ノードから採択ノードに至るパス上のリンクの重みづけを、その他のリンクの重みづけに対して相対的に増加させる修正」ということができる。
【００３３】
このように、重みづけを増減修正して学習を行う場合、前述の例では、次のような重みづけの修正が行われることになる。すなわち、図２に示すように、着目ノードＮ１についての検索により、３つの候補ノードＮ２，Ｎ３，Ｎ４が抽出されたとすると、着目ノードＮ１から各候補ノードＮ２，Ｎ３，Ｎ４に至るパス上の全リンクが学習対象パス上のリンクになる。具体的には、リンクＬ１，Ｌ２，Ｌ３が学習対象になる。オペレータがノードＮ４を採択したとすると、着目ノードＮ１から採択ノードＮ４に至るパス上のリンクＬ１，Ｌ３の重みづけを増加するとともに、それ以外の学習対象パス上のリンクＬ２の重みづけを減少する修正が行われることになる。このとき、リンクＬ４は、ノードＮ５が候補ノードになっていないため、学習対象にはなっておらず、重みづけはもとのまま変わらない。
【００３４】
要するに、上述したリンクの重みづけ学習の概念は、折角候補ノードとしてオペレータに提示されていたにもかかわらず、採択されなかったノードについては、そのノードへ至るリンクの重みづけを減少させ、逆に、採択されたノードへ至るリンクの重みづけを増加させることにある。そして重要な点は、「複数の候補ノードの中からひとつを採択する」というオペレータ（利用者）の行為に基づいて、すべての学習が行われる点である。したがって、このデータベースシステムが多数の利用者によって利用されている場合、個々の利用者ごとに異なる態様で学習が進んでゆくことになる。前述したように、ノード・リンク集合体２は個々の利用者ごとに別個独立したものが用意されるので、利用すればするほど、各利用者ごとのノード・リンク集合体２は、その利用者による使い勝手に合わせた学習が進むことになる。
【００３５】
なお、ここではリンクの重みづけだけを学習の対象として説明したが、本実施形態では、ノードにも重みづけを定義し、ノードの重みづけも学習の対象としている。このノードの重みづけの取扱いについては後述する。
【００３６】
§３．  新たなリンクの発生
上述した§２では、リンクの重みづけについて学習が行われることを説明した。しかしながら、このような既存のリンクの重みづけを修正するだけでは、個々の利用者の使い勝手に合わせた柔軟な検索処理を実現することは困難である。たとえば、図１に例示したノード・リンク集合体２では、ノードＮ１に対して、ノードＮ２，Ｎ３，Ｎ４，Ｎ５がリンクによって結合されている。したがって、繰り返し検索処理を行ってゆけば、ノードＮ１からノードＮ２，Ｎ３，Ｎ４，Ｎ５へ到達することは可能である。実際、上述の例の場合、ノードＮ１を着目ノードとした第１回目の検索により候補ノードＮ２，Ｎ３，Ｎ４への到達が実現できており、続いて、ノードＮ４を採択し、この採択ノードＮ４を新たな着目ノードとした第２回目の検索を行えば、候補ノードＮ５へ到達することが可能である。
【００３７】
しかしながら、ノードＮ１〜Ｎ５と、ノードＮ６〜Ｎ９との間には、何らリンクが張られていないため、既存のリンクを利用して候補ノードの検索を行う限り、ノードＮ１〜Ｎ５から、ノードＮ６〜Ｎ９へ至る検索を行うことはできない。
【００３８】
既に述べたように、ノード・リンク集合体２を構築するのは、第一義的にはこのシステムの管理者である。したがって、ノードＮ１〜Ｎ５と、ノードＮ６〜Ｎ９との間に、何らリンクが定義されていなかったとしたら、キーワードＫ１〜Ｋ５と、キーワードＫ６〜Ｋ９との間には、何ら関連性はないとの判断が管理者によってなされていたことになる。しかしながら、このような管理者の判断は普遍的なものではなく、特定の利用者にとってみれば、たとえば、キーワードＫ４とキーワードＫ７とは、密接な関連性を有するとの認識がなされているかもしれない。このような場合、たとえば、図４に示すように、ノードＮ４とノードＮ７との間に破線で示すような一時的なリンクＬ８を発生させ、既存のリンクＬ１〜Ｌ７と、一時的に発生させたリンクＬ８との双方を用いた検索を行うことにより、より自由度の高い検索が可能になる。すなわち、この一時的なリンクＬ８を付加した状態において、ノードＮ４を着目ノードとする検索を行えば、たとえば、図４に白抜きのノード点として示したノードＮ１，Ｎ２，Ｎ３，Ｎ５，Ｎ６，Ｎ７，Ｎ８を候補ノードとして抽出することが可能になる。
【００３９】
本明細書では、これまで述べてきた既存のリンクを「スタティックリンク」と呼び、検索時に一時的に発生させるリンクを「ダイナミックリンク」と呼んで両者を区別することにする。図４に示す例の場合、実線で示すリンクＬ１〜Ｌ７がスタティックリンクであり、破線で示すリンクＬ８がダイナミックリンクである。検索時にダイナミックリンクを発生させるようにすれば、着目ノードとの間が既存のスタティックリンクによって完全には連結されておらず、不連結部分が存在するノードに対しても、この不連結部分に一時的にダイナミックリンクを定義することにより検索が可能になり、そのような不連結ノードにまで候補を広げることができるようになる。
【００４０】
いま、図４に示すように、ノードＮ４を着目ノードとする検索において、ダイナミックリンクＬ８を一時的に定義することにより（ダイナミックリンクの定義方法については後述する）、ノードＮ１，Ｎ２，Ｎ３，Ｎ５，Ｎ６，Ｎ７，Ｎ８が候補ノードとして抽出されたものとしよう。このとき、オペレータに対しては、キーワードＫ１，Ｋ２，Ｋ３，Ｋ５，Ｋ６，Ｋ７，Ｋ８が個々の候補ノードを示す情報として提示されることになる。そして、これらの候補ノードの中から、オペレータがノードＮ６を新たな着目ノードとして採択したとする。既に述べたように、オペレータは、この新たな着目ノードＮ６に対応づけられたデータの閲覧を行うこともできるし、このノードＮ６を着目ノードとした新たな検索を行うこともできる。このように、ダイナミックリンクの定義により、検索範囲の自由度はかなり広がることになる。
【００４１】
このように、一時的に定義したダイナミックリンクＬ８を用いた検索によって候補ノードＮ６が抽出され、この候補ノードＮ６が採択された場合（別言すれば、ダイナミックリンクＬ８が、着目ノードＮ４から採択ノードＮ６へ至るパス上のリンクになった場合）、このダイナミックリンクＬ８を、新たにスタティックリンクＬ８として追加する処理を行うようにする。すなわち、一時的なダイナミックリンクが、恒久的なスタティックリンクに昇格したことになる。図５は、採択ノードＮ６を新たな着目ノードにするとともに、ダイナミックリンクＬ８をスタティックリンクＬ８に昇格させた状態を示している。このとき、図に太線で示してあるように、着目ノードＮ４から採択ノードＮ６へ至るパス上のリンクＬ８，Ｌ５の重みづけは増加させられる（リンクＬ８の増加前の元の重みづけは、ダイナミックリンクＬ８を定義するときに決めておくようにする）。一方、学習対象となった他のリンク（着目ノードＮ４から各候補ノードへ至るパス上のリンクＬ１，Ｌ２，Ｌ３，Ｌ４，Ｌ６）の重みづけについては、減少させる学習が行われる。
【００４２】
結局、この例では、一時的に定義したダイナミックリンクＬ８が、スタティックリンクＬ８に昇格し、ノード・リンク集合体２の新たなメンバーとして追加されたことになる。もっとも、一時的に定義されたダイナミックリンクは、スタティックリンクに昇格することなしに消滅してしまうこともある。たとえば、図４に示すように、いくつかの候補ノードが提示された状態において、オペレータがノードＮ６を採択する代わりに、ノードＮ５を採択したような場合、ダイナミックリンクＬ８は着目ノードから採択ノードに至るパス上のリンクにはならなかったので、スタティックリンクに昇格することなしに消滅する。要するに、一時的に定義したダイナミックリンクは、オペレータの採択行為にパスとして関与した場合には、スタティックリンクとして残ることになるが、採択行為に関与しなかった場合には、そのまま消滅してしまうことになる。
【００４３】
このように、利用者が必要とするダイナミックリンクをスタティックリンクに昇格させてノード・リンク集合体２に追加する処理を行ってゆけば、データベースシステムの管理者から提供されなかったリンクが徐々に増えてゆくことになり、利用者にとって使い勝手の良いリンク集合体が形成されてゆくことになる。また、このようなリンクの追加手法を利用すれば、システムの管理者が、当初に全くリンクの定義を行わなかったとしても（すなわち、当初はスタティックリンクが全く存在しなかったとしても）、利用者がこのシステムを利用してゆく過程により、徐々にスタティックリンクが形成されてゆくことになる。したがって、ここで述べた新たなリンクの追加手法は、非常に有効な手法である。
【００４４】
ところで、これまでの説明では、ダイナミックリンクの定義方法については何ら触れていなかったが、図４に破線で示すようなダイナミックリンクＬ８を一時的に定義するためには、何らかの基準を設定しておく必要がある。図示の例では、ノードＮ４−Ｎ７間にダイナミックリンクＬ８を定義しているが、ノードＮ４−Ｎ６間、ノードＮ４−Ｎ８間、ノードＮ４−Ｎ９間にもダイナミックリンクを定義する余地はある。また、ノードＮ４−Ｎ３間や、ノードＮ４−Ｎ１間にもダイナミックリンクを定義する余地があり、スタティックリンクによって直接接続されていないノード間であれば、どのノード間にもダイナミックリンクを定義する余地はある。しかしながら、「リンク」というものが両ノード間の何らかの関連性を示すものである以上、何ら関連性をもたないノード間にダイナミックリンクを定義することは好ましくない。
【００４５】
そこで本実施形態では、検索時に、スタティックリンクによって直接接続されていないノード間については、両ノードに定義されたキーワードの関連性を具体的に評価し、評価結果が所定の条件を満たす場合に、両ノード間にダイナミックリンクを定義するようにしている。たとえば、図４に示す例の場合、ノードＮ４に定義されたキーワードＫ４と、ノードＮ７に定義されたキーワードＫ７との関連性が評価され、評価結果が所定の条件を満たしていたために、ノードＮ４−Ｎ７間にダイナミックリンクＬ８が定義されたことになる。
【００４６】
２つのキーワードの関連性の評価方法の一例としては、両キーワードを構成する文字列の一致度を定量的に評価する方法がある。たとえば、「高血圧」なるキーワードと、「血圧値」なるキーワードとは、３文字中「血圧」なる２文字分だけ一致しているので、一致度「２／３」というような定量的な評価が可能である。あるいは、何らかのシソーラス辞書を用意しておき、このシソーラス辞書において類似度を定量的に定めておけば、２つのキーワードの関連性を定量的に評価することが可能になる。たとえば、「高血圧」と「high pressure 」との類似度が１００と定義されているシソーラス辞書を用いれば、「高血圧」なるキーワードと、「high pressure 」なるキーワードとの一致度を定量的に評価することができる。このような評価値が一定の基準以上であった場合に、両ノード間にダイナミックリンクを定義するようにすればよい。また、この評価値をそのままダイナミックリンクの重みづけとして利用することもできる。
【００４７】
なお、ノード間の関連性評価をできるだけ合理的に行うようにするには、１つのノードについて複数の等価キーワードを定義しておくとよい。たとえば、図４に示す例では、ノードＮ４にはキーワードＫ４が定義され、ノードＮ７にはキーワードＫ７が定義されていると述べた。この場合、図６に示すように、キーワードＫ４を１つの代表キーワードＫ４０と複数の等価キーワードＫ４１〜Ｋ４５によって構成し、キーワードＫ７を１つの代表キーワードＫ７０と複数の等価キーワードＫ７１〜Ｋ７５によって構成しておき、いずれかのキーワード同士についての評価結果が一定の基準以上であった場合に、両ノード間にダイナミックリンクを定義するようにするとよい。図６に示す例では、等価キーワードＫ４２と等価キーワードＫ７４との関連性の評価結果が基準以上であったため、ノードＮ４−Ｎ７間にダイナミックリンクが定義されることになる。
【００４８】
この場合、個々の等価キーワードは、いずれも代表キーワードと等価なキーワードであり、代表キーワードの代わりに用いることができるキーワードである。たとえば、「高血圧」という代表キーワードに対して、「血圧が高い」，「血圧異常」，「高血圧症」といった等価キーワードを定義しておけば、いずれかの等価キーワードについての関連性が評価されればよいので、より合理的な評価結果を得ることができる。すなわち、本来は関連するノードであるにもかかわらず、キーワードの文字による表現形式が異なっていたために「関連性なし」との評価結果が出されるような不合理を解消することができる。
【００４９】
§４．  分散型データベースシステムへの適用例
これまで、本実施形態に係るデータベースシステムの基本概念、ノード・リンク集合体の学習方法、新たなリンクの発生方法を、簡単な例を参照しながら説明してきた。ここでは、分散型データベースシステムに適用した実施形態について、より具体的な説明を行うことにする。
【００５０】
＜４．１：分散型システムにおけるクラスリンクの定義＞
ここ数年、複数のコンピュータをネットワークで相互接続して利用する環境が一般化してきており、各コンピュータごとに構築されたデータベースを、別のコンピュータからも利用できるような分散型データベースシステムが普及してきている。このような分散型データベースシステムでは、個々のローカルなデータベースは「クラス」という概念で取り扱われる。ここでは、便宜上、図７に示すように、３つのクラスＡ，Ｂ，Ｃからなる非常に簡単な分散型データベースシステムを例にとり、以下の説明を行うことにする。
【００５１】
図７では、個々のクラスごとに円周が描かれており、この円周上にノードＮ１〜Ｎ７が示されている。ここで、各円周は個々のクラスのまとまりを示し、各円周上のノードは、その特定のクラスに所属するノードを示している。たとえば、ノードＮ１，Ｎ２は、クラスＢに所属するノードであり、ノードＮ３，Ｎ４は、クラスＡに所属するノードであり、ノードＮ５，Ｎ６，Ｎ７は、クラスＣに所属するノードである。通常、各クラスごとのデータベースは、それぞれ空間的に離れた場所に設けられ、相互に通信回線などで接続されることになる。図示の例においても、クラスＡ，Ｂ，Ｃは、それぞれ空間的に離れているものとする。なお、図示された円周は、各ノードの所属を示すためのものであって、ノード間のリンクを示すものではない。したがって、図７に示す状態では、各ノードＮ１〜Ｎ７間には、まだ何らリンクの定義はなされていない。また、図示の例では、合計７つのノードだけが示されているが、実際には、各クラスに多数のノードが存在する。
【００５２】
このような分散型データベースシステムにおいて、各ノード間にリンクの定義を行うために、本実施形態では、予め個々のクラス間に関連づけを定義するようにしている。ここでは、このクラス間の関連づけを「クラスリンク」と呼ぶことにする。これまで、§１〜§３で述べてきたリンク（スタティックリンクおよびダイナミックリンク）は、ノードとノードとの関連づけを示すノード間のリンク（一般に、インスタンスリンクと呼ばれているリンク）であるが、ここで定義するクラスリンクは、クラスとクラスとの関連づけを示すクラス間のリンクである。
【００５３】
図８は、クラスリンクの定義の一例を示す図である。図に太線で示す直線もしくは円がクラスリンクを示している。具体的には、クラスＡ−Ｂ間にクラスリンクＡＢが定義され、クラスＡＣ間にクラスリンクＡＣが定義されている。一方、クラスＡ−Ａ間にもクラスリンクＡＡが定義されており、クラスＢＢ間にもクラスリンクＢＢが定義されている。直線で示されたクラスリンクＡＢおよびＡＣは、異なるクラス間の関連の程度を示すクラスリンクであり、ここでは「リモートリンク」と呼ぶことにする。これに対して、円で示されたクラスリンクＡＡおよびＢＢは、自己と自己との間の関連の程度を示すクラスリンクであり、ここでは「ローカルリンク」と呼ぶことにする。
【００５４】
ここで、混乱を避けるために、本明細書において用いられている「リンク」に関する用語を整理しておくと、次のようになる。
【００５５】
(1) インスタンスリンク（ノードとノードとの関連性を示すリンク：次のスタティックリンクとダイナミックリンクとの総称）
(1) の▲１▼：スタティックリンク（リンク集合体として構築された恒久的なリンク：利用者がシステムを利用してゆくにしたがって重みづけの学習が行われる。本明細書では、特に支障がないときには、単に「リンク」と標記する場合がある）
(1) の▲２▼：ダイナミックリンク（各ノードに定義されたキーワードが関連性を有する場合に、検索時に定義される一時的なリンク：ダイナミックリンクが、ノード採択に利用された場合はスタティックリンクに昇格するが、利用されなかった場合は消滅する）
(2) クラスリンク（クラスとクラスとの関連性を示すリンク：次のリモートリンクとローカルリンクとの総称：ここに述べる実施形態の場合、各リンクについて重みづけが定義されているが、重みづけに関する学習は行われない）
(2) の▲１▼：リモートリンク（異なるクラス間の関連性を示すリンク：図８では太い直線で示されている）
(2) の▲２▼：ローカルリンク（同一のクラスについて、自己と自己との間の関連性を示すリンク：図８では太い円で示されている）。
【００５６】
結局、図８に示す例では、クラスＡ−Ｂ間、クラスＡ−Ｃ間、クラスＡ−Ａ間、クラスＢ−Ｂ間には、それぞれクラスリンクが定義されているが、クラスＢ−Ｃ間、クラスＣ−Ｃ間には、クラスリンクは定義されていない。どのようなクラスリンクを定義するか、そして、各クラスリンクにどのような重みづけを定義するかは、このデータベースシステムの管理者の裁量によって決められる。ただ、実用上は、クラスリンクの定義を行うにあたっては、単に検索の便宜だけを考慮すればよいのではなく、個々のクラスに対応するデータベースの利用条件、利用契約の内容、利用料金、アクセス時間などを考慮しなければならない。したがって、データベースシステムの管理上の制約から、あえてクラスリンクを定義しなかったり、非常に小さな重みづけをもったクラスリンクを定義せざるを得ない場合もある。特に、医療症例のデータベースなどでは、患者のプライバシー保護の観点から、ごく限られたクラスリンクのみしか定義できない場合もあろう。
【００５７】
また、この実施形態の例では、個々のクラスリンクに対応させて、それぞれシソーラス辞書を用意するようにしている。たとえば、図８に示す例では、リモートリンクＡＢに対応させてシソーラス辞書Ｔａｂが用意され、リモートリンクＡＣに対応させてシソーラス辞書Ｔａｃが用意され、ローカルリンクＡＡに対応させてシソーラス辞書Ｔａａが用意され、ローカルリンクＢＢに対応させてシソーラス辞書Ｔｂｂが用意されている。これらのシソーラス辞書は、ダイナミックリンクを定義する際に利用されるが、その利用態様については後述する。ただ、このように、個々のクラスリンクごとに独自のシソーラス辞書を用意しておくことは非常に有意義である。たとえば、クラスＡが日本語のデータベースであり、クラスＢが英語のデータベースであり、クラスＣが仏語のデータベースであったような場合、シソーラス辞書Ｔａｂとしては「英和／和英シソーラス」を用い、シソーラス辞書Ｔａｃとしては「仏和／和仏シソーラス」を用いるようにすれば合理的である。
【００５８】
＜４．２：分散型システムにおけるスタティックリンクの定義＞
データベースシステムの管理者は、図８に示すようなクラスリンクの定義を行った後、個々のノード間にスタティックリンクの定義を行う。すなわち、個々のノードに対応づけられたキーワードを参照し、相互に関連性のあるキーワードが対応づけられたノード間に、所定の重みづけをもったスタティックリンクを張る作業を行う。このスタティックリンクを定義する際には、上述したクラスリンクの条件に従うようにする。すなわち、クラスリンクが定義されているクラス間については、スタティックリンクを定義することができるが、クラスリンクが定義されていないクラス間については、原則として、スタティックリンクを定義できないことにする。図９は、図７に示された各ノードについて定義されたスタティックリンクの具体例を示す図である。たとえば、スタティックリンクＬ１は、ノードＮ１−Ｎ２間のリンクであるが、これはクラスＢに関してローカルリンクＢＢが定義されているために許可されたリンクである。同様に、スタティックリンクＬ２は、リモートリンクＡＢにより許可されたリンクであり、スタティックリンクＬ３は、ローカルリンクＡＡにより許可されたリンクであり、スタティックリンクＬ４は、リモートリンクＡＣにより許可されたリンクである。これに対して、クラスＢ−Ｃ間にはリモートリンクは定義されていないので、たとえば、ノードＮ１−Ｎ７間にはスタティックリンクは定義されていない。また、クラスＣについては、ローカルリンクが定義されていないので、クラスＣに所属するノード間相互には、本来、スタティックリンクは定義できないが、ここでは例外的に、管理者の意向により、ノードＮ６−Ｎ７間にスタティックリンクＬ５が定義されている。このように、本実施形態では、原則的にはクラスリンクによって示される条件に基づいてスタティックリンクを定義するのが好ましいが、管理者が特に例外的な措置が必要であると判断した場合には、原則に反して、適宜スタティックリンクの定義を行えるようにしてある。
【００５９】
＜４．３：分散型システムにおける検索処理＞
さて、ここでは、図９に示すように、３つのクラスＡ，Ｂ，Ｃからなる分散型データベースシステムにおいて、７個のノードＮ１〜Ｎ７と５個のスタティックリンクＬ１〜Ｌ５が定義されている場合について、検索処理および学習処理がどのように行われるかを具体的に説明する。
【００６０】
まず、図９に示すように、ノードＮ１が最初の着目ノードとして選ばれたものとしよう。この最初の着目ノードの指定は、オペレータがノードＮ１に対応するキーワードＫ１を入力することによって行われる。こうして着目ノードが決定したら、次に、この着目ノードについての検索処理を実行する。この実施形態では、特定の着目ノードについての検索処理を、所定の信号値をもった信号を着目ノードからスタティックリンク（あるいは、後述するようにダイナミックリンク）に沿って他のノードへと伝達させる処理によって行っている。そのために、各スタティックリンク（およびダイナミックリンク）については、重みづけを示すための信号伝達係数を定義している。ここでは、図１０に示すように、各リンクに信号伝達係数が定義されていたものとしよう。この実施形態における信号伝達係数は、いずれもパーセント値で示されており、図示の例では、リンクＬ１：２５％、リンクＬ２：５０％、リンクＬ３：３０％、リンクＬ４：６０％、リンクＬ５：８０％という係数定義が行われている。各スタティックリンクのもつ信号伝達係数の値は、第一義的には、システムの管理者によって定義されるが、後述するように、利用者がシステムを利用するにしたがって学習が行われ、各係数値は修正されることになる。
【００６１】
ノードＮ１を着目ノードとする検索処理は、ノードＮ１に対してある程度以上の関連性を有する他のノードを候補ノードとして抽出する処理である。ここでは、このような候補ノードを抽出するために、着目ノードＮ１から初期信号値１００をもった信号を、各リンクに沿って伝達させることにする。そして、各リンクを通過するたびに、そのリンクに定義された信号伝達係数がもとの信号値に乗ぜられることにする。たとえば、図１０において、ノードＮ１からノードＮ２への信号伝達では、信号値１００×２５％なる乗算が行われ、ノードＮ２に到達した信号の信号値は２５に減衰することになる。同様に、ノードＮ１からノードＮ３への信号伝達では、信号値１００×５０％なる乗算が行われ、ノードＮ３に到達した信号の信号値は５０に減衰することになる。ノードＮ３に到達した信号は更にノードＮ４へと伝達するが、この信号伝達において、信号値５０×３０％なる乗算が行われ、ノードＮ４に到達した信号の信号値は１５にまで減衰することになる。更に、この信号値１５の信号がノードＮ４からノードＮ５へ伝達される際に、信号値１５×６０％なる乗算が行われ、ノードＮ５に到達した信号の信号値は９にまで減衰することになる。
【００６２】
図１０の下欄に示す図表には、着目ノードＮ１に信号値１００の信号を与えたときに、各ノードに伝達される信号の信号値が示されている。このような信号伝達の様子は、抵抗素子で連結された電子回路を電流が流れてゆくさまに似ている。すなわち、個々のリンクを所定の抵抗値をもった抵抗素子（信号伝達係数の小さなリンクほど抵抗値は大きい）と考え、信号値を電圧値と考えれば、信号の減衰は抵抗素子による電圧降下に相当するものになる。
【００６３】
いま、重みづけの大きなリンク（このリンクによって連結された２つのノードは大きな関連性を有することになる）ほど、大きな信号伝達係数を定義するようにしておけば、重みづけの大きなリンクを介しての信号伝達では、信号の減衰が少なくなり、信号が到達したノードにおける信号値は大きな値になる。したがって、大きな信号値が得られたノードほど、着目ノードに対する関連性が高いノードであると言える。そこで、この実施形態では、到達した信号の信号値に基づいて、各ノードに優先順位を定義するようにしている。図１０の下欄に示す図表における優先順位▲１▼，▲２▼，▲３▼は、このようにして定義された優先順位である。ノードＮ５は優先順位▲４▼のノードであるが、この例では、「条件以下」として取り扱い、特に優先順位の定義は行っていない。
【００６４】
ここに示す例では、有効信号値の下限条件を１０に設定してあり、伝達された信号の信号値が１０以下のノードに関しては、「条件以下」として考慮の対象から除外するようにしている。このように信号値が条件以下のノードについては、信号伝達がなかったのと同じ取り扱いがなされる。したがって、図１０の例の場合、ノードＮ５については、信号値９なる信号伝達があったにもかかわらず、信号伝達がなかったものとして取り扱われ、仮にこのノードＮ５より更に下流側に、リンクで連結された別なノードが存在したとしても（図１０の例では、そのようなノードは存在しないが）、もはやノードＮ５より下流側への信号伝達処理は行われないことになる。結局、この例では、ノードＮ５は、信号伝達が全くなかったノードＮ６，Ｎ７と同じ取り扱いがなされることになる。
【００６５】
かくして、ノードＮ１を着目ノードとする検索処理では、有効な信号値が得られたノードは、ノードＮ２，Ｎ３，Ｎ４だけとなり、これら３つのノードが関連ノードとして抽出され、候補ノードとしてオペレータに提示されることになる。図１０において、白抜きのノード点で示されているノードが、これら候補ノードである。ノードＮ５は、わずかな関連性を有しているものの、関連性が条件以下であるために候補としては抽出されなかったことになる。
【００６６】
オペレータは、提示された候補ノードＮ２，Ｎ３，Ｎ４の中から、新たな着目ノードを採択することになる。このとき、オペレータに対しては、優先順位に基づいて各候補ノードの提示を行うようにする。たとえば、図１０の例の場合、優先順位▲１▼，▲２▼，▲３▼に従って、候補ノードＮ３，Ｎ２，Ｎ４の順で提示が行われることになる（実際には、各ノードに対応づけられたキーワードが、優先順に従ってディスプレイに表示される。ディスプレイの一画面中に、全キーワードを表示しきれない場合には、優先順に画面を切り替えながら表示される）。このように、優先順位に基づいて候補ノードの提示を行うようにすれば、採択ノード（新たな着目ノード）を決定する際に、関連性の度合いを考慮することが可能になる。すなわち、オペレータは、優先的に表示されている候補ノードほど、関連の度合いが高いことを認識することができ、優先的に採択することが可能になる。
【００６７】
なお、上述の例では、伝達された信号の信号値が有効信号値としての条件を満たしているか否かに基づいて、関連ノード（候補ノード）として抽出するか否かを決めていたが、このような信号値に基づく条件設定を行う方法の他に、ホップ数Ｈに基づく条件設定を行うことも可能である。すなわち、１つのリンクで結合されたノード間の信号伝達をホップ数Ｈ＝１と定義し、ホップ数Ｈが所定の上限値を越えた場合には、信号の伝達処理を中止させるようにするのである。たとえば、図１０に示す例の場合、着目ノードＮ１に対してリンクで直接接続されているノードＮ２，Ｎ３への信号伝達は、ホップ数Ｈ＝１に相当する信号伝達であるが、ノードＮ４への信号伝達はホップ数Ｈ＝２、ノードＮ５への信号伝達はホップ数Ｈ＝３に相当する信号伝達である。そこで、たとえばホップ数Ｈの上限値をＨ＝２と設定しておけば、ホップ数Ｈが３以上となる信号伝達は中止されることになる。図１０に示す例の場合、ノードＮ４までの信号伝達は行われるが、それより下流のノードＮ５への信号伝達は行われなくなる。
【００６８】
実際には、信号値による条件とホップ数による条件とのＡＮＤ条件を設定するのが好ましい。すなわち、着目ノードから所定の条件以内のホップ数で信号伝達が可能であり、かつ、伝達されてきた信号の信号値が所定の条件以上であるようなノードのみを候補ノードとして抽出すればよい。具体的には、まず、ホップ数による条件で探索範囲（信号伝達の演算を行う範囲）を限定し、所定以下のホップ数で連結されているノードに対してのみ信号伝達の演算処理を行い、最終的に所定以上の信号値をもった信号が得られたノードのみを候補ノードとすればよい。このように、候補ノードの抽出に条件を課し、ある程度以上の関連性をもったノードのみを候補ノードとすることは、検索時間の短縮というシステム性能面でのメリットもあり、検索機能の使い勝手を向上させるために重要である。実際のデータベースシステムには、膨大な数のノードが存在するため、低い関連性しかもたないノードまでを候補ノードとして提示すると、検索待ち時間が長くなり、候補の数が多くなりすぎ、使い勝手は低下してしまうことになる。
【００６９】
＜４．４：クラスリンクの重みづけを考慮した検索処理＞
上述した検索は、スタティックリンクの重みづけ（信号伝達係数）を考慮した検索であるが、更に、クラスリンクの重みづけを考慮した検索処理を行うことも可能である。図１１は、スタティックリンクの重みづけとクラスリンクの重みづけとの双方を考慮した検索処理の一例を示す図である。ここで、各スタティックリンクＬ１〜Ｌ５の下に示されたパーセント値は、各スタティックリンクの信号伝達係数であり、図１０に示した値と全く同じである。一方、各クラスリンクＡＡ，ＢＢ，ＡＢ，ＡＣの下に示されたパーセント値は、各クラスリンクの信号伝達係数である。
【００７０】
ここで、着目ノードを起点とした信号伝達を行う際には、スタティックリンクについての信号伝達係数とクラスリンクについての信号伝達係数との積を用いるようにする。たとえば、図１０に示す例と同様に、着目ノードＮ１から初期信号値１００をもった信号を、各リンクに沿って伝達させる場合を考える。すると、図１１において、ノードＮ１からノードＮ２への信号伝達では、信号値１００×２５％（リンクＬ１）×２０％（リンクＢＢ）なる乗算が行われ、ノードＮ２に到達した信号の信号値は５に減衰することになる。同様に、ノードＮ１からノードＮ３への信号伝達では、信号値１００×５０％（リンクＬ２）×８０％（リンクＡＢ）なる乗算が行われ、ノードＮ３に到達した信号の信号値は４０に減衰することになる。ノードＮ３に到達した信号は更にノードＮ４へと伝達するが、この信号伝達において、信号値４０×３０％（リンクＬ３）×９０％（リンクＡＡ）なる乗算が行われ、ノードＮ４に到達した信号の信号値は１０．８にまで減衰することになる。更に、この信号値１０．８の信号がノードＮ４からノードＮ５へ伝達される際に、信号値１０．８×６０％（リンクＬ４）×１０％（リンクＡＣ）なる乗算が行われ、ノードＮ５に到達した信号の信号値は０．６４８にまで減衰することになる。
【００７１】
図１１の下欄に示す図表には、着目ノードＮ１に信号値１００の信号を与えたときに、各ノードに伝達される信号の信号値が示されている。この例でも、有効信号値の下限条件を１０に設定してあり、伝達された信号の信号値が１０以下のノードに関しては、「条件以下」として考慮の対象から除外するようにしている。その結果、候補ノードとして抽出されるノードは、ノードＮ３およびノードＮ４のみとなり、この順に優先順位が定義される。
【００７２】
このように、スタティックリンクの重みづけとクラスリンクの重みづけとの双方を考慮した検索が行われるように構成しておけば、システムの管理者により、個々の検索処理の傾向を統括的に制御することが可能になる。たとえば、特定のクラスへアクセスするための通信回線が非常に混雑する傾向にある場合、このクラスに関するクラスリンクの重みづけを小さくするような修正を行えば、このクラスに所属するノードが候補として抽出されることを抑制することが可能になる。
【００７３】
既に述べたように、スタティックリンクの重みづけ要素は学習対象になり、個々の利用者ごとに異なる重みづけをもったリンク集合体が形成されることになる。これに対して、クラスリンクの重みづけを、システムの管理者によってのみ設定できるようにしておけば、個々の利用者の学習内容を尊重しつつ、システム全体としての検索処理を管理者によって統括管理することが可能になる。
【００７４】
＜４．５：分散型システムにおける学習処理＞
続いて、分散型システムにおける具体的な学習処理について説明する。前述したように、クラスリンクの重みづけは、学習対象にならないため、ここでは、クラスリンクに一様に１００％の重みづけがなされている簡単な場合を考える。すなわち、図１１に示す例ではなく、図１０に示す例についての学習処理を考える。
【００７５】
いま、図１０に示すように、ノードＮ１を着目ノードとした検索を行った結果、３つのノードＮ２，Ｎ３，Ｎ４が候補ノードとして提示され、オペレータが、この３つの候補ノードのうちのノードＮ４を採択したものとしよう。これにより、ノードＮ４が新たな着目ノードになる。そして、このノードＮ４の採択行為により、学習が行われることになる。学習は、学習対象となるスタティックリンクの重みづけを修正することにより行われる。具体的には、スタティックリンクの信号伝達係数を増減する修正を行うことになる。
【００７６】
学習処理の基本方針は次のとおりである。まず、着目ノードから各候補ノードへ至るすべてのパスを学習対象パスとして抽出する。そして、着目ノードから採択ノードへ至るパス上のリンクについての信号伝達係数を、他のリンクの信号伝達係数に対して相対的に増加させる修正を行う。特に、ここで述べる実施形態では、着目ノードから採択ノードへ至るパス上のリンクについての信号伝達係数を増加させる修正を行うとともに、それ以外の学習対象パス上のリンクについての信号伝達係数を減少させる修正を行うようにしている。結局、全スタティックリンクのうち、
▲１▼学習対象パスのうち、着目ノードから採択ノードへ至るパス上のリンクについては、信号伝達係数を増加させる修正を行い、
▲２▼学習対象パスのうち、▲１▼以外のリンクについては、信号伝達係数を減少させる修正を行い、
▲３▼学習対象パス上にないリンクについては、何ら修正を行わない、
という処理が行われることになる。
【００７７】
この例では、上記▲１▼のリンクについては信号伝達係数のパーセント値を２０だけ増加させ、上記▲２▼のリンクについては信号伝達係数のパーセント値を２０だけ減少させる修正を行うようにしている。この例での学習対象パスは、図１０に示すように、着目ノードＮ１から、白抜きのノード点で示した各候補ノードＮ２，Ｎ３，Ｎ４へ至るすべてのパスであり、具体的には、スタティックリンクＬ１，Ｌ２，Ｌ３が学習対象となる。このうち、着目ノードＮ１から採択ノードＮ４に至るパス上のリンクＬ２，Ｌ３については、信号伝達係数値を２０だけ増加させる修正が行われ、リンクＬ２およびＬ３の学習後の信号伝達係数は、それぞれ５０％＋２０％＝７０％および３０％＋２０％＝５０％となる。一方、学習対象である残りのリンクＬ１については、信号伝達係数値を２０だけ減少させる修正が行われ、学習後の信号伝達係数は、２５％−２０％＝５％となる。なお、学習対象パスにはならなかったリンクＬ４，Ｌ５については学習は行われず、信号伝達係数の値はもとのままである。図１２は、このような基本方針に沿った具体的な学習処理を実施した後の状態を示す図である。
【００７８】
さて、このような学習により、検索処理にどのような変化が生じるかを見てみよう。図１３は、前述のような学習により、新たな信号伝達係数が定義された状態において、再び、ノードＮ１を着目ノードとして指定し、検索を行った場合の検索結果を示す図である。図１３に示す検索行為自体は、図１０に示す検索と全く同じであるが、各リンクの信号伝達係数が修正されているため、異なった検索結果が得られている。すなわち、やはり着目ノードＮ１から初期信号値１００をもった信号を、各リンクに沿って伝達させると、ノードＮ１からノードＮ２への信号伝達では、信号値１００×５％なる乗算が行われ、ノードＮ２に到達した信号の信号値は５（条件以下）に減衰することになる。一方、ノードＮ１からノードＮ３への信号伝達では、信号値１００×７０％なる乗算が行われ、ノードＮ３には信号値が７０の信号が得られる。更に、ノードＮ３からノードＮ４への伝達では、信号値７０×５０％なる乗算が行われ、ノードＮ４には信号値３５の信号が得られる。更に、この信号値３５の信号がノードＮ４からノードＮ５へ伝達される際に、信号値３５×６０％なる乗算が行われ、ノードＮ５には信号値２１の信号が得られる。
【００７９】
図１３の下欄に示す図表には、着目ノードＮ１に信号値１００の信号を与えたときに、各ノードに伝達される信号の信号値が示されている。この図表を、図１０の下欄に示す図表と比較すると、候補ノードとして抽出されるノードの組み合わせや優先順位に変化が生じていることがわかる。すなわち、学習前の図１０に示す検索では、ノードＮ２が候補ノードとなっていたのに対し、学習後の図１３に示す検索では、ノードＮ２の代わりにノードＮ５が候補ノードになっている。これは、学習により、ノードＮ１−Ｎ４間の関連の程度が大きくなったことを意味している。
【００８０】
この図１３に示す検索の後に、オペレータが再びノードＮ４を採択したとすると、リンクＬ２，Ｌ３の信号伝達係数は更に増加し、逆に、リンクＬ１，Ｌ４の信号伝達係数は減少することになる。前回の検索では、リンクＬ４は学習対象になっていなかったが、今回の検索では、ノードＮ５が候補ノードになったため、リンクＬ４も学習対象となる。ただ、リンクＬ４は、着目ノードＮ１から採択ノードＮ４へ至るパス上のリンクではないため、信号伝達係数を減少させる学習が行われることになる。
【００８１】
このように、利用者が所定の着目ノードについての検索を行い、この検索によって提示された候補ノードの中から新たな着目ノードを採択するたびに、学習対象パス上のリンクについての学習が行われる。すなわち、着目ノードから採択ノードに至るパスとして利用されたリンクに対しては重みづけの増加修正が行われ、それ以外の学習対象パス上のリンクに対しては重みづけの減少修正が行われる。このようにして、利用頻度の高いパスについての重みづけを増加させる学習が行われると、個々の利用者にとって使い勝手のよいリンク集合体が構築されてゆくことになる。
【００８２】
なお、本実施形態では、信号伝達係数に所定の上限値および下限値を設定してあり、上限値を越えるような増加修正や、下限値を越えるような減少修正は行われないようにしている。たとえば、信号伝達係数の上限値を１５０％とし、下限値を１％としておけば、増加修正は１５０％までしか行われず、減少修正は１％までしか行われない。もっとも、信号伝達係数が１％以下になるような場合には、そのスタティックリンクを消滅させてしまうように決めておくこともできる。
【００８３】
また、この実施形態では、リンクの重みづけに関して、方向性は定義していない。たとえば、リンクＬ２の重みづけを示す信号伝達係数は、ノードＮ１からノードＮ３へ信号が伝達する場合と、逆に、ノードＮ３からノードＮ１へ信号が伝達する場合と、の双方に共通して利用される。通常は、ノードＮ１から見たノードＮ３の関連性が高い場合、逆に、ノードＮ３から見たノードＮ１の関連性も高いのが普通である。したがって、リンクの重みに特に方向性を定義しなくても支障はない。しかしながら、第１のノードから見た第２のノードの関連性が、第２のノードから見た第１のノードの関連性と必ずしも同じにならない場合には、リンクの重みづけに方向性をもたせることもできる。この場合は、たとえば、リンクＬ２の重みづけとして、ノードＮ１からノードＮ３へ向かう方向についての信号伝達係数と、ノードＮ３からノードＮ１へ向かう方向についての信号伝達係数とを、それぞれ別個に定義すればよい。
【００８４】
＜４．６：ノードの重みづけを考慮した候補ノードの提示＞
これまで、スタティックリンクの重みづけを修正する学習処理を説明してきたが、個々のノードにも重みづけを定義して学習処理の対象にすれば、個々の候補ノードをオペレータに提示する際に、各候補ノードの重みを考慮した優先順位で提示を行うことが可能になる。
【００８５】
これを具体例で示そう。ここでは、すべてのノードに対して、重みづけを示す頻度係数を定義することにし、学習が行われていない初期状態において、全ノードの頻度係数を１００％に設定したものとする。各ノードに定義された頻度係数は、信号伝達の過程には何ら影響を与えないが、そのノードが候補ノードとして抽出されたときには、優先順位を決定するためのパラメータとして利用されることになる。このような頻度係数を定義した場合、図１０に示す検索処理時には、図１４の図表に示すような方法で候補ノードの優先順位が決定される。すなわち、ある特定のノードの優先順位は、そのノードに伝達された信号の信号値とそのノードの頻度係数との積に基づいて定められることになる。図１４に示す例では、まだ学習が行われていないため、全ノードの頻度係数は１００％になっており、頻度係数を乗じて得られる積は、もとの信号値と同じ値になる。
【００８６】
さて、図１０に示す検索により、３つの候補ノードＮ３，Ｎ２，Ｎ４がこの順序でオペレータに提示され、オペレータがノードＮ４を採択した場合を考えよう。この場合、各リンクの信号伝達係数を修正する学習が行われることは既に述べたとおりであるが、ノードについての重みづけを定義した場合には、ノードの重みづけも修正されるような学習を行うようにする。具体的には、
▲１▼採択ノードについては、頻度係数を増加させる修正を行い、
▲２▼学習対象パス上のノードのうち、▲１▼以外のノードについては、頻度係数を減少させる修正を行い、
▲３▼学習対象パス上にないノードについては、何ら修正を行わない、
という学習処理を行えばよい。結局、ノードの重みづけを示す頻度係数は、そのノードが過去にどの程度採択されたかという採択頻度を示すパラメータということになる。
【００８７】
ここでは、採択ノードについては、頻度係数を×１．５に増加させる修正を行い、学習対象パス上のその他のノードについては、頻度係数を×０．７に減少させる修正を行う具体例を考えてみる。すると、図１０に示す検索において、候補ノードＮ４が採択された場合、採択ノードであるノードＮ４の頻度係数は、１００％×１．５＝１５０％に修正されることになる。一方、学習対象パス上のその他のノードＮ２，Ｎ３の頻度係数は、１００％×０．７＝７０％に修正されることになる。ノードＮ５，Ｎ６，Ｎ７は、学習対象パス上にはないため、頻度係数の修正は行われない。
【００８８】
候補ノードＮ４の採択行為により、ノードに対する学習が行われるとともに、前述したようにリンクに対する学習も行われ、リンクの信号伝達係数は図１３の上欄に示すような値になる。このような学習が行われた後に、再び、ノードＮ１を着目ノードとする検索を行った場合の検索結果を考えてみると、各ノードに定義された頻度係数は、信号伝達過程には何ら影響を及ぼさないので、ノードＮ１〜Ｎ５に得られる信号の信号値は、図１３の下欄に示すような値になる。ただし、候補ノードＮ３，Ｎ４，Ｎ５をオペレータに提示するときの優先順位は、信号値と頻度係数との積に基づいて決められる。この積は、図１５の図表に示すようになり、結局、図１３に示す検索処理時には、図１５の図表に示すような方法で候補ノードの優先順位が決定されることになる。
【００８９】
図１５に示された優先順位を、図１３下欄に示された優先順位と比較すると、優先順位の▲１▼と▲２▼とが入れ替わっていることがわかる。すなわち、ノードについての重みづけを考慮して優先順位を決定すれば、採択ノードであるノードＮ４の優先順位が、単なる通過ノードとして利用されるノードＮ３の優先順位よりも高くなり、利用者の使い勝手がより向上することがわかる。
【００９０】
＜４．７：ダイナミックリンクを用いた検索処理＞
分散型データベースシステムについて、これまで説明を行ってきた検索例は、既存のスタティックリンクを利用した検索であった。ここでは、§３で説明したダイナミックリンクを利用した検索例を述べることにする。
【００９１】
たとえば、図１０に示す例において、ノードＮ１−Ｎ３間のスタティックリンクＬ２が定義されていなかった場合を考える。スタティックリンクのみを利用した検索では、この状態で、ノードＮ１を着目ノードとする検索を行った場合、候補ノードとして、ノードＮ２だけが検索されることになる。既に述べたように、スタティックリンクは、第一義的にはシステムの管理者によって設定されたリンクであり、必ずしも個々の利用者にとって有益なノード間の関連づけがなされているとは限らない。そこで、次のような手法を用いて、キーワード間に関連性のある特定のノード間に、一時的なダイナミックリンクを定義し、検索を行うようにする。
【００９２】
ダイナミックリンクを定義する基本的な手法は、§３において述べたとおりである。ここでは、図１６に示すように、既存のリンクが存在しないために不連結部分を構成しているノードＮ１−Ｎ３間に、ダイナミックリンクＬ２を発生させるための具体的な条件について説明する。不連結部分のノードＮ１−Ｎ３間をダイナミックリンクで連結すべきか否かの判断は、両ノードＮ１，Ｎ３に定義されているキーワードＫ１，Ｋ３の関連性の評価結果に基づいてなされる。すなわち、この評価結果が所定の条件を満足していれば、この不連結部分は、ダイナミックリンクＬ２によって一時的に連結されることになる。具体的には、たとえば、各キーワードＫ１，Ｋ３として、それぞれいくつかの等価キーワードが定義されていた場合には、キーワードＫ１を構成するいずれかの等価キーワードが、キーワードＫ３を構成するいずれかの等価キーワードと一致すれば、条件を満足する評価結果が得られたと判断してよい。もちろん、キーワードの完全一致を必須条件にする必要はなく、たとえば、「高血圧」と「血圧値」のように、文字列の２／３が一致している場合には、条件を満足するという判断を行うようにしてもかまわない。
【００９３】
本実施形態では、２つのキーワードの関連性の評価を行う上で、クラスリンクとともに用意されたシソーラス辞書を用いるようにしている。図８に示すように、リモートリンクＡＢについては、シソーラス辞書Ｔａｂが用意されている。したがって、ノードＮ１−Ｎ３間の関連性を評価する際には、このシソーラス辞書Ｔａｂを参照した評価を行うようにする。たとえば、シソーラス辞書Ｔａｂ内に、「高血圧」，「high pressure 」，「血圧異常」，「動脈硬化」という単語がいずれも類義語として定義されていたとすれば、クラスＡ内のノードとクラスＢ内のノードとの関連性を評価する上では、これらの類義語は同一のキーワードと見做した取り扱いができる。
【００９４】
結局、図１６に示されている不連結部分のノードＮ１−Ｎ３間にダイナミックリンクＬ２が定義されるためには、ノードＮ１のキーワードＫ１と、ノードＮ３のキーワードＫ３との関連性を、シソーラス辞書Ｔａｂを参照した上で評価し、評価結果が所定の条件を満足している必要がある。
【００９５】
なお、図１６において、ノードＮ１に関する不連結部分は、ノードＮ１−Ｎ３間だけではない。ノードＮ１に対して既存のスタティックリンクで連結されているノードは、ノードＮ２だけであるから、それ以外のノード間、すなわち、ノードＮ１−Ｎ４間，ノードＮ１−Ｎ５間，ノードＮ１−Ｎ６間，ノードＮ１−Ｎ７間も、ノードＮ１に関する不連結部分である。しかしながら、本実施形態では、「ダイナミックリンクは、クラスリンクが定義されているクラス間にのみ定義できる」という条件を課すことにより、ダイナミックリンクの発生に制限を加えるようにしている。したがって、上述の例の場合、ノードＮ１に関する不連結部分のうち、ノードＮ１−Ｎ３間およびノードＮ１−Ｎ４間には、キーワードの評価結果が条件を満足すれば、ダイナミックリンクを定義することが許されるが（クラスＡ−Ｂ間には、クラスリンクＡＢが存在するため）、たとえば、ノードＮ１−Ｎ７間には、図１７に示すように、ダイナミックリンクを定義することは許されない（クラスＢ−Ｃ間には、クラスリンクが存在しないため）。同様の理由により、ノードＮ１−Ｎ５間，ノードＮ１−Ｎ６間，Ｎ２−Ｎ５間，ノードＮ２−Ｎ６間，ノードＮ２−Ｎ７間，ノードＮ５−Ｎ６間，ノードＮ５−Ｎ７間にも、ダイナミックリンクの定義は許されない。
【００９６】
検索時に一時的に定義したダイナミックリンクには、所定の重みづけ、すなわち信号伝達係数が与えられる。したがって、図１６に示すダイナミックリンクＬ２についても、何らかの信号伝達係数が与えられ、信号伝達機能に関しては、他のスタティックリンクと全く同様の機能を果たすことになる。定義したダイナミックリンクに与える信号伝達係数は、たとえば、「一律５０％にする」というように定めておいてもよいが、キーワードの関連性の評価値に応じた係数を与えるようにしてもよい。たとえば、図１６に示すダイナミックリンクＬ２の信号伝達係数は、「キーワードＫ１とＫ３とが完全一致の場合には１００％とし、キーワードを構成する文字列の２／３が一致していたような場合には６６％とする」というように定めてもよい。また、等価キーワードを利用する場合は、個々の等価キーワードにそれぞれ重みづけを定めておき、一致した等価キーワードの重みづけに応じて、信号伝達係数の値を定めるようにしてもよい。
【００９７】
このようにして一時的に発生させたダイナミックリンクの学習時の取り扱いは、既に§３で述べたとおりである。すなわち、そのダイナミックリンクが、着目ノードから採択ノードへ至るパスとして利用された場合には、スタティックリンクに昇格し、かつ、信号伝達係数を増加させる修正が行われる。これに対し、着目ノードから採択ノードへ至るパスとして利用されなかった場合には、そのまま消滅させる。たとえば、図１６に示すように、ノードＮ１を着目ノードとする検索時に、ダイナミックリンクＬ２が定義された場合を考える。この場合、たとえば候補ノードであるノードＮ４が採択された場合には、ダイナミックリンクＬ２はスタティックリンクＬ２として残ることになり、信号伝達係数も増加修正される。ところが、別な候補ノードであるノードＮ２が採択された場合には、そのまま消滅してしまうことになる。
【００９８】
結局、上述した特徴をもったダイナミックリンクを、検索時に一時的に定義することにより、検索対象となるノードの範囲を広げることができるようになる。また、利用者の採択行為に関与したダイナミックリンクについては、これをスタティックリンクとして残すようにすることにより、個々の利用者にとって利用価値のあるリンクを新たに追加することができるようになる。
【００９９】
§５．  本実施形態に係るデータベースシステムの動作手順
続いて、本実施形態に係るデータベースシステムの動作手順を流れ図に基づいて説明する。
【０１００】
＜５．１：本実施形態に係るデータベースシステムの利用手順＞
図１８は、このデータベースシステムの利用手順を、利用者の操作を中心にして示した流れ図である。利用者は、まずステップＳ１において、初期着目ノードを決定する。初期着目ノードの決定方法は、どのような方法を採ってもかまわない。たとえば、何らかのキーワードを入力し、この入力したキーワードと同一あるいは関連性のあるキーワードが定義されているノードを候補として表示させ（実際には、キーワードを表示する）、表示されたキーワードの中から、オペレータによって特定のノードを採択させれば、初期着目ノードを決定することができる。予めクラスを指定し、このクラス内のノードの中から初期着目ノードを選択させるような方法を採れば、候補をより絞り込んだ初期着目ノードの決定が可能である。
【０１０１】
続くステップＳ２では、この着目ノードに対応づけられたデータを利用するか否かが判断される。オペレータが、現在の着目ノードについて、データを利用（閲覧）したいと考えた場合には、その旨の指示を与えればよい。オペレータからデータ利用の指示が与えられると、ステップＳ２からステップＳ３へと進み、着目ノードに対応するデータが提供されることになる。すなわち、図１に示すシステムでは、ノード・リンク集合体２内の着目ノードに定義されたキーワードに基づいて、データベース１内から対応するデータが抽出され、オペレータ３に提示される。必要があれば、繰り返してデータ利用が可能である。
【０１０２】
続くステップＳ４では、この着目ノードについての検索を行うか否かが判断される。オペレータが検索を行わなかった場合には、一応、このシステムの利用手順は終了する。なお、オペレータが別な内容について調べるために、再びこのデータベースシステムをアクセスした場合には、再度ステップＳ１からの手順を開始すればよい。オペレータが、現在の着目ノードについて、検索を行いたいと考えた場合には、その旨の指示を与えれる。オペレータから検索指示が与えられると、ステップＳ４からステップＳ５へと進み、検索処理が行われることになる。このステップＳ５の検索処理の詳細な手順は、図１９の流れ図を参照しながら後に述べることにする。この検索処理により、着目ノードに対してある程度の関連性があると判断された関連ノードが抽出され、これら関連ノードが候補ノードとして提示されることになる。
【０１０３】
候補ノードの提示は、実際には、各候補ノードに定義されたキーワードをディスプレイ上に表示することによって行われる。オペレータは、このキーワードの表示を見ながら、探し求めているデータに最も関連があると思われるキーワードを採択する。すなわち、ステップＳ６における候補ノードの採択処理が行われる。続いて、オペレータの採択行為に基づいて、ステップＳ７において学習処理が行われる。このステップＳ７の学習処理の詳細な手順は、図２０の流れ図を参照しながら後に述べることにする。
【０１０４】
こうして学習処理が完了すると、ステップＳ８において、採択ノードを新たな着目ノードとする更新処理が行われ、ステップＳ２からの手順へ戻ることになる。
【０１０５】
結局、オペレータは、図１８に示す流れ図の手順を繰り返すことにより、何度も検索を繰り返し実行してゆき、着目ノードを転々と変えてゆくことができる。そして、必要に応じて、ステップＳ２において、データを利用（閲覧，印刷など）したい旨の指示を与えれば、その都度、現在の着目ノードに対応するデータを利用することができる。このような検索手法の特徴は、データを直接検索しているのではなく、関連するキーワードを検索している点にある。既に述べたように、特定のノードをオペレータに提示する処理は、実際には、その特定のノードに定義されたキーワードをディスプレイ上に表示する処理である。したがって、着目ノードを転々と変えてゆく操作は、オペレータから見れば、キーワードを転々と変えてゆく操作になる。このような検索手法は、最終的に探し求めているデータを、どのようなキーワードで検索すればよいかが不明瞭な場合に有効になる。別言すれば、オペレータは、とりあえず関連性があると思われるキーワードを、ステップＳ１において初期着目ノードを決定するためのキーワードとして与え、以後、ステップＳ４の検索処理を実行し、ステップＳ６において、提示された新たなキーワードの中から、最も関連性のありそうなキーワードを採択する（ノードの採択）という作業を繰り返し実行してゆけばよいことになる。
【０１０６】
具体的には、たとえば、ある特定の患者の症例に類似した過去の症例データを探す場合を考えてみよう。いま、オペレータが、ある特定の病院の症例データベースをクラス指定して、「高血圧」というキーワードを入力し、検索を行ったとする。その結果、候補ノードを示すキーワードとして、「血圧異常」、「若年性高血圧」、「老年性高血圧」、「高血圧性網膜症」、…などが候補として提示されたとしよう（システム内部の処理としては、「高血圧」というキーワードが定義されたノードが着目ノードとなり、「血圧異常」、「若年性高血圧」、「老年性高血圧」…などのキーワードが定義されたノードが候補ノードとして提示されたことになる）。ここで、たとえば、当該患者が老人であったため、「老年性高血圧」というキーワードを採択したとする（システム内部の処理としては、「老年性高血圧」なるキーワードが定義された候補ノードが採択され、新たな着目ノードになる）。オペレータは、この時点で必要があれば、「老年性高血圧」というキーワードに対応するデータを閲覧することができる（着目ノードに対応するデータの提供）。
【０１０７】
ここでは、この「老年性高血圧」というキーワードに基づいて更に検索を行った結果、候補ノードを示すキーワードとして、「動脈硬化」、「眼底出血」、「腎機能障害」、「心不全」、…などが候補として提示されたものとしよう。このとき、当該患者の腎機能に異常が見られたのなら、「腎機能障害」というキーワードを採択することができ、必要があれば、このキーワードに対応するデータ（たとえば、腎機能障害をもつ患者の症例データ）を閲覧することができる。
【０１０８】
このように、本実施形態に係るデータベースシステムでは、とりあえず何らかのキーワードを与えて検索を行うと、与えられたキーワードに関連した別なキーワードが候補としてシステム側から提示されることになるので、オペレータ側で適切なキーワードが思い浮かばないような場合であっても、より柔軟な検索を行うことが可能になる。しかも、システム自体が学習機能を有しているため、利用すればする程、採択される可能性の高いキーワードが優先的に提示されるようになるので、使い勝手は益々向上するようになる。
【０１０９】
なお、キーワードとしては、いわゆる文字列だけでなく、画像を用いることも可能である。たとえば、あるノードに対応づけられたデータを、簡単なアイコンで表現するようにし、このアイコンをそのノードのキーワードとして定義しておけば、検索結果をディスプレイ上に表示する際に、キーワードとしてのアイコンを並べ、オペレータに提示することができる。この場合、オペレータの採択行為は、アイコンをマウスポインタなどでクリックする簡単な操作で行うことができる。
【０１１０】
なお、図１８に示す流れ図では、ステップＳ６においてノードの採択が行われた後、無条件でステップＳ７の学習処理が行われることになっているが、このようにステップＳ７において無条件で学習処理を行った場合、不本意な学習が行われることもありうる。たとえば、オペレータがステップＳ６においてノード採択を行ったが、この採択行為が不本意なものであったため、この採択ノードについてはデータ利用も新たな検索処理も行わなかったような場合を考えよう。このような場合、採択行為自体がオペレータの意図に反するものであり、このような不本意な採択行為によりステップＳ７の学習処理が行われてしまうことは好ましくない。このような弊害に対処するためには、ステップＳ６における採択行為があった後、直ちに学習処理を行わずに、その採択ノードを新たな着目ノードとするデータ利用（ステップＳ３）あるいは検索処理（ステップＳ５）が行われた時点で、はじめて学習処理を行うようにするとよい。
【０１１１】
＜５．２：検索処理の手順＞
図１９は、図１８に示す流れ図におけるステップＳ５の検索処理の詳細な手順を示す流れ図である。ここでは、図１６に示すようなスタティックリンクが定義されている具体的な例について、この検索処理の手順を説明する。まず、ステップＳ１１において、ホップ数Ｈを初期値１に設定する。続いて、ステップＳ１２において、起点ノードを１つ抽出する。最初は、着目ノードＮ１が起点ノードとして抽出される。次のステップＳ１３では、この起点ノードＮ１に対する対象ノードが１つ抽出される。理論的には、このステップＳ１３において、起点ノード以外のすべてのノードが対象ノードとして順番に抽出されることになる。図１６に示す例の場合、起点ノードＮ１以外のすべてのノードＮ２〜Ｎ７が対象ノードとして順に抽出されることになる。ステップＳ１３では、１つの対象ノードのみが抽出されるので、ここでは、番号順に従って、ノードＮ２が対象ノードとして抽出されたものとしよう。
【０１１２】
こうして、起点ノードＮ１および対象ノードＮ２が抽出されたら、ステップＳ１４〜Ｓ１７において、この両ノード間について種々の判断がなされる。まず、ステップＳ１４において、両ノード間にクラスリンクがあるか否かが判断される。もし、両ノード間にクラスリンクがなければ、ステップＳ１９へと進むことになる。図１６に示す例では、ノードＮ１−Ｎ２間には（正確に言えば、ノードＮ１が所属するクラスＢと、ノードＮ２が所属するクラスＢとの間には）、クラスリンク（ローカルリンク）ＢＢが存在するので、ステップＳ１５へと進むことになる。ステップＳ１５では、両ノード間にスタティックリンクがあるか否かが判断される。図１６に示す例では、ノードＮ１−Ｎ２間には、スタティックリンクＬ１が存在するので、ステップＳ１５からステップＳ１９へと進むことになる。
【０１１３】
続いて、ステップＳ１９からステップＳ１３へと戻り、今度は、対象ノードＮ３が抽出され、起点ノードＮ１と対象ノードＮ３とに関して、種々の判断がなされることになる。まず、ステップＳ１４では、ノードＮ１−Ｎ３間には（正確に言えば、ノードＮ１が所属するクラスＢと、ノードＮ３が所属するクラスＡとの間には）、クラスリンク（リモートリンク）ＡＢが存在するので、ステップＳ１５へと進むことになる。ところが、ノードＮ１−Ｎ３間にはスタティックリンクは存在しないので、更にステップＳ１６へと進み、両ノード間にはまだダイナミックリンクも存在しないので、更にステップＳ１７へと進み、両ノードのキーワードの関連性が評価される。ここで、ノードＮ１に定義されたキーワードＫ１と、ノードＮ３に定義されたキーワードＫ３との関連性の評価結果が、所定の条件を満足していたとすると、ステップＳ１８へと進み、ノードＮ１−Ｎ３間に、図１６に破線で示されているダイナミックリンクＬ２が定義されることになる。
【０１１４】
結局、ステップＳ１４〜Ｓ１７の判断処理は、両ノード間にダイナミックリンクを定義すべきか否かを判断するための処理になっている。ダイナミックリンクを定義するための条件の１つは、既に述べたように、「両ノードが所属するクラス間にクラスリンクが存在すること」であり、この条件を満たさない場合は、ステップＳ１４からステップＳ１９へジャンプすることになる。また、ダイナミックリンクは、既存のスタティックリンクが存在しない不連結部分のノードに対して定義されるものであるから、両ノード間に既にスタティックリンクが存在する場合には、ステップＳ１５からステップＳ１９へジャンプすることになる。同様に、既にダイナミックリンクが定義されていた場合には（たとえば、後の手順において、ノードＮ３を起点ノード、ノードＮ１を対象ノードとする処理の場合、既に両ノード間には、ダイナミックリンクＬ２が定義されていることになる）、ステップＳ１６からステップＳ１９へジャンプすることになる。かくして、ステップＳ１７において、両ノードのキーワードが関連性の条件を満たす場合には、両ノード間にはスタティックリンクもダイナミックリンクもまだ定義されていないので、ステップＳ１８において、ダイナミックリンクの定義を行うことになる。
【０１１５】
なお、図１９に示す流れ図では、ステップＳ１３において対象ノードを１つずつ抽出しては、この抽出した対象ノードに対してクラスリンクが存在するか否かをステップＳ１４で判断しているが、実際の演算処理を行う上では、まず、対象となるクラスを１つ抽出し、この抽出した対象クラスに対してクラスリンクが存在するか否かを先に判断し、クラスリンクが存在する場合には、当該対象クラスの中から対象ノードを１つずつ抽出してステップＳ１５以下の処理へと進むようにし、クラスリンクが存在しない場合には、当該クラスの中からは対象ノードの抽出を一切行わないようにすれば、効率的な処理が可能になる。
【０１１６】
こうして、最初の起点ノードＮ１に関して、全対象ノードＮ２〜Ｎ７を抽出した処理が完了したら、ステップＳ１９からステップＳ２０へと進み、全起点ノードが抽出されたか否かが判断される。「起点ノード」とは、信号伝達の起点となるノードを意味し、当初の起点ノードは着目ノードたるノードＮ１のみであり、ステップＳ２０では、全起点ノードが抽出済みと判断され、ステップＳ２１へと進むことになる。
【０１１７】
ステップＳ２１では、起点ノードから１ホップ分信号を伝達させ、信号値が所定レベル以上のノードを新たな起点ノードとする処理が行われる。図１６に示す例において、起点ノードＮ１から１ホップ分の信号伝達を行えば、既存のスタティックリンクＬ１を介してノードＮ１からノードＮ２への信号伝達と、定義されたばかりのダイナミックリンクＬ２を介してノードＮ１からノードＮ３への信号伝達と、の２通りの信号伝達が行われることになる。既に述べたように、起点ノードの信号の信号値は、リンクのもつ信号伝達係数によって減衰することになる。そこで、信号伝達の行われたノードのうち、信号値が所定レベル以上（§４で述べた例では、信号値１０以上）のノードだけを新たな起点ノードとする。また、信号値が１０未満になってしまったノードがあった場合、そのノードへの信号伝達はなかったものとして取り扱うようにする。
【０１１８】
続くステップＳ２２では、ホップ数Ｈが上限値Ｈmax になったか否かが判断される。たとえば、Ｈmax ＝２に設定してあったとすると、現時点ではＨ＝１であり、ステップＳ２２からステップＳ２３へと進むことになり、ホップ数Ｈを１だけ増加させ、ステップＳ１２からの処理が繰り返し行われることになる。
【０１１９】
図１６に示す例の場合、初代の起点ノードＮ１から１ホップ分の信号伝達を受けたノードＮ２，Ｎ３が、二代目の起点ノードになる。ステップＳ１２では、この２つの起点ノードのうち、起点ノードＮ２が抽出されたものとする。続くステップＳ１３では、起点ノードＮ２に対して、対象ノードを１つ定め、ステップＳ１４〜Ｓ１７の判断処理で、ダイナミックリンクが定義できるか否かが判断されることになる。ここで、起点ノードＮ２との間には、いずれの対象ノードについてもダイナミックリンクは定義されなかったとする（図示の例では、リモートリンクＡＢの存在により、ノードＮ２−Ｎ４間には、ダイナミックリンクが定義される可能性はあるが、ここでは、キーワードＫ２−Ｋ４間には十分な関連性がなかったとする）。すると、ステップＳ２０からステップＳ１２へと戻り、今度は起点ノードＮ３が抽出され、同様にダイナミックリンクの定義可能性が判断されるが、やはり新たなダイナミックリンクの定義は行われなかったとしよう。
【０１２０】
かくして、全起点ノードＮ２，Ｎ３の抽出が完了したので、ステップＳ２０からステップＳ２１へと進むことになる。ステップＳ２１では、２つの起点ノードＮ２，Ｎ３から１ホップ分信号を伝達させ（既に信号伝達に用いられたリンクへは、再度の信号伝達は行わないので、ノードＮ２やＮ３からノードＮ１へ戻るような信号伝達は行われない）、信号値が所定レベル以上のノードを新たな起点ノードとする処理が行われる。図１６に示す例では、起点ノードＮ２からは、もはや信号伝達は行われない。一方、もうひとつの起点ノードＮ３から１ホップ分の信号伝達を行えば、既存のスタティックリンクＬ３を介してノードＮ３からノードＮ４への信号伝達が行われることになる。ここで、ノードＮ４に到達した信号の信号値が所定のレベル以上であれば、ノードＮ４が新たな起点ノードになる。
【０１２１】
続くステップＳ２２では、ホップ数Ｈが上限値Ｈmax になったか否かが判断される。ここでは、Ｈmax ＝２なる設定をしてあったので、ホップ数Ｈが上限値になったことになり、ステップＳ２４へと進むことになる。このステップＳ２４では、パス上（信号が流れた経路上）の全ノードが関連ノードとして抽出される。図１６に示す例の場合、リンクＬ１，Ｌ２，Ｌ３をパスとして、ノードＮ２，Ｎ３，Ｎ４にまで信号伝達があったので、これらのノードＮ２，Ｎ３，Ｎ４が関連ノードとして抽出されることになる。この関連ノードが候補ノードとしてオペレータに提示されることは既に述べたとおりである。なお、信号伝達があっても、信号値が所定のレベルに満たない場合には、そのノードへの信号伝達はなかったものとして採り扱われるので、そのノードが関連ノードとして抽出されることはない。
【０１２２】
＜５．３：学習処理の手順＞
図２０は、図１８に示す流れ図におけるステップＳ７の学習処理の詳細な手順を示す流れ図である。まず、ステップＳ３１において、検索処理によって信号が流れた全パスが学習対象パスとして抽出される（信号伝達があっても、信号値が所定のレベルに満たない場合には、そのノードへの信号伝達はなかったものとして採り扱われるので、そのノードへのパスは学習対象パスにはならない）。上述した図１６に示す例において、ノードＮ１を着目ノードとする検索により、候補ノードＮ２，Ｎ３，Ｎ４が検索された場合、リンクＬ１，Ｌ２，Ｌ３が学習対象パスとして抽出されることになる。
【０１２３】
続いて、ステップＳ３２において、学習対象パスのうち、着目ノードから採択ノードに至るパス上のリンクについては、
▲１▼スタティックリンクの場合には、信号伝達係数を増加させ、
▲２▼ダイナミックリンクの場合には、信号伝達係数を増加させるとともに、このダイナミックリンクをスタティックリンクに昇格させる、
という処理が行われる。上述した図１６に示す例において、候補ノードＮ４が採択された場合には、着目ノードＮ１から採択ノードＮ４に至るパス上のリンクのうち、ダイナミックリンクＬ２については、信号伝達係数を増加させるとともに、スタティックリンクへ昇格させる学習が行われ、スタティックリンクＬ３については、信号伝達係数を増加させる学習が行われることになる。
【０１２４】
一方、ステップＳ３３において、学習対象パスのうち、上記以外のパス上のリンクについては、
▲１▼スタティックリンクの場合には、信号伝達係数を減少させ、
▲２▼ダイナミックリンクの場合には、リンク自体を消滅させる、
という処理が行われる。上述した図１６に示す例の場合、スタティックリンクＬ１について、信号伝達係数を減少させる学習が行われることになる。
【０１２５】
最後に、ステップＳ３４において、ノードの頻度係数に関する学習が行われる。すなわち、学習対象パス上の全ノードのうち、
▲１▼採択ノードについては、頻度係数を増加させ、
▲２▼それ以外のノードについては、頻度係数を減少させる、
という処理が行われる。上述した図１６に示す例の場合、採択ノードＮ４についての頻度係数を増加させる学習が行われ、それ以外の候補ノードＮ２，Ｎ３についての頻度係数を減少させる学習が行われることになる。
【０１２６】
§６．  本実施形態に係るデータベースシステムの具体的な構成
＜６．１：基本システム＞
図２１は、本実施形態の一実施形態に係るデータベースシステムの具体的な構成を示すブロック図である。実際には、本実施形態に係るデータベースシステムの本質は、ソフトウエアによって実現されることになるが、ここでは便宜上、このシステムを複数の機能要素の集合として説明を行うことにする。図２１に示された個々のブロックは、このシステムを構成する個々の機能要素を示しており、実際にはソフトウエアによって構築されることになる。したがって、この図２１に示す個々のブロックは、データベースシステムを構成する具体的なハードウエア構成要素に直接対応づけられるものではない。たとえば、個々のノードに定義されているキーワードを格納するためのハードウエア（記憶装置）や、オペレータに対して種々の情報を提示するためのディスプレイ装置、オペレータからの指示を入力する入力デバイスなどは、独立した機能要素としては図示されていないが、ハードウエア構成要素としては、これらは当然、本システムに含まれているものである。
【０１２７】
このデータベースシステムでは、複数のノードからなるノード集合体が定義され、データは個々のノードに対応づけて格納される。データ格納手段１０は、提供対象となるデータを、個々のノードに対応づけて格納する記憶手段である。データ提供手段２０は、データ格納手段１０から、所定の着目ノードに対応づけられたデータを抽出し、これをオペレータ１００に提供する機能を有する。着目ノードは、着目ノード設定手段３０によって設定される。すなわち、オペレータ１００が、着目ノード設定手段３０に対して特定のノードを着目ノードとして設定する指示を与えると、指定されたノードが着目ノードとして設定され、オペレータ１００に対しては着目ノードがいずれのノードであるかを示すノード情報（実際には、着目ノードに定義されたキーワード）が提示される。オペレータ１００が現時点での着目ノードに対応づけられたデータを利用したいと考えた場合は、データ提供手段２０に対してデータの提供要求を行えばよい。データ提供手段２０は、この提供要求に応じて、着目ノード設定手段３０に設定されている現時点の着目ノードに対応づけられたデータをデータ格納手段１０から抽出し、これをオペレータ１００に対して提供データとして提供する（たとえば、ディスプレイ上に表示する）。
【０１２８】
検索手段４０は、オペレータからの検索要求に応じて、着目ノード設定手段３０に設定されている現時点での着目ノードに関連する候補ノードを、リンク格納手段５０内に格納されているリンク集合体を参照して検索する機能を有する。リンク格納手段５０内には、ノードの集合およびノード間の関連の程度を示すリンク（スタティックリンク）の集合からなるノード・リンク集合体が格納されている。オペレータ１００が、現時点での着目ノードについて検索要求を出すと、検索手段４０は、リンク格納手段５０内のリンク集合体を利用して、着目ノード設定手段３０に設定されている着目ノードに対して、所定の条件下で関連する関連ノードを検索する処理を行い、この関連ノードの集合体を関連集合として抽出する。この検索処理の具体的な手法は、§４．３あるいは§５．２において既に述べたとおりである。また、検索手段４０は、リンク格納手段５０内のスタティックリンクとは別に、ダイナミックリンクを発生させる機能を有し、この際に、シソーラス辞書を参照してノード間の関連性を評価する機能を有する（§４．７参照）。
【０１２９】
検索手段４０による検索処理で、関連ノードの集合体が抽出されると、候補提示手段６０は、この関連集合に所属するノードの全部もしくは一部を候補ノードとしてオペレータ１００に提示する。これまで述べてきた例では、関連集合に所属する関連ノードの全部がそのまま候補ノードとしてオペレータ１００に提示されてきたが、必要に応じて、この候補提示手段６０においてふるい分けを行い、特定の条件を満足する一部の関連ノードのみを候補ノードとしてオペレータ１００に提示することもできる。このようなふるい分けの具体例は、§７の「ＡＮＤ検索」において述べることにする。候補提示手段６０によるオペレータ１００への候補提示は、たとえば、各候補ノードに定義されているキーワードをディスプレイ上に表示することにより行うことができる。
【０１３０】
候補採択手段７０は、候補提示手段６０によって提示されている候補ノードの中から、オペレータ１００に特定の候補ノードを採択させる機能を有する。オペレータ１００が特定の候補ノードを採択する旨の採択指示を与えると、候補採択手段７０は、指定された候補ノードを採択ノードとして更新手段８０および学習手段９０に伝達する。更新手段８０は、採択ノードが新たな着目ノードとなるように、着目ノード設定手段３０の設定を更新する処理を行う。なお、本明細書で述べる実施形態では、採択ノードは１つだけに限定しているが、複数の候補ノードを採択することを認めることも可能である（この場合、複数の採択ノードがそれぞれ新たな着目ノードとなる）。一方、学習手段９０は、着目ノードから各関連ノードへ至るパス上のリンクに対して、関連の程度についての修正を行う。すなわち、リンク格納手段５０内のリンク集合体に対して、リンクの重みづけを修正する処理を行う。
【０１３１】
かくして、オペレータ１００は、このシステムを利用する場合、まず、着目ノード設定手段３０に対して初期着目ノードの設定指示を与えて、初期着目ノードの設定を行い、以後、必要に応じて、データ提供手段２０に対するデータの提供要求もしくは検索手段４０に対する検索要求を行い、候補提示手段６０によって候補ノードの提示があった場合には、候補採択手段７０に対して採択指示を与えることにより、提示された候補の中から新たな着目ノードを決定する処理を行うことになる。オペレータ１００が新たな着目ノードの採択を行うたびに、リンク格納手段５０内に格納されているリンク集合体が修正され、旧着目ノードから新着目ノードへ至るパス上のリンクの重みづけが増加される。
【０１３２】
なお、リンク格納手段５０内には、個々のオペレータ（利用者）ごとに別個のリンク集合体が用意され、学習手段９０は、候補ノードの採択を行ったオペレータに対応するリンク集合体に対して修正を行うことになる。したがって、学習は個々のオペレータごとに別個独立して行われることになり、このシステムを利用すればするほど、各オペレータにとっての使い勝手は向上してゆくことになる。
【０１３３】
＜６．２：信号伝達係数の定義および修正＞
既に説明したように、リンク格納手段５０に格納されているリンク集合体を構成する個々のリンク（スタティックリンク）には、重みづけを示す値として、それぞれ所定の信号伝達係数が定義されている。検索手段４０は、着目ノードに対して関連ノードを検索する場合、所定の信号値をもった信号を着目ノードからリンクに沿って他のノードへ伝達させる処理を行う。この信号伝達過程において、各リンクに定義された信号伝達係数に基づいて、伝達される信号値を増減させ、所定レベル以上の信号値をもった信号が伝達されたノードだけが関連ノードとして抽出されることになる。信号値が所定のレベル未満となったノードについては、信号伝達が行われなかったものとして取り扱い、更に下流側への信号伝達処理は行われないことになる。また、１つのリンクで結合されたノード間の信号伝達をホップ数１と定義し、ホップ数が所定の上限値を越えた場合にも、信号の伝達処理は中止される。したがって、たとえ信号値が所定のレベル以上であったとしても、着目ノードからのホップ数が所定の上限値を越えたノードに対しては、信号伝達処理は行われないことになる。
【０１３４】
このように、着目ノードからの信号伝達処理によって、所定のレベル以上の信号値をもった信号伝達が行われたノードだけが、検索手段４０によって関連ノードとして抽出され、この関連ノードが候補提示手段６０によって候補ノードとしてオペレータ１００に提示されることになる。なお、候補提示手段６０によって候補ノードの提示を行う際には、優先順位に基づく提示が行われる。すなわち、候補提示手段６０は、各候補ノードに伝達された信号の信号値に応じて各候補ノードに優先順位を定義し、この優先順位に基づいて候補ノードの提示を行う機能を有する。具体的には、優先順位の高い候補ノードに定義されているキーワードを、ディスプレイ上で優先的に表示（たとえば、一覧リストの上位側に表示）すればよい。結局、このような優先表示は、現着目ノードに対する検索において、過去に採択された可能性の高い候補ノードほど優先的に表示するためのものであり、採択可能性の高い候補ほど、再び採択されやすいような提示が行われることになる。
【０１３５】
学習手段９０は、オペレータ１００の採択行為に基づいて、各ノードの信号伝達係数を修正する。すなわち、着目ノードから採択ノードへ至るパス上のリンクについての信号伝達係数を、他のリンクの信号伝達係数に対して相対的に増加させる修正を行う。より具体的には、学習手段９０は、着目ノードから各関連ノードへ至る全パスを学習対象パスと定義し、この学習対象パス上のリンクのうち、着目ノードから採択ノードへ至るパス上のリンクについてはその信号伝達係数を増加させ、学習対象パス上のその他のリンクについてはその信号伝達係数を減少させる修正を行う。
【０１３６】
＜６．３：ダイナミックリンクを用いた検索＞
検索手段４０は、リンク格納手段５０内のリンク集合体を構成するリンク（スタティックリンク）を用いた検索だけでなく、必要に応じて、一時的に発生させた別なリンク（ダイナミックリンク）を用いた検索を行う機能を有する（§３あるいは§４．７参照）。すなわち、着目ノードとの間が既存のスタティックリンクによって完全に連結されているノードについては、この既存のスタティックリンクを用いた検索を行い、着目ノードとの間が既存のスタティックリンクによって完全には連結されておらず、不連結部分が存在するノードについては、不連結部分のノード間についての関連性を評価し、評価結果が所定の条件を満たす場合には、不連結部分に一時的にダイナミックリンクを定義し、スタティックリンクおよびダイナミックリンクの双方を用いた検索を行う。
【０１３７】
不連結部分のノード間の関連性の評価は、個々のノードに定義されたキーワードの関連の度合いに基づいて決定される。たとえば、第１のノードと第２のノードとの間にはスタティックリンクが定義されておらず、不連結部分を構成していた場合、第１のノードに定義されている第１のキーワードと、第２のノードに定義されている第２のキーワードとの関連の度合い（たとえば、文字列の一致度）が評価され、評価結果が所定の条件を満たす場合（たとえば、相互の文字列が所定の割合以上で一致していた場合）に、両ノード間に一時的なダイナミックリンクが定義され、このダイナミックリンクを介しての信号伝達処理が行われる。なお、この一時的に定義するダイナミックリンクについての信号伝達係数は、キーワードの関連性の評価結果に基づいて決定すればよい。たとえば、両キーワードの文字列の一致度が高ければ高いほど、大きな信号伝達係数が定義されることになる。また、各ノードに、複数の等価キーワードを定義しておくようにし、いずれの等価キーワードも評価対象となるようにしておけば、より柔軟な関連性評価が可能になる。
【０１３８】
学習手段９０による学習処理を行う際には、リンク格納手段５０内に格納されているリンク集合体を構成する既存のスタティックリンクと、一時的に発生させたダイナミックリンクとでは、それぞれ別個の取り扱いがなされる。すなわち、スタティックリンクに関する学習は上述したとおりであるが、ダイナミックリンクについては、当該ダイナミックリンクを用いた検索によって抽出された関連ノードが、候補採択手段によって採択された場合には、当該ダイナミックリンクがスタティックリンクとしてリンク集合体に追加され、新たな構成要素となるような修正が行われる。この際、当該ダイナミックリンクに対して定義されていた信号伝達係数を増加修正し、修正後の信号伝達係数が、昇格したスタティックリンクの信号伝達係数として与えられることになる。一方、当該ダイナミックリンクを用いた検索によって抽出された関連ノードが、候補採択手段によって採択されなかった場合には、当該ダイナミックリンクはそのまま消滅させられる。
【０１３９】
＜６．４：クラスリンクの定義＞
分散型データベースシステムとして利用する場合には、§４．１で述べたように、各ノードがいずれかのクラスに所属するように、個々のノードを複数のクラスに分類し、各クラス間の関連の程度を示すクラスリンクを定義するのが好ましい。図８に示す例では、互いに異なるクラス間の関連の程度を示すリモートリンクＡＢ，ＡＣと、自己と自己との間の関連の程度を示すローカルリンクＡＡ，ＢＢと、の二種類のクラスリンクが定義されている。検索時にダイナミックリンクを定義するか否かの判断を行う際に、不連結部分のノード間の関連性を評価することになるが、この関連性の評価を行うときに、個々のノードが所属するクラス間に定義されたクラスリンクを参考にすることができる。たとえば、前述した実施形態のように、クラスリンクが存在しないクラス間には、ダイナミックリンクの定義を許可しないようにすれば、クラスリンクの定義によって、ダイナミックリンクの発生態様を制御することができるようになる。
【０１４０】
また、個々のクラスリンクに対応させてそれぞれシソーラス辞書を用意しておき、不連結部分のノード間の関連性を評価する際に、個々のノードが所属するクラス間に定義されたクラスリンクに対応するシソーラス辞書を用いて、キーワードの関連性評価を行うようにすることもできる。用意するシソーラス辞書の内容によって、キーワードの関連性の評価結果が変わってくることになり、関連性の評価方法の方向づけを定めることができる。
【０１４１】
更に、各クラスリンクにも信号伝達係数を定義しておき、検索手段が、各ノード間に信号伝達をさせる際に、ノード間に定義されたリンクの信号伝達係数と、クラス間に定義されたクラスリンクの信号伝達係数と、の双方を考慮して信号値の増減を行うようにすれば、§４．４において述べたように、信号伝達の傾向をクラスリンクによって統括的に制御することが可能になる。
【０１４２】
＜６．５：頻度係数格納手段の付加＞
図２２は、上述した図２１に示すデータベースシステムに、更に、頻度係数格納手段１１０を付加した実施形態のブロック図である。頻度係数格納手段１１０は、各ノードについての採択頻度を示す頻度係数を格納する手段である。オペレータ１００が、候補提示手段６０によって提示された候補ノードの中から、採択ノードを決定すると、学習手段９０は、採択されたノードについての頻度係数を、他のノードについての頻度係数に対して相対的に増加させる修正を行う。各ノードについての頻度係数は、ノードの重みづけを示す係数であり、オペレータ１００による採択頻度の高いノードほど、頻度係数の値が大きくなり、重みが増すことになる。このようなノードの重みづけは、信号伝達過程それ自身には影響を与えることはないが、§４．６で述べたように、候補ノードを提示する際の優先順位決定に利用される。すなわち、この実施形態における候補提示手段６０は、各候補ノードに伝達された信号の信号値と、各候補ノードについての頻度係数と、の双方に応じて各候補ノードに優先順位を定義し、この優先順位に基づいて候補ノードの提示を行う機能を有する。
【０１４３】
なお、頻度係数格納手段１１０内には、個々のオペレータごとに別個の頻度係数を格納するようにし、学習手段９０は、ノードの採択を行ったオペレータに対応する頻度係数に対して修正を行うようにする。したがって、リンクについての信号伝達係数と同様に、学習は個々のオペレータごとに別個独立して行われることになり、このシステムを利用すればするほど、各オペレータにとっての使い勝手は向上してゆくことになる。
【０１４４】
§７．  ＡＮＤ検索
本発明に係るデータベースシステムの特徴は、その特有の検索方法にある。既に述べてきたように、このデータベースシステムを利用して所望のデータを検索するには、とりあえず関連があると思われるキーワードを入力し、このキーワード（着目ノード）に対する検索処理を行うことにより、関連性のあるキーワード（候補ノード）の提示が行われることになる。オペレータは、この提示されたキーワードの中から、目的とするデータに、より関連性があると思われるキーワードを採択し、更に関連のあるキーワードを検索することができる。
【０１４５】
図２３〜図２８は、このような本発明独特の検索操作を説明する概念図である。本発明に係るデータベースシステムでは、図２３に示すようなノード集合体が定義される。図において多数の黒丸は個々のノードを示しており個々のノードには、それぞれ所定のキーワードが定義されるとともに、特定のデータが対応づけられている。利用者が探し求めている目的のデータは、このいずれかのノードに対応づけられていることになり、オペレータの行う検索操作は、目的のデータが対応づけられたノードを見付けるための操作ということになる。
【０１４６】
いま、オペレータが目的のデータに関連性があると思われるキーワードを入力し、このキーワードに対応した着目ノードＮ１を指定したとする。図２４は、ノード集合体内の１つのノードが着目ノードＮ１として指定された状態を示している。もちろん、この着目ノードＮ１が目的とするノードであった場合には、データ提供手段２０に対して提供要求（閲覧指示）を与えれば、着目ノードＮ１に対応づけられた目的のデータがデータ格納手段１０から抽出されて提示されることになる。オペレータが、検索手段４０に対して検索要求を与えると、この着目ノードＮ１に対する検索が行われ、着目ノードＮ１に対して、ある程度の関連性をもつノードからなる関連集合Ｇ１が抽出される。図２５は、このようにして検索された関連集合Ｇ１を示している。こうして検索された関連集合Ｇ１内の関連ノードは、候補提示手段６０によって、候補ノードとしてオペレータに提示される。候補ノードの提示順は、各ノードの優先順位に従うことになる。
【０１４７】
オペレータは、提示された候補ノードの中の１つを採択する。図２６は、関連集合Ｇ１内のノードＮ２を採択した状態を示す。ここで採択されたノードＮ２は、図２７に示すように、新たな着目ノードとなる。このとき、ノードＮ１からノードＮ２へ至るパス上のリンクの重みづけを増加させる学習が行われることになり、将来、再びノードＮ１を着目ノードとする検索が行われた場合、関連集団Ｇ１内のノードを候補ノードとして提示する際のノードＮ２の優先順位が向上することになる。
【０１４８】
オペレータは、必要に応じて、この新たな着目ノードＮ２に対応づけられたデータの提供要求を行い、閲覧をすることが可能である。また、この新たな着目ノードＮ２に対して、再び検索要求が行われると、ノードＮ２に対して、ある程度の関連性をもつノードからなる関連集合Ｇ２が抽出される。図２８は、このようにして検索された関連集合Ｇ２を示している。こうして検索された関連集合Ｇ２内の関連ノードは、候補提示手段６０によって、候補ノードとしてオペレータに提示される。なお、前述した学習により、ノードＮ１とノードＮ２との間のパス上のリンクは、重みづけが増加されているため、通常、関連集合Ｇ２内に元の着目ノードＮ１が含まれることになる。このように、元の着目ノードが、後の検索において再び候補ノードとして提示されることが好ましくない場合には、一連の検索操作において、過去の着目ノードについては候補ノードから外すような取捨選択機能を候補提示手段６０に付加しておけばよい。
【０１４９】
これまで述べてきた例では、候補提示手段６０は、検索手段４０によって抽出された関連ノードすべてをそのまま候補ノードとしてオペレータ１００に提示していた。しかしながら、上述したように、候補提示手段６０に取捨選択機能を設けておくと、検索手段４０によって抽出された関連ノードのうちの一部のみを候補ノードとして提示することが可能になる。本実施形態に係るデータベースシステムは、このような候補提示手段６０による取捨選択機能を利用し、以下に述べるＡＮＤ検索を行うようにしている。
【０１５０】
ここで述べるＡＮＤ検索は、データベースシステムを用いて検索操作を行ってゆく過程で、候補を徐々に絞り込んでゆく上で有効な手段である。たとえば、上述した一般的な検索操作の例の場合、図２５に示す関連集合Ｇ１と、図２８に示す関連集合Ｇ２とは、集合的には別個独立した集合であり、２回の検索操作を行ったにもかかわらず、候補の絞り込みは行われていない。候補を絞り込むための検索方法としては、通常、候補を決定するための条件を複数設定し、これらの条件の論理積を満たすような候補のみを抽出するＡＮＤ検索が行われる。ここで述べる検索手法は、この一般的なＡＮＤ検索を本発明に係るデータベースシステムの検索に適用したものである。
【０１５１】
図２９は、前述した図２１に示すデータベースシステムに、更に、母集合定義手段１２０を付加した実施形態のブロック図である。母集合定義手段１２０は、特定のノード集合体を示す母集合を定義する機能を有し、この実施形態における候補提示手段６０は、検索手段４０によって抽出された関連集合と、母集合定義手段１２０に定義されている母集合との論理積集合に所属するノードのみを候補ノードとして提示する機能を有する。また、候補提示手段６０によって、この論理積集合が候補ノードとして提示されると、母集合定義手段１２０は、この候補ノードの集合体を、新たな母集合とする再定義を行う機能を有する。
【０１５２】
以下、このＡＮＤ検索による検索操作を、具体例を挙げて説明する。いま、図３０に示すようなノード集合体の中のノードＮ１が着目ノードとして指定されている状態を考える（ノード集合体には、図２３と同様に多数のノードが含まれているが、以下の説明では、図が繁雑になるのを避けるため、各図において注目すべきノードについてのみ、黒丸で示す）。この初期状態では、ノード集合体全体を母集合Ｍ１と定義することにする。したがって、この時点では、母集合定義手段１２０には、ノード集合体全体に相当する母集合Ｍ１が定義されていることになる。
【０１５３】
ここで、この着目ノードＮ１に対して、検索要求を行うと、図３１に示すように、関連ノードの集合体が関連集合Ｇ１として抽出されることは既に述べたとおりである。検索手段４０が候補提示手段６０に対して与える関連集合Ｇ１は、このように抽出された関連ノードすべてを含むものである。これに対し、候補提示手段６０は、この関連集合Ｇ１と、母集合Ｍ１との論理積集合「（Ｇ１）ＡＮＤ（Ｍ１）」に含まれるノードだけを候補ノードとして提示する。図３１に示す例の場合、この時点における母集合Ｍ１は、ノード集合体全体であるので、候補提示手段６０は、関連集合Ｇ１に含まれる関連ノードすべてを、そのまま候補ノードとして提示することになる。すなわち、図３１にハッチングを施して示す領域内のノードが候補ノードとして提示される。
【０１５４】
こうして候補ノードの提示が行われると、母集合定義手段１２０は、この候補ノードの集合体を、新たな母集合とする再定義を行う。したがって、この場合、図３１にハッチングを施して示した関連集合Ｇ１が新たな母集合Ｍ２として定義されることになる。
【０１５５】
さて、ここで、候補ノードの中のノードＮ２が採択されたとすると、このノードＮ２が新たな着目ノードとなる。いま、オペレータがこの新たな着目ノードＮ２に対して、再び検索要求を与えたとする。しかも、「ＡＮＤ検索」のモードでの検索要求が与えられたとする（オペレータが検索手段４０に対して検索要求を与える際に、「通常検索」モードか、「ＡＮＤ検索」モードかの指定を行えるようにしておけばよい）。検索手段４０は、着目ノードＮ２に対する関連ノードをすべて含む関連集合Ｇ２を抽出する検索処理を実行する。図３２は、このようにして抽出された関連集合Ｇ２を示す。
【０１５６】
候補提示手段６０は、この関連集合Ｇ２と、母集合Ｍ２との論理積集合「（Ｇ２）ＡＮＤ（Ｍ２）」に含まれるノード（図３２にハッチングを施して示した領域に含まれるノード）だけを候補ノードとして提示する。結果的に、この時点で提示される候補ノードは、１回目の検索時の関連集合Ｇ１と２回目の検索時の関連集合Ｇ２との論理積集合に含まれるノードのみになっており、２回の検索による絞り込みが行われたことになる。このような候補ノードの提示が行われると、母集合定義手段１２０は、この候補ノードの集合体を、新たな母集合とする再定義を行う。したがって、この場合、図３２にハッチングを施して示した領域に含まれるノードの集合が新たな母集合Ｍ３として定義される（図３３）。
【０１５７】
ここで更に、候補ノードの中のノードＮ３が採択されたとすると、このノードＮ３が新たな着目ノードとなる。そして、オペレータがこの新たな着目ノードＮ３に対して、再び「ＡＮＤ検索」モードで検索要求を与えたとしよう。この場合、検索手段４０は、着目ノードＮ３に対する関連ノードをすべて含む関連集合Ｇ３を抽出する検索処理を実行する。図３４は、このようにして抽出された関連集合Ｇ３を示す。
【０１５８】
候補提示手段６０は、この関連集合Ｇ３と、母集合Ｍ３との論理積集合「（Ｇ３）ＡＮＤ（Ｍ３）」に含まれるノード（図３４にハッチングを施して示した領域に含まれるノード）だけを候補ノードとして提示する。結果的に、この時点で提示される候補ノードは、図３５に示すように、１回目の検索時の関連集合Ｇ１と、２回目の検索時の関連集合Ｇ２と、３回目の検索時の関連集合Ｇ３との論理積集合に含まれるノードのみになっており、３回の検索による絞り込みが行われたことになる。このような候補ノードの提示が行われると、母集合定義手段１２０は、この候補ノードの集合体を、新たな母集合とする再定義を行う。したがって、この場合、図３５にハッチングを施して示した領域に含まれるノードの集合が新たな母集合Ｍ４として定義される。
【０１５９】
このようなＡＮＤ検索は、本実施形態に係るデータベースシステムを利用して絞り込みを行う場合に非常に有効である。たとえば、第１回目の検索時に、「高血圧」なるキーワードが定義されたノードを着目ノードとする検索を行い、その結果、候補ノードを示すキーワードとして、「血圧異常」、「動脈硬化」、「高血圧性網膜症」、…などが候補として提示されたとする。ここで、「動脈硬化」なるキーワードが定義されたノードを採択して新たな着目ノードとし、第２回目の検索を「ＡＮＤ検索」のモードで行えば、「高血圧」なるキーワードと、「動脈硬化」なるキーワードとの双方に関連した新たなキーワードが候補として提示されることになる。このように、ＡＮＤ検索を利用すれば、候補を次第に絞り込んでゆくことができ、目的のデータを探し出すための有効な検索手法として活用することが可能である。
【０１６０】
§８．  負の検索処理
これまで述べてきた検索処理は、「あるキーワードに関連した事項」を見つける検索処理であり、たとえば、「高血圧」なるキーワードが定義されたノードを着目ノードとした検索を行えば、「血圧異常」、「動脈硬化」、「高血圧性網膜症」、…などのキーワードが定義された関連ノードが見つけられる。このような検索処理を「正の検索処理」と呼ぶことにすれば、ここで説明する検索処理は、「あるキーワードに関連しない事項」を見つける検索処理であり、「負の検索処理」と呼ぶべきものである。
【０１６１】
＜８．１：負の検索処理の基本概念＞
既に述べたように、図２３に示すノード集合体の中から、図２４に示すように着目ノードＮ１を指定し、正の検索処理を実行すると、この着目ノードＮ１に対して関連性をもつノードからなる関連集合Ｇ１が抽出され、この関連集合Ｇ１内のノードが候補ノード（白抜きのノード点で示す）として提示される。したがって、提示された候補ノードは、「着目ノードＮ１に関連したノード」ということになる。これに対して、図３６に示すように、関連集合Ｇ１の補集合Ｇ１＊を候補ノード（白抜きのノード点で示す）として提示すれば、提示されたノードは、「着目ノードＮ１に関連しないノード」ということになる。これらのノードは、「関連しない」という特徴を「関連性」のひとつと考えれば、「関連しないという関連性をもつノード」ということになる。そこで、ここでは、いわゆる「一般的な意味での関連性」を「正の関連」と呼び、「関連しないという関連性」を「負の関連」と呼ぶことにする。したがって、図２５において白抜きのノード点で示されたノードは、着目ノードＮ１に対して「正の関連」を有する「正の関連ノード」であり、関連集合Ｇ１は「正の関連集合」ということになる。これに対し、図３６において白抜きのノード点で示されたノードは、着目ノードＮ１に対して「負の関連」を有する「負の関連ノード」であり、関連集合Ｇ１＊は「負の関連集合」ということになる。
【０１６２】
図２１，図２２，図２９に示す検索手段４０はいずれも、「正の関連集合」を抽出する「正の検索処理」と「負の関連集合」を抽出する「負の検索処理」との２通りの検索処理を行う機能を有している。このような「負の検索処理」は、特に、§７で述べたＡＮＤ検索と組み合わせると効果的である。ここでは、前述のＡＮＤ検索で述べた具体例に、「負の検索処理」を組み合わせてみよう。
【０１６３】
まず、図３０に示すようなノード集合体の中のノードＮ１を着目ノードに指定し、第１回目の検索として「正の検索処理」を行うと、図３１に示すような「正の関連集合Ｇ１」が抽出され、候補ノードとして提示される。更に、この候補ノードの中からノードＮ２を採択し、この採択ノードＮ２を新たな着目ノードに指定し、第２回目の検索として「ＡＮＤ検索」のモードで「正の検索処理」を行うと、図３２に示すように、「正の関連集合Ｇ２」が抽出され、母集合Ｍ２との論理積部分（ハッチング部分）が候補ノードとして提示される。続いて、図３３に示すように、この候補ノードの中からノードＮ３を採択し、この採択ノードＮ２を新たな着目ノードに指定し、第３回目の検索として、再び「ＡＮＤ検索」のモードで「正の検索処理」を行うと、図３４に示すように、「正の関連集合Ｇ３」が抽出され、母集合Ｍ３との論理積部分（図３４のハッチング部分）が候補ノードとして提示される。このような３回の検索処理により、図３５に示すように、「（Ｇ１）ＡＮＤ（Ｇ２）ＡＮＤ（Ｇ３）」なる論理積集合に含まれるノードが候補ノードとして提示されることは既に述べたとおりである。
【０１６４】
ところが、図３３に示す状態において、ノードＮ３を新たな着目ノードとして採択し、この新たな着目ノードＮ３について、第３回目の検索として、「ＡＮＤ検索」のモードで「負の検索処理」を行えば、図３７に示すように、「負の関連集合Ｇ３＊」が抽出され、母集合Ｍ３と負の関連集合Ｇ３＊との論理積部分（図３７のハッチング部分）が候補ノードとして提示されることになる。結局、このような３回の検索処理により、図３８に示すように、「（Ｇ１）ＡＮＤ（Ｇ２）ＡＮＤ（Ｇ３＊）」なる論理積集合に含まれるノードが候補ノードとして提示されることになる。
【０１６５】
このような「負の検索処理」を組み合わせたＡＮＤ検索は、柔軟な絞り込み検索を行う場合に非常に有効である。たとえば、何らかの循環器疾患をもつ患者に対して、過去の類似症例データを検索する場合を考えよう。まず、「循環器疾患」なるキーワードが定義されたノードを着目ノードとして、第１回目の検索を「正の検索処理」で行い、いくつかの候補ノードが提示されたとする。ここでは、当該患者の血圧が高かったため、この候補の中から、「高血圧」なるキーワードが定義されたノードを採択し、第２回目の検索として、「ＡＮＤ検索」のモードで「正の検索処理」を行ったとしよう。その結果、候補ノードを示すキーワードとして、「血圧異常」、「動脈硬化」、「高血圧性網膜症」、…などが候補として提示されたとする。ここで、当該患者には「動脈硬化」という症状は見られなかったとすると、第３回目の検索としては、「動脈硬化」なるキーワードが定義されたノードを採択し、この「動脈硬化」なるキーワードが定義されたノードを着目ノードに指定し、「ＡＮＤ検索」のモードで「負の検索処理」を行えばよい。すると、この第３回目の検索結果として提示される候補ノードは、「動脈硬化」なるキーワードに関連のない（負の関連をもつ）ノードに絞り込まれることになる。
【０１６６】
本実施形態に係るシステムでは、検索手段４０に対して検索要求を与えるときに、「通常検索」のモード（抽出された関連集合に所属する関連ノードをそのまま候補ノードとして提示するモード）か、「ＡＮＤ検索」のモード（前回の検索時の候補ノードを母集合とし、抽出された関連集合と母集合との論理積集合に所属するノードのみを候補ノードとして提示するモード）か、を示す第１の選択と、「正の検索処理」か「負の検索処理」かを示す第２の選択と、の２とおりの選択を行うようにし、これらの組み合わせにより、柔軟な検索処理を実現できるようにしている。
【０１６７】
＜８．２：符号を考慮したリンク定義＞
負の検索処理を行う具体的な方法のひとつとして、まず、正の検索処理を行って正の関連集合Ｇを抽出し、その補集合として、負の関連集合Ｇ＊を抽出する、という方法が考えられる。しかしながら、このような検索方法は、負の関連集合Ｇ＊を直接的に求める方法ではなく、正の関連集合Ｇを利用して間接的に求める方法に過ぎない。このような間接的な方法を採ると、リンクの重みに基づいて候補ノードについての優先順位を定義することができなくなる。
【０１６８】
前述したように、個々のリンクに信号伝達係数を定義し、着目ノードから信号伝達を行うようにし、所定レベル以上の信号値が得られたノードを関連ノードとして抽出するという手法を採れば、個々の関連ノードに信号値の大きさに基づく優先順位を定義することができ、候補ノードとしての提示を行う際に、この優先順位を考慮した提示を行うことができる。しかしながら、上述した間接的な方法により負の検索処理を行った場合、リンクの重みに基づいて負の関連ノードに優先順位を定義することはできなくなる。たとえば、図３６に示す例の場合、負の関連集合Ｇ１＊を求める際に、まず、正の関連集合Ｇ１を求め、その補集合として間接的に求める手法を採った場合を考えよう。この場合、着目ノードＮ１から信号伝達があったノードは、正の関連集合Ｇ１内のノードのみである。したがって、正の関連集合Ｇ１内のノードについては、伝達された信号の信号値に基づいて優先順位を定義することができるが、その補集合として得られた負の関連集合Ｇ１＊内のノードについては、信号伝達に基づく優先順位を定義することはできない。
【０１６９】
負の検索処理によって得られた候補ノードは、着目ノードに対して負の関連性（関連性のないという関連性）をもつノードであるが、この負の関連性についても、正の関連性と同様に定量的な取扱いができると便利である。すなわち、同じ負の関連性であっても、その程度によって区別し、より強い負の関連性を示す候補ノードを優先的に提示できた方が好ましい。このように、負の関連性を正の関連性と同様に定量的に取り扱うことができるように、本願発明者は、正リンクと負リンクとの２とおりのリンクを定義することを着想した。すなわち、正の関連性を有するノード間には正の信号伝達係数をもった正リンクを定義し、負の関連性を有するノード間には負の信号伝達係数をもった負リンクを定義するのである。
【０１７０】
図３９は、このような正リンクと負リンクとの双方を定義したノード・リンク集合体を示す概念図である。図で「＋」符号が付されたリンク（実線で示す）は、正の信号伝達係数を有する正リンクであり、図で「−」符号が付されたリンク（破線で示す）は、負の信号伝達係数を有する負リンクである。たとえば、ノードＡとノードＢとの間のリンク（以下、リンクＡＢと表現する）は正リンクであり、ノードＡとノードＢとが正の関連性（いわゆる通常の関連性）をもつノードであることを示している。これに対して、たとえばリンクＢＤは負リンクであり、ノードＢとノードＤとが負の関連性（関連がないという関連性）をもつノードであることを示している。正リンクはいずれも正の信号伝達係数を有し、負リンクはいずれも負の信号伝達係数を有している（図では、単に正負の符号のみを示してあるが、実際にはそれぞれ所定の絶対値をもった信号伝達係数が定義されている）。
【０１７１】
さて、このような正リンクと負リンクとの双方を定義したノード・リンク集合体を用いた検索処理は次のようにして行われる。まず、正の検索処理、すなわち、着目ノードに対して正の関連性を有するノードを検索する処理を行う場合には、正の信号値をもった信号を着目ノードからリンクに沿って他のノードへ伝達させ、正の信号値をもった信号が得られたノードを正の関連ノードとして抽出すればよい。図４０は、着目ノードＢについて、信号伝達をホップ数Ｈ＝１に限定した正の検索処理を行った状態を示す概念図である。各ノードに括弧書きで付した符号は、各ノードに得られる信号の信号値の符号を示しており、「０」なる符号が付されたノードは、信号伝達がなかったノードを示している。また、太線の矢印は、信号伝達経路を示すものであり、実線の矢印は正リンクに沿った信号伝達経路、破線の矢印は負リンクに沿った信号伝達経路を示している。
【０１７２】
正リンクＢＡ，ＢＥ，ＢＪは正の信号伝達係数を有するので、着目ノードＢに正の信号値をもった信号を与えると、ノードＡ，Ｅ，Ｊには、いずれにも正の信号値をもった信号が伝達されることになる。これに対して、負リンクＢＤ，ＢＧは負の信号伝達係数を有するので、着目ノードＢに正の信号値をもった信号を与えると、ノードＤ，Ｇには、いずれにも負の信号値をもった信号が伝達されることになる。それ以外のノードＣ，Ｆ，Ｈ，Ｉ，Ｋには、ホップ数Ｈ＝１という条件では信号伝達は行われない。ここで、正の信号値をもった信号が得られたノードＡ，Ｅ，Ｊを正の関連ノードとして抽出し、これらを候補ノードとして提示すれば、正の検索処理が実行されたことになる。なお、実際には、着目ノードＢに与えた信号の信号値に、各ノードのもつ信号伝達係数が乗ぜられるので、信号は減衰することになり、所定レベル以上の信号値が得られなかったノードについては、信号伝達がなかったものとして取り扱われる。ただ、ここでは、説明の便宜上、このような信号減衰については考慮しないことにする。
【０１７３】
このように、負リンクなるものを定義したとしても、着目ノードに正の信号値をもった信号を与え、正の信号値をもった信号が得られたノードのみを抽出するようにすれば、正の検索処理には何ら支障は生じない。すなわち、負リンクで結ばれたノードが候補ノードとして抽出されることはない。そして、この正の検索処理によって提示された候補ノードの中から１つのノードを採択すれば、学習が行われる点は既に述べたとおりである。たとえば、図４０に示す例において、候補ノードＪが採択されたとすれば、図２０の流れ図に示すとおり、学習対象パス（リンクＢＡ，ＢＥ，ＢＪ）のうち、採択ノードＪへ至るリンクＢＪの信号伝達係数を増加させ、それ以外のリンクＢＡ，ＢＥの信号伝達係数を減少させる学習が行われるとともに、採択ノードＪの頻度係数を増加させ、それ以外の候補ノードＡ，Ｅの頻度係数を減少させる学習が行われることになる。
【０１７４】
なお、信号伝達のためのホップ数Ｈを２以上にした場合も、上述の例と同様に、信号伝達係数の符号を考慮した乗算を行うようにすればよい。図４１は、着目ノードＢについて、信号伝達をホップ数Ｈ＝２に限定した正の検索処理を行った状態の一部（ノードＢ→Ａ→Ｆなるパスと、ノードＢ→Ｄ→Ｋなるパスと、ノードＢ→Ｇ→Ｈなるパスと、の３通りのみ例示し、他のパスについては省略してある）を示す概念図である。正リンクＢＡを介した信号伝達によりノードＡには正の信号が得られ、この正の信号が更に正リンクＡＦを介してノードＦに伝達されるため、ノードＦにも正の信号が得られている。一方、負リンクＢＤを介した信号伝達によりノードＤには負の信号が得られ、この負の信号が更に正リンクＤＫを介してノードＫに伝達されるため、ノードＫにも負の信号が得られている。これに対し、負リンクＢＧを介した信号伝達によりノードＧには負の信号が得られるが、この負の信号が更に負リンクＧＨを介してノードＨに伝達されるため、ノードＨには正の信号が得られている。このように、ホップ数Ｈが２以上の場合、負リンクを偶数回通って信号伝達が行われたノードには、正の信号が得られることになり、正の関連ノードとして抽出されることになる。結局、図４１に示す例では、ノードＡ，Ｆの他、ノードＨも正の関連ノードとして抽出されることになる。これは、ノードＨが、「着目ノードＢに対して負の関連性をもっているノードＧ」に対して負の関連性をもっているためであり、いわば「関連性のないノードに対して関連性がない」という二重否定の原理により、ノードＨが着目ノードＢに対して関連性を有すると期待されるためである。
【０１７５】
続いて、負の検索処理、すなわち、着目ノードに対して負の関連性を有するノードを検索する場合を考える。この場合は、負の信号値をもった信号を着目ノードからリンクに沿って他のノードへ伝達させ、正の信号値をもった信号が得られたノードおよび信号伝達のなかったノードを負の関連ノードとして抽出すればよい。図４２は、着目ノードＢについて、信号伝達をホップ数Ｈ＝１に限定した負の検索処理を行った状態を示す概念図である。
【０１７６】
正リンクＢＡ，ＢＥ，ＢＪは正の信号伝達係数を有するので、着目ノードＢに負の信号値をもった信号を与えると、ノードＡ，Ｅ，Ｊには、いずれにも負の信号値をもった信号が伝達されることになる。これに対して、負リンクＢＤ，ＢＧは負の信号伝達係数を有するので、着目ノードＢに負の信号値をもった信号を与えると、ノードＤ，Ｇには、いずれにも正の信号値をもった信号が伝達されることになる。それ以外のノードＣ，Ｆ，Ｈ，Ｉ，Ｋには、ホップ数Ｈ＝１という条件では信号伝達は行われない。ここで、正の信号値をもった信号が得られたノードＡ，Ｅ，Ｊと、信号伝達のなかったノードＣ，Ｆ，Ｈ，Ｉ，Ｋとを、負の関連ノードとして抽出し、これらを候補ノードとして提示すれば、負の検索処理が実行されたことになる。図４０に白抜きのノード点で示された各ノード（正の検索処理により得られた候補ノード）の集合と、図４２に白抜きのノード点で示された各ノード（負の検索処理により得られた候補ノード）の集合と、を比較すれば、両者が補集合の関係にあることがわかる。
【０１７７】
このように、負リンクなるものを定義し、着目ノードに負の信号値をもった信号を与え、正の信号値をもった信号が得られたノードおよび信号伝達のなかったノードを抽出するようにすれば、正の検索処理によって得られるノード集合（正の関連集合）の補集合（負の関連集合）が得られることがわかる。これは、ホップ数Ｈを２以上にした場合も全く同様である。
【０１７８】
ここで重要な点は、このような手法による負の検索処理は、負の関連集合を直接的に求めているという点である。たとえば、図４２の例の場合、候補ノードとして抽出されたノードＤ，Ｇには、実際に信号伝達が行われており、ノードＤ，Ｇについてはそれぞれ所定の信号値が得られることになる。それ以外の候補ノードＣ，Ｆ，Ｈ，Ｉ，Ｋには、信号伝達がなかったため信号値は零になるが、いずれにせよ、負の関連集合として抽出された候補ノードには、信号値に基づいて優先順位を定義することが可能になる。たとえば、図４２において、負リンクＢＤの信号伝達係数の絶対値が、負リンクＢＧの信号伝達係数の絶対値よりも大きければ、ノードＤに得られる信号値はノードＧに得られる信号値よりも大きくなり、結局、候補ノードの第１順位にはノードＤ、第２順位にはノードＧ、第３順位にはノードＣ，Ｆ，Ｈ，Ｉ，Ｋという優先順位を定義することができる。もちろん、§４．６で述べたように、各ノードに頻度係数を定義するようにすれば、更に、この頻度係数を考慮に入れた優先順位の定義も可能である。
【０１７９】
以上のように、符号を考慮したリンク定義を行っておけば、着目ノードに与える信号の信号値を正にすれば正の検索処理を行うことができ、負にすれば負の検索処理を行うことができるようになる。
【０１８０】
＜８．３：負の検索処理による学習＞
図２１，図２２，図２９に示すシステムは、学習手段９０を有しており、オペレータが候補ノードの中から新たな着目ノードを採択する行為を行うことにより、リンク格納手段５０内のリンク集合体に対する学習処理が行われることは既に述べたとおりである。また、図２２に示すシステムでは、頻度係数格納手段１１０内に個々のノードの採択頻度が格納されており、オペレータの採択行為により、この採択頻度に対する学習処理が行われることも既に述べたとおりである。
【０１８１】
このように、正の検索処理に基づいて採択が行われた場合の学習処理の手順は、図２０の流れ図に示したとおりであるが、負の検索処理に基づいて採択が行われた場合も、基本的には、この図２０の流れ図に示す学習手順を共通して適用することができる。たとえば、図４２に示す負の検索処理において、候補ノードの中から、ノードＤが新たな着目ノードとして採択された場合を考えよう。この場合、図２０の流れ図に示すとおり、学習対象パス（関連ノードを抽出するための有効な信号伝達のあったパス、すなわち、リンクＢＤ，ＢＧ）のうち、採択ノードＤへ至るリンクＢＤの信号伝達係数を増加させ（符号は負のままで絶対値を増加させる）、それ以外のリンクＢＧの信号伝達係数を減少させる（符号は負のままで絶対値を減少させる）学習が行われるとともに、採択ノードＤの頻度係数を増加させ、それ以外の学習対象パス上のノードＧの頻度係数を減少させる学習が行われる。
【０１８２】
ただ、正の検索処理と負の検索処理とでは、（正または負の）関連ノードとして抽出されるノードに相違がある。すなわち、正の検索処理によって抽出される正の関連ノードは、いずれも有効な信号伝達のあったパス（学習対象パス）上のノード（図４０に示す例では、ノードＡ，Ｅ，Ｊ）であるのに対し、負の検索処理によって抽出される負の関連ノードは、有効な信号伝達のあったパス（学習対象パス）上のノード（図４２に示す例では、ノードＤ，Ｇ）だけでなく、信号伝達のなかったノード（図４２に示す例では、ノードＣ，Ｆ，Ｈ，Ｉ，Ｋ）も含まれることになる。したがって、頻度係数についての学習を行う際には、信号伝達のなかったノードも学習対象に加えるようにするのが好ましい。したがって、図４２において、ノードＤが採択された場合、採択ノードＤの頻度係数を増加させるとともに、採択に漏れた残りの全候補ノードＧ，Ｃ，Ｆ，Ｈ，Ｉ，Ｋの頻度係数を減少させる学習処理が行われることになる。もちろん、信号伝達のなかったノードが採択された場合にも、この採択ノードの頻度係数を増加させ、採択に漏れた残りの全候補ノードの頻度係数を減少させる学習処理を行うようにすればよい。たとえば、図４２において、ノードＩが採択された場合は、採択ノードＩの頻度係数を増加させるとともに、採択に漏れた残りの全候補ノードＣ，Ｄ，Ｇ，Ｆ，Ｈ，Ｉ，Ｋの頻度係数を減少させる学習を行えばよい。
【０１８３】
本実施形態では、負の検索処理の結果、信号伝達のなかったノードが採択された場合には、新たな負リンクの定義という付加的な学習処理を実行するようにしている。たとえば、図４２において、ノードＩが採択された場合を考える。図４２に示す状態では、着目ノードＢと採択ノードＩとの間には、直接的なリンクは存在しない。この例で、ノードＩが着目ノードＢに対する候補ノードとして提示された理由は、ホップ数Ｈ＝１という所定の条件の下では、ノードＩに信号が伝達されなかったためであり、着目ノードＢとノードＩとの間に、積極的な負リンクが定義されていたためではない。しかしながら、「着目ノードＢについての負の検索処理を行った結果、オペレータにより、ノードＩが採択された」という事実は、このオペレータが、着目ノードＢと採択ノードＩとの間に負の関連性を認識していることを示している。既に述べたように、図４２に示す状態では、候補ノードとしての優先順位は、ノードＤ，Ｇの方がノードＩよりも高い。ところが、オペレータが優先順位の高いノードＤ，Ｇを採択せずに、敢えてノードＩを採択したことにより、将来、ノードＢを着目ノードとする負の検索が再び行われた場合に、ノードＩの優先順位を昇格させて提示するのが好ましい。
【０１８４】
このような観点から、負の検索処理において、信号伝達がなかったノードが採択された場合には、学習手段９０によって、着目ノードと採択ノードとの間に、負の関連を示す負リンクを新たに定義し、この負リンクをリンク格納手段５０内のリンク集合体に追加する処理を行うようにしている。
【０１８５】
たとえば、図４２に示す状態において、信号伝達がなかったノードＩが新たな着目ノードとして採択された場合には、図４３に示すように、着目ノードＢと採択ノードＩとの間には、オペレータによって負の関連が示されたことになる。そこで、図４４に示すように、着目ノードＢと採択ノードＩとの間に、新たに負リンクＢＩを定義するのである。この負リンクＢＩには負の信号伝達係数が定義されることになるが、その絶対値については、たとえば「７０％にする」というように予め設定しておけばよい。
【０１８６】
図４５は、図４４に示すような学習処理が行われた後に、再び、ノードＢを着目ノードとする負の検索処理が行われた状態を示す概念図である。図４２に示す概念図と比べると、図４５の学習後の検索処理では、新たに負リンクＢＩを介した信号伝達が付加されることになり、ノードＩには正の信号値が得られるようになっていることがわかる。別言すれば、候補ノードＩの優先順位が、図４２に示す検索処理に比べて向上していることになる。ここで、オペレータが再び候補ノードＩを採択した場合、図２０の流れ図に示す学習処理により、着目ノードＢから採択ノードＩへのパス上の負リンクＢＩの信号伝達係数の絶対値を増加させる学習が行われることになる（図４６では、「−−」なる符号で、この学習結果が示されている）。このような再学習により、負のＢＩの信号伝達係数の絶対値が向上し、将来、再びノードＢを着目ノードとする負の検索処理が実行された場合、候補ノードＩの優先順位は更に昇格し、オペレータに優先的に提示されるようになる。
【０１８７】
図４７および図４８は、前述したＡＮＤ検索との組み合わせ例における上述の学習処理を示す図である。すなわち、前述したＡＮＤ検索との組み合わせにより、図３７にハッチングで示されている領域内のノードが候補ノードとして提示され、これらの候補ノードの中から、図４７に示すように、ノードＮ４を採択したとする。この場合、ノードＮ３を着目ノードとする負の検索処理により、採択ノードＮ４が得られたことになるので、オペレータは、着目ノードＮ３と採択ノードＮ４との間に負の関連があると認識したことになる。ここで、採択ノードＮ４が信号伝達のなかったノードとして候補にあがったノードであった場合には、図４８に示すように、着目ノードＮ３と採択ノードＮ４との間に新たに負のノードが定義されることになる。
【０１８８】
§９．  リンクの再構成
本実施形態に係るデータベースシステムの特徴のひとつは、学習手段９０により、リンク格納手段５０内のリンク集合体が学習される点である。ただ、これまで述べた学習手段９０による学習は、各スタティックリンクに与えられた信号伝達係数を増減する修正によるものであった。もちろん、§３，§４．７，§６．３で述べたように、ダイナミックリンクを定義し、これをスタティックリンクに昇格させてリンク構造体の新たなメンバーとして追加するという処理や、§８．３で述べたように、負の検索処理を行った際に新たな負リンクを追加するという処理によっても、リンク集合体の学習は行われるが、これまでの実施形態では、一度定義されたスタティックリンクを整理したり統合したりするリンクの再構成については触れられていない。ここでは、付随的な学習処理として、既存のスタティックリンクの整理統合処理を行う機能をもったデータベースシステムを説明する。
【０１８９】
図４９は、前述した図２１に示すデータベースシステムに、更に、リンク再構成手段１３０を付加した実施形態のブロック図である。リンク再構成手段１３０は、学習手段９０が行った信号伝達係数に対する修正に基づいて、リンク格納手段５０内のリンク集合体に対して、既存のリンクの削除や新たなリンクの追加などのリンク再構成処理を行う機能を有する。ここでは、２とおりの具体的なリンク再構成処理を以下に例示する。
【０１９０】
＜９．１：リンク再構成処理の第１の例＞
いま、たとえば、図５０の左欄に示すように、３つのノードＮ１，Ｎ２，Ｎ３について、ノードＮ１−Ｎ２間の負リンクＬ１の信号伝達係数が「所定の基準」以上であり、ノードＮ２−Ｎ３間の負リンクＬ２の信号伝達係数が「所定の基準」以上であり、かつ、両リンクＬ１，Ｌ２に挟まれた中間ノードＮ２の頻度係数が「所定の基準」以下であったとする。この場合、負リンクＬ１，Ｌ２は、オペレータの過去の採択行為に頻繁に関与していたと考えられるが、中間ノードＮ２自身は、採択されることが少なかったことになる。別言すれば、中間ノードＮ２は、ノードＮ１からノードＮ３へ至る頻繁に利用されるパスにおいて、単なる通過ノードとしての役割しか果たしていないことになる。このような場合、図５０の右欄に示すように、負リンクＬ１，Ｌ２を削除し、新たにノードＮ１−Ｎ３間にバイパス用の正リンクＬ３を定義すればよい。この場合、新たに定義した正リンクＬ３の信号伝達係数として、負リンクＬ１の信号伝達係数と負リンクＬ２の信号伝達係数との積を与えるようにすれば（負の係数同士の積であるので、当然、正の係数になる）、ノードＮ１−Ｎ３間の信号伝達による信号値の減衰は、リンクの再構成を行う前の状態と同じに維持できる。また、ノードＮ３は、「ノードＮ１に対して負の関連性をもっているノードＮ２」に対して負の関連性をもっているノードであるので、ノードＮ１に対して正の関連性をもっているノードであると期待でき、正リンクＬ３によって、ノードＮ１−Ｎ３間を直接接続することは適切である。
【０１９１】
結局、特定のノードＮ２について、当該ノードＮ２についての頻度係数が「所定の基準」以下であり、当該ノードＮ２と別な第１のノードＮ１との間の信号伝達係数が「所定の基準」以上である第１の負リンクＬ１が存在し、かつ、当該ノードＮ２と別な第２のノードＮ３との間の信号伝達係数が「所定の基準」以上である第２の負リンクＬ２が存在する場合には、第１の負リンクＬ１および第２の負リンクＬ２を削除するとともに、第１のノードＮ１と第２のノードＮ３との間に新たな正リンクＬ３を追加するリンク再構成を行うようにすればよい。
【０１９２】
なお、このようなリンク再構成を行うか否かの判断基準となる「所定の基準」としては、予め固有の基準値を設定しておけばよい。あるいは、固有の基準値を設定する代わりに、信号伝達係数と頻度係数との相対的な大きさを比較するようにしてもよい。たとえば、図５０に示す例の場合、負リンクＬ１の信号伝達係数がノードＮ２の頻度係数の２倍以上で、かつ、負リンクＬ２の信号伝達係数がノードＮ２の頻度係数の２倍以上である場合には、上述のようなリンク再構成を行う、というような取決めを行うことも可能である。この場合、ノードＮ２の頻度係数についての「所定の基準」は、負リンクＬ１，Ｌ２の信号伝達係数値ということになり、逆に、負リンクＬ１，Ｌ２の信号伝達係数についての「所定の基準」は、ノードＮ２の頻度係数値ということになる。
【０１９３】
＜９．２：リンク再構成処理の第２の例＞
いま、たとえば、図５１の左欄に示すように、３つのノードＮ１，Ｎ２，Ｎ３について、ノードＮ１−Ｎ２間の負リンクＬ１の信号伝達係数が「所定の基準」以上であり、ノードＮ２−Ｎ３間の正リンクＬ２の信号伝達係数が「所定の基準」以上であり、かつ、両リンクＬ１，Ｌ２に挟まれた中間ノードＮ２の頻度係数が「所定の基準」以下であったとする。この場合、負リンクＬ１および正リンクＬ２は、オペレータの過去の採択行為に頻繁に関与していたと考えられるが、中間ノードＮ２自身は、採択されることが少なかったことになる。別言すれば、中間ノードＮ２は、ノードＮ１からノードＮ３へ至る頻繁に利用されるパスにおいて、単なる通過ノードとしての役割しか果たしていないことになる。このような場合、図５１の右欄に示すように、負リンクＬ１および正リンクＬ２を削除し、新たにノードＮ１−Ｎ３間にバイパス用の負リンクＬ３を定義すればよい。この場合、新たに定義した負リンクＬ３の信号伝達係数として、負リンクＬ１の信号伝達係数と正リンクＬ２の信号伝達係数との積を与えるようにすれば（正の係数と負の係数との積であるので、当然、負の係数になる）、ノードＮ１−Ｎ３間の信号伝達による信号値の減衰は、リンクの再構成を行う前の状態と同じに維持できる。また、ノードＮ３は、「ノードＮ１に対して負の関連性をもっているノードＮ２」に対して正の関連性をもっているノードであるので、ノードＮ１に対して負の関連性をもっているノードであると期待でき、負リンクＬ３によって、ノードＮ１−Ｎ３間を直接接続することは適切である。
【０１９４】
結局、特定のノードＮ２について、当該ノードＮ２についての頻度係数が「所定の基準」以下であり、当該ノードＮ２と別な第１のノードＮ１との間の信号伝達係数が「所定の基準」以上である負リンクＬ１が存在し、かつ、当該ノードＮ２と別な第２のノードＮ３との間の信号伝達係数が「所定の基準」以上である正リンクＬ２が存在する場合には、負リンクＬ１および正リンクＬ２を削除するとともに、第１のノードＮ１と第２のノードＮ３との間に新たな負リンクＬ３を追加するリンク再構成を行うようにすればよい。
【０１９５】
なお、このようなリンク再構成を行うか否かの判断基準となる「所定の基準」としては、予め固有の基準値を設定しておけばよい。あるいは、固有の基準値を設定する代わりに、信号伝達係数と頻度係数との相対的な大きさを比較するようにしてもよい。たとえば、図５１に示す例の場合、負リンクＬ１の信号伝達係数がノードＮ２の頻度係数の２倍以上で、かつ、正リンクＬ２の信号伝達係数がノードＮ２の頻度係数の２倍以上である場合には、上述のようなリンク再構成を行う、というような取決めを行うことも可能である。この場合、ノードＮ２の頻度係数についての「所定の基準」は、負リンクＬ１および正リンクＬ２の信号伝達係数値ということになり、逆に、負リンクＬ１および正リンクＬ２の信号伝達係数についての「所定の基準」は、ノードＮ２の頻度係数値ということになる。
【０１９６】
＜９．３：リンク再構成処理の具体例＞
最後に、図３９に示すリンク集合体に対して、上述したリンク再構成処理を具体的に実施した例を示しておく。たとえば、図３９において、負リンクＢＧの信号伝達係数の絶対値および負リンクＧＨの信号伝達係数の絶対値と、ノードＧの頻度係数とを比較した場合に、前者が後者の２倍以上であると判断されたとしよう。この場合、負リンクＢＧおよび負リンクＧＨはノードの採択に比較的頻繁に利用されているのにもかかわらず、ノードＧの採択頻度は低いので、ノードＧは単なる通過ノードとしての役割しか果たしていないと考えられる。このような場合は、負リンクＢＧおよび負リンクＧＨを削除し、図５２に示すように、新たにノードＢ−Ｈ間に正リンクＢＨを定義すればよい。正リンクＢＨの信号伝達係数は、削除した負リンクＢＧの信号伝達係数と削除した負リンクＧＨの信号伝達係数との積とすればよい。
【０１９７】
また、図３９において、負リンクＨＧの信号伝達係数の絶対値および正リンクＧＪの信号伝達係数の絶対値と、ノードＧの頻度係数とを比較した場合に、前者が後者の２倍以上であると判断されたとしよう。この場合、負リンクＨＧおよび正リンクＧＪはノードの採択に比較的頻繁に利用されているのにもかかわらず、ノードＧの採択頻度は低いので、ノードＧは単なる通過ノードとしての役割しか果たしていないと考えられる。このような場合は、負リンクＨＧおよび正リンクＧＪを削除し、図５３に示すように、新たにノードＨ−Ｊ間に負リンクＨＪを定義すればよい。負リンクＨＪの信号伝達係数は、削除した負リンクＨＧの信号伝達係数と削除した正リンクＧＪの信号伝達係数との積とすればよい。
【０１９８】
§１０．  敗者復活型ＡＮＤ検索
これまで、本発明の一実施形態に係るデータベースシステムの種々の機能を述べてきたが、本発明の本質は、このようなデータベースシステムに、以下に述べる「敗者復活型ＡＮＤ検索」という機能を付加した点にある。
【０１９９】
＜１０．１：敗者復活型ＡＮＤ検索の基本概念＞
ここで述べる「敗者復活型ＡＮＤ検索」は、§７で述べた「ＡＮＤ検索」を発展させたものである。いま、図５４に示すようなノード集合体の中の目的とするノード（目的とするデータが対応づけられたノード）がノードＮ０であったとし、オペレータが、この目的とするノードＮ０を検索するために、ノードＮ１を最初の着目ノードとして指定したものとしよう（具体的には、ノードＮ１に定義されたキーワードを指定することになる）。ここで、この最初の着目ノードＮ１について、第１回目の検索を行った結果、図５５に示すような関連集合Ｇ１が検索され、この関連集合Ｇ１内のノードが候補ノードとして提示されたとする。この場合、目的とするノードＮ０は、関連集合Ｇ１から漏れていることになる。オペレータは、目的とするノードＮ０を見つけるために適当と思われるキーワードを入力して、最初の着目ノードＮ１を指定したわけであるが、図５５に示す検索結果は、このオペレータの期待に反する結果となっている。既に述べたように、このノード集合体を構成するノード間の関連性を示すリンクは、このシステムの管理者によって第一義的に定義されたものであるため、必ずしも個々の利用者の期待どおりのものにはなっていない。したがって、図５５に示す例のように、本来、ノードＮ０を見つけ出す目的で着目ノードＮ１を指定したのにもかかわらず、目的のノードＮ０が検索から漏れてしまうという事態も起こり得る。
【０２００】
このように、第１回目の検索によって目的のノードＮ０が漏れてしまうと、以後、一連の繰り返し検索を§７で述べた「ＡＮＤ検索」のモードで実施しても、目的のノードＮ０が候補ノードとして提示されることはない。すなわち、図５５に示す関連集合Ｇ１は、新たに母集合Ｍ２となるが、ノードＮ０はこの母集合Ｍ２には属していないため、母集合Ｍ２内のノードＮ２を新たな着目ノードとして採択して第２回目の検索を行い、図５６に示すように、ノードＮ０を含む関連集合Ｇ２が得られたとしても、この第２回目の検索において候補ノードとして提示されるのは、図５６にハッチングを施して示す「（Ｍ２）ＡＮＤ（Ｇ２）」の部分となってしまう。このハッチング部分は、図５７に示すように、新たな母集合Ｍ３となる。更に、母集合Ｍ３内のノードＮ３を新たな着目ノードとして採択して第３回目の検索を行い、図５８に示すように、ノードＮ０を含む関連集合Ｇ３が得られたとしても、この第３回目の検索において候補ノードとして提示されるのは、図５８にハッチングを施して示す「（Ｍ３）ＡＮＤ（Ｇ３）」の部分となってしまう。このハッチング部分は、図５９に示すように、新たな母集合Ｍ４となる。更に続けて、母集合Ｍ４内のノードＮ４を新たな着目ノードとして採択して第４回目の検索を行い、図６０に示すように、ノードＮ０を含む関連集合Ｇ４が得られたとしても、この第４回目の検索において候補ノードとして提示されるのは、図６０にハッチングを施して示す「（Ｍ４）ＡＮＤ（Ｇ４）」の部分となってしまう。
【０２０１】
結局、一連の４回の検索処理を行った結果、図６１に示すように、４つの関連集合Ｇ１〜Ｇ４のすべての論理積集合に相当する部分（図６１にハッチングを施して示す部分）のみが最終的な候補として残ることになり、目的とするノードＮ０は候補から漏れてしまうことになる。図６１を見れば明らかなように、目的とするノードＮ０は、関連集合Ｇ２，Ｇ３，Ｇ４のいずれにも含まれているにもかかわらず、たまたま関連集合Ｇ１には含まれていなかったために、候補から漏れる結果となっている。本発明の本質をなす「敗者復活型ＡＮＤ検索」は、このような弊害をなくすための工夫であり、一連の繰り返しＡＮＤ検索を行う際に、一度候補から漏れてしまったノードを、いわゆる「トーナメント戦における敗者復活」と同様に、再び候補として復活させることを意図したものである。
【０２０２】
上述の例の場合、４回のＡＮＤ検索によって残った最終候補は、図６１にハッチング領域として示すように、「（Ｇ１）ＡＮＤ（Ｇ２）ＡＮＤ（Ｇ３）ＡＮＤ（Ｇ４）」なる論理積部分になっているが、ここで、第１回目の検索で得られた関連集合Ｇ１を論理積の対象から除外すると、最終候補は、図６２にハッチング領域として示すように、「（Ｇ２）ＡＮＤ（Ｇ３）ＡＮＤ（Ｇ４）」なる論理積部分になり、目的のノードＮ０が候補ノードとして提示されることになる。別言すれば、第１回目の検索において候補から漏れてしまったノードＮ０が、第２回目〜第４回目の検索において関連ノードとして抽出されたため、第４回目の最終候補として復活したことになる。
【０２０３】
図６３は、この「敗者復活型ＡＮＤ検索」モードによる５回にわたる一連の検索処理を示す概念図である。図の▲１▼〜▲５▼は、それぞれ第１回目から第５回目までの一連の検索処理を示しており、最下段には、各検索処理の後に提示される候補ノードの集合体が示されている。まず、第１回目の検索では、着目ノードＮ１についての検索により関連集合Ｇ１が抽出され、この関連集合Ｇ１がそのまま候補ノードの集合として提示される。続く第２回目の検索では、関連集合Ｇ１内から採択された新たな着目ノードＮ２についての検索により関連集合Ｇ２が抽出され、関連集合Ｇ１とＧ２との論理積集合が候補ノードの集合として提示される。次の第３回目の検索では、関連集合Ｇ２内から採択された新たな着目ノードＮ３についての検索により関連集合Ｇ３が抽出され、関連集合Ｇ１とＧ２とＧ３との論理積集合が候補ノードの集合として提示される。ここまでは、§７で述べたＡＮＤ検索と同じである。
【０２０４】
ここに例示する「敗者復活型ＡＮＤ検索」では、「３回以上前の検索結果を考慮しない」という形式で候補ノードが決定される。すなわち、第４回目の検索では、関連集合Ｇ３内から採択された新たな着目ノードＮ４についての検索により関連集合Ｇ４が抽出されるが、この時点では、３回以上前の検索（第１回目の検索）は考慮されず、関連集合Ｇ２とＧ３とＧ４との論理積集合が候補ノードの集合として提示されることになる。したがって、関連集合Ｇ１に含まれていなかったために第１回目の検索で候補から漏れたノードには、この第４回目の検索において候補に復活するチャンスが与えられることになる。更に、第５回目の検索では、関連集合Ｇ４内から採択された新たな着目ノードＮ５についての検索により関連集合Ｇ５が抽出されるが、この時点では、３回以上前の検索（第２回目以前の検索）は考慮されず、関連集合Ｇ３とＧ４とＧ５との論理積集合が候補ノードの集合として提示されることになる。したがって、関連集合Ｇ１あるいはＧ２に含まれていなかったために候補から漏れたノードに対しても、復活のチャンスが与えられることになる。
【０２０５】
図６４は、「３回以上前の検索結果を考慮しない」という形式での「敗者復活型ＡＮＤ検索」の第ｉ回目（ただし、ｉ≧３）の検索時における候補ノードの集合を決定する方法を示す概念図である。すなわち、第ｉ回目の検索では、関連集合Ｇ（ｉ−１）内から採択された新たな着目ノードＮｉについての検索により関連集合Ｇｉが抽出されるが、この時点では、３回以上前の検索（第（ｉ−３）回目以前の検索）は考慮されず、関連集合Ｇ（ｉ−２）とＧ（ｉ−１）とＧｉとの論理積集合が候補ノードの集合として提示されることになる。
【０２０６】
もっとも、本発明に係る「敗者復活型ＡＮＤ検索」は、「３回以上前の検索結果を考慮しない」という形式に限定されるものではなく、一般に、「ｎ回以上前の検索結果を考慮しない」という形式に拡張可能である（ｎは２以上の自然数）。上述の例は、ｎ＝３に設定した場合の例であるが、ｎ＝２に設定すれば、図６３において、第３回目の検索では、Ｇ２とＧ３との論理積集合が候補ノードとして提示され、第４回目の検索では、Ｇ３とＧ４との論理積集合が候補ノードとして提示され、第５回目の検索では、Ｇ４とＧ５との論理積集合が候補ノードとして提示されることになり、敗者復活の条件が緩和されることになる。逆に、ｎ＝４に設定すれば、図６３において、第４回目の検索では、Ｇ１とＧ２とＧ３とＧ４の論理積集合が候補ノードとして提示され、この時点ではまだ敗者復活は認められず、次の第５回目の検索で、Ｇ２とＧ３とＧ４とＧ５の論理積集合が候補ノードとして提示され、やっと敗者復活が認められることになる。
【０２０７】
結局、より拡張した一般論として述べると、図２１に示すシステムにおいて、予め２以上の自然数ｎを設定しておき、検索手段４０により第ｉ回目の検索処理が実行されたときに、ｉ≦ｎの場合には、第１回目乃至第ｉ回目の検索処理により抽出されたｉ組の関連集合の論理積集合を候補集合として求め（これは、§７で述べた「ＡＮＤ検索」）、ｉ＞ｎの場合には、第（ｉ−ｎ＋１）回目乃至第ｉ回目の検索処理により抽出されたｎ組の関連集合の論理積集合を候補集合として求め、求めた候補集合に所属するノードを候補ノードとして提示する処理を、候補提示手段６０によって行うようにすればよい。
【０２０８】
＜１０．２：ノードにステータスを定義する手法＞
ここでは、上述した「敗者復活型ＡＮＤ検索」を実現するための具体的な手法を述べる。ここで述べる手法は、「敗者復活型ＡＮＤ検索」を行うときに、個々のノードにステータスを定義し、このステータスを変遷させながら、各ノードを候補ノードとすべきか否かの判断を行うものである。
【０２０９】
上述の一般論で説明すれば、個々のノードに、最下位ステータスＳ１乃至最上位ステータスＳ（ｎ＋１）なる合計（ｎ＋１）段階のステータスを定義できるようにし、一連の繰り返し検索処理の開始時に、全ノードのステータスを次席ステータスＳｎに設定する。たとえば、ｎ＝３の場合には、合計４段階のステータスＳ１，Ｓ２，Ｓ３，Ｓ４が定義されることになる。ここで、ステータスＳ１は最下位ステータス、ステータスＳ４は最上位ステータスであり、一連の繰り返し検索処理の開始時には、全ノードのステータスは次席ステータスＳ３に設定される。また、ここで述べる実施形態では、更に別なステータスとして、除外ステータスＳ０なるものを定義している。この除外ステータスＳ０は、過去に着目ノードとなったノードが再び候補ノードとして提示されることを防ぐために用いられる特別なステータスである。図６５に、これらステータスＳ１〜Ｓ４およびＳ０の一覧を示す。
【０２１０】
これらのステータスは、「敗者復活型ＡＮＤ検索」モードで一連の繰り返し検索処理を実行するときにのみ定義されるものであり、この一連の繰り返し検索処理の開始時には、常に全ノードが次席ステータスＳ３（最上位ステータスより１つ下のステータス）に設定される。すなわち、すべてのノードにとって、この次席ステータスＳ３が初期ステータスとなる。
【０２１１】
「敗者復活型ＡＮＤ検索」モードでの一連の繰り返し検索処理の実行中は、毎検索時に次のような遷移規則(a) 〜(c) に沿ってステータス遷移が行われる。
(a) 当該検索処理により関連集合として抽出されたノード（関連ノード）については、ステータスを１段階昇進させる。ただし、最上位ステータスＳ４を上限とし、もともと最上位ステータスＳ４にあったノードは、そのままステータスＳ４を維持させる。また、除外ステータスＳ０のノードも、そのままステータスＳ０を維持させる。
(b) 当該検索処理により関連集合として抽出されなかったノード（関連ノードにならなかったノード）については、最下位ステータスＳ１へ転落させる。ただし、最下位ステータスＳ１を下限とし、もともと最下位ステータスＳ１にあったノードは、そのままステータスＳ１を維持させる。また、除外ステータスＳ０のノードは、そのままステータスＳ０を維持させる。
(c) 当該検索処理を行った際の着目ノードについては、除外ステータスＳ０へ移行させる。
【０２１２】
候補提示手段６０は、このようなステータス遷移の後に、最上位ステータスＳ４のノードを候補ノードとして抽出し、これをオペレータに提示する処理を行えばよい。図６６は、このようなステータス遷移規則の一覧を示す図である。
【０２１３】
このようなステータスを利用した手法により、実際に「敗者復活型ＡＮＤ検索」が可能になることを、図６７の具体例に即して説明する。この図６７に示す例は、ノードＡ〜Ｋなる１１個のノードからなるノード集合体に対して、合計５回からなる一連の繰り返し検索を行ったものであり、左欄の▲１▼〜▲６▼は、それぞれ第１回目から第６回目の検索前の状態を示している（この図では、第６回目の検索はまだ行われていない）。ここでは、各ノード名Ａ〜Ｋの右側に併記した０〜４の数字により、各ノードのその時点でのステータスを示してある。
【０２１４】
第１行目▲１▼に列挙された各ノードＡ〜Ｋは、第１回目の検索を行う前のノードを示しており、いずれも初期ステータスＳ３に設定されている（ノード名Ａ３〜Ｋ３は、各ノードがいずれもステータスＳ３にあることを示す）。ここでは、これらのノードのうち、ノードＥが最初の着目ノードとして指定されたものとし、このノードＥを着目ノードとする第１回目の検索により、ノードＢ，Ｃ，Ｄ，Ｆ，Ｇ，Ｈが関連ノードとして抽出されたものとしよう。図では、着目ノードと検索された各関連ノードとの間を矢印で結んで示してある。この第１回目の検索において、上述の遷移規則に基づくステータス遷移を実行すると、まず、遷移規則(a) により、関連ノードＢ，Ｃ，Ｄ，Ｆ，Ｇ，Ｈのステータスは１段階昇進し、ステータスＳ３からＳ４へと遷移することになる。また、遷移規則(b) により、関連ノードとならなかったノードＡ，Ｉ，Ｊ，Ｋは、最下位ステータスＳ１へと転落する。更に、遷移規則(c) により、着目ノードＥは、除外ステータスＳ０へと移行する。以後の一連の繰り返し検索において、ノードＥは除外ステータスＳ０を維持するため、候補ノードとして提示されることはない。
【０２１５】
第２行目▲２▼に列挙された各ノードＡ〜Ｋは、この第１回目の検索後のノードを示している。ここで、四角で囲まれたノードは、最上位ステータスＳ４のノードであり、候補ノードとして提示されることになる。ここでは、これらの候補ノードのうち、ノードＤが新たな着目ノードとして指定されたものとし、このノードＤを着目ノードとする第２回目の検索により、図に矢印で示すように、ノードＢ，Ｃ，Ｅ，Ｇ，Ｈ，Ｉが関連ノードとして抽出されたものとしよう。この第２回目の検索において、上述の遷移規則に基づくステータス遷移を実行すると、まず、遷移規則(a) により、関連ノードＢ，Ｃ，Ｅ，Ｇ，Ｈ，Ｉのステータスは１段階昇進する。ただし、関連ノードＢ，Ｃ，Ｇ，Ｈは既に最上位ステータスＳ４にあるので、そのままのステータスを維持し、関連ノードＥは除外ステータスＳ０をそのまま維持する。したがって、実際のステータス遷移は、ノードＩがステータスＳ１からＳ２へ昇進するだけである。また、遷移規則(b) により、関連ノードとならなかったノードＡ，Ｆ，Ｊ，Ｋは、最下位ステータスＳ１へと転落する。ただし、ノードＡ，Ｊ，Ｋは既に最下位ステータスＳ１にあるので、そのままのステータスを維持し、実際にステータスＳ１に転落するのはノードＦだけである。更に、遷移規則(c) により、着目ノードＤは、除外ステータスＳ０へと移行する。
【０２１６】
第３行目▲３▼に列挙された各ノードＡ〜Ｋは、この第２回目の検索後のノードを示している。やはり四角で囲まれた最上位ステータスＳ４のノードが候補ノードとして提示されることになる。ここでは、これらの候補ノードのうち、ノードＣが新たな着目ノードとして指定されたものとし、このノードＣを着目ノードとする第３回目の検索により、図に矢印で示すように、ノードＤ，Ｅ，Ｇ，Ｈ，Ｉ，Ｊが関連ノードとして抽出されたものとしよう。この第３回目の検索において、上述の遷移規則に基づくステータス遷移を実行すると、まず、遷移規則(a) により、関連ノードＤ，Ｅ，Ｇ，Ｈ，Ｉ，Ｊのステータスは１段階昇進する。ただし、関連ノードＧ，Ｈは既に最上位ステータスＳ４にあるので、そのままのステータスを維持し、関連ノードＤ，Ｅは除外ステータスＳ０をそのまま維持する。したがって、実際のステータス遷移は、ノードＩがステータスＳ２からＳ３へ昇進し、ノードＪがステータスＳ１からＳ２へ昇進するだけである。また、遷移規則(b) により、関連ノードとならなかったノードＡ，Ｂ，Ｆ，Ｋは、最下位ステータスＳ１へと転落する。ただし、ノードＡ，Ｆ，Ｋは既に最下位ステータスＳ１にあるので、そのままのステータスを維持し、実際にステータスＳ１に転落するのはノードＢだけである。更に、遷移規則(c) により、着目ノードＣは、除外ステータスＳ０へと移行する。
【０２１７】
第４行目▲４▼に列挙された各ノードＡ〜Ｋは、この第３回目の検索後のノードを示している。やはり四角で囲まれた最上位ステータスＳ４のノードが候補ノードとして提示されることになる。ここでは、これらの候補ノードのうち、ノードＨが新たな着目ノードとして指定されたものとし、このノードＨを着目ノードとする第４回目の検索により、図に矢印で示すように、ノードＣ，Ｄ，Ｅ，Ｇ，Ｉ，Ｊが関連ノードとして抽出されたものとしよう。この第４回目の検索において、上述の遷移規則に基づくステータス遷移を実行すると、まず、遷移規則(a) により、関連ノードＣ，Ｄ，Ｅ，Ｇ，Ｉ，Ｊのステータスは１段階昇進する。ただし、関連ノードＧは既に最上位ステータスＳ４にあるので、そのままのステータスを維持し、関連ノードＣ，Ｄ，Ｅは除外ステータスＳ０をそのまま維持する。したがって、実際のステータス遷移は、ノードＩがステータスＳ３からＳ４へ昇進し、ノードＪがステータスＳ２からＳ３へ昇進するだけである。また、遷移規則(b) により、関連ノードとならなかったノードＡ，Ｂ，Ｆ，Ｋは、最下位ステータスＳ１へと転落する。ただし、いずれも既に最下位ステータスＳ１にあるので、そのままのステータスを維持し、実際の転落は起こらない。更に、遷移規則(c) により、着目ノードＨは、除外ステータスＳ０へと移行する。
【０２１８】
第５行目▲５▼に列挙された各ノードＡ〜Ｋは、この第４回目の検索後のノードを示している。やはり四角で囲まれた最上位ステータスＳ４のノードが候補ノードとして提示されることになる。ここでは、これらの候補ノードのうち、ノードＩが新たな着目ノードとして指定されたものとし、このノードＩを着目ノードとする第５回目の検索により、図に矢印で示すように、ノードＣ，Ｄ，Ｅ，Ｈ，Ｊ，Ｋが関連ノードとして抽出されたものとしよう。この第５回目の検索において、上述の遷移規則に基づくステータス遷移を実行すると、まず、遷移規則(a) により、関連ノードＣ，Ｄ，Ｅ，Ｈ，Ｊ，Ｋのステータスは１段階昇進する。ただし、関連ノードＣ，Ｄ，Ｅ，Ｈは除外ステータスＳ０をそのまま維持する。したがって、実際のステータス遷移は、ノードＪがステータスＳ３からＳ４へ昇進し、ノードＫがステータスＳ１からＳ２へ昇進するだけである。また、遷移規則(b) により、関連ノードとならなかったノードＡ，Ｂ，Ｆ，Ｇは、最下位ステータスＳ１へと転落する。ただし、ノードＡ，Ｂ，Ｆは既に最下位ステータスＳ１にあるので、そのままのステータスを維持し、実際にステータスＳ１に転落するのはノードＧだけである。更に、遷移規則(c) により、着目ノードＩは、除外ステータスＳ０へと移行する。第６行目▲６▼に列挙された各ノードＡ〜Ｋは、この第５回目の検索後のノードを示している。
【０２１９】
以上の一連の繰り返し検索処理において注目すべき点は、第１回目の検索処理において関連ノードにならなかったために候補から漏れ、最下位ステータスＳ１へ転落してしまった転落経験ノードＩが、第２回目〜第４回目の検索処理においては、いずれも関連ノードとなったために、第４回目の検索処理の後に候補ノードとして復活している点である。また、同様に、第１回目の検索処理において関連ノードにならなかったために候補から漏れ、最下位ステータスＳ１へ転落してしまった転落経験ノードＪも、第３回目〜第５回目の検索処理において、いずれも関連ノードとなったために、第５回目の検索処理の後に候補ノードとして復活している。要するに、ｎ＝３の設定では、連続して３回の検索において関連ノードになった場合には、それ以前に関連ノードにならないで最下位ステータスＳ１に転落していたとしても、候補として復活することになる。もちろん、任意のｎ（ただし、ｎは２以上の自然数）を設定した場合には、連続してｎ回の検索において関連ノードになった場合には、それ以前に最下位ステータスＳ１に転落していたとしても、候補として復活することになる。なお、一度着目ノードになったノードは、除外ステータスＳ０へ遷移するため、候補ノードとして提示されることはない。すなわち、オペレータが一度採択したノードは、再び候補として提示されることはないので、重複採択を避けることができる。
【０２２０】
＜１０．３：ステータス定義を利用したより一般的な手法＞
上述の手法では、たとえば、ｎ＝３に設定した場合、ステータスＳ１〜Ｓ４までの４段階のステータスが定義され、最下位ステータスＳ１に転落したノードであっても、その後、３回続けて関連集合として抽出されれば、候補として復活することになる。これは、上述した遷移規則(a) により、「関連集合として抽出されたノードは、ステータスを１段階昇進させる」というステータス遷移が行われるため、３回続けて関連集合として抽出されれば３段階の昇進が行われ、最下位ステータスＳ１から最上位ステータスＳ４へと遷移するからである。ステータスＳ１〜Ｓ（ｎ＋１）までの合計（ｎ＋１）段階のステータスを定義した一般の場合には、ｎ回続けて関連集合として抽出されれば、ｎ段階の昇進が行われるので、最下位ステータスＳ１から最上位ステータスＳ（ｎ＋１）まで昇進し、候補として提示されることになる。
【０２２１】
この上述の手法では、すべてのノードについて一律にステータスの昇進を１段階ずつと定めているが、本発明を実施する上では、ステータスの昇進段数は必ずしも全ノードについて一律に「１段階」と設定する必要はない。すなわち、１回の昇進段数を一般にｕ段階（ただし、ｕは０＜ｕ＜ｎなる自然数）と定め、各ノードごとにｕの値をそれぞれ別個独立して設定し、かつ、同じノードであっても各検索処理ごとに異なるｕの値を設定することも可能である。このように、昇進段数を一般の値ｕに拡張した場合、前述した遷移規則(a) は次のようになる。
(a) 当該検索処理により関連集合として抽出されたノード（関連ノード）については、個々のノードごとに予め定義された昇進段数ｕ（ただし、ｕは０＜ｕ＜ｎなる自然数）に基づいて、ステータスをｕ段階昇進させる。ただし、最上位ステータスＳ（ｎ＋１）を上限とし、ｕ段階の昇進により最上位ステータスを越える場合には、最上位ステータスまでの昇進しか行わない。また、除外ステータスＳ０のノードは、そのままステータスＳ０を維持させる。
【０２２２】
このように、遷移規則(a) を一般に拡張した場合、前述した§１０．２の例は、昇進段数ｕを全ノードについて一律に１と定義した特別な形態ということになる。昇進段数ｕを一律に固定せずに、個々のノードごとに別個独立して定められるようにしておけば、より柔軟な敗者復活条件を設定することが可能になる。すなわち、１回の検索処理が行われた時点で、着目ノードと個々の関連ノードとの関連の程度に注目し、関連の程度の高いノードほど、その時点での昇進段数ｕの値が大きくなるように、その都度、昇進段数ｕを設定するようにすれば、より関連の程度の高いノードほど、敗者復活の条件を早く満たすようになる。
【０２２３】
たとえば、ｎ＝３００に設定して、全部で３０１段階のステータスを定義しておき、昇進段数ｕとしては、ｕ＝１００を標準的な値として、ｕ＝５０〜１５０の範囲内の値を個々のノードごとに設定しておいたとする。この場合、ｕ＝１００の標準的なノードは、最下位ステータスに転落しても、３回連続して関連集合に選ばれると敗者復活条件を満たし、候補として提示されるが、ｕ＝５０という関連の程度の弱いノードは、６回連続して関連集合に選ばれなければ敗者復活条件を満たさないことになる。逆に、ｕ＝１５０という関連の程度の強いノードは、最下位ステータスに転落しても、２回連続して関連集合に選ばれるだけで敗者復活条件を満たし、候補として提示されることになる。このように、昇進段数ｕの値を各ノードごとに別個独立した変数として設定するようにすれば、ノードごとに異なる敗者復活条件を課することができ、敗者復活のタイミングをノードごとに変えることができるようになる。
【０２２４】
昇進段数ｕの値の設定は、検索処理を行った際に各関連ノードに得られた信号値を利用して定めることができる。既に述べたように、検索処理は、着目ノードから所定の信号値をもった信号をリンクに沿って伝達させることによって行われ、所定のレベル以上の信号値が得られたノードが関連ノードとして抽出される。ここで、各関連ノードに得られた信号の信号値は、着目ノードとの関連の程度を示しており、大きな信号値が得られた関連ノードほど、着目ノードに対する関連の程度も大きいということが言える。そこで、ある検索処理において、大きな信号値が得られた関連性の高いノードについては、当該検索処理時のステータス遷移に関しての昇進段数ｕを大きく設定するようにし、逆に、小さな信号値が得られた関連性の低いノードについては、当該検索処理時のステータス遷移に関しての昇進段数ｕを小さく設定するようにすればよい。もちろん、各関連ノードに得られる信号の信号値は、個々の検索処理ごとに変わるものであるから、各ノードに定義される昇進段数ｕも、個々の検索処理ごとに変わる変数になる。
【０２２５】
一方、一連の繰り返し検索処理を開始する際の初期ステータスとして、上述の実施形態では、全ノードに対して次席ステータスＳｎ（下からｎ番目のステータス）を設定するようにしていたが、初期ステータスは、必ずしも次席ステータスＳｎに設定する必要はない。たとえば、ｎ＝３００に設定して、全３０１段階のステータスを定義し、昇進段数ｕとしては、ｕ＝１００を標準的な値として設定したような場合、初期ステータスとしては、次席ステータスＳ３００を設定するよりも、下から２００段階目のステータスＳ２００程度を設定する方が好ましい。また、場合によっては、最上位ステータスを初期ステータスに設定することも可能である。一般に、本発明における初期ステータスＳｊとしては、１＜ｊ≦ｎ＋１なる自然数ｊによって、下からｊ番目のステータスとして設定できるステータスであれば、どのようなステータスを設定してもかまわない。
【０２２６】
＜１０．４：敗者復活型ＡＮＤ検索における学習＞
上述した「敗者復活型ＡＮＤ検索」において、敗者復活したノードがオペレータによって採択された場合、学習手段９０による学習を行うようにするのが好ましい。すなわち、一連の繰り返し検索処理中に、最下位ステータスＳ１へ転落したことのある転落経験ノードが候補ノードとして提示され、この転落経験ノードが新たな着目ノードとして採択された場合には、転落経験ノードが最下位ステータスＳ１へ転落した時点における着目ノードと、当該転落経験ノードとの間に新たなリンクを定義し、この新たなリンクをリンク集合体に追加する学習処理を行うようにすればよい。
【０２２７】
この学習処理は、図６７に示す例では次のとおりとなる。すなわち、ノードＩ，Ｊはいずれも、第１回目の検索処理において最下位ステータスＳ１へ転落した転落経験ノードである。ところが、この転落経験ノードＩは、第４回目の検索処理後に候補ノードとして提示され、第５回目の検索処理を行う際には着目ノードとして採択されている。そこで、この場合は、転落経験ノードＩと、このノードＩの転落が生じた第１回目の検索時における着目ノードＥとの間に新たなリンクを定義するようにすればよい。これは、「ノードＥを着目ノードとする第１回目の検索時に、本来はノードＩも候補ノードとして提示されるべきであった」との考えに基づくものである。このように新たなリンクを追加する学習を行っておけば、再び、ノードＥを着目ノードとする検索処理が実行された場合、第１回目の検索時において、ノードＩが関連ノードとして抽出されるので候補から漏れることはなくなる。同様に、図６７に示す例において、第５回目の検索処理後に、ノードＪが新たな着目ノードとして採択されれば、ノードＪとノードＥとの間に新たなリンク定義を行う学習がなされることになる。
【０２２８】
この学習処理を、図６２に示す例で説明すると次のようになる。図６２に示す例は、既に述べたように、４回の繰り返し検索により、第１回目の検索で漏れたノードＮ０が候補に復活したわけであるが、この状態において、図６８に示すように、このノードＮ０（転落経験ノード）が新たな着目ノードとして採択された場合を考える。この場合、全４回の検索を経て、やっとノードＮ０までたどり着くことができたわけであるが、利用者の立場からすれば、ノードＮ１を着目ノードとした第１回目の検索時において、ノードＮ０が候補として提示されていた方が好ましい。そこで、図６９に示すように、ノードＮ０とノードＮ１との間に新たなリンクＬを定義する学習を行うのである。このような学習が行われれば、再び、ノードＮ１を着目ノードとする検索処理が実行された場合、リンクＬの存在により、ノードＮ０が関連ノードとして抽出され、図７０に示すように、関連集合Ｇ１内の候補ノードとしてノードＮ０が提示されることになる。
【０２２９】
＜１０．５：敗者復活型ＡＮＤ検索のその他の実施形態＞
以上述べた「敗者復活型ＡＮＤ検索」の実施形態は、「正の検索処理」を行った場合のものであるが、§８で述べた「負の検索処理」を組み合わせた場合にも同様に適用可能である。なお、「負の検索処理」によって最下位ステータスへ転落したノードが、候補として復活し、新たな着目ノードとして採択された場合には、学習処理で定義する新たなリンクは負のリンクとすればよい。
【０２３０】
また、上述の実施形態では、ノード・リンク集合体を利用したデータベースシステムに本発明に係る「敗者復活型ＡＮＤ検索」を適用した例を示したが、本発明に係る「敗者復活型ＡＮＤ検索」の基本思想は、このようなノード・リンク集合体を利用したデータベースシステムに限定されるものではなく、上述の例におけるノードをデータ自体と考えれば、一般のデータベースシステムに広く適用可能なものである。
【０２３１】
【発明の効果】
以上のとおり本発明に係るデータベースシステムによれば、複数の検索条件を順次与えることにより候補を絞り込んでゆく検索を行う場合に、特定の検索条件を満たさないために一度候補から除外されたデータを、再び候補として復活させることができるようになるため、より柔軟な絞り込み検索を行うことができるようになる。
【図面の簡単な説明】
【図１】本実施形態の基本概念を説明するための基本的なデータベースシステムの構成を示すブロック図である。
【図２】図１に示すデータベースシステムにおける検索処理の結果の一例を示す図である。
【図３】図２に示す検索結果に基づいて、新たな着目ノードＮ４の採択を行った状態を示す図である。
【図４】図１に示すデータベースシステムにおいて、ダイナミックリンクＬ８を一時的に定義した検索処理を示す図である。
【図５】図４に示す検索結果に基づいて、新たな着目ノードＮ６の採択を行うとともに、ダイナミックリンクＬ８をスタティックリンクに昇格させた状態を示す図である。
【図６】ダイナミックリンクを定義する際のキーワード評価において、１つのノードに複数の等価キーワードを定義した場合の評価方法を示す図である。
【図７】３つのクラスＡ，Ｂ，Ｃからなる簡単な分散型データベースシステムの一例を示す図である。
【図８】図７に示す分散型データベースシステムに、クラスリンクおよびシソーラス辞書を定義した一例を示す図である。
【図９】図８に示す分散型データベースシステムにおいて、スタティックリンクＬ１〜Ｌ５を定義した状態を示す図である。
【図１０】図９に示すスタティックリンクを利用して、ノードＮ１を着目ノードとする検索を行った結果を示す図である。
【図１１】図１０に示す検索と同じ検索処理を、クラスリンクの重みづけ（信号伝達係数）を考慮して行った結果を示す図である。
【図１２】図１０に示す検索結果に基づいて、スタティックリンクの重みづけ（信号伝達係数）を修正する学習処理を行った状態を示す図である。
【図１３】図１２に示す学習処理後の状態において、再び図１０に示す検索と同じ検索処理を行った結果を示す図である。
【図１４】図１０に示す検索処理を実行した後、ノードの重みを考慮して候補ノードを提示する際の優先順位の決定方法を示す図表である。
【図１５】図１３に示す検索処理を実行した後、ノードの重みを考慮して候補ノードを提示する際の優先順位の決定方法を示す図表である。
【図１６】図８に示す分散型データベースシステムにおいて、スタティックリンクとダイナミックリンクとの双方を用いた検索処理を実行した例を示す図である。
【図１７】ダイナミックリンクの定義が、クラスリンクによって制限を受ける例を示す図である。
【図１８】本実施形態に係るデータベースシステムの全体的な利用手順を示す流れ図である。
【図１９】図１８に示す流れ図におけるステップＳ４の検索処理の手順を詳細に示す流れ図である。
【図２０】図１８に示す流れ図におけるステップＳ７の学習処理の手順を詳細に示す流れ図である。
【図２１】本実施形態に係るデータベースシステムの具体的な構成を示すブロック図である。
【図２２】図２１に示すデータベースシステムに、更に、頻度係数格納手段１１０を付加した実施形態を示すブロック図である。
【図２３】本実施形態に係るデータベースシステムにおける検索対象となるノード集合体を示す概念図である。
【図２４】図２３に示すノード集合体内の１つのノードＮ１を着目ノードとして指定した状態を示す概念図である。
【図２５】図２４に示す状態において、着目ノードＮ１についての正の検索処理により検索された正の関連集合Ｇ１を示す概念図である。
【図２６】図２５に示す正の関連集合Ｇ１内から１つのノードＮ２を採択した状態を示す概念図である。
【図２７】図２６に示す採択ノードＮ２を新たな着目ノードに更新した状態を示す概念図である。
【図２８】図２７に示す新たな着目ノードＮ２についての正の検索処理により検索された正の関連集合Ｇ２を示す概念図である。
【図２９】図２１に示すデータベースシステムに、更に、母集合定義手段１２０を付加した実施形態を示すブロック図である。
【図３０】図２９に示すデータベースシステムの検索対象となるノード集合体において、着目ノードＮ１を指定した状態を示す概念図である。
【図３１】図３０に示す状態において、着目ノードＮ１についての正の検索処理により検索された正の関連集合Ｇ１を示す概念図である。
【図３２】図３１に示す正の関連集合Ｇ１の中のノードＮ２を新たな着目ノードとして採択した後、この新たな着目ノードＮ２についての「ＡＮＤ検索」モードによる正の検索処理により検索された正の関連集合Ｇ２を示す概念図である。
【図３３】図３２に示す「ＡＮＤ検索」モードによる正の検索結果として提示される候補ノードの集合体Ｍ３を示す概念図である。
【図３４】図３３に示された候補ノードの集合体の中からノードＮ３を新たな着目ノードとして採択し、この新たな着目ノードＮ３についての「ＡＮＤ検索」モードによる正の検索処理により検索された正の関連集合Ｇ３を示す概念図である。
【図３５】３回の「ＡＮＤ検索」モードによる正の検索処理によって、各検索条件の論理積に相当する候補が抽出される様子を示す概念図である。
【図３６】図２４に示す状態において、着目ノードＮ１についての負の検索処理により検索された負の関連集合Ｇ１＊を示す概念図である。
【図３７】図３３に示された候補ノードの集合体の中からノードＮ３を新たな着目ノードとして採択し、この新たな着目ノードＮ３についての「ＡＮＤ検索」モードによる負の検索処理により検索された負の関連集合Ｇ３＊を示す概念図である。
【図３８】３回の「ＡＮＤ検索」モードによる正および負の検索処理によって、各検索条件の論理積に相当する候補が抽出される様子を示す概念図である。
【図３９】正リンクと負リンクとの双方を用いて定義されたノード・リンク集合体の一例を示す概念図である。
【図４０】図３９に示すノード・リンク集合体において、ノードＢを着目ノードと指定し、ホップ数Ｈ＝１に限定した正の検索処理を行った状態を示す概念図である。
【図４１】図３９に示すノード・リンク集合体において、ノードＢを着目ノードと指定し、ホップ数Ｈ＝２に限定した正の検索処理を行った状態の一部を示す概念図である。
【図４２】図３９に示すノード・リンク集合体において、ノードＢを着目ノードと指定し、ホップ数Ｈ＝１に限定した負の検索処理を行った状態を示す概念図である。
【図４３】図４２に示す負の検索処理によって提示された候補ノードの中から、ノードＩを採択した状態を示す概念図である。
【図４４】図４３に示す候補ノードＩの採択による学習処理を示す概念図である。
【図４５】図４４に示す学習処理後のノード・リンク集合体において、ノードＢを着目ノードと指定し、ホップ数Ｈ＝１に限定した負の検索処理を行った状態を示す概念図である。
【図４６】図４５に示す負の検索処理によって提示された候補ノードの中から、ノードＩを採択することによって行われる学習処理を示す概念図である。
【図４７】図３７に示す負の検索処理によって提示された候補ノードの中から、ノードＮ４を採択した状態を示す概念図である。
【図４８】図４７に示すノードＮ４の採択により、着目ノードＮ３と採択ノードＮ４との間に新たな負リンクが定義される学習処理を示す概念図である。
【図４９】図２１に示すデータベースシステムに、更に、リンク再構成手段１３０を付加した実施形態を示すブロック図である。
【図５０】図４９に示すデータベースシステムにおいて実行されるリンク再構成処理の第１の例を示す図である。
【図５１】図４９に示すデータベースシステムにおいて実行されるリンク再構成処理の第２の例を示す図である。
【図５２】図３９に示すノード・リンク集合体に対して、図５０に示すリンク再構成処理を適用した例を示す図である。
【図５３】図３９に示すノード・リンク集合体に対して、図５１に示すリンク再構成処理を適用した例を示す図である。
【図５４】目的とするノードＮ０を含むノード集合体において、着目ノードＮ１を指定した状態を示す概念図である。
【図５５】図５４示す状態において、着目ノードＮ１についての検索処理により抽出された関連集合Ｇ１から、ノードＮ０が漏れた状態を示す概念図である。
【図５６】図５５に示す関連集合Ｇ１の中のノードＮ２を新たな着目ノードとして採択した後、この新たな着目ノードＮ２についての「ＡＮＤ検索」モードによる検索処理により検索された関連集合Ｇ２を示す概念図である。
【図５７】図５６に示す「ＡＮＤ検索」モードによる検索結果として提示される候補ノードの集合体Ｍ３を示す概念図である。
【図５８】図５７に示された候補ノードの集合体の中からノードＮ３を新たな着目ノードとして採択し、この新たな着目ノードＮ３についての「ＡＮＤ検索」モードによる検索処理により検索された関連集合Ｇ３を示す概念図である。
【図５９】図５８に示す「ＡＮＤ検索」モードによる検索結果として提示される候補ノードの集合体Ｍ４を示す概念図である。
【図６０】図５９に示された候補ノードの集合体の中からノードＮ４を新たな着目ノードとして採択し、この新たな着目ノードＮ４についての「ＡＮＤ検索」モードによる検索処理により検索された関連集合Ｇ４を示す概念図である。
【図６１】４回の「ＡＮＤ検索」モードによる検索処理によって、各検索条件の論理積に相当する候補が抽出される様子を示す概念図である。
【図６２】図６１に示す４回の「ＡＮＤ検索」モードによる検索処理において、１回目の検索条件を撤回することにより、目的とするノードＮ０が候補ノードとして抽出される様子を示す概念図である。
【図６３】本発明に係る「敗者復活型ＡＮＤ検索」モードによる５回にわたる一連の検索処理を示す概念図である。
【図６４】本発明に係る「敗者復活型ＡＮＤ検索」モードによる一連の検索処理を一般論として示す概念図である。
【図６５】本発明に係る「敗者復活型ＡＮＤ検索」モードでの検索時に各ノードに定義されるステータスを示す図表である。
【図６６】本発明に係る「敗者復活型ＡＮＤ検索」モードでの毎検索時のステータス遷移を示す図である。
【図６７】本発明に係る「敗者復活型ＡＮＤ検索」モードでの検索処理の具体例を示す図である。
【図６８】本発明に係る「敗者復活型ＡＮＤ検索」モードでの検索処理後の学習処理の前半段階を示す図である。
【図６９】本発明に係る「敗者復活型ＡＮＤ検索」モードでの検索処理後の学習処理の後半段階を示す図である。
【図７０】本発明に係る「敗者復活型ＡＮＤ検索」モードでの検索処理後の学習処理の効果を示す図である。
【符号の説明】
１…データベース
２…ノード・リンク集合体
３…オペレータ
１０…データ格納手段
２０…データ提供手段
３０…着目ノード設定手段
４０…検索手段
５０…リンク格納手段
６０…候補提示手段
７０…候補採択手段
８０…更新手段
９０…学習手段
１００…オペレータ
１１０…頻度係数格納手段
１２０…母集合定義手段
１３０…リンク再構成手段
Ａ，Ｂ，Ｃ…クラス
ＡＡ，ＢＢ…クラスリンク（ローカルリンク）
ＡＢ，ＡＣ…クラスリンク（リモートリンク）
Ａ〜Ｋ…ノード
Ｇ１〜Ｇ５…正の関連集合（着目ノードに関連するノードの集合）
Ｇ１＊，Ｇ３＊…負の関連集合（着目ノードに関連しないノードの集合）
Ｈ…ホップ数
Ｈmax …ホップ数の上限値
Ｋ１〜Ｋ９…キーワード
Ｋ４０，Ｋ７０…代表キーワード
Ｋ４１〜Ｋ４５，Ｋ７１〜Ｋ７５…等価キーワード
Ｌ，Ｌ１〜Ｌ８…インスタンスリンク（スタティックリンクおよびダイナミックリンク）
Ｍ１〜Ｍ４…母集合
Ｎ０，Ｎ１〜Ｎ９，Ｎ１２…ノード
Ｔａａ，Ｔｂｂ，Ｔａｂ，Ｔａｃ…シソーラス辞書
【図１】
0003919863.tif 000002
【図２】
0003919863.tif 000003
【図３】
0003919863.tif 000004
【図４】
0003919863.tif 000005
【図５】
0003919863.tif 000006
【図６】
0003919863.tif 000007
【図７】
0003919863.tif 000008
【図８】
0003919863.tif 000009
【図９】
0003919863.tif 000010
【図１０】
0003919863.tif 000011
【図１１】
0003919863.tif 000012
【図１２】
0003919863.tif 000013
【図１３】
0003919863.tif 000014
【図１４】
0003919863.tif 000015
【図１５】
0003919863.tif 000016
【図１６】
0003919863.tif 000017
【図１７】
0003919863.tif 000018
【図１８】
0003919863.tif 000019
【図１９】
0003919863.tif 000020
【図２０】
0003919863.tif 000021
【図２１】
0003919863.tif 000022
【図２２】
0003919863.tif 000023
【図２３】
0003919863.tif 000024
【図２４】
0003919863.tif 000025
【図２５】
0003919863.tif 000026
【図２６】
0003919863.tif 000027
【図２７】
0003919863.tif 000028
【図２８】
0003919863.tif 000029
【図２９】
0003919863.tif 000030
【図３０】
0003919863.tif 000031
【図３１】
0003919863.tif 000032
【図３２】
0003919863.tif 000033
【図３３】
0003919863.tif 000034
【図３４】
0003919863.tif 000035
【図３５】
0003919863.tif 000036
【図３６】
0003919863.tif 000037
【図３７】
0003919863.tif 000038
【図３８】
0003919863.tif 000039
【図３９】
0003919863.tif 000040
【図４０】
0003919863.tif 000041
【図４１】
0003919863.tif 000042
【図４２】
0003919863.tif 000043
【図４３】
0003919863.tif 000044
【図４４】
0003919863.tif 000045
【図４５】
0003919863.tif 000046
【図４６】
0003919863.tif 000047
【図４７】
0003919863.tif 000048
【図４８】
0003919863.tif 000049
【図４９】
0003919863.tif 000050
【図５０】
0003919863.tif 000051
【図５１】
0003919863.tif 000052
【図５２】
0003919863.tif 000053
【図５３】
0003919863.tif 000054
【図５４】
0003919863.tif 000055
【図５５】
0003919863.tif 000056
【図５６】
0003919863.tif 000057
【図５７】
0003919863.tif 000058
【図５８】
0003919863.tif 000059
【図５９】
0003919863.tif 000060
【図６０】
0003919863.tif 000061
【図６１】
0003919863.tif 000062
【図６２】
0003919863.tif 000063
【図６３】
0003919863.tif 000064
【図６４】
0003919863.tif 000065
【図６５】
0003919863.tif 000066
【図６６】
0003919863.tif 000067
【図６７】
0003919863.tif 000068
【図６８】
0003919863.tif 000069
【図６９】
0003919863.tif 000070
【図７０】
0003919863.tif 000071