ОТКРЫТЫЙ КОНКУРС НА ЛУЧШУЮ НАУЧНУЮ РАБОТУ СТУДЕНТОВ ПО ЕСТЕСТВЕННЫМ, ТЕХНИЧЕСКИМ И ГУМАНИТАРНЫМ НАУКАМ

 

 

 

 

 

 

Нейрон и контроль

 

 

 

 

 

ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ ПРОВЕРКИ ЗНАНИЙ СТУДЕНТОВ ПО ГУМАНИТАРНЫМ ПРЕДМЕТАМ С ИСПОЛЬЗОВАНИЕМ НЕЙРОННЫХ СЕТЕЙ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2006


Аннотация
научной работы

1.     Название: Программный комплекс для проверки знаний студентов по гуманитарным предметам с использованием нейронных сетей

2.     Государственный рубрикатор научно-технической информации (ГРНТИ) 14.85.35

3.     Вуз: Томский государственный университет систем управления и радиоэлектроники

4.     Год завершения научной работы: 2006

5.     Объем работы: 40 с.

6.     Количество приложений: 1 приложение 2с.

7.     Количество иллюстраций: 25 ед.

8.     Количество таблиц: 7 ед.

9.     Количество источников литературы: 17 ед.

 

Характеристика работы:

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

2.     Методы проведенных исследований: нет

3.     Основные результаты научного исследования (научные, практические): научные

4.     Наличие документа об использовании научных результатов (да, нет): нет

Студент Добрынин Сергей Александрович (подпись)_______


Содержание

1 Введение. 4

2 Анализ предметной области. 6

2.1 Проблема контроля знаний по гуманитарным предметам.. 6

2.2 Анализ существующих программных продуктов. 7

2.3 Требования к программному комплексу. 9

2.4 Обоснование выбора среды разработки и языка программирования. 10

3 Математические модели нечеткого оценивания. 12

3.1 Альтернативно-множественные задания (выбор одного варианта ответа) 12

3.1.1 Описание задания. 12

3.1.2 Математическая модель. 12

2.1.3 Обучение сети. 14

3.1.4 Программная реализация. 15

3.2 Качественно-количественные задания. 16

3.2.1 Описание задания. 16

3.2.2 Математическая модель. 17

3.2.3 Обучение сети. 19

3.2.4 Программная реализация. 20

3.3 Альтернативно-множественные задания (выбор многих вариантов ответов) 20

3.3.1 Описание задания. 20

3.3.2 Математическая модель. 22

3.3.3 Обучение сети. 22

3.3.4 Программная реализация. 22

4 Полученные результаты.. 23

4.1 Иерархия классов. 23

4.2 Формат файла. 23

4.3 Разработка удобного пользовательского интерфейса. 31

5 Заключение. 37

Список используемой литературы.. 39

Приложение A.. 41

 

 

 

 

 


1 Введение

 

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

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

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

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

Работа имеет следующую структуру. В разделе 2 приведен анализ предметной области, включающий обзор проблем контроля знаний по гуманитарным предметам, анализ существующих программных продуктов, используемых для образования, требования к программному продукту, сформированные преподавателями средней школы, обоснование выбора среды разработки и языка программирования. Раздел 3 отводится для описания математических моделей тестовых заданий на примере некоторых нечетких заданий. Этот раздел включает в себя описание нечеткого задания, математическую модель, основанную на нейронных сетях, формулы обучения нейронов, программную реализацию на примере программы «Mastеr - Test», разработанной автором во время дипломирования. Раздел 4 содержит описание реализации системы на языке высокого уровня. Последний раздел содержит заключение по результатам выполненной работы.


2 Анализ предметной области

 

2.1 Проблема контроля знаний по гуманитарным предметам

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

