Skip to main content
QUICK REVIEW

[論文レビュー] Optimal Top-k Document Retrieval

Gonzalo Navarro, Yakov Nekrich|arXiv (Cornell University)|Jul 25, 2013
Algorithms and Data Compression参考文献 64被引用数 5
ひとこと要約

本稿では、RAMモデルにおける最適なトップ-kドキュメント検索のための線形空間データ構造を提示する。クエリ時間は $ O(p/\log_{\sigma}n + k) $ であり、項目の頻度、最小間隔距離、ドキュメントランクといった一般の関連度測度において、漸近的に最適である。本手法は問題を多次元幾何検索に還元し、RAMに最適な新しいサフィックスツリー走査技術を導入することで、ツリーのトポロジーを変更せずに効率的な検索を可能にする。

ABSTRACT

Let $\mathcal{D}$ be a collection of $D$ documents, which are strings over an alphabet of size $σ$, of total length $n$. We describe a data structure that uses linear space and and reports $k$ most relevant documents that contain a query pattern $P$, which is a string of length $p$, in time $O(p/\log_σn+k)$, which is optimal in the RAM model in the general case where $\lg D = Θ(\log n)$, and involves a novel RAM-optimal suffix tree search. Our construction supports an ample set of important relevance measures... [clip] When $\lg D = o(\log n)$, we show how to reduce the space of the data structure from $O(n\log n)$ to $O(n(\logσ+\log D+\log\log n))$ bits... [clip] We also consider the dynamic scenario, where documents can be inserted and deleted from the collection. We obtain linear space and query time $O(p(\log\log n)^2/\log_σn+\log n + k\log\log k)$, whereas insertions and deletions require $O(\log^{1+ε} n)$ time per symbol, for any constant $ε>0$. Finally, we consider an extended static scenario where an extra parameter $par(P,d)$ is defined, and the query must retrieve only documents $d$ such that $par(P,d)\in [τ_1,τ_2]$, where this range is specified at query time. We solve these queries using linear space and $O(p/\log_σn + \log^{1+ε} n + k\log^εn)$ time, for any constant $ε>0$. Our technique is to translate these top-$k$ problems into multidimensional geometric search problems. As an additional bonus, we describe some improvements to those problems.

研究の動機と目的

  • 大規模なテキストコレクションにおいて、与えられたクエリパターン P を含む最も関連度の高いトップ-kドキュメントを効率的に検索するという根本的な問題に対処すること。
  • 項目の頻度、最小間隔距離、ドキュメントランクといった多様な関連度測度に対して最適なクエリ時間をサポートするデータ構造を設計すること。
  • ドキュメントの挿入・削除が可能な動的設定に拡張し、更新およびクエリの効率を維持すること。
  • ドキュメント数が少ない場合($ \lg D = o(\log n) $)の空間使用量を削減しつつ、ほぼ最適なクエリパフォーマンスを維持すること。
  • 補助パラメータ $ \mathtt{par}(P,d) $ に対する範囲制約をサポートするモデルの一般化により、検索中により複雑なフィルタリングを可能にすること。

提案手法

  • トップ-kドキュメント検索を多次元幾何範囲報告問題に変換し、効率的なクエリを実現するための幾何データ構造を活用する。
  • RAMモデルにおけるワードレベル並列性を活用して、$ O(p/\log_{\sigma}n) $ 時間のクエリを実現する、新しいRAMに最適なサフィックスツリー走査アルゴリズムを開発する。
  • サフィックスツリーから導出されたグリッド表現を用いたデータ構造で、各ノードがドキュメントリストへの重み付きポインタを保持することで、関連度スコアの効率的集約を可能にする。
  • 動的状況では、グリッド構造の動的バージョンを用いて、1文字あたり $ O(\log^{1+\varepsilon}n) $ 時間で挿入・削除をサポートする。
  • スパースドキュメントケース($ \lg D = o(\log n) $)では、項目の頻度に対して空間を $ O(n(\log\sigma + \log D)) $ ビットに削減でき、クエリ時間にわずかな加法的項 $ O(\log^{\varepsilon}n \log\sigma) $ が加わる。
  • 補助パラメータ $ \mathtt{par}(P,d) \in [\tau_1, \tau_2] $ に対する範囲制約をサポートする拡張クエリには、幾何範囲クエリとサフィックスツリー走査の組み合わせを用いる。

実験結果

リサーチクエスチョン

  • RQ1RAMモデルにおいて、線形空間のみを用いてトップ-kドキュメント検索を $ O(p/\log_{\sigma}n + k) $ 時間で解けるか。また、この時間計算量は最適か?
  • RQ2サフィックスツリーの下位構造を変更せずに、最適なトップ-k検索をサポートするように拡張するにはどうすればよいか。これにより、従来の構造の不変性が保たれるか?
  • RQ3ドキュメント数 $ D $ が $ n $ に対して多項式的でない場合($ D $ が $ n $ の多項式的でない関数)、空間とクエリ時間のトレードオフは何か。空間を $ O(n(\log\sigma + \log D)) $ ビットに削減できるか?
  • RQ4静的最適解を、効率的な更新およびクエリ時間を維持しながら、動的更新(挿入・削除)をサポートするように拡張できるか?
  • RQ5ドキュメントの補助パラメータ $ \mathtt{par}(P,d) $(例:最小距離やカスタムドキュメントスコア)が指定された範囲内にあるものに制限するクエリをサポートするモデルを一般化できるか?

主な発見

  • 提案されたデータ構造は、一般の関連度測度において、RAMモデルで理論的下界と一致する最適なクエリ時間 $ O(p/\log_{\sigma}n + k) $ を達成する。
  • 項目の頻度測度において、$ \lg D = o(\log n) $ の場合、空間は $ O(n(\log\sigma + \log D)) $ ビットに削減され、クエリ時間にはわずかな加法的項 $ O(\log^{\varepsilon}n \log\sigma) $ が加わるにとどまる。
  • 動的バージョンは、クエリ時間 $ O(p(\log\log n)^2/\log_{\sigma}n + \log n + k\log\log k) $ および1文字あたり $ O(\log^{1+\varepsilon}n) $ 時間の更新をサポートする。ここで $ \varepsilon > 0 $ は任意の定数である。
  • フレームワークにより、ドキュメントが $ \mathtt{par}(P,d) \in [\tau_1, \tau_2] $ を満たす必要がある拡張クエリを効率的に処理でき、クエリ時間は $ O(p/\log_{\sigma}n + \log^{1+\varepsilon}n + k\log^{\varepsilon}n) $ である。
  • 本手法は実用的であり、テキストサイズの2〜3倍程度のメモリで実装可能で、平均して1結果あたりミリ秒未満の検索時間を達成する。これは、平均ケースのクエリ時間が最適でない場合でも同様に成り立つ。
  • 袋の語モデルへの一般化により、インデックスの走査をエミュレートすることで、文字列ドキュメントの文脈で、明示的なリスト表現用に設計された任意のアルゴリズムをシミュレート可能となる。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。