(57)【要約】【課題】効果的にリソースを検索することができるリソース検索方法を提供する。【解決手段】リソース保持ピア５は、リソース意味ベクトルをリソース名およびユーザ評価値に基づいて生成することにより、適切なリソース意味ベクトルを生成できるので、効果的なリソース検索が可能となる。  また、クエリがクエリ意味ベクトルによって定まる方向に転送され、このクエリが転送されたインデックス保持ピア４によりクエリがフラッディングで転送され、フラッディングで転送されたピアのうち、クエリに含まれた詳細情報に対応するリソースのインデックス情報を有するインデックス保持ピア４によりインデックス情報がユーザピア３に送信される。これにより、Ｐ２Ｐ検索において、欲するリソースに近いリソースのインデックス情報を保持するピアを中心に検索することができるため、効果的なリソース検索ができる。【選択図】  図２
2006048511.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上の複数のピアにより分散管理された意味ベクトル空間上に、リソースを保持しているリソース保持ピアにより前記リソースのインデックス情報を前記リソースの内容を表現したリソース意味ベクトルに基づいて関連づける第１のステップと、
リソースの取得を所望する第１のピアにより所望するリソースの詳細情報および所望するリソースを表すキーワードから得られるクエリ意味ベクトルを含むクエリを隣接する第２のピアに送信する第２のステップと、
前記第２のピアにより前記クエリをこのクエリに含まれる前記クエリ意味ベクトルを前記意味ベクトル空間上に射影することによって定まる方向に隣接する第３のピアに転送する第３のステップと、
この第３のステップで前記クエリが転送された第３のピアにより前記クエリをフラッディングで第４のピアに転送する第４のステップと、
フラッディングで転送された前記クエリを受信した前記第４のピアのうち、前記クエリに含まれた前記詳細情報に対応するリソースのインデックス情報を有するピアにより前記インデックス情報を前記第１のピアに送信する第５のステップと
を有することを特徴とするリソース検索方法。
【請求項２】
前記第１のピアにより前記第４のピアから受信した前記インデックス情報を参照して前記リソース保持ピアから前記リソースを取得する第６のステップと、
前記第１のピアにより取得した前記リソースにどの程度満足したかを表す満足値を前記リソース保持ピアに送信する第７のステップと、
前記リソース保持ピアにより前記満足値に基づいて前記リソースのリソース意味ベクトルを更新する第８のステップと
をさらに有することを特徴とする請求項１記載のリソース検索方法。
【請求項３】
前記第８のステップは、
前記クエリに含まれるクエリ意味ベクトルから前記リソースのリソース意味ベクトルを引いた差分ベクトルに前記満足値に基づく値を乗じた増加分ベクトルに基づいて、前記リソースのリソース意味ベクトルを更新する
ことを特徴とする請求項２記載のリソース検索方法。
【請求項４】
前記第８のステップは、
前記リソース保持ピアにより、前記満足値が正の値の場合はリソースの評価を表す評価値を加算し、前記満足値が負の値の場合は前記評価値を減算する第９のステップと、
前記評価値が所定の閾値以下になると、前記リソース保持ピアにより前記リソースを削除する第１０のステップと
をさらに有することを特徴とする請求項３記載のリソース検索方法。
【請求項５】
前記第２のステップは、
前記第１のピアにより前記クエリを伝播させる範囲を示す値を付与した前記クエリを隣接ピアにフラッディングで転送する第１１のステップを備え、
この第１１のステップで転送された前記クエリを受信した前記隣接ピアのうち、クエリに含まれた前記詳細情報に対応するリソースのインデックス情報を有するピアにより前記第１のピアに前記インデックス情報を送信する第１２のステップと、
この第１２のステップで前記インデックス情報を送信したピアにより前記クエリを伝播させる範囲を示す値を付与した前記クエリを隣接ピアにフラッディングで転送する第１３のステップと、
この第１３のステップで転送された前記クエリを受信した前記隣接ピアのうち、前記クエリに含まれた前記詳細情報に対応するリソースのインデックス情報を有するピアにより前記第１のピアに前記インデックス情報を送信する第１４のステップと
をさらに有することを特徴とする請求項１乃至４の何れか１項に記載のリソース検索方法。
【請求項６】
ネットワーク上の複数のピアにより分散管理された意味ベクトル空間に基づいて、リソース保持ピアにより保持されているリソースを検索するリソース検索システムであって、
前記リソース保持ピアは、
前記リソースを保持するリソース保持手段と、
前記意味ベクトル空間上に、前記リソースのインデックス情報を前記リソースの内容を表現したリソース意味ベクトルに基づいて関連づけるインデックス登録手段と
を有し、
リソースの取得を所望するユーザピアは、
前記リソースの詳細情報および所望するリソースを表すキーワードから得られるクエリ意味ベクトルを含むクエリを隣接するインデックス保持ピアに送信するクエリ送信手段
を有し、
前記インデックス保持ピアは、
前記意味ベクトル空間上の自身が対応する位置に関連づけられたインデックス情報を保持するインデックス保持手段と、
前記ユーザピアまたは隣接する前記インデックス保持ピアから受信した前記クエリを、このクエリに含まれる前記クエリ意味ベクトルを前記意味ベクトル空間上に射影することによって定まる方向に隣接するピアに転送する第１のクエリ転送手段と、
隣接ピアから受信した前記クエリに含まれる前記クエリ意味ベクトルを前記意味ベクトル空間上に射影することによって定まる位置が、前記意味ベクトル空間上の自身が対応する位置の場合、前記クエリをフラッディングで隣接ピアに転送する第２のクエリ転送手段と、
フラッディングで転送された前記クエリを受信し、このクエリに含まれた前記詳細情報に対応するリソースのインデックス情報を有する場合、前記インデックス情報を前記ユーザピアに送信するインデックス送信手段と
を有する
ことを特徴とするリソース検索システム。
【請求項７】
前記ユーザピアは、
前記インデックス保持ピアから受信した前記インデックス情報を参照して前記リソース保持ピアから前記リソースを取得するリソース取得手段と、
前記リソース保持ピアから取得した前記リソースにどの程度満足したかを表す満足値を前記リソース保持ピアに送信する評価手段と
をさらに備え、
前記リソース保持ピアの前記インデックス登録手段は、
前記満足値に基づいて前記リソースのリソース意味ベクトルを更新する
ことを特徴とする請求項６記載のリソース検索システム。
【請求項８】
前記リソース保持ピアの前記インデックス登録手段は、
前記クエリに含まれるクエリ意味ベクトルから前記リソースのリソース意味ベクトルを引いた差分ベクトルに前記満足値に基づく値を乗じた増加分ベクトルに基づいて、前記リソースのリソース意味ベクトルを更新する
ことを特徴とする請求項７記載のリソース検索システム。
【請求項９】
前記リソース保持ピアの前記インデックス登録手段は、
前記満足値が正の値の場合はリソースの評価を表す評価値を加算し、前記満足値が負の値の場合は前記評価値を減算し、前記評価値が所定の閾値以下になると前記リソースを削除する
ことを特徴とする請求項８記載のリソース検索システム。
【請求項１０】
前記インデックス保持ピアの前記第２のクエリ転送手段は、
前記クエリを伝播させる範囲を示す値を付与した前記クエリを隣接するインデックス保持ピアにフラッディングで転送する
ことを特徴とする請求項６乃至９の何れか１項に記載のリソース検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上のリソースを、ユーザがＰ２Ｐ(Peer to Peer)的に検索するリソース検索方法およびリソース検索システムに関するものである。
【背景技術】
【０００２】
近年、ＩＴ(Information Technology)技術の進歩により、Web Services、Webページ、デバイス、コンテンツ等の数多くのリソースがネットワークを介してアクセス可能となっており、そのようなリソースを検索する方法が数多く開発されている。その中でも、耐障害性やサーバコストの低減、不要な管理の削除などを目的として、Ｐ２Ｐ的検索技術の開発が進んでいる。
【０００３】
典型的なＰ２Ｐ検索技術であるＧｎｕｔｅｌｌａは、Ｆｌｏｏｄｉｎｇでクエリを転送するため、キーワードはマッチするが内容が適切ではないという適合率の低いリソースの大量発見やトラフィック爆発という問題がある。このため、ユーザが所望するリソースと意味的に近いリソース群のみへクエリを伝播することや、クエリを同じピアへ複数回転送するのを遮断することなどが可能なＰ２Ｐ検索技術が望まれている。
【０００４】
従来より、意味的に近い文章を検索する方法としては、ベクトル空間法が提案されている（例えば、非特許文献１参照。）。
このベクトル空間法は、単語の意味属性を示す座標軸からベクトル空間を構成し、文章をその文章内の単語を元にして各意味属性に対して重み付けした値をその成分とする意味ベクトルで表し、そのベクトル空間内におけるベクトル間の距離で複数の文章の類似性を判定するものである。検索対象の文章がその意味属性に応じてベクトル空間にマッピングされているので、ベクトル空間法では、所望する文章の意味ベクトル周辺を重点的に探すことにより、効率的な検索が可能となる。
【０００５】
また、クエリを同じピアへ繰り返し転送せず、効率的なクエリの転送が可能な技術としては、Ｐ２Ｐ技術であるＣＡＮが提案されている（例えば、非特許文献２参照。）。
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【非特許文献１】松尾他、意味属性に基づくテキストデータベース検索方式、情報論Vol.32、No.9、１９９１年
【非特許文献２】S.Ratnasamy、A Scalable Content-Addressable Network、SIGCOMM 2001
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したようなベクトル空間法をＰ２Ｐによるリソース検索に適用しようとすると、次のような課題が発生する。
上述したように検索対象となるリソースは、Web Services、Webページ、デバイス、コンテンツ等から構成されるため、Webページ以外は、通常のベクトル空間法で行われる文章からベクトル成分を抽出することができない。一般的には、これらのリソースからベクトル成分を抽出することは困難であることから、検索に用いられる意味ベクトルを生成することができない。
また、Ｐ２Ｐ検索では、ピアの性能はサーバに劣るため、リソースのリソース名やエンドポイント情報などのインデックス情報を多く持つことができない。このため、各ピアが保持するインデックス情報は制限される。
その結果、従来では、単純にベクトル空間法をＰ２Ｐ検索に適用することができなかったため、効果的にリソース検索をすることができなかった。
【０００７】
そこで、本発明は、上述したような課題を解決するためになされたものであり、効果的にリソースを検索することができるリソース検索方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述したような課題を解決するために、本発明にかかるリソース検索方法は、ネットワーク上の複数のピアにより分散管理された意味ベクトル空間上に、リソースを保持しているリソース保持ピアによりリソースのインデックス情報をリソースの内容を表現したリソース意味ベクトルに基づいて関連づける第１のステップと、リソースの取得を所望する第１のピアにより所望するリソースの詳細情報および所望するリソースを表すキーワードから得られるクエリ意味ベクトルを含むクエリを隣接する第２のピアに送信する第２のステップと、第２のピアによりクエリをこのクエリに含まれるクエリ意味ベクトルを意味ベクトル空間上に射影することによって定まる方向に隣接する第３のピアに転送する第３のステップと、この第３のステップでクエリが転送された第３のピアによりクエリをフラッディングで第４のピアに転送する第４のステップと、フラッディングで転送されたクエリを受信した第４のピアのうち、クエリに含まれた詳細情報に対応するリソースのインデックス情報を有するピアによりインデックス情報を第１のピアに送信する第５のステップとを有することを特徴とする。
ここで、リソースの意味ベクトルは、リソースのファイル名やユーザによるリソースの満足度評価に基づいて表現される。
【０００９】
上記リソース検索方法において、第１のピアにより第４のピアから受信したインデックス情報を参照してリソース保持ピアからリソースを取得する第６のステップと、第１のピアにより取得したリソースにどの程度満足したかを表す満足値をリソース保持ピアに送信する第７のステップと、リソース保持ピアにより満足値に基づいてリソースのリソース意味ベクトルを更新する第８のステップとをさらに有するようにしてもよい。
【００１０】
上記リソース検索方法において、第８のステップは、クエリに含まれるクエリ意味ベクトルからリソースのリソース意味ベクトルを引いた差分ベクトルに満足値に基づく値を乗じた増加分ベクトルに基づいて、リソースのリソース意味ベクトルを更新するようにしてもよい。
【００１１】
上記リソース検索方法において、第８のステップは、リソース保持ピアにより、満足値が正の値の場合はリソースの評価を表す評価値を加算し、満足値が負の値の場合は評価値を減算する第９のステップと、評価値が所定の閾値以下になると、リソース保持ピアによりリソースを削除する第１０のステップとをさらに有するようにしてもよい。
【００１２】
上記リソース検索方法において、第２のステップは、第１のピアによりクエリを伝播させる範囲を示す値を付与したクエリを隣接ピアにフラッディングで転送する第１１のステップを備え、この第１１のステップで転送されたクエリを受信した隣接ピアのうち、クエリに含まれた詳細情報に対応するリソースのインデックス情報を有するピアにより第１のピアにインデックス情報を送信する第１２のステップと、この第１２のステップでインデックス情報を送信したピアによりクエリを伝播させる範囲を示す値を付与したクエリを隣接ピアにフラッディングで転送する第１３のステップと、この第１３のステップで転送されたクエリを受信した隣接ピアのうち、クエリに含まれた詳細情報に対応するリソースのインデックス情報を有するピアにより第１のピアにインデックス情報を送信する第１４のステップとをさらに有するようにしてもよい。
クエリを伝播させる範囲を示す値、すなわちＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）により制御されるクエリの伝播範囲は、適宜自由に設定することができる。
【００１３】
また、本発明にかかるリソース検索システムは、ネットワーク上の複数のピアにより分散管理された意味ベクトル空間に基づいて、リソース保持ピアにより保持されているリソースを検索するリソース検索システムであって、リソース保持ピアは、リソースを保持するリソース保持手段と、意味ベクトル空間上に、リソースのインデックス情報をリソースの内容を表現したリソース意味ベクトルに基づいて関連づけるインデックス登録手段とを有し、リソースの取得を所望するユーザピアは、リソースの詳細情報および所望するリソースを表すキーワードから得られるクエリ意味ベクトルを含むクエリを隣接するインデックス保持ピアに送信するクエリ送信手段を有し、インデックス保持ピアは、意味ベクトル空間上の自身が対応する位置に関連づけられたインデックス情報を保持するインデックス保持手段と、ユーザピアまたは隣接するインデックス保持ピアから受信したクエリを、このクエリに含まれるクエリ意味ベクトルを意味ベクトル空間上に射影することによって定まる方向に隣接するピアに転送する第１のクエリ転送手段と、隣接ピアから受信したクエリに含まれるクエリ意味ベクトルを意味ベクトル空間上に射影することによって定まる位置が、意味ベクトル空間上の自身が対応する位置の場合、クエリをフラッディングで隣接ピアに転送する第２のクエリ転送手段と、フラッディングで転送されたクエリを受信し、このクエリに含まれた詳細情報に対応するリソースのインデックス情報を有する場合、インデックス情報をユーザピアに送信するインデックス送信手段とを有することを特徴とする。
【００１４】
上記リソース検索システムにおいて、ユーザピアは、インデックス保持ピアから受信したインデックス情報を参照してリソース保持ピアからリソースを取得するリソース取得手段と、リソース保持ピアから取得したリソースにどの程度満足したかを表す満足値をリソース保持ピアに送信する評価手段とをさらに備え、リソース保持ピアのインデックス登録手段は、満足値に基づいてリソースのリソース意味ベクトルを更新するようにしてもよい。
【００１５】
上記リソース検索システムにおいて、リソース保持ピアのインデックス登録手段は、クエリに含まれるクエリ意味ベクトルからリソースのリソース意味ベクトルを引いた差分ベクトルに満足値に基づく値を乗じた増加分ベクトルに基づいて、リソースのリソース意味ベクトルを更新するようにしてもよい。
【００１６】
上記リソース検索システムにおいて、リソース保持ピアのインデックス登録手段は、満足値が正の値の場合はリソースの評価を表す評価値を加算し、満足値が負の値の場合は評価値を減算し、評価値が所定の閾値以下になると、リソース保持ピアによりリソースを削除するようにしてもよい。
【００１７】
上記リソース検索システムにおいて、インデックス保持ピアの第２のクエリ転送手段は、クエリを伝播させる範囲を示す値を付与したクエリを隣接するインデックス保持ピアにフラッディングで転送するようにしてもよい。
【発明の効果】
【００１８】
本発明によれば、リソース意味ベクトルをリソースの内容を表現した意味ベクトルに基づいて生成することにより、適切な意味ベクトルを生成できるので、効果的なリソース検索が可能となる。
また、本発明によれば、クエリがクエリ意味ベクトルによって定まる方向に転送され、このクエリが転送された第３のピアによりクエリがフラッディングで転送され、フラッディングで転送された第４のピアのうち、クエリに含まれた詳細情報に対応するリソースのインデックス情報を有するピアによりインデックス情報が第１のピアに送信される。これにより、Ｐ２Ｐ検索において、欲するリソースに近いリソースのインデックス情報を保持するピアを中心に検索することができるため、効果的なリソース検索ができる。
【００１９】
また、本発明によれば、ベクトル空間を各ピアで分散して管理することにより、多数のインデックス情報に基づいてリソースの検索が可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図１は、本実施の形態にかかるリソース検索システムの構成を示す模式図、図２は、ネットワークに接続されてピアとして動作する端末の構成を示す模式図である。
図１に示すように、本実施の形態にかかるリソース検索システムは、インターネット、ＬＡＮ(Local Area Network)、ＷＡＮ(Wide Area Network)等のＰ２Ｐ検索が可能なネットワーク１と、このネットワークに接続された複数の端末２とから構成される。
【００２１】
ネットワーク１に接続された複数の端末２は、リソース検索を行う際、クエリを送信するユーザピア３、クエリを転送またはインデックス情報を送信するインデックス保持ピア４およびリソースを保持しているリソース保持ピア５の何れかとしてそれぞれ機能する。したがって、端末２は、リソース検索の内容に応じて、ユーザピア３として機能したり、インデックス保持ピア４またはリソース保持ピア５として機能したりする。
【００２２】
図２に端末２がユーザピア３、インデックス保持ピア４、およびリソース保持ピア５として作用するために必要な機能を各種ピア毎に表した機能ブロック図を示す。
図２に示すように、端末２は、ユーザピア３、インデックス保持ピア４およびリソース保持ピア５として作用するための必要な各機能と、空間管理部２１とを有する。
空間管理部２１は、後述する意味ベクトル空間を記憶し、他のピアと協働して意味ベクトル空間を分散管理する。
【００２３】
ここで、意味ベクトル空間および意味ベクトル空間の分散管理について説明する。
リソースは、Ｎ次元の意味ベクトルで表現される。意味ベクトルの各軸の成分の値は、そのリソースがどれだけ軸の意味を含んでいるかを示す。
例えば、意味ベクトルの軸が「数学」、「国語」、「理科」、「社会」の４つの軸を有する場合について考える。このとき、「整数論」というリソースは、「数学」の要素しか有しないので、その意味ベクトルは（１，０，０，０）で表される。また、「経済学」というリソースは、「数学」と「社会」の要素を有するため、意味ベクトルは（０．７１，０，０，０．７１）のように２つの軸の重ね合わせで表現される。
このように、一般にリソースはＮ次元の意味ベクトルで表現される。意味ベクトルの長さが１に規格化されている場合、リソース同士の意味ベクトルの内積がリソースの意味の近さと表す。
【００２４】
後述するが、本実施の形態では、意味ベクトルは長さが１に規格化されるため、Ｎ次元の意味ベクトルを極座標で表示するとＮ−１の自由度しかないので、Ｎ−１次元の空間上にマッピングすることができる。このように、極座標で表された各リソースの意味ベクトルがマッピングされたＮ−１次元の空間を、意味ベクトル空間と言う。
【００２５】
図３は、意味ベクトル空間を説明する図である。
図３に示す意味ベクトル空間は、Ｎが３である。したがって、意味ベクトル空間は２次元で表現される。このような意味ベクトル空間において、リソースＡ，Ｂ，Ｃのインデックス情報がマッピングされている。
【００２６】
図４は、図３に示す意味ベクトル空間の分割管理を説明する図である。
各ピアの性能は、サーバよりも低いため、全空間を一つのピアが管理するのは困難である。したがって、意味ベクトル空間は、ネットワークに参加する全てのピアで分散管理する。図４に示す意味ベクトル空間は、図３に示す意味ベクトル空間を１６個のピアで管理する例を示しており、空間を等分割して各ピアで管理している。具体的には、リソースＡのインデックス情報はピアｆに、リソースＢのインデックス情報はピアｌに、リソースＣのインデックス情報はピアｍに、登録される。
なお、ピア毎に性能は異なる場合があるので、性能の高いピアはより大きな空間を管理し、性能の低いピアは小さな空間を管理するようにしてもよい。
【００２７】
図５は、ピアの増減が生じたときの意味ベクトル空間の分割管理を説明する図である。
ピアは、サーバのように常時起動しているとは限らず、ネットワークから離脱したり、ネットワークに新たに加入する場合がある。このような場合の動作について説明する。
例えば、ピアｆが離脱する場合、ピアｆは、離脱する前に自分の管理する空間に登録されたインデックス情報をピアｅに渡し、ピアｅがピアｆの分の管理空間も併せて管理する。また、ピアｑが新たに加入する場合、ピアｍは、自分の管理空間の半分をピアｑに任せる。この任せた範囲にインデックス情報が含まれる場合、ピアｍは、そのインデックス情報をピアｑに渡す。
このようにすることにより、本実施の形態では、ピアの増減があった場合でも、意味ベクトル空間の分割管理が可能となる。
このようなＮ−１次元の空間の分散管理の方法は、非特許文献２に記載されたＣＡＮを参考にしている。
【００２８】
端末２がユーザピア３として機能する場合、ユーザピア３は、クエリ送信部３１と、インデックス受信部３２と、リソース取得部３３と、評価部３４とを少なくとも有する。
【００２９】
クエリ送信部３１は、ユーザの操作入力に基づいて、ユーザが所望するリソースのインデックス情報を要求する旨のクエリをネットワーク１に送信する。このクエリには、リソースのキーワードなどリソースの詳細に関する詳細情報と、ユーザピア３のネットワーク１上の位置を示すエンドポイント情報と、所望するリソースの意味ベクトルであるクエリ意味ベクトルとが少なくとも含まれる。このクエリ意味ベクトルの詳細については、後述する。
【００３０】
インデックス受信部３２は、インデックス保持ピア４からユーザが所望するリソースのインデックス情報を受信する。
リソース取得部３３は、受信したインデックス情報に基づいてリソース保持ピア５にアクセスし、リソースを取得する。
評価部３４は、ユーザの操作入力に基づいて、リソースの満足度に関する満足値をリソース保持ピア５に送信する。
【００３１】
端末２がインデックス保持ピア４として機能する場合、インデックス保持ピア４は、クエリ転送部４１と、インデックス保持部４２と、インデックス送信部４３とを少なくとも有する。
【００３２】
クエリ転送部４１は、クエリを受信すると、空間管理部２１において管理されている意味ベクトル空間を参照して、クエリ意味ベクトルを意味ベクトル空間上に射影することによって定まる方向に隣接するピアに、受信したクエリを転送する。また、クエリ転送部４１は、受信したクエリにより指定された意味ベクトル空間上の位置に対応する場合、受信したクエリを隣接するピアにＦｌｏｏｄｉｎｇにより転送する。
インデックス保持部４２は、意味ベクトル空間上で割り当てられた自身の位置に任意のリソースのインデックス情報が対応付けられている場合、そのインデックス情報を記憶する。このインデックス情報には、任意のリソースのリソース名や任意のリソースのネットワーク１上の位置を示すエンドポイント情報が含まれる。
インデックス送信部４３は、受信したクエリの詳細情報が、自身が保持しているインデックス情報に適合する場合、このインデックス情報をユーザピア３に送信する。
【００３３】
端末２がリソース保持ピア５として機能する場合、リソース保持ピア５は、リソース保持部５１と、インデックス登録部５２とを少なくとも有する。
【００３４】
リソース保持部５１は、リソースを保持しており、ユーザピア３の要求に応じて、ユーザピア３にリソースを提供する。
【００３５】
インデックス登録部５２は、自身が保持しているリソースのインデックス情報を、そのリソースの意味ベクトル（以下、リソース意味ベクトルという）に基づいて意味ベクトル空間に関連づける。また、インデックス登録部５２は、ユーザピア３から受信した満足値に基づいて自身のリソースの評価値を更新し、また満足値に基づいてリソース意味ベクトルを更新し、更新したリソース意味ベクトルに基づいてインデックス情報を意味ベクトル空間に再び関連づける。
例えば、ユーザピア３から受信した満足値が正の値の場合、インデックス登録部５２は、評価値を増やす。一方、満足度が負の場合、評価値を減ずる。また、評価値が任意の閾値を下回ると、インデックス情報またはリソースを削除する。
なお、満足値は、１以下の絶対値で表される。
【００３６】
このようなユーザピア３、インデックス保持ピア４およびリソース保持ピア５の何れかとして機能する端末２は、ＣＰＵ等の演算装置、メモリ、HDD等の記憶装置、他の端末２と各種情報の送受を行うＩ/Ｆ装置、キーボード、マウス等の入力装置、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、FED(Field Emission Display)または有機EL(Electro Luminescence)等の表示装置などを備えたコンピュータと、このコンピュータにインストールされたプログラムとからそれぞれ構成されており、上記ハードウェア装置がプログラムによって制御されることによって、すなわちハードウェア資源とソフトウェアが協働することによって、上述したユーザピア３、インデックス保持ピア４およびリソース保持ピア５の各機能部を実現する。
【００３７】
次に、クエリ意味ベクトルについて説明する。
クエリ意味ベクトルは、例えば、ユーザにより入力された２つのキーワードを日本語意味属性にマッピングしてベクトル成分が非零な軸を決定し、その成分として両方とも１／（２1/2）として決定するようにしてもよい。ベクトル長は常に１とする。なお、ベクトル成分については、乗じる任意の値を適宜自由に設定することができる。
【００３８】
次に、リソース意味ベクトルについて説明する。
本実施の形態にかかるリソース検索システムでは、検索対象がリソースであるため、ベクトル空間法を適用する際に、ベクトル成分が０ではない非零な軸、並びにその成分にｈｔｍｌ文章中の単語および単語頻度を使うことができない。このため、本実施の形態では、「ベクトル成分が非零な軸」にリソース名から得られる単語の意味属性、「ベクトル成分」にユーザピア３の評価により変動する値を用いる。ベクトル成分が非零の軸およびベクトル成分の決定方法は、以下の通りである。
【００３９】
まず、ベクトル成分が非零の軸を決定するには、リソース名から単語を抜き出し、その単語を日本語意味属性（Ｎ種）にマッピングすることにより、軸を決定する。例えば、リソース名の単語が「同僚」、「メンバ」、「座員」の場合、意味属性は「同士」となる。
なお、日本語の単語意味属性は３０００種で、全体で１２段のツリーで表現できる。しかし、Ｐ２Ｐ的クエリ転送の実用を考慮すると、ベクトル次元数は２０以下でないと現実的ではない。したがって、ツリー４段目（２１種）程度の高いレベルの意味属性を用いるのが望ましい。
【００４０】
ベクトル成分を決定するには、ベクトル成分を［０，１］とし、初回登録時には成分が非零な軸の成分を全て１／（ｎ1/2）とする。ただし、ｎは成分が非零な軸数、ベクトル長さは常に１とする。これにより、ベクトル長さが正規化されるため、意味ベクトルを極座標表示すると、自由度がＮ−１の角度空間で表現することが可能となる。
このようなベクトル成分は、ユーザがリソースを取得した際に送信する満足値［−１，１］により更新され、再登録される。
【００４１】
次に、リソース意味ベクトルの更新動作について説明する。図６は、リソース意味ベクトルの更新動作を説明する模式図である。なお、この図６は、満足値が負の値をとる場合を表している。
リソース意味ベクトルをＲ、クエリ意味ベクトルをＱ、満足値をａと定義すると、Ｒの更新するアップデートベクトルΔＲは、ａ（Ｑ−Ｒ）で示される。ユーザピア３から受信した満足値による更新後のリソース意味ベクトルは、（Ｒ＋ΔＲ）／｜Ｒ＋ΔＲ｜となる。なお、ΔＲの非零成分の軸の中にＲの零成分の軸がある場合は、その軸の成分はアップデートせず、零のままにする。
これにより、ユーザによる評価が繰り返されると、リソースはユーザピア３の評価を学習し、自身に最適なＲが自動的に導出される。
【００４２】
なお、ウィルスなどの常に負の満足値のリソースは存在する。この場合、ユーザピア３から受信する満足値は負の値をとり、評価値が任意の閾値以下になると、リソース保持ピア５は、そのリソースのインデックス情報またはリソースを削除するようにしてもよい。
【００４３】
次に、ＣＡＮトポロジについて、説明する。
ＣＡＮは、リソースのファイル名をハッシュ関数にかけ、高次元ハッシュ空間にマッピングして、その空間を全ピアで分割して、リソースインデックスを管理する方法である。本実施の形態では、リソースはハッシュ空間ではなく、意味ベクトル空間にマッピングされるが、その分割管理およびクエリルーティングの方法は、ＣＡＮトポロジを適用する。ここで、意味ベクトル空間は、正確には自由度がＮ−１の角度空間であり、Ｒ，Ｑベクトルの角度空間への射影をそれぞれＲａｎｇ，Ｑａｎｇベクトルとする。
【００４４】
図７は、Ｆｌｏｏｄｉｎｇを説明する図である。
インデックスの検索時は、意味ベクトル空間において、ユーザのＱａｎｇベクトルに対応するピアを中心として、隣接するピア、すなわち意味的に近いリソース群にクエリをＦｌｏｏｄｉｎｇする。例えば、図７に示す複数のピアで分割された意味ベクトル空間において、ピアＣを中心とした場合、このピアＣから隣接するピアにクエリがＦｌｏｏｄｉｎｇされる。なお、図４における矢印は、クエリが転送される方向を示す。
このようなＣＡＮトポロジの利用により、分割管理および同じピアへの複数回クエリ転送の遮断がスムーズに実現できる。
なお、ＣＡＮトポロジについては、非特許文献２に詳述されている。
【００４５】
次に、図８を参照して、本実施の形態にかかるリソース検索システムの動作について説明する。図８は、本実施の形態にかかるリソース検索システムの動作を説明する模式図である。
【００４６】
まず、予めリソース保持ピア５は、保持しているリソースのリソース意味ベクトルを意味ベクトル空間に射影し、導出されたＲａｎｇベクトルに対応する意味ベクトル空間上の位置に、保持しているリソースのインデックス情報の関連づけを行う（ステップＳ１）。リソース意味ベクトルは、ユーザピア３により評価されて再び関連づけられたものでも、初めて関連づけるものでもよい。
【００４７】
図８に示す意味ベクトル空間は、ネットワーク１に接続された全ての端末２、すなわち全てのユーザピア３、インデックス保持ピア４およびリソース保持ピア５で分割されている。この意味ベクトル空間において、隣接するピアは、意味的に近いリソースのインデックス情報を保持しているピアであると言える。このような意味ベクトル空間は、各ピアで分散して管理されている。
このような意味ベクトル空間上において、インデックス情報が関連づけられた位置に対応するインデックス保持ピア４は、そのインデックス情報を保持している。
【００４８】
なお、インデックス保持ピア４は、インデックス情報に有効期限を設け、期限が切れるとインデックス情報を削除するようにしてもよい。
また、インデックス保持ピア４は、インデックス情報を保持していなくてもよい。この場合、インデックス保持ピア４は、主にクエリの転送動作を行う。
【００４９】
次に、ユーザが任意のリソースの取得を所望する場合、ユーザピア３は、ユーザの操作入力に基づいてクエリを送信する（ステップＳ２）。
クエリには、リソースの詳細条件、クエリ意味ベクトルおよびユーザピア３のエンドポイント情報が含まれる。送信されたクエリは、ネットワーク１において、Ｑａｎｇベクトルの方向に転送される。具体的には、ユーザピア３は、クエリ意味ベクトルを意味ベクトル空間に射影してＱａｎｇベクトルを生成し、このＱａｎｇベクトルの方向に隣接するインデックス保持ピア４にクエリを送信する。クエリを受信したインデックス保持ピア４は、Ｑａｎｇベクトルの方向にピアを順次転送する。これにより、クエリは、Ｑａｎｇベクトルが指定する位置に対応するピアまで転送される。
【００５０】
クエリがＱａｎｇベクトルが指定する位置に対応するインデックス保持ピア４に到達すると、このピアを中心としてクエリをＦｌｏｏｄｉｎｇする（ステップＳ３）。すなわち、ユーザピア３が送信したクエリ意味ベクトルと近い意味のインデックス保持ピア４にクエリをＦｌｏｏｄｉｎｇする。
【００５１】
クエリに含まれる詳細情報に適合するリソースのインデックス情報を有するリソース保持ピア５にクエリが到達すると、このリソース保持ピア５は、リソースのインデックス情報をユーザピア３に送信する（ステップＳ４）。
クエリに記述された詳細情報には、ユーザが所望するリソースのキーワード等が含まれており、例えば、そのキーワードとリソース名とが部分一致すると、リソース保持ピア５は、そのクエリの送信元のユーザピア３にインデックス情報を送信する。
【００５２】
インデックス情報を受信すると、ユーザピア３は、そのインデックス情報に基づいてリソース保持ピア５にアクセスし、リソースを取得する（ステップＳ５）。インデックス情報には、リソースのリソース名やリソース保持ピア５のネットワーク１上の位置を示すエンドポイント情報等が含まれている。このようなインデックス情報に基づいて、ユーザピア３は、リソース保持ピア５にアクセスする。
【００５３】
リソースを取得すると、ユーザピア３は、ユーザの操作入力に基づいて、取得したリソースの満足度に関する満足値をリソースのリソース保持ピア５に送信する（ステップＳ６）。
【００５４】
満足値を受信すると、リソース保持ピア５は、リソース意味ベクトルを更新し、このリソース意味ベクトルを意味ベクトル空間へ射影し、生成されたＲａｎｇベクトルに基づいてインデックス情報を再度関連づける（ステップＳ７）。
なお、図５では、負の満足値の場合のインデックス情報の関連づけを表している。
【００５５】
このように、本実施の形態によれば、リソース意味ベクトルをリソース名およびユーザ満足値に基づいて生成することにより、適切なリソース意味ベクトルを生成できるので、効果的なリソース検索が可能となる。
【００５６】
また、本実施の形態によれば、クエリがクエリ意味ベクトルによって定まる方向に転送され、このクエリが転送されたインデックス保持ピア４によりクエリがフラッディングで転送され、フラッディングで転送されたピアのうち、クエリに含まれた詳細情報に対応するリソースのインデックス情報を有するインデックス保持ピア４によりインデックス情報がユーザピア３に送信される。これにより、Ｐ２Ｐ検索において、欲するリソースに近いリソースのインデックス情報を保持するピアを中心に検索することができるため、効果的なリソース検索ができる。
【００５７】
さらに、本実施の形態によれば、ベクトル空間を各ピアで分散して管理することにより、多数のインデックス情報に基づいてリソースの検索が可能となる。
【００５８】
図９は、２段階のＦｌｏｏｄｉｎｇ法を説明する図である。図９において、大円は、第１段階のＦｌｏｏｄｉｎｇを示し、複数ある小円は、第２段階のＦｌｏｏｄｉｎｇを示す。
ステップＳ２において、クエリ意味ベクトルの指定が困難な場合、ユーザピア３は、隣接するリソース保持ピア５に中程度（例えば、〜３ピア）伝播するＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）値を付与したクエリをＦｌｏｏｄｉｎｇする（図６の大円に対応）。これにより、クエリの詳細情報に適合するインデックス情報を有するリソース保持ピア５が検出されると、このリソース保持ピア５は、インデックス情報をユーザピア３に送信する。また、このリソース保持ピア５は、このピアを中心として、隣接するリソース保持ピア５に中程度（例えば、〜３ピア）伝播するＴＴＬ値を付与したクエリをＦｌｏｏｄｉｎｇする（図６の小円に対応）。これにより、クエリの詳細情報に適合するインデックス情報を有するリソース保持ピア５がさらに検出されると、このリソース保持ピア５は、インデックス情報をユーザピア３に送信する。
このような２段階のＦｌｏｏｄｉｎｇ法を用いることにより、本実施の形態では、所望するリソースをより効果的に検索することが可能となる。
【００５９】
なお、２段階のＦｌｏｏｄｉｎｇ法において、ＴＴＬ値は適宜自由に設定することができる。
【図面の簡単な説明】
【００６０】
【図１】リソース検索システムの構成を示す模式図である。
【図２】各ピアの構成を示す模式図である。
【図３】意味ベクトル空間を説明する図である。
【図４】図３に示す意味ベクトル空間の分割管理を説明する図である。
【図５】ピアの増減が生じたときの意味ベクトル空間の分割管理を説明する図である。
【図６】リソース意味ベクトルの更新動作を説明する模式図である。
【図７】Ｆｌｏｏｄｉｎｇを説明する図である。
【図８】リソース検索システムの動作を説明する模式図である。
【図９】２段階のＦｌｏｏｄｉｎｇ法を説明する図である。
【符号の説明】
【００６１】
１…ネットワーク、２…端末、３…ユーザピア、４…インデックス保持ピア、５…リソース保持ピア、２１…空間管理部、３１…クエリ送信部、３２…インデックス受信部、３３…リソース取得部、３４…評価部、４１…クエリ転送部、４２…インデックス保持部、４３…インデックス送信部、５１…リソース保持部、５２…インデックス登録部。
【図１】
2006048511.tif 000003
【図２】
2006048511.tif 000004
【図３】
2006048511.tif 000005
【図４】
2006048511.tif 000006
【図５】
2006048511.tif 000007
【図６】
2006048511.tif 000008
【図７】
2006048511.tif 000009
【図８】
2006048511.tif 000010
【図９】
2006048511.tif 000011