Иногда оценивание должно проводится несколькими людьми. Например, во время проведения олимпиады вопросы и многие предполагаемые ответы известны заранее, а правильные ответы формируются преподавателями на основе общего мнения. Может возникнуть необходимость в изменении оценки уже готовых заданий с сохранением их структуры. Например, два плюс два равно четыре в десятичной системе координат на данный момент, было равно четырем две тысячи лет назад, и будет, скорей всего, равно четырем еще долго. Но в гуманитарных предметах дело обстоит иначе. В биологии грибы долгое время относили то к растениям, то к животным, пока не перенесли в отдельное царство. В правоведении правильность оценивания знания зависит от законов, а в России законы меняются каждый год, и готовые задания часто утрачивают свою актуальность. В истории правильность выполненного задания может зависеть от политической ориентации преподавателя или страны, в которой он проживает. Например, правильный ответ на вопрос, была ли роль Сталина в формировании Российского государства положительной или кем был Богдан Хмельницкий в момент объединения России: предателем или спасителем, разными преподавателями может быть дан поразному.

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

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

2.2 Анализ существующих программных продуктов

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

Первая группа: Существует группа учебных пособий, которые содержат, в основном, иллюстративный и текстовый материал:

1.     энциклопедии (Энциклопедия Кирилла и Мефодия, энциклопедия Истории России, От Кремля до Рейхстага)

