Повышение эффективности работы опечаточника

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

·уемые данные

 

Входные данные

Представляют собой тестовую выборку, представленную в текстовом файле.

Входной файл (он же тестовая выборка).

Формат:_1 [\t correct_11, correct_12]_2 [\t correct_21, correct_22]

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

Пример записи во входном файле:

Безплатно бесплатно

Параметры опечаточника

Текстовый файл, содержащий параметры, влияющие на качество работы опечаточника.

Параметры

Описание параметров с их значениями по умолчанию:

lev=0.165

максимальное (пороговое) значение расстояния Левенштейна, при котором одно слово считается исправлением другого.

len_1=4_2=7_1=0.2_2=0.3_3=0.4

Коэффициенты фильтрации. Пусть L - длина исправляемого слова, K - коэффициент, участвующий в фильтрации, тогда при

L len_2K = coeff_3.

limit=5

Максимальное количество подсказок в выходном файле для одного исправляемого слова. Неявно влияет на порядок выдачи, то есть и на то, какая подсказка будет стоять на первом месте. Предположим, что limit == 5, это значит, что из списка наилучших подсказок мы возьмем только первые 5 штук, которые затем подвергаются заключительной сортировке. Если вариант, указанный человеком как правильный, будет стоять в этом списке на 6 месте, то мы правильный вариант теряем. Если бы мы указали limit = 6, то в выдаче появился бы правильный вариант.

log_arg=2.0

Коэффициент, участвующий в вычислении порогового значения количества исправлений для слова. Пороговое значение количества исправлений вычисляется как логарифм по основанию log_arg от длины входного слова.

filter=all

Фильтрация выдачи подсказок. Принимает следующие значения:- оставляем все варианты;- фильтрация по правилу треугольника;_dist - откидываются далекие от первой подсказки варианты;- включаются обе сортировки сразу.

sort=count_freq

Финальная сортировка. Принимет следующие значения:_freq - сортировка по количеству исправлений в слове, в рамках одинакового количества - по частоте;- сортировка по типу опечасток в слове;_freq - сортировка по по расстоянию Левенштейна, в рамках одинакового расстояния - по частоте.

Словарная база

База слов, которую использует опечаточник.

Выходные данные

Все выходные данные записываются в два выходных файла.

)Выходной файл с подробным описанием результатов для всех слов

Формат выходного файла:

word_1 \t time_1 \t etalon

lev_dist_11 \t correct_11 \t [N_11,M_11]_dist_12 \t correct_12 \t [N_12,M_12]

Здесь:_1 - обрабатываемое слово с ошибкой или опечаткой,_1 - время, потраченное на получение исправлений слова word_1,- вариант исправления, выбранный человеком,_dist_11 - расстояние Левенштейна между word_1 и correct_11,_11 - вариант исправления word_1,

[N_11,M_11] - проставляется, если вариант исправления совпадает с вариантом, указанным вручную (эталоном). N_11 - номер варианта в списке, указанным человеком, M_11 - номер варианта в автоматическом списке.

Выходной файл с общим описанием результатов для эксперимента:- параметры опечаточника

Time - время работы опечаточника- количество слов в эксперименте: all -- right -- [1,1] -- [1,2] -- [1,3]

Где

all - общее количество слов предложенных опечаточником

right - количество слов совпавших с выбором пользователей

[1,1] - количество слов, поставленных опечаточником и пользователем на первое место

[1,2] - количество слов, поставленных пользователем на первое место, а опечаточником на второе

[1,3] - количество слов, поставленных пользователем на первое место, а опечаточником на третье

 

Принцип работы данной схемы

 

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

 

Постановка задачи

 

Главная цель работы: нахождение таких параметров опечаточника, при которых достигается наилучшая эффективность его работы.

Основными показателями эффективности работы опечаточника являются:

)Полнота

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

)Время работы

Данная характеристика определяется временем, затраченным опечаточником на исправление опечаток.

 

Общая схема решения поставленной задачи

 

Исследование параметров опечаточника представляет собой многошаговый процесс. На каждом шагу исследуется один параметр. Будем считать, что каждый параметр принимает свои значения из некоторого известного множества (область задания).

Все параметры можно разделить на 3 группы

)Параметр, исследуемый на данном шагу

)Уже исследованные параметры

)Не исследуемые параметры (параметры не входящие в 1 и 2 группы)

 

 

Алгоритм исследования одного параметра

 

)Произвольным образом выбираем значения не исследуемых параметров из области их задания.

)Производим разбиение области задания исследуемого параметра

В итоге для каждой точки данного разбиения можно задать параметры решателя (точка разбиения и не исследуемые параметры)

)В каждой точке разбиения исследуе?/p>