Первая поисковая система в Интернет — это созданная в 1993 г. система "Aliweb". Уже в следующем году появилась Yahoo!. Сегодня, кроме нее, наиболее популярны и развиты Yandex, Google, Rambler.
Поисковые системы состоят из отдельных программных компонент:
1. spider (паук): это браузероподобная программа, которая скачивает веб-страницы. Она работает так же, как браузер при загрузке страницы. Паук не имеет никаких визуальных компонент. Действия программы аналогичны просмотру страниц при выборе "просмотр HTML-кода" в браузере.
2. crawler : "путешествующий" паук, который автоматически идет по всем ссылкам, найденным на странице.
3. indexer (индексатор): "слепая" программа, которая анализирует веб-страницы, скаченные пауками. Элементы типа заголовков страниц, заголовков, ссылок, текста, структурных элементов, элементов BOLD, ITALIC и других стилевых частей страницы вычленяются и анализируются.
4. the database (база данных): хранилище скаченных и обработанных страниц.
5. search engine results engine (система выдачи результатов): извлекает результаты поиска из базы данных. Именно система выдачи результатов решает, какие страницы удовлетворяют запросу пользователя.
6. Web server (веб-сервер): осуществляет взаимодействие между пользователем и остальными компонентами поисковой системы.
Большинство поисковых систем работает следующим образом. Сначала поисковая система индексирует (собирает) информацию и заносит ее в базу данных, потом выполняет морфологический анализ, разрезая все слова на составляющие. После ввода ключевого слова поисковый процессор выбирает из базы все документы, соответствующие данному запросу, и пользователю предоставляется список документов в некотором приоритетном порядке.
Индексом в поисковых машинах называют упорядоченный список слов с указанием адресов документов, в которых эти слова встречаются, т.е это таблица, в ней каждому слову соответствует строка, число полей в строке соответствует числу документов, в которых встречается слово, в полях записаны ссылки на документы. Поля могут быть уорядочены по критериям информативности слова в данном документе (по частоте и/или месту слова в документе). Слова в индекс включают после морфологической обработки, имеющей целью выделение основ слов.
В большинстве систем используются следующие критерии упорядочения документов:
• Title (заголовок): Присутствует ли ключевое слово в заголовке?
• Domain/URL (Домен/адрес): Присутствует ли ключевое слово в имени домена или в адресе страницы?
• Style (стиль): Жирный (STRONG или B), Курсив (EM или I), Заголовки HEAD.
• Density (плотность): Как часто ключевое слово употреблено на странице? Количество ключевых слов относительно текста страницы называется плотностью ключевого слова.
• MetaInformation (мета данные): Хотя многие отрицают, некорые поисковые системы до сих пор читают мета ключевые слова (meta keywords) и мета описания (meta description).
• Outbound Links (ссылки наружу): На кого есть ссылки на странице и встречается ли ключевое слово в тексте ссылки?
• Inbound Links (внешние ссылки): Кто еще в Интернет имеет ссылку на данный сайт? Каков текст ссылки? Это называется "внестраничный" критерий, потому что автор страницы не всегда может им управлять.
• Insite Links (ссылки внутри страницы): На какие еще страницы данного сайта содержит ссылки эта страница?
В настоящее время применяются четыре класса поисковых алгоритмов. Это алгоритмы инвертированных файлов, суффиксных деревьев, сигнатур и прямой поиск.
Чтобы отвечать на многословные запросы, в поисковых машинах используют прямой индекс - очищенную от малозначимых фрагментов и слов копию всех документов коллекции (например, копию содержимого Интернета). Прямой просмотр заключается в просмотре всех текстов поисковой коллекции документов.
Инвертированным файлом называют структуру данных для отображения некоторых характеристик слов. Например, в инвертированном файле может храниться число употреблений слова в документе, или номера позиций слова, или разность номеров позиций при их упорядочении.
Обычно размер инвертированного файла составляет от 7 до 30 % от размера исходного текста.
Метод сигнатур представляет собой преобразование документа к поблочным таблицам хеш-значений его слов — "сигнатуре" и последовательному просмотру "сигнатур" во время поиска. Этот метод (как и суффиксные деревья) не получил заметного распространения.
Все многообразие моделей традиционного информационного поиска принято делить на три вида: теоретико-множественные (булевская, нечетких множеств, расширенная булевская), алгебраические (векторная, обобщенная векторная, латентно-семантическая, нейросетевая) и вероятностные.
В Булевском семействе моделей документы подбираются по наличию в них слов из запроса. Слова взвешиваются (ранжируются) по частоте и редкости встречаемости термина в документе.
В вероятностной модели релевантность рассматривается как вероятность того, что данный документ может оказаться интересным пользователю, что подразумевает наличие уже существующего первоначального набора релевантных документов, выбранных пользователем или полученных автоматически при каком-нибудь упрощенном предположении. Вероятность оказаться релевантным для каждого следующего документа рассчитывается на основании соотношения встречаемости терминов в релевантном наборе и в остальной, "нерелевантной" части коллекции. Вероятностные модели не получили широкого распространения.
Более осмысленный поиск связан с примененем тех или иных элементов искусственного интеллекта (поиск по смыслу). Примером интеллектуального подхода к поиску может служить латентно-семантическое индексирование, основанное на сингулярном разложении прямоугольной матрицы, связывающей слова с документами.
Список литературы
1. И.Сегалович. Как работают поисковые системы. — http://company.yandex.ru/articles/article10.xml
2. Как работают поисковые системы. — http://www.softdevelop.ru/articles8.html