2.     репетиторы («Репетитор Кирилла и Мефодия» по биологии, физике, химии и др., 1С Репетитор: Биология (русский язык, математика и др.). В них включены контрольные тесты, кроме теоретического материала

3.     Библиотеки электронных наглядных пособий (БЭНП по биологии, химии, физике, МХК, ОБЖ, географии). Они содержат большое количество фото-, видеоматериалов, рисунков и текстового сопровождения к ним, позволяющих создавать презентации на заданную тему практически к каждому уроку школьной программы

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

Среди них наиболее удачными являются  учебники:

1.     серии «Просвещение»: Биология 9кл., Химия 8 кл.

2.     учебное электронное издание  Cordis  и НФПК: Всеобщая история5-6кл., 7-8 кл., обществознание, Химия, виртуальная лаборатория

3.     образовательные комплексы1С:Школа Экология 10-11, Экономика и право

4.     КЛИО СОФТ: История России ХХ век

5.     Уроки Кирилла и Мефодия по биологии, литературе, физике и др.

Третья группа: тренажеры по подготовке к ЕГЭ от Кирилла и Мефодия, тренажер по русскому языку «Фраза», обучающие игры для детей младшего школьного и старшего дошкольного возраста 

Большинство хороших учебных обучающих комплексов используют технологии HTML, XML, Flash. А также звуковую, графическую и видеоинформацию, хранящиеся в стандартных распространенных форматах: mp3, avi, GIF, Jpeg. Большинство мультимедийных и Интернет- данных доступны на уровне файлов. Некоторые данные собраны в мультимедиа- библиотеки, где они логически сгруппированы и доступны для просмотра и копирования. Смотреть пример программ в приложении А.

Ни один обучающий комплекс не обходится без проверки знаний путем тестирования. Но ни в одном из них нельзя создать собственный тест. Только один продукт позволял создавать собственные проекты, но не по тестированию, а презентации на основе мультимедиа- библиотеки. Поэтому собственное тестирование они проводят, как описано в методическом пособии, с которым можно ознакомится [10].

2.3 Требования к программному комплексу

Учителя основной Твердышской школы (Курганская обл. Каргапольский р-он) выдвинули следующие требования к программному комплексу:

1.     Программа должна позволять создавать собственные тесты.

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

3.     Из приготовленного кем-то теста должна быть возможность извлечения мультимедийной информации.

4.     Программа должна легко переноситься на разные компьютеры и запускаться без установки путем копирования или даже по сети удаленно.

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

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

2.4 Обоснование выбора среды разработки и языка программирования

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

Название

Язык

Кроссплат-форменость

Стоимость

Визард

визуального

построения

Надежность

NetBeans

Java

+

бесплатный

+

высокая

Eclipse

Java

+

бесплатный

-

высокая

Delphi

Pascal

-

платный

+

низкая

Borland C++

C++

-

платный

+

низкая

Visual C++

C++

-

платный

+

низкая

Блокнот

PHP

+[1]

бесплатный

-

высокая

Таблица 2.4.1

Языки Pascal и С++ позволяют писать программы с платформенно зависимым кодом и не являются надежными т. к. во время работы ошибки в программе вызывают ошибочную ситуацию в работе операционной системы, в результате чего программа закрывается операционной системой, и сложно понять причину ошибки. Также платформенно- зависимые программы более подвержены вирусам. Разрабатываемая программа, является клиентским приложением и содержит много визуальных компонентов, поэтому среда разработки должна содержать визард визуального построения. Программа должна работать на разных операционных системах. Среда разработки должна быть недорогой. Как мы видим из таблицы, лучшим образом нам подходит язык Java  и среда разработки NetBeans.

 


3 Математические модели нечеткого оценивания

 

3.1 Альтернативно-множественные задания (выбор одного варианта ответа)

3.1.1 Описание задания.

Задание: к слову, стоящему слева, нужно подобрать такое слово из четырех предложенных, которое совпадало бы с ним по смыслу, т. е. слово-синоним. Выбирать нужно только одно слово. Укажите букву правильного ответа.

Вопросы: вопросы о ответы представлены в таблице 3.1.1.1.

Слово, к которому подбирают синоним

Варианты ответов

Весовые коэффициенты

1

Аргумент

а. доказательство

1

б. согласие

0

в. спор

0.5

г. фраза

0.3

2

Сферичный

а. продолговатый

0

б. шарообразный

1

в. пустой

0

г. объемный

0.3

3

Экспорт

а. продажа

0

б. товары

0.1

в. Вывоз

1

г. торговля

0.3

Таблица 3.1.1.1 – Вопросы и ответы

3.1.2 Математическая модель

Сопоставим каждому вопросу по одному нейрону (рис. 3.1.2.1). Тогда нейронов будет столько, сколько вопросов. А входными данными будет вектор, состоящий из нулей и единиц. Количество элементов в векторе будет равно числу предлагаемых ответов. Выбранный ответ в векторе будет представлен единицей, а все остальные- нулями. Например, если мы выбрали ответ «спор», то входной вектор будет иметь следующий вид: X = [0;0;1;0]. Весовые коэффициенты нейрона W = [1;0;0.5;0.3] показывают степень правильности соответствующего вопроса. Вектора выбранного ответа и весовых коэффициентов перемножаются скалярно X*W = [0;0;0.5;0], а затем подсчитываются сумма элементов вектора , F = 0.5. 

Нейроны, сопоставленные вопросам из табл.1, назовем нейронами первого слоя (см. рис. 3.1.2.2).  Результаты каждого из вопросов складываются, предварительно умноженные на весовые коэффициенты вопросов. Это достигается  путем введения второго слоя нейронов, состоящего из одного результирующего нейрона. Весовые коэффициенты показывают степень сложности вопросов. Чем выше коэффициент, тем сложнее вопрос (рис. 3.1.2.2). В результате получаем число в интервале [0,1] которое потом можно перевести в оценку. Например, были выбраны следующие ответы на вопросы (см. табл. 3.1.2.1).

№ вопроса

ответ

Вектор X

Вектор W

X*W

1

Спор

[0;0;1;0]

[1;0;0.5;0.3]

[0;0;0.5;0]

0.5

2

Шарообразный

[0;1;0;0]

[0;1;0;0.3]

[0;1;0;0]

1

3

Торговля

[0;0;0;1]

[0;0.1;1;0.3]

[0;0;0;0.3]

0.3

Таблица 3.1.2.1 – Пример работы теста

Входом для нейрона второго слоя будет вектор F = [0.5;1;0.3]. Вычисления на втором слое нейронов происходят по тому же алгоритму, что и вычисления первого слоя. Если предположить, что все вопросы равны по сложности, то весовые коэффициенты, для второго слоя, можно взять следующие - W = [0.33;0.33;0.33]. Тогда в результате вычисления получим F*W = [0.165;0.33;0.099]. После суммирования элементов вектора получим 0.594. В зависимости от принятой методики контроля знаний в данном учебном учреждении за такой ответ может поставлена оценка «удовлетворительно» или «неудовлетворительно».

Рисунок 3.1.2.2 - нейронная сеть, сопоставленная тесту

 

 

2.1.3 Обучение сети

Обучение сети происходит по формулам: 3.1.3.1, 3.1.3.2.

                                                   (3.1.3.1)

                                                   (3.1.3.2)

где

 - i-й весовой коэффициент

t – номер итерации

x – входной вектор

d – ожидаемый ответ

y – полученный ответ

3.1.4 Программная реализация

Атрибуты вопроса заполняются в форме, показанной на рисунке 3.1.4.1. Текст вопроса заполняется на вкладке «Текст вопроса», показанной на рисунке 3.1.4.2.

Рисунок 3.1.4.1 – атрибуты вопроса.

Рисунок 3.1.4.2 – текст вопроса.

Обучение вопроса происходит на вкладке «Обучение», показанной на рисунке 3.1.4.3.

Рисунок 3.1.4.3 – обучение вопроса.

 

3.2 Качественно-количественные задания

Вопрос на качественном уровне - ответ на количественном.

3.2.1 Описание задания

Задание: введите в качестве ответа вещественное число.

Вопрос: введите температуру тела человека, при которой человек считается здоровым.

Ответы: Наиболее правильный ответ 36,6, весовой коэффициент равен 1.0. Допустимые ответы – от 36.1 до 36.9 [15]. Ответы приведены в таблице 3.2.1.1

 

 

 

 

 

 

 

 

 

Температура

Весовой коэффициент

36.9

0.1

36.8

0.4

36.7

0.7

36.6

1

36.5

0.8

36.4

0.6

36.3

0.4

36.2

0.2

36.1

0.1

 

 

 

 

 

 

 

 

 

 

Таблица 3.2.1.1 - Ответы

Вопрос: введите верхнее значение артериального давления здорового человека в возрасте от 17 до 20 лет.

Ответы: 100 – 120 мм рт.ст. – верхнее (систолическое) [16].

3.2.2 Математическая модель

Преобразование качественное - количественное можно осуществить, используя теорию нечетких множеств. Из теории нечетких множеств [17] следует, что некоторый элемент множества может принадлежать ему не полностью, а с некой степенью принадлежности, измеряемой в интервале [0,1]. Степень принадлежности определяется функцией принадлежности, которая часто описывается формулой 3.2.2.1.

                                              (3.2.2.1)

При разных значениях параметров функции ее график может сильно меняться. Подбор коэффициентов производится таким образом, чтобы поведение функции наиболее полно соответствовало нашему вопросу. Вопросу, связанному с температурой, наиболее подходит средний график, а вопросу, связанному с давлением – левый (смотреть рисунок 3.2.2.1).

а)                                              б)                                         в)

