Научная статья на тему 'Некоторые методы ускорения обработки словаря допустимых слов при автоматической идентификации и исправлении ошибок пользователя'

Некоторые методы ускорения обработки словаря допустимых слов при автоматической идентификации и исправлении ошибок пользователя Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
164
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЧЕТКИЙ ПОИСК / ОШИБКИ ПОЛЬЗОВАТЕЛЯ / АВТОМАТИЧЕСКОЕ ИСПРАВЛЕНИЕ ОШИБОК

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Литвинов В. А., Майстренко С. Я., Оксанич И. Н., Ходак В. И.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Литвинов В. А., Майстренко С. Я., Оксанич И. Н., Ходак В. И.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Features, algorithms and the potential effectiveness of methods of dictionary processing of the permitted words during automatic identification and correction of user errors are examined. The methods are based on well-organized checking of words and arbitrary search of variations of a distorted word; sequential (direct) search and distortion of dictionary words. Quantitative estimations and practical recommendations on the applicability of the methods are provided

Текст научной работы на тему «Некоторые методы ускорения обработки словаря допустимых слов при автоматической идентификации и исправлении ошибок пользователя»

УДК 681.3

В.А. ЛИТВИНОВ, С.Я. МАЙСТРЕНКО, И.Н. ОКСАНИЧ, В.И. ХОДАК

НЕКОТОРЫЕ МЕТОДЫ УСКОРЕНИЯ ОБРАБОТКИ СЛОВАРЯ ДОПУСТИМЫХ СЛОВ ПРИ АВТОМАТИЧЕСКОЙ ИДЕНТИФИКАЦИИ И ИСПРАВЛЕНИИ ОШИБОК ПОЛЬЗОВАТЕЛЯ_______________________________________________________________________________

Abstract. Features, algorithms and the potential effectiveness of methods of dictionary processing of the permitted words during automatic identification and correction of user errors are examined. The methods are based on well-organized checking of words and arbitrary search of variations of a distorted word; sequential (“direct") search and distortion of dictionary words. Quantitative estimations and practical recommendations on the applicability of the methods are provided.

Key words: fuzzy search, errors of user, automatic errors correction.

Анотація. Розглядаються особливості, алгоритми й потенційна результативність методів обробки словника припустимих слів при автоматичній ідентифікації та виправленні помилок користувача. Методи засновані на упорядкованому переборі й довільному пошуку варіацій перекрученого слова; послідовному переборі й перекрученні слів словника. Приводяться кількісні оцінки і практичні рекомендації по застосуванню методів.

Ключові слова: нечіткий пошук, помилки користувача, автоматичне виправлення помилок.

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

Ключевые слова: нечеткий поиск, ошибки пользователя, автоматическое исправление ошибок.

1. Введение

Процесс идентификации ошибочного слова и автоматического исправления ошибок пользователя при вводе данных [1], нечетком поиске образца [2] и т.п. возможен на основе генерации множества всевозможных вариаций ошибочного слова («обратных» искажений в классах корректируемых ошибок) и поиске вариаций в словаре допустимых слов (СДС) [1].

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

Потенциальным способом ускорения обработки СДС в этом случае являются учет вероятностей появления тех или иных ошибок пользователя и построение соответствующей последовательности перебираемых вариаций с целью уменьшения среднего объема перебора.

Наряду с этим возможно и принципиальное изменение схемы обработки с произвольной (поочередном поиске каждой отдельной вариации) на последовательную (поочередном «прямом» искажении каждого отдельного слова словаря). Можно ожидать, что при малых объемах СДС последовательная схема будет работать быстрее, чем произвольная. В статье рассматриваются особенности, алгоритмы и потенциальная результативность обеих возможностей ускорения обработки СДС.

2. Упорядоченный перебор вариаций искаженного слова

Естественным интуитивным решением представляются генерация и перебор вариаций в порядке убывания вероятностей р j появления ошибок пользователя. Неэффективность такого решения

© Литвинов В.А., Майстренко С.Я., Оксанич И.Н., Ходак В.И., 2010 ISSN 1028-9763. Математичні машини і системи, 2010, № 2

определяется существенной неравномерностью распределения количества вариаций V, которые требуется перебрать для ошибки класса Е. Так, например, для идентификации однократной ошибки Е1 (вероятность р1 = 0,5557 [1]) необходимо перебрать вариаций более, чем на порядок больше по сравнению с идентификацией вставки символа Е2 (р2 = 0,1567) или транспозиции соседних символов Е4 (р4 = 0,0664). Поэтому адекватная стратегия упорядоченного перебора должна базироваться на учете вероятностей ожидаемой результативности проверки одной вариации п, а не множества вариаций мощностью Vj. Такой подход попутно проясняет

целесообразность рассмотрения и включения в ансамбль корректируемых ошибок и более редких ошибок, чем это принято в [1] , при условии, что их идентификация требует перебора небольшого количества вариаций.

Обозначим через у(у) среднее количество переборов вариаций в порядке у до нахождения в словаре совпадения вариации с допустимым словом при условии, что произошла именно и только ошибка из ансамбля корректирующих ошибок.

В соответствии с определением

где V - суммарное количество сгенерированных вариаций;

пх (у) - удельная вероятность успешности одной вариации (в смысле совпадения с СДС).

Строго оптимальное решение о порядке у перебора вариаций предлагает следующая простая теорема 368 [3].

Пусть (а) и (Ь) есть две конечные системы (равновеликие множества) чисел.

Теорема. Если (а) и (Ь) заданы с точностью до перестановки, то ^аЬ принимает

наибольшее значение, когда (а) и (Ь) обе монотонно убывают или обе монотонно возрастают, и наименьшее значение, когда одна из них монотонно возрастает, а другая - монотонно убывает.

Поскольку х в (1) монотонно возрастает, для минимизации V порядок у должен располагать пх (у) строго в порядке убывания (невозрастания).

Группируя слагаемые (1) с одинаковыми значениями пх(у), получим

V

(1)

(2)

Vy - количество вариаций для ошибок класса Е] в порядке у .

