JP3860046B2 - ランダムサンプル階層構造を用いた情報処理のためのプログラム、システムおよび記録媒体 - Google Patents
ランダムサンプル階層構造を用いた情報処理のためのプログラム、システムおよび記録媒体 Download PDFInfo
- Publication number
- JP3860046B2 JP3860046B2 JP2002037842A JP2002037842A JP3860046B2 JP 3860046 B2 JP3860046 B2 JP 3860046B2 JP 2002037842 A JP2002037842 A JP 2002037842A JP 2002037842 A JP2002037842 A JP 2002037842A JP 3860046 B2 JP3860046 B2 JP 3860046B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- information
- document
- query
- child
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、大規模データベースにおける情報処理に関し、より詳細には大規模データベースに保持されたドキュメントといった情報の、ランダム化されたサンプルの階層化構造を使用する情報検索、検出、ランキングおよび時系列データ解析に関する。
【0002】
【従来の技術】
近年、情報処理システムは、たとえばニュース・データ、顧客情報、在庫データといった大量のデータを取り扱うことがますます要求されている。このようなデータベースのユーザは、所望する情報を迅速かつ効果的に充分な精度をもって検索を行うことがますます困難となっている。このため、新たなトピックスや事件の検出を適時に正確で、安価に行うことは、たとえば在庫管理、先物取引、世界中に多数のレポーターを駐在させることなくレポーターを赴任させる必要のある通信社、およびインターネットや別の素早い環境に基づいて行われ、成功するために競合者についての新たで重要な情報を必要とするビジネスなど、多くのタイプのビジネスに対して価値ある情報を提供することになる。
【0003】
従来では、大規模なデータベース内での新たな事象の検出およびトラッキングは、検索者が通常では検索をモニタするための余剰な人員を確保する必要があるので、効果で、労力を使い、時間を浪費するものである。
【0004】
検索エンジンのために用いられている事象の検出およびトラッキング方法には、データベース内のデータについてデータのクラスター化を行うためベクトル・モデルを使用しているものが多い。ベクトル空間モデルでは、関連するデータベース内のそれぞれのドキュメントは、ドキュメントの属性を表す座標軸を有するベクトルによりモデル化される。理想的には、情報検索の間に互いにドキュメントを区別するのを容易にする属性だけを属性空間に含ませる。2値化モデルでは、ゼロ(対応する属性が含まれていない場合)、または1(対応する属性が含まれている場合)とされる。2値化モデルに関しては多くの改良が行われている。最も普通に用いられているのは、属性(キーワード)の出現頻度、または出現位置(タイトル、セクションヘッダ、またはアブストラクトのキーワード)を考慮するターム・ウエイティング・モデルである。最も簡単な検索およびランキングシステムにおいては、それぞれの頻度はまた、ドキュメントと同じ方法によるベクトルによってモデル化される。
【0005】
先行技術
1.類似検索
類似性検索(また、近接検索)は、データベース内のアイテムが、与えられたクエリー・ベクトルに対してどの程度適合するかを考慮するものである。類似度(または非類似度)は、典型的にはある種の実数または整数値化された距離を“尺度”として使用するモデルである。すなわち、
(1) dist(p, q) ≧ 0 for all p, q (非負);
(2) dist(p, q) = dist(q, p) for all p, q (対称);(3) dist(p, q)=0 ⇔ p=q (必要十分条件);
(4) dist(p, q) + dist(q, r) ≧ dist(p, r) for all p, q, r (三角不等式);
などである。
【0006】
上述した距離関数が存在する対象のセットは、距離空間と呼ばれる。クエリー時に、距離を評価する数を低下させることを可能とするデータ構造は、索引と呼ばれる。
【0007】
距離空間における類似クエリーには、2つの一般的なタイプがあり、(A)与えられたクエリー要素qおよび正数kについて、k番目までに近いものを探すクエリーであり、qに対してk番目までの近接したデータベース要素を出力させ、(B)クエリー要素qと距離rとを与え、dist(p,q)≦rとなるデータベース内におけるすべてのアイテムpを出力させるものである。
【0008】
大規模なデータベースについては、クエリーベクトルからの距離をすべてのデータベース要素につき正確に計算することで類似クエリーを実行させるのは負担が大きすぎる。また、データベース要素の間のすべての距離をあらかじめ算出して保存しておくことも、データベース要素の数のベキ乗に比例した時間と空間(すなわち、時間的にはデータ数をNとして,N2倍になる)とを要するので、負担が大きすぎる。より現実的な方法は、クエリーを概ねデータ数Nに比例する時間、好ましくはN2のオーダー以下の記憶領域と前処理時間とを使用して取り扱うことができる検索構造を構築することである。
【0009】
2.類似検索構造
類似クエリーを取り扱うための、膨大な種類の構造が過去30年にわたり提案されてきている。これらのうちの大半は、対象とする集合をd個の実数値キーワードのベクトルとしてモデル化する空間索引を用いるものである。この手法に属する例としては、四分木、k-d-tree、B-treeの他にも、R*-tree、X-treeといったより新しい構造を含むものを挙げることができる。過去10年間にわたり、一般化された距離空間についての索引を用いる手法も提案されてきており、たとえば消失点木(VPT)、幾何学的近傍アクセス木(GNAT)、空間近似木(SAT)、およびM-treeを挙げることができる。これらの“距離”検索構造は、距離が尺度として存在すること以外にはデータベース要素の性質にまったく仮定を行なわず、従って空間検索構造よりも、より適用性が広いといえる。
【0010】
論理的な方法で、Ciacciaら(Paolo Ciaccia and Marco Patella, PAC nearest neighbor queries: approximate and controlled search in high-dimensional and metric spaces, Proc. 16th International Conference on Data Engineering(ICDE 2000), San Diego, USA, 2000, pp.244-255.)は、M-treeを変更した距離探索構造は、ベクトルデータについて通常の空間索引法およびR*-treeと同等であることの証拠を示した。多次元ベクトル空間および距離空間についてのサーチ構造の最近の検討については、Edgar Chavez, Gonzalo Navarro, Ricardo Baeza-Yates and Jose L. Marroquin, Searching in metric spaces, ACM Computing Surveys vol. 33, No. 3, pp. 273-321.)を参照されたい。
【0011】
類似検索の実情は、計量データであろうと、ベクトルデータであろうと、ともに“次元の呪い”と呼ばれる効果により制限を受ける。伝統的なベクトル空間における索引技術(たとえばk-d-tree)は、距離計算コストや記憶領域が空間を示す次元に指数関数的に依存する。距離索引法は、いわゆるデータの“固有次元”が空間の次元よりも著しく小さい場合により現実的な代替法である。
【0012】
ベクトル空間については、固有次元は、データ点間の距離を保存するために、データ点が埋め込まれる最小の次元としてとらえることができる(100次元空間での2次元平面は、固有次元が2であり、空間を示す次元は100である)。距離空間においては、固有次元の直感的認識は、種々の方法により定量化されている。たとえば、Chavezら、(前掲)、Pestov (Vladimir Pestov, On the geometry of similarity search: dimensionality curse and concentration of measure, Information Processing Letters, 73, 2000, pp.47-51.)を挙げることができる。
【0013】
後者の論文では、“自然発生”空間および分布が究極的には次元に関連して探索時間を指数的な下限値まで導く“集約特性”を有することが示されている。言い換えれば、次元の呪いは、クエリー要素からデータベース要素への距離の分布によるものであり、次元(代表次元または固有次元)が増加するにつれ、距離の変動は減少し、そしてサーチは、より困難になる。この結果、概ね20を超える固有次元の空間について一般的な(正確な)近接クエリーを直接的に取り扱うことができる索引技術は、これまで知られていない。この限界を超えて多数の距離計算を行うために必要とされる手段は、完全なデータベースのシーケンシャルな探索とは比較することができないものとなる。
【0014】
3. 関連距離索引構造
本発明者らの提案するシステムにもっとも関連する2つの距離索引は、Ciacciaら(前掲)およびNavarro (Gonzalo Navarro, Searching in metric spaces by spatial approximation, Proc. String Processing and Information Retrieval (SPIRE ’99), IEEE CS Press, 1999, pp.141-148.)による、SATである。
【0015】
<M-tree>
M-treeのいくつかのバリエーションが知られている。以下、もっとも有効であるとして報告されているバリエーションについて説明する。それぞれのノードは、利用可能なデータベース要素のセットから選択されるm個までの“ピボット”要素p1,p2,...,pmを記憶する。それぞれのピボットは、subtreeに対するポインタを伴っている。残りの利用可能な要素は、もっとも近いピボットに伴われるsubtreeに帰属される。すなわち、要素sは、すべてのi≠jについて、dist(s,pi)≦dist(s,pj)(結合は任意に切断することができる。)の場合にのみ、ピボットpiのsubtreeに帰属される。共通のsubtreeに帰属された要素は、その後再帰的にtreeに組み込まれ,M-treeが形成される。それぞれのピボットpには、dist(p,φ(p))(ここで、φ(p)は、当該subtree内でのpからもっとも離れた要素である)で定義される、その被覆半径が記憶されている。
【0016】
treeをサーチする場合には、被覆半径を使用して、クエリーを満たすことがあり得ないsubtreeを排除する。アイテムqおよびレンジrを含むクエリーであるレンジ・クエリーについては、三角不等式、
dist(q,p) > r + dist(p,φ(p))
を満たす場合、pのsubtreeの要素は、解にはまったく含まれないことが保証される。そうでない場合は、pのsubtreeを探索する。
【0017】
M-treeは、B-treeと同様な方法で動的な挿入により構成される。トップレベルである“ルート”ノードから開始して、要素は、その被覆半径の増加が最小となるようにsubtreeへと挿入される。被覆半径が増加しない要素があった場合は、要素は、もっとも近いピボットのsubtreeへと挿入される。このプロセスは、treeの底レベルに達するまで続けられる。この“リーフ”ノードで存在するピボットの数がmよりも少ない場合には、新たな要素をそのノードにピボットとして追加する。そうでない場合には、オーバーフローが発生する。つまり、そのノードは、2つに分けられ、要素は上側へと移動される(これは、逆に他の分離の引き金となる)。この他にも、ノードが分離され、上側へ移動する要素が選択されるようないくつかのバリエーションがある。
【0018】
<空間近似木(SAT)>
名前が示すように、SATは、データベース要素の間の近似関係を捉える試みを行ない、そのエッジをエッジに沿った方向の距離を最小にするように選択する。ルート・ノードでは、要素pが選択される。pに連結されるN個の複数の子からなるセットは、pを最近傍として有するデータベース要素を構成する。N∪{p}に含まれない残りの要素uは、Nの最も近い要素に付随するsubtreeへと帰属される。それぞれのsubtreeについては、当該subtreeに帰属される要素が、再帰的にtreeに組み込まれ、SATが形成される。
【0019】
個々のアイテムのサーチは、要素がクエリー・アイテムに最も近い要素の子ノードを繰り返し決定することによりエッジとなるまで実行される。要素qのレンジ検索は、個々のアイテムについての検索の適用により、qを中心とし、中心がrの閉じたボール、{q’|dist(q,q’)}≦r}におけるすべてのアイテムが同時に検索されるようにして行われる。
【0020】
4.近似的な類似検索
次元の呪いを回避する試みにおいて、従来の技術は、計算のスピードアップを行うため、類似クエリーの精度をいくらか低下させることが考えられていた。典型的な例として、クエリーと共に、クエリーの結果の正確な結果からのずれの尺度である、精度パラメータε>0を指定する。一般的に、rkを、クエリー要素qからそのk番目に近いネイバーまでの距離(未知)であるものとすると、(1+ε)-(近似的なk最近傍クエリー)は、下記集合Uの要素を返す。
【0021】
|U| = k,
dist(q, u) ≦ (1+ε)rk (すべてのu ∈ Uについて)
【0022】
5.ベクトル空間
ベクトル空間についての上述したタイプの近似的アルゴリズムは数多く存在している。これらのアルゴリズムにより共有される特徴は、スケーラビリティに欠けるため、それらのクエリー実行時間が、kとdが増加するにつれて、またεが減少するにつれて、きわめて遅くなってしまうことである。代表例は、Aryaら(Sunil Arya, David M. Mount, Nathan S. Netanyahu, Ruth Silverman and Angels Y. Wu, An optical algorithm for approximate nearest neighbor searching in fixed dimensions, Journal of the ACM, 45, 6, 1998, pp.891-923.)のミンコフスキーの距離についてのアルゴリズムを挙げることができる。ここで、(1+ε)-近似的なk最近傍クエリーは、
O( [ ( 1 + 6 dε-1 )d + 2 k ] d log n ).
に比例する計算時間を必要とする。
【0023】
彼らは、指数因子は、実際上上記よりもこの範囲では小さいことを報告しているものの、彼らの方法は、実際上は概ね20次元に制限されることを述べている。彼らは、
dist( q, u ) ≦ ( 1 +ε’ ) rk (所定のε’≪εについて)
であるので、(1+ε)-近似的最近傍クエリーは、多くの場合、より正確であると注記している。これは、有効なことであると思われるが、実際的には、上述した方法は、εの正確な値を決定することを困難とする。
【0024】
最近、Ferhatosmanogluら (Hakan Ferhatosmanoglu, Ertem Tuncel, Divyakant Agrawal and Amr El Abbadi, Approximate nearest neighbor searching in multimedia databases, Proc. 17th International Conference on Data Engineering (ICDE 2001), Heidelberg, Germany, 2001, pp.503-514.)は、低次元で優れた結果を与えるベクトル空間に対する近似的アルゴリズムを提案した。前処理で、データは“k-means”法(ここで、“k-means”における“k”は、求めるクラスターの数である)により、多数の小さいクラスターに分割される。それぞれのクラスターは、代表ベクトルriを伴っており、データ要素uは、すべてのj≠iについて、
dist(u, ri) ≦ dist(u, rj) (j ≠ iであるようなすべてのjに対して)
である場合に、i番目のクラスターに属するものと判断される。uが1つ以上のクラスターについてこの条件を満たす場合には、それらのうちの1つに任意的に割り当てることができる。)代表の初期選択は、2つのステップからなるループで反復的に改善され、このループは、もうこれ以上改善されないとわかったところで停止される。
【0025】
ステップ1:データ要素を、そのもっとも近い代表へと割り当てることによりクラスターを形成する。
【0026】
ステップ2:それぞれのクラスターについてベクトルデータを平均して新たなクラスター代表を得る。
クラスターのサイズは、最小値と最大値との間になるように制限され、最小値は、典型的なクエリー・サイズの程度とされる。これは、クラスターが大きくなりすぎた場合のクラスター代表を2つの分離させることにより反復およびクラスターが小さくなりすぎた場合の代表クラスターの削除を行う間に実行される。
【0027】
クラスター化を用いたk近傍クエリーを実行させるために、Ferhatosmanogluらは、下記の方法を使用している。
【0028】
ステップ1:クエリー・ベクトルから代表ベクトルへの距離が増加する順番でクラスターをランク付けする。
【0029】
ステップ2:ベクトル表現の最初の数個の座標軸に基づいてクエリー点からの距離に従ってクラスターの要素をソートする。ここで、最も近いk個のポイントをk近傍クエリーの解の候補とする。
【0030】
ステップ3:ランク付けされたリストにある次のクラスターまたはベクトル表現の新しいいくつかの次の座標軸のいずれかを使用して、解の候補を改良し、ステップ1と、ステップ2とを繰り返す。
【0031】
彼らの実装において、Ferhatosmanogluらは、いくつかのデータセットでは、シーケンシャル検索を超える実質的なスピードアップをもって90%オーダーの精度を得られることを示した(要素の全列挙型探索法)。小さなセット(12,000ポイントまでは、30倍のスピードアップが上述したレベルの精度で観測され、より大きなセット(100,000ポイント)では、約17倍のスピードアップが見られた。残念なことに、著者らはデータの削減された次元数を示していない。上述した成功にもかかわらず、上述した方法は、後述するいくつかの著しい欠点を含む。
【0032】
(1)結果の品質は、クラスタリングの成功に大きく依存することである。k-meansは、その効率の故に一般的ではあるが、低精度のクラスタリングを生じる点で有名である。この手法は、利用可能な代表ベクトルの初期選択に特に敏感である。また、いくつかのデータ・セットは、クエリー・サイズよりもオーダー的に何倍も多い自然的なクラスターを含む可能性がある。通常、均一またはほぼ均一な密度の大きな領域内でのデータのクラスター化に挑戦することは意味があまりない。k-meansについての手法およびその性能についてのより詳細については、Leonard Kaufman and Peter J. Rousseeuw, Finding Groups in Data: an Introduction to Cluster Analysis, John Wiley & Sons, New York, USA, 1990を参照されたい。
【0033】
(2)クラスターのサイズに上限と下限とを設けることは、k-means手法が解を変換できない状態を与える。クラスターの代表の排除は、より大きなクラスターにクラスターの要素が帰属される結果となる。このことでより大きなクラスターが最大のサイズ限界を超えさせてしまう場合には、得られる分離は、以前に排除されたより小さなクラスターを修復することとなる。その結果として無限ループに陥る危険性がある。
【0034】
Ferhatosmanogluらは、彼らの方法を、一般的な次元削減技術を使用した比較的低い次元でのデータセットについて試験した(たとえば64次元を8次元に低下させた)。テキストに基づいた情報検索といった数千の次元が数百へと削減されるような削減された次元が多くなり、実行される距離計算の数が増えるにつれ、彼らの結果は、期待されるようにはスケーリングを行うことができない。近傍検索がいつ終了するかを決定する明確な方法はない。この欠点は、この方法の実際性を著しく制限してしまうことになる。
【0035】
6.距離空間
近似的k最近傍クエリーは、最近になってから距離探索構造のために考慮されるようになっている。Zezulaら(Pavel Zezula, Pasquale Savino, Giuseppe Amato and Fausto Rabitti, Approximate similarity retrieval with M-trees, The VLDB Journal, 7, 1998, pp. 275-293)およびCiacciaら(2000,前掲)は、他の距離tree基準に対して適合可能なM-treeに基づいた方法を提案している。これら4つはすべて、汎用距離tree基準についての正確な技術の変更例である。概略的には、データベース要素の優先順序付きキューPQを保持して、クエリー要素qとそれらとの距離にしたがってランク付けを行う。最初には、PQは、treeのルートに保持された要素である。
【0036】
それぞれの繰り返しにおいて、最も高いランクの要素pは、PQから削除される。pがk番目に近いデータベースの要素よりもqに近い場合には、pをk番目に近い要素で置換する。ついで、pの複数の子ノードについて検討する。三角不等式を用いて、子孫の要素に、これまで見つかったデータベース要素でk番目に近いものよりも、クエリー要素に近いものがない場合、これらの子孫ノードを削除する。残りの複数の子ノードは、PQへと挿入される。このアルゴリズムは、その時点でのPQの要素が空になったときに停止される。停止すると、実行中に遭遇したk番目に近い要素がクエリーに対する正確な解となる。
【0037】
上述した正確な解を与えるアルゴリズムについて3つのバリエーションが、Zezulaら(前掲)により提案され; 第4のバリエーションがCiacciaらにより提案されており、以下これらについて簡単に説明する。
【0038】
(1)許容性試験として、qからその時点でk最近傍との間の距離がファクタ1/(1+ε)だけ小さい場合に、クエリーの結果は、(1+ε)-近似解とする。どのように許容性の条件を狭めるにしても、実行される距離計算の数を減らすことが出来るだけである。
【0039】
(2)qからのデータベース要素の距離の分布が知られている場合には、この情報は、その時点でのk最近傍のランクを決定するために使用することができる。もし、このランクが望むしきい値より良い場合は、実行を早めに終了することができる。結果は、近似的なものであり、品質がランクにより決定されてしまう。実際的には、qからの距離の分布は知られておらず、このような状況のもとで、Zezulaらは、データベース要素の大局的な分布から見積もりを得ることができることを報告している。
【0040】
(3)M-treeを使用した彼らの実験においては、Zezulaらは、実行が進行するにつれてk最近傍の候補までの距離は、その最終的な値にまで迅速に低下して近づき、その後ゆっくりと改善してゆく。彼らは、距離曲線が平坦化した時点で近似的な解を、実行を停止させることにより生成することを提案した(標準的な数値解析技術を使用し、微分手段により決定される)。実行の早期の停止は、再度精度に対するコストをスピードアップさせることになる。
【0041】
(4)Zezulaらのはじめの2つの方法は、結合することができる。Ciacciaらは、第2の方法に対するしきい値の選択を注意深く行い、単一の最近傍問題のための“おそらく大体正しい”(PAC:probably approximately correct)アルゴリズムを改善した。このアルゴリズムは、信頼限界が(1-δ)の単一の最近傍問題についての(1+ε)-近似解を与えた。すなわち、(1+ε)-近似解とならない結果の確率が最大でもδであることを意味する。誤差パラメータεと共に、信頼性パラメータδはユーザにより選択できる。しかしながら、この方法は、依然としてqからの距離(またはその見積もり)の分布についての知識に依存する。
【0042】
Zezulaら(前掲)は、彼らの方法の3つすべてを、ユークリッド距離を使用して45次元の10,000要素のデータセットに対して適用した。彼らの実験の結果によれば、第1の方法は、効率の面から他の2つの方法とは比較にならないとしている。k=10のクエリーに対しては、第3の方法について彼らは、観測された誤差ε=0.15で、“精度”が30%(大まかに言えば、報告された要素の30%程度は、正確なk最近傍のリストに含まれている)で20倍スピードアップすることができたとしている。第2の方法については、彼らは、(たとえば)0.10〜0.20の間の誤差ε、精度が0.10〜0.45の間で20倍のスピードアップができたとしている。またしきい値を大きく選択することにより、彼らは40倍スピードアップしたとしているが、観測された誤差が大きく、場合により>0.80)であり、精度も低い(場合によっては<0.20)。彼らは、固定された精度および誤差については、彼らの方法におけるスピードアップ割合は、kが増加しても明らかには変化せず、nが増加するにつれて増加するとしている(これは、クエリー時間が、概ねnに比例することを示す)。
【0043】
Ciacciaら(前掲)は、ユークリッド距離を使用して、彼らの方法を40次元において単位ハイパーキューブから均一に導いた10,000要素のデータセットについて適用した。彼らは、誤差εと信頼性dとに依存して1桁から2桁の実行時間のスピードアップしたとしている。この場合は、スピードアップさせると誤差が増加し、信頼性が低下した。
【0044】
これらのうちでも、ZezulaらおよびCiacciaらは、絶対次元が40〜60の範囲にある数万から数10万の実データおよび人工データに対して良好な性能を報告している。それにもかかわらず、彼らの方法は、下記のようにいくつかの顕著な欠点を有している。
【0045】
(1)Aryaらの近似的アルゴリズムのように、要求する精度εと観測される精度ε’との間が大きく違う可能性は、実際的なεの近似値を決定することが困難となる。Ciacciaらは、ε’を問題としているデータセットについてあらかじめ実験的に決定することに基づいてεを選択することを示唆している。
【0046】
(2)第2の方法では、クエリー要素とデータベース要素との間の距離の分布についての知見に大きく依存するパラメータを使用する(本発明者らは、これをクエリー要素間距離の分布(query-to-element distance distribution,QEDD)と呼ぶ。実際には、クエリーは、一般的にあらかじめわからないので、それらのQEDDは、効率的に決定することができない。著者らは、QEDDがデータベースの全要素−要素距離の分布(element-to-element distance distribution:EEDD)を使用して見積もることができることを指摘しており、それ自体は、平均化手段またはランダム・サンプリング(Ciacciaら)により見積もることができる。しかしながら、EEDDがQEDDの良好な見積もり因子であるとの仮定は、すべてのクエリーについてのQEDDがEEDDと似たものであることをあらかじめ仮定するものであり、これは一般的には当てはまらない。データが高度に構造化されており、密度に広い変化がある場合には、EEDDを使用する場合、性能の重大な劣化を避けることを可能とするパラメータの単一の選択はない。これを近似的なk最近傍を見出すために拡張したとすれば、Ciacciaらの方法と同様の欠陥を含むことになる。
【0047】
(3)第3の方法は、その微分に基づいた停止基準を含み、計算精度および計算速度に大きな変動が生じる。このため、一致性良く良好な性能を得るための方法に改良することは不可能ではないにしろ困難である。著者らの実験的検討がこの傾向を示しているようである。詳細については、Zezulaら(前掲)を参照されたい。
【0048】
(4)Zezulaらの方法は、いずれもが高い精度(たとえば70%〜80%の精度)および妥当なスピードアップの両方に対する近似的な解を見出すために適切と思われない。Ciacciaによるハイブリッド法は、k最近傍問題にまで拡張使用したとしても、上述した方法よりも上手くゆくとはどうしても思われない。
【0049】
(5)その著者らが自身で明らかにしているように、第1の方法は、第2と第3の方法に対してさえ実際的には比較できるものではない。上述したように、これまで類似検索の性能を改善するためのいくつかの試みがなされてきている。しかしながら、いくつかの本質的な問題が、上述したように依然として残されており、これらの問題は、下記のようにまとめられる。
【0050】
問題1:実時間での類似度ランキング
大規模なデータベースからの迅速で正確な情報検索は、きわめて困難な課題である。中程度から大きなデータベースについてきわめて良好な結果を与える技術は、大規模データベースについては適用可能ではない。大規模データベースに伴う情報検索の課題のスケーラビリティについては、“次元の呪い”と呼ばれる現象で明文化されている。
【0051】
問題2:LSIとCOVのスケーラビリティ向上
中程度から大きなデータベースからの情報検索についての2つの方法、LSI(潜在的意味情報索引)法およびCOV(共分散行列法)法は、両方とも最初に、データベースにおけるクエリー・ベクトルとすべてのドキュメント・ベクトルとの間の距離を計算することにより類似度に基づくランキングを実行する。このように全文書との距離計算が必要であるという理由から、次元の大きな削減の後であっても、両手法とも性能として納得の行く時間のうちに大規模データベースから情報を抽出することができない。
【0052】
問題3:スピードと精度とのトレード・オフ
ユーザの中には、情報検索システムからのランク付けされた結果について、数秒以上待てない人がいる。これらのユーザは、長く待った後でより正確な結果を得るよりも、1秒から2秒で精度の低い結果を得る方をむしろ好む。このようなユーザは、所定のクエリーに対して返答に必要な時間が事前に予測できることを希望し、この指定された時間内で可能な最も正確な結果を得ることを希望する。現在の情報検索システムは、ユーザに対してユーザ・フレンドリーな方法でトレード・オフを可能とするパラメータで制御することができない。
【0053】
したがって、情報検索、検出およびランキングの性能をよりいっそう改善するための新規な方法およびシステムが依然として必要とされていた。
【0054】
【課題を解決するための手段】
本発明は、部分的には、制御された階層構造をドキュメント・データに導入することができれば、ドキュメントの類似度ランキング、検索、検出、時系列解析の効率を、コンピュータ資源および計算時間を低減させつつ、著しく向上させることができる、という認識に基づいてなされたものである。
【0055】
したがって、本発明の目的は、予め計算され、階層化されたドキュメント探索構造を使用して情報処理を行うための方法を提供することにある。本発明においては、それぞれのドキュメントには、構造内における位置を与え、かつ2つのドキュメントの間の連結がある場合、それらが互いに密接に関連するという意味をもたせる。階層の各レベルは、ランダムにサンプルされたドキュメントから構成される。
【0056】
本発明の他の目的は、LSI(潜在的意味索引)法およびCOV(共分散行列)法による次元削減法のスケーラビリティを著しく向上することを可能とする情報処理方法を提供することにある。LSI法およびCOV法の両方について、本発明者らの方法は、次元削減された副空間へのドキュメントおよびクエリー・ベクトルの射影の後に使用することができる。本発明者らの方法をLSIおよびCOV法における通常の類似度ランキングの代わりに用いる場合には、クエリーに対するドキュメントの類似度ランキングのスピードを著しく改善することができる。
【0057】
さらに本発明の目的は、それぞれのユーザに対し、ユーザの個々の必要性に応じて精度と応答時間とのトレード・オフを決定することを可能とする情報処理方法を提供することを目的とする。
【0058】
本発明によれば、データベースに保持され属性を含む情報の情報処理を行うための方法であって、前記情報は、行列を構成し、かつ少なくとも数値要素と情報識別子とを含むベクトルを含み、前記ベクトルは、前記情報の階層化された構造のノードとされており、
前記行列を所定の次元まで次元削減を行い、次元削減行列を生成するステップと、
前記次元削減行列のベクトルをノードセットとしてランダムに指定するステップと、
トップノードから開始する層状の階層レベルとして前記階層構造を構成するステップと、
互いに隣接した階層レベルにおいて上側レベルから親ノードを決定し、下側レベルから複数の子ノードを決定するステップと、
前記親ノードと前記子ノードとの間に関連性を生成するステップと、
クエリーを与え、前記クエリーに関連して前記ノードをランク付けするステップと、
前記ノードを選択して前記クエリーに関連してランク付けされたノードを含むクラスターを生成するステップと、
を含む情報処理方法が提供される。
【0059】
本発明においては、前記次元削減ステップは、潜在的意味索引法または共分散行列法を使用して前記行列の次元削減を行うステップを含むことができる。本発明においては、前記生成ステップは、ノード間の距離に関連して前記ノードを選択するステップを含むことができる。本発明においては、前記生成ステップは、さらに、
前記距離に関連して前記親ノードと前記子ノードとに対してポインタを与えるステップと、
所定の数の対が生成されるまで最も距離の近いノード対からポインタを登録するステップとを含むことができる。本発明においては、前記生成ステップはさらに、子ノードを示すポインタの所定数に達していずに前記ポインタ対を形成することが許可された親ノードと、関係を形成することができなかった少なくとも1つの子ノードとの間において別のポインタ対を生成する第2の生成ステップを含むことができる。また、本発明によれば、前記情報処理は、情報検索、情報検出、情報ランキング、時系列データ解析およびこれらのいかなる組み合わせから選択される。
【0060】
また、本発明においては、コンピュータと、入出力インタフェイスと、データベースとを含む情報処理システムであって、前記情報は、属性を含んで前記データベースに保持され、かつ少なくとも数値要素と情報識別子とを含むベクトル含んだ行列とされて、前記ベクトルが前記情報の階層構造を与えるノードとされ、前記行列を所定の次元まで次元削減を行い、次元削減行列を生成する手段と、前記次元削減行列のベクトルをノードセットとしてランダムに指定する手段と、
トップノードから開始する層状の階層レベルとして前記階層構造を構成する手段と、
互いに隣接した階層レベルにおいて上側レベルから親ノードを決定し、下側レベルから複数の子ノードを決定する手段と、
前記親ノードと前記子ノードとの間に関連性を生成する手段と、
クエリーを与え、前記クエリーの関連して前記ノードをランク付けする手段と、
前記ノードを選択して前記クエリーに関連してランク付けされたノードを含むクラスターを生成する手段と、
を含む情報処理システムが提供される。
【0061】
本発明においては、前記次元削減手段は、潜在的意味索引法または共分散行列法を使用して前記行列の次元削減を行う手段を含むことができる。本発明においては、前記関係を生成するステップは、ノード間の距離に関連して前記ノードを選択する手段を含むことができる。本発明においては、前記関係を生成する手段は、さらに、
前記距離に関連して前記親ノードと前記子ノードとに対してポインタを与える手段と、
所定の数の対が生成されるまで最も距離の近いノード対からポインタを登録する手段と、を含むことができる。本発明においては、前記関係を生成する手段は、さらに、子ノードを示すポインタの所定数に達していずに前記ポインタ対を形成することが許可された親ノードと、関係を形成することができなかった少なくとも1つの子ノードとの間において別のポインタ対を生成させるための第2の生成を実行させる手段を含むことができる。本発明においては、前記情報処理は、情報検索、情報検出、情報ランキング、時系列データ解析およびこれらのいかなる組み合わせから選択することができる。
【0062】
さらに、本発明においては、データベースに保持され属性を含む情報の情報処理をコンピュータに対して実行させるコンピュータ可読な記録媒体であって、前記情報は、行列を構成し、かつ少なくとも数値要素と情報識別子とを含むベクトルを含み、前記ベクトルは、前記情報の階層化された構造のノードとされており、記録媒体は、
前記行列を所定の次元まで次元削減を行い、次元削減行列を生成するステップと、
前記次元削減行列のベクトルをノードセットとしてランダムに指定するステップと、
トップノードから開始する層状の階層レベルとして前記階層構造を構成するステップと、
互いに隣接した階層レベルにおいて上側レベルから親ノードを決定し、下側レベルから複数の子ノードを決定するステップと、
前記親ノードと前記子ノードとの間に関連性を生成するステップと、
クエリーを与え、前記クエリーの関連して前記ノードをランク付けするステップと、
前記ノードを選択して前記クエリーに関連してランク付けされたノードを含むクラスターを生成するステップと、
を含むコンピュータ可読な記録媒体が提供される。
【0063】
本発明においては、前記次元削減ステップは、潜在的意味付け法または共分散行列法を使用して前記行列の次元削減を行うステップを含むことが好ましい。本発明においては、前記生成ステップは、ノード間の距離に関連して前記ノードを選択するステップを含むことが好ましい。本発明においては、前記生成ステップは、さらに、
前記距離に関連して前記親ノードと前記子ノードとに対してポインタを与えるステップと、
所定の数の対が生成されるまで最も距離の近いノード対からポインタを登録するステップと、
を含むことが好ましい。本発明の前記生成ステップはさらに、子ノードを示すポインタの所定数に達していずに前記ポインタ対を形成することが許可された親ノードと、関係を形成することができなかった少なくとも1つの子ノードとの間において別のポインタ対を生成する第2の生成ステップを含むことができる。本発明においては、前記情報処理は、情報検索、情報検出、情報ランキング、時系列データ解析およびこれらのいかなる組み合わせから選択される。
【0064】
また、本発明によれば、コンピュータに実装されて情報の処理を実行するためのコンピュータ実行可能なプログラムであって、データベースに保持され属性を含み、かつ少なくとも数値要素と情報識別子とを含むベクトルを含む行列を構成するベクトルとされ、前記ベクトルは、前記情報の階層化された構造のノードとされており、前記コンピュータ実行可能プログラムは、
前記行列を所定の次元まで次元削減を行い、次元削減行列を生成するステップと、
前記次元削減行列のベクトルをノードセットとしてランダムに指定するステップと、
トップノードから開始する層状の階層レベルとして前記階層構造を構成するステップと、
互いに隣接した階層レベルにおいて上側レベルから親ノードを決定し、下側レベルから複数の子ノードを決定するステップと、
前記親ノードと前記子ノードとの間に関連性を生成するステップと、
クエリーを与え、前記クエリーの関連して前記ノードをランク付けするステップと、
前記ノードを選択して前記クエリーに関連してランク付けされたノードを含むクラスターを生成するステップと、
を実行させる、コンピュータ可読なプログラムが提供される。
【0065】
本発明においては、前記次元削減ステップは、潜在的意味付け法または共分散行列法を使用して前記行列の次元削減を行うステップを含むことができる。本発明においては、前記生成ステップは、ノード間の距離に関連して前記ノードを選択するステップを含むことができる。本発明においては、前記生成ステップは、さらに、
前記距離に関連して前記親ノードと前記子ノードとに対してポインタを与えるステップと、
所定の数の対が生成されるまで最も距離の近いノード対からポインタを登録するステップと、
を含むことができる。本発明においては、前記生成ステップはさらに、子ノードを示すポインタの所定数に達していずに前記ポインタ対を形成することが許可された親ノードと、関係を形成することができなかった少なくとも1つの子ノードとの間において別のポインタ対を生成する第2の生成ステップを含むことができる。前記情報処理は、情報検索、情報検出、情報ランキング、時系列データ解析およびこれらのいかなる組み合わせから選択することができる。
【0066】
【発明の実施の形態】
<概略手順>
図1は、本発明の概略的な方法を示した図である。本発明の方法は、ステップS10から開始し、ステップS12へと進んでデータベース内のドキュメントをベクトル空間モデルを使用してベクトルへと変換し、ドキュメント−キーワード行列を生成する。本発明における情報には、ドキュメント、テキスト、グラフィック・データなどが含まれ、また属性としては、本発明においてはキーワード、日付または年といった時間情報およびキャラクタなどが含まれる。しかしながら、本明細書においては、発明を明確に説明する目的から、情報は、ドキュメントであり、属性はキーワードであるものとする。本発明におけるプロセスは、Saltonにより解説された単純なバイナリ・モデルを含むこともでき、また属性の出現頻度から決定されるか、またはユーザ入力またはそれら双方により決定される重み付けを使用したより高度な方法を含むことができる。
【0067】
本発明の方法は、ステップS14へと進み、LSI法またはCOV法を使用して、得られたドキュメント−キーワード行列に対して情報検索などを行うために次元削減を実行する。例えば、目的次元は、およそ100〜200として選択することができる。両方の方法については、後述する。
【0068】
本発明の方法は、ついでステップS16へと進み、ドキュメント−キーワードベクトルに対し、ドキュメント−キーワードベクトルの間の距離、すなわち本発明においては“空間近似サンプル階層;SASH(Spatial Approximation Sample Hierarchy)”(以後単にSASHとして参照する。)と名前を付ける階層構造を導入する。
【0069】
本発明において使用するSASHにおいては、2つのドキュメント−キーワード・ベクトルの間の距離関係は、まずドキュメント−キーワード行列を構成する各ドキュメント・ベクトルをランダム化することで、導入される。具体的には、初期状態では、SASHにはエッジはまったく存在しない。そこで、データベース内の各ドキュメント・ベクトルに、一様乱数を与えて攪拌させて、SASHのノードに割り当てる。
【0070】
この方法においては、階層のトップノードは、ランダムに選択されたドキュメント−キーワード・ベクトルからランダムに予め選択することができる。その後、ドキュメント−キーワード・ベクトル間の関係を、ノード間の距離を使用して階層構造へと導入する。そのより詳細については、後述する。本発明における用語“ノード”とは、階層構造に含まれる、個々のドキュメント−キーワード・ベクトルを参照するものである。
【0071】
本発明の方法は、ステップS18へと進み、ユーザ入力などでキーワード・クエリーを受け取る。受け取ったキーワード・クエリーはまた、バイナリー法、またはウエイト法を使用してクエリー・ベクトルへと変換される。
【0072】
ついで、本発明の方法は、ステップS20へと進み、階層構造が導入されたドキュメント−キーワード行列と、クエリー・ベクトルとを使用して従来の方法にしたがって類似度に基づいた情報検索を実行する。
【0073】
図1に示した要素ステップについて、さらに詳細に説明するが、実施の詳細は、代表的な実施の形態を説明するものであり、本発明においてはいかなる別の等価なプロセスでも採用することができる。
【0074】
A.次元削減(ステップS14)
上述したように、本発明においては、ドキュメント−キーワード行列の次元削減を使用する。本発明において使用することができる代表的な実施の形態としては、LSI法およびCOV法を挙げることができる。
【0075】
<潜在的意味索引法>
潜在的意味索引法(LSI)は、Deerwesterら(1989)、(1990)に参照されるドキュメントのランキングの問題の次元削減のためのベクトル空間モデルに基づくアルゴリズムである(Scott Deerwester, Susan T. Dumais, George W. Furnas, Richard Harshman, Thomas K. Landauer, Karen E. Lochbaum, Lynn A. Streeter, Computer information retrieval using latent semantic analysis, U.S. Patent No. 4839853, filed Sept. 15, 1988, issued June 13, 1989;Scott Deerwester, Susan T. Dumais, George W. Furnas, Thomas K. Landauer, Richard Harshman, Indexing by latent semantic analysis, Journal of the American Society for Information Science, 41, 6, 1990, pp. 391-407)。
【0076】
LSI法においては、ドキュメントは、Saltonのベクトル空間モデルと同一の方法においてベクトルへとモデル化される。本発明者らは、キーワードとドキュメントとの間の関係を、i,j番目の要素ai,j、すなわちA=[ai,j]である、M×N行例Aを用いて説明する。Aの列ベクトルを、データベースのドキュメントとする。ついで、Aの特異値分解(SVD)を計算する。
A = U Σ V T ; Σ= diag (σ1, σ2, ... ,σmin(M,N) )
ここで、σ1≧σ2≧... ≧σmin(M,N)である。 その後、Aの近似行列Adをd個の大きな特異値、σi ; i = 1, 2, ..., d, と、それらに対応するベクトルから構成する。
Ad = UdΣd V d T
(上式中、Σdは、Aの特異値であるσ1の対角エントリを含む対角行列である。)
Σd = diag (σ1,σ2, ... ,σd)
上記式におけるUdとVdは、Aのd番目に大きな左特異値ベクトルおよび右特異値ベクトルからなる行列である。特異値分解の実行についての詳細については、Demmel (1997)とGolub and Van Loan (1989)による行列計算における標準的なテキストを参照されたい。
【0077】
クエリーの処理は、射影と類似度計算との2段階で行われる。射影ステップにおいては、入力クエリーは、行列Udにより次元削減クエリー−ドキュメント空間における疑似ドキュメントに射影され、その後次元削減された特異値行列Σdからの対応する特異値σiにより重み付けされる
q ========> barq = qT Ud Σd -1
(上式中、qは、もとのクエリー・ベクトルを表し、barqは、疑似ドキュメントを表し、qTは、qの転置を表す。)。
【0078】
第2のステップでは、疑似ドキュメントbarqと、次元削減されたドキュメント空間Vd Tとの間の類似度を、多くの類似度尺度のうちの1つを使用して計算する。情報検索における線形代数の技術については、Berry, Dumais and O’Brienによる成書(1995)を参照されたい。
【0079】
<共分散行列に基づく方法(COV法)>
COV法は、小林、Malassis、および寒川ら(Mei Kobayashi, Loic Malassis, Hikaru Samukawa, Retrieval and ranking of documents from a database, IBM Japan, docket No. JP9-1000-1044, filed June 12, 2000; Loic Malassis, Mei Kobayashi, Statistical methods for search engines, IBM Tokyo Research Laboratory Research Report, RT-413, 33 pages, May 2, 2001)により開発された。上述したCOV法は、ベクトル空間モデルに基づいた情報検索システムの次元を削減するための使用され、実時間でのクエリーおよび検索を容易にするものである。彼らの方法は、概略的には、以下のように説明することができる。
【0080】
ステップ1:きわめて大きな所定のデータベースについて、すべてのM個のドキュメント{ Δi : i = 1, 2, ..., M } をN個のキーワードを含むベクトルとしてモデル化する。すべてのドキュメント{Di}のセットを伴う共分散行列Aを構築する(陽にまたは陽にせずに)。ここで、A、Δ、Δiは、それぞれ下記、
A = (1/M) [Σi = 1 , 2, ..., M ΔiΔi T ] - ΔΔT ,
Δi T = [ a (i,1) a (i,2) a (i,3) . . . a (i, N) ] T ,
ΔT = [ Δ1 Δ2 Δ3 . . . ΔN ] T , および
Δi = (1/M) Σ j = 1 , 2, ..., M a (j, i) ,
の通りに定義される(上式中、“T”は、行列の転置を示す。)。
【0081】
ステップ2:共分散行列Aの固有値λj; j = 1, 2, ..., d,を算出し、対応する固有値ベクトルvjを算出する。ここで、vj; j = 1, 2, ..., dである。
【0082】
ステップ3:N次元からd次元まで(d≪N)関連するランキング問題の次元を削減するために、d個の固有値ベクトルvj ; j = 1, 2, ..., dによって張られた副空間へとドキュメント・ベクトルを射影する。この計算は、きわめて大きなデータベースではきわめて負荷となるので、たとえばユーザが待つことができるように、オンラインされていない夜間のジョブとして予め実行させておく必要がある。
【0083】
ステップ4:d次元vj ; j = 1, 2, ..., d,で張られた副空間へとそれぞれのユーザ入力クエリーを射影し、その後、たとえばクエリー・ベクトルとそれぞれのドキュメント・ベクトルとの間の角度といったいくつかの類似度尺度を使用して、ドキュメント・ベクトルに関連して関連性のランキングを実行する。
【0084】
上述したLSI法は、検索およびランキングの問題をかなり低次元にまで削減することを可能とするので、きわめて大きなデータベースからの検索を、より効率的に実行させることができる。小林ら(2000)による他の次元削減手法は、COVを使用し、ドキュメント・ベクトルの共分散行列を使用してドキュメント・ベクトルを射影する適切な次元削減空間を決定する。LSI法およびCOV法は、情報検索における情報処理のための匹敵しあう方法であり、いくつかのデータベースおよびいくつかのクエリーに対しては、LSI法は、わずかに良好な結果を与えるものの、その他についてはCOVが、より良好な結果を与える。本発明においては、しかしながら、本発明によるドキュメント・キーワードベクトルの階層構造を導入することができる限り、次元削減について他の方法を用いることができる。
【0085】
B.階層の構築
本発明においては、特定のノードは、1つまたはそれ以上の親ノードとして指定されるノードを有しており、親ノードには、0個またはそれ以上の子ノードとして指定されるノードを有している。ノードは、その親ノードに対しては親ポインタ手段により結合され、かつその子ノードに対しては子ポインタ手段により結合される。本発明においては、パラメータpは、特定のノードによりポイントされることが可能な
親ノードの最大数であり、パラメータcは、特定のノードへとポイントされる子ノードの最大数である。
【0086】
図2は、ドキュメント−キーワードベクトルの階層構造を構築するための概略的な手順を示した図である。手順は、図1のS14の結果を受け取った後、ステップS32から開始し、たとえばよく知られた乱数発生プログラムを使用して次元削減されたドキュメント−キーワードベクトルをランダムに階層構造におけるノードとして指定する。ついで、手順は、ステップS34へと進み、トップ階層のレベルを1として指定する。以後、SASHiは、ノードを含むi番目の階層レベルを意味する。ついで、手順は、ステップS36へと進み、レベルLの数を増分させる。次にステップS38に進み、上位レベルとの間に結合を生成する。たとえばL=1とL=2との間の結合を生成する。手順は、ステップS40へと進んでLがhに等しいか否かを判断する。そうであれば(yes)、そのレベルが結合され、その後手順はその結果を次のステップに渡して終了する。そうでなければ(no)、手順はステップS36へと戻り、その後ステップS36〜40を、ステップS40の判断が肯定的な結果を与えるまで繰り返す。
【0087】
図3は、本発明に従って生成された階層構造の構築例を示した図である。図3に示されているように、ドキュメント−キーワード・ベクトルは、“レベルi”の階層レベルに分類される。ここで、iは、1〜hまでの値をとる整数であり、hは、log2n(nは、ノードの数である。)を繰り上げた整数値に設定される。i番目のレベルでのノードの数は、概ねn/(2h−i−1)であるが、本発明においては、本発明の特定の用途に応じて階層レベル数をいくつでも増やせることができる。構築手順のさらに詳細については、後に説明する。
【0088】
手順はステップS40へと進み、その時点での階層レベルの数が、最終レベルの数に適合するか否かを判断する。さらに結合させるべき残りのレベルがあれば(no)、その後手順はステップS36へと分岐してノードの結合のための計算を繰り返す。結合するべきレベルが残っていなければ(yes)、終了する。
【0089】
C.階層構築のためのサブプロセス
図4は、ステップS38で示された階層構築のための手順に含まれるサブプロセスを示した図である。ステップS38では、互いに隣接するレベルの間のノードを結合する。図4に示した手順は、ステップS52から開始し、その時点でのLが2に等しいか否かを判断する。
【0090】
Lが2に等しい場合には、手順は、ステップS78へと進み、ユニークな親ノードで、レベル2に含まれるすべてのノードの保証人となるトップノードを設定する。その後手順は、ステップS80へと進み、レベル2のノードをトップノードに依存する子ノードとして設定する。
【0091】
Lが2に等しくない場合には、手順はステップS54へと進んで、レベルL−1に含まれる“近傍”P_{L-1}(v,p)を計算する。ここで、vは、レベルL内のノードを示し、pは、特定の子ノードまでの距離を計算するために含まれることになる親ノードを規定するパラメータである。ステップS54のプロセスは、より詳細に後述する。その後手順は、ステップS56へと進み、L−1レベルに含まれるP_{L-1}(v,p)の各ノードを、ノードvの親ノードとして設定する。手順はステップS58へと進んでレベルLにけるノードvを、レベルL−1に含まれる親ノードの子ノード候補とする。
【0092】
手順は、ついで、ステップS60へと進み、L−1レベルのそれぞれのノードuが最大のc個の子ノード候補を有しているか否かを判断する。そうであれば(yes)、手順は、ステップS62で子ノード候補のすべてを、ノードuの子ノードと認定する。そうでなければ(no)、手順はステップS64で、ノードuの子ノード数をcとする。手順は、ステップS66へと進み、vを子ノードと認定し、選択している親ノードuの数をアップデートする。
【0093】
手順は、ステップS68へと進み、その後、レベルLのそれぞれの子ノードvに対して、vが孤児ノード、すなわちノードvがレベルL−1のいずれのノードによっても認定されていないか否かを判断する。そうであれば(yes)、手順はステップS70へと進み、レベルL−1のノードから保証人ノードg(v)を見つけ出し、その後、vからもっとも遠い親ノードをg(v)として置き換え、その後子ノードvを保証人ノードg(v)の子ノードとして設定する。手順はさらにステップS76へと続き、子ノードvを保証人ノードg(v)に依存するものと登録する。ステップS68の判断がnoの場合には、手順はステップS72へと進み、保証人ノードg(v)を子ノードvの親ノードとして設定する。この保証人ノードg(v)は、子ノードvに距離的にもっとも近いものである。その後手順はステップS76へと分岐して子ノードvを保証人ノードg(v)に依存するものとして登録する。
【0094】
上述した親子関係の登録は、よく知られたいろいろな技術を使用して実装することができる。たとえばドキュメント識別子と、距離識別子と、親ノードまたは子ノードのためのノードポインタとを、ドキュメント−キーワード・ベクトルに追加することで実装してもよいし、結合またはリンクを上述した識別子、すなわちノードポインタを参照するように実装してもよい。しかしながら、上述した方法に限定されることはなく、本発明では、親ノードと、それに対応する子ノードとを同定するためにいかなる技術でも用いて実装することができる。
【0095】
図5は、図4において説明した手順を、グラフィカルに説明した図である。図5に示すように、SASHにおける結合は、レベル1のユニークなトップノードから開始する。SASHiは、図4において説明した手順の条件を満足する。完全なSASHの構築(すなわち、SASHh)は、繰り返しSASH1、SASH2、・・・SASHhを順に構築することにより進行してゆく。図5は、ある時点でのレベルL−1のノードからその上のレベルLのノードにエッジを加えることでSASHL−1からSASHLを形成する仕組み、あるいは逆に、レベルLのノードからその下のレベルL−1のノードにエッジを加えることで、SASHLからSASHL−1を形成する仕組みを示した図である。図5に示した実施の形態においては、たとえば、パラメータの値はp=3、c=12である。
【0096】
図5に示すように、SASH1は、単一のノード、すなわちルート・ノードとして構成される。L=2の場合には、レベル2のすべてのノードは、その単一の親ノードおよび保証人としてルート・ノードを保有することになる。また、ルート・ノードは、レベル2のすべてのノードをその子ノードおよびそれに依存するものとして保有させる。それぞれのエッジでは、その終点の間の距離が保存されている。これでSASH2の構築は完了する。
【0097】
それ以外の場合には、L>2のレベルの数について残りのステップを行う。レベルLのそれぞれのノードvに対して、各レベル1≦i<Lのノードから、最大でp個までの近傍Pi (v, p)を以下のようにして決定する。まず、P1 (v, p)をルート・ノードとする。次に、Pi (v, p)を、Pi-1 (v, p)のすべての子ノードの集合を決定することで生成する。その後この集合からvにもっとも近いp個の異なる子ノードを選択する。p個よりも少ない子ノードしか存在しない場合には、すべての子ノードを選択する。
【0098】
ついで、vの親ノードをPL -1 (v, p)のノードとする。レベルLのそれぞれの要素vは、その時点でp個の異なる親ノードを近傍のデータ要素に含んでいる。ただし、条件としてレベルL−1は、少なくともp個のノードを含んでいるものと仮定する。すべての親ノードのエッジが生成されたら、その終点間の距離を保存する。
【0099】
レベルL−1のそれぞれのノードuに対して、uを親ノードとして選択したレベルLの異なるノードC(u)のリストを決定する。ここで、C(u)の要素をuからの距離に応じて、小さい順に並べる。C(u)がc個の要素よりも多い場合には、リストを切り縮めて、uにもっとも近いc個の要素だけにする。上述した結合またはリンクの構築のグラフィカルな表現を、図6に示す。
【0100】
図6においては、本発明において、ノードuへのポインタ、またはノードuからのポインタとともに、所定の距離関数を使用して、距離が決定され、その値が保存される。図6に示されるように、親ノードuから子ノードへの結合は、基本的には距離の大きさに基づいて選択される。ノードuを親ノードとして選択するレベルLのノードは、uからの連結を受け取るノードの候補となる。しかしながら、ノードuから最も距離の値の小さいc個のノードだけが候補となる。図6において、uへの距離3.3のノードと、uへの距離3.7のノードは、uの子ノードとしては認定されていない。その理由は、これらのノードのuまでの距離が、他のノードより大きかったり。他のノードの数がcに等しかったりするためである。
【0101】
図7は、本発明において使用可能な例示的な距離関数を示した図である。距離関数は、これらの三角不等式を満たす関数の中から選択することができ、示したものに限定されるものではない。本発明は、2つの数値データにより規定されるいかなる関数であっても、情報検索などにおいて充分な精度を可能とする構造が得られる限りにおいて採用することができる。
【0102】
再度図5を参照すると、レベルLの各ノードvについて、レベルL−1のいずれかのノードの子ノードとして認定されているか否かが判断される。もしそうであれば、子ノードとして認定されており、かつ最も近接したノードが、vの“保証人”ノードとなる。そうでなければ、ノードvは、“孤児”ノードとなる。孤児ノードに関しては、レベルL−1の適当な親ノード(保証人ノード)を見出し、登録を行うことにより、検索できることを保証することが必要である。保証人ノードは、vに対して充分に距離的に近く、“子ノード追加可能な”、すなわち子ノードの許容される最大数cよりも少ない数の子ノードを有していなければならないノードである。孤児ノードを保証人ノードの新たな子ノードとして追加しても限度cを越えることがないことが必要である。
【0103】
この目的のため、上述したように本発明者らはvに対する近傍の集合を、レベルL−1の子ノード追加可能なノードPL -1 (v, p2), PL -1 (v, 2p2), ..., PL -1 (v, 2ip2)を算出することにより段階的に拡大することに成功した。1つ以上の子ノード追加可能なノードが見出された場合には、その後vに最も近いノードがvの保証人ノードg(v)として選択される。ノードvはg(v)の子ノードのリストに加えられ、vの親ノードであって、vから最も遠いノードが、g(v)と交換される。近傍を見出す手順を、図8に示す。
【0104】
図8に示した手順は、図4のステップS54の詳細を説明した図である。図8に示した手順は、ステップS52からの出力を受け取った後にステップS90から開始し、P_1(v,k)を階層のトップノードとして設定する。ついで手順は、ステップS92においてレベル・インジケータiを1に設定し、ステップS94においてインジケータを増分させる。その後手順はステップS96へと進んでP’_i(v)を、P_{i-1}(v,k)のノードの異なる子ノードの集合としてあらかじめ決定されたものとする。手順は、ステップS98へと進んで、P’_i(v)の近傍ノードの数が所定の数k以下であるかどうかを決定する。
【0105】
図8において、P’_i(v)がkに等しいかまたはkよりも小さい場合(yes)には、プロセスは、ステップS100へと進み、P_i(v,k)=P’_i(v)とする。そうでなければ(no)、ステップS102へと進んで、vに最も近いP_i(v,k)のk個の要素に設定して、子ノードの数を制限する。ステップS100およびS102の後、手順はステップS104へと進んで、インジケータiがb(=L−1)に等しいか否かを判断する。そうであれば(yes)、手順は図4のステップS60へと進み、そうでなければ(no)、手順はステップS94へと戻ってiを増加して、その後ステップS96−S104を繰り返す。
【0106】
図9は、ステップS70で説明した孤児の保証人ノードg(v)を探すための手順を示した図である。図9に示されているように、保証人ノード探しのための手順は、ステップS68の結果を受け取った後、ステップS110から開始し、隣接する上位レベルのノードにおいて、ノードの数の制限内で孤児を探す範囲を広げるためにk=p2/2に設定する。その後、手順は、ステップS112でkに因子2を乗じ、一方で、探索範囲を高々レベルのノード数以下になるように保つ。
【0107】
ついで、手順はステップS114へと進み、保証人候補G=P_{L-1}(v,k)を、図8で示した(近傍発見)ものと同一の手順を使用して計算する。その後、手順は、ステップS116へと進んでGが子ノード追加可能なノード、すなわち子ノードがc個以下のノードを含むか否かを判断する。そうであれば(yes)、手順はステップS118へと進んでg(v)をGの子ノード追加可能な最も近いノードに設定し、その結果をステップS74へと渡す。そうでない場合(no)には、手順はステップS112へと戻って探索範囲を広げ、ステップS114−S116を繰り返す。
【0108】
D.近似的な類似性に基づくランキング・クエリー(ステップS18)
与えられたクエリー対象qは、たとえばqに最も近いものの中からk=100個のデータベース要素をユーザが見出したいものであるとする。上述したSASHを使用して、R= P0(q, k) ∪ P1(q, k) ∪ ... ∪ Ph(q, k)を実行し、その後、qに最も近いRのk個の要素をクエリーの結果とする。この方法は、データベースにおける要素の数が少なくともk個でありさえすれば、少なくともk個の要素が戻されることを保証するものである。
【0109】
図10は、k近傍ノードを見出すための詳細な手順を示した図である。図10の手順はステップS120から開始して、近傍集合を算出し、ついでステップS122へと進み、R=P_1(q,k)∪P_2 (q,k) ∪... ∪P_h(q,k)を計算する。手順はステップS124へと進んで、Rのサイズがkよりも大きいか否かを判断する。そうであれば(yes)、手順はステップS126へと進んで、子ノードvに最も近いk個のRのノードを戻す。そうでない場合(no)には、手順は、ステップS126へと進み、Rの値を返して終了する。
【0110】
<コンピュータ・システムおよびデータ構造>
図11を参照すると、本発明のコンピュータ・システムの代表的な実施の形態が示されている。本発明のコンピュータ・システムは、スタンド・アローンのコンピュータ・システム、LAN/WANを通していかなる従来のプロトコルを用いて通信を行うクライアント−サーバ・システム、またはインターネット基盤を介して通信を行うコンピュータ・システムを挙げることができる。図11には、インターネットを介したネットワークにおいて効果的なクライアント−サーバ・システムを示す。
【0111】
図11に示したコンピュータ・システムは、少なくとも1つのクライアント・コンピュータとサーバ・ホスト・コンピュータとを含んで構成されている。クライアント・コンピュータおよびサーバ・コンピュータは、TCP/IPプロトコルを介して通信しているが、本発明においてはいかなる別の利用可能な通信プロトコルでも使用することができる。図11に示されているように、クライアント・コンピュータは、サーバ・ホスト・コンピュータに対して、サーバ・ホスト・コンピュータにより管理される記憶領域に保持されたドキュメントに対する検索およびランク付けを実行させるためのリクエストを発行する。
【0112】
サーバ・ホスト・コンピュータは、クライアント・コンピュータからのリクエストに応じてデータベースのドキュメントの検索およびランキングを実行して、クエリーに対して関連するドキュメントのクラスターまたはグループを生成する。図11には、サーバ・コンピュータは、ウェブ・サーバとして記載されているが、本発明においてはこれに制限されるものではない。本発明においてはいかなる他のタイプのサーバ・ホストであっても、コンピュータ・システムが上述した機能を与える限り使用することができる。
【0113】
サーバ・コンピュータは、本発明による処理を行うためのいくつかの機能を含んでいる。これらの機能は、サーバ・コンピュータに実装されたハードウエアリソースを使用して上述した機能を提供させるための、適切なプログラムにより構成することができる。これらの手段は、下記のようにまとめることができる。
(i)所定の次数まで行列の次元を削減して次元削減行列を与えるための手段と、
(ii)次元削減行列のベクトルをノードのセットとしてランダムに割り当てるステップと、
(iii)ノードの階層構造を構成する手段と、
(iv)隣接する階層レベルの間において親ノードとその子ノードとを決定する手段と、
(v)親ノードと子ノードとの間に関係を生成する手段と、
(vi)クエリーを与えてクエリーに関連してノードをランク付けする手段と、
(vii)クエリーに関連してランク付けされたノードを含むクラスターを生成する手段である。
【0114】
本発明の方法が実装されるコンピュータ・システムは、図11に示したネットワーク・システムとして使用することができる。しかしながら、上述したように本発明のコンピュータ・システムは、ネットワーク・システムではなくスタンド・アローンタイプのコンピュータ・システムとしても構成することができる。コンピュータ・システムの使用は、ネットワーク・システムまたはスタンドアローン・システムのいずれでもユーザの特定の用途に応じて選択することができる。
【0115】
図12は、ドキュメント−キーワード・ベクトルのデータ構造の実施の形態を示した図である。図12に示したドキュメント−キーワード・ベクトルは、オリジナルのドキュメントと共にドキュメント−キーワード行列としてデータベース内に保持させておくこともできる。また他の実施の形態においては、ドキュメント−キーワード行列は、ドキュメントとドキュメント−キーワード行列との対応が保証される限りコンピュータ・システムにおける別の記憶空間に保持させておくこともできる。
【0116】
図12に示したデータ構造は、ドキュメント−キーワード・セクションと、ドキュメント識別子セクションと、距離記録セクションと、ノードポインタ・セクションとを含んで構成されている。ドキュメント−キーワードベクトル・セクションは、ベクトル・モデリングを使用して導出されたドキュメント−キーワードベクトルの数値要素を含み、ドキュメント識別子セクションは、階層構造の構築またはユーザリクエストに対応するドキュメントを参照するためのドキュメント識別子docIDとを含んで構成されている。距離記録セクションは、階層構造の構築のために使用することができるドキュメント−キーワード・ベクトルに対する固有の距離を含んでいる。しかしながら、一度階層構造が構築された後には距離は情報検索手順には必要とはされないので、距離記録セクションは、本発明の上述したデータ構造に含まれていなくともよい。
【0117】
ノードポインタ・セクションは、本発明にしたがって階層構造を追跡するために必要なノードポインタnodeIDを含んでいる。図12はまた、ノードポインタnodeIDの詳細な構成を示す。nodeIDは、図12に示すように階層構造のために上側ポインタと下側ポインタとを含んでいる。上側ポインタセクションは、さらにパラメータpに依存して親ノードポインタpdocID1,...,pdocIDpを含んでおり、ドキュメント−キーワード・ベクトルが結合される親ノードを指定する。下側ポインタセクションは、さらにパラメータcのセッティングに依存して子ノード・ポインタcdocID1,...,cdocIDcを含んでおり、ドキュメント−キーワード・ベクトルが結合される子ノードを示している。
【0118】
図12に示した実施の形態においては、階層構造は、データ構造に含まれる上述したノードポインタと共にドキュメント−キーワード・ベクトルの要素を使用して追跡される。しかしながら、結合識別子セクションは、たとえば対応するドキュメント−キーワード・ベクトルのドキュメント識別子DocIDを加えた“結合テーブル”といった名称として別のテーブルとして構成することができ、データベースにおけるドキュメントのアップデートまたはダウンデートに関連して結合テーブルをアップデートまたはダウンデートするために必要な手順を行わせることも可能である。
【0119】
図13は、上述したデータ構造に含まれるノードポインタそれぞれの機能を示した図である。本発明の方法は、情報検索といった情報処理を実行する場合に、予め構築された階層構造におけるノードを動的に追跡結合する。
【0120】
<バリエーション>
SASH組織化およびクエリー探索パターンの両方に関連して、上述した簡単な実施の形態の多くのバリエーションまたは実施の形態が可能である。後述するバリエーションまたは実施の形態は、すべて同等の、あるいはそれよりも良質で互換性のある振る舞いをすることが期待される。本発明における方法においては、以下に列挙するバリエーションはいかなる組み合わせとしても同時に実装することができる。
(バリエーション1)
本発明の方法は、前述したように孤児ノードに対して保証人ノードを決定することにより効果が出せるが、いくつかの設定では、実行される計算の量に対して上限を設けることにより機能強化することができる。これを行うための1つの方法は、ノード−保証人関係を使用するものである。すべてのノードは、構造において1つ上のレベルに固有の保証人ノードを有しており、このノード−保証人関係は、SASH全体をスパンする“保証人tree”を形成している。この保証人treeは、後述するように、レベルLにおける孤児の保証人ノードを見出すために使用することができる。
(1)保証人uがノードvに帰属されている限り、vは、uに“依存する”。保証人treeのエッジは、正確に保証人と依存するノードとの間の正確なエッジである。
(2)vがレベルLで見出された第1の孤児ノードである場合には、その後SASHL−1のすべてのノードcについて、wをルートとする保証人treeのsubtreeにおける子ノード追加可能なノードの集合S(w)を考える。wについてS(w)における最も近いノードへの距離の上限b(w)を記録し、繰り返し下記のように計算を行う。
i)wが子ノード追加可能で、レベルL−1である場合には、β(w)=0とする。
ii)wが子ノード追加不可能で、レベルL−1である場合には、β(w)を無限大とする。
iii)wがL−1レベルではないときは、β(w)=min{β(y) + dist(w, y)|yがwに依存する}とする。
(3)SASHのルートから、レベルL−1で繰り返しノードuの子ノード追加可能なノードについて保証人treeを、下記のように探索する。
i)その時点でのノードwがレベルL−1でない場合、その後β(y) + dist(w, y)を最小にするwの依存ノードのsubtreeを繰り返し探索する。
ii)その時点でのノードwがレベルL−1である場合には、wは子ノード追加可能なので、c≧3pとすることでこれを満たさせる。
iii)上述したように、uをvの保証人として設定する。再帰的にβ(w)の値を、上述したルールを使用して保証人tree内のuのすべてのwに対してアップデートする。
【0121】
上述の方法は、最大でnlog2nに比例する全時間で孤児ノードに対する保証人を見出すことを可能とする。しかしながら、ノードvを見出した保証人は、多くの場合、実施の形態において説明した方法を使用して保証人として見出されたvほどは近接したものではない。
【0122】
(バリエーション2)
多くの距離探索構造(M-treeを含む)は、構造の構築時にエッジに沿って記憶された距離を使用していくつかの距離計算を回避する可能性を与える。この例としては、従来の技術において総説したM-treeにおいて説明したように、被覆半径を使用してクエリーを満足する可能性がないsubtreeを排除することである。この技術は、またクエリーの計算と同様に、Pi(v, p)の計算に適用することができる。この技術は、情報処理の距離探索において広く用いられているものなので、本発明者らは、SASHにおいて上述した方法をどのようにして使用するかについて概略的に説明する。適用性のより詳細については、たとえばCiacciaら(前掲)がより詳細な説明を与えている。
【0123】
Ci (v, p)を、ノードPi-1 (v, p)の子ノードの集合(レベルiでの)とする。πを、Pi-1 (v, p)のノードとし、χをπの子ノードとする。クエリーポイントvからCi (v, p)の少なくともp個の異なったノードへの距離は、すでに計算されているものとし、ωをvに対してp番目に近い要素とする。三角不等式は、下記式を保証する。
dist(v, χ) ≧ | dist(v, π) - dist(π,χ) |.
ここで、下記の条件を考える。
|dist(v,π) - dist(π,χ)| ≧ dist(v,ω).
ここで、上記条件に現れる3つの距離は、それぞれすでに計算されている。dist(v,π)は、Pi-1 (v, p)の計算の結果として利用可能である。dist(π,χ)は、πからχのSASHエッジに沿って記憶された距離である。dist(v,ω) は、Ci (v, p)のポイントがPi (v,p)に挿入される場合にはいつでもアップデートされる。これらが最初に計算された時点での距離を記憶させることにより、条件を試験するには、いかなる追加の別の計算も必要とされない。
【0124】
上述した条件が満たされた場合には、
dist(v, χ) ≧ dist(v,ω),
であると結論でき、これは反対に、χをPi (v, p)に加えることは、Pi (v, p)におけるp番目に最も近い要素に対するクエリーからの距離を改善することにはならない。この場合には、χは、クエリー要素に対する距離を計算することなく安全に排除される。そうでなく、条件が満たされない場合には、上述したようにdist(v, χ)を正確に計算することができる。
【0125】
(バリエーション3)
多くのデータ構造において共通するように、探索構造のボトム(リーフ)レベルにおけるすべてのデータベース要素について参照することが可能である。この場合には、与えられたデータベース要素は、いかなる所定のレベルにおける最大でも1つのノードに対応する。レベルL−1でのノードは、均一、かつランダムでレベルLのノードの概ね半分を選択して、参照としてそれらのデータベース要素をコピーすることにより生成することができる。
【0126】
(バリエーション4)
実施の形態においては、レベルL−1の多数のノードをレベルLのノードのおよそ半分に設定する。この比は、変更することができ、かつレベル間で一定とされる必要はない(良好な性能を得るためには、実質的に1よりも大きくなるように選択することが必要であろう)。多数のノードが孤児ノードまたは子ノードを追加不可能なノードとなることを防止するために、定数pおよび定数c自体をレベル間で変化させることも可能である。
【0127】
(バリエーション5)
単純な実施の形態の形態においては、クエリー・オブジェクトに最も近いP1 (q, k) ∪ P2 (q, k), ...,∪ Ph (q, k)k個の要素を報告するかわりに、それぞれのレベルから可変数の要素を抜き出すこともできる。たとえば、代わりに、セットP1 (q, k1) ∪ P2 (q, k2) ∪ ... ∪ Ph (q, kh)をレポートすることもでき、上記式中、
kh = 3k, および
ki = max {2 ki+1 / 3, p} (すべての1 ≦ i < hについて)
である。
【0128】
このことは、データベースの要素の最大のサンプル、すなわちSASHの底部により近いノードに費やすクエリー検索時間の大きな割合を消費させることを可能とする。
【0129】
(バリエーション6)
簡単な実施の形態においては、親ポインタは、子ポインタを決定するための補助として構築フェーズにおいてのみ使用され、子ポインタは、類似検索の性能向上のためのみ使用される。しかしながら、親ポインタは、またクエリーの場合にも使用することができる。生成されたPi(q, k)の集合は、もとの集合のノードのすべてのすべての親ノードのすべての子ノードを含むように拡張することができる。これは、クエリー実行時間あたりの精度を改善することができる。
【0130】
(バリエーション7)
近似的な範囲クエリーは、近似的なk最近傍クエリーを、いくつかの増加するシーケンスk=s1,s2,s3,...を繰り返し計算することにより実行される。例えば、クエリーのサイズは、それぞれの反復において2倍(si+1 = 2siすべての i >1について)される。反復は、所望する範囲の外の要素が発見される(その時点では、範囲内で発見されたすべての要素は、範囲クエリーに対する解として報告される)か、または全体のデータベースが問い合わされる(これは、クエリー範囲内にほとんどまたはすべてのデータベースの要素が存在する場合にのみ発生する。)まで続けられる。
【0131】
(バリエーション8)
正確なk最近傍クエリーは、変更例1において説明した保証人treeを使用して計算される。すべてのノードwにおいて、wからそのいかなる依存者への最大距離を維持することができる。この情報で、汎用距離探索treeに対するいかなる好適な方法でも使用することができる。詳細については、例えば、Chavezら(1998)またはCiaccia(2000)を参照されたい。他の距離tree構造の正確な類似検索のように、正確なクエリーは、“次元の呪い”に遭遇する。
【0132】
(バリエーション9)
パラメータpの選択および、pほど大きな影響を与えないがパラメータcの選択は、両方とも実行速度と精度に影響を与える。これらが増加すると、クエリーの精度は増加するが、時間的および記憶量的な要求も増加する。適切な値は、利用可能な記憶量と、SASH構築時間への制限とに基づいて経験的に決定することができる。
【0133】
(バリエーション10)
いかなるk近傍クエリー問題であっても、代わりにK近傍クエリー(K>k)を実行することで精度を向上することが可能である。その後結果の最も近いk要素を報告することにより向上可能である。当然のことながら、これは、K/kの値に概ね比例して実行時間の増加を引き起こす。本発明において説明するこのバリエーションは、精度とクエリー時間との良好なトレード・オフを達成する実際的な実装に使用される方法であることを注記しておく。
【0134】
本発明について、情報検索の実験の結果を示した実施例をもって説明する。再度、後述する実施例は、本発明のよりよく理解するための目的のためにのみ与えられるものであって、本発明の真の範囲を制限するものではない。
【実施例】
本発明者らは、本発明を最大で約500,000ドキュメント、約9000キーワードを含むサンプルデータベースを使用した情報検索の実際的な問題に適用することにより検討した。実施例においては、本発明の方法を、3つの異なったデータ分布を使用して検討した。後述する説明においては、dは、データセットの所望する次元である。本発明の方法は、充分な計算能力を有する市販のワークステーションに実装した。実験のサンプル条件を下記に示す。
(1) データ・セット
ユニフォーム:与えられたポイントについて、そのd座標それぞれを、所定の間隔で均一にランダム生成した整数とする。距離の尺度としては、ユークリッド距離とした。
【0135】
クラスター:所定の多次元矩形内に位置する10個の固定されたクラスターの中心の1つに近くにそれぞれのデータ点を置いた、すなわちそれぞれのクラスター中心のそれぞれの座標は、所定の間隔の整数である。与えられたデータ点に対するクラスター中心は、ランダムに均一に選択し、その後オフセットをそれぞれの座標に加えてポイントを生成した。それぞれの座標に対して、2つの上述したオフセットを加えた。すべてのオフセットを、互いに独立に生成した。距離の尺度は、ユークリッド距離である。
【0136】
ロイター:200次元の概ね100,000ポイントのデータセットを、元々8749次元のキーワード集合のロイター通信社のニュース記事におけるキーワードの発生を表す概ね21,000の特性ベクトルをCOV法により次元削減を用いて生成した。それぞれの特性ベクトルから、4つの付加的なベクトルを非ゼロのエントリに摂動を与えることにより生成した。
【0137】
上述した条件の下で、同様のクエリーを取り扱うSASHの性能を調べる目的から、本発明者らは、変更例5および8についてSASHを実装し、試験を行った。比較の目的から、本発明者らは、また、従来技術で説明したZezulaら(前掲)により提案された第2と第3のM-treeに基づく方法を、従来の方法の比較例として実装した。しかしながら、本発明者らは、Ferhatosmanogluら(前掲)のクラスタリングに基づく方法を実装することは、彼らによる実験結果から充分に比較できるので、選択しなかった。
【0138】
試験した方法は、下記の通りである。
【0139】
実施例
Sash3:親ノード容量p=3であり、子ノード容量c=12のSASH
Sash4:親ノード容量p=4であり、子ノード容量c=16のSASH
Sash5:親ノード容量p=5であり、子ノード容量c=22のSASH
Sash10:親ノード容量p=10であり、子ノード容量c=40のSASH
【0140】
比較例
MTreeCR:ノード容量5のM-treeで、収束率にしきい値を使用した(Zezulaらの第3の方法)
MTreeDD:ノード容量5のM-treeで、クエリー要素間距離分布の見積もりを使用した(Zezulaらの第2の方法)。分布は、要素間距離のランダムサンプリングにより与えた。使用したサンプルサイズは、n1.5であり、nは、データベース内での要素の数である。
MTreeDD+:MTreeDDと同様であるが、すべてのクエリー要素間距離を予め計算し、この方法に使用可能とした。この情報は実際的には、利用できない。
【0141】
(2)実験例1:精度と時間のトレード・オフ
第1の実験例では、クラスターおよびロイターデータセットについて、SASH法とMTreeDD+法とを比較した。クラスターデータセットのサイズは、50,000または200,000であり、その次元を、50または100とした。ロイターデータセットのサイズは、100,000であり、次元(削減された)は、200であった。クエリーサイズ(近傍要求の数)を、すべての実行において20,50,100とした。構造は、ランダムに生成した。SASHについては、それぞれのデータ要素を、所定のノードについて均等に等しく出現させた。M-treeについては、ノードの挿入を、均一にかつランダムに行った。クエリー要素のセットを、またデータ要素自体について同一の手順を用いてランダムに生成した。
【0142】
それぞれの実行について、10個のクエリーポイントを生成した。構造(SASHまたはM-tree)を、10回構築し、それぞれの構築後、精度と時間との間のトレード・オフに影響を与えるため異なるパラメータを使用して、すべての10クエリーを繰り返し実行させた。SASH法については、変化させたパラメータは、クエリーサイズとした(上述した変更例10において説明した)。MTreeDD+法については、変化させたパラメータは、ランクしきい値とした。しかしながら、MTreeDD+は、クエリー要素からデータベース要素への距離の完全なリストへとアクセスするので、ランクしきい値の選択は、これらの距離のうちの1つを単に直接選択することに等しい。
【0143】
図14は、実行時間(SASHおよびMtreeに基づく方法において主要な操作である距離計算の数として測定した)vs.精度(正確なk最近傍クエリーの結果において出現するクエリーの結果の比として測定した。)のグラフとして実験の結果を示した図である。スムースなグラフを得るために、それぞれの精度レベルにつき、構造の10回の構築のすべてのクエリーの実行時間を平均した。
【0144】
この実験について、MTreeCRと、MTreeDDは、両方ともMTreeDD+法として表した。MTreeDD+により生成された結果のスペクトルは、MTreeCRまたはMTreeDDにより生成される結果と同一であった。この理由は、両方の方法は、究極的にクエリー−要素の距離のうちの1つを選択して、それらの停止基準を決定するためである。しかしながら、MTreeCRおよびMTreeDDは、それぞれのクエリーについての距離の選択において一致性に劣る。
【0145】
図15には、100,000ポイント64次元のクラスター・データセットSash3、Sash4、およびSash5法についての結果を示す。これは、Ferhatosmanogluら(2001)の実験において考察された最も大きなセット同一のサイズおよび次元である。90%の精度レベルでは、20,50,100のクエリーサイズについてSASH法は、正確なシーケンシャル法に比較して15から20倍のスピードアップを達成した。彼らのクラスター化データセットとは異なるものの、Ferhatosmanogluらは、この精度レベルについて概ね16倍のスピードアップを報告している。
【0146】
(3)実験例2:クエリー結果の変化
M-tree法およびSASH法の時間および精度の変動を見積もるために、本発明者らは、MTreeCR、MTreeDD1.25、およびSash10をそれぞれ、1,000,000ポイントで50次元のユニフォーム・データについて実行させて、実験を行った。それぞれの方法について、100クエリーポイントを、データセットの要素を均一に、かつランダムに選択することで生成し、すべての100クエリーをその後適切な構造(M-treeまたはSASH)について実行させた。すべての実行において、要求したクエリーサイズ(近傍の数)を、100とした。実験例1と同様に、時間を、実行した距離計算の数として測定し、精度を正確な100最近傍クエリーの結果において出現したクエリー結果の割合として測定した。クラスター・データセットおよびロイター・データセットに比較して、ユニフォーム・データセットは、まったくクラスターを含んでおらず、このため、ユニフォーム・データセットに対するクエリーの結果は、より変動が少ないことが期待される。
【0147】
それぞれの方法における目的精度を得るための能力を示すために、本発明者らは、70%のクエリー結果精度をえるための精度と時間との間のトレード・オフに影響を与えるために使用するパラメータの特定の値を決定することを試みた。Sash10法については、このパラメータは、クエリーサイズである(前述した変更例10において説明した)。MTreeCR法およびMTree1.25法については、パラメータは、ランクしきい値である。前処理ステップにおいて、100の追加のクエリーポイントを、トレーニング・パラメータのために生成した。与えられたパラメータの選択において、100のトレーニング・クエリーを実行し、それらの結果の平均精度を決定した。
【0148】
この平均値が70%のターゲット精度よりも大きいか小さいかに基づいて、パラメータを大小に調節した。パラメータの対話的なガイドによる2分探索技術を使用して、値を、可能な限り70%に近いトレーニング・クエリーに対する平均結果精度が得られるように選択した。一度決定すると、このパラメータを使用して、100データ点の異なったセットに基づいたクエリーのために使用した。
【0149】
図16には、この実験の結果を示す。MTreeCR法は、使用したパラメータの値に関わらず、14%以上のクエリー結果精度に達することができなかった。Sash10とMTreeDD1.25は、概ね70%の平均クエリー結果精度を得ることができたが、MTreeDD1.25とSash10とを比較すると、Sash10は、その精度が一致しており、また実行する距離計算の数においてもきわめて一致した。
【0150】
本発明の方法を、50次元の50,000ポイントのクラスター・データセットについての実験により検討した。ここで、選択したターゲットは、クエリーあたり4000回の距離計算であり、テストした方法は、MTreeCR、MTreeDD1.5およびSash3である。探索パラメータの値は、本質的に精度をターゲットにした場合と同一にして決定した。図17は、上述した実験の結果を示す。MTreeCRの場合においては、クエリーについて4000回の距離計算を消費させるパラメータの選択はなかった。再度、Sash3法は、その精度が一致し、かつ実行する距離計算の数について究極的な一致を示した。
【0151】
本発明者らは、さらにSash3、Sash4、Sash5およびMTreeDD1.25法を、ロイター・データセットに適用し、90%のクエリー結果精度をターゲットとして検討を加えた。MTreeDD1.25法は、究極的に不一致であり、82回の実行では、目的の精度を得るために概ね37,500から85,000(最大100,000)で距離計算が変動し、他の18回の実行では、1〜58%の範囲の精度が、約8,000〜30,000回の範囲の距離計算を使用して得られた。
【0152】
これに比較して、すべての3つのSash法は、距離計算の回数に関して高い度合いの一致性を示した。本発明の方法は、精度に関していてば一致性においてより低いながら、すべての3つの方法について、100クエリーの結果のうちの10以下は、精度65%以下であり、クエリーの主なものについては、目的の精度を達成した。
【0153】
この実験の結果を図18(MTreeDD1.25;比較例)および図19(本発明)に示す。精度の平均および標準偏差と距離計算を、下記表1に示す。
【0154】
【表1】
総じて、本発明は、情報処理技術における効率を著しく改良することができる。改善について以下にまとめる。
【0155】
改良1:スケーラビリティ
変更例5を使用すれば、SASHを使用することにより必要とされる記憶量は、pnに比例する。必要とされる距離比較の数は、近似的な上限を有する。
SASH構築:pcnlog2n
近似的なk最近傍クエリー:9ck+clog2n
【0156】
しかしながら、ノードあたりの子ノードの平均の数は、2pよりも小さく、実際的にはこれらの限界は、下記式に近いものとなる。
SASH構築:2p2nlog2n
近似的なk最近傍クエリー:18pk+2plog2n
この方法は、nおよびkに関連してきわめて良くスケールを行うことができる。次元dは、個々の比較におけるコストに対してのみ寄与する。したがって、次元dの数に比例する時間的な同様の尺度が、実行時間に対してdに比例した要因となることが期待できる(クエリーおよび構築の両方に対して)。これは、さらに従来のベクトル空間法により期待される指数的なd依存性よりも遙かに良好である。
【0157】
改善2:実行時間の見積もりと制御
クエリーの実行について与えられた時間制限の中で改善1において開始された時間制限は、近似的なK最近傍クエリーを実行することができる最も大きなKの値を見積もるために使用することができる。要求されたデータベースの要素の数kがKよりも小さい場合には、Kクエリーを実行し、最良のkの値を戻す。この方法において、ユーザには、時間制限内で最も正確な可能な解が与えられる。Kの見積もりには、単一の距離計算の時間を知る必要がある。現実的には、SASHの構築のための時間をベンチマークとして使用することができる。近似的な類似性クエリーのための従来の方法は、上述した見積もりおよび制御を許すものではない。
【0158】
改善3:精度vs.実行時間のトレード・オフ
本発明者らの実験は、M-treeに基づく方法がクエリー・ポイントからデータベースの要素までの距離についての完全な知識を使用するという、“アンフェア”な効果のもとで与えられているにもかかわらず、SASHに基づく方法は、これらを上回った。トレード・オフはまた、従来よりも優れたものである。
【0159】
改善4:データ分布に対する依存性および知識
SASHにおいては、それぞれのデータベース要素の位置は、データのサンプルに関連して形成される(すなわち、階層構造におけるその上のレベルに属するノードのセット)。この方法のポイントを配置する能力は、データの分布に依存せず、データが不均一に分布しているかまたは分布に大きな変動があるかは、問題としない。従来の距離treeに基づいた方法とは異なり、本発明の方法は、与えられたクエリー要素への要素の距離の分布を見積もることは必要とされず、また与えられたデータベース要素に対して要素の距離の分布の非現実的な平均にも依存しない。従来のクラスタリング方法とは異なり、データは、k-meansを使用して同定できるように、順番付けられた単純なクラスターは必要とされない。
【0160】
これまで、本発明を、特定の実施の形態に関連して説明してきた。しかしながら、当業者によれば、本発明の範囲から逸脱することなく種々の除外、修正、および他の実施例が可能であることは、理解できるであろう。
【0161】
本発明は、検索およびランキングのための方法の他、検出およびトラッキングのための方法として説明してきたが、本発明は、また本発明において説明した方法を実行するためのシステムおよび方法それ自体、本発明の方法を実行するためのプログラムが記録された、光学的、磁気的、電気―磁気的媒体といったプログラム製品を含むものである。本発明の真の範囲は、添付する請求項によってのみ定められるものである。
【図面の簡単な説明】
本発明の上述した目的および他の目的および効果については、図面に示した特定の実施の形態をもってする詳細な説明により理解されるであろう。しかしながら、本発明は図面に示した実施の形態に限定されるものではない。
【図1】 図1は、本発明の概略的な方法を示した図。
【図2】 図2は、ドキュメント−キーワード・ベクトルにおける階層構造を構築するための概略手順を示した図。
【図3】 本発明にしたがって生成された階層構造の実施の形態を示した図。
【図4】 図4は、図2に示した階層構造構築のための手順に含まれる副次的手順を示した図。
【図5】 図5は、図4に示した手順をグラフィカルに示した図。
【図6】 図6は、上述した結合またはリンケージの構築をグラフィカルに示した図。
【図7】 図7は、本発明において使用することができる代表的な距離関数を示した図。
【図8】 図8は、本発明において実装される近傍発見のための手順を示した図。
【図9】 図9は、図4に示した孤児保証人を探索する手順を示した図。
【図10】 図10は、k近傍ノードを見出すための手順を示した図。
【図11】 図11は、本発明のコンピュータ・システムの代表的な実施の形態を示した図。
【図12】 図12は、ドキュメント−キーワード・ベクトルのデータ構造の実施の形態を示した図。
【図13】 図13は、上述したデータ構造に含まれるノードポインタそれぞれの機能を示した図。
【図14】 図14は、クエリーサイズ200で、サイズ200,000、次元100のクラスター・データセットに対するSASH法とMTreeDD+法を比較するための第1の実験の結果を示した図。
【図15】 図15は、100,000ポイントの64次元のクラスター・データセットに対するSash3、Sash4、Sash5法の結果−Ferhatosmanogluら(2001)の実験により検討された最も大きなセットと同一のサイズと次元−を示した図。
【図16】 図16は、ユニフォーム・データセットについての要求した精度を70%とした場合の第2の実験の結果を示した図。
【図17】 図17は、要求した距離計算の数が4000の場合の、クラスター・セットについての第2の実験の結果を示した図。
【図18】 図18は、MTreeDD1.25を使用し、要求精度が90%の場合の第2の実験の結果を示した図。
【図19】 図19は、SASH法を使用し、要求精度が90%の場合の第2の実験の結果を示した図。
Claims (9)
- コンピュータにより管理されるデータベースに保持され属性を含む情報の情報処理をコンピュータに実行させるためのプログラムであって、前記情報は、属性を使用してドキュメント−キーワード・ベクトルとされてドキュメント行列を構成し、かつ少なくとも属性に対応する数値要素と前記情報の階層構造を追跡するためのノードポインタを含む情報識別子とを含み、前記ドキュメント−キーワード・ベクトルは、前記情報の階層化構造におけるノードを構成しており、前記プログラムは、前記コンピュータに対し、
前記ドキュメント行列を所定の次元まで次元削減を行い、次元削減行列を生成するステップと、
前記次元削減行列に含まれるドキュメント−キーワード・ベクトルを前記階層構造のノードセットのうちのトップノードとしてランダムに指定するステップと、
前記トップノードから開始する層状の階層レベルとして、前記ドキュメント−キーワード・ベクトルに対して前記階層構造を構成するステップと、
互いに隣接した階層レベルの上側レベルから親ノードを決定し、下側レベルから前記親ノードと子ノードとの間の三角不等式を満たす距離空間での距離を使用して前記子ノードを選択することにより、前記親ノードに対する所定数の複数の子ノードの対を決定するステップと、
決定された前記親ノードと前記子ノードとの間を規定するノードポインタを、対応する前記親ノードと前記子ノードについてのそれぞれの前記情報識別子として追加して、前記親ノードと前記子ノードとの間の関連性を生成するステップと、
クエリーを取得し、前記クエリーに関連して前記ノードをランク付けするステップと、
前記ノードを選択して前記クエリーに関連してランク付けされたノードを前記親ノードとして割り当てられた前記子ノードとの間の前記距離に応答したクラスターを生成するステップと、
を実行させる、コンピュータ実行可能なプログラム。 - 前記次元削減ステップは、潜在的意味索引法または共分散行列法を使用して前記行列の次元削減を行うステップを含む、
請求項1に記載のプログラム。 - 前記親ノードと前記子ノードとの間の関連性を生成するステップは、さらに、前記所定数の子ノードを示すポインタが所定数に達していない親ノードと、前記情報識別子のノードポインタにおいて親ノードが登録されていない少なくとも1つの子ノードとの間において別のポインタ対を決定し、前記ノードポインタとして前記ドキュメント−キーワード・ベクトルの対応するそれぞれのノードポインタとして割り当てる、第2の生成ステップを含む、
請求項1に記載のプログラム。 - 前記情報処理は、情報検索、情報検出、情報ランキング、時系列データ解析およびこれらのいかなる組み合わせから選択される、
請求項1に記載のプログラム。 - コンピュータと、入出力インタフェイスと、前記コンピュータにより管理されるデータベースとを含む情報処理システムであって、前記情報は、属性を使用してドキュメント−キーワード・ベクトルとされ、ドキュメント行列を構成し、かつ少なくとも属性に対応する数値要素と前記情報の階層構造を追跡するためのノードポインタを含む情報識別子とを含み、前記ドキュメント−キーワード・ベクトルは、前記情報の階層化構造におけるノードを構成しており、前記情報処理システムは、
前記ドキュメント行列を所定の次元まで次元削減を行い、次元削減行列を生成する手段と、
前記次元削減行列に含まれるドキュメント−キーワード・ベクトルを前記階層構造のノードセットのうちのトップノードとしてランダムに指定する手段と、
前記トップノードから開始する層状の階層レベルとして、前記ドキュメント−キーワード・ベクトルに対して前記階層構造を構成する手段と、
互いに隣接した階層レベルの上側レベルから親ノードを決定し、下側レベルから前記親ノードと前記子ノードとの間の三角不等式を満たす距離空間での距離を使用して選択し、所定数の複数の子ノードの対を決定する手段と、
決定された前記親ノードと前記子ノードとの間を規定するノードポインタを、対応する前記親ノードと前記子ノードについてのそれぞれの前記情報識別子として追加して、前記親ノードと前記子ノードとの間の関連性を生成する手段と、
クエリーを取得し、前記クエリーに関連して前記ノードをランク付けする手段と、
前記ノードを選択して前記クエリーに関連してランク付けされたノードと前記ノードを前記親ノードとして割り当てられた前記子ノードとの間の前記距離に応答したクラスターを生成する手段と
を含む情報処理システム。 - 前記次元削減手段は、潜在的意味索引法または共分散行列法を使用して前記行列の次元削減を行う手段を含む、
請求項5に記載のシステム。 - 前記関連性を生成する手段は、前記所定数の子ノードを示すポインタが所定数に達していない親ノードと、前記情報識別子のノードポインタにおいて親ノードが登録されていない少なくとも1つの子ノードとの間において別のポインタ対を決定し、前記ノードポインタとして前記ドキュメント−キーワード・ベクトルの対応するそれぞれのノードポインタとして割り当てる第2の生成手段を含む、
請求項5に記載のシステム。 - 前記情報処理は、情報検索、情報検出、情報ランキング、時系列データ解析およびこれらのいかなる組み合わせから選択される、
請求項5に記載のシステム。 - 請求項1〜4のいずれか1項に記載のプログラムを記憶したコンピュータ可読な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002037842A JP3860046B2 (ja) | 2002-02-15 | 2002-02-15 | ランダムサンプル階層構造を用いた情報処理のためのプログラム、システムおよび記録媒体 |
US10/370,224 US7216129B2 (en) | 2002-02-15 | 2003-02-19 | Information processing using a hierarchy structure of randomized samples |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002037842A JP3860046B2 (ja) | 2002-02-15 | 2002-02-15 | ランダムサンプル階層構造を用いた情報処理のためのプログラム、システムおよび記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003256477A JP2003256477A (ja) | 2003-09-12 |
JP3860046B2 true JP3860046B2 (ja) | 2006-12-20 |
Family
ID=28658895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002037842A Expired - Lifetime JP3860046B2 (ja) | 2002-02-15 | 2002-02-15 | ランダムサンプル階層構造を用いた情報処理のためのプログラム、システムおよび記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7216129B2 (ja) |
JP (1) | JP3860046B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210040855A (ko) * | 2020-05-21 | 2021-04-14 | 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 | 내용 추천 방법, 장치와 기기 |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6700590B1 (en) * | 1999-11-01 | 2004-03-02 | Indx Software Corporation | System and method for retrieving and presenting data using class-based component and view model |
US7519565B2 (en) * | 2003-11-03 | 2009-04-14 | Cloudmark, Inc. | Methods and apparatuses for classifying electronic documents |
US20050149546A1 (en) * | 2003-11-03 | 2005-07-07 | Prakash Vipul V. | Methods and apparatuses for determining and designating classifications of electronic documents |
US20050114331A1 (en) * | 2003-11-26 | 2005-05-26 | International Business Machines Corporation | Near-neighbor search in pattern distance spaces |
US7689579B2 (en) * | 2003-12-03 | 2010-03-30 | Siemens Aktiengesellschaft | Tag modeling within a decision, support, and reporting environment |
US7689543B2 (en) * | 2004-03-11 | 2010-03-30 | International Business Machines Corporation | Search engine providing match and alternative answers using cumulative probability values |
JP2005301786A (ja) * | 2004-04-14 | 2005-10-27 | Internatl Business Mach Corp <Ibm> | 評価装置、クラスタ生成装置、プログラム、記録媒体、評価方法、及びクラスタ生成方法 |
US20050278308A1 (en) * | 2004-06-01 | 2005-12-15 | Barstow James F | Methods and systems for data integration |
US7840607B2 (en) * | 2004-08-06 | 2010-11-23 | Siemens Aktiengesellschaft | Data mart generation and use in association with an operations intelligence platform |
US8700671B2 (en) * | 2004-08-18 | 2014-04-15 | Siemens Aktiengesellschaft | System and methods for dynamic generation of point / tag configurations |
US7814123B2 (en) * | 2004-12-02 | 2010-10-12 | Siemens Aktiengesellschaft | Management of component members using tag attributes |
US8442938B2 (en) * | 2005-01-14 | 2013-05-14 | Siemens Aktiengesellschaft | Child data structure update in data management system |
US20060218116A1 (en) * | 2005-03-28 | 2006-09-28 | O'hearn James E | Pass-through interface queries to populate a class-based model |
US7765208B2 (en) * | 2005-06-06 | 2010-07-27 | Microsoft Corporation | Keyword analysis and arrangement |
US7676463B2 (en) * | 2005-11-15 | 2010-03-09 | Kroll Ontrack, Inc. | Information exploration systems and method |
US7603351B2 (en) * | 2006-04-19 | 2009-10-13 | Apple Inc. | Semantic reconstruction |
US7750909B2 (en) * | 2006-05-16 | 2010-07-06 | Sony Corporation | Ordering artists by overall degree of influence |
US7840568B2 (en) * | 2006-05-16 | 2010-11-23 | Sony Corporation | Sorting media objects by similarity |
US20070271286A1 (en) * | 2006-05-16 | 2007-11-22 | Khemdut Purang | Dimensionality reduction for content category data |
US7961189B2 (en) * | 2006-05-16 | 2011-06-14 | Sony Corporation | Displaying artists related to an artist of interest |
US7774288B2 (en) | 2006-05-16 | 2010-08-10 | Sony Corporation | Clustering and classification of multimedia data |
US20070271274A1 (en) * | 2006-05-16 | 2007-11-22 | Khemdut Purang | Using a community generated web site for metadata |
US9330170B2 (en) * | 2006-05-16 | 2016-05-03 | Sony Corporation | Relating objects in different mediums |
US7933901B2 (en) * | 2007-01-04 | 2011-04-26 | Brian Kolo | Name characteristic analysis software and methods |
US8260783B2 (en) * | 2007-02-27 | 2012-09-04 | Siemens Aktiengesellschaft | Storage of multiple, related time-series data streams |
US8060540B2 (en) * | 2007-06-18 | 2011-11-15 | Microsoft Corporation | Data relationship visualizer |
JP5151394B2 (ja) * | 2007-10-25 | 2013-02-27 | 株式会社リコー | 情報管理装置、情報管理方法、及びプログラム |
JP5333815B2 (ja) * | 2008-02-19 | 2013-11-06 | 株式会社日立製作所 | k最近傍検索方法、k最近傍検索プログラム及びk最近傍検索装置 |
US20090274376A1 (en) * | 2008-05-05 | 2009-11-05 | Yahoo! Inc. | Method for efficiently building compact models for large multi-class text classification |
US20100004967A1 (en) * | 2008-07-02 | 2010-01-07 | International Business Machines Corporation | Method and System for Generating One Flow Models from Runtime Service Delivery Process |
US9910892B2 (en) | 2008-07-05 | 2018-03-06 | Hewlett Packard Enterprise Development Lp | Managing execution of database queries |
US8275762B2 (en) * | 2008-10-21 | 2012-09-25 | Hewlett-Packard Development Company, L.P. | Reverse mapping of feature space to predict execution in a database |
US8219539B2 (en) * | 2009-04-07 | 2012-07-10 | Microsoft Corporation | Search queries with shifting intent |
US8924279B2 (en) | 2009-05-07 | 2014-12-30 | Visa U.S.A. Inc. | Risk assessment rule set application for fraud prevention |
WO2011081950A1 (en) * | 2009-12-14 | 2011-07-07 | Massachussets Institute Of Technology | Methods, systems and media utilizing ranking techniques in machine learning |
US8719267B2 (en) * | 2010-04-19 | 2014-05-06 | Alcatel Lucent | Spectral neighborhood blocking for entity resolution |
US8326869B2 (en) * | 2010-09-23 | 2012-12-04 | Accenture Global Services Limited | Analysis of object structures such as benefits and provider contracts |
TW201239649A (en) * | 2011-03-28 | 2012-10-01 | Hon Hai Prec Ind Co Ltd | System and method for sorting files |
US9036925B2 (en) | 2011-04-14 | 2015-05-19 | Qualcomm Incorporated | Robust feature matching for visual search |
US8706711B2 (en) | 2011-06-22 | 2014-04-22 | Qualcomm Incorporated | Descriptor storage and searches of k-dimensional trees |
US9208219B2 (en) * | 2012-02-09 | 2015-12-08 | Stroz Friedberg, LLC | Similar document detection and electronic discovery |
US9336302B1 (en) | 2012-07-20 | 2016-05-10 | Zuci Realty Llc | Insight and algorithmic clustering for automated synthesis |
CN103853787B (zh) * | 2012-12-06 | 2017-06-16 | 北大方正集团有限公司 | 一种追踪相似稿件和图片的方法及系统 |
US10034211B2 (en) * | 2013-01-02 | 2018-07-24 | Philips Lighting Holding B.V. | Delegated channel switching for mesh-type networks |
WO2014109127A1 (ja) * | 2013-01-11 | 2014-07-17 | 日本電気株式会社 | インデックス生成装置及び方法並びに検索装置及び検索方法 |
US20140222817A1 (en) * | 2013-02-04 | 2014-08-07 | David Allen Olsen | System and method for grouping segments of data sequences into clusters |
WO2015042357A1 (en) * | 2013-09-20 | 2015-03-26 | Drexel University | Design rule spaces and architecture root detection |
US9921731B2 (en) | 2014-11-03 | 2018-03-20 | Cerner Innovation, Inc. | Duplication detection in clinical documentation |
US20160364794A1 (en) * | 2015-06-09 | 2016-12-15 | International Business Machines Corporation | Scoring transactional fraud using features of transaction payment relationship graphs |
US20170171344A1 (en) * | 2015-12-15 | 2017-06-15 | Le Holdings (Beijing) Co., Ltd. | Scheduling method and server for content delivery network service node |
US9710544B1 (en) * | 2016-05-19 | 2017-07-18 | Quid, Inc. | Pivoting from a graph of semantic similarity of documents to a derivative graph of relationships between entities mentioned in the documents |
US10346405B2 (en) | 2016-10-17 | 2019-07-09 | International Business Machines Corporation | Lower-dimensional subspace approximation of a dataset |
US11205103B2 (en) | 2016-12-09 | 2021-12-21 | The Research Foundation for the State University | Semisupervised autoencoder for sentiment analysis |
CN106960003A (zh) * | 2017-02-15 | 2017-07-18 | 黑龙江工程学院 | 抄袭检测中的基于机器学习的源检索的查询生成方法 |
US10721475B2 (en) * | 2017-09-01 | 2020-07-21 | Ittiam Systems (P) Ltd. | K-nearest neighbor model-based content adaptive encoding parameters determination |
US10616338B1 (en) | 2017-09-25 | 2020-04-07 | Amazon Technologies, Inc. | Partitioning data according to relative differences indicated by a cover tree |
US11853264B2 (en) * | 2020-06-29 | 2023-12-26 | Rubrik, Inc. | Aggregating metrics in file systems using structured journals |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5325298A (en) * | 1990-11-07 | 1994-06-28 | Hnc, Inc. | Methods for generating or revising context vectors for a plurality of word stems |
US5675819A (en) * | 1994-06-16 | 1997-10-07 | Xerox Corporation | Document information retrieval using global word co-occurrence patterns |
US6233575B1 (en) * | 1997-06-24 | 2001-05-15 | International Business Machines Corporation | Multilevel taxonomy based on features derived from training documents classification using fisher values as discrimination values |
WO2000046701A1 (en) * | 1999-02-08 | 2000-08-10 | Huntsman Ici Chemicals Llc | Method for retrieving semantically distant analogies |
US6598047B1 (en) * | 1999-07-26 | 2003-07-22 | David W. Russell | Method and system for searching text |
US6704729B1 (en) * | 2000-05-19 | 2004-03-09 | Microsoft Corporation | Retrieval of relevant information categories |
JP3974511B2 (ja) * | 2002-12-19 | 2007-09-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報検索のためのデータ構造を生成するコンピュータ・システム、そのための方法、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラム、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラムを記憶したコンピュータ可読な記憶媒体、情報検索システム、およびグラフィカル・ユーザ・インタフェイス・システム |
-
2002
- 2002-02-15 JP JP2002037842A patent/JP3860046B2/ja not_active Expired - Lifetime
-
2003
- 2003-02-19 US US10/370,224 patent/US7216129B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210040855A (ko) * | 2020-05-21 | 2021-04-14 | 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 | 내용 추천 방법, 장치와 기기 |
KR102558867B1 (ko) * | 2020-05-21 | 2023-07-21 | 아폴로 인텔리전트 커넥티비티 (베이징) 테크놀로지 씨오., 엘티디. | 내용 추천 방법, 장치와 기기 |
Also Published As
Publication number | Publication date |
---|---|
JP2003256477A (ja) | 2003-09-12 |
US20040162834A1 (en) | 2004-08-19 |
US7216129B2 (en) | 2007-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3860046B2 (ja) | ランダムサンプル階層構造を用いた情報処理のためのプログラム、システムおよび記録媒体 | |
Wang et al. | Clustering articles based on semantic similarity | |
Dong et al. | Modeling LSH for performance tuning | |
USRE47340E1 (en) | Image retrieval apparatus | |
Wang et al. | A phrase mining framework for recursive construction of a topical hierarchy | |
US6360227B1 (en) | System and method for generating taxonomies with applications to content-based recommendations | |
JP3974511B2 (ja) | 情報検索のためのデータ構造を生成するコンピュータ・システム、そのための方法、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラム、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラムを記憶したコンピュータ可読な記憶媒体、情報検索システム、およびグラフィカル・ユーザ・インタフェイス・システム | |
US6212526B1 (en) | Method for apparatus for efficient mining of classification models from databases | |
JP2003030222A (ja) | 大規模データベースにおける主要クラスタおよびアウトライア・クラスタの検索、検出および同定のための方法、システム、記録媒体、およびサーバ | |
Kim et al. | A semi-supervised document clustering technique for information organization | |
US20080133496A1 (en) | Method, computer program product, and device for conducting a multi-criteria similarity search | |
Ishak Boushaki et al. | High-dimensional text datasets clustering algorithm based on cuckoo search and latent semantic indexing | |
Patel et al. | A review on web pages clustering techniques | |
Manne et al. | Text categorization with K-nearest neighbor approach | |
CN104598599A (zh) | 命名排歧方法及系统 | |
Klink | Query reformulation with collaborative concept-based expansion | |
Tao et al. | Doc2cube: Automated document allocation to text cube via dimension-aware joint embedding | |
Freeman et al. | Web content management by self-organization | |
Wang et al. | Scalable and robust construction of topical hierarchies | |
Manne et al. | A Query based Text Categorization using K-nearest neighbor Approach | |
Noor et al. | Latent dirichlet allocation based semantic clustering of heterogeneous deep web sources | |
Yi et al. | Improving multi-faceted book search by incorporating sparse latent semantic analysis of click-through logs | |
Zhao et al. | Organizing structured deep web by clustering query interfaces link graph | |
Bradley et al. | Author identification from citations | |
ALhamed | Query Modification Based on Relevance Feedback |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050803 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060511 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060912 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20060912 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060920 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090929 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100929 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100929 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110929 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120929 Year of fee payment: 6 |