Рисунок 3.2.2.1 – Графики функции с разными значениями параметров

а) прямоугольный, б) колокообразный, в) пикообразный

Результат такого преобразования дает число в интервале [0..1]. А значит, результаты ответов на вопросы можно передавать на второй слой нейронной сети. И учитывать таким образом сложность различных вопросов (Рисунок 3.2.2.2). Первый слой нейронной сети составляют нечеткие нейроны. Их весовые коэффициенты – это коэффициенты функции принадлежности.

3.2.3 Обучение сети

Обучение сети заключается в подборе коэффициентов по следующим формулам: (3.2.3.1), (3.2.3.2), (3.2.3.3).

                                   (3.2.3.1)

                                   (3.2.3.2)

                                    (3.2.3.3)

где

j – номер нейрона

n – номер итерации

с – математическое ожидание

 - дисперсия

b – величина, показывающая степень пологости графика

 - коэффициент обучения математического ожидания

 - коэффициент обучения дисперсии

 - коэффициент обучения для величины, показывающей степень пологости графика

Выражение E является эвклидовой нормой и записывается формулой (3.2.3.4).

                                   (3.2.3.4)

где

p – количество обучающих пар (x, d)

l –  номер обучающей пары

x – входной вектор

d – правильный результат

y – результат, полученный во время вычислений

3.2.4 Программная реализация

Атрибуты и текст вопроса заполняются так же, как и в вопросе «одиночный выбор», а обучение происходит на вкладке, показанной на рисунке 3.2.4.1.

Рисунок 3.2.4.1 – вкладка обучение.

3.3 Альтернативно-множественные задания (выбор многих вариантов ответов)

