Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

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

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

  • бинарное индексирование – не зависит от языка документа по причине бинарной или словарной индексации;

  • морфологическое индексирование – производится с учетом морфологии и семантики языка.

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

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

Несмотря на несомненные плюсы, полнотекстовое индексирование в любом своем виде имеет и ряд существенных минусов:

  • большое количество “мусора” в индексе , т.е. слов никак не характеризующих документ, а связывающих “ключевые” слова – а значит, возможное большое число нерелевантных документов при поиске при попадании шаблона на “мусор”;

  • большой объем индекса за счет “мусора” – следовательно, расход ресурсов на его хранение и время на поиск по нему.

Эти недостатки обусловлены самой концепцией такого индексирования – сохранением всего текста за исключением “стоп-слов”. Действительно, с одной стороны наличие в индексе всех слов текста гарантирует его нахождение по любому из них, но с другой стороны встает вопрос: “А насколько это корректно?”. Предположим, мы имеем текст о компьютерных технологиях, в котором приведена пословица: “За двумя зайцами погонишься, ни одного не поймаешь”. При проведении поиска по слову “заяц” система выдаст этот документ, хотя он не будет иметь ни малейшего отношения к фауне. Наглядно иллюстрируют это приведенные чуть выше слова данного текста “предлог”, “союз” и “местоимение”.

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