Выбрать главу

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

Индекс поисковой системы

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

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

Частичное решение проблемы – применение шаблонов, например, символа * (астериск) в конце слова. Такой шаблон неплохо подходит для английского языка, где большинство словоформ образуется за счет добавления окончаний – s, – ed и – ing; впрочем, но эта уловка полностью не спасает от «мусора» в результате поиска. С русским языком все обстоит гораздо сложнее. Найти с помощью шаблона многие слова невозможно в принципе, а именно:

• слова, у которых в разных формах меняется основа: идти – шел, плохо – хуже, он – его, человек – люди, ребенок – дети;

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

• слова с беглыми гласными и чередованиями (искать – ищу, окно – окон, расти – рос);

• короткие слова (из трех-четырех букв): дом, хор и т. п. Во всех языках, в том числе и в русском, существует общая закономерность: чем короче слово, тем чаще оно используется. Применение шаблона * для поиска такой лексики приводит к большому количеству ненужных ссылок в списке найденных документов.

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

Полнотекстовый поиск

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

Часто структуру документа при отсутствии жесткой регламентации определяет внутренняя логика. Так, вверху делового письма обычно стоят реквизиты адресата, внизу – подпись и число. Несколько иначе дело обстоит с бланками – в них поля заданы строго. Язык HTML, принятый в Internet как стандарт, помимо разметки информации, предусматривает разметку внутренней структуры: заголовка, тела документа, ключевых слов.

В задачу полнотекстового поиска наряду с дешифровкой разных форматов (это могут быть текстовые поля баз данных, файлы стандартных форматов – TXT, DOC, HTML, RTF, XLS) входит понимание внутренней структуры текста. В идеальном случае поисковая система должна подчиняться настройке на определенные текстовые структуры. Эта настройка может производиться как формальным описанием данных, так и самообучением системы с обратной связью.

Учет морфологии

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