3.3.1 Описание задания

Вопрос: Выберите функции органических веществ из данного списка, распределяя их по группам (смотреть таблицу 3.3.1.1).

Название группы

Функции белков

Функции углеводов

Функции липидов

Таблица 3.3.1.1 – Группы функций

Список функций:

1 энергетическая

2 каталитическая

3 запасающая

4 транспортная

5 строительная

6 иммунная

7 регуляторная

8 сигнальная

9 двигательная

10 теплоизоляционная

Ответы: правильные ответы представлены в таблицах 3.3.1.2 и 3.3.1.3.

№ функции

Белки

Весовой коэффициент

Липиды 

Весовой коэффициент

Углеводы

Весовой коэффициент

1

2

3

4

2

0.2

-0.1

-0.1

3

0.1

0.1

0.1

4

0.2

-0.1

-0.1

5

0.1

0.1

0.1

6

0.2

-0.1

-0.1

7

0.3

-0.1

-0.1

8

0.3

-0.1

-0.1

9

0.2

-0.1

-0.1

10  

-0.4

0.1

-0.1























Таблица 3.3.1.2 – Весовые коэффициенты функций.

Группа

Белки

Липиды 

Углеводы

1

2

3

4

Весовой коэффициент группы

0.5

0.25

0.25

Сумма весовых коэффициентов функций (суммируются только положительные коэффициенты в столбцах 2, 3, 4 табл. 5)

1.7

0.4

0.3

Всего:

после умножения на  весовой коэффициент группы суммы положительных (правильных) весовых коэффициентов функций

0.85

0.1

0.075

 

 

Таблица 3.3.1.3 – Весовые коэффициенты групп функций.

3.3.2 Математическая модель

Математическая модель заданий, в которых нужно выбрать несколько ответов, идентична по своей структуре модели заданий, в которых нужно выбрать один ответ. Разница состоит только в том, что во входном векторе присутствует несколько единиц, которые соответствуют выбранным вариантам ответов. Положительные весовые коэффициенты соответствуют правильным ответам, а отрицательные – неправильным. Весовые коэффициенты перемножаются с коэффициентами вектора ответов, состоящего из нулей и единиц. Например, если мы выбрали 3, 5, 6 ответы, то вектор ответов будет иметь вид F(0, 0,1,0,1,1,0,0,0,0).

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

3.3.3 Обучение сети

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

3.3.4 Программная реализация

Программная реализация этого типа тестовых заданий идентична программной реализации вопроса «множественный выбор», потому что этот тип тестовых заданий можно выразить через вопрос «множественный выбор».

 


4 Полученные результаты

 

4.1 Иерархия классов

 

Иерархия классов тестовых заданий показана на рисунке 4.1.1.

 

Рисунок 4.1.1 - Иерархия классов вопросов

 

На вершине находится класс «вопрос», содержащий в себе атрибуты, такие как: сложность вопроса, тип вопроса, секция вопроса, текст вопроса, пояснение к вопросу. От него наследуется: вопрос – «одиночный выбор», содержащий в себе номер правильного ответа, вопрос – «множественный выбор», содержащий в себе вектор правильных ответов и «открытый» вопрос, содержащий в себе строку с правильным ответом. Некоторые вопросы могут быть смоделированы с помощью других вопросов. Вопрос – «сопоставление элементов множества» может быть смоделирован через вопрос «множественный выбор» а вопрос - «числовой» через открытый вопрос.

4.2 Формат файла

Формат файла теста на примере «Простого теста». Данный тест хранится виде файла Simpleexams c расширение jex. Так как тест представляет собой XML-документ, файл начинается с заголовка <?xml version="1.0" encoding="UTF-8"?>, где указывается версия и тип кодировки.

XML- документ имеет три категории информации:

<?xml version="1.0" encoding="utf-8"?>

<Exam>

<!-- Exam Details Tags -->

.................

.................

<!-- Questions Tags -->

.................

.................

<!-- Sections Tags -->

.................

.................

</Exam>

1.                     Exam Details: эти признаки  описывают детали экзамена (например. Название экзамена, Автор, Продолжительность, и т.д.).

