Индексирование. Процессы поисковых систем

Поисковая машина Яндекса отвечает на вопросы пользователей, находя нужные документы в интернете. А размеры современного интернета исчисляются в эксабайтах, то есть в миллиардах миллиардов байтов. Конечно же, Яндекс не обходит весь интернет каждый раз, когда ему задают вопрос. Поисковая система, так сказать, делает домашнее задание.

Поиск в интернете состоит из двух частей. Первая - поисковик обходит интернет, создавая его слепок на своих серверах. Вторая - пользователь задаёт запрос и получает ответ с серверов поисковика.

Яндекс ищет по поисковому индексу - базе данных, где для всех слов, которые есть на известных поиску сайтах, указано их местонахождение - адрес страницы и место на ней. Индекс можно сравнить с предметным указателем в книге или адресным справочником. В отличие от обычного предметного указателя, индекс содержит не только термины, а вообще все слова. А в отличие от адресного справочника, у каждого слова-адресата есть не одно, а очень много «мест прописки».

Подготовка к ответам

Подготовка данных, по которым ищет поисковая машина, называется индексированием. Специальная компьютерная система - поисковый робот - регулярно обходит интернет, выкачивает документы и обрабатывает их. Создается своего рода слепок интернета, который хранится на серверах поисковика и обновляется при каждом новом обходе.

У Яндекса два поисковых робота - основной и быстрый (он называется Orange). Основной робот индексирует интернет в целом, а Orange отвечает за то, чтобы в поиске можно было найти самые свежие документы, которые появились минуты или даже секунды назад. У каждого робота есть список адресов документов, которые нужно проиндексировать.

Когда при обходе робот видит на уже известных сайтах новые ссылки, он добавляет их в свой список, увеличивая количество индексируемых страниц. Впрочем, владелец сайта сам может помочь основному роботу Яндекса найти свой ресурс и подсказать, например, как часто обновляются его страницы - через сервис Яндекс.Вебмастер.

Сначала программа-планировщик выстраивает маршрут - очередность обхода документов. При этом планировщик учитывает важные для поисковой системы характеристики сайтов, такие как, например, цитируемость или частота обновления документов. После создания маршрута планировщик отдаёт его другой части поискового робота - «пауку». Паук регулярно обходит документы по заданному маршруту. Если сайт на месте, то есть работает и доступен, паук выкачивает запланированные в маршруте документы. Он определяет тип скачанного документа (html, pdf, swf и т.п.), кодировку и язык, а затем отправляет данные в хранилище.

Там программа разбирает документ по кирпичику: очищает от html-разметки, оставляя чистый текст, выделяет данные о местоположении каждого слова и добавляет их в индекс. Сам документ в исходном виде также остается в хранилище до следующего обхода. Благодаря этому пользователи могут найти в Яндексе и посмотреть документы, даже если сайт временно недоступен. Если сайт закрылся или документ был удалён или обновлён, Яндекс удалит копию со своих серверов или заменит её на новую.

Поисковый индекс, данные о типе документов, кодировке, языке и сохраненные копии документов вместе составляют поисковую базу. Она обновляется постоянно, но, чтобы это обновление стало доступно пользователям, её нужно перенести на «базовый поиск». Базовый поиск - сервера, которые отвечают пользователям на запросы. Туда переносится не вся поисковая база, а только её полезная часть - без спама, дубликатов сайтов (зеркал) и других ненужных документов.

Обновление поисковой базы из хранилища основного робота попадает в поиск «пакетами» - раз в несколько дней. Этот процесс создаёт дополнительную нагрузку на сервера, поэтому производится ночью, когда к Яндексу обращаются на порядок меньше пользователей. Сначала новые части базы помещаются рядом с такими же частями из прошлого обхода. Затем они проверяются по целому ряду факторов, чтобы обновление не ухудшило качество поиска. Если проверка прошла успешно, новая часть базы заменяет собой старую.

Робот Orange предназначен для поиска в реальном времени. Его планировщик и паук настроены так, чтобы находить новые документы и выбирать из огромного их количества все, хоть сколько-нибудь интересные. Каждый такой документ Orange сразу обрабатывает и выкладывает на базовый поиск. Срочных документов не очень много по сравнению с общим объемом интернета, поэтому обновление базы в реальном времени можно делать и при дневных нагрузках на сервера.

Система индексирования (СИ) - совокупность методов и средств перевода текстов с естественного языка на ИПЯ в соответствии с заданным набором словарей лексических единиц и с правилами применения ИПЯ .

