Kontaktieren Sie uns über Slack:
PISA ist eine Textsuchmaschine, die für umfangreiche Dokumentensammlungen geeignet ist. Es ermöglicht Forschern, mit modernsten Techniken zu experimentieren und schafft so ein ideales Umfeld für eine schnelle Entwicklung.
Nachfolgend sind einige Merkmale von PISA aufgeführt:
PISA ist eine Textsuchmaschine, das „PISA-Projekt“ besteht jedoch aus einer Reihe von Tools, die beim Experimentieren mit der Indexierung und Abfrageverarbeitung helfen. Bei einer gegebenen Textsammlung kann PISA einen invertierten Index über diesem Korpus erstellen, sodass der Korpus durchsucht werden kann. Vereinfacht ausgedrückt ist der invertierte Index eine effiziente Datenstruktur, die den Dokumentenkorpus darstellt, indem für jeden eindeutigen Begriff eine Liste von Dokumenten gespeichert wird (siehe hier). Zum Zeitpunkt der Abfrage speichert PISA seinen Index zum schnellen Abruf im Hauptspeicher.
Ganz einfach ausgedrückt ist PISA eine Textsuchmaschine. Ausgehend von einem Dokumentenkorpus, beispielsweise Wikipedia, kann PISA einen invertierten Index erstellen, der uns eine schnelle Suche in der Wikipedia-Sammlung ermöglicht. Auf der einfachsten Ebene werden boolesche AND
und OR
-Abfragen unterstützt. Stellen Sie sich vor, wir wollten alle Wikipedia-Dokumente finden, die der Suchanfrage „Oolong-Tee“ entsprechen – wir könnten eine boolesche Konjunktion ( oolong AND
tea ) ausführen. Stattdessen könnten wir daran interessiert sein, Dokumente zu finden, die entweder Oolong oder Tee (oder beides) enthalten. In diesem Fall können wir eine Boolesche Disjunktion ( Oolong OR
Tee ) ausführen.
Über den einfachen booleschen Vergleich hinaus, wie oben erläutert, können wir Dokumente tatsächlich einordnen . Ohne auf Details einzugehen, werden Dokumente nach Funktionen geordnet, die davon ausgehen, dass das Wort umso wichtiger ist, je seltener ein Begriff ist. Diese Ranking-Experten gehen außerdem davon aus, dass es umso wahrscheinlicher ist, dass sich das Dokument mit diesem Wort befasst, je häufiger ein Wort in einem Dokument vorkommt. Schließlich enthalten längere Dokumente mehr Wörter und erhalten daher mit größerer Wahrscheinlichkeit höhere Bewertungen als kürzere Dokumente. Daher wird eine Normalisierung durchgeführt, um sicherzustellen, dass alle Dokumente gleich behandelt werden. Der interessierte Leser möchte möglicherweise den TF/IDF-Wikipedia-Artikel lesen, um mehr über diese Ranking-Methode zu erfahren.
Dies ist beispielsweise nicht die gleiche Art von Such- grep
. Dies hängt eher mit der beliebten Lucene-Suchmaschine zusammen, obwohl wir derzeit nicht so viele Abfragetypen wie Lucene unterstützen. Wie bereits erwähnt, ist die wichtigste zugrunde liegende Datenstruktur in PISA der invertierte Index . Der invertierte Index speichert für jeden Begriff eine Liste von Dokumenten, die diesen Begriff enthalten. Diese Listen können schnell durchsucht werden, um Dokumente zu finden, die den Suchbegriffen entsprechen. Diese Dokumente können dann bewertet, eingestuft und an den Benutzer zurückgegeben werden.
Der Hauptanwendungsfall von PISA besteht darin, Experimente durchzuführen, um das Verständnis des Bereichs Information Retrieval (IR) zu verbessern. Im Bereich IR liegen verschiedene wichtige Forschungsrichtungen im Fokus, von der Verbesserung der Ergebnisqualität (Effektivität) bis hin zur Verbesserung der Skalierbarkeit und Effizienz von Suchsystemen. PISA konzentriert sich hauptsächlich auf die Skalierbarkeits- und Effizienzseite der IR-Forschung, weshalb PISA für „Performant Indexes and Search for Academia“ steht. Kurz gesagt ist PISA eine Plattform zur Entwicklung neuer Innovationen im Bereich der effizienten Suche.
Während PISA als Grundlage für Experimente dient, eignet es sich auch hervorragend als einfaches, allgemeines Indexierungs- und Suchsystem.
PISA kann große Textsammlungen verarbeiten. PISA kann beispielsweise problemlos die Korpora ClueWeb09B oder ClueWeb12B indizieren, die jeweils über 50 Millionen Webdokumente und fast 500 GiB an komprimierten Textdaten enthalten, was je nach Komprimierungscodec zu Indizes im Bereich von 10 bis 40 GiB führt gebraucht. Abhängig von einigen Details können diese Indizes in etwa 10 bis 20 Stunden von Grund auf erstellt werden. Darüber hinaus können größere Sammlungen über Index-Sharding verwaltet werden, das große Korpora in kleinere Teilmengen (Shards) aufteilt. Wir weisen jedoch darauf hin, dass es sich bei PISA um ein In-Memory -System handelt, dessen Ziel es ist, Abfragen basierend auf einem Index zu bedienen, der vollständig im Hauptspeicher liegt. Daher wird die mögliche Skalierung durch den Hauptspeicher begrenzt.
Einige neuere Arbeiten haben PISA einem Benchmarking unterzogen. Beispielsweise zeigte eine experimentelle Studie zu Indexkomprimierung und DAAT-Abfrageverarbeitungsmethoden von Antonio Mallia, Michal Siedlaczek und Torsten Suel, die in ECIR 2019 erschien, dass PISA in der Lage ist, die Top-10- und Top-1000-Dokumente mit einer durchschnittlichen Latenz in zurückzugeben der Bereich von 10–40 bzw. 20–50 Millisekunden bei einer Sammlung mit 50 Millionen Webdokumenten.
PISA ist auch im Suchmaschinen-Benchmark-Spiel von Tantivy enthalten, das auch Tantivy, Lucene und Rucene als Konkurrenten hat.
PISA ist ein Zweig des von Giuseppe Ottaviano gestarteten ds2i-Projekts. Das ds2i-Projekt enthielt den Quellcode für eine Reihe wichtiger Effizienzinnovationen im IR, darunter die Komprimierungsmethode „Partitioned Elias-Fano“.
Für diejenigen, die an der Arbeit mit PISA interessiert sind, empfehlen wir die Prüfung der folgenden Ressourcen:
Wenn Sie sich an PISA beteiligen möchten, schauen Sie sich bitte unsere Seite „Mitwirken“ an.
Wenn Sie PISA in einer Forschungsarbeit verwenden, geben Sie bitte die folgende Referenz an:
@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}
}