Этот репозиторий содержит код документа ACL 2021 «Генерация вопросов для адаптивного образования».
Код для обучения и тестирования моделей находится в подкаталоге ./src
. Код для репликации сообщаемых результатов и анализа, а также дополнительного анализа (описанного ниже) находится в подкаталоге ./results
. Мы также предоставляем два сценария, с помощью которых можно легко поиграться с моделью отслеживания знаний учащихся LMKT ( play_student_model.py
) и моделью генерации вопросов ( play_qg_model.py
).
Если вы найдете этот репозиторий полезным, укажите:
@InProceedings{acl21srivastava,
title = {Question Generation for Adaptive Education},
author = {Srivastava, Megha and Goodman, Noah},
booktitle = {Association for Computational Linguistics (ACL)},
year = {2021},
}
Исходные файлы необработанных данных предоставлены Duolingo, и доступны по адресу: https://sharedtask.duolingo.com/2018.html. Если вы используете данные Duolingo, обязательно укажите:
@inproceedings{settles-etal-2018-second,
title = "Second Language Acquisition Modeling",
author = "Settles, Burr and
Brust, Chris and
Gustafson, Erin and
Hagiwara, Masato and
Madnani, Nitin",
booktitle = "Proceedings of the Thirteenth Workshop on Innovative Use of {NLP} for Building Educational Applications",
year = "2018",
}
requirements.txt
содержит необходимые зависимости для этого кода, а также мы дополнительно используем библиотеку HuggingFaces Transformers версии 3.4.0
. Чтобы получить доступ ко всем файлам данных, выполните команды cd data; unzip data.zip
. Чтобы получить доступ ко всем моделям, включая те, с которыми можно использовать скрипт play_student_model.py
, запустите mkdir models; cd models
, загрузите файл acl2021_models.zip
(с https://www.dropbox.com/s/chkdhmn54l2ptzf/acl2021_models.zip?dl=0) в каталог models
и запустите unzip acl2021_models.zip
.
После загрузки моделей вы можете использовать модели взаимодействия с обученными студентами для изучающих французский и испанский язык (с английского). Пример команды для модели французского студента:
python play_student_model.py -m models/lmkt_student/french_student_model
Чтобы попробовать разные подсказки (которые представляют собой историю вопросов/ответов учащихся), измените переменную prompts
в скрипте.
Вы также можете взаимодействовать с обученными моделями генерации вопросов для изучающих французский и испанский языки. Пример команды для студентов, изучающих испанский язык:
python play_qg_model.py -g models/question_generation/spanish_qg
Чтобы попробовать разные подсказки (которые представляют собой историю вопросов/ответов учащихся и контроль сложности ), измените переменную prompts
в скрипте.
В эту базу кода мы включаем дальнейший исследовательский анализ, который не был включен в основную статью. Это можно найти по адресу ./results/further_analysis
.
В блокноте lmkt_trends.ipynb
мы исследуем, какие вопросы Duolingo, согласно нашим моделям LM-KT, являются легкими для всех учащихся (например, «нет, спасибо») и сложными для всех учащихся (например, «почему бы тебе не прикоснуться к черепахе?»). или сильно различаются по сложности среди учащихся (например, «С Новым годом!»).
В блокноте new_vocab.ipynb
мы обнаруживаем, что помимо генерации новых вопросов для учащихся наша модель генерации вопросов генерирует новые словарные слова , такие как оператор и обучение , вероятно, из-за слов из того же семейства слов, появляющихся в наборе данных Duolingo.
По любым вопросам обращайтесь по адресу [email protected]!