2.                     Questions : эти признаки описывают  детали вопросов об экзамене

3.                      Sections : эти признаки описывают детали секций (или главы или темы) экзамена.

Признаки Exam Details:

Name – Название экзамена;

Description – Описание экзамена;

Duration – Продолжительность;

PassPercentage -  Процент прохождения экзамена;

Instructions - Инструкции для экзамена. Эти инструкции показаны в тренажере перед стартом экзамена;

Version – Версия экзамена;

Author – Автор экзамена;

AuthorDescription – Краткое описание об авторе;

AuthorEmail – Электронная почта автора;

AuthorURLURL автора;

Title – Название экзамена;

Пример: простой пример признаков деталей экзамена (SampleExam.jpx)

<?xml version="1.0" encoding="UTF-8"?>

<Exam>

<Name>Простой экзамен</Name>

<Description><![CDATA[Это простой экзамен.]]></Description>

<Duration>20</Duration>

<PassPercentage>30.0</PassPercentage>

<Instructions><![CDATA[Инструкции экзаена.]]></Instructions>

<Version>1.0</Version>

<Author>С.А. Добрынин </Author>

<AuthorDescription>Project Exam</AuthorDescription>

<AuthorEmail>treval@ms.tusur.ru</AuthorEmail>

<AuthorURL>NO </AuthorURL>

<Title>Простой экзамен</Title>

................

................

</Exam>

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

ID  - Индентификатор вопроса;

Type – Тип вопроса, 0 (Единственный Выбор), 1 (Многократный Выбор), 2 (Заполнитесь В Бланке);

SectionIndex - Индекс секции, которому этот вопрос принадлежит;

Problem -  Описание проблемы;

Toughness -  Сложность вопроса -   0 (Очень сложный), 1 (сложный), 2 (Средний), 3 (Легкий), 4 (Очень Легкий);

Exhibit -  Дополнительная информация, при ответе на вопрос;

Explanation –Объяснение вопросов и ответов; 

Choices -  Выбор ответов на вопрос, этот параметр различен для трех типов вопросов;

 

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

<Choices>

<Choice>

<ChoiceValue><![CDATA[Write the Choice/Option]]></ChoiceValue>

<ChoiceComment><![CDATA[Provide the comments for the Choice/Option]]></ChoiceComment>

<ChoiceValidation>true/false</ChoiceValidation>

</Choice>

</Choices>

где,

ChoiceValue -  Вариант ответа;

ChoiceComment -  Комментарий, который будет показан, рассматривая вопросы после завершения экзамена;

ChoiceValidation -  указывается правильность или не правильность ответа;

 

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

.............................

.............................

<Question>

<ID>0</ID>

<Type>0</Type>

<SectionIndex>0</SectionIndex>

<Problem><![CDATA[This is an example of Single Choice Question.]]></Problem>

<Toughness>0</Toughness>

<Exhibit/>

<Explanation><![CDATA[Single Question Answer Explanation]]></Explanation>

<Choices>

<Choice>

<ChoiceValue><![CDATA[False Choice]]></ChoiceValue>

<ChoiceComment><![CDATA[False Choice Comments]]></ChoiceComment>

<ChoiceValidation>false</ChoiceValidation>

www.jpilotexam.org Three Simple Steps To Create JPE Exam 3 of 5

</Choice>

<Choice>

<ChoiceValue><![CDATA[True Choice.]]></ChoiceValue>

<ChoiceComment><![CDATA[True Choice Comments]]></ChoiceComment>

<ChoiceValidation>true</ChoiceValidation>

</Choice>

</Choices>

</Question>

................................

................................

Вопросы с несколькими вариантами ответов. Эти вопросы будут иметь многократные выборы с многократным правильными ответами.

<Choices>

<Choice>

<ChoiceValue><![CDATA[Write the Choice/Option]]></ChoiceValue>

<ChoiceComment><![CDATA[Provide the comments for the Choice/Option]]></ChoiceComment>

<ChoiceValidation>true/false</ChoiceValidation>

</Choice>

</Choices>

где,

ChoiceValue – Вариант ответа;

