Projektet syftar till att utveckla en automatisk partiell morfosyntaktisk analys av skrivna inlärartexter på franska.Det gäller svensktalande som lär sig franska i olika situationer, och vars skrivna produktion behöver kunna jämföras med den -mycket annorlunda - talde produktionen i franska. Projektet utgör ett försök att kombinera dels empirisk inlärningsforskning ochdatorlingvistik, dels forskning och pedagogisk utveckling.

I augusti när jag programmerar sätter sig en liten nyfiken rackare mitt i koden. Skön stil.En debugger?

Programmets uppgift är att läsa in ett antal lingvistiska regler och ett lexikon. Baserat på reglerna ochlexikonet behandlas sedan inlärares texter och ett resultat presenteras för användaren. Resultatet visar förekomster avspråkliga fenomen som formaliserats via reglerna. Genom att jämföra fenomenens frekvens mot förutbestämda inlärarstadierkan därefter texten bedömas tillhöra ett visst stadium.
Fortsättningsvis används termen grundtext för att beskriva den text som ska analyseras och termen resultattext för detanalyserade resultat som presenteras för användaren. Inledningsvis beskrivs härunder Profils generella uppbyggnad och funktion,därefter följer en kortare beskrivning av de två versionerna. Avslutningsvis beskrivs i stora drag Profils gränsnitt motanvändaren och hur programmet exekveras via ett webbgränssnitt i en klient-server struktur.
Profil arbetar med beslutsträd framtagna av Suzanne Schlyter och Jonas Granfeldt vid Institutionen förromanska språk vid Lunds Universitet. Beslutsträdet realiseras i form av regler beskrivna med hjälp av metaspråket XML.Varje regel består av två delar. Den första, search anger vilket språkligt fenomen regeln söker efter.Den andra, action beskriver vilken åtgärd som ska företas om regeln matchar eller inte matchar kriteriet i search.Generellt utseende hos en regel:<rule id="auxmod1" framesize="1">
<search>
<lemma>vouloir</lemma>
</search>
<action>
<found inccounter ="found_auxmod_4g" dotagging="yes" nextrule="accord_auxmod"/>
<notfound nextrule="auxmod2"/>
</action>
</rule>
En regels id är unik och används för identifiering och hänvisning. Attributet framesize anger hur många ord som skaundersökas framåt innan man anser att det man söker efter inte påträffats.Reglerna kan beskrivas som ett upp-och-nedvänt träd där en regel hänvisartill en eller två andra, underliggande regler. Trädets förgreningar och löv representerar noder i det lingvistiska beslutsträdet.
En regel kan ha olika sökkriterier; i exemplet ovan söks ett visst lemma för ett ord.Andra sökkriterier kan bestå av reguljära uttryck eller en viss böjning av ett ord.Vid sökning efter substantiv kan parametrar som genus och numerus anges, för verb kan även person, tempus och modus anges.Exempel som visar sökning efter ett verb, böjt i första person, singular:<search>
<inflection category="verb">
<number value="sg"/>
<person value="1"/>
</inflection>
</search>
Hittas ett visst verb kan man testa om något av efterföljande ord bildar passé composé med verbet. Delegering utförs då till enregel som söker efter verb i participform x antal ord framåt.För senare bearbetning mot en resultattext förses matchande ord och fraser med taggning motsvarande de noder i beslutsträdet de representerar.Action definierar vad som ska ske om regeln matchar/inte matchar sitt sökkriterium:
Direkt Profil läser in ett lexikon bestående av ord med tillhörande beskrivning av person, genus, tempus, etc.(fritt tillgängligt från abu.cnam.fr). I lexikonet finns varje ords alla möjliga former representerade. Notationen för ett ordföljer delvis POS (Part-of-speech, en metod för att beskriva varje ords egenskaper i en kontext), vilket senare tillämpas förupptaggning av ord. Varje ord lagras tillsammans med sin beskrivning som ett objekt i en synkroniserad datasamling optimeradför snabb åtkomst.Reglerna som ska appliceras på grundtexten läses in och sparas i form av objekt.Därefter läses grundtexten in och matchas mot reglerna och lexikonet.Resultatet av regelträffar, taggningar av ord/fraser och antal förekomster av fenomen samlas upp och sammanställs till en resultattext.Resultattexten returneras till användarens grafiska gränssnitt.
Direkt Profil använder mellannivåer för att kontrollera vad som ska hanteras och vad som händer underregelmatchningen. Inspiration har hämtats från det sätt som Jonas Sjöbergh vid NADA, KTH, använder för att annotera en text.POS-annoteringen taggas enligt SUC (Stockholm-Umeå Corpus? tagset).

Ett dynamiskt resultat skapas genom att de olika objekten smälts samman till ett större resultatobjekt.Detta objekt beskriver då grundtexten och alla effekter av applicerade regler, räknare, etc.

Direkt Profil arbetar mot ett webb-baserat gränssnitt. Interaktion med Profil sker genom en webbläsare.Möjlighet finns att i en senare version av programmet utveckla en traditionell stand-alone application.För att på ett enkelt sätt kunna distribuera och använda Direkt Profil utförs exekvering på en server.Kommunikation mellan programmet och webbgränssnittet sköts genom JSP, servlets och Struts.

Projektets webbplats http://www.rom.lu.se/durs/usif.htm
Stockholm-Umeå Corpus (SUC) http://stp.ling.uu.se/~klasp/suc1.html
Stockholm-Umeå Corpus tagset http://www.masda.vxu.se/~nivre/teaching/nlp/suc.html
Webbapplikationen är under utveckling vilket innebär att servern ligger nere då och då. Adressen där Profil 1.0 hittas är
http://www.rom.lu.se:8080/profil/logon.jsp där man kan logga in med användare: 'emil' ochlösenordet 'xxx'.