Научная статья на тему 'Способ распознавания и оценивания ответов на тестовые задания «Типовая задача»'

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

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

Аннотация научной статьи по математике, автор научной работы — Рукавичников Александр Владимирович, Базарон Сэсэг Арсалановна

Данная работа посвящена методу распознавания и оценивания ответов на тестовые задания «Типовая задача». Предлагаются способ генерации базы нечетких продукционных правил.

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

Похожие темы научных работ по математике , автор научной работы — Рукавичников Александр Владимирович, Базарон Сэсэг Арсалановна

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

Текст научной работы на тему «Способ распознавания и оценивания ответов на тестовые задания «Типовая задача»»

Рукавичников А.В.,

Восточно-Сибирский государственный институт технологий и

управления, учебный мастер sasha-hamster@yandex.ru

Базарон С.А.

Восточно-Сибирский государственный институт технологий и

управления, старший преподаватель seseg003@gmail.com

Способ распознавания и оценивания ответов на тестовые

задания «Типовая задача»

Аннотация

Данная работа посвящена методу распознавания и оценивания ответов на тестовые задания «Типовая задача». Предлагаются способ генерации базы нечетких продукционных правил.

Введение

В условиях современного информационного общества автоматизированное тестирование является одним из инструментов для контроля качества обучения. Однако в современных системах автоматизированного тестирования отсутствуют возможности работы с заданиями, требующими в качестве ответа написание хода решения и конечного результата поставленной задачи. А также оценка такого рода заданий. Целью работы является разработка моделей и методов распознавания и оценивания тестовых заданий «Типовая задача».

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

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

ТЗ - тестовое задание «Типовая задача»;

R - ответ тестируемого на задание ТЗ;

T - теория, по которой создано тестовое задание;

А = { а11 а1 - символ,/=1..к) - алфавит теории Т;

/ - слово в алфавите А, /,-ЕА*

АА - множество формул в ответе испытуемого, А*ся ;

Ар - множество правильно построенных формул;

А* - множество выводимых формул;

А* - множество невыводимых формул;

61 - количественный показатель степени правильности ответа R;

62 - качественный показатель степени правильности ответа R.

Имеем множество формул ответа тестируемого А*ся .

Необходимо выполнить анализ множества формул А*, определить

значения показателей 61 и 62, позволяющих оценить степень правильности ответа R.

Способ решения задачи

Будем считать, что тестируемый представляет этапы решения задачи в виде последовательности формул ^ Используя онтологию теории T,

проведем анализ ответа тестируемого по следующему алгоритму:

Определим, является ли формулы ответа тестируемого fiеА* (/ = 2..п) правильно построенными, используя алгоритм «Анализ формул на правильное построение». Если формула / правильно построена, то она включается во множество (А*(f 1сА*)).

Используя алгоритм «Построение дерева решений» построим вывод формул fi+1еА из (/ fiеА* = 1..п-1). Если формула fi выводима, то она включается во множество А*.

Определим значения показателей 61 и 62, позволяющих оценить степень правильности ответа R, используя алгоритм «Определение степени правильности ответа».

Рассмотрим описание перечисленных алгоритмов.

Алгоритм «Анализ формул на правильное построения»

Опишем правила построения формул теории Т, т.е. элементы множества О={т1, Т2, Тз, Т4, Т5, Тб}, где:

Т1=«если с - константа и се С, а - переменная и аеР, z - знак операции и zеZ, (,) - разделительные символы и (,)е5, то ^а) - формула»;

Т2=«если а, Ь - переменные и а, ЬеР, z - знак операции и zеZ и (,) -разделительные символы (,)е5, то ^Ь) - формула»;

Тз=«если а - переменная и аеР, z - знак унарной операции и zеZ, то zа-формула»;

Т4=«если f - формула, z - знак унарной операции и zеZ и (,) -разделительные символы и (,)е5, то z(f) - формула»;

Т5=«если f - формула, h - константа или переменная и hеPuC, z - знак операции и zеZ и (,) - разделительные символы и (,)е5, то (fzh) - формула»;

Тб=«если /, g - формулы, z - знак операции и zеZ и (,) -разделительные символы и (,)е5, то (/Zg) - формула».

Правила Т1,Т2, тз,т4 являются правилами построения простых формул, а т5, т6 - правила построения сложных формул.