Рассмотрим классификацию систем индексирования .

1. По степени автоматизации процесса индексирования выделяют системы:

Ручного индексирования;

Автоматического индексирования

Автоматизированного индексирования.

2. По степени контролируемости различают системы:

Без словаря;

С жестким словарем;

Со свободным словарем.

3. По характеру алгоритма отбора слов текста выделяют системы:

С последовательным просмотром текста (отбираются все полнозначные слова);

С эвристическими процедурами выбора слов текста (слова отбираются интуитивно или по заданной процедуре);

Со статистическими процедурами выбора слов (отбираются только информативные слова в соответствии с распределением частот их употребления).

Процесс свободного индексирования состоит в следующем. Индексатор выписывает слова или словосочетания, которые, по его мнению, отражают содержание текста. Он может брать слова, отсутствующие в тексте, но важные, с его точки зрения, для выражения смысла текста. Отобранный список слов является поисковым образом документа. Это СИ с ручным индексированием.

Процесс полусвободного индексирования аналогичен вышеописанному, но слова для ПОД берутся только из словаря.

При жестком индексировании слова берутся только из текста.

Поначалу индексирование осуществлялось специально подготовленными специалистами-экспертами в предметной области, которые могли осуществлять глубокий анализ смыслового содержания документа и относить его (индексировать) к тем или иным классам, рубрикам, ключевым терминам. В этом случае были высоки накладные расходы, поскольку требовалось наличие в штате высококвалифицированных специалистов-индексаторов. Кроме того, процесс индексирования в некоторой мере был субъективным. Поэтому возникла задача автоматизации индексирования документов.

Существуют два подхода к автоматическому индексированию. Первый основан на использовании словаря ключевых слов и применяется в системах на основе ИПТ. Индексирование в таких системах осуществляется путем последовательного автоматического поиска в тексте документа ключевых терминов. Строится индекс, представляющий поисковое пространство документов.

Второй подход к автоматическому индексированию применяется в полнотекстовых системах. В процессе индексирования в индекс заносится информация обо всех словах текста документа (отсюда и название «полнотекстовые»).

Что такое индексирование? Это процесс получения роботом содержимого страниц вашего сайта и включение этого содержимого в результаты поиска. Если обратиться к цифрам, то в базе индексирующего робота содержится триллионы адресов страниц сайта. Ежедневно робот запрашивает миллиарды таких адресов.

Но этот весь большой процесс индексирования Интернета можно разделить на небольшие этапы:


Во-первых, индексирующий робот должен узнать о появлении страницы вашего сайта. Например, проиндексировав другие страницы в Интернете, найдя ссылки, либо загрузив файл set nemp. О страничке мы узнали, после чего планируем обход этой страницы, отправляем данные к вашему серверу на запрос этой страницы сайта, получаем контент и включаем его в результаты поиска.

Этот весь процесс – это процесс обмена индексирующим роботом с вашим сайтом. Если запросы, которые посылает индексирующий робот, практически не меняются, а меняется только адрес страницы, то ответ вашего сервера на запрос страницы роботом зависит от многих факторов:

  • от настроек вашей CMS;
  • от настроек хостинг провайдера;
  • от работы промежуточного провайдера.

Этот ответ как раз меняется. Прежде всего при запросе страницы робот от вашего сайта получает такой служебный ответ:


Это HTTP заголовки. В них содержится различная служебная информация, которая дает роботу понять передача какого контента сейчас будет происходить.

Мне хочется остановиться на первом заголовке – это HTTP-код ответа, который указывает индексирующему роботу на статус страницы, которую запросил робот.

Таких статусов HTTP-кодов несколько десятков:


Я расскажу о самых популярных. Наиболее распространенный код ответа – это HTTP-200. Страница доступна, ее можно индексировать, включать в результаты поиска, все отлично.

Противоположность этого статуса – это HTTP-404. Страница отсутствует на сайте, индексировать нечего, включать в поиск тоже нечего. При смене структуры сайтов и смене адресов внутренних страниц мы советуем настраивать 301 сервер на редирект. Как раз он укажет роботу на то, что старая страница переехала на новый адрес и необходимо включать в поисковую выдачу именно новый адрес.

Если контент страницы не менялся с последнего посещения страницы роботом, лучше всего возвращать код HTTP-304. Робот поймет, что обновлять в результатах поиска страницы не нужно и передача контента тоже не будет происходить.

