Skip to main content
QUICK REVIEW

[論文レビュー] Code-DKT: A Code-based Knowledge Tracing Model for Programming Tasks

Yang Shi, Min Chi|arXiv (Cornell University)|Jun 7, 2022
Online Learning and Analytics被引用数 8
ひとこと要約

本稿では、学生の提出物から注目メカニズムを用いて抽出したコード固有の特徴を統合することで、Deep Knowledge Tracing (DKT) を向上させる Code-DKT という知識トレーシングモデルを提案する。コード2vec を用いて抽象構文木を表現し、成績フィードバックを通じて学習経路の重要度を学習することで、5つのプログラミング課題において DKT より AUC を 3.07–4.00% 向上させた。これは、分野特化型のコード特徴がプログラミング教育における KT のパフォーマンスを顕著に向上させることを示している。

ABSTRACT

Knowledge tracing (KT) models are a popular approach for predicting students' future performance at practice problems using their prior attempts. Though many innovations have been made in KT, most models including the state-of-the-art Deep KT (DKT) mainly leverage each student's response either as correct or incorrect, ignoring its content. In this work, we propose Code-based Deep Knowledge Tracing (Code-DKT), a model that uses an attention mechanism to automatically extract and select domain-specific code features to extend DKT. We compared the effectiveness of Code-DKT against Bayesian and Deep Knowledge Tracing (BKT and DKT) on a dataset from a class of 50 students attempting to solve 5 introductory programming assignments. Our results show that Code-DKT consistently outperforms DKT by 3.07-4.00% AUC across the 5 assignments, a comparable improvement to other state-of-the-art domain-general KT models over DKT. Finally, we analyze problem-specific performance through a set of case studies for one assignment to demonstrate when and how code features improve Code-DKT's predictions.

研究の動機と目的

  • 既存の知識トレーシングモデルが学生の回答を単に正誤のみで扱うという限界に対処する。これは、コンテンツやコード構造を無視するものである。
  • 学生の提出物から得られる分野特化型のコード特徴が、プログラミング課題における知識トレーシングのパフォーマンスを向上させること、そしてその方法を検討する。
  • コード表現をディープラーニングベースの知識トレーシングと統合するモデルを開発し、プログラミング概念の学生の習得状況をよりよく捉えることを目的とする。
  • 一般 KT モデルおよび単純なコード特徴拡張と比較して、コード特徴が予測精度を向上させる有効性を実証する。

提案手法

  • 学生のコード提出物を抽象構文木 (AST) として表現し、code2vec モデルを用いて複数のコードパスを抽出する。
  • 学生の現在および過去の提出物における成績に基づき、注目メカニズムを用いて異なるコードパスの重要度を学習する。
  • 学習されたコード特徴表現を Deep Knowledge Tracing (DKT) フレームワークに統合し、時間経過に伴う学生の知識の進行を追跡する。
  • 問題の試行履歴のシーケンスを用いて、DKT および注目モジュールの両方の勾配を逆伝播することで、エンドツーエンドでモデルを学習する。
  • 学生の回答の正誤および提出スコアを監視信号として用い、コードパスの注目重み付けをガイドする。
  • Code-DKT を BKT、DKT、および単純なコード特徴(例:return 文の有無)を統合した DKT の変種と比較する。

実験結果

リサーチクエスチョン

  • RQ1RQ1: 領域一般のモデルと比較して、学生の提出物から抽出したコード特徴は、プログラミング課題における知識トレーシングのパフォーマンスを向上させることができるか?
  • RQ2RQ2: コード特徴はモデルのパフォーマンスにどのように影響するのか? また、なぜ一部のコード特徴はパフォーマンスを向上させるが、他の特徴は向上させないのか?
  • RQ3RQ3: 問題の種類や概念のなじみの程度といった条件下で、コード特徴が予測精度を最も効果的に向上させるのはどのような状況か?

主な発見

  • Code-DKT は、5つのすべてのプログラミング課題において DKT より AUC を 3.07–4.00 パーセンテージポイント向上させ、一貫性があり顕著な向上を示した。
  • この向上幅は、DKT よりも優れた最先端の領域一般モデル(例:SAINT や SAKT)の向上幅と同等であり、モデルアーキテクチャの革新と同等のインパクトを持つコード特徴の有効性を示唆している。
  • 単純なコード特徴(例:return 文の有無)は DKT のパフォーマンスを向上させないため、注目に基づく重み付けなしでは、特徴の単純な統合は不十分であることが示された。
  • 共有された学習概念(例:ループ、条件分岐)を持つ問題において、コード特徴が最も効果的に機能し、繰り返しの練習によって特徴の一般化が可能になる。
  • コード特徴は、初回試行およびその後の試行の両方の予測を向上させ、早期の概念習得の兆候を検出するとともに、正答に近づくまでの進行を捉えるのに役立つ。
  • 事例研究では、モデルがコード構造を用いて正解に近いかどうかを推定し、特に繰り返しの試行においてプログラミング構文の事前知識を検出していることが明らかになった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。