2

I have developed the "Pyrates" application which is a serious game to learn programming in Python.

In each level of the game, you have to pick up a key and open a chest. To do this, you need to use the control functions available (walk, jump, etc.). However, they are not sufficient. To complete the level, you must implement an algorithmic notion (loop, conditional, variable, etc.). This notion is not made explicit, it is the game situation that makes it necessary. Here is a screenshot to make it more meaningful:

Application help

I am currently developing an automatic help system (given by the parrot -see below screenshot-). For each level, when a student clicks on the "Help" button, the application should propose one of the five existing helps or no-help ("I can't help you at this point. Keep searching!").

Application help screenshot

The five helps types (Level objective, Control functions, Notion involved, etc.) are ordered (1,2,3,etc.). That means that once a help is given, it is not relevant to give a lower grade help.

Here is the tree that schematize these different aids:

Helps tree

Concerning the data, I will soon have a set with the following observations. For a given student and a given level, each time he clicked on the "help" button during the data collection :

  • Features: cumulative activity of the student before help asking since the beginning of the level
  • Label: type of help chosen by the teacher (1,2,3,4,5 or no help).

My goal is to train a multi-class classifier on this data so that it can predict what help to give when a student clicks the "help" button, based on the accumulation of their activity since the beginning of the level.

My questions is : What type of machine learning algorithm should be used for this type of task?

MatthieuB
  • 21
  • 3
  • Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. – Community Sep 05 '22 at 15:51

0 Answers0