Здравствуйте! Сегодня мы с вами приступаем к такому курсу, как "Введение в инфопоиск". В современном мире мы постоянно окружены большим объемом информации. Мы регулярно обращаемся к ней с разными целями, в том числе в поисках каких-то фактов, которые нас интересуют в данный конкретный момент. В большинстве случаев мы обращаемся к информационной поисковой системе, для того чтобы найти какой-то конкретный документ либо сайт. Однако информационный поиск не ограничен только документными поисковыми системами. Также это может быть, например, поиск конкретного здания, конкретного заведения и связанных с ними данных на карте города. Также это может быть поиск контактов и их данных в нашей записной книге. Мы обращаемся к поиску регулярно в самых разнообразных его проявлениях. Так, мы можем обращаться к информационному поиску, для того чтобы найти какие-то данные, которые нужны нам по работе либо для учебы. Также мы обращаемся к поиску, для того чтобы быстро и правильно организовать наш собственный отдых. И естественно, обращаемся к поиску из любопытства, для того чтобы узнать что-то новое, чего мы не знали до сих пор, либо уточнить какие-то факты, в которых мы не слишком уверены в данный момент. Итак, в рамках этого курса мы узнаем, во-первых, как на самом деле устроены поисковые системы "под капотом", какие математические модели там используются, какие структуры. Естественно, в ходе мы узнаем, какие базовые компоненты используются при построении информационного поиска, какие компоненты нужны обязательно, и ни одна уважающая себя поисковая система без них не обходится. И кроме того, самое главное, мы научимся делать поиск самостоятельно, так как этих данных будет достаточно для того, чтобы собрать свою собственную небольшую поисковую систему, и не просто собрать ее, но и научиться правильно оценивать качество ее работы. Этот курс читают программисты поиска Mail.ru я, Сергукова Юлия, и мой коллега Михаил Плеханов. Весь курс рассчитан на шесть недель, в ходе которых мы познакомимся с разными частями поисковой системы. Начнем мы, естественно, с самых базовых понятий, которые лежат в основе информационного поиска. Далее мы перейдем к тому, какие именно данные используются для того, чтобы искать конкретные документы, отвечать на запросы пользователей, как правильно эти данные хранить, для того чтобы можно было получать ответы от них максимально быстро. Разобравшись с этим вопросом, мы решим с вами, как осуществлять нечеткий поиск. Это особый поиск, который нужен нам тогда, когда пользователь, например, не уверен точно, какой именно запрос он хочет сформулировать, либо он по каким-то причинам забыл, что информация, которую он ищет, может быть представлена в документах не в том виде, как он спросил, а с помощью, например, синонимичных слов. Таким образом, по окончанию трех недель мы с вами сможем находить набор документов, которые так или иначе будут отвечать на запрос пользователя, то есть должны будут содержать какую-то информацию, которая будет ему нужна. В большинстве случаев это очень большой объем документов, поэтому мы должны будем не просто найти их, но выбрать из них лучшие документы, которые мы в первую очередь будем показывать пользователю. Этим вопросом, то есть, во-первых, оценкой документов, какие из них лучше отвечают запросу пользователя, а какие нет, а во-вторых, оценкой того, насколько документы на самом деле хороши, занимается такой раздел информационного поиска, как ранжирование. Мы рассмотрим с вами несколько вариантов ранжирования. Первый из них — это текстовое ранжирование. Оно основывается на тех данных, которые хранятся в самих документах, то есть на тексте самих документов. И именно с помощью этих данных мы будем решать, насколько хорошо соответствует конкретный документ конкретному запросу. Далее, так как в большинстве случаев информационный поиск подразумевает поиск в каком-то наборе документов, которые между собой связаны, мы можем использовать эти связи также для того, чтобы оценить, насколько хорош документ. Этим занимается ссылочное ранжирование. Также у нас будет информация о том, как другие пользователи либо даже тот же самый пользователь реагировали на те или иные документы при похожих либо точно таких же запросах. Этим занимается поведенческое ранжирование. Таким образом, мы научимся не только отвечать на запрос пользователя, но делать это так, чтобы максимально быстро и точно удовлетворить его запрос. И наконец, в конце мы должны будем объективно оценить, насколько действительно хорошо мы сделали поисковую систему, то есть мы должны будем научиться оценивать качество всей нашей поисковой системы.