• No se han encontrado resultados

2.2. Fundamentación legal

2.2.7. Normas Internacionales de Información Financiera NIIF

The main advantage of using a cognitive model to select exercises is that such a model should be able to find exercises at the right level. The information about what the user knows is used to select an exercise that is most likely to maximise the learning outcome at the next time step. It can be done by selecting sentences that are most likely to lie within the zone of proximal development. The ZPD consists here of sentences that the user would not be able to translate without any help, but could translate given system hints and access to the dictionary. The selected sentence cannot be too easy (if everything is known, the user will not learn anything), nor too difficult (if almost every word is unknown, the user will probably be too confused to finish the sentence successfully, and even if they do, it is unlikely they will remember the words).

LT1 LT2 LT3 LT4 LT5

utility

next exercise

Figure 3.5: Example tutor model represented by a decision network

The next sentence is chosen by a decision network. This allows us to express what sentences we prefer, given the user’s knowledge. The structure of the network is presented in Figure 3.5. The utility function depends on the known learning targets and the choice of an exercise. The function needs to assign the lowest utility to sentences with all known learning targets, and the highest utility to sentences in which some, but not too many, learning targets are unknown. The problem of choosing the utility function will be discussed in more detail in chapter 5.

3.4 Summary

This chapter presented the approach to designing an intelligent tutoring system for learning Chinese, giving much focus to how a cognitive student model can be created. The basic building block of the system is an exercise. Translation exercises are useful for the learners and relatively easy to create. The system should push the user to write sentences slightly above their current level, and provide dynamic corrective feedback.

The problem of choosing the optimal level of the exercises is closely related to the student modelling. Our approach is based on probabilistic graphical models: the Bayesian network, which can represent probabilistic knowledge and relationships between random variables, and the decision network, which is an extension of the Bayesian network and can be used to make rational decisions based on uncertain data.

The system aims to teach a set of learning targets, which appear in the translation exercises. The learning targets may be individual words or larger constructions. The domain model represents their relations with the exercises.

The student model is the main contribution of this thesis. It is a Bayesian network that is partially structured after the domain model, as it also contains the learning targets and the exercises. It is, however, more complex, as it also stores probabilistic information about the user level, and

can be updated based on various kinds of evidence: the results of user’s self-assessment and character recognition test, exercise outcomes and word look-ups in the dictionary.

The tutor model uses the information about a user’s vocabulary knowledge in order to select the exercise that is most likely to lie in the student’s zone of proximal development and maximise the learning outcome.

Chapter 4

Implementation

The presented system contains a hierarchically structured intelligent tutoring system with two layers: the client contains a simple dialogue system that presents exercises to the user and provides feedback, while the server performs cognitive modelling and selects exercises. The general design of the system and the way cognitive modelling is done has been presented in the previous chapter. The present chapter describes the structure of the system in more detail, and presents the actual implementation that was used to conduct the experiment presented in the next chapter. The implementation has an English nameChinese in Context, and a Chinese name上下文中 文 (shàng-xià-wén zhōng-wén, “context Chinese” when translated word-by- word, “up-down-language middle-language” when translated character-by- character).

4.1 Overview of the Implementation

u s e r c h a r . r e c . t e s t e x e r c i s e s

client s e r v e r d a t a b a s e

Figure 4.1: The structure of Chinese in Contexttutoring system Figure 4.1 shows the structure of the system. There are three main components: client, server and database. The character test is a supplementary component that works on the server side and interacts with the user before the main client is run. The system was written in Haskell (Peyton Jones et al. 2003), and the SQLite database1 was accessed using SQL (ISO 1992). Since Chinese in Context is a web application, the

client code had to be compiled into JavaScript, in order to be executed by web browsers. Therefore, the client was written in a subset of Haskell that is supported by Fay, a Haskell-to-JavaScript compiler.2 The server uses Scotty, a Haskell web framework.3

The exercises are stored on the client side. However, as the dotted arrow indicates, the database was also based on the exercises: a Ruby4 script extracted dependencies between exercises and learning targets and used this information to create tables in the database and populate them with initial values.

The simple dialogue system that presents interactive exercises to the user is completely contained within the client, and is largely independent from other components – it can be used independently as an application run in a web browser.

The previous chapter provided information about the student modelling and the exercise selection. Those are actions performed by the server. Apart from the last section, this chapter concentrates mostly on the functions of the client. Apart from that, at the end of this chapter we will show how an SQL database provides a natural interface for creating a Bayesian network. However, before we present the implementation of the client, we need to introduce some natural language processing concepts. This will be the topic of the next section.