Slack 経由で連絡してください:
PISA は、大規模なドキュメントのコレクションに対して実行できるテキスト検索エンジンです。これにより、研究者は最先端の技術を試すことができ、迅速な開発に理想的な環境が得られます。
PISA のいくつかの機能を以下に示します。
PISA はテキスト検索エンジンですが、「PISA プロジェクト」はインデックス作成とクエリ処理の実験に役立つツールのセットです。テキスト コレクションが与えられると、PISA はこのコーパスに対して転置インデックスを構築し、コーパスを検索できるようにします。転置インデックスは、簡単に言うと、一意の用語ごとに文書のリストを保存することによって文書コーパスを表す効率的なデータ構造です (ここを参照)。クエリ時に、PISA はインデックスをメイン メモリに保存し、迅速に取得できるようにします。
非常に簡単に言うと、PISA はテキスト検索エンジンです。 PISA は、Wikipedia などの文書のコーパスから始めて、Wikipedia コレクションを迅速に検索できる転置索引を構築できます。最も基本的なレベルでは、ブールAND
クエリとOR
クエリがサポートされています。 「ウーロン茶」というクエリに一致するすべての Wikipedia ドキュメントを検索したいと想像してください。ブール論理積 (ウーロンAND
茶) を実行できます。代わりに、ウーロンまたはお茶(または両方) を含むドキュメントを検索することに興味がある場合があります。その場合は、ブール論理和 (ウーロンOR
お茶) を実行できます。
上で説明したように、単純なブール一致を超えて、実際にドキュメントをランク付けすることができます。詳細には触れませんが、文書は、用語が珍しいほど重要であると想定される関数によってランク付けされます。また、これらのランカーは、文書内で単語が頻繁に出現するほど、その文書がその単語に関するものである可能性が高いと想定しています。最後に、長いドキュメントにはより多くの単語が含まれているため、短いドキュメントよりも高いスコアが得られる可能性が高いため、すべてのドキュメントが平等に扱われるように正規化が実行されます。興味のある読者は、TF/IDF のウィキペディアの記事を調べて、このランキング方法について詳しく学ぶとよいでしょう。
これは、たとえば検索grep
と同じタイプではありません。これは、人気のある Lucene 検索エンジンとより密接に関連していますが、現在は Lucene ほど多くのクエリ タイプをサポートしていません。前に説明したように、PISA の基礎となる主なデータ構造は転置インデックスです。逆索引には、用語ごとに、その用語を含む文書のリストが保管されます。これらのリストを迅速に検索して、クエリ用語に一致する文書を見つけることができ、これらの文書をスコア付けしてランク付けし、ユーザーに返すことができます。
PISA の主な使用例は、情報検索 (IR) の分野についての理解を深めるための実験を実施することです。 IR の分野では、結果の品質 (有効性) の向上から検索システムのスケーラビリティと効率の向上に至るまで、さまざまな重要な研究方向に焦点が当てられています。 PISA は主に IR 研究の拡張性と効率性の側面に焦点を当てており、これが PISA が「Performant Indexes and Search for Academia」の略である理由です。つまり、PISA は効率的な検索における新しいイノベーションを開発するためのプラットフォームです。
PISA は実験の基盤であることに重点を置いていますが、単純な汎用インデックスおよび検索システムとしての使用にも完全に適しています。
PISA は大規模なテキストのコレクションを処理できます。たとえば、PISA は、ClueWeb09B または ClueWeb12B コーパスのインデックスを簡単に作成できます。これらには、それぞれ 5,000 万を超える Web ドキュメントと 500 GiB 近くの圧縮テキスト データが含まれており、圧縮コーデックに応じて 10 ~ 40 GiB の範囲のインデックスが作成されます。使用済み。これらのインデックスは、詳細にもよりますが、約 10 ~ 20 時間で最初から構築できます。さらに、大きなコレクションは、大きなコーパスを小さなサブセット (シャード) に分割するインデックス シャーディングを介して処理できます。ただし、PISA はインメモリシステムであり、メイン メモリ内に完全に存在するインデックスに基づいてクエリを処理することを目的としていることに注意してください。そのため、可能なスケールはメイン メモリによって制限されます。
最近のいくつかの研究では、PISA のベンチマークが行われています。たとえば、ECIR 2019 に掲載された Antonio Mallia、Michal Siedlaczek、Torsten Suel によるインデックス圧縮と DAAT クエリ処理手法に関する実験的研究では、PISA が平均レイテンシで上位 10 位と上位 1000 位のドキュメントを返すことができることが示されました。 5,000 万の Web ドキュメントを含むコレクションでは、それぞれ 10 ~ 40 ミリ秒と 20 ~ 50ミリ秒の範囲です。
PISA は、Tantivy の検索エンジン ベンチマーク ゲームにも含まれており、Tantivy、Lucene、Rucene も競合他社として存在します。
PISA は、Giuseppe Ottaviano によって開始された ds2i プロジェクトから分岐したものです。 ds2i プロジェクトには、「Partitioned Elias-Fano」圧縮方式など、IR における多くの重要な効率革新のためのソース コードが含まれていました。
PISA への取り組みに興味がある場合は、次のリソースを検討することをお勧めします。
PISA に参加したい場合は、貢献ページをご覧ください。
研究論文で PISA を使用する場合は、次の参考文献を引用してください。
@inproceedings{MSMS2019,
author = {Antonio Mallia and Michal Siedlaczek and Joel Mackenzie and Torsten Suel},
title = {{PISA:} Performant Indexes and Search for Academia},
booktitle = {Proceedings of the Open-Source {IR} Replicability Challenge co-located
with 42nd International {ACM} {SIGIR} Conference on Research and Development
in Information Retrieval, OSIRRC@SIGIR 2019, Paris, France, July 25,
2019.},
pages = {50--56},
year = {2019},
url = {http://ceur-ws.org/Vol-2409/docker08.pdf}
}