При кратковременной доступности вашего сайта, например, при проведении каких-либо работ на сервере, лучше всего настраивать HTTP-503. Он укажет роботу на то, что сейчас сайт и сервер недоступны, нужно зайти немножко попозже. При кратковременной недоступности это позволит предотвратить исключение страниц из поисковой выдачи.

Помимо этих HTTP-кодов, статусов страниц, необходимо еще получить непосредственно контент самой страницы. Если для обычного посетителя страница выглядит следующим образом:


это картиночки, текст, навигация, все очень красиво, то для индексирующего робота любая страница – это просто набор исходного кода, HTML-кода:


Различные метатеги, текстовое содержимое, ссылки, скрипты, куча всякой информации. Робот собирает ее и включает в поисковую выдачу. Кажется, все просто, запросили страницу – получили статус, получили содержимое, включили в поиск.

Но недаром в службу поискового сервиса в Яндексе приходит более 500 писем от вебмастеров и владельцев сайтов о том, что возникли определенные проблемы как раз с ответом сервера.

Все эти проблемы можно разделить на две части:

Это проблемы с HTTP-кодом ответа и проблемы с HTML-кодом, с непосредственным содержимым страниц. Причин возникновения этих проблем может быть огромное множество. Самая распространенная – это блокировка индексирующего робота хостинг-провайдером.


Например, вы запустили сайт, добавили новый раздел. Робот начинает посещать ваш сайт чаще, увеличивает нагрузку на сервер. Хостинг-провайдер видит это на своих мониторингах, блокирует индексирующего робота, и поэтому робот не может получить доступ к вашему сайту. Вы заходите на ваш ресурс – все отлично, все работает, странички красивенькие, все открывается, все супер, робот при этом проиндексировать сайт не может. При временной недоступности сайта, например, если забыли оплатить доменное имя, сайт отключен на несколько дней. Робот приходит на сайт, он недоступен, при таких условиях он может пропасть из поисковой выдачи буквально через некоторое время.

Некорректные настройки CMS, например, при обновлении или переходе на другую CMS, при обновлении дизайна, так же могут послужить причиной того, что страницы вашего сайта могут пропасть из выдачи при некорректных настройках. Например, наличие запрещающего метатега в исходном коде страниц сайта, некорректная настройка атрибута canonical. Проверяйте, что после всех изменений, которые вы вносите на сайт, страницы доступны для робота.

В этом вам поможет инструмент в Яндекс. Вебмастере по проверке ответа сервера:


Можно посмотреть какие HTTP заголовки возвращает ваш сервер роботу, непосредственно содержимое страниц.


В разделе «индексирование» собрана статистика, где вы можете посмотреть какие страницы исключены, динамику изменения этих показателей, сделать различную сортировку и фильтрацию.


Так же, уже сегодня говорил об этом разделе, раздел «диагностика сайта». В случае, если ваш сайт стал недоступен для робота, вы получите соответствующее уведомление и рекомендации. Каким образом это можно исправить? Если таких проблем не возникло, сайт доступен, отвечает кодам-200, содержит корректный контент, то робот начинает в автоматическом режиме посещать все страницы, которые он узнает. Не всегда это приводит к нужным последствиям, поэтому деятельность робота можно определенным образом ограничить. Для этого существует файл robots.txt. О нем мы и поговорим в следующем разделе.

Robots.txt

Сам по себе файлик robots.txt – это небольшой текстовый документ, лежит он в корневой папке сайта и содержит строгие правила для индексирующего робота, которые нужно выполнять при обходе сайта. Преимущества файла robots.txt заключаются в том, что для его использования не нужно особых и специальных знаний.

Достаточно открыть Блокнот, ввести определенные правила по формату, а затем просто сохранить файл на сервере. В течении суток робот начинает использовать эти правила.

Если взять пример файла robots.txt простенького, вот он, как раз на следующем слайде:


Директива User-Agent:” показывает для каких роботов предназначается правило, разрешающие\запрещающие директивы и вспомогательные директивы Sitemap и Host. Немножко теории, хочется перейти к практике.

Несколько месяцев назад мне захотелось купить шагометр, поэтому я обратился к Яндекс. Маркету за помощью с выбором. Перешел с главной страницы Яндекс на Яндекс. Маркет и попал на главную страницу сервиса.


Внизу вы видите адрес страницы, на которую я перешел. К адресу самого сервиса еще добавился идентификатор меня, как пользователя на сайте.

Потом я перешел в раздел «каталог»


Выбрал нужный подраздел и настроил параметры сортировки, цену, фильтр, как сортировать, производителя.

Получил список товаров, и адрес страницы уже разросся.

