該儲存庫包含 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]!