説明

リソース検索方法およびリソース検索システム

【課題】効果的にリソースを検索することができるリソース検索方法を提供する。
【解決手段】リソース保持ピア5は、リソース意味ベクトルをリソース名およびユーザ評価値に基づいて生成することにより、適切なリソース意味ベクトルを生成できるので、効果的なリソース検索が可能となる。
また、クエリがクエリ意味ベクトルによって定まる方向に転送され、このクエリが転送されたインデックス保持ピア4によりクエリがフラッディングで転送され、フラッディングで転送されたピアのうち、クエリに含まれた詳細情報に対応するリソースのインデックス情報を有するインデックス保持ピア4によりインデックス情報がユーザピア3に送信される。これにより、P2P検索において、欲するリソースに近いリソースのインデックス情報を保持するピアを中心に検索することができるため、効果的なリソース検索ができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上のリソースを、ユーザがP2P(Peer to Peer)的に検索するリソース検索方法およびリソース検索システムに関するものである。
【背景技術】
【0002】
近年、IT(Information Technology)技術の進歩により、Web Services、Webページ、デバイス、コンテンツ等の数多くのリソースがネットワークを介してアクセス可能となっており、そのようなリソースを検索する方法が数多く開発されている。その中でも、耐障害性やサーバコストの低減、不要な管理の削除などを目的として、P2P的検索技術の開発が進んでいる。
【0003】
典型的なP2P検索技術であるGnutellaは、Floodingでクエリを転送するため、キーワードはマッチするが内容が適切ではないという適合率の低いリソースの大量発見やトラフィック爆発という問題がある。このため、ユーザが所望するリソースと意味的に近いリソース群のみへクエリを伝播することや、クエリを同じピアへ複数回転送するのを遮断することなどが可能なP2P検索技術が望まれている。
【0004】
従来より、意味的に近い文章を検索する方法としては、ベクトル空間法が提案されている(例えば、非特許文献1参照。)。
このベクトル空間法は、単語の意味属性を示す座標軸からベクトル空間を構成し、文章をその文章内の単語を元にして各意味属性に対して重み付けした値をその成分とする意味ベクトルで表し、そのベクトル空間内におけるベクトル間の距離で複数の文章の類似性を判定するものである。検索対象の文章がその意味属性に応じてベクトル空間にマッピングされているので、ベクトル空間法では、所望する文章の意味ベクトル周辺を重点的に探すことにより、効率的な検索が可能となる。
【0005】
また、クエリを同じピアへ繰り返し転送せず、効率的なクエリの転送が可能な技術としては、P2P技術であるCANが提案されている(例えば、非特許文献2参照。)。
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【非特許文献1】松尾他、意味属性に基づくテキストデータベース検索方式、情報論Vol.32、No.9、1991年
【非特許文献2】S.Ratnasamy、A Scalable Content-Addressable Network、SIGCOMM 2001
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上述したようなベクトル空間法をP2Pによるリソース検索に適用しようとすると、次のような課題が発生する。
上述したように検索対象となるリソースは、Web Services、Webページ、デバイス、コンテンツ等から構成されるため、Webページ以外は、通常のベクトル空間法で行われる文章からベクトル成分を抽出することができない。一般的には、これらのリソースからベクトル成分を抽出することは困難であることから、検索に用いられる意味ベクトルを生成することができない。
また、P2P検索では、ピアの性能はサーバに劣るため、リソースのリソース名やエンドポイント情報などのインデックス情報を多く持つことができない。このため、各ピアが保持するインデックス情報は制限される。
その結果、従来では、単純にベクトル空間法をP2P検索に適用することができなかったため、効果的にリソース検索をすることができなかった。
【0007】
そこで、本発明は、上述したような課題を解決するためになされたものであり、効果的にリソースを検索することができるリソース検索方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上述したような課題を解決するために、本発明にかかるリソース検索方法は、ネットワーク上の複数のピアにより分散管理された意味ベクトル空間上に、リソースを保持しているリソース保持ピアによりリソースのインデックス情報をリソースの内容を表現したリソース意味ベクトルに基づいて関連づける第1のステップと、リソースの取得を所望する第1のピアにより所望するリソースの詳細情報および所望するリソースを表すキーワードから得られるクエリ意味ベクトルを含むクエリを隣接する第2のピアに送信する第2のステップと、第2のピアによりクエリをこのクエリに含まれるクエリ意味ベクトルを意味ベクトル空間上に射影することによって定まる方向に隣接する第3のピアに転送する第3のステップと、この第3のステップでクエリが転送された第3のピアによりクエリをフラッディングで第4のピアに転送する第4のステップと、フラッディングで転送されたクエリを受信した第4のピアのうち、クエリに含まれた詳細情報に対応するリソースのインデックス情報を有するピアによりインデックス情報を第1のピアに送信する第5のステップとを有することを特徴とする。
ここで、リソースの意味ベクトルは、リソースのファイル名やユーザによるリソースの満足度評価に基づいて表現される。
【0009】
上記リソース検索方法において、第1のピアにより第4のピアから受信したインデックス情報を参照してリソース保持ピアからリソースを取得する第6のステップと、第1のピアにより取得したリソースにどの程度満足したかを表す満足値をリソース保持ピアに送信する第7のステップと、リソース保持ピアにより満足値に基づいてリソースのリソース意味ベクトルを更新する第8のステップとをさらに有するようにしてもよい。
【0010】
上記リソース検索方法において、第8のステップは、クエリに含まれるクエリ意味ベクトルからリソースのリソース意味ベクトルを引いた差分ベクトルに満足値に基づく値を乗じた増加分ベクトルに基づいて、リソースのリソース意味ベクトルを更新するようにしてもよい。
【0011】
上記リソース検索方法において、第8のステップは、リソース保持ピアにより、満足値が正の値の場合はリソースの評価を表す評価値を加算し、満足値が負の値の場合は評価値を減算する第9のステップと、評価値が所定の閾値以下になると、リソース保持ピアによりリソースを削除する第10のステップとをさらに有するようにしてもよい。
【0012】
上記リソース検索方法において、第2のステップは、第1のピアによりクエリを伝播させる範囲を示す値を付与したクエリを隣接ピアにフラッディングで転送する第11のステップを備え、この第11のステップで転送されたクエリを受信した隣接ピアのうち、クエリに含まれた詳細情報に対応するリソースのインデックス情報を有するピアにより第1のピアにインデックス情報を送信する第12のステップと、この第12のステップでインデックス情報を送信したピアによりクエリを伝播させる範囲を示す値を付与したクエリを隣接ピアにフラッディングで転送する第13のステップと、この第13のステップで転送されたクエリを受信した隣接ピアのうち、クエリに含まれた詳細情報に対応するリソースのインデックス情報を有するピアにより第1のピアにインデックス情報を送信する第14のステップとをさらに有するようにしてもよい。
クエリを伝播させる範囲を示す値、すなわちTTL(Time To Live)により制御されるクエリの伝播範囲は、適宜自由に設定することができる。
【0013】
また、本発明にかかるリソース検索システムは、ネットワーク上の複数のピアにより分散管理された意味ベクトル空間に基づいて、リソース保持ピアにより保持されているリソースを検索するリソース検索システムであって、リソース保持ピアは、リソースを保持するリソース保持手段と、意味ベクトル空間上に、リソースのインデックス情報をリソースの内容を表現したリソース意味ベクトルに基づいて関連づけるインデックス登録手段とを有し、リソースの取得を所望するユーザピアは、リソースの詳細情報および所望するリソースを表すキーワードから得られるクエリ意味ベクトルを含むクエリを隣接するインデックス保持ピアに送信するクエリ送信手段を有し、インデックス保持ピアは、意味ベクトル空間上の自身が対応する位置に関連づけられたインデックス情報を保持するインデックス保持手段と、ユーザピアまたは隣接するインデックス保持ピアから受信したクエリを、このクエリに含まれるクエリ意味ベクトルを意味ベクトル空間上に射影することによって定まる方向に隣接するピアに転送する第1のクエリ転送手段と、隣接ピアから受信したクエリに含まれるクエリ意味ベクトルを意味ベクトル空間上に射影することによって定まる位置が、意味ベクトル空間上の自身が対応する位置の場合、クエリをフラッディングで隣接ピアに転送する第2のクエリ転送手段と、フラッディングで転送されたクエリを受信し、このクエリに含まれた詳細情報に対応するリソースのインデックス情報を有する場合、インデックス情報をユーザピアに送信するインデックス送信手段とを有することを特徴とする。
【0014】
上記リソース検索システムにおいて、ユーザピアは、インデックス保持ピアから受信したインデックス情報を参照してリソース保持ピアからリソースを取得するリソース取得手段と、リソース保持ピアから取得したリソースにどの程度満足したかを表す満足値をリソース保持ピアに送信する評価手段とをさらに備え、リソース保持ピアのインデックス登録手段は、満足値に基づいてリソースのリソース意味ベクトルを更新するようにしてもよい。
【0015】
上記リソース検索システムにおいて、リソース保持ピアのインデックス登録手段は、クエリに含まれるクエリ意味ベクトルからリソースのリソース意味ベクトルを引いた差分ベクトルに満足値に基づく値を乗じた増加分ベクトルに基づいて、リソースのリソース意味ベクトルを更新するようにしてもよい。
【0016】
上記リソース検索システムにおいて、リソース保持ピアのインデックス登録手段は、満足値が正の値の場合はリソースの評価を表す評価値を加算し、満足値が負の値の場合は評価値を減算し、評価値が所定の閾値以下になると、リソース保持ピアによりリソースを削除するようにしてもよい。
【0017】
上記リソース検索システムにおいて、インデックス保持ピアの第2のクエリ転送手段は、クエリを伝播させる範囲を示す値を付与したクエリを隣接するインデックス保持ピアにフラッディングで転送するようにしてもよい。
【発明の効果】
【0018】
本発明によれば、リソース意味ベクトルをリソースの内容を表現した意味ベクトルに基づいて生成することにより、適切な意味ベクトルを生成できるので、効果的なリソース検索が可能となる。
また、本発明によれば、クエリがクエリ意味ベクトルによって定まる方向に転送され、このクエリが転送された第3のピアによりクエリがフラッディングで転送され、フラッディングで転送された第4のピアのうち、クエリに含まれた詳細情報に対応するリソースのインデックス情報を有するピアによりインデックス情報が第1のピアに送信される。これにより、P2P検索において、欲するリソースに近いリソースのインデックス情報を保持するピアを中心に検索することができるため、効果的なリソース検索ができる。
【0019】
また、本発明によれば、ベクトル空間を各ピアで分散して管理することにより、多数のインデックス情報に基づいてリソースの検索が可能となる。
【発明を実施するための最良の形態】
【0020】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は、本実施の形態にかかるリソース検索システムの構成を示す模式図、図2は、ネットワークに接続されてピアとして動作する端末の構成を示す模式図である。
図1に示すように、本実施の形態にかかるリソース検索システムは、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等のP2P検索が可能なネットワーク1と、このネットワークに接続された複数の端末2とから構成される。
【0021】
ネットワーク1に接続された複数の端末2は、リソース検索を行う際、クエリを送信するユーザピア3、クエリを転送またはインデックス情報を送信するインデックス保持ピア4およびリソースを保持しているリソース保持ピア5の何れかとしてそれぞれ機能する。したがって、端末2は、リソース検索の内容に応じて、ユーザピア3として機能したり、インデックス保持ピア4またはリソース保持ピア5として機能したりする。
【0022】
図2に端末2がユーザピア3、インデックス保持ピア4、およびリソース保持ピア5として作用するために必要な機能を各種ピア毎に表した機能ブロック図を示す。
図2に示すように、端末2は、ユーザピア3、インデックス保持ピア4およびリソース保持ピア5として作用するための必要な各機能と、空間管理部21とを有する。
空間管理部21は、後述する意味ベクトル空間を記憶し、他のピアと協働して意味ベクトル空間を分散管理する。
【0023】
ここで、意味ベクトル空間および意味ベクトル空間の分散管理について説明する。
リソースは、N次元の意味ベクトルで表現される。意味ベクトルの各軸の成分の値は、そのリソースがどれだけ軸の意味を含んでいるかを示す。
例えば、意味ベクトルの軸が「数学」、「国語」、「理科」、「社会」の4つの軸を有する場合について考える。このとき、「整数論」というリソースは、「数学」の要素しか有しないので、その意味ベクトルは(1,0,0,0)で表される。また、「経済学」というリソースは、「数学」と「社会」の要素を有するため、意味ベクトルは(0.71,0,0,0.71)のように2つの軸の重ね合わせで表現される。
このように、一般にリソースはN次元の意味ベクトルで表現される。意味ベクトルの長さが1に規格化されている場合、リソース同士の意味ベクトルの内積がリソースの意味の近さと表す。
【0024】
後述するが、本実施の形態では、意味ベクトルは長さが1に規格化されるため、N次元の意味ベクトルを極座標で表示するとN−1の自由度しかないので、N−1次元の空間上にマッピングすることができる。このように、極座標で表された各リソースの意味ベクトルがマッピングされたN−1次元の空間を、意味ベクトル空間と言う。
【0025】
図3は、意味ベクトル空間を説明する図である。
図3に示す意味ベクトル空間は、Nが3である。したがって、意味ベクトル空間は2次元で表現される。このような意味ベクトル空間において、リソースA,B,Cのインデックス情報がマッピングされている。
【0026】
図4は、図3に示す意味ベクトル空間の分割管理を説明する図である。
各ピアの性能は、サーバよりも低いため、全空間を一つのピアが管理するのは困難である。したがって、意味ベクトル空間は、ネットワークに参加する全てのピアで分散管理する。図4に示す意味ベクトル空間は、図3に示す意味ベクトル空間を16個のピアで管理する例を示しており、空間を等分割して各ピアで管理している。具体的には、リソースAのインデックス情報はピアfに、リソースBのインデックス情報はピアlに、リソースCのインデックス情報はピアmに、登録される。
なお、ピア毎に性能は異なる場合があるので、性能の高いピアはより大きな空間を管理し、性能の低いピアは小さな空間を管理するようにしてもよい。
【0027】
図5は、ピアの増減が生じたときの意味ベクトル空間の分割管理を説明する図である。
ピアは、サーバのように常時起動しているとは限らず、ネットワークから離脱したり、ネットワークに新たに加入する場合がある。このような場合の動作について説明する。
例えば、ピアfが離脱する場合、ピアfは、離脱する前に自分の管理する空間に登録されたインデックス情報をピアeに渡し、ピアeがピアfの分の管理空間も併せて管理する。また、ピアqが新たに加入する場合、ピアmは、自分の管理空間の半分をピアqに任せる。この任せた範囲にインデックス情報が含まれる場合、ピアmは、そのインデックス情報をピアqに渡す。
このようにすることにより、本実施の形態では、ピアの増減があった場合でも、意味ベクトル空間の分割管理が可能となる。
このようなN−1次元の空間の分散管理の方法は、非特許文献2に記載されたCANを参考にしている。
【0028】
端末2がユーザピア3として機能する場合、ユーザピア3は、クエリ送信部31と、インデックス受信部32と、リソース取得部33と、評価部34とを少なくとも有する。
【0029】
クエリ送信部31は、ユーザの操作入力に基づいて、ユーザが所望するリソースのインデックス情報を要求する旨のクエリをネットワーク1に送信する。このクエリには、リソースのキーワードなどリソースの詳細に関する詳細情報と、ユーザピア3のネットワーク1上の位置を示すエンドポイント情報と、所望するリソースの意味ベクトルであるクエリ意味ベクトルとが少なくとも含まれる。このクエリ意味ベクトルの詳細については、後述する。
【0030】
インデックス受信部32は、インデックス保持ピア4からユーザが所望するリソースのインデックス情報を受信する。
リソース取得部33は、受信したインデックス情報に基づいてリソース保持ピア5にアクセスし、リソースを取得する。
評価部34は、ユーザの操作入力に基づいて、リソースの満足度に関する満足値をリソース保持ピア5に送信する。
【0031】
端末2がインデックス保持ピア4として機能する場合、インデックス保持ピア4は、クエリ転送部41と、インデックス保持部42と、インデックス送信部43とを少なくとも有する。
【0032】
クエリ転送部41は、クエリを受信すると、空間管理部21において管理されている意味ベクトル空間を参照して、クエリ意味ベクトルを意味ベクトル空間上に射影することによって定まる方向に隣接するピアに、受信したクエリを転送する。また、クエリ転送部41は、受信したクエリにより指定された意味ベクトル空間上の位置に対応する場合、受信したクエリを隣接するピアにFloodingにより転送する。
インデックス保持部42は、意味ベクトル空間上で割り当てられた自身の位置に任意のリソースのインデックス情報が対応付けられている場合、そのインデックス情報を記憶する。このインデックス情報には、任意のリソースのリソース名や任意のリソースのネットワーク1上の位置を示すエンドポイント情報が含まれる。
インデックス送信部43は、受信したクエリの詳細情報が、自身が保持しているインデックス情報に適合する場合、このインデックス情報をユーザピア3に送信する。
【0033】
端末2がリソース保持ピア5として機能する場合、リソース保持ピア5は、リソース保持部51と、インデックス登録部52とを少なくとも有する。
【0034】
リソース保持部51は、リソースを保持しており、ユーザピア3の要求に応じて、ユーザピア3にリソースを提供する。
【0035】
インデックス登録部52は、自身が保持しているリソースのインデックス情報を、そのリソースの意味ベクトル(以下、リソース意味ベクトルという)に基づいて意味ベクトル空間に関連づける。また、インデックス登録部52は、ユーザピア3から受信した満足値に基づいて自身のリソースの評価値を更新し、また満足値に基づいてリソース意味ベクトルを更新し、更新したリソース意味ベクトルに基づいてインデックス情報を意味ベクトル空間に再び関連づける。
例えば、ユーザピア3から受信した満足値が正の値の場合、インデックス登録部52は、評価値を増やす。一方、満足度が負の場合、評価値を減ずる。また、評価値が任意の閾値を下回ると、インデックス情報またはリソースを削除する。
なお、満足値は、1以下の絶対値で表される。
【0036】
このようなユーザピア3、インデックス保持ピア4およびリソース保持ピア5の何れかとして機能する端末2は、CPU等の演算装置、メモリ、HDD等の記憶装置、他の端末2と各種情報の送受を行うI/F装置、キーボード、マウス等の入力装置、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、FED(Field Emission Display)または有機EL(Electro Luminescence)等の表示装置などを備えたコンピュータと、このコンピュータにインストールされたプログラムとからそれぞれ構成されており、上記ハードウェア装置がプログラムによって制御されることによって、すなわちハードウェア資源とソフトウェアが協働することによって、上述したユーザピア3、インデックス保持ピア4およびリソース保持ピア5の各機能部を実現する。
【0037】
次に、クエリ意味ベクトルについて説明する。
クエリ意味ベクトルは、例えば、ユーザにより入力された2つのキーワードを日本語意味属性にマッピングしてベクトル成分が非零な軸を決定し、その成分として両方とも1/(21/2)として決定するようにしてもよい。ベクトル長は常に1とする。なお、ベクトル成分については、乗じる任意の値を適宜自由に設定することができる。
【0038】
次に、リソース意味ベクトルについて説明する。
本実施の形態にかかるリソース検索システムでは、検索対象がリソースであるため、ベクトル空間法を適用する際に、ベクトル成分が0ではない非零な軸、並びにその成分にhtml文章中の単語および単語頻度を使うことができない。このため、本実施の形態では、「ベクトル成分が非零な軸」にリソース名から得られる単語の意味属性、「ベクトル成分」にユーザピア3の評価により変動する値を用いる。ベクトル成分が非零の軸およびベクトル成分の決定方法は、以下の通りである。
【0039】
まず、ベクトル成分が非零の軸を決定するには、リソース名から単語を抜き出し、その単語を日本語意味属性(N種)にマッピングすることにより、軸を決定する。例えば、リソース名の単語が「同僚」、「メンバ」、「座員」の場合、意味属性は「同士」となる。
なお、日本語の単語意味属性は3000種で、全体で12段のツリーで表現できる。しかし、P2P的クエリ転送の実用を考慮すると、ベクトル次元数は20以下でないと現実的ではない。したがって、ツリー4段目(21種)程度の高いレベルの意味属性を用いるのが望ましい。
【0040】
ベクトル成分を決定するには、ベクトル成分を[0,1]とし、初回登録時には成分が非零な軸の成分を全て1/(n1/2)とする。ただし、nは成分が非零な軸数、ベクトル長さは常に1とする。これにより、ベクトル長さが正規化されるため、意味ベクトルを極座標表示すると、自由度がN−1の角度空間で表現することが可能となる。
このようなベクトル成分は、ユーザがリソースを取得した際に送信する満足値[−1,1]により更新され、再登録される。
【0041】
次に、リソース意味ベクトルの更新動作について説明する。図6は、リソース意味ベクトルの更新動作を説明する模式図である。なお、この図6は、満足値が負の値をとる場合を表している。
リソース意味ベクトルをR、クエリ意味ベクトルをQ、満足値をaと定義すると、Rの更新するアップデートベクトルΔRは、a(Q−R)で示される。ユーザピア3から受信した満足値による更新後のリソース意味ベクトルは、(R+ΔR)/|R+ΔR|となる。なお、ΔRの非零成分の軸の中にRの零成分の軸がある場合は、その軸の成分はアップデートせず、零のままにする。
これにより、ユーザによる評価が繰り返されると、リソースはユーザピア3の評価を学習し、自身に最適なRが自動的に導出される。
【0042】
なお、ウィルスなどの常に負の満足値のリソースは存在する。この場合、ユーザピア3から受信する満足値は負の値をとり、評価値が任意の閾値以下になると、リソース保持ピア5は、そのリソースのインデックス情報またはリソースを削除するようにしてもよい。
【0043】
次に、CANトポロジについて、説明する。
CANは、リソースのファイル名をハッシュ関数にかけ、高次元ハッシュ空間にマッピングして、その空間を全ピアで分割して、リソースインデックスを管理する方法である。本実施の形態では、リソースはハッシュ空間ではなく、意味ベクトル空間にマッピングされるが、その分割管理およびクエリルーティングの方法は、CANトポロジを適用する。ここで、意味ベクトル空間は、正確には自由度がN−1の角度空間であり、R,Qベクトルの角度空間への射影をそれぞれRang,Qangベクトルとする。
【0044】
図7は、Floodingを説明する図である。
インデックスの検索時は、意味ベクトル空間において、ユーザのQangベクトルに対応するピアを中心として、隣接するピア、すなわち意味的に近いリソース群にクエリをFloodingする。例えば、図7に示す複数のピアで分割された意味ベクトル空間において、ピアCを中心とした場合、このピアCから隣接するピアにクエリがFloodingされる。なお、図4における矢印は、クエリが転送される方向を示す。
このようなCANトポロジの利用により、分割管理および同じピアへの複数回クエリ転送の遮断がスムーズに実現できる。
なお、CANトポロジについては、非特許文献2に詳述されている。
【0045】
次に、図8を参照して、本実施の形態にかかるリソース検索システムの動作について説明する。図8は、本実施の形態にかかるリソース検索システムの動作を説明する模式図である。
【0046】
まず、予めリソース保持ピア5は、保持しているリソースのリソース意味ベクトルを意味ベクトル空間に射影し、導出されたRangベクトルに対応する意味ベクトル空間上の位置に、保持しているリソースのインデックス情報の関連づけを行う(ステップS1)。リソース意味ベクトルは、ユーザピア3により評価されて再び関連づけられたものでも、初めて関連づけるものでもよい。
【0047】
図8に示す意味ベクトル空間は、ネットワーク1に接続された全ての端末2、すなわち全てのユーザピア3、インデックス保持ピア4およびリソース保持ピア5で分割されている。この意味ベクトル空間において、隣接するピアは、意味的に近いリソースのインデックス情報を保持しているピアであると言える。このような意味ベクトル空間は、各ピアで分散して管理されている。
このような意味ベクトル空間上において、インデックス情報が関連づけられた位置に対応するインデックス保持ピア4は、そのインデックス情報を保持している。
【0048】
なお、インデックス保持ピア4は、インデックス情報に有効期限を設け、期限が切れるとインデックス情報を削除するようにしてもよい。
また、インデックス保持ピア4は、インデックス情報を保持していなくてもよい。この場合、インデックス保持ピア4は、主にクエリの転送動作を行う。
【0049】
次に、ユーザが任意のリソースの取得を所望する場合、ユーザピア3は、ユーザの操作入力に基づいてクエリを送信する(ステップS2)。
クエリには、リソースの詳細条件、クエリ意味ベクトルおよびユーザピア3のエンドポイント情報が含まれる。送信されたクエリは、ネットワーク1において、Qangベクトルの方向に転送される。具体的には、ユーザピア3は、クエリ意味ベクトルを意味ベクトル空間に射影してQangベクトルを生成し、このQangベクトルの方向に隣接するインデックス保持ピア4にクエリを送信する。クエリを受信したインデックス保持ピア4は、Qangベクトルの方向にピアを順次転送する。これにより、クエリは、Qangベクトルが指定する位置に対応するピアまで転送される。
【0050】
クエリがQangベクトルが指定する位置に対応するインデックス保持ピア4に到達すると、このピアを中心としてクエリをFloodingする(ステップS3)。すなわち、ユーザピア3が送信したクエリ意味ベクトルと近い意味のインデックス保持ピア4にクエリをFloodingする。
【0051】
クエリに含まれる詳細情報に適合するリソースのインデックス情報を有するリソース保持ピア5にクエリが到達すると、このリソース保持ピア5は、リソースのインデックス情報をユーザピア3に送信する(ステップS4)。
クエリに記述された詳細情報には、ユーザが所望するリソースのキーワード等が含まれており、例えば、そのキーワードとリソース名とが部分一致すると、リソース保持ピア5は、そのクエリの送信元のユーザピア3にインデックス情報を送信する。
【0052】
インデックス情報を受信すると、ユーザピア3は、そのインデックス情報に基づいてリソース保持ピア5にアクセスし、リソースを取得する(ステップS5)。インデックス情報には、リソースのリソース名やリソース保持ピア5のネットワーク1上の位置を示すエンドポイント情報等が含まれている。このようなインデックス情報に基づいて、ユーザピア3は、リソース保持ピア5にアクセスする。
【0053】
リソースを取得すると、ユーザピア3は、ユーザの操作入力に基づいて、取得したリソースの満足度に関する満足値をリソースのリソース保持ピア5に送信する(ステップS6)。
【0054】
満足値を受信すると、リソース保持ピア5は、リソース意味ベクトルを更新し、このリソース意味ベクトルを意味ベクトル空間へ射影し、生成されたRangベクトルに基づいてインデックス情報を再度関連づける(ステップS7)。
なお、図5では、負の満足値の場合のインデックス情報の関連づけを表している。
【0055】
このように、本実施の形態によれば、リソース意味ベクトルをリソース名およびユーザ満足値に基づいて生成することにより、適切なリソース意味ベクトルを生成できるので、効果的なリソース検索が可能となる。
【0056】
また、本実施の形態によれば、クエリがクエリ意味ベクトルによって定まる方向に転送され、このクエリが転送されたインデックス保持ピア4によりクエリがフラッディングで転送され、フラッディングで転送されたピアのうち、クエリに含まれた詳細情報に対応するリソースのインデックス情報を有するインデックス保持ピア4によりインデックス情報がユーザピア3に送信される。これにより、P2P検索において、欲するリソースに近いリソースのインデックス情報を保持するピアを中心に検索することができるため、効果的なリソース検索ができる。
【0057】
さらに、本実施の形態によれば、ベクトル空間を各ピアで分散して管理することにより、多数のインデックス情報に基づいてリソースの検索が可能となる。
【0058】
図9は、2段階のFlooding法を説明する図である。図9において、大円は、第1段階のFloodingを示し、複数ある小円は、第2段階のFloodingを示す。
ステップS2において、クエリ意味ベクトルの指定が困難な場合、ユーザピア3は、隣接するリソース保持ピア5に中程度(例えば、〜3ピア)伝播するTTL(Time To Live)値を付与したクエリをFloodingする(図6の大円に対応)。これにより、クエリの詳細情報に適合するインデックス情報を有するリソース保持ピア5が検出されると、このリソース保持ピア5は、インデックス情報をユーザピア3に送信する。また、このリソース保持ピア5は、このピアを中心として、隣接するリソース保持ピア5に中程度(例えば、〜3ピア)伝播するTTL値を付与したクエリをFloodingする(図6の小円に対応)。これにより、クエリの詳細情報に適合するインデックス情報を有するリソース保持ピア5がさらに検出されると、このリソース保持ピア5は、インデックス情報をユーザピア3に送信する。
このような2段階のFlooding法を用いることにより、本実施の形態では、所望するリソースをより効果的に検索することが可能となる。
【0059】
なお、2段階のFlooding法において、TTL値は適宜自由に設定することができる。
【図面の簡単な説明】
【0060】
【図1】リソース検索システムの構成を示す模式図である。
【図2】各ピアの構成を示す模式図である。
【図3】意味ベクトル空間を説明する図である。
【図4】図3に示す意味ベクトル空間の分割管理を説明する図である。
【図5】ピアの増減が生じたときの意味ベクトル空間の分割管理を説明する図である。
【図6】リソース意味ベクトルの更新動作を説明する模式図である。
【図7】Floodingを説明する図である。
【図8】リソース検索システムの動作を説明する模式図である。
【図9】2段階のFlooding法を説明する図である。
【符号の説明】
【0061】
1…ネットワーク、2…端末、3…ユーザピア、4…インデックス保持ピア、5…リソース保持ピア、21…空間管理部、31…クエリ送信部、32…インデックス受信部、33…リソース取得部、34…評価部、41…クエリ転送部、42…インデックス保持部、43…インデックス送信部、51…リソース保持部、52…インデックス登録部。