Зашел на нужный товар, нажал на кнопочку «добавить в корзину» и продолжил оформление.

За время моего небольшого путешествия адреса страниц менялись определенным образом.


К ним добавлялись служебные параметры, которые идентифицировали меня, как пользователя, настраивали сортировку, указывали владельцу сайта откуда я перешел на ту или иную страницу сайта.

Такие страницы, служебные страницы, я думаю, что не очень будут интересны пользователям поисковой системы. Но если они будут доступны для индексирующего робота, в поиск они могут попасть, поскольку робот себя ведет, по сути, как пользователь.

Он переходит на одну страничку, видит ссылочку, на которую можно кликнуть, переходит на нее, загружает данные в базу робота свою и продолжает такой обход всего сайта. В эту же категорию таких адресов можно отнести и личные данные пользователей, например, такие, как информация о доставке, либо контактные данные пользователей.

Естественно, их лучше запрещать. Как раз для этого и поможет вам файл robots.txt. Вы можете сегодня вечером по окончанию Вебмастерской прийти на свой сайт, покликать, посмотреть какие страницы действительно доступны.

Для того, чтобы проверить robots.txt существует специальный инструмент в Вебмастере:


Можно загрузить, ввести адреса страниц, посмотреть доступны они для робота или нет.


Внести какие-то изменения, посмотреть, как отреагирует робот на эти изменения.

Ошибки при работе с robots.txt

Помимо такого положительного влияния – закрытие служебных страниц, robots.txt при неправильном обращении может сыграть злую шутку.

Во-первых, самая распространенная проблема при использовании robots.txt – это закрытие действительно нужных страниц сайта, те, которые должны находиться в поиске и показываться по запросам. Прежде чем вы вносите изменения в robots.txt, обязательно проверьте не участвует ли страница, которую вы хотите закрыть, не показывается ли по запросам в поиске. Возможно страница с каким-то параметрами находится в выдаче и к ней приходят посетители из поиска. Поэтому обязательно проверьте перед использованием и внесением изменений в robots.txt.

Во-вторых, если на вашем сайте используются кириллические адреса, в robots.txt их указать не получится в прямом виде, их обязательно нужно кодировать. Поскольку robots.txt является международным стандартным, им следуют все индексирующие роботы, их обязательно нужно будет закодировать. Кириллицу в явном виде указать не получится.

Третья по популярности проблема – это различные правила для разных роботов разных поисковых систем. Для одного индексирующего робота закрыли все индексирующие страницы, для второго не закрыли совсем ничего. В результате этого у вас в одной поисковой системе все хорошо, в поиске нужная страница, а в другой поисковой системе может быть трэш, различные мусорные страницы, еще что-то. Обязательно следите, если вы устанавливаете запрет, его нужно делать для всех индексирующих роботов.

Четвертая по популярности проблема – это использование директивы Crawl-delay, когда в этом нет необходимости. Данная директива позволяет повлиять на чистоту запросов со стороны индексирующего робота. Это практический пример, маленький сайт, разместили его на небольшом хостинге, все прекрасно. Добавили большой каталог, робот пришел, увидел кучу новых страниц, начинает чаще обращаться на сайт, увеличивает нагрузку, скачивает это и сайт становится недоступным. Устанавливаем директиву Crawl-delay, робот видит это, снижает нагрузку, все отлично, сайт работает, все прекрасно индексируется, находится в выдаче. Спустя какое-то время сайт разрастается еще больше, переносится на новый хостинг, который готов справляться с этими запросами, с большим количеством запросов, а директиву Crawl-delay забывают убрать. В результате чего робот понимает, что на вашем сайте появилось очень много страниц, но не может их проиндексировать просто из-за установленной директивы. Если вы когда-либо использовали директиву Crawl-delay, проверьте, что сейчас ее нет и что ваш сервис готов справиться с нагрузкой от индексирующего робота.


Помимо описанной функциональности файл robots.txt позволяет еще решить две очень важные задачи – избавиться от дублей на сайте и указать адрес главного зеркала. Об этом как раз мы и поговорим в следующем разделе.

Дубли


Под дублями мы понимаем несколько страниц одного и того же сайта, которые содержат абсолютно идентичный контент. Самый распространенный пример – это страницы со слешом и без слеша в конце адреса. Так же под дублем можно понимать один и тот же товар в различных категориях.

Например, роликовые коньки могут быть для девочек, для мальчиков, одна и та же модель может находиться в двух разделах одновременно. И, в-третьих, это страницы с незначащим параметром. Как в примере с Яндекс. Маркетом эта страничка «идентификатор сессии», такой параметр не меняет контент страницы в принципе.

