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

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

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

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

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

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

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

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

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

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

Слово во всей совокупности его лексических значений называется лексемой (от греч. lexis – слово, выражение). Лексема – это единица лексического уровня языка; система словоформ, относящихся к одной лексеме, называется ее парадигмой. Другими словами, парадигма слова – это образец типа склонения или спряжения, совокупность всех словоформ, полученных при изменении слова по числам, падежам, родам и временам. Наиболее сложную парадигму в русском языке имеют глаголы. У неизменяемых слов лексема и словоформа совпадают. В словарях каждая лексема представлена одной из словоформ, которая называется словарной или исходной. В русском языке словарными формами являются следующие:

• для существительных – именительный падеж единственного числа;