Генерация тестов.
Оценка и порождение языковых тестов на основе предсказуемости слов в контексте
В статье (Fenogeeva & Kuzmenko, 2016) для генерации дистракторов в заданиях типа multiple choice на лексический выбор авторы используют инструмент word2vec. Работа инструмента word2vec основана на дистрибутивной гипотезе, согласно которой, если слова встречаются в схожих контекстах, они имеют близкие значения. В обученной модели word2vec каждому слову соответствует вектор, причем слова, имеющие… Читать ещё >
Генерация тестов. Оценка и порождение языковых тестов на основе предсказуемости слов в контексте (реферат, курсовая, диплом, контрольная)
Инструмент генерации языковых тестов — многомодульная система. Теперь, когда сгенерированы необходимые языковые списки, рассмотрим процесс генерации тестов на основе имеющихся данных. На рисунке 1 проиллюстрированы этапы работы программы:
Коротко опишем работу каждого из модулей.
1) Модуль проверки текста
a. Проверка текста на длину Модуль проверяет, что входной текст не короче 50 слов и не длиннее 1000 слов.
b. Оценка сложности текста Программа оценивает каждый текст по следующим параметрам:
- · Среднее количество слов в одном предложении текста
- · Среднее число букв в слове в тексте
- · Длина текста в буквах
- · Длина текста в словах
- · Длина текста в предложениях
- · Средняя частота слов текста по корпусу
- · Сколько слов попадают в первые 10% по частотности
- · Сколько слов попадают в первые 5% по частотности
- · Сколько слов попадают в первые 1% по частотности
- 2) Модуль выбора кандидатов на пропуск
На данном этапе выбираются все кандидаты на пропуск. Генерируемые тесты делятся по типу пропуска:
- 1) определенная часть речи
- 2) коллокация
- 3) слово из частотного списка
Каждое слово во входном тексте, которое встречается в списке частей речи, коллокаций или частотном списке, считается кандидатом на пропуск.
3) Модуль проверки на допустимое количество пропусков
На данном этапе проверяется, что количество пропусков не превышает 10% от количества слов в предложении, и что пропуски равномерно распределены по тексту.
4) Модуль проверки возможности однозначно восстановить пропущенное слово
В словаре триграмм ищется частотность триграммы с кандидатом на пропуск во второй позиции, далее ищутся триграммы с теми же словами в первой и третьей позиции, но другим словом во второй позиции и сортируются в порядке убывания частотностей. После этого смотрится разница между частотностью триграммы с кандидатом на пропуск во второй позиции и следующей по частотности триграммой. На основании этого принимается решение о возможности пропустить слово.
5) Генерация упражнений выбранного типа
Для генерации были выбраны следующие типы тестов:
a. Тест открытого типа (open cloze).
b. C-test.
c. Тест на соотнесение их закрытого списка (wordbank).
d. Тест на форму слова (word form).
e. Тест с множественным выбором (multiple choice test).
Подробнее типы генерируемых тестов будут рассмотрены в следующих разделах.
6) Модуль оценки сложности получившегося теста
На данном этапе оценивается сложность восстановления пропущенных слов в контексте.
Сложность автоматически генерируемого теста оценивается по следующим параметрам:
- 1) Возможность однозначно восстановить пропущенные слова (см. пункт 4)
- 2) Средняя частотность пропущенных слов
- 3) Средняя частотность биграмм с пропущенными словами, то есть то, насколько типично для пропущенных слов употребление в данных контекстах (чем выше частотность конструкции с пропущенным словом, тем легче восстановить пропуск)
В следующей части будет дано подробное описание генерируемых типов тестов.
Тест открытого типа (open-cloze тест).
Тест открытого типа (open cloze тест) — это тест с пропуском без вариантов ответа.
Для генерации этого типа тестов на основе загруженного текста используются частеречные списки. Можно генерировать такие тесты для предлогов, местоимений и союзов.
Слова в тексте, которые встречаются в ранее сгенерированном частеречном списке, являются кандидатами на пропуск. С помощью модуля проверки возможности однозначно восстановить пропущенное слово (см. раздел 3.2) отсекаются те кандидаты на пропуск, которые невозможно однозначно восстановить. Пример генерируемых тестов:
Вставьте пропущенное слово:
- (1) На предлоги: Когда человек сознательно или интуитивно выбирает себе (1) ___ жизни какую-то цель, жизненную задачу, он невольно дает себе оценку.
- (2) На местоимения: Когда человек сознательно или интуитивно выбирает себе в жизни какую-то цель, жизненную задачу, (1)___ невольно дает себе оценку.
- (3) На союзы: Она с ужасом смотрит вниз, и ей кажется, (1)____ она умрёт, (2)____ съедет с горы.
C-test.
Один из подвидов теста открытого типа — c-test. Алгоритм генерации этого теста отличается от генерации теста open cloze только тем, что пропускается не все слово целиком, а у пропущенного слова оставляются его первые несколько букв. Возможность генерации теста c-test реализована только для типа пропуска «определенная часть речи». Пример генерируемого теста:
Вставьте пропущенное местоименное прилагательное:
(4) Это были са___ любимые цветы поэта.
Тест на соотнесение из закрытого списка (wordbank).
Тест на соотнесение из закрытого списка отличаются от тестов типа open-cloze только тем, что все пропущенные слова перечислены, студенту требуется выбрать правильный ответ из предложенного списка. Дистракторы отсутствуют. Пример генерируемого теста на предлоги:
Вставьте вместо пропусков один из предлогов: за, в, в, за, в, для.
(5) Напротив дома, (1)___ котором я живу, стоит большой серый дом. Каждое утро (2) ___ этом большом сером доме (3) ___ окне напротив я вижу женщину. Она (4) ___ меня как солнце! Я чувствую, что я люблю ее! Скажу сразу: я люблю ее не (5) ___ красоту, а (6) ___ ее высокий интеллект.
Тест на форму слова.
Тест на форму слова — задание, в котором требуется поставить слово в правильную форму (падеж, время, и т. д.).
Для генерации теста этого типа требуется морфологический анализатор. Вместо кандидата на пропуск в загруженном тексте оставляется его основа. Выбор частей речи для этого задания зависит от языка. Для генерации тестов на окончания в русском языке были выбраны следующие изменяемые части речи: существительное, прилагательное, местоименное прилагательное и глагол. Пример генерируемого теста:
Поставьте прилагательное в правильную форму.
(6) Там (1)больш__ и (2)красив__ парк. Тут (3)нов__ супермаркет. Это завод, а это фабрика. Тут река Псел, а там (4)больш__ и (5)широк__ мост .
Тест с множественным выбором (multiple choice).
Тест с множественным выбором (multiple choice test) — это тест на лексический выбор с пропусками с выбором одного правильного ответа из нескольких предложенных (дистракторов). В таких заданиях возможен только один правильный ответ, то есть выбор ответа должен быть однозначным. Пример генерируемого теста на лексический выбор:
Выберите правильный вариант ответа:
- (7) Кроме дивана в комнате были ещё печь и ширма, закрывающая угол. За ширмой (1) ____ тихо спал.
- (a) кто-то
- (b) кто-нибудь
- © что-то
Отдельной важной задачей является задача генерации дистракторов.
В статье (Fenogeeva & Kuzmenko, 2016) для генерации дистракторов в заданиях типа multiple choice на лексический выбор авторы используют инструмент word2vec. Работа инструмента word2vec основана на дистрибутивной гипотезе, согласно которой, если слова встречаются в схожих контекстах, они имеют близкие значения. В обученной модели word2vec каждому слову соответствует вектор, причем слова, имеющие близкие значения, в векторном представлении имеют близкие координаты векторов.
Для создания дистракторов в тестах по русскому языку мы использовали модель word2vec от RusVectores, обученную на корпусе НКРЯ объемом 250 миллионов слов.
Алгоритм генерации тестов типа multiple choice выглядит следующим образом. Сначала в загруженном тексте с помощью специального модуля выбираются кандидаты на пропуск (см. раздел 3.2.). Далее для каждого кандидата на пропуск в обученной модели word2vec ищется несколько слов, имеющих самые близкие к пропущенному слову вектора. Это — потенциальные кандидаты на неправильные ответы (дистракторы). Далее, с помощью модуля проверки возможности однозначно восстановить пропущенное слово (см. раздел 3.2.) проверяется, встречается ли каждый из дистракторов в том же контексте, что и пропущенное слово. Если встречается, и оба слова (пропущенное и дистрактор) приблизительно одинаково часто употребляются в данном контексте, то мы считаем, что дистрактор нам не подходит, поскольку в заданиях типа multiple choice выбор правильно ответа должен быть однозначным. Если с помощью word2vec не получается найти кандидатов на дистракторы, то потенциальный пропуск перестает быть пропуском.