В табл. 1 приведены исходные и расчетные данные для расширенного (по сравнению с [1]) ансамбля корректируемых ошибок из классов, приведенных в [4]: Е, - однократные

транскрипции, Е2 - добавление символа, Е3 - пропуск символа, Е4 - транспозиция смежных символов, Е5 - неспецифическая двукратная транскрипция, Е6 - двукратная транскрипция смежных идентичных символов, Е7 - транспозиция символов через одну позицию, Е8 -двукратная транскрипция идентичных символов, расположенных через одну позицию.

Примечание. Для множества Е5 ошибок класса Е5 справедливо Е5 ^ Е6 ^ Е7 ^Е8 = Е5, где Е5 - множество произвольных двукратных ошибок [1] (искажений двух произвольных

символов) за вычетом транспозиций смежных символов.

В табл. 1 приняты следующие дополнительные обозначения: q - алфавит символов слова;

п - длина ошибочного слова (количество символов).

Таблица 1. Расчетные данные корректируемых ошибок

Е.. Е, Е2 Ез Ел Е5 Еб Е7 £„

Р. 0,5557 0,1567 0,1204 0,0664 0,0176 0,0081 0,0037 0,0028

q=32; п =8

V. 248 8 288 7 26833 31 6 31

п. •104 22,4 195,9 4,2 94,9 0,007 2,6 6,2 0,9

Уо 1 2 3 4 5 6 7 8

У, 3 1 5 2 8 6 4 7

У 2 6 8 4 7 1 3 5 2

V ( У,) 901,3

V ( У,) 411,3

У о 27025,2

q =10; п =12

V. 108 12 130 11 5271 9 10 9

4 О 51,5 130,6 9,3 60,4 0,033 9 3,7 3,1

Уо 1 2 3 4 5 6 7 8

У, 3 1 4 2 8 5 6 7

У 2 6 8 4 7 1 3 5 2

V ( У,) 236,1

V ( У,) 133,6

V ( У2) 5423,3

3. Последовательный алгоритм обработки словаря

Примем следующие обозначения:

А. = (а,,...а1 ,...ат) - очередное эталонное слово СДС (у = 1,...,Щ) ;

В = (Ъ1, .. .Ък, . .Ъп) - ошибочное слово, для которого в СДС ищется «ближайшее» слово,

отличающееся от В каким-либо прямым искажением, принадлежащим к множеству корректируемых ошибок.

СДС

искажения A. и идентификации ошибки

A., B

Укрупненная схема процесса поочередного искажения слов Л}.

показана на рис. 1. Через Р(Л) обозначен оператор прямого искажения слова Л}-. Факт предполагаемой

идентификации ошибки определяется результатом сравнения РЛ (Л}.) = В . Алгоритм анализа слов

