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