Case Studies Sasikumar M
Overview ● Set of internal case studies ● Marathi Tutor ● SQL tutor ● Simultaneous equation tutor
Marathi tutor (Abhijit Joshi) ● Attempt to follow first language learning of children ● Key points: – Controlled repetition – Relevant feedback ● Controlled repetition – Generate similar sentences by learner and teacher – Teacher to review and correct, if not correctly formed ● No significant use of linguistic terms or ideas ● Let the learner evolve the knowlege.
Inflection handling ● Verbs and nouns undergo inflection generally. ● Verb controlled by GNP of subject and tense – is/am/are going – has/have left – went ● Noun as indirect or direct object, and as adjective inflects – Particularly pronoun – She/her/He/him/his/we/our/us/etc
... ● Rules for transformation ● Pronoun forms – mee:First:M:Ekavachana ● Make plural form – 2:M:aa:e – For masculine nouns replace 'aa' with e ● Case inflection – Convert to base form – Then convert to suitable suffix ● A number of knowledge bases for exceptions, different types and their transformations
... ● Similar case with verbs also ● Tense modifier, and then inflections – 1:First:M:Ekavachana:Vartamaana:to – Chalaa -> chalaato ●
Verb Form- ation
Pro-noun
Sentence generation ● Need to generate sentences which are grammatically correct, ● ... and more-or-less meaningful. ● Fixed repository is difficult to manage. ● Open grammar can produce silly sentences – Table ate banana.
Templates <sentence id=1 type = “simple”> <subject> <noun type = “person” tag=”x” gender=”any” number=”any” person=”first”/> </subject> <adjective type=”time”> <object> <noun type = “edible”> </object> <verb dhatoo=”eat” tense = “present”/> </sentence>
Sentence generation
Tutor ● Formal models of tutoring and student model to be done. ● System shows many variants on the same structure using template ● Learner can specify parts, and ask system to fill in. ● System shows partial sentence and asks learner to fill in. ● A dialogue structure to help correct errors
User-driven generation
End of case study 1
Case study 2 ● SQL tutor ● Scaffolding, domain model, diagnosis mechanism,etc
Acharya: SQL tutor ● Similar to SQL-tutor of CBM ● But done much earlier! ● Teach how to write good SQL queries ● Select name, age, salary from faculty where salary > 10000 ● Issues: problem selection, error finding, feedback
Problem selection ● A repository of problems – Find age of all faculty members whose monthly salary exceeds 1lac. – How many staff not promoted in the last 3 years. – Tabularise people who joined in the last 3 years in terms of their base degree. ● Generation of problems difficult – Variations possible ● Database need to be included. – A number of common schemas built and kept.
User Interface ● SQL queries have a fixed structure. ● Cannot impose an order in the way you write queries. ● So validate “when asked”. ● Structure can be used to make a scaffolding to avoid parsing, or even handling incomplete parts.
GUI
Content and Student model ● SQL organised as a set of concepts with some dependency. ● Problems attached with each concept. ● Correctly solving them decides 'confidence' in the concept ● Simple CF model for confidence – Student Model
Correctness ● How to check correct answer? – Run query against a real database? – Need sufficiently richly populated database – Getting right set of tuples retrieved => correct query? ● Check for efficiency, good practices? ● How to find what went wrong? ● Must validate by “analysing” query
... ● Use of an ideal answer ● Check response part by part – Select items – Table names – Where clauses – Groupby, etc ● Issues?
... ● Multiple correct combinations ● Select items in any order... – Use sorted order for matching ● All relevant fields and only the relevant fields retrieved? – If order specified in problem, check for the order after this. ● Table names – Order not relevant – User defined name ignored now
... ● Where clauses more complex ● Order of clauses – (age > 30) and (salary > 10000) – (salary > 10000) and (age > 30) ● Rephrasing of a clause – not (age <= 30) – Age between 20 and 40 – Age > 20 and age < 40 – Not (Age <= 20 and age > 40) ● Efficiency and best practices issue
... ● Where clause given a set of rows ● Scaffolding and this, reduces focus from minor syntax errors
Where clauses ● a) Pre-process them to remove connectives like between, in, not in, etc – Only AND, OR retained ● b) Atoms standardised – Build a list of unique atoms – If match found, assign same number – Else different number – Negation and change of sign to be considered – age > 25, age > 30, age <= 25, 25 < age, etc
... ● c) truth table based by equivalence check – (3 and 2) or (1 and not 2) – Small number of atoms – so manageable in size – Check if the TTs of the two expressions are same ● With these, most of the variations can be handled. – Domain specific variations not included – Col 1 and 2 are related, and hence check on 1 can be mapped to check on 2
Actions ● Depending on nature of mismatch, error tags assigned ● Errors linked to remedial materials (for details on this topic, refer to ....)
Summary ● An early attempt at tutor development. ● Pilot use in our RDBMS course – No systematic evaluation ● Student model in terms of concepts
Case study 3 ● Solving simultaneous equations ● Use of multi-layer problem solving interface
END Thank you.....
Recommend
More recommend