Первым этапом синтак-

Рис. 2. Первый этап синтаксического анализа

сического анализа слов А., В

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

добавление символа (E2), пропуск символа (E3), транскрипции или транспозиции разных видов (E1,E4,E5,E6,E7) , какая-то некорректируемая ошибка (рис. 2). Через S1 -S4 обозначены

процедуры, составляющие второй этап анализа.

Условия выбора процедур определяются следующим правилом выбора (в понятиях и терминах PASCAL): CASE (m-n) of

-1:процедура S1;

1: процедура S2;

0: процедура S3;

>1: процедура S4.

Прежде чем перейти к описанию следующего этапа анализа, отметим следующее. Для того, чтобы идентифицировать ошибку E2 (добавление символа), следовало бы в соответствии со схемой рис. 1 генерировать вставки символов со значениями, соответствующими алфавитным номерам 0 ^ (q -1), поочередно в позиции am+1 ^ am,am ^ am-1,...a2 ^ a1 слова A.. Такая

процедура требует генерации (m - 1)q вариантов искажений слова A. и сравнения этих

вариантов с В для проверки совпадения. Очевидно, что этого же результата можно добиться, варьируя слово В путем поочередного удаления символов ап,ап-1,...,а1. В этом случае требуются генерация и анализ всего п вариантов (п << т -1)^) .

Таким образом, целесообразно несколько усложнить схему рис. 1 и принять

комбинированную схему анализа (рис. 3), включающую в

целесообразных случаях как прямые искажения Л(оператор

Ра ), так и обратные искажения В

(оператор Рь). В этом случае факт

предполагаемой идентификации ошибки определяется результатом сравнения РЛ (Лі) = РВ (В) , а

процедуры 51 ■¥ 54 определяются соответствующими РЛ (Лі), РВ (В) .

Процедура 51 (предполагаемая ошибка - добавление символа).

Оператор РЛ - пустой.

Оператор РВ :

Поочередное удаление символов Ьк (к = 1, п) и сравнение оставшейся части:

В (к) = С^..,^ьk+l,..,Ьп) с Л .

Если для какого-то значения В (к) существует такое к = I, что В (I) = Л}-, то Л}- есть

искомое эталонное слово, в котором произошла ошибка Е2 - добавление символа Ь1 (в общем

случае, конечно, - одно из искомых слов). Однозначность идентификации ошибки Е2 определяется следующим очевидным утверждением: не существует двух или более различных значений В (к) , совпадающих с одним и тем же значением Л}-.

Иначе - ошибка не идентифицирована. Переход к Л;+1.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Процедура 52 (предполагаемая ошибка - пропуск символа).

Оператор РВ - пустой.

Оператор РЛ :

Поочередное удаление символов аг (г = 1,т) и сравнение оставшейся части:

Л'(г) = ^..^ ar-l, ar+l,.., ат ) С В .

Если для какого-то значения A (r) существует такое r = s, что A (s) = B , то A}. есть

искомое эталонное слово, в котором произошла ошибка Е3 - пропуск символа as. Однозначность идентификации ошибки определяется утверждением, аналогичным сделанному выше в описании оператора PB процедуры S1: не существует двух или более различных значений A (r), совпадающих с одним и тем же значением B .

Иначе - ошибка не идентифицирована. Переход к A;+1.

Процедура S3 (предполагаемая ошибка - однократная или двукратная транскрипция или транспозиция).

Операторы PA , PB :

Поочередное сравнение значений символов ai,bt (здесь m = n, i = к) и определение

количества не совпавших символов а .

Case а of

1: идентификация Aj как эталонного слова, в котором произошла однократная транскрипцияЕ1; переход к Aj+1;

2: идентификация Aj как эталонного слова, в котором произошло искажение двух символов (одна из ошибок Е4, Е5, Е6, Е7); переход к Aj+1;

>2: идентификация ошибки как некорректируемой; переход Aj ^ A;+1.

Примечание. Если установлено, что в слове B искажены в точности 2 символа (а = 2), то Aj может быть идентифицировано как эталонное слово, соответствующее B, независимо от того, какая именно произошла ошибка: Е4,Е5,Е6,Е7,Е8.

Процедура S4.

Операторы PB , PA - пустые.

Идентификация ошибки как некорректируемой; переход Aj ^ Aj+1.

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

В связи с этим сравнение алгоритмов проведено с помощью имитационной модели, запрограммированной в системе Delphi.

