Современные информационные технологии/2.Вычислительная
техника и программирование.
Кратенок А.В.
Белорусский
Государственный Университет Информатики и Радиоэлектроники, Республика Беларусь
Модель исправления ошибок для канала
с шумами
Модель шумового канала применяется к
широкому спектру проблем, включая проверку орфографии. Эти модели состоят из
двух компонентов: исходная модель и модель канала. Для многих приложений люди
потратили много сил и времени, улучшая эти компоненты, в результате получив
улучшение точности во всей системе. Однако, применительно модели проверки
орфографии, относительно небольшие исследования проводились для улучшения
модели канала.
Не рассматривая проблему исправления
специфичных слов, приводящих к сумятице (to, too, two). Проблема проверки
правописания определяется более абстрактно: данному алфавиту , со
словарём состоящим
из строк в и
есть строка , где и ,
найдётся такое слово , на
которое похоже ошибочное введённое .
Требование может
быть опущено, но так следует поступать в контексте достаточно мощной языковой
модели. В вероятностной системе, нужно найти
argmaxw .
Применяя правило Байеса и опуская постоянный знаменатель ненормированное
постериорное значение: argmaxw. Теперь
есть модель канала с шумами для проверки правописания, состоящая из двух
компонентов: исходная модель и
модель канала .
Модель предполагает, что текст естественного языка выглядит следующим
образом: прежде всего человек выбирает слова в соответствии с распределением
вероятности . Затем человек
пытается выбрать слово , но
канал с шумами побуждает человека выбрать строку вместо
этого, согласно распределению .
Например, в обычных условиях можно было бы ожидать высокое распределение , относительно
высокое и чрезвычайно
низкое. За модель ошибок можно
определить множество в строке включая саму вместе со всеми словами в
словаре такими,
что может быть получено из путем применения одной из четырех операций
редактирования:
– добавление
единичного символа;
– удаление
единичного символа;
– замена
одного символа на другой;
– перестановка
двух соседних символов;
Пусть - число
слов в множестве . Они
определили модель ошибок для всех в множестве как:
Это очень простая модель ошибок, где слово, введённое до , правильно
и остальная масса вероятности равномерно распределяется между всеми другими
словами во множестве. Улучшения
можно сделать, связывая вероятности с отдельными операциями редактирования.
Здесь предлагается более общая модель ошибок. Пусть -
алфавит. Данная модель позволяет проводить все операции редактирования
типа ,
где . -
вероятность того где пользователи намерены ввести строку вместо
введённой . Кроме того, модель зависит от позиции в
строке над которой выполняется редактирование,
, где ={начало
слова, середина слова, конец слова}. Позиция определяется по месту нахождения
подстроки в
источнике (словаре) слово. Информация о позиции является мощным средством при
операциях редактирования.
Используя более общий подход к
моделированию ошибки, можно более точно создать модели ошибок которые делают
люди. Формальное представление модели следующее: пусть функция, которая выделяет
часть слова , может
дать множество возможных разбиений слова на смежные подстроки (возможно пустые). Для
частичного разбиения , где ( состоит
из смежных
сегментов). Пусть - -ый
сегмент. Согласно модели:
Одна конкретная пара выравнивания
и показывает набор изменений, разделяющий и . При
рассмотрении лучшего разбиения можно упростить
Для обучения модели необходимо множество состоящее из строковых пар, представленных в виде слов с
ошибкой и правильных слов .
Начинать следует с выравнивания символов с аналогичными символами ,
согласно минимальным редактируемым расстояниям между и ,
основанным на замене, удалении или вставки единичного символа. Если производить обучение на
множестве кортежей
и без наличия ассоциативного текстового блока, можно – из большой подборки представленного текста, посчитать число вхождений ; аппроксимировать
число, основанное на частоте с которой люди делают
ошибки при вводе. Следует обратить
внимание, что поиск по статическому словарю D не является требованием данной
модели с ошибкой. Вполне возможно, что с другой техникой поиска, можно
применить данную модель для других языков таких, как турецкий, для которых
статической словарь не существует или сложноопределим. Учитывая, 200000 слов
словаря, и используя улучшенную модель ошибок, можно проверить правописание
строки, которой нет в словаре примерно в 10 миллисекунд, в среднем на
процессоре с частотой 1.6 ГГц.