ChoiceComment -  Комментарий, который будет показан, рассматривая вопросы после завершения экзамена;

ChoiceValidation - Указывается правильность или неправильность ответа;

 

Пример вопроса с многократным выбором:

.............................

.............................

<Question>

<ID>1</ID>

<Type>1</Type>

<SectionIndex>1</SectionIndex>

<Problem><![CDATA[This is an example of Multiple Choice Question.]]></Problem>

<Toughness>1</Toughness>

<Exhibit/>

<Explanation><![CDATA[Explanation of Multiple Choice Question.]]></Explanation>

<Choices>

<Choice>

<ChoiceValue><![CDATA[True Choice.]]></ChoiceValue>

<ChoiceComment><![CDATA[True Choice Comments.]]></ChoiceComment>

<ChoiceValidation>true</ChoiceValidation>

</Choice>

<Choice>

<ChoiceValue><![CDATA[False Choice.]]></ChoiceValue>

<ChoiceComment><![CDATA[False Choice Comments.]]></ChoiceComment>

<ChoiceValidation>false</ChoiceValidation>

</Choice>

<Choice>

<ChoiceValue><![CDATA[True Choice.]]></ChoiceValue>

<ChoiceComment><![CDATA[True Choice Comments.]]></ChoiceComment>

<ChoiceValidation>true</ChoiceValidation>

</Choice>

<Choice>

<ChoiceValue><![CDATA[False Choice.]]></ChoiceValue>

<ChoiceComment><![CDATA[False Choice Comments.]]></ChoiceComment>

<ChoiceValidation>false</ChoiceValidation>

</Choice>

</Choices>

</Question>

.............................

.............................

 

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

<Choices>

<Choice>

<ChoiceValue><![CDATA[One of Valid Answer]]></ChoiceValue>

<CaseSensitive>true/false</CaseSensitive>

</Choice>

</Choices>

Где,

ChoiceValue – ответ на вопрос;

CaseSensitive  - является ли ответ чувствительным случаем или нет;

Пример вопроса с заполнением формы:

.............................

.............................

<Question>

<ID>2</ID>

<Type>2</Type>

<SectionIndex>2</SectionIndex>

<Problem><![CDATA[Sample Fill In The Blank Question [Answer FIB-Question].]]></Problem>

<Toughness>4</Toughness>

<Exhibit/>

<Explanation><![CDATA[Explanation of the Answer.]]></Explanation>

<Choices>

<Choice>

<ChoiceValue><![CDATA[FIB-Question]]></ChoiceValue>

<CaseSensitive>false</CaseSensitive>

</Choice>

</Choices>

</Question>

.............................

.............................

Третьим важным описанием XML документа являются секции. Каждый предоставленный вопрос должен коснуться одной секции (Глава/Тема). Основанный на секциях результат будет показан при завершении экзамена.

 

 

Пример секции:

<Sections>

<Section>

<SectionName>SECTION 1.</SectionName>

<SectionDescription>This is the description of the section 1.</SectionDescription>

</Section>

<Section>

<SectionName>SECTION 2.</SectionName>

<SectionDescription>This is the description of the section 2.</SectionDescription>

</Section>

<Section>

<SectionName>SECTION 3.</SectionName>

<SectionDescription>This is the description of the section 3.</SectionDescription>

</Section>

</Sections>

4.3 Разработка удобного пользовательского интерфейса

В настоящее время интерактивные программы используют (GUI) графический пользовательский интерфейс. Основными элементами GUI позволяющими повысить удобство использования программы являются: меню (рисунок 4.3.1),  модальные окна (рисунок 4.3.2), таб панели и древовидный список (рисунок 4.3.3), HTML и гипертекст (рисунок 4.3.4), HTML и рисунки (рисунок 4.3.5), радио кнопки (рисунок 4.3.6).

Рисунок 4.3.1 - меню.

Рисунок 4.3.2 – модальное окно.

Рисунок 4.3.3 – таб панели и древовидный список.

Рисунок 4.3.4 – HTML и гипертекст.

Рисунок 4.3.5 – HTML и рисунки.

Рисунок 4.3.6 – радио кнопки.