Произвольный алгоритм обработки словаря базировался на дихотомическом поиске очередной вариации в СДС, последовательный - на описанной выше схеме последовательной обработки.

Скорость работы обоих алгоритмов определялась на пакете из 100 ошибочных слов, искаженных ошибками Ex + Е8 в пропорциях, соответствующих принятым вероятностям появления

ошибок (55% - Ej, 15% - Е2 и т.д.).

Результаты имитационного моделирования отражены в табл. 2. В таблице приведены

t /

относительные значения а = иу , где tпр и truxm - время обработки пакета ошибочных слов

/ посл

произвольным и последовательным алгоритмами соответственно. Закрашенные клетки таблицы означают преимущество произвольного алгоритма. Через m обозначено среднее количество символов слов в СДС, через q - алфавит символов слов СДС.

Таблица 2. Результаты имитационного моделирования

N q=36, m =8 q = 10, m = 12

а а

102 408 74

103 233 37

104 20,8 3,58

105 2,4 0,42

2105 1,05 0,20

3105 0,76 0,15

6105 0,37 0,08

Для относительно слабого компьютера Р4 (2,8 Ггц, 260 мб) абсолютное значение Iпр для N = 2105 соответствует 282 мс.

4. Заключение

Анализ полученных результатов дает основание для следующих выводов:

1) Упорядоченный по удельным вероятностям перебор вариаций искаженного слова заметно снижает объем перебора. Так, в идеализированном случае, когда произошла именно

корректируемая ошибка (вероятность ^р^ = 0,9314), значения у(уг) для оптимальной упорядоченности равны 411,3 и 133,6, у(у0), для интуитивной стратегии перебора в порядке убывания pj равны 901,3 и 236,1, а наихудший порядок перебора дает значения у(у2), равные

27025,2 и 5423,3. Этот результат может иметь практическое значение применительно к стратегии 1, 2 (алгоритмов принятия решений при анализе результатов поиска вариаций в словаре) [1] и для

N

малых значений г =— и V , когда ожидаемое количество случайных (т.е. ложных) совпадений

ч"

вариаций со словарем мало.

2) Границы целесообразного приложения последовательной схемы обработки определяются областью больших значений V и малых значений N. Если ансамбль корректируемых ошибок полон, т.е. включает все ошибки классов E1 - E5 (как было отмечено

выше, E5 = E5 иE6 иE7 иEg), то границы этой области иллюстрируются данными табл. 2: N < 2-105 для q = Зб, ш = В и N <~ 51Q4 для q = 10, ш = 12. Если исключить из ансамбля ошибки класса E5, вносящие наибольший вклад в суммарное количество вариаций и, соответственно, в ожидаемое количество ложных совпадений, то имеет место следующее. С одной стороны, суммарное количество вариаций уменьшается в ~ 4Q раз для q = Зб, ш = В и в ~ 1Q раз

для q = 10,ш = 12. Примерно во столько же раз уменьшается и значение tпр . С другой стороны, несколько возрастает значение tnocjl за счет дополнительного дифференцированного анализа ошибок E6 , E7, Es и, соответственно, усложнения процедуры £З. В результате граница области сдвинется примерно в район значений N <~(3^5)-1Q3 для q = Зб, ш = В и N <~ (2^3)-1Q3 для q = 10,ш = 12. Таким образом, данные табл. 2 иллюстрируют наиболее благоприятный для применения последовательной схемы обработки случай, соответствующий анализу полного ансамбля ошибок.

СПИСОК ЛИТЕРАТУРЫ

1. Алгоритми і моделі автоматичної ідентифікації та корекції типових помилок користувача на основі природної надмірності / Г.Є. Кузьменко, В.А. Литвинов, С.Я. Майстренко [та ін.] // Математичні машини і системи. - 2QQ4. - № 2. - С.134 - 148.

2. Ukrainian Context Optimizer/ http//www.uco.ua/infosection 8-doc12.

3. Харди Г.Е. Неравенства / Харди Г.Е., Литтлвуд Д.Е., Полиа Г. - М.: Государственное издательство иностранной литературы, 1948. - С. 316.

4. Литвинов В.А. Контроль достоверности и восстановление информации в человеко-машинных системах / В.А. Литвинов, В.В. Крамаренко. - Киев: Техника, 1986. - 2QQ с.

Стаття надійшла до редакцї 06.10.2009

i Надоели баннеры? Вы всегда можете отключить рекламу.