B. The Learner Model
In order to recognize individual learners’ needs successfully and take appropriate pedagogical action, a piece of software needs to be able to track what learners do with it while learning a language, i.e., how they behave during usage [18][19]. Such monitoring entails the creation and constant updating of a student model which gathers all the necessary data from the learner, be it the learning path, correctness of answers to questions, time taken to offer a solution, or the overall success in solving a task [2][14][19][20]. Learner models may contain other relevant information about the learner as well, such as their previous level of linguistic knowledge, learning style preference, cognitive style, strategic competence, goals or interests, to name just a few [2][21]. Typically, the information in the model should be enough to differentiate between learners who are using the system on the basis of their knowledge, task performance, overall proficiency, goals or background, and take appropriate action to personalize their learning experience [16][22]. Hence, the main goal of a learner model is to support the process of making assumptions about the learner and to support
pedagogical decision-making concerning, e.g., the feedback to be delivered back to the learner or the choice of appropriate follow-up activities, as defined in the instructional model [23]. The two broadly recognized and used approaches to student modeling are stereotype modeling and feature-based modeling [16].
However, we should be aware that monitoring is not an end in itself [20][23][24]: in addition to carefully deciding what and when to monitor, the tracking process is further complicated by the issue of appropriate interpretation of the gathered data and correctness of inferences made from that data. Erroneous assumptions about the learner’s input, his language knowledge and skills, may cause wrong action by the system, consequently leading to an inefficient learning process and poor language attainment [14].