Чтобы обнаружить дубли, посмотреть к каким страницам робот обращается, вы можете использовать Яндекс. Вебмастер.


Помимо статистики есть еще и адреса страниц, которые робот загрузил. Вы видите код и последнее обращение.

Неприятности, к которым приводят дубли

Чем же плохи дубли?

Во-первых, робот начинает обращаться к абсолютно идентичным страницам сайта, что создает дополнительную нагрузку не только на ваш сервер, но и влияет на обход сайта в целом. Робот начинает уделять внимание дублирующим страницам, а не тем страницам, которые нужно индексировать и включать в поисковую выдачу.


Вторая проблема – это то, что дублирующие страницы, если они доступны для робота, могут попасть в результаты поиска и конкурировать с основными страницами по запросам, что, естественно, может негативно повлиять на нахождение сайта по тем или иным запросам.

Как можно бороться с дублями?

Прежде всего я советую использовать “canonical” тег для того, чтобы указать роботу на главную, каноническую страницу, которая должна индексироваться и находиться в поиске по запросам.

Во втором случае можно использовать 301 серверный редирект, например, для ситуаций со слешом на конце адреса и без слеша. Установили перенаправление – дублей нет.


И в-третьем, как я уже говорил, это файл robots.txt. Можно использовать как запрещающие директивы, так и директиву Clean-param для того, чтобы избавиться от незначащих параметров.

Зеркала сайта

Вторая задача, которую позволяет решить robots.txt – это указать роботу на адрес главного зеркала.


Зеркала – это группа сайтов, которые абсолютно идентичны, как дубли, только различные два сайта. Вебмастера обычно с зеркалами сталкиваются в двух случаях – когда хотят переехать на новый домен, либо, когда для пользователя нужно сделать несколько адресов сайта доступными.

Например, вы знаете, что пользователи, когда набирают ваш адрес, адрес вашего сайта в адресной строке, часто делают одну и ту же ошибку – опечатываются, не тот символ ставят или еще что-то. Можно приобрести дополнительный домен для того, чтобы пользователям показывать не заглушку от хостинг-провайдера, а показывать тот сайт, на который они действительно хотели перейти.

Остановимся на первом пункте, потому что именно с ним чаще всего и возникают проблемы в работе с зеркалами.

Весь процесс переезда я советую осуществлять по следующей инструкции. Небольшая инструкция, которая позволит вам избежать различных проблем при переезде на новое доменное имя:

Во-первых, вам необходимо сделать сайты доступными для индексирующего робота и разместить на них абсолютно идентичный контент. Так же убедитесь, что о существовании сайтов роботу известно. Проще всего добавить их в Яндекс. Вебмастер и подтвердить на них права.

Во-вторых, с помощью директивы Host указывайте роботу на адрес главного зеркала – тот, который должен индексироваться и находиться в результатах поиска.

Ждем склейки и переноса всех показателей со старого сайта на новый.


После чего уже можно установить перенаправление со старого адреса на новый. Простенькая инструкция, если вы переезжаете, обязательно используйте ее. Надеюсь, проблем не возникнет с
переездом.

Но, естественно, при работе с зеркалами возникают ошибки.

Прежде всего самая главная проблема – это отсутствие явных указаний для индексирующего робота на адрес главного зеркала, тот адрес, который должен находиться в поиске. Проверьте на ваших сайтах, что в robots.txt у них указана директива хоста, и она ведет именно на тот адрес, который вы хотите видеть в поиске.

Вторая по популярности проблема – это использование перенаправления для того, чтобы сменить главного зеркала в уже имеющейся группе зеркал. Что происходит? Старый адрес, поскольку осуществляет перенаправление, роботом не индексируется, исключается из поисковой выдачи. При этом новый сайт в поиск не попадает, поскольку является неглавным зеркалом. Вы теряете трафик, теряете посетителей, я думаю, что это никому не нужно.


И третья проблема – это недоступность одного из зеркал при переезде. Самый распространенный пример в этой ситуации, когда скопировали контент сайта на новый адрес, а старый адрес просто отключили, не оплатили доменное имя и он стал недоступен. Естественно такие сайты склеены не будут, они обязательно должны быть доступны для индексирующего робота.

Полезные ссылки в работе:

  • Больше полезной информации вы найдете в сервисе Яндекс.Помощь .
  • Все инструменты, о которых я говорил и даже больше – есть бета-версия Яндекс.Вебмастера .

Ответы на вопросы

