НИМ_Особенности использования искусственной нейронной

advertisement
Некоммерческая организация «Ассоциация московских вузов»
Государственное образовательное учреждение
высшего профессионального образования
Московский государственный индустриальный университет
ГОУ ВПО МГИУ
Научно-информационный материал
«Особенности использования искусственной нейронной сети в
системах тестирования»
Состав научно-образовательного коллектива:
Бургонский Д.С., ведущий инженер
Валявский А.Ю., ведущий инженер
Руденко И.Б., к.т.н.
Москва 2010 г.
ОСОБЕННОСТИ
ИСПОЛЬЗОВАНИЯ
ИСКУССТВЕННОЙ
НЕЙРОННОЙ СЕТИ В СИСТЕМАХ ТЕСТИРОВАНИЯ.
Применение искусственных нейронных сетей (ИНС) при тестировании
даёт возможность значительно глубже и объективнее оценить знания
учащихся. Особенности функционирования ИНС значительно расширяют
возможности задавать такие вопросы, ответы на которые можно давать в
достаточно произвольной форме, при этом используя привычные языковые
формы. Речь идёт о так называемых открытых вопросах, правильные ответы
на которые могут варьироваться в некотором диапазоне и при этом система
способна различать верные и неверные ответы, кроме того, при
необходимости, учесть полуправильные ответы, т.е. расставить оценки в
четырёхбальной или любой другой системе.
Для этой цели была разработана ИНС, оптимизированная для решения
задачи обработки ответов пользователей, написанных на естественном
языке. Данная ИНС базируется на разработках SRH Hoсhschule (Германия), в
частности работах Dieter Homeister и Simon Ziegler.
Для данной задачи была выбрана двухслойная сеть
прямого
распространения – перцептрон.
Экспериментальным
путём
были
установлены
оптимальные
характеристики выбранной ИНС: сенсорный слой состоит из 480 нейронов,
ассоциативный слой 80 и реагирующий слой – из одного нейрона.
Соответственно в данной сети содержится 480*80+80*1=38480 связей и
соответствующих им весов. В качестве функции активации была выбрана
сигмоидная функция.
Для функционирования нейронной сети было создано шесть файлов.
Файлы right.txt и wrong.txt содержат соответственно сформулированные
пользователем
списки
правильных
и
неправильных
ответов.
Файл
dictionary.txt является словарным файлом и содержит список слов из файлов
right.txt и wrong.txt являющихся допустимыми для ответа на данный вопрос.
Файл backpropwrite.exe используется для обучения нейронной сети. Он
использует файлы right.txt, wrong.txt и dictionary.txt и в случае успешного
обучения нейронной сети генерирует бинарный файл net.bin, содержащий
веса нейронной сети. Файл backpropread.exe использует файл net.bin и
генерирует реакцию нейронной сети на введённый пользователем ответ.
Перед началом процесса обучения нейронной сети необходимо
сформулировать все возможные правильные ответы на поставленный
вопрос. Все они записываются в специальном текстовом файле (right.txt).
Вероятно, единовременно сформулировать все возможные правильные
ответы не удастся, поэтому в процессе эксплуатации нейронной сети,
возможно, потребуется провести повторное её обучение с целью
распознавания новых вариантов правильных ответов.
Далее в автоматическом режиме из файла right.txt создаётся словарный
файл (dictionary.txt), который содержит все возможные слова, допустимые в
качестве ответа на поставленный вопрос, а так же соответствующие этим
словам двоичные кода. Разумно исключить из данного файла все предлоги,
частицы, а так же несущественные для ответа слова. Так же, рядом с каждым
словом, могут быть перечислены его синонимы. Это позволит избежать
увеличения возможных вариантов правильных ответов и обрабатывать
синонимы в рамках работы нейронной сети как одинаковые слова.
В случае необходимости возможно так же создание дополнительного
файла, содержащего заведомо неверные ответы (wrong.txt).
В качестве обучающего метода был выбран метод обучения «с
учителем», методом обратного распространения ошибки. Изначально всем
весам нейронной сети присваивается случайное значение в диапазоне от 0
до 1.
Далее, в процессе обучения, подбираются такие веса, при которых
значение ошибки реакции нейронной сети меньше заранее выбранного
значения. В случае невозможности успешного обучения нейронной сети,
рекомендуется переформулировать список возможных правильных ответов
из файла right.txt.
В качестве результата успешной тренировки создаётся бинарный файл, в
котором хранятся значения всех настроенных весов нейронной сети. Данный
файл должен быть создан для каждого вопроса, который может быть оценен
с помощью нейронной сети.
После успешного обучения сети, для каждого вопроса должны
существовать следующие файлы: список правильных ответов, словарь
допустимых слов, список неправильных ответов, файл, хранящий веса
нейронной сети.
После запуска нейронной сети для проверки введённого ответа
происходит следующее:
1. Осуществляется
предварительная
обработка
введённого
пользователем ответа. На этом шаге из ответа исключаются все слова,
которые не присутствуют в словарном файле.
2. Происходит присвоение словам соответствующего им кода из
словарного файла. Так как код имеет размер в 8 бит, а нейронная сеть имеет
480 нейронов входного слоя, то максимальный размер вводимого ответа –
60 словарных слов.
3. Все коды, соответствующие словам, подаются на нейроны входного
слоя.
4. В результате работы нейронной сети на единственном нейроне
выходного слоя генерируется число в диапазоне от 0 до 1, являющееся
реакцией нейронной сети на введённые данные, и отражающее степень
правильности ответа.
Так как результат выдачи нейронной сети является действительным
числом
в диапазоне от
«верно»/»неверно»
0
до
появляется
1,
то
кроме
возможность
бинарных
более
значений
гибкой
оценки
правильности введённого ответа.
Специфичность задачи оценки ответов из предложений на естественном
языке порождает некоторые проблемы.
Наиболее существенной проблемой являются окончания слов. В связи с
тем, что обработка предложений с помощью нейронных сетей даёт большую
свободу в выборе ответа, то один и тот же верный ответ может быть написан
по-разному. В результате сравнения введённых слов с записями в словаре на
этапе
предварительной
обработки,
могут
быть
распознаны
как
отсутствующие в словаре и исключены из ответа из-за различий в
окончаниях. Это, в свою очередь, может привести к неправильной оценке
ответа. Одной из возможностей решения данной проблемы является
использование дополнительных словарей для нормализации слов, например
приведение
всех
глаголов
к
инфинитивам,
а
существительных
к
именительному падежу единственного числа.
Ещё одна проблема это частица «не». В случае если эта частица
отсутствует в словарном файле, то она будет проигнорирована системой при
проверке. Тогда, например ответ на вопрос «Назовите столицу России»
«Москва» и «не Москва» будут расценены нейронной сетью одинаково. В
таком случае одним из возможных решений данной проблемы может быть
введение
дополнительного
модуля,
который
исключает
из
ответа
следующий за частицей «не» глагол или существительное.
Ещё одной проблемой может быть порядок слов. Так как в процессе
обучения система была обучена ответам с определённым порядком слов, то
использование в ответе другого порядка слов может привести к
неправильной оценке ответа. Для решения данной проблемы можно
использовать предварительную алфавитную сортировку слов что позволит
устранить эффект от перемешивания слов.
Вывод реакции нейронной сети происходит в виде действительного
числа в диапазоне от 0 до 1. Для перевода этого результата в общепринятую
четырёхбалльную (5, 4, 3, 2) или двухбалльную (зачёт, незачёт) систему
оценок, вводится дополнительная функцию перевода, которая на основании
вывода нейронной сети и заданной функции перевода будет генерировать
оценку. В случае, когда требуется оценка ответа зачёт/незачёт разумно
использовать пороговую функцию. Для оценки в четырёхбалльной системе
используется кусочно-линейная функция.
Благодаря использованию нейронной сети в системах тестирования
существенно расширяется круг допустимых вопросов, которые раньше могли
быть оценены только преподавателем с затратой времени.
При использовании нейронной сети появляется возможность оценки не
только ответов, полностью совпадающих с обучающей последовательностью,
но и ответов которые существенно отличаются от неё.
Download