Свяжитесь с нами через Slack:
PISA — это текстовая поисковая система, способная работать с большими коллекциями документов. Это позволяет исследователям экспериментировать с самыми современными методами, создавая идеальную среду для быстрого развития.
Некоторые особенности PISA перечислены ниже:
PISA — это система текстового поиска, хотя «Проект PISA» представляет собой набор инструментов, которые помогают экспериментировать с индексированием и обработкой запросов. Учитывая коллекцию текстов, PISA может построить инвертированный индекс по этому корпусу, что позволит осуществлять поиск по корпусу. Проще говоря, инвертированный индекс — это эффективная структура данных, которая представляет корпус документов путем хранения списка документов для каждого уникального термина (см. здесь). Во время запроса PISA сохраняет свой индекс в основной памяти для быстрого поиска.
Проще говоря, PISA — это текстовая поисковая система. Начав с корпуса документов, например Википедии, PISA может создать инвертированный индекс , который позволяет нам быстро осуществлять поиск в коллекции Википедии. На самом базовом уровне поддерживаются логические запросы AND
и OR
. Представьте, что мы хотим найти все документы Википедии, соответствующие запросу «чай улун» — мы могли бы запустить логическое соединение ( улун AND
чай ). Вместо этого нас может заинтересовать поиск документов, содержащих либо улун , либо чай (или и то, и другое), и в этом случае мы можем выполнить логическую дизъюнкцию ( улун OR
чай ).
Помимо простого логического сопоставления, как обсуждалось выше, мы можем ранжировать документы. Не вдаваясь в подробности, документы ранжируются по функциям, предполагающим, что чем реже термин, тем важнее слово. Эти рейтинговщики также предполагают, что чем чаще слово встречается в документе, тем больше вероятность того, что документ будет посвящен этому слову. Наконец, более длинные документы содержат больше слов и, следовательно, с большей вероятностью получат более высокие оценки, чем более короткие документы, поэтому нормализация проводится для обеспечения одинакового обращения со всеми документами. Заинтересованный читатель может изучить статью TF/IDF в Википедии, чтобы узнать больше об этом методе ранжирования.
Например, это не тот же тип поиска grep
. Это более тесно связано с популярной поисковой системой Lucene, хотя в настоящее время мы не поддерживаем столько типов запросов, сколько Lucene. Как обсуждалось ранее, основной базовой структурой данных в PISA является инвертированный индекс . Инвертированный индекс хранит для каждого термина список документов, содержащих этот термин. Эти списки можно быстро просматривать в поисках документов, соответствующих условиям запроса, а затем эти документы можно оценивать, ранжировать и возвращать пользователю.
Основным вариантом использования PISA является проведение экспериментов для дальнейшего понимания области информационного поиска (IR). В области IR существуют различные важные направления исследований, от улучшения качества результатов (эффективности) до улучшения масштабируемости и эффективности поисковых систем. PISA ориентирован в основном на масштабируемость и эффективность IR-исследований, и именно поэтому PISA расшифровывается как «Индексы эффективности и поиск академических кругов». Короче говоря, PISA — это платформа для разработки новых инноваций в области эффективного поиска.
Хотя PISA призвана служить основой для экспериментов, она также идеально подходит для использования в качестве простой системы индексирования и поиска общего назначения.
PISA может обрабатывать большие коллекции текстов. Например, PISA может легко индексировать корпуса ClueWeb09B или ClueWeb12B, каждый из которых содержит более 50 миллионов веб-документов и около 500 ГиБ сжатых текстовых данных, в результате чего индексы находятся в диапазоне 10–40 ГиБ, в зависимости от кодека сжатия. использовал. Эти индексы, в зависимости от некоторых деталей, можно построить с нуля примерно за 10–20 часов. Кроме того, более крупные коллекции можно обрабатывать с помощью сегментирования индекса , которое разбивает большие корпуса на более мелкие подмножества (осколки). Однако мы отмечаем, что PISA — это система в памяти , целью которой является обслуживание запросов на основе индекса, полностью находящегося в основной памяти. Таким образом, возможный масштаб будет ограничен основной памятью.
Несколько недавних работ посвящены сравнительному анализу PISA. Например, «Экспериментальное исследование методов сжатия индексов и обработки запросов DAAT», проведенное Антонио Маллиа, Михалом Сидлачеком и Торстеном Суэлем, опубликованное в ECIR 2019, показало, что PISA способна возвращать 10 и 1000 лучших документов со средней задержкой в диапазон 10–40 и 20–50 миллисекунд соответственно для коллекции, содержащей 50 миллионов веб-документов.
PISA также включена в тестовую игру поисковых систем Tantivy, конкурентами которой также являются Tantivy, Lucene и Rucene.
PISA — это ответвление проекта ds2i, начатого Джузеппе Оттавиано. Проект ds2i содержал исходный код для ряда важных нововведений в области повышения эффективности 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}
}