«Спасибо за доклад. Нужно ли в robots.txt закрывать индексацию CSS-файлов для робота или нет?».

На текущий момент мы не рекомендуем закрывать их. Да, CSS, JavaScript лучше оставить, потому что сейчас, мы работаем над тем, чтобы индексирующий робот начал распознавать и скрипты на вашем сайте, и стили, видеть, как посетитель из обычного браузера.

«Подскажите, а если url’ы адресов сайта будут одинаковые, у старого и у нового – это нормально?».

Да, ничего страшного. По сути, у вас просто обновление дизайна, добавление какого-то контента.

«На сайте есть категория и она состоит из нескольких страниц: слеш, page1, page2, до 10-ти, допустим. На всех страницах один текст категории, и он, получается, дублирующий. Будет ли этот текст являться дубликатом или нужно его как-то закрывать, новый индекс на вторых и далее страницах?».

Прежде всего, поскольку на первой странице пагинации, а на второй странице контент, в целом-то, отличаются, они дублями не будут. Но нужно рассчитывать, что вторая, третья и дальше страницы пагинации могут попасть в поиск и показывать по какому-либо релевантному запросу. Лучше в страницах пагинации я бы рекомендовал использовать атрибут canonical, в самом лучшем случае – на странице, на которой собраны все товары для того, чтобы робот не включал страницы пагинации в поиске. Люди очень часто используют canonical на первую страницу пагинации. Робот приходит на вторую страницу, видит товар, видит текст, страницы в поиск не включает и понимает за счет атрибута, что надо включать в поисковую выдачу именно первую страницу пагинации. Используйте canonical, а сам текст закрывать, думаю, что не нужно.

Источник (видео): Как настроить индексирование сайта - Александр Смирнов

Магомед Чербижев

Поделиться:

Типы систем индексирования. Морфологический анализ и нормализация понятий.

Индексирование – это процесс перевода текстов с естественного языка на ИПЯ. Индексирование базируется на совокупности инструкций, детально описывающих процесс индексирования и представляющих собой комплекс правил, включающих и правила применения ИПЯ .

Система индексирования (СИ) совокупность методов и средств перевода текстов с естественного языка на ИПЯ в соответствии с заданным набором словарей лексических единиц и с правилами применения ПНЯ. Помимо правил применения ИПЯ система индексирования может включать большое разнообразие инструкций, положений, методов и т.д., регламентирующих те или иные этапы процесса индексирования.

Существующие системы индексирования сильно отличаются друг от друга, и описать их общий состав и структуру невозможно. Однако наличие общих признаков позволяет дать системное представление о классах систем индексирования.

Рассмотрим типологию систем индексирования по пяти наиболее важным основаниям (рис. 5.1).

1. Но степени автоматизации процесса индексирования выделяют

Ручного индексирования;

Автоматического индексирования;

Автоматизированного индексирования.

2. По степени контролируемости различают системы:

Без словаря;

С жестким словарем;

Со свободным словарем.

3. По характеру алгоритма отбора слов текста выделяют системы:

С последовательным просмотром текста (отбираются все полнозначные слова);

Эвристическими процедурами выбора слов текста (слова отбираются интуитивно или по заданной процедуре):

Со статистическими процедурами выбора слов (отбираются только информативные слова в соответствии с распределением частот их употребления).

4. По характеру лексикографического контроля различают системы:

Без лексикографического контроля;

С полным контролем;

С промежуточным контролем.

Лексикографический контроль предусматривает:

Устранение синонимии, полисемии и омонимии на основе нормативных словарей лексических единиц с парадигматическими отношениями между ними;

Нормализацию слов на основе морфологических нормативных словарей.

В системах с полным контролем реализуются обе функции лексографического контроля. В системах индексации с промежуточным контролем эти функции реализуются частично.

Рис. 5.1. Типы систем индексирования

5. По характеру морфологического анализа слов различают системы:

С использованием морфологических словарей;

С использованием основных лексических словарей;

С использованием морфологического анализа с усечением слов.

Возможны системы индексирования без морфологического анализа.



Примеры систем индексирования:

1) Процесс свободного индексирования состоит в следующем. Индексатор выписывает слова или словосочетания, которые, по его мнению, отражают содержание текста. Он может брать слова, отсутствующие в тексте, но важные, с его точки зрения, для выражения смысла текста. Отобранный список слов является поисковым образом документа. Это системы индексирования с ручным индексированием, без словаря, с эвристическими процедурами отбора слов, без лексиграфического контроля и морфологического анализа.

