... iteratively refine and test our student model and enhancements. We introduce Thairator, an ITS developed in JESS, which teaches Thai language transcription using our new findings. The student is modeled using Constraint Based Modeling ... like a personal tutor would. Student Modeling is a sub‐branch of User Modeling and here we focus on the domain of Thai language teaching and develop a system to iteratively refine and test our student model and enhancements. ... student modeling module has been produced to teach Thai or any script based language. 1.2 Research Objectives Our research aims to develop an enhanced Constraint Based Student Model for the
AN INTELLIGENT TUTORING SYSTEM FOR THAI WRITING USING CONSTRAINT BASED MODELING TAN CHUAN WEI, JONATHAN (B.Eng.(Hons), NUS) A THESIS SUBMITTED FOR THE DEGREE OF MASTER OF SCIENCE SCHOOL OF COMPUTING NATIONAL UNIVERSITY OF SINGAPORE 2005 ... ACKNOWLEDGEMENTS ... All these people have been a brilliant source of inspiration to me during the challenging course of research. • My dear supervisors: Dr Liou Koujuch (I2R), A/P Chionh Eng Wee (SoC), and Dr Titima Suthiwan (FASS) for their absolutely invaluable guidance and support. • A/P Chee Yam San for his help and suggestions in the early stages of the project. • My lab mates in LELS lab. Liu Yi, Yuan Xiang, Leilei, Zhen Jun, Chaochun, and Yu Kuo who made working in the lab an awesome experience. • My “research assistant” Suanfong for bullet‐proof reading this thesis. • My friends. For being friends and making life bearable. • Family…for where would I be without them. • God for blessing me with each of the above, hearing every prayer, and thus making this thesis possible. I should bold this. ii TABLE OF CONTENTS SUMMARY .................................................................................................................. V LIST OF TABLES.................................................................................................... VII LIST OF FIGURES.................................................................................................. VII CHAPTER 1 INTRODUCTION................................................................................. 1 1.1 1.2 1.3 Intelligent Tutoring Systems and Student Modeling...................................... 1 Research Objectives ....................................................................................... 3 Thesis Structure .............................................................................................. 4 CHAPTER 2 RESEARCH BACKGROUND ............................................................ 5 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 Student Modeling ........................................................................................... 5 Overlay Model ................................................................................................ 5 Bug Libraries .................................................................................................. 6 Machine Learning........................................................................................... 6 Model Tracing ................................................................................................ 8 Constraint Based Modeling .......................................................................... 10 Evaluation of CBM....................................................................................... 13 Work Related to CBM .................................................................................. 16 CHAPTER 3 THE DOMAIN OF THAI WRITING............................................... 18 CHAPTER 4 DESIGN FRAMEWORK................................................................... 22 4.1 4.2 4.3 Student Model (SM) ..................................................................................... 23 Pedagogical Model (PM).............................................................................. 24 Communication Model (CM) ....................................................................... 24 CHAPTER 5 STUDENT MODEL............................................................................ 27 5.1 5.2 5.3 5.4 5.5 Stereotyping.................................................................................................. 27 Constraint Hierarchy..................................................................................... 28 Dynamic Hierarchical Weighted Constraints (DHWC) ............................... 31 De-contextualized Constraint-Based Questions (DCBQ) ............................ 35 Uses of Student Model ................................................................................. 38 CHAPTER 6 IMPLEMENTATION ........................................................................ 41 6.1 6.2 6.3 Knowledge Engineering ............................................................................... 41 Constraints .................................................................................................... 45 Design of Exercises and DCBQ ................................................................... 47 CHAPTER 7 EVALUATION.................................................................................... 49 7.1 7.2 7.3 7.4 7.5 Methodology................................................................................................. 49 Procedure ...................................................................................................... 53 Results .......................................................................................................... 56 Discussion..................................................................................................... 66 Summary....................................................................................................... 67 iii CHAPTER 8 CONCLUSION.................................................................................... 69 8.1 8.2 Overview and Contributions......................................................................... 69 Future work................................................................................................... 70 BIBLIOGRAPHY....................................................................................................... 74 APPENDICES............................................................................................................. 77 Appendix I: Constraints............................................................................................ 77 Appendix II: Detailed Ontology ............................................................................... 78 Appendix III: IPA characters.................................................................................... 80 Appendix IV: Thai alphabet ..................................................................................... 81 Appendix V: Pre-test and Post-test........................................................................... 82 Appendix VI : Feedback Form ................................................................................. 84 Appendix VII : Raw Student Model Variation Data ................................................ 86 Appendix VIII : Charts of Student Model Variation................................................ 96 iv SUMMARY Student Modeling offers great potential for Intelligent Tutoring Systems (ITS) as it allows the system to understand the peculiarities of each individual student, much like a personal tutor would. Student Modeling is a sub‐branch of User Modeling and here we focus on the domain of Thai language teaching and develop a system to iteratively refine and test our student model and enhancements. We introduce Thairator, an ITS developed in JESS, which teaches Thai language transcription using our new findings. The student is modeled using Constraint Based Modeling (CBM), with several novel enhancements. While the research focus is student modeling, this challenging domain is chosen for implementation to display the real world use of the proposed techniques. First the domain is modeled in the form of an ontology with the help of a domain expert. Then, the constraints are extracted and coded into the domain knowledge of the system. One of the weaknesses of the CBM technique is the inability to describe what the student actually knows. Using our enhancements, we show the ability of the system both to differentiate accidental conformance to constraints and more accurately model the student’s strengths and weaknesses. The CBM technique is enhanced with De‐contextualized Constraint Based Questioning (DCBQ) and Dynamic Hierarchical Weighted Constraints (DHWC). The former is used to identify student guesswork by extracting the relevant concepts of the question that the student gets correct and posing a question that tests his higher‐ level understanding of these concepts. The latter is a structured hierarchy of weighted v constraints which represent important concepts in the domain. These are adjusted throughout the use of the system to reflect the student’s competency in the various concepts. An empirical study is performed to evaluate the system. The subjects were put through a pretest and posttest and the system log files studied to analyze the reliability of the Student Model and benefits that the subjects gained from the system. Further work will address issues regarding granularity of the student model and how to further enhance it, further uses of the model, and how it can be applied to other areas of use besides e‐learning and language teaching. In addition, machine learning techniques will be explored to see how the construction of the ontology can be made more automated. vi LIST OF TABLES Table 1: Levels of feedback.......................................................................................... 40 Table 2: Detailed constraint violation in pre-tests and post-tests................................. 58 Table 3: User feedback on general impression of Thairator......................................... 64 Table 4: User feedback on pedagogical flow ............................................................... 65 Table 5: User feedback on DCBQs .............................................................................. 65 LIST OF FIGURES Figure 1: 4-Component modular view of an ITS ........................................................... 1 Figure 2: System Architecture Diagram ....................................................................... 22 Figure 3: Basic Interface Layout .................................................................................. 25 Figure 4: Stereotyping dialog ....................................................................................... 28 Figure 5: Constraint Hierarchy ..................................................................................... 29 Figure 6: Feedback when student answer is wrong ...................................................... 35 Figure 7: Flowchart for DCBQ..................................................................................... 36 Figure 8: High-level transcription ontology ................................................................. 42 Figure 9: Part of detailed ontology: Clusters................................................................ 44 Figure 10: General structure of a rule [13] ................................................................... 45 Figure 11: Code for tone constraint for high consonants and long vowels .................. 46 Figure 12: Snapshot of the Thairator log...................................................................... 52 Figure 13: Flow of user study....................................................................................... 54 Figure 14: Learning Gains for each user ...................................................................... 56 Figure 15: Constraint violation in pretests and posttests.............................................. 57 Figure 16: Portion of chart comparing AT's SM at start and end of using Thairator... 60 Figure 17: Portion of chart comparing GB's SM at start and end of using Thairator... 62 Figure 18: Portion of chart comparing QB's SM at start and end of using Thairator... 63 Figure 19: Concept Schematic Graph........................................................................... 71 vii CHAPTER 1 INTRODUCTION 1.1 Intelligent Tutoring Systems and Student Modeling Intelligent tutoring systems are judged by three factors: their knowledge of the domain to solve problems and draw inferences, their ability to deduce the student’s ability in the domain, and the ability to implement pedagogical strategies to improve student performance [1]. The first factor requires a method of representing the knowledge in a domain (Expert Model), the second requires a student model while the third is closely tied to the Pedagogical Model. Here we use a modular view similar to Woolf’s [2] four component framework shown in Figure 1. Other research [3] seperates the expert model from the domain knowledge but we have seen no compelling reason to do so as these two components can be better represented as one module. The communication model takes care of the user interface and Human‐Computer modality issues. Domain Knowledge (Expert Model) Student Model Pedagogical Model Communication Model Student Figure 1: 4-Component modular view of an ITS 1 Both the Domain Knowledge and Student Model are represented by CBM. The Domain Knowledge is modeled as constraints which denote the boundaries of correct behavior within the domain, while the Student Model in its most basic form is a collection of violated constraints. Later, we go into more detail regarding these two modules and describe our enhancements to the Student Model that allow a better representation of the student’s ability. One of the main weakness of CBM is that it does not accurately reflect what the student knows. Ohlsson [4] states that the relevant and satisfied constraints are only candidates for understood concepts in the student’s knowledge as they could have been satisfied accidentally. Here we enhance the CBM by using Dynamic Hierarchical Weighted Constraints (DHWC): a heuristic method of weighting constraints and De‐contextualized Constraint‐Based Questions (DCBQ). The former allows the constraints to accurately reflect the strengths and weaknesses of the student, while the latter helps us differentiate between students who satisfy the constraints accidentally from those who have a methodology behind their actions. Such an enhancement is significant as the pedagogical actions for these two groups of people are very different. Due to the interdependent nature of the modules in an ITS, it is difficult to research the individual components in isolation. As such, Thairator, a complete ITS has been implemented. Our chosen domain is Thai language transcription. In linguistics, transcription is the process of matching the sounds of human speech as represented by International Phonetic Alphabet (IPA) [5] (eg. khâaw; see Appendix III: IPA characters) to written symbols such as Thai script (eg. ขาว; see Appendix IV: Thai 2 alphabet). This complex domain has numerous rules and exceptions (discussed in CHAPTER 3) and to the best of our knowledge, no ITS with a decent student modeling module has been produced to teach Thai or any script‐based language. 1.2 Research Objectives Our research aims to develop an enhanced Constraint‐Based Student Model for the teaching of Thai writing transcription. The work is based on Ohlsson’s [4] original description of CBM as a viable alternative technique for student modeling. Enhancements are made to the original technique to improve its performance and address some of the main weaknesses such as its inability to understand what the student knows and the need to store correct answers. We aim to study the uses of CBM and implement it in the domain of computer‐ aided language learning. For the specific domain of Thai writing transcription, we seek to develop an ontology to represent the hierarchy and relationships between individual concepts. This is tedious work but is invaluable in helping to gain an overview of the domain and model necessary constraints from it. Within the domain of teaching the transcription of languages, the higher levels of this ontology (see section 6.1) would be reusable. We adopt an iterative approach in the design and implementation of our ITS, called Thairator, which is a system that guides students in the transcription of Thai script into phonetics. Personalized exercise selection and feedback are provided based on the Student Model maintained. A user study is then carried out to analyze the tangible benefits of this novel system. 3 1.3 Thesis Structure This thesis is organized into eight chapters in the following way: Chapter 2, Research Background, introduces the background research on student modeling, in particular reviews the existing work on CBM. This chapter also studies the strengths and weaknesses of this technique and other related work. Chapter 3, Thai Writing Domain, discusses the suitability and limitations of the Thai transcription domain for implementation. Chapter 4, Design Framework, presents the design of the four components of our ITS. They are the Student Model (SM), Pedagogical Model (PM), Domain Knowledge (DK), and Communication Model (CM). Chapter 5, Student Model, talks about the design of the Student Model used in Thairator. It also details our enhancements and contributions and discusses how the Student Model is utilized to customize treatment for each student. Chapter 6, Implementation, begins with a description of the various software tools used in creating the ITS. The methology used to extract the constraints and implement them in JESS are covered in detail. The considerations in designing the exercise content and feedback are also covered in this chapter. Chapter 7, Evaluation, describes the evaluation methodology and presents results of the user study performed with Thairator. Chapter 8, Conclusion, summarizes the contributions and achievements of our thesis and suggests some possible future work to extend our research. 4 CHAPTER 2 RESEARCH BACKGROUND 2.1 Student Modeling A Student Model is a qualitative representation that accounts for student behavior in terms of existing background knowledge about a domain and about students learning the domain. [6] The point of student modeling is to be able to tailor instruction for each student and provide information for the pedagogical model. Many techniques have been developed thus far in the field of Student Modeling. These include the overlay model, bug libraries, machine learning, model tracing, and constraint based modeling. We focus especially on the last technique as it is the foundation for our research. 2.2 Overlay Model The overlay model [7] is the most common student model in use. In essence, it models the studentʹs knowledge as a subset of that of an expert. This is more applicable when the domain content is representable as a prerequisite hierarchy. The overlay model then indicates how far the student has progressed in acquiring the domain knowledge with respect to that of the expert. This technique is usually effective at representing what the student knows. However, if the representation view of the expert is different from that of the student then the overlay model may not be useful. Hence, it is very difficult to infer student misconceptions from an overlay model. The problem of addressing misconceptions is addressed by the following Student Modeling techniques. 5 2.3 Bug Libraries Also known as the buggy model, this technique attempts to represent the false knowledge of the student in terms of a set of bugs or misconceptions. To achieve this, the students’ errors must be studied and a library of bugs built. By mapping the student’s actions to bugs in the library, it is possible to determine the errors in the studentʹs understanding. An inference engine is used to match error explanations to student errors. If the bug is not found in the library, the student error is matched with some combination of existing bugs. This may lead to misdiagnosis of the student’s misconceptions. A modified version of this technique is to construct bugs from a library of bug parts. This is used in the ACM system [8] where each diagnosed bug is created from a library of smaller bug parts. A small number of bug parts can combine in various ways to represent a large number of student errors. Bug libraries are often used to augment the overlay model so that diagnosis of faulty knowledge is addressed. However, two things need to be noted: (1) it is often tedious and sometimes not possible to model a complete bug library, and (2) research has revealed that the effort in constructing bug libraries may not be transferable between different student populations [9]. 2.4 Machine Learning Machine learning is the induction of new knowledge or rearrangement of existing knowledge in an attempt to improve performance of a task. The machine learning method of Student Modeling saves on the empirical analysis required by bug libraries but is computationally very expensive as it searches the problem space for a path to 6 an incorrect student answer. Most machine learning methods used can be broadly divided into supervised inductive learning, unsupervised inductive learning and reinforcement learning. These are discussed below. The implementations of these methods commonly include Bayesian networks, Neural networks, Decision trees, and Support Vector Machines [6]. The machine learning algorithms and techniques we have identified are only a small sampling of the vast number available but they are representative of the field and sufficient for the purposes of our research. 2.4.1 Supervised Inductive Learning Also known as empirical learning or learning from examples, supervised inductive learning is reliant on existing data (or objects) to produce general hypotheses. These hypotheses have varying degrees of certainty. In supervised learning, the objects generalized from are labeled – that is, they are identified manually by a human supervisor and fed into the system. In the domain of student modeling, supervised inductive learning systems are used to induce student models from existing behaviors. However, the quality of the induced student model varies considerably with the degree of noise from the input behaviors [6]. 2.4.2 Unsupervised Inductive Learning In unsupervised learning, the objects used for learning are unlabelled, making it a harder problem than supervised learning. The main approach to generalizing unlabeled instances is conceptual clustering [10], which involves a search for ‘regularities’ in the objects presented. Although it is a technique commonly used on 7 ill‐structured domains, in general, unsupervised inductive learning is characterized by difficulties in formulating goals and success criteria [6]. 2.4.3 Reinforcement Learning This technique consists of two components: the environment and the actions. The environment is beyond the direct control of the software agent while the actions are selectable by him. The agent examines the current state and selects an action to perform. The environment then observes the effects of this action and based on the new resulting state, the agent is given a reward based on previous estimates of this state’s value. Basically, reinforcement learning (RL) rewards the agent for good performance and the agent’s goal is to maximize the long‐term rewards. This technique has been shown to be flexible in handling noisy data, and does not need expert domain knowledge. However, it produces more variance during learning due to the next state being used as the target value rather than the final state. The result of this is that RL takes a longer time to converge to optimum values as compared to other student modeling techniques [11]. 2.5 Model Tracing Model Tracing (MT) [12], developed by John Anderson at Carnegie Mellon University, is another technique of Student Modeling. It models the cognitive processes of the student and is used successfully in several tutoring systems such as the mathematics tutor produced by Carnegie Learning Inc. MT is also a popular technique in cognitive tutors like the LISP tutor which is also based on the ACT‐R theory of cognition [12]. In essence, the student is monitored 8 while problem‐solving and each step made is modeled by identifying a production rule in the domain knowledge that could have generated it. The model tracing algorithm requires three inputs [13]: 1. The state of working memory: represented by a group of working memory elements (WMEs) 2. A set of production rules; each representing a cognitive step performed by the student. 3. The student input. MT uses these inputs to attempt to find a sequence of production rules that generates the given student input. If such a sequence is found, the resulting trace of production rules is used to generate feedback messages. In MT, there are two long‐term memory stores: declarative and procedural. The student acquires declarative knowledge first and this is later turned into procedural knowledge which is goal‐oriented and hence more efficient to use. The procedural knowledge is represented as production rules around which instruction is organized. It is useful to compare MT with CBM as these are two popular yet fundamentally different Student Modeling techniques. This would shed some light on the tradeoffs between the rigouous and detailed MT as compared to the more flexible yet less detailed CBM. A major disadvantage of the MT technique is that it requires much empirical study to model the domain completely as production rules. As much as 200 hours of development time is required to produce one hour of instruction [13]. In addition, such systems are shown to be domain specific, as without modification, they do not 9 work very well once the user group is changed. This is because students with different backgrounds may not use the same rules to solve the same problem. It is also difficult to implement for more complex and open‐ended domains such as teaching English grammar and design domains. As such, it is more suited for well‐ defined domains such as arithmetic and geometry. Cognitive modeling systems, such as MT, also fare poorly at handling exploratory behavior, and wildly incorrect behavior. Furthermore, it is intolerant of missing rules in the domain knowledge as any such omission will render the system unable to check if the student is correct for any path that uses that missing rule. Cognitive tutors generally also provide immediate feedback from each step the student takes and this limits the possibility of the student generating a complete wrong answer [14]. The Cognitive Tutor Authoring Tools (CTAT) project [15] at Carnegie Mellon is a set of tools designed to help in the development of ITS using the Model Tracing technique. The tools include a GUI builder, a behaviour recorder, a production rule editor, and a cognitive model visualizer. 2.6 Constraint Based Modeling First suggested by Ohlsson [4] in the mid 1990ʹs as a technique to represent the domain knowledge and student model for an ITS, this innovative student modeling technique has the advantages of adaptability, recognition of unanticipated but correct answers, and facilitation of exploratory behavior in students. Ohlsson suggests that diagnostic information does not reside in the sequence of actions made by the student but in the situation created after each action. In other 10 words, there exists no correct solution path which traverses a bad problem state. An analogy from the real world example of driving would be teaching someone to respect the direction along a one‐way road. The direction of the one‐way road is the constraint. It does not matter how the driver ended up in the wrong direction, once he is in the wrong direction on a one‐way road, he has violated the constraint and corrective measures need to be taken. The recent use of this powerful technique has been mainly in teaching technical content such as SQL [16], data structures in C [17], arithmetic [18], database normalization (NORMIT) [19], database design (KERMIT) [20], and simple English punctuation (CAPIT) [21]. CBM focuses on faulty knowledge and the resulting problem states rather than the studentʹs actions. The student is modeled in terms of equivalence classes of solutions rather than specific solutions or strategies. The members of a particular equivalence class are the learner states that require the same instructional response. The logic is that no correct solution can be arrived at by traversing a problem state that violates a fundamental principle of the domain. Because the space of false knowledge is much larger than the space of correct knowledge, Ohlsson suggests the use of an abstraction mechanism realized in the form of state constraints. A state constraint is an ordered pair (Cr, Cs), where Cr is the relevance condition and Cs is the satisfaction condition. Cr is used to identify the equivalence class, or the class of problem states in which Cr is relevant. Cs identifies the class of relevant states in which Cs is satisfied. Each constraint specifies the property of the domain that is shared by all correct paths. In other words, if Cr is 11 satisfied in a problem state, in order for that problem state to be a correct one, it must also satisfy Cs. Constraints define sets of equivalent problem states. A violated constraint signals an error, which translates to incomplete and incorrect student knowledge. All problem solving steps are not equally significant for diagnostic purposes. Some steps spring directly from the student’s conceptual understanding of the problem and hence contain more diagnostic information than others. This implies that we can achieve abstraction by selectively focusing on certain important steps. To illustrate, let us look at a simple example of fractional addition taken from [4]. Consider a child adding two simple fractions. 1/4 + 2/3 = Suppose the student proceeds to draw a fraction bar on the right hand side of the equation. 1/4 + 2/3 = / While this is a problem solving step, its significance is minimal and has little diagnostic value. However, suppose the student’s next step is to fill in the numerator on the right hand side. 1/4 + 2/3 = 3/ Now we immediately can guess what the student is doing. He is adding the two numerators together and there is a high possibility that he will also add the 12 denominators together also. Resulting in the erronous answer of 3/7. The relevance constraint in this case will be: (n1/d1 + n2/d2 = n/d) and (n = n1 + n2) That is, this constraint is only relevant when the student is adding fractions (eg. for fractional multiplication it is irrelevant) and when the student adds the two numerators together. The satisfaction constraint that must be true is d1 = d2 meaning that the two denominators must be the same. This example shows that the diagnostic information does not reside in the sequence of actions executed by the student but rather in the problem state he creates. 2.7 Evaluation of CBM We take a closer look at CBM as it is the focus of our research. In this section, we evaluate the strengths and weaknesses of CBM and point out which specific weaknesses we attempt to address. 2.7.1 Strengths of CBM First, it is robust when dealing with creative students who come up with correct solutions that the implementer did not think of. This is related to the fact that it is independent of the studentʹs problem solving strategy, and hence able to monitor unrestricted exploration. It also handles radical strategy variability [4] well. Radical strategy variability is when a student switches problem solving strategy half‐way 13 through a question. In general, this is hard for student modeling systems to detect or understand. CBM does not try to understand exactly what the student is trying to do and so handles such situations very well. This flexibility makes it suited to model open‐ended domains such as grammar teaching and database design where there are many alternative solutions. There is also no need for a separate expert model, bug library nor runnable domain module. As such, time consuming empirical studies to tune parameters are also not necessary. In general, modeling the constraint boundaries of a domain is a much easier task than modeling all the possible production rules (e.g. as in model tracing). Furthermore, the system is not crippled by incomplete domain constraint knowledge. For example, the effect of a missing constraint is localised and not catastrophic as the system is merely prevented from detecting a particular type of error. In addition, it is computationally inexpensive ‐ simple pattern matching is used to determine which constraints are relevant and have been violated. A further advantage is that it is neutral with respect to pedagogy, which is left to the separate pedagogical component to implement. This is useful as the neutrality allows the ITS implementer to utilize any combination of pedagogical methods that he deems most suitable for his target students. 2.7.2 Weaknesses of CBM Despite its many advantages, there are some disadvantages in CBM. Firstly, for some domains it might be difficult or impossible to identify properties of problem states which are informative with respect to the studentʹs understanding. This might 14 result in a set of constraints that provide too loose a net and allow incorrect solutions to slip through. We address this by first building an ontology of the domain and extracting the constraints from there. Secondly, present implementations of CBM generally require ideal answers to be stored in the system. These tagged ideal solutions are then compared with the studentʹs answers. In our implementation, ideal solutions do not need to be stored as the constraints and their bindings are sufficient to guide the student to the complete solution. To achieve this, our constraints are mainly encoded purely as pattern matches [22]. However, a difference is that our constraints need not model the domain completely. In our case, only for the exceptional cases where the answer is ambiguous due to gaps in the domain knowledge do ideal answers need to be stored. This is elaborated further in CHAPTER 3 where an example of such ambiguious situations is discussed. Thirdly, the student behavior may be accidental. CBM focuses on problem states rather than on action sequences. As such, goal hierarchies, plans, weak methods etc. are ignored and what the student knows is not described. Furthermore, there is no differentiation between factual errors, errors in the underlying goals, and errors in translating the goals into actions. In our research, we attempt to address these three weaknesses. De‐contextualized Constraint‐Based Questions (DCBQ) described in chapter 4 are used to identify student guesswork and accidental behavior. In addition, we also have developed a system of Dynamic Hierarchical Weighted Constraints (DHWC) that provides a novel 15 and structured heuristic method for analysing the student’s strengths and weaknesses. 2.8 Work Related to CBM Regarding research pertaining directly to CBM, although there has not been much change in the core idea since it was introduced, several implementations, extensions and successful evaluations have been done. We discuss the main work below. Martin and Mitrovic show that given a complete domain model, and using an alternative representation of CBM, it is possible to rebuild the solution from the relevant constraints and their bindings [22]. Their novel system generates corrected versions of student answers for use as feedback. However, requiring a complete domain model requires tedious work to ensure that all possible constraints are included. This negates the benefit that CBM need not be fully complete and correct to function. Furthermore, there is no guarantee that the generated solution will converge even though experiments using SQL‐tutor have been reasonably successful. Martin and Mitrovic also suggest a method of automatic problem set generation [23] that produces problems that better represent combinations of constraints with minimal human effort. Implementing such problem generation in real‐time would also necessitate a natural language processing engine. Once again, the constraint set needs to be complete or the generated questions may contain errors. Zhou and Evens describe their CIRCSIM conversational tutor for teaching medical students. It uses multiple student models concurrently to support tutoring decisions [24]. Their student model includes: a performance model, a student reply history, a 16 student solution record (using CBM), and a tutoring history using a hierarchical planning mechanism. Martin and Mitrovic have also developed WETA: a web‐based authoring environment to aid rapid development of CBM systems [25]. This, unfortunately, is not available for public testing unlike CTAT described earlier in section 2.5. Mayo and Mitrovic experiment using a probabilistic approach to determine a problem of appropriate difficulty to next present to the student [26]. This deals with both the Student Model and Pedagogical Model. They state that constraints are usually not independent and require heuristics both for problem selection and to determine the amount of feedback to give. Suraweera discusses the automatic extraction of contraints from a domain ontology [27] which facilitates more rapid development of ITS. This yet to be completed research also looks into machine learning to acquire both procedural and declarative knowledge. None of the above research addresses the issue of differentiating between students who satisfy constraints accidentally and those who know what they are doing. This deficiency is addressed in the following chapter using a novel combination of heuristics and a weighted constraint system that promises a more accurate representation of the student. 17 CHAPTER 3 THE DOMAIN OF THAI WRITING ʺHow best to teach a language?ʺ is a classic question in applied linguistics. In this case we have chosen the domain of Thai transcription from the broad scope of Intelligent Computer‐aided Language Learning (ICALL) to show the usefulness and applicability of our student model. This domain has been specially selected for its difficulty, ambiguity, and presence of a real world problem: that of the shortage of experienced teachers to help students make the transition from phonetics to Thai script. The difficulty and ambiguity can be seen in the complexity of the various transcription rules that need to be applied in different contexts. This is explained further below. This is not a trivial domain since the mapping from phonetic alphabets to Thai script does not consist merely of simple 1‐to‐1 relationships. There are numerous overlapping rules and exceptions, and the mapping changes depending on the context (position of character and its surrounding characters) of the consonant or vowel. In some situations, the rules are ambiguous and the pronounciation to choose can only be learnt by practice. It is also in this unique area that we use the power of CBM to tolerate multiple correct answers; albeit in a different way. Let us take a closer look at the ambiguity in this domain. The Thai phonetics nâa can be mapped to two possible Thai scripts. หนา which means face or page or season, and นา which is a verb prefix. Likewise, transcribing in the other direction, the script โหม can be mapped to either hǒom or mǒo using our domain knowledge. 18 Continuing from the second example of โหม, the CBM engine will accept both answers but obviously only one is correct depending on the context. The second round of pattern matching with the ideal answer (hǒom in this case) will disambiguate the situation. Note that ideal answers are only necessary in ambiguous situations such as that described above. In all other situations where the rules suffice, the bindings and constraints are enough and no ideal answer needs to be stored. The usefulness of this method is that it allows the system to identify when the user has applied all the rules correctly but obtained the wrong answer due to his ignorance of contextual clues. Hence, more specific feedback can be given to encourage and guide the student. A further research contribution here is the development of both a high‐level (Figure 8 in section 6.1) and detailed ontology (Appendix II: Detailed Ontology) that aids in the development of such systems for language transcription. Detailed ontologies of the domain of language transcription are not readily available so we had to create one ourselves. While the lower leaf nodes of the ontology are specific to the domain, the higher level structure is applicable to the understanding of any language with a similar linguistical structure. Thai script, in its original form, has no word nor sentence breaks. Neither does it have any capitalization nor punctuation. This makes acquiring the syntax and nuances especially challenging. An example Thai phrase is shown below. Translated it says “I like to study Thai”. 19 ผมชอบเรียนภาษาไทย As can been seen, even word segmentation is a difficult problem in Thai that causes many new learners to be confused. But in Thairator, word breaks are added to simplify things for the student as the skill of noticing word breaks can be picked up incidentally once he has picked up sufficient vocabulary. Unlike hanyupinyin for mandarin, there is no standard method for transcribing Thai script. We use the system from J Marvin Brownʹs AUA textbooks. While it may be slightly less intuitive to learn than other methods, it is widely used by universities, linguists and serious students of Thai language as it is more technically accurate and flexible. The system is designed to give the user unlimited guided practice in the skill of Thai transcription from IPA to Thai script. It is assumed that the student has been taught the basic reading and writing rules before using the system. The target student is assumed to have prior exposure to J Marvin Brown’s method of transcribing Thai, command a basic Thai vocabulary and know elementary Thai grammatical rules. This level of proficiency is easily attained after a one semester (12 week) course on conversational Thai. Thairator will help the student make the arduous transition from being reliant on phonetic Thai to being able to comprehend Thai script. This will open up endless opportunities for the student to practise his reading and writing skills. 20 The domain is deterministic just like CAPIT [21] as there is only one correct way to transcribe a piece of Thai script. This makes it an excellent starting point to extend to related stochastic domains such as Thai grammar, composition writing, and dialogue. As can be seen, this is not an easy domain to master. It normally requires at least half a year of consistent practice before any level of proficiency is attained. In demonstrating our student modeling technique, we show that our technique complements and improves on the efficiency and efficacy of existing classroom methods to teach Thai writing and also on the existing CBM techniques presently in use. 21 CHAPTER 4 DESIGN FRAMEWORK Student Modeler (maintains system of weights) Constraints database Student Model Problem Sets & Solutions Pedagogical Model Domain Knowledge Communication Model Student Figure 2: System Architecture Diagram Figure 2 shows a more detailed design architecture based on the modular ITS structure mentioned in CHAPTER 1. For the purposes of design and conceptualization, it is easier to think of ITS design as having four main interdependent components: the Student Model (SM), Pedagogical Model (PM), Domain Knowledge (DK), and Communication Model (CM) [3]. Thairator is a complete ITS involving all the components but most of our contributions lie in the SM and PM and hence we focus on these areas. In CBM, the domain knowledge and related expert model are embedded in the way the constraints are defined. It is also important to bear in mind that the boundaries 22 between these components may not always be clear and their main role is to identify the major functional elements of the ITS. 4.1 Student Model (SM) This is a crucial component in tailoring instruction for each user to maximize his learning potential and in emulating 1‐to‐1 human coaching. Here we do not aim to model exact representations as that would be an intractable task. However, we attempt to model a generalized version of reality using constraints. The SM is used both in the short term and long term. In the short term SM, student solutions are matched to the constraints and ideal solutions and all violated constraints and their respective weights are stored. In the long term, the SM provides information for the PM, stores customizing instructions for individual learners such as learner history (order and tries of questions attempted, errors made), constraint history (violation, relevance, and satisfaction), concepts the user is familiar with, and lastly optimal student competency (OSC) which is discussed in section 5.5.1. The attributes selected above focus on two main aspects of the student: acquistion (how fast) and retention (recall). They reflect the learning condition of the student and are used by the PM to assist in selecting appropriate problems, teaching strategy and confirming diagnoses. Although, the word ʺuserʺ is often used synonymously with ʺstudentʺ, it is important to highlight that the difference between User Modeling and Student Modeling. Student Modeling is a sub‐domain of User Modeling and more significantly, Student Modeling also takes into account learning theories. 23 The SM, being the heart of this research, is given more detailed treatment in CHAPTER 5. 4.2 Pedagogical Model (PM) This component models the teaching process. It includes the general curriculum paths and individual exercises, selects the next problem for the student, and also chooses the appropriate response when there is an error, a request for help, or a need to display feedback. In our implementation of Thairator, our pedagogical strategy is to focus on the concepts that the student is weak in. Such concepts are identified by their higher constraint weight. In addition to focusing on weaker concepts, the PM also selects the next exercise based how suitable its difficulty level is (see section 5.5.1). With regards to the PM, there are many possible designs, various psychological and pedagogical theories also come into play such as Schankʹs theory of expectation failure, and Socratic learning by self‐explanation. As far as possible, this component should be designed to provide the options that a human teacher can offer and this is an avenue for further research. 4.3 Communication Model (CM) The Thairator ITS interface is designed to be both intuitive and self‐explanatory. The main interface layout is shown in the figure below. 24 Figure 3: Basic Interface Layout As can be seen, the screen is split into four sections. The Problem panel presents the question to the user in the form of Thai script for him to transcribe. The Answer panel is for the user to input his answer. The Tutor panel is for presenting feedback to the user. The Scaffolding panel (not fully implemented) is designed to help the student as he answers the questions. It reduces his cognitive load and displays relevant information that the student has not fully committed to memory. This panel is optional for the student and should only be used in the earlier stages of practice with Thairator. 25 Input in English is via the keyboard with special onscreen “keyboard” to help input the IPA symbols and tone markers needed (ŋ, ǝ, ɛ, ʉ, ɔ, ˆ, ˇ, ˊ, ˋ). These special symbols are supported by some truetype fonts (eg. Lucida Sans Unicode) and keyboard shortcuts to input them rapidly will be provided for regular users. Input in Thai is supported using the popular kedmanee keyboard layout [28]. However, this requires some familiarity with the mapping and/or using a Thai keyboard overlay. The student enters his answer in phonetics or Thai script depending on the question. When he is done, he clicks the “Analyze Answer” button which displays the system feedback on his answer in the Tutor panel. He can then make corrections and re‐analyze his answer till he is satisfied. To aid reflection, a log file of the student activity is generated for each session. At the end of each session with Thairator, the user can print out the session log and add personal annotations. 26 CHAPTER 5 STUDENT MODEL In this section, we detail the structure and design of the student model and the enhancements we have made to it. The Student Model should accurately reflect the studentʹs understanding of the domain. However, the question is at what granularity would a good balance be struck between effort of construction and good effective representation. We decided on the granularity of low‐level concepts where each concept is modeled as a constraint and a dynamic weight is attached to it. 5.1 Stereotyping Stereotyping of students reflects how a teacher interacts with each individual student. By constructing a very simple and approximate cognitive model, human teachers pigeonhole their students based on past experience [29]. We use a similar technique to prime our constraint weights and set certain variables to values more suited to each student category. This technique operates independently of CBM and improves the ability of the ITS to model the student accurately. Unlike some systems which use complex stereotype hierarchies, Thairator uses three basic categories (Beginner, Intermediate, and Advanced; Figure 4) to chose a template to prime the constraint weights to . 27 Figure 4: Stereotyping dialog A more complex hierarchy is not necessary as the weights are thereafter updated constantly to present an accurate reflection of the student. The user chooses one of the three categories and the rationale is that if the user choses the choice that best describes him, the dynamic weights will converge to represent his understanding of the domain much faster. On the other hand, if the student chooses the advanced category when beginner more accurately describes him, the weights will take longer to converge. Implicit modeling is used where minimal questions are asked of the user. Instead, user performance is analyzed and inferences made to closely model the user as his understanding changes over time. Some other attributes besides the constraint weights are also affected by the stereotyping templates. These include the Optimum Student Competency (OSC, described in section 5.5.1), and the percentage increment per constraint violation. 5.2 Constraint Hierarchy Unlike flat constraints used in other systems, in Thairator, constraints are separated into three levels (basic, advanced, tones + special). These constraints represent concepts that are deemed pedagogically important for the student to master. 28 Level 1 basic Level 2 advanced Increasing complexity Level 3 tone rules & exceptions Figure 5: Constraint Hierarchy Level 1 constraints consist of the basic relationships between the glyphs and phonetical symbols. They can operate independently of the other constraints. Level 2 constraints mainly cover higher level concepts such as alphabet clustering, invisible vowels, and pseudo clusters. Level 3 constraints comprise mainly of tone rules which govern how the word is assigned one out of the five possible tones. As a rule, level 1 concepts are more general than level 2 and 3 concepts which are usually more complex and sometimes deal with specific exceptions. Thairator has 38 constraints in all: seven level 1, thirteen level 2, and eighteen level 3 constraints. In the beginning, many possible constraints were identified from studying the ontology. These were then narrowed down to the constraints deemed to have the greatest pedagogical significance. The remainder was further studied to see if any of them could be combined to reduce the number of constraints to be modeled. All this was done in collaboration with our Thai language teaching domain expert. In the later stages of implementation, it was discovered that some combined constraints needed to be split up as each required distinct pedagogical actions for the student. As such, we have learnt that combining multiple concepts into a single constraint should be done prudently. A complete listing of the constraints developed is included in Appendix I: Constraints. 29 We shall now illustrate the constraint hierarchy with an example: Assume the student is given a problem แบก which he must convert into phonetics. First, the problem is parsed into its elements before being analyzed, both in isolation and in context, for constraint violation. The presence of the first element แ and the lack of the vowel shortener ็ over the บ character is a level 1 relevance constraint (C1.6_longVowel) which denotes that a long vowel has been detected. The corresponding satisfaction constraint is that the vowel in the answer must be “”. The second element is บ and being in the initial consonant position, satisfies another level 1 relevance constraint (C1.1_iconsMid) which denotes that an initial mid consonant is detected. The satisfaction constraint is that the initial consonant in the answer must be “b”. The third element is ก and being in the final consonant position, satisfies yet another level 1 relevance constraint (C1.5_econsStop) which denotes that a final consonant belonging to the stop category has been detected. The satisfaction constraint is that the final consonant in the answer must be “k”. As such, all the relevant level 1 constraints are satisfied in the answer bk Next, the system runs through the level 2 constraints and discovers that none are relevant for this particular question. 30 Finally, the system runs through the level 3 constraints and only one relevance constraint is satisfied (C3.2_midcons2c), denoting that a combination of mid consonant (บ) + long vowel (แ) + final stop consonant (ก) has been detected. The satisfaction constraint is a set of tone rules depending on which tone marker is detected by the parser. In this case, there is no tone marker so the tone is low represented by ̀ in IPA phonetics. Final answer: b̀k Depending on which constraints are violated, the student model is updated as discussed in the following section. 5.3 Dynamic Hierarchical Weighted Constraints (DHWC) The constraint weighting system allows a flexible and adaptive way of dealing with violated constraints. The weights are initialized to a general pedagogical model (as described in the previous section) and from there adapt to each student based on interaction with the ITS. During interaction with the student, the weights of each constraint increases as it is violated and drops as it is satisfied. The heuristics used for initial weighting are: • Dominance (or complexity within basket of constraints) • Frequency (of occurance in the domain) • Related Dominance (a factor of how other constraints it is closely related to are weighted) • Similarity (with other constraints reflecting possiblity of confusion) 31 This feature selection and the accompanying weighting was performed after studying student data and identifying the variables that have the greatest effect on constraint importance. Each constraint is given a weight calculated by CW = w1 D + w2 F + w3 RD + w4 S Initially, all four weights were set equally to 0.25. However, when the resulting constraint weights were shown to a domain expert, they were found to be a poor reflection of constraint importance. Through experimentation, we decided on w1=0.5 w2=0.3 w3=0.1 w4=0.1. This also agrees with how we rank these four features in terms of pedagogical significance i.e. Dominance (D) > frequency (F) > related dominance (RD) > similarity (S). Next, common misconceptions and important concepts were identified by the domain expert. The initial dominance (D) of these constraints were then increased. This increase is based on the expert’s opinion of how dominant the concept is and is a reflection of the pedagogical importance of the constraints to the average student of each stereotype. Only the more common misconceptions (shown to apply to a large majority of students) were chosen rather than those specific to a certain student group and dependent on special prior knowledge. An example of a dominant concept in Thai transcription would be that students generally have more difficulty with dead syllables than with live syllables (refer to Appendix II: Detailed Ontology). When violated, the constraint weight is incremented in percentage rather than absolute figures – the more times the constraint is violated, the faster its weight increases. This is a signal to the pedagogical module to step in and coach the student about the relevant concept. 32 Violated constraints are pushed into the Error Priority Queue. Here, the contraint weights are used to determine priority in the Error Priority Queue. This is a filtering mechanism when more than one constraint is violated and is to prevent the student from being overwhelmed with error messages and choosing the most important and relevant message to him at the correct time. Generally, at the initial stage, level 3 constraints are given priority over those in level 1 and 2 as they tend to be more complex and specific concepts. The intuitive logic is that the most specific and complex constraint is the one the student is usually having difficulty with. This is even more probable as the pedagogical module should ensure that the student attempts and passes the more basic exercises before being given more complex exercises. Collectively, our system of constraint weights provides a model of the student. It is used to determine how feedback is presented to the student when multiple constraints are violated, to decide which exercise is presented next to the user and gauges the general proficiency of the student. These uses of the Student Model are detailed in section 5.5. Let us now take a look at an example of the constraint weighting system. Continuing from the question แบก assume that a beginner student gives the wrong answer beep (in contrast to correct answer b̀k). The satisfied relevance constraints for this question are C1.1_iconsMid C1.5_econsStop C1.6_longVowel C3.2_midcons2c 33 The first relevance constraint (C1.1_iconsMid) tells us that the question has an initial consonant that belongs to the mid category of consonants. The second relevance constraint (C1.5_econsStop) tells us that the final consonant belongs to the stop category. The third relevance constraint (C1.6_longVowel) tells us that a long vowel is present in the question, while the forth and final relevance constraint (C3.2_midcons2c) tells us that the combination of initial mid consonant + long vowel + stop final consonant is present. This combination has a specific set of tone rules which need to be applied. The subset of violated constraints for this question are C1.5_econsStop C1.6_longVowel C3.2_midcons2 This means that only the satisfaction constraint for C1.1_iconsMid was satisfied. Looking at the answer, we can tell that this is because only บ has been correctly represented as b in the answer. 34 Figure 6: Feedback when student answer is wrong As shown above, the constraint C3.2_midcons2 has the highest weight and its associated feedback is displayed first. Likewise the feedback for the violated constraints C1.5_econsStop and C1.6_longVowel is shown in the highest level of feedback detail above. 5.4 De-contextualized Constraint-Based Questions (DCBQ) CBM allows us to analyze the studentʹs ability to solve a problem logically but gives us no bearing on how he did it. This leads to the problem of differentiating between accidental and purposeful satisfaction of constraints. When a student gets an exercise correct, the traditional method of making sure he has understood the underlying concept is to give him several similar exercises in 35 sequence. This technique is not ideal as it is possible that the student maintains a flawed understanding that enables him to get the exercises correct. In contrast with the traditional technique, our novel DCBQ method confirms if the student understood the concepts associated with the constraints relevant to the problem he just attempted correctly. We achieve this by asking questions that are specifically designed to test the high‐level understanding of particular concept(s). These questions are decontextualized from the context of the original exercise and the intuitive logic is that if the student can answer such a DCBQ, he should understand the concept behind it. In Thairator, the student is given the choice to answer DCBQs only after he has answered an exercise correctly. The constraints relevant to the question he just attempted are stored in a priority queue similar to the error priority queue. Once again, based on the constraint weights, the constraint with the highest weight triggers the associated DCBQ. Increase Constraint Weights Problem Exercise correct DCBQ some wrong all correct all wrong wrong Reduce Constraint Weights Next Problem Exercise Increase Constraint Weights Pedagogical Model - Teach concept Figure 7: Flowchart for DCBQ 36 As seen from Figure 7, getting the DCBQ correct reduces the weight of the constraint and the associated concept will be given less pedagogical attention. Getting a DCBQ wrong will result in the weight of the constraint that triggered that DCBQ being increased. This is because it is likely that the student answered the previous problem correctly by accident or some flawed logic. If he answers all the DCBQs correctly, then we can assume with reasonable confidence that the student understands the relevant concepts involved. A detailed discussion of the design of the actual DCBQ questions is in section 6.3. The use of DCBQ can be illustrated with a simple example below. Carrying on from the earlier example of the problem แบก , and assuming that the student gave the correct answer bk. The DCBQ selected for the level 3 tone constraint (C3.2_midcons2c) and posed to the student would be Which word(s) has the wrong tone assigned? 1) จอด : low 2) จอด : falling 3) จอด : high 4) จอด : rising Notice that, unlike multiple choice questions, more than one option can be correct. Furthermore, although the constraint was used only in a specific context in the exercise, the DCBQ tends to test the more complete and general understanding of the constraint. 37 5.5 Uses of Student Model Now we discuss some possible uses of the data in the student model. These are also incorporated in the design of Thairator. 5.5.1 Exercise Selection As the instructor inputs questions into the exercise database, these exercises are analysed for the number of constraints which are relevant and given a difficulty value. The difficulty attribute of each exercise is a function of the constraints relevant to the question and the weights of these constraints. In selecting the next exercise, several factors are taken into account. First, the exercise must be of appropriate difficulty. Second, it must have the relevant constraints that the student needs to focus on, and third, it must not have been attempted successfully by the student before. Potential candidate exercises in the database that meet these requirements are shortlisted and a differencing function is then used to select the most appropriate exercise for the student. If several exercises are equally suitable, a random function is used to select one of them. This ensures that the presented problems are both of optimum difficulty and oriented towards the concepts that the student has a weakness in. Let us look more closely at how we determine if the exercise is of appropriate difficulty. The SM also has an attribute called optimal student complexity (OSC) which reflects the student’s ability. Vygotskyʹs zone of proximal development [30] suggests an improved level of performance is achievable when the questions posed to the student are slightly above his level of competence. As such, the permitted 38 difficulty of the questions is set at a biased range that includes a slight threshold above the student’s skill level. This range is set between ‐1 and +2 of the student’s OSC value. Thus, selected questions not only have to contain the relevant constraints that the student is weak in, the difficulty level also must be appropriate. The student’s OSC should be a reasonably stable value to allow some student experimentation without fluctuating wildly. As such, it is only incremented after a number of exercises at a difficulty level higher than his OSC are attempted successfully. Likewise, his OSC is decremented if he consistently gets the exercises, suitable for his present OSC level, wrong. This will allow the system to present easier exercises to him. The OSC value is decremented by 1 if the student is unable to answer at least five out of the seven most recent exercises. It is incremented by 1 if he answers at least eight out of the most recent twelve exercises correctly. For example, a student who chooses the beginner proficiency level at the start of the program is given an initial OSC value of 3. If the next exercise has a difficulty of say 6, this is deemed too difficult for the student and the other relevant exercises in the database are scanned to select one of appropriate difficulty. If he gets the next five exercises wrong, his OSC is decremented to 2 and easier exercises are presented. If he gets eight out of the next nine exercises correct, his OSC is increased back to 3. In this way, the difficulty of the questions adapts to the student. 5.5.2 Feedback Related to the Error Priority Queue is the issue of feedback. Feedback is linked to each constraint and categorized into a hierarchy of four levels of increasing detail: Boolean, Hint, All errors, and Solution. To provide scaffolding for the student, the 39 initial level of feedback is usually boolean (lowest level of detail). However, if the student proves to be unable to correct his answer, the level of detail is increased. In our present implementation, feedback shown belongs to the “All Errors” category. Feedback Boolean Correct or Wrong Hint Reminds student to check the most important concept that was violated and refocuses him on short‐term goal. All All constraints violated are shown in order of Errors importance Solution Complete or partial solution is shown Table 1: Levels of feedback 40 CHAPTER 6 IMPLEMENTATION The constraints and main program engine are coded using JESS (Java Expert System Shell) version 6.1 which is based on JDK 1.4.2. JESS is a rule‐based system engine written by Ernest Friedman‐Hill at Sandia National Laboratories [31]. All constraints are implemented as predicate rules as this has proven to be more efficient and elegant than using a procedural language such as Java. Sun Javaʹs native support for Asian scripts such as Thai, Unicode support, and enhanced Swing interface components are invoked from within JESS to create the final ITS. In this chapter, we look into the knowledge engineering process, the codification of domain knowledge into constraints, and the pedagogical concerns behind the design of exercises and DCBQs. 6.1 Knowledge Engineering Ontologies are able to provide an objective specification of domain information by representing a consensual agreement on the concepts and relations characterizing the way knowledge in that domain is expressed. [32] Ontologies may vary not only in their content, but also in their structure and implementation. As such, this is a workable definition of ontologies as we use it here to better understand our target domain of Thai transcription. 41 The ontology was created with the help of a Thai language domain expert, Dr Suthiwan from the Centre for Language Studies in the National University of Singapore (NUS). The following steps were taken in its development: 1. Acquire domain knowledge 2. Organize ontology 3. Add details to ontology 4. Check ontology 5. Implement ontology Clusters Tone Rules Initial consonants Mid Low Vowels High Long Final consonants Sonorants Short Stops Sound killers Special Vowel Forms Figure 8: High-level transcription ontology 42 The highest level of the ontology developed is shown above. The dotted arrows show the dependency of tone rules on the initial consonants, vowels, and final consonants, while the solid arrows show a more specific instance of the parent concept, e.g. Clustering is a more specific concept within initial consonants. The dashed lines linking the intial and final consonant concepts to the vowel concept reflects that they appear together. This ontology can be applied to the construction of a detailed transcription ontology in almost any other language. However, not all concepts are equally relevant for every language, e.g. for English or Malay, which are non‐tonal languages, the tone rules concept is irrelevant. Other languages may require slight changes, e.g. in Khmer the initial consonants do not have the mid, high, and low categories and are instead divided into the first and second registers. In general however, this ontology is abstractable to the transcription of other languages with minimal changes. In Thai, unlike English, clustering (having two or more consonants immediately one after another) is only pronounced at the start of a syllable. For example, let us look at the english word “truth” with respect to the ontology above. The initial “tr” is an initial consonant cluster. “u” represents a short vowel, while the ending “th” is a final consonant cluster. Tone rules do not apply. The detailed portion of the ontology relating to consonant clustering is shown below while the full detailed ontology is in Appendix II: Detailed Ontology. 43 Clusters (when 2 consonants appear 1 after another at beginning) Real Clusters (11: khr khl, khw, kr, kl, kw, phr, phl, pr, pl, tr) tone governed by 1st consonant, marker written over 2nd consonant Pseudo-clusters (2 syllable words) insert /a/ inbetween cons. unless 2nd cons is i then insert // /?/ (4 words) /h/ special high cons clusters (7: , n,m,y,r,l,w) mi treated as /s/ (note: /thr/ does not exist) 1st consonant unpronounced, tone rule follows /?/ or /h/ if 2nd consonant is sonorant, 2nd syllable follows tone rules of 1st consonant Psuedo-psuedo-clusters (follows parent rule but does not have a psuedo-cluster initial) Figure 9: Part of detailed ontology: Clusters This process of knowledge engineering constraints is a very labourious part of the implementation and it is estimated by Suraweera [27] that each constraint takes a domain expert and knowledge engineer more than an hour each to produce. Our estimate for Thairator would be closer to three hours per constraint. However, it also depends on the complexity, familiarity, and prior ontological research done in the chosen domain. Beginning the process of knowledge engineering by creating an ontology has helped greatly in the design of necessary constraints and assisting in reflection on the structure of the domain. Much less time is spent tweaking the constraints and correcting design flaws since a high‐level view was achieved early on in the design process. 44 6.2 Constraints Constraints are stored as a hashtable with the constraint name as the key and the variable weight as the value. This has been shown to be an efficient way to store the constraints as they need to be accessed frequently for updating. In addition, from time to time, it may be necessary to modify the database of constraints. Using a hashtable expedites this updating process. The general structure of JESS rules is shown below: Figure 10: General structure of a rule [13] A sample rule, in JESS code, that represents the single constraint C3.3_highcons1a is shown below: The relevance constraint here is that the answer contains an initial high consonant followed by a long vowel with no final consonant. The satisfaction 45 constraint is a mapping function of tone rules depending on which tone marker (stored in the variable ?*toneS*) is found. ;; Rule for constraint C3.3_highcons1a (defrule MAIN::highcons1a "high + long vowel" (declare (auto-focus TRUE)) ;; checks that question was asked (MAIN::ask ?id) ;; checks that question exists in database (MAIN::thaiqn (ident ?id) (diff ?diff) (thai ?thai) (ans ?ans)) ;; checks that user answer has been captured (MAIN::uanswer (ident ?id) (text ?input)) ;; checks that user answer has been parsed (MAIN::status "inputParsed") ;; checks relevance constraint (test (and (= ?*initconsG* 2) (= ?*vowellen* 2) (= ?*eConsG* 0))) => (printout t ">>toneFired" crlf) ;; push constraint into relevance priority queue (pushRC "C3.3_highcons1a") ;; checks for satisfaction constraint (if (or (and (= ?*toneS* 0) (putTone 2)) (and (= ?*toneS* 1) (putTone 1)) (and (= ?*toneS* 2) (putTone 3))) then (printout t "tone correct!" crlf) (?*feedback* append (str-cat "Tone correct. ")) else (bind ?*correct* 0) (printout t "tone wrong!" crlf) (?*feedback* append (str-cat "*Tone wrong. should be " (nth$ (+ ?*cToneP* 1) ?*toneList*) " ")) ;; push violated constraint into error priority queue and ;; increase it’s weight (pushNupdateConstraint "C3.3_highcons1a" ?*inc*) ) (assert (status "toneDone")) ) Figure 11: Code for tone constraint for high consonants and long vowels The LHS and RHS statements of the rule are divided by the separator character “=>”. The LHS statements are the relevance conditions that determine if the RHS of the rule is activated. The RHS statements are the satisfaction conditions that determine if the constraint was violated. 46 6.3 Design of Exercises and DCBQ The exercises input into the system are asserted as unordered facts in JESS. The structure of these are shown below: (deftemplate thaiqn (slot ident) ; (slot diff) ; (slot thai) ; (slot ans)) ; "main exercises" unique identifier for question difficulty the question contents answer Each exercise in the system has a unique identifier, a difficulty value calculated from the number of relevant constraints and their associated weights, the question contents, and an answer field which is usually left blank. An example of a exercise fact is shown below: (thaiqn (ident 28) (diff ?*diff*) (thai เรียน) (ans .)) The unique identifier here is 28, the difficulty level is a calculated value, the question is usually in Thai script, and the answer field is blank The exercises are designed to be consistent and the words taken from a corpus of common Thai usage. An even distribution between the various constraints and exercise difficulty is also strived for. Along a similar vein, DCBQs are asked in the form of multiple true/false questions to expedite the checking process and minimize time required for the student (see example in section 5.4). They strike a good balance between ease of administration and effective testing. However, some detractors say that such deterministic test forms are similar to multiple choice questions and are generally unreliable and encourage guesswork [33]. To address this design critique, we appeal to the laws of probability. In Thairator, each DCBQ consists of four true/false questions. The student must 47 answer all four correctly for the DCBQ to be deemed correct. The probability of guessing all correctly is p=(0.5)4=0.0625. Therefore, it is unlikely that a guessing strategy would work. The DCBQ is designed to test the student’s understanding of the concept. However, the options are given a sense of context by using real commonly used words. This highlights the fact that DCBQ questions and options while decontextualized from context of the earlier exercise, should not be so abstract as to simply test rules and laws. Such abstraction tends to cause students to learn at very superficial levels and results in poor retention. 48 CHAPTER 7 EVALUATION The evaluation of a complex educational system is a difficult process. This is partly due to the difficulty in isolating the effects of any single variable in the Student Model on performance. Here we conduct a preliminary study on the performance of the system. 7.1 Methodology We focus on measuring two things: the reliability of the Student Model (i.e. its ability to accurately reflect the student over the duration of the experiment), and also the educational effect of the ITS on the student’s achievement. Regarding statistical tools, the Z‐test is favoured when the sample size is large, which is not the case in this preliminary study. Another tool, the Student’s t‐test, is often used for small sample sizes in empirical analysis. However, we chose to leave the use of these tools and a more rigorous statistical study for future work and focus on establishing a good foundational understanding of how Thairator works with the student. On one hand, this allows us to use a small sample size of 10 for the purposes and constraints of this initial evaluation. On the other hand, it is our intent to study the effectiveness of the ITS by understanding if the correct internal constraints are fired and comparing the output to a human teacher. At this stage, this comparison is a viable substitute for studying a control group of students who are taught by a human teacher. 49 Mark and Greer [34] suggest three questions that we aim to answer with our evaluation. • ʺWhat does Thairator do?ʺ • ʺDoes Thairator fulfill the purpose for which it was designed?ʺ • ʺDoes Thairator result in predicted outcomes?ʺ After weighing the pros and cons of the various methods of evaluation described by Ainsworth [35], we designed an empirical study and analyzed both the explicit user feedback and implicit log data generated. Ten carefully selected subjects were individually put through this specially designed experiment. The data (in the form of extensive log files, tests, and feedback forms) collected was organized and thoroughly analyzed. 7.1.1 High-Level Analysis The data collected from the empirical study can be broadly classified into explicit and implicit interaction data. Implicit data is mainly in the form of log files collected by the system in the background while explicit data is in the form of pre‐tests, post‐ tests, and evaluation forms where the user is directly asked for a response. High‐level analysis deals with the explicit interaction data collected in this study and we use this data to calculate the learning gains of each subject. This high‐level analysis of the subjects’ progress tells us, in a general sense, if Thairator fulfils the purpose for which it was designed. 50 7.1.2 Detailed Log Tracing Here we study the individual student log files (implicit interaction data) and analyze how the student model evolves as the student uses the system. This is useful because we wish to compare our student model to how a competent human teacher would understand the student. The rationale behind this is similar to the Turing test [36] which is a well‐known evaluation technique in which a computer system is judged based on how indistinguishable its performance is to the behaviour of a human expert. A major benefit of detailed log tracing is that it allows us to focus on how the system deals with pedagogically significant scenarios. Comparing the results of log tracing and our expected results also tells us if the system is consistent, and if so under what circumstances. 51 Figure 12: Snapshot of the Thairator log As can be seen from the snapshot in Figure 12, the logs have a voluminous amount of data which includes the relevant constraints for each exercise (Printing relQ), violated constraints (dequeu9 EPQ), each change of the student model (in the format 52 “key = ? ”), what caused the change, and each student answer, and many other system state variables not visible in the snapshot. 7.2 Procedure 7.2.1 Subject Selection Ten subjects were selected to participate in the empirical study. They were university undergraduates ranging from 18‐25 years of age. They come from various academic disciplines and all have completed at least one semester of basic level Thai in NUS. Most of the subjects have had minimal experience with ITS although all have used the Integrated Virtual Learning Environment (IVLE) e‐learning environment used in NUS. Other e‐learning systems they have come across include: a Thai e‐learning CD‐ ROM by Rosetta Stone, SPSS tutor (tutor for a statistical tool), SATS online self‐help program, and typing tutors. Most of these are known to display very minimal intelligence with regards to student modeling. The subjects’ computer literacy varies from novice to expert but, in general, even those who consider themselves novice are comfortable with basic computer use. Thairator is designed such that even the novice should have no problems using it. 7.2.2 Execution The user study was conducted on an individual basis. Each subject went through the six sections as detailed below. Each study takes slightly more than an hour per subject. 53 Briefing Pre-test Training Use of ITS Post-test Feedback form Figure 13: Flow of user study 1) Briefing: The experimenter briefed the subject on the general purpose and procedure of the user study. Any doubts the subject had were cleared and queries answered. 2) Pre‐test: This fifteen minute test (see Appendix V: Pre‐test and Post‐test) was developed by our domain expert to gauge the subject’s proficiency level in the subject matter of Thai transcription. It was administered using the classic paper and pen medium to ensure that subject infamiliarity with the medium did not affect the results. It was graded not simply by the number of questions answered correctly, but by the relevant concepts answered correctly. Each question has an average of six relevant concepts. One mark is awarded for each level 1 concept answered correctly while two marks are awarded for each level 2 or 3 concept to reflect their greater difficulty. 54 3) Training: The subject was trained on how to use the Thairator ITS interface. The various shortcut keys and tools were also introduced. 4) Use of ITS: The subject started using Thairator and proceeded with the exercises until a minimum number of exercises have been attempted. He was then free to stop or continue till Thairator had no suitable questions left in the database. Usage time varies from 30 – 40 mins. 5) Post‐test: This test was of designed to be of equal duration and difficulty to the pre‐test. Roughly equivalent coverage of the domain was ensured by studying the concepts relevant to each question. This test was marked in the same manner as the pre‐test and used to compare the subject’s performance after he used Thairator. 6) Feedback form: The subject was asked to complete an evaluation form on his experience with Thairator and to give suggestions on improvement. 55 7.3 Results 7.3.1 Learning Gains The results of the pre and posttests were collated to quantitatively calculate the learning gains of the subjects. The tests, as mentioned earlier, were graded according to individual concepts relevant to each question. Learning gains is represented by the formula below [35] and is normalized by dividing the difference by the pre‐test scores to account for high performers. Learning gains = (posttest – pretest) / pretest Normalized Learning Gains for each user 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 -0.05 AT XY QB KS AM GB VA JH ME SH Figure 14: Learning Gains for each user As can be seen in Figure 14, the learning gains is positive except for an isolated case where it is marginally negative. The average learning gains is 15.3% with a standard deviation of 11.6%. 56 We also take a closer look at the concepts the individual users had problems with during the pre‐tests and post‐tests. In general, there is a drop both in the total number of violations (Figure 15) and the number of concepts that are violated (Table 2). Constraint Violation in Pre and Posttests 35 Number of Violations 30 25 20 Pretest Posttest 15 10 5 0 AT XY QB KS AM GB VA JH ME SH Figure 15: Constraint violation in pretests and posttests 57 1. 1 AT pre AT post XY pre XY post QB pre QB post KS pre KS post AM pre AM post GB pre GB post VA pre VA post JH pre JH post ME pre ME post SH pre SH post 1. 2 1. 3 1 1. 4 1. 5 3 2 4 1 1. 6 1. 7 5 1 2 2 2. 1 2. 2 2 2. 3 2. 4 2. 5 2 2 1 2. 6a 2. 6b 2. 6c 2. 7a 2. 7b 2. 7c 2. 8 2. 9 3. 1a 3. 1b 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 5 2 2 2 1 1 1 1 2 1 1 3 2 1 2 1 1 1 2 2 1 1 1 2 1 1 1 2 2 2 1 2 2 1 1 1 3 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 3. 3b 3. 3c 1 3. 4a 3. 4b 3. 4c 3. 5a 1 1 1 1 1 2 1 1 3. 5b 3. 5c 1 2 1 3. 6a 3. 6b 2 2 2 2 1 2 2 1 1 2 2 2 1 1 1 1 1 3. 7 1 1 1 1 2 1 2 1 1 1 1 3 3. 3a 1 1 1 1 1 1 2 2 3. 2c 1 1 2 2 3. 2b 1 1 1 1 1 3. 2a 1 1 3 3. 1c 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 2 3 1 1 1 2 2 1 1 1 2 Table 2: Detailed constraint violation in pre-tests and post-tests 58 7.3.2 Detailed Log Tracing From a close study of the logs produced by the subjects’ interaction with Thairator, we selected two subjects for closer study. The initial and final state of the student model, for each subject, is shown in raw numerical form in Appendix VII : Raw Student Model Variation Data, and in graphical form in Appendix VIII : Charts of Student Model Variation. In the case of subject AT, he had studied Thai for two semesters but stopped for the past eight months. He chose the beginner proficiency level. His SM was initialized and he attempted the exercises in the order of 24, 30, 18, 33, 35, 29, 14, 9, 27, 21, 17, 16, 3, 7, 36, 32. DCBQs were attempted after exercises 18, 33, 29, 14, 9, and 17. DCBQs, as mentioned earlier, are optional and the subject can only choose to attempt them after he has answered an exercise correctly. Out of the seven DCBQs attempted, he answered two wrongly. After he answered exercise 21 correctly, his Optimal Student Competency (OSC see section 5.5.1) value was incremented by 1 to allow him to attempt more challenging exercises. We take a closer look at how the DCBQs expose his incomplete understanding of the concept behind C1.4_econsSono (ending sonorants). Although he was able to answer exercise 17, which included an ending sonorant, he was unable to answer the DCBQ posed to him which included other ending sonorants in the context of different words. 59 Subject: AT C 1. 1_ ic on C sM 1. id 2_ ? ic C on 1. 3_ sH i co i? C ns 1. 4_ Lo ec w ? on C sS 1. 5_ on ec o? on C 1. sS 6_ t op lo C ng ? 1. V 7_ ow sh e or l? C tV 2. 1_ ow re el al ? cl us C te 2. rs 2_ ? sh C co 2. C ns 2. 3_ 4_ sm ? ch co an ns g9 ? C vo 2. w 5_ el in s? vV C 2. ow 6a e _s lo C ? vo 2. w 6b el _s am vo ? C w 2. el 6c aw _s C ? 2. vo 7a w el _d a ip y? C ht 2. ho 7b ng _d ua C ip 2. ? ht 7c ho _d ng ip i a? C ht 2. 8_ hon gU in vV a? C ow 2. el 9 Weights 120 110 100 90 80 70 60 50 40 Start End C Figure 16: Portion of chart comparing AT's SM at start and end of using Thairator Looking at Figure 16 (full chart can be found in Appendix VIII : Charts of Student Model Variation), we study the more significant changes in the SM. The dynamic weights assigned to the constraints of C1.1_iconsMid, C1.3_iconsLow, C1.6_longVowel have decreased, while the weights assigned to C1.7_shortVowel, C2.2_shcons, and C2.7a_diphthongua have increased. With the help of a domain expert and studying how the student interacted with Thairator, both the system and domain expert concurred that those constraints whose weights had gone down were, to a good probability, understood by the student and those whose weights had increased would need further pedagogical attention. This first detailed study of the logs supports our claim that the SM is reliable in comparison with the behaviour of a human teacher. In the case of subject GB, she studied Thai for the past three semesters. She chose the intermediate proficiency level and attempted the exercises in the order of 24, 3, 33, 30, 22, 31, 21, 4, 24, 7, 15, 34, 8, 17, 36, 11, 2, 10, 32, 13, 19, 29. DCBQs were attempted 60 after exercises 24, 30, 22, 15, 7, 34, 17, 36, 10, 32, 13, 19. She was presented ten different DCBQs and out of these, she got five correct. The five DCBQs she answered correctly reflect a high‐level understanding of those five associated concepts as the DCBQ are designed to thoroughly test conceptual understanding. Those five that she answered wrongly reflect only partially understood concepts that she can answer correctly only in certain contexts (as she answered the question prior to the DCBQ correctly). Here, these assumptions are verified by looking at her pre‐test and post‐test constraint violations in Table 2. All the concepts with correctly answered DCBQs have no violated constraints in the post‐test. One exception is the single violation to c3.5_lowcons1b but this can be safely attributed to either experimentation or carelessness as a cross‐sectional study of all the other subjects verify that this is indeed a rare case. We now take a closer look at her interaction with the system. After answering exercise 15 correctly, she attempted a DCBQ. The DCBQ associated with the relevant constraint bearing the highest weight was presented (C2.4_chang9vowels). Although exercise 15 contained a changing vowel which she answered correctly, she was unable to answer the DCBQ and so the system increased the weight for c2.4_chang9vowels. 61 ? ? ? ? ? ? r? a? a? a? b? c? c? 1b 1c 2a 2c 2b 1a rth lc s1 s2 s1 s1 gU ns ns ns ns ns ns e e n n n n n t o o o o o o o o o o o s c c c c c c ow th lu hc hc h hc hc id id id id id id ig ig ig ig ig m m m m p h i nvV _sC m m h h h h _ _ _ _ _ _ di _h _ _ _ _ 1 2 2 2 1 1 _ 9 . . . . . . 4 3 3 3 4 . 8 . . . . . 3 3 3 3 3 3 2 3 3 3 3 3 2. C C C C C C C C C C C C C C a? gi Constraints Start End Figure 17: Portion of chart comparing GB's SM at start and end of using Thairator Looking at Figure 17 (full chart can be found in Appendix VIII : Charts of Student Model Variation), we again study the more significant changes in the SM at the end of her session with Thairator. The dynamic weight assigned to C3.2_midcons2a has decreased, while the weights assigned to C2.8_invVowelcc, C3.1_midcons1a, and C1.6_longVowel have increased. Again, with the help of a domain expert and studying how GB interacted with Thairator, the system and domain expert agreed on most points. However, an issue surfaced this time with what the domain expert identified as careless mistakes. Mistakes that are obvious to the expert as careless are sometimes identified by the system as constraint violations and treated as a misunderstanding of the associated concept. The domain expert remarked that instead of penalizing the subject, careless mistakes should be dealt with by tailoring the feedback to the student differently. Besides this scenario, the findings from this second detailed log study support what we discovered in the first detailed study. 62 We now study the case of QB who has slightly negative learning gains from using Thairator. Like AT, he studied Thai for two semesters and had little practice for the past eight months. He also chose the beginner proficiency level. However some differences are noticed while analyzing his interaction with Thairator. Firstly, his OSC value does not increase but remains at 3. The is because he makes too many errors for the system to increment his OSC. In fact, the system is quite close to decrementing his OSC value. Furthermore, out of the ten DCBQs he attempts, he only gets one correct. 140 120 100 80 60 40 C C 1. 1_ i co ns M 1. id 2_ ? ic C on 1. 3_ sH ic i? C on 1. sL 4_ ow ec ? on C sS 1. 5_ on ec o? on C 1. sS 6_ to lo p? C ng 1. V 7_ ow sh el or ? C tV 2. ow 1_ re el al ? cl us C te 2. r s? 2_ sh C co 2. C n 2. 3_ s 4_ sm ? ch co an ns g9 ? C vo 2. w 5_ el in s? vV C 2. ow 6a el _s o C v ow ? 2. 6b el _s am vo ? C w 2. el 6c aw _s C ? 2. vo 7a w el _d a i y? ph C 2. th 7b on _d gu C ip a? 2. ht 7c ho _d ng ip ia ht C ? 2. ho 8_ ng in U vV a? C ow 2 Weights Subject: QB Figure 18: Portion of chart comparing QB's SM at start and end of using Thairator From Figure 18, we can see another difference from other subjects: that the changes in QB’s SM are mainly in level 1 constraints. This is because harder exercises containing the more complex level 2 and level 3 constraints have higher difficulty values which his low OSC does not allow him to attempt. Many factors affect a student’s performance and we believe that in addition to what we captured, it is possible other affective attributes such as motivation and attitude contributed to his poor performance. His feedback was that the questions were too 63 hard and this could have lead him to feel frustrated which in turn affected his learning adversely. 7.3.3 User Feedback Here we study the feedback obtained from the subjects at the end of each experiment. Table 3 depicts the summarized feedback of the general user impression of Thairator. 1 strongly disagree; 2 disagree; 3 neutral; 4 agree; 5 strongly agree z I enjoyed the experience with Thairator z My interest was piqued by Thairator z I understand some Thai writing concepts better z The interface is intuitive 1 2 3 4 5 ave 0 0 3 5 2 3.9 0 0 3 5 2 3.9 0 0 1 6 3 4.2 0 1 3 6 0 3.5 Table 3: User feedback on general impression of Thairator The subjects enjoyed their experience using Thairator. They found it interesting to use and also felt that they had learnt more about the concepts in the Thai transcription domain. However, regarding the interface, five of them felt that it could be more intuitive. They suggested incorporating sound, movie clips, and other multimedia to engage the user. Another comment was to include a “back” or “history” button to allow the user to recap questions that he had attempted. Table 4 summarizes the user feedback on how the exercise questions were organized and presented and how system feedback was presented to them when they answered incorrectly. 64 1 strongly disagree; 2 disagree; 3 neutral; 4 agree; 5 strongly agree z The questions were well organized z The questions were suited to my skill level z The amount of feedback was appropriate and understandable 1 2 3 4 5 ave 0 0 2 8 0 3.8 0 1 3 6 0 3.5 0 1 0 6 3 4.1 Table 4: User feedback on pedagogical flow Eight out of ten agreed that the questions were well organized and suited to their skill level. Nine also agreed that the feedback was appropriate and understandable. However, some remarked that more detailed feedback could be given explaining why the answer was wrong. Table 5 summarizes the user feedback on the DCBQs; their difficulty and effectiveness. 1 strongly disagree; 2 disagree; 3 neutral; 4 agree; 5 strongly agree z The DCBQs were of appropriate difficulty z The DCBQs tested my understanding of the concepts well z 1 2 3 4 5 ave 0 2 1 4 3 3.8 0 0 2 6 2 4.0 0 0 0 5 5 4.5 The DCBQs exposed incomplete understanding in my concepts Table 5: User feedback on DCBQs Most found the DCBQs difficult although they agreed that the DCBQs tested their understanding of concepts thoroughly. Some suggestions included having explanations when the DCBQs were answered incorrectly. Presently the system simply informs the user if he is correct or wrong. Furthermore, unless the user gets a 65 DCBQ correct, the same DCBQ can be asked each time the associated constraint is triggered. The users also commented that even if a DCBQ was answered wrongly in the past, a different DCBQ should be presented each time the same relevant constraint was triggered. This would require either a larger basket of DCBQs with multiple DCBQs per constraint, or a technique of generating meaningful DCBQs from a corpus. Possible improvements to the DCBQ engine are discussed in section 8.2.1. 7.4 Discussion Looking at the results from the explicit interaction data, the system performs to expectations with the exception of the rare anomaly (subject QB) which is to be expected when dealing with human subjects. Making sense out of the implicit interaction data, such as log files, is a very painstaking process. However, a much greater understanding of the system and how it behaves under pedagogically significant conditions was achieved. Results of this part of the study show that, even for subject QB, the way the subject was modeled by Thairator is consistent. The concepts he is weak in indeed have their weights increased. We believe that in his case, the apparent lack of learning gains can be overcome with an improved pedagogical module and the ability to infer the affective state of the student. However, there is a need to improve the presentation and difficulty of the DCBQs. Presently, unlike the main exercises, there is no difficulty rating for the DCBQs. It would be beneficial too if there could be more than one DCBQ per constraint so that there is less chance of repetition. Presently, this requires an expert to design and input each DCBQ individually which is tedious and time consuming. 66 In addition, careless mistakes need to be identified and given differentiated treatment from two other similar scenarios: when the student has a wrong conceptual understanding, and when the student has a memory lapse. Presently, Thairator only identifies careless mistakes as constraint violations made after the student has correctly answered the associated DCBQ. However, this only captures a subset of the careless mistakes made. Treating a genuine careless mistake simply as a constraint violation, while acceptable, is rather harsh and accurately identifying these three groups would allow the system to model the student better. 7.5 Summary This chapter describes our user study to evaluate the performance of Thairator and the reliability of its SM. Thairator is designed to improve and model the student’s understanding of the concepts of Thai transcription. Most users had a favourable impression of Thairator after the study. They also had a good impression of the intelligence of the system. The learning gains show that there is a general improvement after using Thairator. Furthermore, the detailed study of the log traces show that the student is modeled reliably. However, the implementation of the DCBQs while effective, can be further improved in response to the user feedback that they are sometimes too difficult and lack of variation in the DCBQs. The importance of well‐designed DCBQs which thoroughly test the associated concepts cannot be overemphasized. 67 Accurate identification of careless mistakes would help further improve the reliability of the student model. However, student cognitive states such as carelessness and forgetfulness are not easy to infer nor differentiate. Through this user study, we have also collected a set of data that will be useful for further improvements to the SM and ITS. 68 CHAPTER 8 CONCLUSION 8.1 Overview and Contributions Our research proposed the study of enhancing Constraint Based Modeling and implementing it in an ITS to teach Thai transcription. We focused on the Student Modeling aspect of the ITS and have shown that our enhancements do address some of the weaknesses of CBM and enable an accurate representation of the target student. In particular, our De‐contextualized Constraint Based Questions (DCBQ) help to identify when the student understands the concepts behind the question he has attempted correctly. Dynamic Hierarchical Weighted Constraints (DHWC) also allow the system to better reflect the competences of the student and change along as he interacts with the system. A high‐level reusable ontology for language transcription has also been built. The detailed ontology for Thai transcription was created from this and used to good effect in the design of constraints for Thairator. Thairator was implemented in JESS and evaluated to assess the accuracy of the Student Model and the effectiveness of the ITS as a whole. The study consisted of an empirical study where pretest, posttest, user feedback, and system log file data was collected and analyzed. In the detailed studies of the log data, the system behavior was compared with a human teacher and results have been encouraging. As a whole, the subjects also showed positive learning gains after using the system with less constraint violations and better understanding of concepts. 69 8.2 Future work Future work can be divided into three main categories. Further uses of existing SM, further enhancements to the SM, and automation of the knowledge engineering process. 8.2.1 Further Uses of Existing Student Model DCBQ The DCBQ system could be enhanced to store DCBQs that are relevant to multiple constraints. Presently the system stores only constraint specific DCBQs. In the future, a basket of constraint specific and compound DCBQs could be stored in the system. When DCBQs need to be asked based on several relevant constraints, each of these constraints could fire a weighted trigger. A similarity function could then be calculated between this list of triggers and each DCBQ in the basket and the closest one to three matches returned. Finally, in this more complex scenario, the matches would need to be tested against a threshold before being presented to the student as it is better not to ask anything than to ask an irrelevant DCBQ. Enhancements to the PM The PM is the main ITS component that uses the data from the SM. Many different pedagogical techniques can be used in conjuction with our enhanced SM to deliver a effective customized learning experience to the student. We suggest one such technique below. At the heart of the PM would be a schematic graph (Figure 19) of the concepts which show the weighted relationships between the concepts [37]. 70 Initial consonants (1) 0.7 9 0. Vowels (2) 0.7 0.8 0.8 Final consonants (4) 0.3 Tone Rules (3) Clusters (5) Karan N (6) /r/ as non-initial consonant (7) Figure 19: Concept Schematic Graph The numbering of the concepts shows the priority in order of introduction while the weighted links determine which related concepts should be tested and taught together. Certain concepts, such as the Karan, are deemed unrelated to the rest in the sense that they can be introduced separately just as effectively. We could also look into using probabilistic methods to enhance the PM to do topic selection, adapting feedback, hint selection, and selective highlighting of text [26]. However, this involves studying much empirical data to tune the bayesian network. In addition, exercise generation and selection could be improved. Exercises with corresponding difficulty levels could be generated on the fly from text corpra. This can be done by testing the words or phrases with the relevant constraints and 71 presenting those phrases that meet the required criteria. Using such system‐generated exercises are shown to not only save development time but also to ensure constraints are more evenly spread within the domain [23]. These are promising areas of research that can help utilize the SM fully. 8.2.2 Further Enhancements to Student Model For enhancements to the SM, firstly, further study into how affective attributes such as anxiety, autonomy, and alertness can be integrated into the present framework would help the system infer the cognitive state of the student. Presently, the transience of these higher level attributes is a concern due to their dynamic nature and difficulty in achieving accurate diagnosis. Other psychological and sociological forms of data such as intelligence, learning styles, multiple n variable learning strategies, gender differences, etc. can also provide valuable sources of data. Secondly, it could also be possible to allow the user to directly alter the contents of his student model. This would give him an appreciation of the systemʹs learning goals and allow him to assess the correctness of the model generated. It also would aid in his metacognition, reflection and planning. It would also allow experimentation with various settings presently restricted to him [38]. Lastly, Latent Semantic Analysis (LSA) can be used to complement the present domain knowledge and expert models. LSA is originally a text analysis tool which takes into account many dimensions of similarity. Zampa discusses its use to teach English composition writing [39] and it shows great potential for teaching composition writing in any language. Its great strength is that the expert model can be generated automatically by feeding in well formed essays. However, if the same 72 technique is also used for the SM, obtaining enough information to tune it has proven to be more difficult. 8.2.3 Automation of Knowledge Engineering Process As prelimiary research by Suraweera [27] has shown, this is a promising avenue of research. He proposes a four stage semi‐automated process to infer constraints using machine learning and a structured ontology building development interface. The paucity of research in this area points to many promising areas of research, especially since knowledge engineering is one of the most tedious and time consuming areas in the development and research of intelligent tutoring systems. The machine learning techniques discussed in section 2.4 can be further studied to apply their potential in this area. 73 BIBLIOGRAPHY [1] H. L. Burns and C. G. Capps, ʺFoundations of Intelligent Tutoring Systems: An Introduction,ʺ in Foundations of Intelligent Tutoring Systems, M. C. Polson and J. J. Richardson, Eds.: Lawrence Erlbaum Associates Publishers, 1988, pp. 1‐19. [2] B. Woolf, ʺAI in Education,ʺ in Encyclopedia of Artificial Intelligence: John Wiley & Sons, 1992, pp. 434‐444. [3] J. Beck, M. Stern, and E. Haugsjaa, ʺApplications of AI in Education,ʺ Artificial Intelligence ‐ Crossroads, vol. 3.1, 1996. [4] S. Ohlsson, ʺConstraint‐Based Student Modeling,ʺ in Student Modelling: The Key to Individualized Knowledge‐Based Instruction, vol. 125, NATO ASI Series F, J. E. G. a. G. I. McCalla, Ed.: Springer‐Verlag, 1994, pp. 167‐189. [5] I. P. Association, ʺIPA homepage,ʺ 2004. [6] R. Sison and M. Shimura, ʺStudent Modeling and Machine Learning,ʺ in International Journal of Artificial Intelligence in Education, vol. 9, 1998, pp. 128‐ 158. [7] K. VanLehn, ʺStudent Modeling,ʺ in Foundations of Intelligent Tutoring Systems, M. C. Polson and J. J. Richardson, Eds.: Lawrence Erlbaum Associates Publishers, 1988, pp. 55‐78. [8] P. Langley and S. Ohlsson, ʺAutomated cognitive modeling,ʺ in Proceedings of American Association of Artificial Intelligence, 1984, pp. 193‐197. [9] S. J. Payne and H. R. Squibb, ʺAlgebra mal‐rules and cognitive accounts of errors,ʺ in Cognitive Science, vol. 14, 1990, pp. 445‐481. [10] R. Michalski and R. Stepp, ʺAutomated construction of classifications: Conceptual clustering versus numerical taxonomy.,ʺ in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 5(4), 1983, pp. 396‐410. [11] J. Beck, ʺModeling the student with reinforcement learning.,ʺ presented at Proceedings of the Machine Learning for User Modeling Workshop, Sixth International Conference on User Modeling., 1997. [12] J. R. Anderson, Rules of the Mind: Lawrence Erlbaum Associates, 1993. [13] S. D. Choksey, ʺDeveloping an Affordable Authoring Tool for Intelligent Tutoring Systems,ʺ in Computer Science: Worcester Polytechnic Institute, 2004, pp. 60. 74 [14] A. Mitrovic, K. Koedinger, and B. Martin, ʺA Comparative Analysis of Cognitive Tutoring and Constraint‐Based Modelling,ʺ in Proceedings of the Ninth International Conference on User Modeling UM 2003: Springer‐Verlag, 2003, pp. 313‐322. [15] N. T. Heffernan, K. R. Koedinger, and V. A. W. M. M. Aleven, ʺTools Towards Reducing the Costs of Designing, Building, and Testing Cognitive Models,ʺ in Conference on Behavior Representation in Modeling and Simulation, BRIMS 2003, 2003. [16] A. Mitrovic, ʺA Knowledge‐Based Teaching System for SQL,ʺ in Proceedings of ED‐MEDIA/ED‐TELECOMʹ98. Freiburg, 1998, pp. 1027‐1032. [17] K. Warendorf and C. Tan, ʺConstraint‐Based Student Modeling ‐ a simpler way of revising Student Errors,ʺ in Proceedings of ICICS 97, vol. 2. Singapore, 1997, pp. 1083‐1087. [18] S. Ohlsson and E. Rees, ʺThe Function of Conceptual Understanding in the Learning of Arithmetic Procedures,ʺ Cognition and Instruction, vol. 8, pp. 103‐ 179, 1991. [19] A. Mitrovic, ʺSupporting Self‐Explanation in a Data Normalization Tutor,ʺ in Supplementary proceedings, AIED 2003, 2003, pp. 565‐577. [20] P. Suraweera and A. Mitrovic, ʺKERMIT: a Constraint‐based Tutor for Database Modeling,ʺ in Proc. 6th Int. Conf on Intelligent Tutoring Systems ITS 2002. Biarritz, France, 2002, pp. 377‐387. [21] M. Mayo, A. Mitrovic, and J. McKenzie, ʺCAPIT: an Intelligent Tutoring System for Capitalization and Punctuation,ʺ in International Workshop for Advanced Learning Technologies IWALT2000. Palmerston North, 2000, pp. 151‐ 154. [22] B. Martin and A. Mitrovic, ʺTailoring Feedback by Correcting Student Answers,ʺ in Proceedings ITS 2000, 2000, pp. 383‐392. [23] B. Martin and A. Mitrovic, ʺAutomatic Problem Generation in Constraint‐ Based Tutors,ʺ in Proc. 6th Int. Conf on Intelligent Tutoring Systems ITS 2002. France, 2002, pp. 388‐398. [24] Y. Zhou and M. W. Evens, ʺA Practical Student Model in an Intelligent Tutoring System,ʺ in Proceedings of the 11th IEEE International Conference on Tools with Artificial Intelligence. Chicago, IL, 1999, pp. 13‐18. [25] B. Martin and A. Mitrovic, ʺWETAS: A Web‐Based Authoring System for Constraint‐Based ITS,ʺ in Proceedings of the Second International Conference on Adaptive Hypermedia and Adaptive Web‐Based Systems. Malaga: Springer, 2002, pp. 543‐546. 75 [26] M. Mayo and A. Mitrovic, ʺUsing a Probabilistic Student Model to Control Problem Difficulty,ʺ in Proceedings ITS 2000: Springer, 2000, pp. 524‐533. [27] P. Suraweera, ʺProgress report for Automatic Acquisition of Knowledge for Intelligent Tutoring Systems,ʺ University of Canterbury, 2004. [28] D. Smyth, Thai An Essential Grammar: RoutLedge, 2002. [29] J. Kay, ʺStereotypes, Student Models and Scrutability,ʺ in Proceedings ITS 2000, Intelligent Teaching Systems Conference: Springer, 2000. [30] L. S. Vygotsky, Mind in society: The development of higher psychological processes. Cambridge, MA: Harvard University Press, 1978. [31] E. F. Hill, Jess in Action. Rule‐Based Systems in Java: Manning Publications, 2003. [32] M. Denny, ʺOntology Building: A Survey of Editing Tools,ʺ vol. 2004: OʹReilly XML.com, 2002. [33] D. Greg, ʺUnderstanding Student Guessing Strategies Within 5‐Option Multiple‐Choice Tests,ʺ in Proceedings of CLaSIC 2004. Singapore, 2004, pp. 223‐237. [34] A. Mary and J. Greer, ʺEvaluation Methodologies for Intelligent Tutoring Systems,ʺ in Journal of Artificial Intelligence in Education, 1993. [35] S. Ainsworth, ʺEvaluation Methods for Learning Environments,ʺ in AIED2003 Artificial Intelligence in Education, 2003. [36] J. D. Parry and A. M. Hofmeister, ʺThe development and validation of an expert system for special educators.,ʺ in Learning Disability Quarterly, vol. 9 (2), 1986, pp. 124‐132. [37] A. I. Cristea, T. Okamoto, and P. Cristea, ʺMyEnglishTeacher‐ An Evolutionary, Web‐based, multi‐Agent Environment for Academic English Teaching,ʺ in Proc. of Congress on Evolutionary Computation. San Diego, USA, 2000. [38] J. Kay, ʺLearner Control,ʺ User Modeling and User‐Adapted Interaction, vol. 11, pp. 111‐127, 2001. [39] V. Zampa and B. Lemaire, ʺLatent Semantic Analysis for User Modeling,ʺ in Journal of Intelligent Information Systems, vol. 18: Kluwer Academic Publishers, 2001, pp. 15‐30. 76 APPENDICES Appendix I: Constraints Level 1 Basic (7) - C1.1_iconsMid - C1.2_iconsHi - C1.3_iconsLow - C1.4_econsSono - C1.5_econsStop - C1.6_longVowel - C1.7_shortVowel ; ; ; ; ; ; ; Level 2 Advanced (13) - C2.1_realclusters ; - C2.2_shcons ; - C2.3_smcons ; - C2.4_chang9vowels ; ; - C2.5_invVowelo ; - C2.6a_svowelam ; - C2.6b_svowelaw ; - C2.6c_svowelay ; - C2.7a_diphthongua ; - C2.7b_diphthongia ; - C2.7c_diphthongUa ; - C2.8_invVowelcc ; - C2.9_sClusterthr ; mid initial consonants high initial consonants low initial consonants sonorant final consonants stop final consonants long vowels short vowels 11 real clusters combinations special high consonant clusters special mid consonant clusters vowels whose written form change with the presence of a final consonant invisible vowel ‘o’ special vowel ‘am’ special vowel ‘aw’ special vowel ‘ay’ diphthong class of vowel ‘ua’ diphthong class of vowel ‘ia’ diphthong class of vowel ‘a’ invisible vowel ‘’ special initial cluster ‘thr’ Level 3 Tone Rules and Exceptions (18) - C3.1_midcons1a ; mid + longv - C3.1_midcons1b ; mid + longv + sono - C3.1_midcons1c ; mid + shortv + sono - C3.2_midcons2a ; mid + shortv - C3.2_midcons2b ; mid + shortv + stop - C3.2_midcons2c ; mid + longv + stop - C3.3_highcons1a ; high + longv - C3.3_highcons1b ; high + longv + sono - C3.3_highcons1c ; high + shortv + sono - C3.4_highcons2a ; high + shortv - C3.4_highcons2b ; high + shortv + stop - C3.4_highcons2c ; high + longv + stop - C3.5_lowcons1a ; low + longv - C3.5_lowcons1b ; low + longv + sono - C3.5_lowcons1c ; low + shortv + sono - C3.6_lowcons2a ; low + shortv - C3.6_lowcons2b ; low + shortv + stop - C3.7_lowcons3 ; low + longv + stop 77 Appendix II: Detailed Ontology Final consonants (8 sounds, 35 chars) (7 chars not used Vowels 9 long, 9 short, 3 special vowels, 3 diphthongs Changing vowels (/o/, /a/, //, / //, /e/, /ua/, //) with ending consonant Special hidden / when ending cons is i C G z / s v V) Special Vowels (/am/, /ay/, /aw/) /r/, /ri/, or /r/ without ending consonant homonym tone mkrs & short vowels maay muan (monkey tail) 20 words p83 maay malay for all the rest tone governed by 1st consonant, marker written over 2nd consonant Puesdo-clusters (2 syllable words) insert /a/ inbetween cons. unless 2nd cons is i then insert // p104 /?/ (4 words) p88 /h/ special high cons clusters p53 (7: , n,m,y,r,l,w) k if 2nd consonant is sono, 2nd syllable immediately after initial consonant with no vowel mi treated as /s/ (note: /thr/ does not exist) p106 1st consonant unpronounced, tone rule follows /?/ or /h/ follows tone rules of 1st consonant eg. -o, (4 exceptions in table 46 Stops (25) d-8S t f90 =:mTR w; h sV v k 79 Appendix III: IPA characters Taken from http://www.arts.gla.ac.uk/IPA (International Phonetic Association website) Note that only a subset of the full IPA alphabet is used for the transcription of Thai in Thairator. 80 Appendix IV: Thai alphabet Taken from http://www.fedu.uec.ac.jp/ZzzThai/thailang The 44 consonants. The 32 vowel forms The tone markers Thai numerals (0‐9) 81 Appendix V: Pre-test and Post-test Thairator Pre-test Name: _______________ Just relax and just do those that you know. ๑) กาว ๒) เรียน ๓) บวม ๔) เปอย ๕) หลง ๖) นั่ง ๗) เพิ่ม ๘) กร ๙) ปราม ๑๐) เผ็ด ๑๑) ชัก ๑๒) ซึ้ง ๑๓) ทรุด ๑๔) เกง ๑๕) ขวาง ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ 82 Thairator Post-test Now let us try again. You should have improved. If you have not, it’s the computer’s fault. ๑) กวด ๒) เพียร ๓) เตื้อง ๔) เรื่อย ๕) ปลน ๖) ทั้ง ๗) เชิญ ๘) กล ๙) ความ ๑๐) เม็ด ๑๑) หยอง ๑๒) ซวย ๑๓) ทรัพย ๑๔) หวิว ๑๕) เบียด ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ 83 Appendix VI : Feedback Form Thairator™ User study Feedback Form Name : ____________________________________ Faculty / Year : ____________________________________ Age Range : 18 – 21 22 – 25 Gender : male female 26 – 30 Your computer skills can be described as: Novice 1 Expert 2 3 4 5 Your Thai language skills can be described as: Non-existent 1 Fluent 2 3 4 Have you ever used an intelligent tutoring system before? 5 Yes No If yes, please describe briefly __________________________________________________ PTO 84 Thairator Please rate your agreement or disagreement with the following statements. Strongly disagree 1 Disagree 2 Neutral 3 Agree 4 Strongly agree 5 General 1. I enjoyed the experience with Thairator 2. My interest was piqued by Thairator 3. I understand some Thai writing concepts better 4. The interface is intuitive. Main Exercises 5. The questions were well organized 6. The questions were suited to my skill level 7. The amount of feedback was appropriate and understandable DCBQs 8. The DCBQs were of appropriate difficulty 9. The DCBQs tested my understanding of the concepts well 10. The DCBQs exposed incomplete understanding in my concepts Other comments: Do you have any suggestions on how the system can be improved? ____________________________________________________________________________________________ ____________________________________________________________________________________________ -The End - 85 Appendix VII : Raw Student Model Variation Data 1) AT -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 71 key = C3.2_midcons2b? 71 key = C3.2_midcons2a? 71 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 82 key = C2.6b_svowelaw? 58 key = C3.7_lowcons3? 73 key = C2.7a_diphthongua? 70 key = C1.7_shortVowel? 89 key = C2.6c_svowelay? 76 key = C1.5_econsStop? 87 key = C2.1_realclusters? 76 key = C3.3_highcons1c? 66 key = C3.3_highcons1b? 66 key = C3.3_highcons1a? 66 key = C1.6_longVowel? 82 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 70 key = C2.9_sClusterthr? 52 key = C1.1_iconsMid? 82 key = C3.4_highcons2c? 65 key = C3.4_highcons2b? 65 key = C3.5_lowcons1c? 68 key = C3.5_lowcons1b? 68 key = C2.8_invVowelcc? 55 key = C3.4_highcons2a? 65 key = C3.5_lowcons1a? 68 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 82 key = C2.5_invVowelo? 74 key = C3.1_midcons1c? 66 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 71 key = C2.2_shcons? 70 key = C1.2_iconsHi? 82 -------------------------------- -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 71 key = C3.2_midcons2b? 71 key = C3.2_midcons2a? 74 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 69 key = C2.6b_svowelaw? 58 key = C3.7_lowcons3? 76 key = C2.7a_diphthongua? 76 key = C1.7_shortVowel? 111 key = C2.6c_svowelay? 76 key = C1.5_econsStop? 87 key = C2.1_realclusters? 76 key = C3.3_highcons1c? 66 key = C3.3_highcons1b? 66 key = C3.3_highcons1a? 69 key = C1.6_longVowel? 75 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 70 key = C2.9_sClusterthr? 52 key = C1.1_iconsMid? 69 key = C3.4_highcons2c? 65 key = C3.4_highcons2b? 65 key = C3.5_lowcons1c? 68 key = C3.5_lowcons1b? 74 key = C2.8_invVowelcc? 55 key = C3.4_highcons2a? 65 key = C3.5_lowcons1a? 68 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 79 key = C2.5_invVowelo? 74 key = C3.1_midcons1c? 66 key = C3.1_midcons1b? 74 key = C3.1_midcons1a? 75 key = C2.2_shcons? 73 key = C1.2_iconsHi? 82 -------------------------------- osc = 3 osc = 4 86 2) XY -------------------------------key = C3.2_midcons2c? 73 key = C2.6a_svowelam? 60 key = C3.2_midcons2b? 73 key = C3.2_midcons2a? 73 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 62 key = C2.6b_svowelaw? 58 key = C2.7a_diphthongua? 73 key = C3.7_lowcons3? 73 key = C1.7_shortVowel? 72 key = C2.6c_svowelay? 81 key = C1.5_econsStop? 72 key = C2.1_realclusters? 78 key = C3.3_highcons1c? 71 key = C3.3_highcons1b? 71 key = C3.3_highcons1a? 71 key = C1.6_longVowel? 62 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 78 key = C2.9_sClusterthr? 67 key = C1.1_iconsMid? 62 key = C3.4_highcons2c? 68 key = C3.4_highcons2b? 68 key = C3.5_lowcons1c? 71 key = C3.5_lowcons1b? 71 key = C2.8_invVowelcc? 70 key = C3.4_highcons2a? 68 key = C3.5_lowcons1a? 71 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 62 key = C2.5_invVowelo? 79 key = C3.1_midcons1c? 71 key = C3.1_midcons1b? 71 key = C2.2_shcons? 68 key = C3.1_midcons1a? 71 key = C1.2_iconsHi? 62 -------------------------------- -------------------------------key = C3.2_midcons2c? 73 key = C2.6a_svowelam? 60 key = C3.2_midcons2b? 73 key = C3.2_midcons2a? 73 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 62 key = C2.6b_svowelaw? 57 key = C2.7a_diphthongua? 56 key = C3.7_lowcons3? 88 key = C1.7_shortVowel? 72 key = C2.6c_svowelay? 81 key = C1.5_econsStop? 72 key = C2.1_realclusters? 94 key = C3.3_highcons1c? 71 key = C3.3_highcons1b? 90 key = C3.3_highcons1a? 102 key = C1.6_longVowel? 55 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 78 key = C2.9_sClusterthr? 67 key = C1.1_iconsMid? 62 key = C3.4_highcons2c? 68 key = C3.4_highcons2b? 68 key = C3.5_lowcons1c? 71 key = C3.5_lowcons1b? 56 key = C2.8_invVowelcc? 70 key = C3.4_highcons2a? 68 key = C3.5_lowcons1a? 85 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 78 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 62 key = C2.5_invVowelo? 79 key = C3.1_midcons1c? 71 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 85 key = C2.2_shcons? 72 key = C1.2_iconsHi? 62 -------------------------------- osc = 5 osc = 7 87 3) QB -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 71 key = C3.2_midcons2b? 71 key = C3.2_midcons2a? 71 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 82 key = C2.6b_svowelaw? 58 key = C3.7_lowcons3? 73 key = C2.7a_diphthongua? 70 key = C1.7_shortVowel? 89 key = C2.6c_svowelay? 76 key = C1.5_econsStop? 87 key = C2.1_realclusters? 76 key = C3.3_highcons1c? 66 key = C3.3_highcons1b? 66 key = C3.3_highcons1a? 66 key = C1.6_longVowel? 82 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 70 key = C2.9_sClusterthr? 52 key = C1.1_iconsMid? 82 key = C3.4_highcons2c? 65 key = C3.5_lowcons1c? 71 key = C3.4_highcons2b? 65 key = C3.5_lowcons1b? 68 key = C2.8_invVowelcc? 55 key = C3.4_highcons2a? 65 key = C3.5_lowcons1a? 68 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 82 key = C2.5_invVowelo? 74 key = C3.1_midcons1c? 66 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 71 key = C2.2_shcons? 70 key = C1.2_iconsHi? 82 -------------------------------- -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 71 key = C3.2_midcons2b? 71 key = C3.2_midcons2a? 74 key = C2.7c_diphthongUa? 66 key = C1.3_iconsLow? 94 key = C2.6b_svowelaw? 59 key = C3.7_lowcons3? 73 key = C2.7a_diphthongua? 70 key = C1.7_shortVowel? 134 key = C2.6c_svowelay? 76 key = C1.5_econsStop? 87 key = C2.1_realclusters? 79 key = C3.3_highcons1c? 66 key = C3.3_highcons1b? 66 key = C3.3_highcons1a? 66 key = C1.6_longVowel? 76 key = C2.3_smcons? 61 key = C2.4_chang9vowels? 70 key = C2.9_sClusterthr? 52 key = C1.1_iconsMid? 108 key = C3.4_highcons2c? 65 key = C3.5_lowcons1c? 71 key = C3.4_highcons2b? 65 key = C3.5_lowcons1b? 71 key = C2.8_invVowelcc? 55 key = C3.4_highcons2a? 65 key = C3.5_lowcons1a? 68 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 76 key = C1.4_econsSono? 79 key = C2.5_invVowelo? 74 key = C3.1_midcons1c? 66 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 71 key = C2.2_shcons? 80 key = C1.2_iconsHi? 82 -------------------------------- osc = 3 osc = 3 88 4) KS -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 73 key = C3.2_midcons2b? 73 key = C3.2_midcons2a? 78 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 62 key = C2.6b_svowelaw? 58 key = C2.7a_diphthongua? 73 key = C3.7_lowcons3? 73 key = C1.7_shortVowel? 72 key = C2.6c_svowelay? 81 key = C1.5_econsStop? 72 key = C2.1_realclusters? 78 key = C3.3_highcons1c? 71 key = C3.3_highcons1b? 71 key = C3.3_highcons1a? 71 key = C1.6_longVowel? 62 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 78 key = C2.9_sClusterthr? 67 key = C1.1_iconsMid? 62 key = C3.4_highcons2c? 68 key = C3.4_highcons2b? 68 key = C3.5_lowcons1c? 71 key = C3.5_lowcons1b? 71 key = C2.8_invVowelcc? 70 key = C3.4_highcons2a? 68 key = C3.5_lowcons1a? 71 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 62 key = C2.5_invVowelo? 79 key = C3.1_midcons1c? 71 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 71 key = C2.2_shcons? 68 key = C1.2_iconsHi? 62 -------------------------------- -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 73 key = C3.2_midcons2b? 73 key = C3.2_midcons2a? 61 key = C2.7c_diphthongUa? 49 key = C1.3_iconsLow? 54 key = C2.6b_svowelaw? 47 key = C2.7a_diphthongua? 61 key = C3.7_lowcons3? 94 key = C1.7_shortVowel? 77 key = C2.6c_svowelay? 81 key = C1.5_econsStop? 60 key = C2.1_realclusters? 88 key = C3.3_highcons1c? 71 key = C3.3_highcons1b? 80 key = C3.3_highcons1a? 71 key = C1.6_longVowel? 9 key = C2.3_smcons? 77 key = C2.4_chang9vowels? 83 key = C2.9_sClusterthr? 52 key = C1.1_iconsMid? 17 key = C3.4_highcons2c? 68 key = C3.4_highcons2b? 68 key = C3.5_lowcons1c? 71 key = C3.5_lowcons1b? 44 key = C2.8_invVowelcc? 58 key = C3.4_highcons2a? 68 key = C3.5_lowcons1a? 67 key = C2.7b_diphthongia? 49 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 28 key = C2.5_invVowelo? 84 key = C3.1_midcons1c? 71 key = C3.1_midcons1b? 80 key = C3.1_midcons1a? 52 key = C2.2_shcons? 68 key = C1.2_iconsHi? 66 -------------------------------- osc = 5 osc = 6 89 5) AM -------------------------------key = C3.2_midcons2c? 73 key = C2.6a_svowelam? 60 key = C3.2_midcons2b? 73 key = C3.2_midcons2a? 78 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 62 key = C2.6b_svowelaw? 58 key = C2.7a_diphthongua? 73 key = C3.7_lowcons3? 73 key = C1.7_shortVowel? 72 key = C2.6c_svowelay? 81 key = C1.5_econsStop? 72 key = C2.1_realclusters? 78 key = C3.3_highcons1c? 71 key = C3.3_highcons1b? 71 key = C3.3_highcons1a? 71 key = C1.6_longVowel? 62 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 78 key = C2.9_sClusterthr? 67 key = C1.1_iconsMid? 62 key = C3.4_highcons2c? 68 key = C3.5_lowcons1c? 71 key = C3.4_highcons2b? 68 key = C3.5_lowcons1b? 71 key = C2.8_invVowelcc? 70 key = C3.4_highcons2a? 68 key = C3.5_lowcons1a? 71 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 62 key = C2.5_invVowelo? 79 key = C3.1_midcons1c? 71 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 71 key = C2.2_shcons? 68 key = C1.2_iconsHi? 62 -------------------------------- -------------------------------key = C3.2_midcons2c? 78 key = C2.6a_svowelam? 60 key = C3.2_midcons2b? 73 key = C3.2_midcons2a? 83 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 48 key = C2.6b_svowelaw? 58 key = C2.7a_diphthongua? 56 key = C3.7_lowcons3? 83 key = C1.7_shortVowel? 56 key = C2.6c_svowelay? 86 key = C1.5_econsStop? 72 key = C2.1_realclusters? 61 key = C3.3_highcons1c? 71 key = C3.3_highcons1b? 71 key = C3.3_highcons1a? 75 key = C1.6_longVowel? 41 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 78 key = C2.9_sClusterthr? 67 key = C1.1_iconsMid? 41 key = C3.4_highcons2c? 68 key = C3.5_lowcons1c? 56 key = C3.4_highcons2b? 68 key = C3.5_lowcons1b? 63 key = C2.8_invVowelcc? 58 key = C3.4_highcons2a? 68 key = C3.5_lowcons1a? 56 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 55 key = C2.5_invVowelo? 79 key = C3.1_midcons1c? 71 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 47 key = C2.2_shcons? 53 key = C1.2_iconsHi? 62 -------------------------------- osc = 5 osc = 6 90 6) GB -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 73 key = C3.2_midcons2b? 73 key = C3.2_midcons2a? 73 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 62 key = C2.6b_svowelaw? 58 key = C3.7_lowcons3? 73 key = C2.7a_diphthongua? 73 key = C1.7_shortVowel? 72 key = C2.6c_svowelay? 81 key = C1.5_econsStop? 72 key = C2.1_realclusters? 78 key = C3.3_highcons1c? 71 key = C3.3_highcons1b? 71 key = C3.3_highcons1a? 71 key = C1.6_longVowel? 62 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 78 key = C2.9_sClusterthr? 67 key = C1.1_iconsMid? 62 key = C3.4_highcons2c? 68 key = C3.5_lowcons1c? 71 key = C3.4_highcons2b? 68 key = C3.5_lowcons1b? 71 key = C2.8_invVowelcc? 70 key = C3.4_highcons2a? 68 key = C3.5_lowcons1a? 71 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 62 key = C2.5_invVowelo? 79 key = C3.1_midcons1c? 71 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 71 key = C2.2_shcons? 68 key = C1.2_iconsHi? 62 -------------------------------- -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 73 key = C3.2_midcons2b? 73 key = C3.2_midcons2a? 65 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 62 key = C2.6b_svowelaw? 56 key = C3.7_lowcons3? 78 key = C2.7a_diphthongua? 73 key = C1.7_shortVowel? 60 key = C2.6c_svowelay? 81 key = C1.5_econsStop? 72 key = C2.1_realclusters? 69 key = C3.3_highcons1c? 71 key = C3.3_highcons1b? 75 key = C3.3_highcons1a? 71 key = C1.6_longVowel? 79 key = C2.3_smcons? 87 key = C2.4_chang9vowels? 83 key = C2.9_sClusterthr? 67 key = C1.1_iconsMid? 62 key = C3.4_highcons2c? 68 key = C3.5_lowcons1c? 71 key = C3.4_highcons2b? 68 key = C3.5_lowcons1b? 56 key = C2.8_invVowelcc? 74 key = C3.4_highcons2a? 68 key = C3.5_lowcons1a? 56 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 78 key = C1.4_econsSono? 62 key = C2.5_invVowelo? 79 key = C3.1_midcons1c? 71 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 90 key = C2.2_shcons? 77 key = C1.2_iconsHi? 62 -------------------------------- osc = 5 osc = 6 91 7) VA -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 71 key = C3.2_midcons2b? 71 key = C3.2_midcons2a? 71 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 82 key = C2.6b_svowelaw? 58 key = C2.7a_diphthongua? 70 key = C3.7_lowcons3? 73 key = C1.7_shortVowel? 89 key = C2.6c_svowelay? 76 key = C1.5_econsStop? 87 key = C2.1_realclusters? 76 key = C3.3_highcons1c? 66 key = C3.3_highcons1b? 66 key = C3.3_highcons1a? 66 key = C1.6_longVowel? 82 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 70 key = C2.9_sClusterthr? 52 key = C1.1_iconsMid? 82 key = C3.4_highcons2c? 65 key = C3.4_highcons2b? 65 key = C3.5_lowcons1c? 68 key = C3.5_lowcons1b? 68 key = C2.8_invVowelcc? 55 key = C3.4_highcons2a? 65 key = C3.5_lowcons1a? 68 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 82 key = C2.5_invVowelo? 74 key = C3.1_midcons1c? 66 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 71 key = C2.2_shcons? 70 key = C1.2_iconsHi? 82 -------------------------------- -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 71 key = C3.2_midcons2b? 71 key = C3.2_midcons2a? 80 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 86 key = C2.6b_svowelaw? 59 key = C2.7a_diphthongua? 79 key = C3.7_lowcons3? 73 key = C1.7_shortVowel? 75 key = C2.6c_svowelay? 76 key = C1.5_econsStop? 87 key = C2.1_realclusters? 79 key = C3.3_highcons1c? 66 key = C3.3_highcons1b? 75 key = C3.3_highcons1a? 66 key = C1.6_longVowel? 90 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 70 key = C2.9_sClusterthr? 52 key = C1.1_iconsMid? 69 key = C3.4_highcons2c? 65 key = C3.4_highcons2b? 65 key = C3.5_lowcons1c? 68 key = C3.5_lowcons1b? 68 key = C2.8_invVowelcc? 55 key = C3.4_highcons2a? 65 key = C3.5_lowcons1a? 68 key = C2.7b_diphthongia? 66 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 90 key = C2.5_invVowelo? 74 key = C3.1_midcons1c? 66 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 69 key = C2.2_shcons? 70 key = C1.2_iconsHi? 82 -------------------------------- osc = 3 osc = 4 92 8) JH -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 73 key = C3.2_midcons2b? 73 key = C3.2_midcons2a? 73 key = C2.7c_diphthongUa? 70 key = C1.3_iconsLow? 62 key = C2.6b_svowelaw? 58 key = C2.7a_diphthongua? 78 key = C3.7_lowcons3? 73 key = C1.7_shortVowel? 72 key = C2.6c_svowelay? 81 key = C1.5_econsStop? 72 key = C2.1_realclusters? 78 key = C3.3_highcons1c? 71 key = C3.3_highcons1b? 71 key = C3.3_highcons1a? 71 key = C1.6_longVowel? 62 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 78 key = C2.9_sClusterthr? 67 key = C1.1_iconsMid? 62 key = C3.4_highcons2c? 68 key = C3.4_highcons2b? 68 key = C3.5_lowcons1c? 71 key = C3.5_lowcons1b? 71 key = C2.8_invVowelcc? 75 key = C3.4_highcons2a? 68 key = C3.5_lowcons1a? 71 key = C2.7b_diphthongia? 70 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 62 key = C2.5_invVowelo? 79 key = C3.1_midcons1c? 71 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 71 key = C2.2_shcons? 70 key = C1.2_iconsHi? 62 -------------------------------- -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 73 key = C3.2_midcons2b? 73 key = C3.2_midcons2a? 73 key = C2.7c_diphthongUa? 70 key = C1.3_iconsLow? 48 key = C2.6b_svowelaw? 58 key = C2.7a_diphthongua? 78 key = C3.7_lowcons3? 73 key = C1.7_shortVowel? 72 key = C2.6c_svowelay? 81 key = C1.5_econsStop? 72 key = C2.1_realclusters? 61 key = C3.3_highcons1c? 71 key = C3.3_highcons1b? 71 key = C3.3_highcons1a? 71 key = C1.6_longVowel? 51 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 78 key = C2.9_sClusterthr? 67 key = C1.1_iconsMid? 62 key = C3.4_highcons2c? 68 key = C3.4_highcons2b? 68 key = C3.5_lowcons1c? 71 key = C3.5_lowcons1b? 59 key = C2.8_invVowelcc? 80 key = C3.4_highcons2a? 68 key = C3.5_lowcons1a? 56 key = C2.7b_diphthongia? 70 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 62 key = C2.5_invVowelo? 79 key = C3.1_midcons1c? 71 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 80 key = C2.2_shcons? 70 key = C1.2_iconsHi? 62 -------------------------------- osc = 5 osc = 6 93 9) ME -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 71 key = C3.2_midcons2b? 71 key = C3.2_midcons2a? 71 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 82 key = C2.6b_svowelaw? 58 key = C2.7a_diphthongua? 70 key = C3.7_lowcons3? 73 key = C1.7_shortVowel? 89 key = C2.6c_svowelay? 76 key = C1.5_econsStop? 87 key = C2.1_realclusters? 76 key = C3.3_highcons1c? 66 key = C3.3_highcons1b? 66 key = C3.3_highcons1a? 66 key = C1.6_longVowel? 82 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 70 key = C2.9_sClusterthr? 52 key = C1.1_iconsMid? 82 key = C3.4_highcons2c? 65 key = C3.5_lowcons1c? 68 key = C3.4_highcons2b? 65 key = C3.5_lowcons1b? 68 key = C2.8_invVowelcc? 55 key = C3.4_highcons2a? 65 key = C3.5_lowcons1a? 68 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 82 key = C2.5_invVowelo? 74 key = C3.1_midcons1c? 66 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 71 key = C2.2_shcons? 70 key = C1.2_iconsHi? 82 -------------------------------- -------------------------------key = C2.6a_svowelam? 60 key = C3.2_midcons2c? 71 key = C3.2_midcons2b? 71 key = C3.2_midcons2a? 60 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 75 key = C2.6b_svowelaw? 59 key = C2.7a_diphthongua? 76 key = C3.7_lowcons3? 73 key = C1.7_shortVowel? 78 key = C2.6c_svowelay? 76 key = C1.5_econsStop? 87 key = C2.1_realclusters? 70 key = C3.3_highcons1c? 66 key = C3.3_highcons1b? 66 key = C3.3_highcons1a? 69 key = C1.6_longVowel? 81 key = C2.3_smcons? 75 key = C2.4_chang9vowels? 70 key = C2.9_sClusterthr? 52 key = C1.1_iconsMid? 69 key = C3.4_highcons2c? 65 key = C3.5_lowcons1c? 71 key = C3.4_highcons2b? 65 key = C3.5_lowcons1b? 68 key = C2.8_invVowelcc? 55 key = C3.4_highcons2a? 65 key = C3.5_lowcons1a? 68 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 69 key = C2.5_invVowelo? 74 key = C3.1_midcons1c? 66 key = C3.1_midcons1b? 74 key = C3.1_midcons1a? 60 key = C2.2_shcons? 73 key = C1.2_iconsHi? 82 -------------------------------- osc = 3 osc = 4 94 10) SH -------------------------------key = C3.2_midcons2c? 71 key = C2.6a_svowelam? 60 key = C3.2_midcons2b? 71 key = C3.2_midcons2a? 71 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 82 key = C2.6b_svowelaw? 58 key = C2.7a_diphthongua? 70 key = C3.7_lowcons3? 73 key = C1.7_shortVowel? 89 key = C2.6c_svowelay? 76 key = C1.5_econsStop? 87 key = C2.1_realclusters? 76 key = C3.3_highcons1c? 66 key = C3.3_highcons1b? 66 key = C3.3_highcons1a? 66 key = C1.6_longVowel? 82 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 70 key = C2.9_sClusterthr? 52 key = C1.1_iconsMid? 82 key = C3.4_highcons2c? 65 key = C3.5_lowcons1c? 68 key = C3.4_highcons2b? 65 key = C3.5_lowcons1b? 68 key = C2.8_invVowelcc? 55 key = C3.4_highcons2a? 65 key = C3.5_lowcons1a? 68 key = C2.7b_diphthongia? 63 key = C3.6_lowcons2b? 73 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 82 key = C2.5_invVowelo? 74 key = C3.1_midcons1c? 66 key = C3.1_midcons1b? 71 key = C3.1_midcons1a? 71 key = C2.2_shcons? 70 key = C1.2_iconsHi? 82 -------------------------------- -------------------------------key = C3.2_midcons2c? 80 key = C2.6a_svowelam? 60 key = C3.2_midcons2b? 71 key = C3.2_midcons2a? 74 key = C2.7c_diphthongUa? 63 key = C1.3_iconsLow? 82 key = C2.6b_svowelaw? 57 key = C2.7a_diphthongua? 70 key = C3.7_lowcons3? 90 key = C1.7_shortVowel? 97 key = C2.6c_svowelay? 79 key = C1.5_econsStop? 91 key = C2.1_realclusters? 76 key = C3.3_highcons1c? 66 key = C3.3_highcons1b? 66 key = C3.3_highcons1a? 66 key = C1.6_longVowel? 86 key = C2.3_smcons? 72 key = C2.4_chang9vowels? 70 key = C2.9_sClusterthr? 54 key = C1.1_iconsMid? 69 key = C3.4_highcons2c? 65 key = C3.5_lowcons1c? 68 key = C3.4_highcons2b? 65 key = C3.5_lowcons1b? 74 key = C2.8_invVowelcc? 56 key = C3.4_highcons2a? 65 key = C3.5_lowcons1a? 71 key = C2.7b_diphthongia? 66 key = C3.6_lowcons2b? 76 key = C3.6_lowcons2a? 73 key = C1.4_econsSono? 86 key = C2.5_invVowelo? 74 key = C3.1_midcons1c? 66 key = C3.1_midcons1b? 74 key = C3.1_midcons1a? 60 key = C2.2_shcons? 73 key = C1.2_iconsHi? 82 -------------------------------- osc = 3 osc = 6 95 1. 1_ ic on C sM 1. id 2_ C i co ? 1. ns 3_ H ic i? C on 1. sL 4_ o ec w ? on C sS 1. 5_ on ec o? on C 1. sS 6_ to lo p? C ng 1. V 7_ s h owe or C l? 2. 1_ tVo w re el al ? cl us C te 2. rs 2_ ? sh C co C 2. ns 2. 3 _ 4_ ? c h sm co an ns g9 ? C vo 2. w 5_ el in s ? vV C 2. ow 6a el _s o C vo ? 2. w 6b _ s ela m vo ? C w 2. el 6c aw _s C ? 2. vo 7a w el _d ay ip C ? h 2. 7b th o ng _d C u ip a? 2. ht 7c ho _d ng ip ia C ht ? 2. 8_ hon gU in vV a? C o 2. 9_ wel cc sC ? lu C st 3. er 1_ th m r? id C co 3. ns 1_ 1a m id ? C co 3. 1_ ns 1b m i dc ? C 3. on 2_ s1 m c i ? dc C 3. on 2_ s2 m a? id C co 3. 2_ ns m 2b C id ? 3. co 3_ ns hi 2 gh c? C co 3. 3_ ns hi gh 1 a? C 3. co 3_ ns hi gh 1 b? C co 3. 4_ ns hi gh 1 c? C co 3. 4_ ns hi gh 2 a? C 3. co 4_ ns hi gh 2 b? C co 3. 5_ ns lo 2c w ? C c 3. on 5_ s1 lo a? w C c 3. 5_ o ns 1b lo w ? C co 3. ns 6_ 1c lo w ? C co 3. ns 6_ 2a lo w ? co C 3. n 7_ s2 b? lo w co ns 3? C Weights 1. 1_ ic on C sM 1. id 2_ ? ic C on 1. 3_ sH i c i ? C on 1. sL 4_ ow ec ? on C sS 1. 5_ on ec o? on C 1. s St 6_ op lo C ng ? 1. V 7_ ow sh el o ? C r tV 2. 1_ ow re el al ? cl us C te 2. rs 2_ ? sh C co 2. C ns 2. 3_ 4_ sm ? ch co an ns g9 ? C vo 2. w 5_ el in s ? vV C 2. ow 6a el _s o C ? vo 2. w 6b _ s elam vo ? C w 2. el 6c aw _s C ? 2. vo 7a w el _d ay ip C ? ht 2. ho 7b ng _d u C i a? ph 2. th 7c on _d gi ip a? C ht 2. 8_ hon gU in vV a? C ow 2. e 9_ s C lc c? lu C st 3. er 1_ th m r? i d C co 3. ns 1_ 1a m id ? C co 3. ns 1_ 1b m id ? C co 3. ns 2_ 1c m id C co ? 3. ns 2_ 2a m id ? C co 3. ns 2_ 2b m id C ? co 3. 3_ ns hi 2 c? gh C co 3. 3_ ns hi 1 a? gh C co 3. 3_ ns hi 1 b? gh C co 3. 4_ ns hi 1 c gh C co ? 3. 4_ ns hi 2 a? gh C co 3. 4_ ns hi 2b gh ? C co 3. 5_ ns lo 2c w ? C co 3. ns 5_ 1a lo w ? C co 3. ns 5_ 1b lo w ? C co 3. ns 6_ 1c lo w ? C co 3. ns 6_ 2 lo a? w co C 3. 7_ ns2 b? lo w co ns 3? C Weights Appendix VIII : Charts of Student Model Variation Subject: AT 120 110 100 90 80 70 60 50 40 Constraints Constraints End Start Subject: XY 110 100 90 80 70 60 50 40 Start End 96 C co ns M 1. id 2_ ? ic C on 1. 3_ sH i c i? C on 1. sL 4_ ow ec ? on C sS 1. 5_ on ec o? on C 1. sS 6_ to lo p? C n g 1. V 7_ o w sh el or ? C tV 2. 1_ ow re el al ? cl us C te 2. r s? 2_ sh C co 2. C ns 2. 3_ 4_ sm ? ch co an ns g9 ? C vo 2. w 5_ el in s ? vV C 2. ow 6a el _s o? C vo 2. w 6b _ s elam vo ? C w 2. el 6c aw _ C sv ? 2. ow 7a el _d a i y? ph C 2. 7b th o ng _d u C ip a? 2. ht 7c ho _d ng ip ia C ht ? 2. 8_ hon gU in vV a ? C ow 2. e 9_ s C lc c? lu C st 3. er 1_ th m r id C co ? 3. ns 1_ 1a m id ? C co 3. ns 1_ 1b m id ? C co 3. ns 2_ 1c m id C co ? 3. ns 2_ 2a m id ? C co 3. ns 2_ 2b m id C ? co 3. 3_ ns hi 2 c? gh C co 3. 3_ ns hi 1 a? gh C co 3. 3_ ns hi 1 b? gh C co 3. 4_ ns hi 1 c gh C co ? 3. 4_ ns hi 2 a? gh C co 3. 4_ ns hi 2b gh ? C co 3. 5_ ns lo 2c w ? C co 3. ns 5_ 1a lo w ? C co 3. ns 5_ 1b lo w ? C co 3. ns 6_ 1c lo w ? C co 3. ns 6_ 2 lo a? w co C 3. 7_ ns2 b? lo w co ns 3? C 1. 1_ i Weights co ns M 1. id 2_ ? ic C on 1. 3_ sH i c i? C on 1. sL 4_ ow ec ? on C sS 1. 5_ on ec o? on C 1. sS 6_ to lo p? C n g 1. V 7_ o w sh el or ? C tV 2. 1_ ow re el al ? cl us C te 2. r s? 2_ sh C co 2. C ns 2. 3_ 4_ sm ? ch co an ns g9 ? C vo 2. w 5_ el in s ? vV C 2. ow 6a el _s o? C vo 2. w 6b _ s elam vo ? C w 2. el 6c aw _ C sv ? 2. ow 7a el _d a i y? ph C 2. 7b th o ng _d u C ip a? 2. ht 7c ho _d ng ip ia C ht ? 2. 8_ hon gU in vV a ? C ow 2. e 9_ s C lc c? lu C st 3. er 1_ th m r id C co ? 3. ns 1_ 1a m id ? C co 3. ns 1_ 1b m id ? C co 3. ns 2_ 1c m id C co ? 3. ns 2_ 2a m id ? C co 3. ns 2_ 2b m id C ? co 3. 3_ ns hi 2 c? gh C co 3. 3_ ns hi 1 a? gh C co 3. 3_ ns hi 1 b? gh C co 3. 4_ ns hi 1 c gh C co ? 3. 4_ ns hi 2 a? gh C co 3. 4_ ns hi 2b gh ? C co 3. 5_ ns lo 2c w ? C co 3. ns 5_ 1a lo w ? C co 3. ns 5_ 1b lo w ? C co 3. ns 6_ 1c lo w ? C co 3. ns 6_ 2 lo a? w co C 3. 7_ ns2 b? lo w co ns 3? C C 1. 1_ i Weights Subject: QB 140 120 100 80 60 40 Constraints Constraints End Start Subject: KS 100 80 60 40 20 0 End Start 97 C co ns M 1. id 2_ ? ic C on 1. 3_ sH i c i? C on 1. sL 4_ ow ec ? on C sS 1. 5_ on ec o? on C 1. sS 6_ to lo p? C n g 1. V 7_ o w sh el or ? C tV 2. 1_ ow re el al ? cl us C te 2. r s? 2_ sh C co 2. C ns 2. 3_ 4_ sm ? ch co an ns g9 ? C vo 2. w 5_ el in s ? vV C 2. ow 6a el _s o? C vo 2. w 6b _ s elam vo ? C w 2. el 6c aw _ C sv ? 2. ow 7a el _d a i y? ph C 2. 7b th o ng _d u C ip a? 2. ht 7c ho _d ng ip ia C ht ? 2. 8_ hon gU in vV a ? C ow 2. e 9_ s C lc c? lu C st 3. er 1_ th m r id C co ? 3. ns 1_ 1a m id ? C co 3. ns 1_ 1b m id ? C co 3. ns 2_ 1c m id C co ? 3. ns 2_ 2a m id ? C co 3. ns 2_ 2b m id C ? co 3. 3_ ns hi 2 c? gh C co 3. 3_ ns hi 1 a? gh C co 3. 3_ ns hi 1 b? gh C co 3. 4_ ns hi 1 c gh C co ? 3. 4_ ns hi 2 a? gh C co 3. 4_ ns hi 2b gh ? C co 3. 5_ ns lo 2c w ? C co 3. ns 5_ 1a lo w ? C co 3. ns 5_ 1b lo w ? C co 3. ns 6_ 1c lo w ? C co 3. ns 6_ 2 lo a? w co C 3. 7_ ns2 b? lo w co ns 3? C 1. 1_ i Weights co ns M 1. id 2_ ? ic C on 1. 3_ sH i c i? C on 1. sL 4_ ow ec ? on C sS 1. 5_ on ec o? on C 1. sS 6_ to lo p? C n g 1. V 7_ o w sh el or ? C tV 2. 1_ ow re el al ? cl us C te 2. r s? 2_ sh C co 2. C ns 2. 3_ 4_ sm ? ch co an ns g9 ? C vo 2. w 5_ el in s ? vV C 2. ow 6a el _s o? C vo 2. w 6b _ s elam vo ? C w 2. el 6c aw _ C sv ? 2. ow 7a el _d a i y? ph C 2. 7b th o ng _d u C ip a? 2. ht 7c ho _d ng ip ia C ht ? 2. 8_ hon gU in vV a ? C ow 2. e 9_ s C lc c? lu C st 3. er 1_ th m r id C co ? 3. ns 1_ 1a m id ? C co 3. ns 1_ 1b m id ? C co 3. ns 2_ 1c m id C co ? 3. ns 2_ 2a m id ? C co 3. ns 2_ 2b m id C ? co 3. 3_ ns hi 2 c? gh C co 3. 3_ ns hi 1 a? gh C co 3. 3_ ns hi 1 b? gh C co 3. 4_ ns hi 1 c gh C co ? 3. 4_ ns hi 2 a? gh C co 3. 4_ ns hi 2b gh ? C co 3. 5_ ns lo 2c w ? C co 3. ns 5_ 1a lo w ? C co 3. ns 5_ 1b lo w ? C co 3. ns 6_ 1c lo w ? C co 3. ns 6_ 2 lo a? w co C 3. 7_ ns2 b? lo w co ns 3? C C 1. 1_ i Weights Subject: AM 90 80 70 60 50 40 Constraints Constraints End Start Subject: GB 100 90 80 70 60 50 40 End Start 98 C co ns M 1. id 2_ ? ic C on 1. 3_ sH i c i? C on 1. sL 4_ ow ec ? on C sS 1. 5_ on ec o? on C 1. sS 6_ to lo p? C n g 1. V 7_ o w sh el or ? C tV 2. 1_ ow re el al ? cl us C te 2. r s? 2_ sh C co 2. C ns 2. 3_ 4_ sm ? ch co an ns g9 ? C vo 2. w 5_ el in s ? vV C 2. ow 6a el _s o? C vo 2. w 6b _ s elam vo ? C w 2. el 6c aw _ C sv ? 2. ow 7a el _d a i y? ph C 2. 7b th o ng _d u C ip a? 2. ht 7c ho _d ng ip ia C ht ? 2. 8_ hon gU in vV a ? C ow 2. e 9_ s C lc c? lu C st 3. er 1_ th m r id C co ? 3. ns 1_ 1a m id ? C co 3. ns 1_ 1b m id ? C co 3. ns 2_ 1c m id C co ? 3. ns 2_ 2a m id ? C co 3. ns 2_ 2b m id C ? co 3. 3_ ns hi 2 c? gh C co 3. 3_ ns hi 1 a? gh C co 3. 3_ ns hi 1 b? gh C co 3. 4_ ns hi 1 c gh C co ? 3. 4_ ns hi 2 a? gh C co 3. 4_ ns hi 2b gh ? C co 3. 5_ ns lo 2c w ? C co 3. ns 5_ 1a lo w ? C co 3. ns 5_ 1b lo w ? C co 3. ns 6_ 1c lo w ? C co 3. ns 6_ 2 lo a? w co C 3. 7_ ns2 b? lo w co ns 3? C 1. 1_ i Weights co ns M 1. id 2_ ? ic C on 1. 3_ sH i c i? C on 1. sL 4_ ow ec ? on C sS 1. 5_ on ec o? on C 1. sS 6_ to lo p? C n g 1. V 7_ o w sh el or ? C tV 2. 1_ ow re el al ? cl us C te 2. r s? 2_ sh C co 2. C ns 2. 3_ 4_ sm ? ch co an ns g9 ? C vo 2. w 5_ el in s ? vV C 2. ow 6a el _s o? C vo 2. w 6b _ s elam vo ? C w 2. el 6c aw _ C sv ? 2. ow 7a el _d a i y? ph C 2. 7b th o ng _d u C ip a? 2. ht 7c ho _d ng ip ia C ht ? 2. 8_ hon gU in vV a ? C ow 2. e 9_ s C lc c? lu C st 3. er 1_ th m r id C co ? 3. ns 1_ 1a m id ? C co 3. ns 1_ 1b m id ? C co 3. ns 2_ 1c m id C co ? 3. ns 2_ 2a m id ? C co 3. ns 2_ 2b m id C ? co 3. 3_ ns hi 2 c? gh C co 3. 3_ ns hi 1 a? gh C co 3. 3_ ns hi 1 b? gh C co 3. 4_ ns hi 1 c gh C co ? 3. 4_ ns hi 2 a? gh C co 3. 4_ ns hi 2b gh ? C co 3. 5_ ns lo 2c w ? C co 3. ns 5_ 1a lo w ? C co 3. ns 5_ 1b lo w ? C co 3. ns 6_ 1c lo w ? C co 3. ns 6_ 2 lo a? w co C 3. 7_ ns2 b? lo w co ns 3? C C 1. 1_ i Weights Subject: VA 100 90 80 70 60 50 40 Constraints Constraints End Start Subject: JH 85 80 75 70 65 60 55 50 45 40 End Start 99 C co ns M 1. id 2_ ? ic C on 1. 3_ sH i c i? C on 1. sL 4_ ow ec ? on C sS 1. 5_ on ec o? on C 1. sS 6_ to lo p? C n g 1. V 7_ o w sh el or ? C tV 2. 1_ ow re el al ? cl us C te 2. r s? 2_ sh C co 2. C ns 2. 3_ 4_ sm ? ch co an ns g9 ? C vo 2. w 5_ el in s ? vV C 2. ow 6a el _s o? C vo 2. w 6b _ s elam vo ? C w 2. el 6c aw _ C sv ? 2. ow 7a el _d a i y? ph C 2. 7b th o ng _d u C ip a? 2. ht 7c ho _d ng ip ia C ht ? 2. 8_ hon gU in vV a ? C ow 2. e 9_ s C lc c? lu C st 3. er 1_ th m r id C co ? 3. ns 1_ 1a m id ? C co 3. ns 1_ 1b m id ? C co 3. ns 2_ 1c m id C co ? 3. ns 2_ 2a m id ? C co 3. ns 2_ 2b m id C ? co 3. 3_ ns hi 2 c? gh C co 3. 3_ ns hi 1 a? gh C co 3. 3_ ns hi 1 b? gh C co 3. 4_ ns hi 1 c gh C co ? 3. 4_ ns hi 2 a? gh C co 3. 4_ ns hi 2b gh ? C co 3. 5_ ns lo 2c w ? C co 3. ns 5_ 1a lo w ? C co 3. ns 5_ 1b lo w ? C co 3. ns 6_ 1c lo w ? C co 3. ns 6_ 2 lo a? w co C 3. 7_ ns2 b? lo w co ns 3? C 1. 1_ i Weights co ns M 1. id 2_ ? ic C on 1. 3_ sH i c i? C on 1. sL 4_ ow ec ? on C sS 1. 5_ on ec o? on C 1. sS 6_ to lo p? C n g 1. V 7_ o w sh el or ? C tV 2. 1_ ow re el al ? cl us C te 2. r s? 2_ sh C co 2. C ns 2. 3_ 4_ sm ? ch co an ns g9 ? C vo 2. w 5_ el in s ? vV C 2. ow 6a el _s o? C vo 2. w 6b _ s elam vo ? C w 2. el 6c aw _ C sv ? 2. ow 7a el _d a i y? ph C 2. 7b th o ng _d u C ip a? 2. ht 7c ho _d ng ip ia C ht ? 2. 8_ hon gU in vV a ? C ow 2. e 9_ s C lc c? lu C st 3. er 1_ th m r id C co ? 3. ns 1_ 1a m id ? C co 3. ns 1_ 1b m id ? C co 3. ns 2_ 1c m id C co ? 3. ns 2_ 2a m id ? C co 3. ns 2_ 2b m id C ? co 3. 3_ ns hi 2 c? gh C co 3. 3_ ns hi 1 a? gh C co 3. 3_ ns hi 1 b? gh C co 3. 4_ ns hi 1 c gh C co ? 3. 4_ ns hi 2 a? gh C co 3. 4_ ns hi 2b gh ? C co 3. 5_ ns lo 2c w ? C co 3. ns 5_ 1a lo w ? C co 3. ns 5_ 1b lo w ? C co 3. ns 6_ 1c lo w ? C co 3. ns 6_ 2 lo a? w co C 3. 7_ ns2 b? lo w co ns 3? C C 1. 1_ i Weights Subject: ME 100 90 80 70 60 50 40 Constraints Constraints End Start Subject: SH 100 90 80 70 60 50 40 End Start 100 [...]... As can be seen, the screen is split into four sections. The Problem panel presents the question to the user in the form of Thai script for him to transcribe. The Answer panel is for the user to input his answer. The Tutor panel is for presenting feedback to the user. The Scaffolding panel (not fully implemented) is designed to help the student as he answers the questions. It reduces his cognitive load and displays relevant information that the student has ... guided practice in the skill of Thai transcription from IPA to Thai script. It is assumed that the student has been taught the basic reading and writing rules before using the system. The target student is assumed to have prior exposure to J Marvin Brown’s method of transcribing Thai, command a basic Thai vocabulary and know elementary Thai grammatical rules. This level of proficiency is easily attained after a one semester (12 ... incidentally once he has picked up sufficient vocabulary. Unlike hanyupinyin for mandarin, there is no standard method for transcribing Thai script. We use the system from J Marvin Brownʹs AUA textbooks. While it may be slightly less intuitive to learn than other methods, it is widely used by universities, linguists and serious students of Thai language as it is more technically accurate and flexible. The system is designed ... domain and about students learning the domain. [6] The point of student modeling is to be able to tailor instruction for each student and provide information for the pedagogical model. Many techniques have been developed thus far in the field of Student Modeling. These include the overlay model, bug libraries, machine learning, model tracing, and constraint based modeling. ... Zhou and Evens describe their CIRCSIM conversational tutor for teaching medical students. It uses multiple student models concurrently to support tutoring decisions [24]. Their student model includes: a performance model, a student reply history, a 16 student solution record (using CBM), and a tutoring history using a hierarchical planning mechanism. Martin and Mitrovic ... are matched to the constraints and ideal solutions and all violated constraints and their respective weights are stored. In the long term, the SM provides information for the PM, stores customizing instructions for individual learners such as learner history (order and tries of questions attempted, errors made), constraint history (violation, relevance, and satisfaction), concepts the user is familiar with, and ... syntax and nuances especially challenging. An example Thai phrase is shown below. Translated it says “I like to study Thai . 19 ผมชอบเรียนภาษาไทย As can been seen, even word segmentation is a difficult problem in Thai that causes many new learners to be confused. But in Thairator, word breaks are added to simplify things for the student as the skill of noticing word breaks can be picked up ... keyboard shortcuts to input them rapidly will be provided for regular users. Input in Thai is supported using the popular kedmanee keyboard layout [28]. However, this requires some familiarity with the mapping and/or using a Thai keyboard overlay. The student enters his answer in phonetics or Thai script depending on the question. When he is done, he clicks the “Analyze Answer” button which displays the system feedback on his answer in the Tutor panel. He can then make corrections ... the system feedback on his answer in the Tutor panel. He can then make corrections and re‐analyze his answer till he is satisfied. To aid reflection, a log file of the student activity is generated for each session. At the end of each session with Thairator, the user can print out the session log and add personal annotations. 26 CHAPTER 5 STUDENT MODEL In this section, we detail the structure and design ... described in section 5.5.1), and the percentage increment per constraint violation. 5.2 Constraint Hierarchy Unlike flat constraints used in other systems, in Thairator, constraints are separated into three levels (basic, advanced, tones + special). These constraints represent concepts that are deemed pedagogically important for the student to master. 28 Level 1 basic Level 2 advanced Increasing