TeNG Linguaggio per la generazione di English Test Donato Cataldo Università di Bologna, facoltà di ingegneria Linguaggi e Modelli Computazionali '09/'10 Prof. Enrico Denti
Sommario ● Introduzione ● Presentazione Programma ● - Grammatica & Linguaggio ● - Architettura Software ● Conclusioni & Sviluppi Futuri
Introduzione Durante i corsi di inglese l'insegnante per verificare l'apprendimento delle lezioni, periodicamente sottopone dei test con punteggio. la particolarità di questi test è che hanno sempre le stesse tipologie di esercizi. TeNG è un linguaggio che ha come obiettivo la creazione dei test.
Introduzione Le tipologie principali di esercizi sono: ● Inserire le parole mancanti in un testo ● At the moment _________(sit) in an internet cafè. ● Cerchiare la parola corretta ● I'm quite tall, but my brother's taller/tallest ● Ordinare una frase ● holiday/nice/and/trip/a/good/a/Have ● Have a good holiday and a nice trip
Introduzione ● L'idea è quella quindi di creare da un file txt ”ben formattato” due file pdf uno con il test ed uno con le soluzioni, evitando così la formattazione a ”mano”. file.txt TenG Soluzioni.pdf Test.pdf
Presentazione Programma Grammatica & Linguaggio testo ben formattato *Description progress test 12 level B *Title Read Julia's . Put the verbs in brackets in the Present Simple, Present Continuos, Past Simple or Present Perfect. *LongText {Hi Roberto How are you? I hope you're OK. At the moment I'm sitting in a Internet cafè. } *3 *12 *13 */sit Una descrizione obbligatoria Uno o più esercizi di 3 tipologie diverse
Presentazione Programma Grammatica & Linguaggio testo ben formattato *Title Read Julia's . Put the verbs in brackets in the Present Simple, Present Continuos, Past Simple or Present Perfect. *LongText {Hi Roberto, How are you? I hope you're OK. At the moment I'm sitting in a Internet cafè.} *3 *12 *13 */sit *Title chose the correct verb in these sentences *MultipleChoice {How often do you do have sport? } *4 */go*/have Ogni esercizio ha un titolo obbligatorio Tipo di esercizio testo Posizione nel testo con eventuale suggerimento Posizione nella frase con le risposte scorrette
Presentazione Programma Grammatica & Linguaggio testo ben formattato *Title order the phrase *Mix {Have a nice holiday and a good trip } {you too} Frasi da mescolare
Presentazione Programma Grammatica & Linguaggio Token | Le parole di formattazione sono precedute da un asterisco Word raggruppa parole e numeri
Presentazione Programma Grammatica & Linguaggio Sintassi Scope ::= Description ( Exercise )+ Description ::= ( )+ Exercise ::= Titolo ( ( MultipleChoice | LongText | ( Mix )+ ) ) Titolo ::= ( )+ MultipleChoice ::= ( ( )+ ( )+ ( ( )+ )+ )+ LongText ::= ( )+ ( LongTextSubstitution )+ LongTextSubstitution ::= ( ( )+ )? Mix ::= ( )+ Descrizione ed esercizi Tipo esercizio e titolo Piu frasi tra graffe seguite da piu numeri seguita da piu token word Testo tra graffe segutio da numeri seguito opzionalmente dal suggerimento
Presentazione Programma Grammatica & Linguaggio ● La grammatica risulta così di tipo LL(1) ● -Starter Simbol Disgiunti ● Secondo Chomsky è di TIPO 2 contex-free ● A t ● ● -occorre un PDA per riconoscerla. ● Genera un linguaggio regolare di TIPO 3(Non contiene self-embedding)
Presentazione Programma Architettura Software Semantica ● L'interfaccia IVoidVisitor generata automaticamente da JTB viene implementata da due classi: ● VisitorCheck: ● Percorre l'albero e fa gli opportuni controlli semantici ● VisitorPDF: ● Percorre l'albero e genera i due file pdf
Presentazione Programma Architettura Software Semantica VisitorCheck In questa classe c'è il controllo sulla coerenza dei numeri, che devono: ● Corrispondere ad una posizione nel testo ● Essere consecutivi per gli esercizi Multiple Choice
Presentazione Programma Architettura Software Semantica VisitorPDF questa classe ha il compito di elaborare il file txt e scrivere due file PDF; si serve inoltre di una classe Utils per la manipolazione delle Stringhe. file.txt Lexer Parser VisitorChec k VisitorPDF OK test.pdf sol.pdf
Presentazione Programma Architettura Software Grafica Console Input Tasti di Controllo Console Output
Presentazione Programma Architettura Software Output PDF
Presentazione Programma Architettura Software tecnologia ● Ubuntu Jaunty Jackalope ● JDK 1.6 ● Eclipse Galileo ● Plug in javaCC ● SF Eclipse JavaCC - ● Libreria iText per la gestione dei pdf
Conclusioni / Sviluppi Futuri ● Il programma si occupa della formattazione dei test rendendoli personalizzabili e sempre nuovi raggiungendo l'obiettivo proposto. ● In futuro... ● Sviluppo di un' interfaccia grafica più completa per rendere il meccanismo di generazione del linguaggio più automatico. ● Sviluppo di un data base in cui generare test in modo Random. ● Sviluppo di test in formato html ●.....