2) Процесс полусвободного индексирования аналогичен вышеописанному, но слова сформированного списка соотносятся со словарем, несовпадающие слова отбрасываются в ПОД не включаются.

3) При жестком индексировании слова берутся только из текста. В ПОД включаются только те слова, которые есть в словаре. Перед включением термина в словарь производится его морфологическая нормализация на базе основных лексических словарей.

4) При статическом автокодировании слова выбираются из текста по заданным статистическим процедурам, после чего производится их статистическое кодирование путем усечения слов по алгоритмам позиционной статистики.

Существует ряд и других систем индексации.

Поначалу индексирование осуществлялось специально подготовленными специалистами-экспертами в предметной области, которые могли осуществлять глубокий анализ смыслового содержания документа и относить его (индексировать) к тем или иным классам, рубрикам, ключевым терминам. В этом случае были высоки накладные расходы, поскольку требовалось наличие в штате высококвалифицированных специалистов-индексаторов. Кроме того, процесс индексирования в некоторой мере был субъективным. Поэтому возникла задача автоматизации индексирования документов.

Существуют два подхода к автоматическому индексированию. Первый основан на использовании словаря ключевых слов и применяется в системах на основе ИПТ. Индексирование в таких системах осуществляется путем последовательного автоматического поиска в тексте документа ключевых терминов. Строится индекс, представляющий поисковое пространство документов. Возможны два типа такого индекса - прямой и инвертированный.

Прямой тип индекса строится по схеме «документ-термины». Поисковое пространство в ЭТОМ случае представлено в виде матрицы размерностью nxm. Строки этой матрицы представляют поисковые образы документов.

Инвертированный тип индекса строится по обратной схеме - «термин-документы». Поисковое пространство соответственно представлено аналогичной матрицей, только в транспонированной форме. Поисковыми образами документов в этом случае являются столбцы матрицы.

Второй подход к автоматическому индексированию применяется в полнотекстовых системах. В процессе индексирования в индекс заносится информация обо всех словах текста документа (отсюда и название «полнотекстовые»).

Морфологический анализ и нормализация понятий. Основные этапы процесса индексирования состоят в выборе понятий текста, отражающих его основное смысловое содержание, а также в морфологическом анализе и лексографическом контроле отобранных понятий и их кодировании .

Процедура отбора информативных понятий текста аналогична процессам выбора понятий при построении словарей основных лексических единиц, рассмотренным в предшествующей теме.

Рассмотрим более подробно суть процедур морфологического анализа, лексикографического контроля и кодирования понятий при использовании различных видов словарей.

Процедура морфологического анализа по морфологическим словарям состоит:

1) в определении обобщенного грамматического класса слова и его членами на основу и окончание (по словарям основ и окончаний);

2) в идентификации рода существительных (по основам слов);

3) в выявлении номера флексивного класса слов (по обобщенному грамматическому классу, признаку рода, окончанию, конечным буквосочетаниям основы);

4) в определении номера набора грамматической информации к слову.

Результатом такого анализа является нормализованное слово и номер набора его грамматической информации.

Нормализованные слова кодируются путем их замены буквенными кодами или кодами слов. В первом случае каждая буква заменяется соответствующим ей кодом (по словарю кодов букв). Во втором случае слова отождествляются по словарю лексических единиц и заменяются их номерами или кодами словаря.

Декодирование слов, производимое при выдаче результатов поиска, состоит в формировании буквенного кода слова (а затем и самого слова) по номеру или коду его нормализованной части и по номеру соответствующей грамматической информации.

При использовании словосочетаний процедура морфологического анализа существенно усложняется, включая в себя :

1. Отождествление слов словосочетания с элементами словаря слов. Замена их номерами по словарю, сопровождение грамматической информацией.

2. Выявление грамматической структуры словосочетания в целом – синтаксический анализ (по грамматической информации слов словосочетания).

3. Поиск по словарю номера словосочетания, соответствующего данному сочетанию номеров слов и грамматической структуре кодируемого словосочетания.

4. Выбор из словаря по номеру словосочетания соответствующего ему номера грамматической структуры и самой структуры. Сравнение выбранной грамматической структуры с грамматической структурой кодируемого словосочетания, полученной на втором этапе. Если структуры совпадают, то понятия тождественны. Анализируемое словосочетание заменяется соответствующим ему номером или кодом. Два последних этапа являются этапами семантического анализа.

Декодирование словосочетаний представляет собой :

1) выбор из словаря по номеру словосочетания соответствующего ему набора номеров слов и номера грамматической структуры;

