Средства морфологической нормализации

Задача морфологической нормализации лексических единиц (словоформ) в поисковых предписаниях может решаться следующими путями:

1) отказ от морфологической нормализации;

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

3) то же самое, но по более упрощенным правилам – замена словоформ некоторым унифицированным кодом.

Вообще говоря, приведение словоформ к каноническому виду необязательно. Его можно избежать, если рассматривать каждую словоформу как отдельную ЛЕ – на уровне текста и входа в инвертированный файл. При этом формальное отождествление разных словоформ одной лексемы обычно обеспечивается на этапе составления ПП и поиска механизмом, получившем название «маскирования» (wild cards) или “усечения” (truncation). Этот метод применяется в большинстве систем. Заключается он в следующем: в поисковом предписании указывается лишь часть слова, а механизм поиска находит в документах все слова, имеющие точно такую же часть. Как правило, это начальная часть слова – основа или квазиоснова, в этом случае говорят о правом усечении. Часть слова, которая в поисковом предписании опускается, отбрасывается, обычно обозначается специальным символом (чаще всего звездочкой (*)). Например: если требуется найти документы со словами sing, singer, singers, singing , то в запросе задается sing*. Но есть системы, которые поддерживают и левое усечение, и внутреннее (маскирование). Например, на запрос *хлоран будут выданы все документы по химии, содержащие сложные слова со второй частью «хлоран» (гексахлоран, метилхлоран и т.п.). Маскирование с точностью до количества символов, которые опускаются, может задаваться с помощью знаков вопроса (одного или нескольких).

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

Замена словоформ каким-либо кодом обеспечивает сжатие информации и экономию магнитной памяти. Представление ЛЕ ИПЯ в виде равномерных кодов является также большим удобством при разработке и выполнении программ. Несколько условно-вероятностных и энтропийных статистических моделей автоматической нормализации слов естественных языков были предложены Д.О.Аветисяном. Эти модели, ориентированные на автоматическое распознавание границ между морфемами слов ЕЯ, нашли свое применение как в лингвистических приложениях, так и в задачах информационного поиска.

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

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

Процедуры автоматической нормализации (кодирования) приводят все встречающиеся в документе или в ПП разные словоформы одной и той же лексической единицы к одному и тому же стандартному виду. В ПОД вместо каждой словоформы включается ее код, который получается непосредственно из словоформы путем ее алгоритмического свертывания. Поэтому такой код получил название «свертки». Эта операция свертывания в идеальном случае должна удовлетворять двум условиям:

1) разным лексемам должны ставиться в соответствие разные свертки;

2) словоформы одной и той же лексемы (слова) должны свертываться одинаково.

Нарушение первого условия приводит к омонимии кодов (сверток), когда появляются одинаковые коды, полученные из разных лексем и имеющие, следовательно, разное смысловое значение. Нарушение второго требования, когда появляются разные коды с одним и тем же лексическим значением, создает явление синонимии сверток. В обоих случаях ошибки могут повлиять на качество поиска: омонимия кодов снижает точность поиска, синонимия – полноту. Были разработаны алгоритмы для русского языка, снижающие потери документов, повышающие точность поиска и обеспечивающие кодирование за приемлемое время. Эта совокупность алгоритмов получила название ОСНОВА. В общих чертах эти алгоритмы сводятся к следующему:

1) в код (свертку) включается начальная часть слова (две или три буквы);

2) из остальной части слова в код включаются только согласные;

3) согласные «в», «г», «м», «х», «й», оказавшиеся в позиции последнего символа кода, в код не включаются.

4) длина свертки фиксирована (6–12 символов). Недостающая часть дополняется пробелами.

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

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

Окончательное значение параметров алгоритма кодирования – длина начальной части слова, понятие согласной буквы (в одном из вариантов к согласным приравнивались цифры), длина самой свертки (постоянная, переменная, число символов в свертке, максимальное число символов в свертке, если длина переменная, и проч.) – устанавливалось в ходе экспериментов. Исследовалось влияние различных типов кодирования на омонимию и синонимию свертки и, как следствие, на характеристики поиска. В результате были выбраны алгоритмы, снижающие потери релевантных документов и повышающие точность выдачи. Эти алгоритмы были названы ОСНОВА-1 и ОСНОВА-2. Значение параметров кодирования может задаваться как динамическая переменная величина в зависимости от требований на поиск (например, ориентация на повышение полноты или точности).