Современная поисковая система, качество работы которой воспринимается как данность, является сложнейшим программно-аппаратным комплексом, создателям которого пришлось решить огромное количество практических проблем, начиная от большого объема обрабатываемых данных и заканчивая нюансами восприятия человеком поисковой выдачи. На курсе второго семестра Техносферы «Современные методы и средства построения систем информационного поиска» мы рассказываем об основных методах, применяемых при создании поисковых систем. Некоторые из них — хороший пример смекалки, некоторые показывают, где и как может применяться современный математический аппарат.
Авторы курса — создатели поисковой системы на портале Mail.Ru — делятся собственным опытом разработки систем искусственного интеллекта. В курсе рассказывается, насколько интересно и увлекательно делать поисковую систему, решать задачи обработки текстов на естественном языке, а также какие используются методы и средства решения таких задач.
Лекция 1. «Введение в информационный поиск»
Алексей Воропаев, руководитель группы рекомендаций Поиска Mail.Ru, дает определение понятия информационного поиска и делает обзор существующих поисковых систем, рассказывает об индексации и поисковых кластерах.
Лекция 2. «Особенности web-поиска. Архитектура поискового робота»
Из этой лекции вы узнаете об истории поисковых систем, современных основах веб-поиска, пользовательских предпочтениях и эмпирической оценке поисковой выдачи. Лекцию читает Ян Кисель, руководитель группы инфраструктуры Поиска Mail.Ru.
Лекция 3. «Приоритезация краулера»
Дмитрий Соловьев, ведущий разработчик группы ранжирования, рассказывает о поисковых роботах. Дается обзор краулеров, сведений об анализе кластеров сайта, экспериментов с квотированием, определений качества индекса и т.д.
Лекция 4. «Применение самоорганизующихся карт в поисковой машине»
Дмитрий Соловьев решает задачи анализа и визуализации данных, говорит о вариантах использования самоорганизующихся карт в поисковой машине и проводит семинар по выделению и анализу сегментов для приоритезации.
Лекция 5. «Поиск дубликатов документов»
Ян Кисель дает определение дубликатам, их видам, показывает пример шинглирования (shingling: преобразование документов во множества). Рассматриваются все этапы для определения похожих документов, включая minhashing (преобразование больших множеств в короткие сигнатуры) и приемы для масштабирования.
Лекция 6. «Поиск дубликатов документов. Часть 2»
Продолжение предыдущей лекции. Ян рассказывает о методах удаления обвязки страниц, нормализации текста, глобальной детекции и заканчивает лекцию информацией о том, что дальше делать с дублями текста и изображений.
Лекция 7. «Индексация и булев поиск»
Рассматривается подход к индексации и методам сжатия. Что является в поиске индексом, какие существуют подходы к быстрому пересечению списков, различные варианты сжатия в web. Лекцию читает Ян Кисель.
Лекция 8. «Методы оптимизации обратного индекса»
Ян продолжает тему индексации. На этот раз речь пойдет о создании словаря индекса, сборе результатов в большом web, и о том, какие особенности существуют при работе с памятью и написании демонов.
Лекция 9. «Очистка поискового индекса: антиспам»
Первая лекция, посвященная фильтрации контента. Эта часть касается методов воздействия спама на поисковик и способов противодействия. Дмитрий Соловьев показывает методы выявления спам-сайтов и детекции спама на основе анализа контента страниц.
Лекция 10. «Очистка поискового индекса: антипорн»
Вторая часть фильтрации: на этот раз боремся с порно. Задача требует других подходов, в отличие от методов борьбы со спамом. Рассматриваются методики фильтрации запросов, web-страниц и картинок, включая способы на основе работы сверточной нейронной сети.
Лекция 11. «Микроразметка. Детектор концов предложений»
Прикладной лингвист Игорь Андреев посвятил свою лекцию сниппетам (фрагменты текста, использующиеся в качестве описания ссылки в результатах поиска). Игорь говорит о дизайне поисковой выдачи, семантическом вебе, RDF (resource description framework), микроразметке и том, как это все сочетается со сниппетами.
Лекция 12. «Построение снипетов»
Вторая часть разговора о сниппетах: автоматическое реферирование (automatic text summarization), переход на формирование органических сниппетов, краткое устройство прямого индекса и в последней части дается оценка качества сниппетов.
Лекция 13. «Исправление опечаток. Саджесты. Переформулировки»
Руководитель группы анализа запросов Евгений Чернов две лекции посвятил исправлению опечаток в поисковых запросах. Евгений говорит о типах ошибок, простом поиске опечаток, расстоянии Левенштейна, статистике модели языка, генерации вариантов замены и разных типов исправлений.
Лекция 14. «Саджесты, переформулировки, классификаторы»
В заключительной лекции Евгений Чернов рассказывает о поисковых подсказках (саджестах), переформулировках (наборах запросов, имеющих что-то общее с заданным) и целой группе различных классификаторов.
Плейлист всех лекций находится по ссылке. Напомним, что актуальные лекции и мастер-классы о программировании от наших IT-специалистов в проектах Технопарк, Техносфера и Технотрек по-прежнему публикуются на канале Технострим.
Автор: Mail.Ru Group