Меня зовут Павел Браславский, я научный сотрудник JetBrains Research и доцент Питерской Вышки.


Осенью прошлого года я после большого перерыва прочитал курс “Введение в информационный поиск”, на этот раз — для студентов академических программ JetBrains в Питерской Вышке и ИТМО. Come-back получил продолжение — зимой я прочитал мини-курс с обзором моделей информационного поиска и подходов к оценке для сотрудников Tinkoff, а весной — обзорную лекцию про информационный поиск в рамках курса по обработке естественного языка. В этой статье я кратко расскажу о курсе и его “исторических предпосылках”.


image


В 2000-x Веб бурно развивался, а вместе с ним — поисковые машины. Информационный поиск получил мощный стимул для развития в виде сложных задач, денег и притока специалистов из смежных областей. К этому моменту основными учебниками по информационному поиску были Ian Witten “Managing Gigabytes” и Ricardo Baeza-Yates, Berthier Ribeiro-Neto “Modern Information Retrieval”, выпущенные в 1990-е годы. В 2008 появился отличный современный учебник Christopher Manning, Prabhakar Raghavan, Hinrich Schutze “Introduction to Information Retrieval” (в 2009 вышло второе издание). Вместе с Ильей Сегаловичем я участвовал в переводе и редактировании русского перевода, который вышел в 2010 году при поддержке Яндекса. В то время вокруг семинара РОМИП и школы RuSSIR сформировалось активное сообщество людей, интересующихся задачами информационного поиска, многие из них участвовали в переводе терминологии. Работа над книгой помогла мне лучше разобраться в дисциплине, и начиная с 2009 я читал одноименный курс в ШАДе и Уральском университете. В 2014/15 учебном году благодаря гранту фонда “Династия” я прочитал курс в ИТМО и СПбГУ, потом был большой перерыв.


После того, как мне предложили прочитать курс, я решил освежить знания и просмотрел много учебных материалов по теме. Отличный обзор ресурсов можно найти в статье Ilya Markov, Maarten de R?ke “What Should We Teach in Information Retrieval?. (Кстати, Илья Марков читал курс по информационному поиску в Санкт-Петербурге до меня — в 2017 и 2018.) В итоге я взял за основу материалы Стэнфордского курса, логика и содержание которого мне хорошо знакомы (а основной учебник курса — все тот же “Introduction to Information Retrieval”). Курс знакомит студентов с базовыми понятиями — структурами данных и моделями информационного поиска, оптимизацией индексирования и поиска, методами оценки, а также с более “продвинутыми” темами — машинным обучением ранжированию, анализом ссылочной структуры Веба и вопросно-ответным поиском. В качестве “добавок” я включил, например, русскую морфологию и генерацию сниппетов. Практическая часть состояла из трех заданий: обработка большой текстовой коллекции, индексирование коллекции и поиск по ней с помощью Elasticsearch, а также обучение функции ранжирования.


Практические задания базировались на коллекции РОМИП By.Web и данных “Интернет-математики 2009”. Это хороший пример того, как открытые данные помогают в исследованиях и образовании даже через много лет после их создания. РОМИП (Российский семинар по Оценке Методов Информационного Поиска) был организован в 2003 году. Во многом РОМИП ориентировался на Text REtrieval Conference (TREC) и видел свою задачу в проведении открытой оценки информационно-поисковых систем на русскоязычных данных. By.Web — самая большая коллекция РОМИПа, она содержит примерно 1,5 млн страниц белорусского домена .by и, что самое важное, оценки релевантности документов примерно для 1,500 поисковых запросов. В феврале 2020 коллекция стала свободно доступной. Количество размеченных запросов и простая процедура получения — существенные преимущества по сравнению с коллекциями TREC.


image
Участники семинара РОМИП 2004 года в Пущино. Нижний ряд: Марина Некрестьянова, Илья Сегалович, Михаил Маслов, Игорь Некрестьянов, Макс Губин, Владимир Плешко. В верхнем ряду Дмитрий Панкратов, Лев Гершензон, Владислав Шабанов, Александр Антонов, Андрей Федоровский, Борис Добров, Елена Козеренко, Михаил Агеев.


Для задачи обучения функции ранжирования использовались данные конкурса “Интернет-математика 2009”, организованного Яндексом. Набор содержит векторы 245 признаков и оценки релевантности примерно для 20,000 пар “запрос-документ”. В рамках подготовки курса эти данные, которые пропали в череде переделок корпоративных сайтов Яндекса, удалось найти и вновь сделать доступными (отдельное спасибо Наташе Осташевой). В 2010 Yahoo! провела аналогичные соревнования с набором данных бОльшего размера, но, опять же, доступ к ним не так прост.


Дополнительные материалы и ссылки можно найти на странице курса. Я хотел бы поблагодарить Владислава Кораблинова, который был учебным ассистентом курса, Илью Маркова за возможность познакомиться с материалами предыдущего курса по информационному поиску и Святослава Демидова (auto.ru) за гостевую лекцию в рамках курса. Спасибо Яндексу и лично Михаилу Агееву, Максу Губину и Игорю Некрестьянову за поддержку коллекций и предоставление доступа к ним. Ну и, конечно, спасибо студентам — за любознательность и настойчивость.