2) извлечение информации о формах слов и их связях, восстановление порядка слов в словосочетании (по грамматической структуре);

3) формирование буквенного кода словосочетания и самого сочетания.

Морфологический анализ по словарям основных лексических единиц включает 2 этапа: сравнение слова со словарем (идентификация и определение номера совпадающего понятия) и выявление номера набора понятий осуществляется буквенным кодом или кодами понятий (по словарю).

В ИПС широко применяется морфологический анализ путем усечения слов. При этом используются различные процедуры усечения :

а) с использованием словарей (основ, окончаний и т.д.);

б) без использования словарей (по простейшим априорным правилам);

в) статистическое усечение слов с использованием аппарата позиционной статистики.

В случае а) процедуры морфологического анализа, кодирования и декодирования те же, что и при использовании морфологических словарей. В случае б) начало и/или окончание слов усекается по определенным правилам. Усеченные части слов кодируются буквенными кодами. Декодирование отсутствует. В случае в) при усечении слов используется аппарат и словари позиционной статистики. Слова кодируются буквенными кодами, а декодирование тоже отсутствует.

При усечении слов производятся только их нормализация и неморфологический анализ.

Контрольные вопросы

1. Каковы роль и место системы индексирования в составе логико-семантических средств, обеспечивающих создание и функционирование автоматизированной информационно-поисковой системы?

2. Приведите примеры систем индексирования.

3. По каким типологическим признакам можно разделять системы индексирования?

4. В чем суть процедуры морфологического анализа, лексикографического контроля и кодирования понятий при использовании различных видов словарей в процессе индексирования?

Системы индексирования

Система индексирования (СИ) - совокупность методов и средств перевода текстов с естественного языка на ИПЯ в соответствии с заданным набором словарей лексических единиц и с правилами применения ИПЯ.

Рассмотрим классификацию систем индексирования.

1. По степени автоматизации процесса индексирования выделяют системы:

Ручного индексирования;

Автоматического индексирования;

Автоматизированного индексирования.

2. По степени контролируемости различают системы:

Без словаря;

С жестким словарем;

Со свободным словарем.

3. По характеру алгоритма отбора слов текста выделяют системы:

С последовательным просмотром текста (отбираются все полнозначные слова);

С эвристическими процедурами выбора слов текста (слова отбираются интуитивно или по заданной процедуре);

Со статистическими процедурами выбора слов (отбираются
только информативные слова в соответствии с распределением частот их употребления).

4. По характеру лексикографического контроля различают системы:

Без лексикографического контроля;

С полным контролем;

С промежуточным контролем.

Лексикографический контроль предусматривает:

Устранение синонимии, полисемии и омонимии на основе нормативных словарей лексических единиц с парадигматическими отношениями между ними;

Нормализацию слов на основе морфологических нормативных
словарей.

5. По характеру морфологического анализа слов различают системы:

С использованием морфологических словарей;

С использованием основных лексических словарей;

С использованием морфологического анализа с усечением слов.

Возможны системы индексирования без морфологического анализа.

Процесс свободного индексирования состоит в следующем. Индексатор выписывает слова или словосочетания, которые, по его мнению, отражают содержание текста. Он может брать слова, отсутствующие в тексте, но важные, с его точки зрения, для выражения смысла текста. Отобранный список слов является поисковым образом документа. Это СИ с ручным индексированием.

Процесс полусвободного индексирования аналогичен вышеописанному, но слова для ПОД берутся только из словаря.

При жестком индексировании слова берутся только из текста.

Поначалу индексирование осуществлялось специально подготовленными специалистами-экспертами в предметной области, которые могли осуществлять глубокий анализ смыслового содержания документа и относить его (индексировать) к тем или иным классам, рубрикам, ключевым терминам. В этом случае были высоки накладные расходы, поскольку требовалось наличие в штате высококвалифицированных специалистов-индексаторов. Кроме того, процесс индексирования в некоторой мере был субъективным. Поэтому возникла задача автоматизации индексирования документов.

Существуют два подхода к автоматическому индексированию. Первый основан на использовании словаря ключевых слов и применяется в системах на основе ИПТ. Индексирование в таких системах осуществляется путем последовательного автоматического поиска в тексте документа ключевых терминов. Строится индекс, представляющий поисковое пространство документов. Возможны два типа такого индекса - прямой и инвертированный.

Прямой тип индекса строится по схеме «документ-термины». Поисковое пространство в этом случае представлено в виде матрицы размерностью nxm. Строки этой матрицы представляют поисковые образы документов.