Как видно из рисунковаф, все перечисленные компоненты в программе master test присутствуют. Т. к. программа написана на языке Java, позволяющем создавать кроссплатформенные приложения, то возникает проблема отображения визуальных компонентов в различных операционных системах (ОС). Разработчики Java позаботились о решении этой проблемы. Вид компонентов можно менять на системный, то есть тот, который принят в текущей ОС (рисунок 4.3.7-4.3.8). Либо на кроссплатформеный, который на всех ОС будет выглядеть одинаково (рисунок 4.3.9). Либо на вид другой ОС рисунок 4.3.10.

Рисунок 4.3.7 – Linux – системное представление.

Рисунок 4.3.8 – Windows – системное представление.

Рисунок 4.3.9 – Linux – кросплатформеное представление.

 

Рисунок 4.3.10 – Linuxmotif представление.

 

 

 


 

5 Заключение

 

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

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

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

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

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

 


Список используемой литературы

 

1. Осовский С. Нейронные сети для обработки информации / Пер. с польского И.Д. Рудинского. – М.: Финансы и статистика, 2002. – 344 с.: ил.

2. Уоссермен Ф. Нейрокомпьютерная техника: теория и практика. — М.: Мир, 1992.

3. С. Короткий Нейронные сети: основные положения - Электронная публикация.

4. С. Короткий Нейронные сети: алгоритм обратного распространения - Электронная публикация.

5. С. Короткий Нейронные сети: Нейронные сети: обучение без учителя - Электронная публикация.

6. С. Короткий Нейронные сети Хопфилда и Хэмминга - Электронная публикация.

7. А. В. Соловов “Информационные технологии обучения в профессиональной подготовке”  "Информатика и образование", 1996, N 1, с. 13 -19

8. Дунаев В. В. Сам себе Web-дизайнер. – СПб.: БХВ – Петербург; Арлит. 2002. – 512 с.: ил. – (Компьютер и творчество).

9. Учебное электронное издание ОБЩЕСТВОЗНАНИЕ/ Под ред. Л.Н. Боголюбова.

10. Богданова Д. К. Дидактический материал по общей биологии: Пособие для учителей. – К.: Рад. Шк., 1986.-150 с. -30 к. 80 000 экз.

11. Веретенников Максим Викторович Автоматизация проверки знаний и навыков студентов в области прикладной математики и информатики./ Диссертация на соискание ученой степени канд. тех. наук. Томск 2004. –126 с.

12. Добрынин Сергей Александрович Автоматизированный контроль знаний студентов по гуманитарным предметам с использованием нейронных сетей. / Научная сессия ТУСУР – 2006: Материалы докладов Всероссийской научно технической конференции студентов, аспирантов и молодых ученых, Томск, 4-7 мая 2006 г. – Томск: Издательство «В-Спектр», 2006. Ч. 5. – 324 с.

13. Рудинский И. Д. Информационные технологии в образовании. / Информационные технологии №9, 2003 г. 46-51с.

14. Искусственный интеллект: В 3 кн. Кн. 1 системы общения и экспертные системы: Справочник / Под ред. Э. В. Попова. – М.: Радио и связь, 1990. – 464 с.: ил.

15. Большая медицинская энциклопедия. Под. Ред. Б.В. Петровского. Т. 24. – М.: Изд-во «Советская энциклопедия», 1985. – 544.

16.     Большая медицинская энциклопедия. Под. Ред. Б.В. Петровского. Т. 2. – М.: Изд-во «Советская энциклопедия», 1975. – 608.

17.     Нечеткие множества и теория возможностей. Последние достижения: Пер. с англ. /Под ред. Р.Р. Ягера. – Радио и связь, 1986. –408с.

 


Приложение A

Программа “аналог - тест”

 

Рисунок A.1 - Тренинг

 

Рисунок A.2 - Билеты

 

Рисунок A.3 -  Пункт меню “Файл”

Рисунок A.4 - Пункт меню “Режим”

 

 

 

Рисунок A.5 - Пункт меню “Справка”

 

Рисунок A.6 - Текст вопроса открытый в браузере

 

 



[1] Для PHP необходимы: браузер и HTTP сервер.



Используются технологии uCoz