Используя правила построения формул О, можно определить, являются ли формулы fiеА* правильно построенными. Для проверки формулы / на правильность построения разработан конечный автомат (рис. 1). [5,6]

Если формула / правильно построена, то она включается во множество А*р.

r"~ s1 - чтение формулы FV Г ш ') K[!wJL formula] r M ¡ft

center /о1 read_tree ^ ..enter /wl.fo... formula] ^enter /w2.fo...^ .formula]

эЗ - Формула правильно .

к [об. true]

з2 - просмотр дерева закончился

[!w3. formula]

*[w5. foi muli

enter /o2.true

K[!o2.true]

r s5 - запись в множество Ac f; w5 f ^

[!w5. formula

V J ^enter /w5.fo...y ^enter /wG.fo...y

■... enter /w4.fo..._>

TL

x[!w6. formula]

s4 - Формула неправильная

Рисунок 1 - Структура автомата Анализ формул на правильное

построения

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

Алгоритм «Построение дерева решений».

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

Для построения Дерева решений будем использовать онтологию с активной семантикой, построенной для теории Т.

При решении задач оценивания результатов тестирования необходимы в основном следующие знания: термины предметной области, отношения между терминами, определение терминов, свойства терминов, синонимы, способы представления и способы выражения терминов. Поэтому будем использовать трехкомпонентную модель онтологии: О = <С, А, Рг>, где С - знак концептуального объекта «Понятие»; А - знак концептуального объекта «Действие»; Рг - знак концептуального объекта «Свойство».

Описание перечисленных концептуальных объектов и их словарных статей приведены в работе [2]:

Опишем словарную статью концептуального объекта «Свойство», в которую внесли изменения. Словарная статья «Свойство» представляется

в виде шестерки:

Property = <р, D, K, Q, C, M>, где p - имя свойства; K - вид свойства; Q - величины;

D, C, M имеют значение, аналогичное соответствующим элементам знака "понятие".

р. р = <pi, p2>, pi - имя свойства; p2 - тип концептуального объекта «Свойство»;

K. K=<ki, k2>, ki - вид свойства: количественное, качественное; k2 - вид свойства: Аксиомы теории T;

Q. Q = <qi, q2>, qi - имя величины, q2 - ссылка на словарную статью, описывающую qi.

К аксиомам теории Т отнесем:

1. законы теории Т;

2. определения теории Т;

3. теоремы теории T и следствия из них.

Тогда модель теории Т можно представить как совокупность множеств, образующих знания о теории Т:

А = (V, С, Z, 5} - алфавит теории Т, в котором V множество переменных, С - множество констант, Z упорядоченное множество по приоритету знаков операций, 5 множество разделительных символов;

О={т} - множество правил построения формул теории Т;

АС=(ас} - аксиомы теории Т;

Р - правила вывода (система подстановок).

В качестве правил вывода будем использовать метод систем ориентированных подстановок, который впервые предложил Э. Пост [3, 4].

В общем виде система подстановок описывается следующим образом:

р = {х ^ У (У ^ х.

Так как, аксиома по своему определению представляет собой правила преобразования одних формул в другие, то ее можно описать в виде ориентированной системы подстановок, например, аксиома Аи0=А может быть представлена как система ориентированных подстановок:

Таким образом, каждая аксиома ас будет преобразовываться в систему ориентированных подстановок Р. Введем индекс i, который идентифицирует номер подстановки в системе. Тогда система ориентированных подстановок будет иметь вид:

При формировании множества аксиом АС теории Т аксиома аci будет разбиваться на две части правую и левую. В подстановке с индексом (1)

Т = {А, W, AC, P}, где

P =

1(1) * ^ У 1(2) У ^ * .

левая часть будет приравниваться значению х, а правая - у. В подстановке с индексом (2), наоборот, левая часть будет приравниваться значению у, а правая - х. Из этого следует, что аксиома ас[ будет задаваться как пара: аci=(аcil, аci2), причем ас[г может иметь значение пШ.

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

На первом шаге алгоритма выбираем формулу / 1еАр и поочередно применяем к ней аксиому ас1, ас2,..,асш до тех пор, пока полученная в результате формула не станет равна формуле /2еА*р . Как только сравнение дало положительный результат, переходим на следующий шаг алгоритма и считаем, что формула/г выводима, /2С А. ■

Рисунок 2 - Структура автомата Построение дерева решений На втором шаге алгоритма выбираем формулу /¡еА*рЛ=2...п-1 и поочередно применяем к ней аксиому ас1, ас2,..,асш до тех пор, пока полученная в результате формула не станет равна формуле /¡+1еА р4 =2...п . Как только сравнение дало положительный результат, переходим на следующий шаг алгоритма и считаем, что формула/ выводима, /¿с А*.

На заключительном шаге алгоритма выбираем формулу 11 е А*р4 =п-1 и поочередно применяем к ней аксиому ас1, ас2,..,асш до тех пор, пока полученная в результате формула не станет равна формуле IответеАа р. Как только сравнение дало положительный результат, заканчиваем алгоритм и считаем, что ответ студента является верным.

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

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

применения аксиом АС формул не совпала с формулой /¡+1еЛ*р,1 = 1...п, считать /1 е Л*р,1 = 1...п не выводимой и завершаем алгоритм, считая что ответ студента является не верным.

Для построения дерева решений разработан конечный автомат (рис. 2). На рисунке 3 изображено дерево решений, построенное по данному

Рисунок 3 - Пример дерева решений

Алгоритм « Определение степени правильности ответа»

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

Алгоритмы нечеткого вывода различаются главным образом видом используемых правил, логических операций и разновидностью метода дефаззификации. Известны модели нечеткого вывода Мамдани, Сугено, Ларсена, Цукамото. В работе использовался алгоритма Мамдани, который является наиболее распространенным.

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

Экспериментальные исследования показали, что для процесса оценивания результатов тестирования достаточно шкалы ¿1=[-5,...,0,...,5] (табл. 1) для входных переменных и

¿2=[-3,...,0,...,3] (табл. 2) для выходных. Каждый терм (^¡) лингвистической шкалы представляет собой нечеткое множество:

~ k

At AU)/U,гдеU eU = [0;1]

i=1

Для наглядности в таблицах 2.1 и 2.2 градуировка шкал приведена в соответствие со значениями центров MidIn (MidOut) ядер Core нечетких множеств At, равномерно градуированными на универсуме U = [0;1]. По С.Д. Штовба [7] ядром нечеткого множества называется четкое подмножество универсального множества U, элементы которого имеют степени принадлежности, равные единице: Core {trl ) = {u | fi{trt ) = 1], где Г e TRIn | TR0ut, U eU, TRn - терм-множество входных лингвистических

переменных, TRout - терм-множество выходной лингвистической

переменной.

Таблица 1 - Шкала входных Таблица 2 - Шкала выходной лингвистических переменных (Ь1) лингвистической переменной (Ь2)

Оценк а в балла х MidIn Значение лингвистической переменной Оценк а в балла х MidOut Значение лингвистической переменной

Терм-множество Терм-множество СШш)

-5 (0,0) очень-очень низкий -3 (0,000) очень-очень низкий

-4 (0,1) очень низкий -2 (0,166) очень низкий

-3 (0,2) почти очень низкий -1 (0,333) низкий

-2 (0,3) низкий 0 (0,500) средний

-1 (0,4) почти низкий 1 (0,666) высокий

0 (0,5) средний 2 (0,833) очень высокий

1 (0,6) почти высокий 3 (1,000) очень-очень высокий

2 (0,7) высокий

3 (0,8) почти очень высокий

4 (0,9) очень высокий

5 (1,0) очень-очень высокий

Определение функции принадлежности

С помощью функции принадлежности осуществляется перевод четкого значения входной лингвистической переменной в нечеткую переменную triTRIn. Экспериментальным путем была выбрана колоколообразная функция принадлежности для входных и выходной лингвистических переменных (рис. 4) [8].

|д(х )=■

1+

х - c

a

2b

где Ь>1 - коэффициент концентрации, определяющий ядро нечеткого множества Core, а>0 - коэффициент, который характеризует ширину функции принадлежности, с - центр ядра нечеткого множества с = MidIn (MidOut).

Определение метода дефаззификации

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

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

Max Мах

y = J х-|д,(х)dx/J |д,(х)dx (2)

Min Min

где x - переменная, соответствующая выходной лингвистической переменной Out;

ц(х) - функция принадлежности выходной лингвистической переменной Out; Min и Max - левая и правая точки интервала носителя нечёткого множества рассматриваемой выходной лингвистической переменной Out.

Рисунок 4 - График колоколообразной функции принадлежности при параметрах (а, ь, с)=(0.05, 2, 0.5)

Формирование базы нечетких продукционных правил системы нечеткого вывода

Нечеткий логический вывод осуществляется на базе знаний, представляющей собой систему нечетких продукционных правил. Базу знаний, как правило, строит эксперт вручную. Это очень трудоемкая и сложная работа. В связи с этим разработан алгоритм формирования базы нечетких продукционных правил.

База нечетких продукционных правил представляет собой конечное множество правил Рг={Рг1,...,Ргп}, согласованных относительно

1

используемых в них входных лингвистических переменных ln={lni,...,ln} и выходных лингвистических переменных Out={Outi,...,Outt}. При этом под нечетким продукционным правилом понимается выражение вида [9]:

(/): Q; P; A^ßB; 5; F; N, где (/) - имя нечеткой продукции;

Q - сфера применения нечеткой продукции; P - условие применимости ядра нечеткой продукции; A^B - ядро нечеткой продукции, где

A - условие ядра (антецедент); B - заключение ядра (консеквент); S- метод определения количественного значения степени истинности заключения ядра;

F- коэффициент определенности или уверенности нечеткой продукции;

N - постусловия продукции.

Антецедент A и консеквент B нечеткого продукционного правила Pr определяется как нечеткое лингвистическое высказывание следующих видов:

1. высказывание «In есть tr», где In имя лингвистической переменной, tr ее значение, которому соответствует отдельный лингвистический терм из базового терм-множества TR лингвистической переменной In.

2. высказывание «In есть Vtr», где V модификатор, соответствующий таким словам, как: «ОЧЕНЬ», «ПОЧТИ», «ОЧЕНЬ-ОЧЕНЬ» (ЭКСТРА) и др.

3. составные высказывания (подусловия или подзаключения), образованные из высказываний видов 1 и 2 и нечётких логических операций в форме связок: «and», «or», «not» «if - then».

Исходная информация алгоритма:

- множество входных лингвистических переменных In={Ini,...,Ink}, где - k количество входных переменных;

- выходная лингвистическая переменная Out;

- симметричная функция принадлежности ^(Out) для выходной лингвистической переменной;

- нечеткая логическая операция «and» в подусловиях нечетких продукционных правил;

Основные этапы алгоритма.

1. Сформируем множество подусловий нечетких продукционных правил вида ir„ ={ln, ecmbtr,)GlRit где tr,GTRIn> i=l..k, /=1..|77?,„|. Для этого с каждой входной лингвистической переменной lnt построим декартово произведение {fni }х TRIn и зададим на нем полное соответствие «есть»: In t ^ trt.

2. Сформируем множество заключений нечетких продукционных

правил вида crt = (Out есть trm)е CR, где trm е TROut, m=1..|7R0ut|. Для этого аналогично построим декартово произведение {Out}x TROut и зададим на нем полное соответствие

«есть»: Out ^ trm.

3. Сформируем нечеткие продукционные правила prj. Для этого построим декартово произведение D = IR1 x...xIRk xCR. В каждом компоненте dj = irkg, crs) е D, добавим ключевые элементы правила ргу. оператор «if», логическую операцию «and» и оператор « then». Оператор «if» определяет начало правила, операция «and» соединяет подусловия компонента dj, оператор «then» соединяет подусловия iru с заключением crs.

4. Таким образом, генерируется база нечетких продукционных правил PR, отвечающая требованию полноты, но обладающая свойством противоречивости. Устранение противоречивости базы знаний происходит путем поиска минимального покрытия MinPR базы правил PR.

5. Для каждого условия правила prj вычислим t-норму. t-норма (дополнительная бинарная операция T на [0;l]x[0;l]^[0;l]) вычисляется как вероятностное пересечение центров ядер Midln,

нечетких множеств A,, термы которых tri входят в подусловия

k

ir а =(/n ecmbtr1) правила pr,■: Tj(MidIn1,„,MidInk) = ПMidIni.

i=i

6. Вычислим отклонение t-нормы от центра ядра MidOut. Для нечетких множеств Am, термы trm которых входят в заключение cri = (Out есть trm) правила вычислим отклонение t-нормы от центра ядра MidOut: А. = \т. - MidOutj .

7. Определим а-сечение нечеткого множества Am, каждого терма

77? MidOut.+1 - MidOut \

m е TROut: а, =1-1.

j 2

8. Отбор правил в минимальное покрытие MinPR. Если А. ., то правило prj включаем во множество MinPR, т.е. Pr. е MinPR.

Таким образом, генерируется база нечетких продукционных правил PR, отвечающая требованию полноты и непротиворечивости.

Используя данный способ, были построены две базы правил: первая -для определения степени правильности ответа на задания типов «Подстановка» и «Воспроизведение», содержащая 121 правило; вторая -для определения степени правильности решения типовой задачи, содержащая 22 правила. Ниже приведены примеры полученных правил.

if /П1=очень-очень высокая and /П2=почти очень высокая then Out=высокая

if Ini=средняя and /П2=очень-очень высокая then Out=средняя if /щ=низкая and /п2=почти очень высокая then 0^=низкая Вычислительные эксперименты

Рассмотрим экспериментальное тестирование базы нечетких продукционных правил. Для этого был разработан тест, по которому было проведено тестирование студентов, результаты которого оценивала группа экспертов по шкале [0; 1]. На основе экспертных оценок был проведен анализ, определивший согласованность мнений экспертов путем вычисления коэффициентов вариабельности. Этот же тест был оценен с помощью нечеткого регулятора. Результаты описанных вычислений приведены в таблице 3.

Таблица 3 - Результаты оценивания заданий теста

Оценка, Отклон

№ Экспер т 1 Экспер т 2 Экспер т 3 Экспер т 4 Экспер т 5 Оценка экспер та нечетког о регулято ра ение от оценки эксперт а

1 1 1 1 1 1 1 0,98 0,02

2 0,7 0,6 0,6 0,7 0,8 0,68 0,63 0,05

3 1 1 1 1 1 1 0,98 0,02

4 0,6 0,5 0,7 0,6 0,6 0,6 0,62 0,02

5 0,6 0,6 0,7 0,6 0,4 0,58 0,56 0,02

6 1 1 1 1 1 1 0,98 0,02

7 0,7 0,8 0,7 0,9 0,8 0,78 0,76 0,02

8 0,6 0,8 0,6 0,6 0,5 0,62 0,62 0

9 0,5 0,5 0,4 0,4 0,3 0,42 0,45 0,03

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

1 0 1 1 1 1 1 1 0,98 0,02

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

Заключение

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

Литература

1. Акобир Шахиди. Деревья решений - общие принципы работы. [Электронный ресурс]. URL: http://www.basegroup.ru/library/analysis/tree/description/

2. Найханова Л.В. Технология создания методов автоматического построения онтологий с применением генетического и автоматного программирования: монография. Улан-Удэ: Изд-во БНЦ СОРАН, 2008. 244 с.

3. Маслов С.Ю. Некоторые свойства аппарата канонических исчислений Э. Поста. [Электронный ресурс]. URL: - http://www.mathnet.ru/php/getFT.phtml?jrnid=tm&papered =1608&what=fullt&option_lang=rus.

4. Чень Ч., Р. Ли Математическая логика и автоматическое доказательство теорем / Под ред. С.Ю. Маслова. М.: Наука, 1983. 360 с.

5. Видео урок - «Отладка приложения в UniMod». [Электронный ресурс]. URL: -http://unimod.sourceforge.net/viewlet/debugger-demo-rus.html.

6. Видео урок - «Разработка приложения в UniMod». [Электронный ресурс]. URL: -http://unimod.sourceforge.net/viewlet/animated-demo-rus.html.

7. Штовба С.Д. Введение в теорию нечетких множеств и нечеткую логику [Электронный ресурс]. URL: http://matlab.exponenta.ru/fuzzylogic/ bookl/l.php.

8. Зайченко Ю.П., Заяц И.О. Исследование разных видов функций принадлежности параметров нечетких прогнозирующих моделей в нечетком методе группового учета аргументов [Электронный ресурс]. URL: http://www.gmdh.net/articles / usim/Zaychenko.pdf.

9. Леоненков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. СПб.: БХВ-Петербург, 2003. 736 с.

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