【特許請求の範囲】
【請求項1】
ネットワーク上の複数のピアにより分散管理された意味ベクトル空間上に、リソースを保持しているリソース保持ピアにより前記リソースのインデックス情報を前記リソースの内容を表現したリソース意味ベクトルに基づいて関連づける第1のステップと、
リソースの取得を所望する第1のピアにより所望するリソースの詳細情報および所望するリソースを表すキーワードから得られるクエリ意味ベクトルを含むクエリを隣接する第2のピアに送信する第2のステップと、
前記第2のピアにより前記クエリをこのクエリに含まれる前記クエリ意味ベクトルを前記意味ベクトル空間上に射影することによって定まる方向に隣接する第3のピアに転送する第3のステップと、
この第3のステップで前記クエリが転送された第3のピアにより前記クエリをフラッディングで第4のピアに転送する第4のステップと、
フラッディングで転送された前記クエリを受信した前記第4のピアのうち、前記クエリに含まれた前記詳細情報に対応するリソースのインデックス情報を有するピアにより前記インデックス情報を前記第1のピアに送信する第5のステップと
を有することを特徴とするリソース検索方法。
【請求項2】
前記第1のピアにより前記第4のピアから受信した前記インデックス情報を参照して前記リソース保持ピアから前記リソースを取得する第6のステップと、
前記第1のピアにより取得した前記リソースにどの程度満足したかを表す満足値を前記リソース保持ピアに送信する第7のステップと、
前記リソース保持ピアにより前記満足値に基づいて前記リソースのリソース意味ベクトルを更新する第8のステップと
をさらに有することを特徴とする請求項1記載のリソース検索方法。
【請求項3】
前記第8のステップは、
前記クエリに含まれるクエリ意味ベクトルから前記リソースのリソース意味ベクトルを引いた差分ベクトルに前記満足値に基づく値を乗じた増加分ベクトルに基づいて、前記リソースのリソース意味ベクトルを更新する
ことを特徴とする請求項2記載のリソース検索方法。
【請求項4】
前記第8のステップは、
前記リソース保持ピアにより、前記満足値が正の値の場合はリソースの評価を表す評価値を加算し、前記満足値が負の値の場合は前記評価値を減算する第9のステップと、
前記評価値が所定の閾値以下になると、前記リソース保持ピアにより前記リソースを削除する第10のステップと
をさらに有することを特徴とする請求項3記載のリソース検索方法。
【請求項5】
前記第2のステップは、
前記第1のピアにより前記クエリを伝播させる範囲を示す値を付与した前記クエリを隣接ピアにフラッディングで転送する第11のステップを備え、
この第11のステップで転送された前記クエリを受信した前記隣接ピアのうち、クエリに含まれた前記詳細情報に対応するリソースのインデックス情報を有するピアにより前記第1のピアに前記インデックス情報を送信する第12のステップと、
この第12のステップで前記インデックス情報を送信したピアにより前記クエリを伝播させる範囲を示す値を付与した前記クエリを隣接ピアにフラッディングで転送する第13のステップと、
この第13のステップで転送された前記クエリを受信した前記隣接ピアのうち、前記クエリに含まれた前記詳細情報に対応するリソースのインデックス情報を有するピアにより前記第1のピアに前記インデックス情報を送信する第14のステップと
をさらに有することを特徴とする請求項1乃至4の何れか1項に記載のリソース検索方法。
【請求項6】
ネットワーク上の複数のピアにより分散管理された意味ベクトル空間に基づいて、リソース保持ピアにより保持されているリソースを検索するリソース検索システムであって、
前記リソース保持ピアは、
前記リソースを保持するリソース保持手段と、
前記意味ベクトル空間上に、前記リソースのインデックス情報を前記リソースの内容を表現したリソース意味ベクトルに基づいて関連づけるインデックス登録手段と
を有し、
リソースの取得を所望するユーザピアは、
前記リソースの詳細情報および所望するリソースを表すキーワードから得られるクエリ意味ベクトルを含むクエリを隣接するインデックス保持ピアに送信するクエリ送信手段
を有し、
前記インデックス保持ピアは、
前記意味ベクトル空間上の自身が対応する位置に関連づけられたインデックス情報を保持するインデックス保持手段と、
前記ユーザピアまたは隣接する前記インデックス保持ピアから受信した前記クエリを、このクエリに含まれる前記クエリ意味ベクトルを前記意味ベクトル空間上に射影することによって定まる方向に隣接するピアに転送する第1のクエリ転送手段と、
隣接ピアから受信した前記クエリに含まれる前記クエリ意味ベクトルを前記意味ベクトル空間上に射影することによって定まる位置が、前記意味ベクトル空間上の自身が対応する位置の場合、前記クエリをフラッディングで隣接ピアに転送する第2のクエリ転送手段と、
フラッディングで転送された前記クエリを受信し、このクエリに含まれた前記詳細情報に対応するリソースのインデックス情報を有する場合、前記インデックス情報を前記ユーザピアに送信するインデックス送信手段と
を有する
ことを特徴とするリソース検索システム。
【請求項7】
前記ユーザピアは、
前記インデックス保持ピアから受信した前記インデックス情報を参照して前記リソース保持ピアから前記リソースを取得するリソース取得手段と、
前記リソース保持ピアから取得した前記リソースにどの程度満足したかを表す満足値を前記リソース保持ピアに送信する評価手段と
をさらに備え、
前記リソース保持ピアの前記インデックス登録手段は、
前記満足値に基づいて前記リソースのリソース意味ベクトルを更新する
ことを特徴とする請求項6記載のリソース検索システム。
【請求項8】
前記リソース保持ピアの前記インデックス登録手段は、
前記クエリに含まれるクエリ意味ベクトルから前記リソースのリソース意味ベクトルを引いた差分ベクトルに前記満足値に基づく値を乗じた増加分ベクトルに基づいて、前記リソースのリソース意味ベクトルを更新する
ことを特徴とする請求項7記載のリソース検索システム。
【請求項9】
前記リソース保持ピアの前記インデックス登録手段は、
前記満足値が正の値の場合はリソースの評価を表す評価値を加算し、前記満足値が負の値の場合は前記評価値を減算し、前記評価値が所定の閾値以下になると前記リソースを削除する
ことを特徴とする請求項8記載のリソース検索システム。
【請求項10】
前記インデックス保持ピアの前記第2のクエリ転送手段は、
前記クエリを伝播させる範囲を示す値を付与した前記クエリを隣接するインデックス保持ピアにフラッディングで転送する
ことを特徴とする請求項6乃至9の何れか1項に記載のリソース検索システム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2006−48511(P2006−48511A)
【公開日】平成18年2月16日(2006.2.16)
【国際特許分類】
【出願番号】特願2004−230961(P2004−230961)
【出願日】平成16年8月6日(2004.8.6)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】