Proiectele cursului


[ Proiect 1 | Proiect 2 | Proiect 3 | Proiect 4 | Proiect 5 | Proiect 6 | Proiect 7 | Proiect 8 | Proiect 9 | Proiect 10 | Proiect 11 | Proiect 12 | Proiect 13 | Proiect 14]


Proiect 1

Recunoaşterea (detectarea) expresiilor temporale (gen ieri, altădată, anul trecut, mereu, ...), inclusiv a datelor calendaristice:

-        corpus ce conţine suficiente expresii temporale
- adnotarea expresiilor
- inferarea regulilor
- modulul care aplică baza de cunoştinţe
- validare (cu precision, recall)

1. Lucraţi pe „1984”.

2. Inventariaţi 10 tipuri de expresii temporale.

3. Căutaţi-le īn text, extrăgeţi-le pe tipuri (contextele, grupate pe tipuri) şi puneţi īn evidenţă rolurile lor – ca elemente de text pe care le adnotaţi corespunzător.

4. Formalizaţi relaţiile temporale respective.

5. Īncercaţi să detectaţi nişte structuri fixe (şabloane de utilizare) textuale.

6. Īncercaţi să generalizaţi semantica relaţiilor spaţiale puse īn evidenţă la 4.

7. Scrieţi nişte reguli de inferenţe plauzibile.

8. Aplicīnd regulile găsite, determinaţi noile determinări temporale ale obiectelor din text.

9. Puteţi răspunde la nişte īntrebări legate de timp?...

-      
Participanţi:
Ceuca-Urma Alexandru, 1A
Barbu Florina, 2B
Roşu Carmen, 1B
Vieriu Alina, 1B

-       Solomon Daniela, 3B


Proiect 2

Recunoaşterea (detectarea) expresiilor ce marchează relaţii spaţiale (gen deasupra, la dreapta, mai īncolo, acelaşi loc, ...)

- corpus
- adnotarea expresiilor
- inferarea regulilor
- modulul care aplică baza de cunoştinţe
- validare (cu precision, recall)

 

1. Lucraţi pe „1984”.

2. Inventariaţi 10 tipuri de expresii spaţiale – probabil statice şi dinamice.

3. Căutaţi-le īn text, extrăgeţi-le pe tipuri (contextele, grupate pe tipuri) şi puneţi īn evidenţă rolurile lor – ca elemente de text pe care le adnotaţi corespunzător.

4. Formalizaţi relaţiile spaţiale respective.

5. Īncercaţi să detectaţi nişte structuri fixe (şabloane de utilizare) textuale.

6. Īncercaţi să generalizaţi semantica relaţiilor spaţiale puse īn evidenţă la 4.

7. Scrieţi nişte reguli de inferenţe plauzibile.

8. Aplicīnd regulile găsite, determinaţi noile locaţii ale obiectelor din text, la aceleaşi momente sau la momente succesive.

9. Puteţi răspunde la nişte īntrebări legate de poziţionări spaţiale?...

 


Participanţi:
Anton Carmen, 2B
Līşova Evghenia, 3B
Mihai Florin, 3A
Ursu Daniel, 2B


Proiect 3

Tokeniser - īmparţirea unui şir de caractere īn cuvinte (token-uri)

- corpus etichetat la cuvinte
- inferarea (eventual automată) a regulilor de separare a token-urilor; ATENŢIE la prescurtări (F.I.I.), spaţii etc.
- modulul care aplică baza de cunoştinţe
- validare (cu precision, recall)

Participanţi:
Baicanescu Ana-Maria, 4B
Damian Ciprian Florentin
Ivanov Paul, 1A
Marinescu Iulian, 2B


Proiect 4

Recunoaşterea limbii bazată pe frecvenţa de apariţie a grupurilor de litere (bigrame, trigrame, n-grame) realizate pe cel puţin 4 limbi, pentru a detecta limba celui de-al 5-lea text


Participanţi:
Aldea Bogdan Mihai, 4A
Hritcu Alexandru, 1B
Tănăsescu-Vlad Iulian, 3B
Weissmann Eduard, 3B


Proiect 5

Filtru/validator de corpusuri

Formatul de adnotarea a corpusurilor: PAROLE.

Participanţi:
Manolache Bogdan , 1B
Stroe Adrian, 2A
Paisa Lucian, 3A
Toderaşcu Aurel Cornel, 3B


Proiect 6

Adnotator la nivel de silabe

- corpus (4 pagini) etichetat la nivel de silabe
- inferarea regulilor de desparţire īn silabe
- modulul care aplică baza de cunoştinţe
- validare (cu precision, recall)

Participanţi:
Amihaesei Elena, 1A
Baciu Cristian, 1A
Ioniţă Daniela, 4B
Loghin Elena, 3B


Proiect 7

Crowler de culegere a colecţiilor de texte paralele

Programul primeşte īn intrare o indicaţie asupra unei perechi de limbi (exemplu: engleză-romānă, swahili-spaniolă etc.) şi generează o colecţie de documente de texte paralele (acelaşi conţinut redat īn mai multe limbi) pentru perechea de limbi indicată.

1.     Se vor viziona un număr oarecare de pagini īn care conţinutul e redat īn mai multe limbi.

2.     Din paginile găsite se vor identifica pattern-uri de secvenţe HTML (de exemplu, steguleţe) care permit intrarea īn pagini traduse.

3.     Se va identifica un parser HTML, se vor scrie reguli care implementează secvenţele găsite şi se vor include īn parser. Īn partea de acţiuni semantice se va apela codul care culege paginile respective.

4.     Programul va lansa un agent (crowler) care va căuta pe Internet pagini cu indicaţii de afişare īn diverse limbi a conţinutului.


Participanţi:
Chitaru Marius, 2A
Ciovīrtă Lucian Elvis, 1A
Paiu Fergana, 3B
Ungureanu Delia, 3A

 

Popa Elvis


Proiect 8

Laticea standardelor de adnotare (operaţii īntre niveluri de adnotare din latice)

1. Laticea nivelurilor de standarde de adnotare. Fiecare nod din latice este caracterizat de o clasă de etichete noi faţă de cele moştenite, de atribute noi faţă de cele moştenite şi de restricţii. Laticea va fi īntīi descrisă pe hīrtie. Apoi harta astfel creată va fi definită ca structură de date.

2. Merge. Intrare – două fişiere aparţinīnd la două noduri distincte ale laticii (noduri īn latice īntre care nu există o cale ascendentă/descendentă). Ieşire – un fişier conţinīnd reuniunea tuturor etichetelor. Se vor semnala eventualele erori.

3. Split. Intrare – un fişier aparţinīnd unui nod al laticii şi o listă de etichete (eventual şi atribute, dacă se solicită mai puţine decīt cele din descrierea standard). Ieşire – o versiune a fişierului īn care sīnt selectate numai etichetele comunicate īn intrare, textul rămīnīnd acelaşi.


Participanţi:
Butnariu Cristina
Vasiliu Elena Raluca

Tudosă Ana-Maria

Tomoioagă Alin


Proiect 9

Aliniator de texte paralele


Se va scrie un program capabil să alinieze două texte paralele. Vezi metoda Gale
& Church.

 

Participanţi:
Onel Alexandru

Ilioi Valentin

Opulele Cligor Aurelian

Iftimi Cristian


Proiect 10

Grup de proiecte - adnotarea şi recunoaşterea structurilor evenimenţiale


Se va căuta un text bilingv (optim - trilingv: romānă, spaniolă, franceză, engleză). Dacă acesta nu e aliniat se va alinia, aplicānd proiectul aliniator sau la māna. Se va considera un set de verbe, de exemplu cāte 10 de fiecare grupă. Se vor determina toate apariţiile acestora īn aceste texte şi se vor adnota la sensuri (conform WordNet, sau mai grosier, dar respectānd gruparea naturală ierarhică - explicaţii). Se vor adnota apoi īn text, īn toate apariţiile cuvintelor alese, pe sensuri ale lor, constituenţii sintactici pe roluri semantice. Odată găsiţi aceşti constituenţi, se va organiza o colecţie de cadre semantice ale verbelor, cu restricţiile semantice ce vor fi recunoscute. Īn concordanţă cu echipele care lucrează la aceeaşi temă pentru alte limbi, se va organiza o gramatică semantică de transfer īntre cadre ale verbelor. 8 echipe - pentru fiecare echipă se va preciza: textul, limbile īn care se lucrează, lista verbelor.

 

Discuţii purtate īn laboratorul de miercuri 22 octombrie:

 

1. Alegerea corpusului. S-a propus romanul „1984” al lui George Orwell, īn varianta paralelă (7 limbi, aflat la adresa http://thor.info.uaic.ro/~oanap/balkanet). Dintre toate versiunile aflate īn corpus se va lucra cu limbile RO şi EN;

 

2. Sortare după frecvenţa cuvintelor. Se va scrie un script care va sorta cuvintele (marcate <w lemma=”…” ana=’V…’>) īn ordinea descrescătoare a frecvenţelor lemelor (verbelor) pentru varianta romānească. Lema e dată de atributul lemma, iar verbele sīnt recunoscute prin faptul că primul caracter al valorii atributului ana este V;

 

3. Selecţie. Fiecare echipă alege 10 leme de verbe dintre cele mai frecvente (cu o suprapunere de maximum 2 leme īntre echipe);

 

4. Separarea contextelor apariţiilor verbelor (ocurenţe). Fiecare echipă va extrage toate contextele de frază (īntre marcajele <s> cele mai apropiate) ale verbelor asignate grupului de lucru, pentru variantele RO şi EN. Rezultă două fişiere text (numite īn continuare f-ro şi f-en), respectiv pentru limba romānă şi limba engleză;

 

5. Determinarea şi adnotarea sensurilor. Pentru fiecare apariţie de lemă de verb īn parte (din toate cele 10 colecţii de contexte) ale f-ro şi f-en se determină (cu creionul pe hīrtie) sensul verbului respectiv, prin consultarea RoWordNet şi EnWordNet (WordNet-urile romānesc şi englezesc). Sensul se vor marca īn fişierele respective prin adăugarea unei perechi atribut-valoare sense=”…” īn marcajul <w> al verbului, unde drept valoare a sensului se va indica codul ILI (v. cursul despre WordNet). Nu e obligator ca aceste coduri să fie identice īn variantele romānă şi engleză. Codificarea se va realiza manual, cu un editor text, sau prin intermediul unui program adnotator (se recomandă Palinka);

 

6. Marcarea constituenţilor sintactici ai verbelor. Se va folosi un program adnotator din cele indicate pentru a marca constituenţii sintactici din jurul verbelor (subiect, obiect indirect, obiect direct, complemente). Constituenţii sintactici sīnt grupuri nominale (marcate <NP...>...</NP>) sau grupuri prepoziţionale (marcate <PP ...>...</PP>). Să presupunem, īn cele ce urmează, că avem un constituent de forma <NP syn=”…” headid=”…”>, īn care atributul syn are una din valorile subject, indir-obj, dir-obj , compl-mode etc. Atributul headid va fi folosit īn pasul următor;

 

De exemplu, īn exprimarea Omul cu pălăria de paie mirosea a vin. constituenţii sintactici ai predicatului mirosea sīnt grupurile Omul cu pălăria de paie şi a vin, primul cu rol de subiect, al doilea cu rol de complement de mod.

 

7. Precizarea head-urilor şi marcarea semantică a constituenţilor. Pentru fiecare constituent semantic se va identifica head-ul (cuvīntul principal, cel care dă marca morfologică şi semantică a constituentului). De exemplu, head-ul constituentului subiect īn exprimarea de mai sus este substantivul omul. Marcajul headid al constituentului syn respectiv ar trebui să indice id-ul marcajului <w> al cuvīntului omul, inclus īn el. Din WN se va identifica apoi sensul acestor cuvinte head şi se vor plasa īn marcajele <w> ale cuvintelor head, īn aceeaşi manieră ca şi la marcarea sensurilor verbelor (atributul sense=”…”, un cod ILI).

 

8. Generalizarea sensurilor constituenţilor. Se va scrie o funcţie (gen-constit-sense()) care va primi codurile ILI ale tuturor head-urilor constituenţilor īndeplinind un anumit rol īn jurul unui verb şi va īntoarce codul ILI al celui mai jos plasat īn ierarhia de hipernime concept care generalizează toate sensurile constituenţilor;

 

9. Sintetiza cadrele semantice ale verbelor. Se va apela funcţia gen-constit-sense() pentru toate sensurile găsite īn corpus ale fiecăruia din cele 10 verbe, deopotrivă pentru limba romānă şi engleză. Cu rezultatele găsite se va organiza gramatica de transfer, ce va conţine, pentru fiecare sens al celor 10 verbe, o pereche de cadre semantice verb-roluri, īntre romānă şi engleză.

 

10. Recunoaşterea sensurilor. Luaţi colecţia de contexte de apariţie a unui verb. Consideraţi adnotarea īn care reţineţi rolurile sintactice ale constituenţilor dar aţi uitat sensurile verbului. Vă puneţi problema recunoaşterii sensurilor verbului, pentru fiecare exemplu găsit, verificīnd potrivirea constituenţilor cu descrierile găsite la punctul 9. Puteţi calcula scoruri.

 

11. Evaluarea rezultatelor. Evaluaţi rezultatele voastre calculīnd precizia:

 

          P = numărul sensurilor recunoscute corect / numărul total al exemplelor

 

 

Predarea va cuprinde:

-        un eseu īn care descrieţi paşii urmaţi īn realizarea proiectului, cu contribuţia dv. personală īn cadrul echipei şi rezultatele evaluării

-        o colecţie de fişiere conţinīnd extrasele cu exemple din text īn forma originală

-        aceleaşi exemple adnotate

-        colecţia cadrelor generate

-        codul sursă al funcţiilor realizate

-        o demonstraţie a manierii īn care programul dv. recunoaşte sensuri

 

Situri de interes:

http://www.intratext.com/y/rum0002.htm

http://www.languages-on-the-web.com/onu/hr-ing-rum.htm

http://thor.info.uaic.ro/~oanap/balkanet

 

Participanţi:

 

        Grupa 1

1.Barbu Mihaela

2.Feidi Razvan                                     

3.Ilie Oana                                

4.Prăjescu Claudia

 

Grupa 2

1.Opincaru Elena

2.Mihăieş Alina Maria                  

3.Ungureanu Irina Mihaela  

4.Canter Simona

 

Grupa 3

1.Dornescu Adrian

2.Luchian Irina                                     

3.Luchian Corina               

4.Nemţisor Sabin

 

Grupa 4

1.Iancu Ştefan

2.Negrescu Andra                                                    

3.Mihart Bogdan                                   

4.Popescu Bogdan

 

Grupa 5

          1.Nistor Cristian

2.Gociman Alin                 

3.Sindilariu Codruţa                    

4.Nedelcu Andreea

 

Grupa 6

1.Itu Ştefan

2.Pădurariu Lucian

3.Bobeica Daniel

4.Mititelu Alexandru                    

5.Ispas-Vārnav Irina

 

Grupa 7

1.Lipşa Dănuţ                                      

2.Anastasiei Dana Ştefana 

3.Pascariu Gabriel

4. David Viorel Lucian

 

Grupa 8

1.Vascu Iulian

2.Ciobanu Mihaela                      

3.Murăraşu Alexandru

4.Gārbea Mihaela

 

     Grupa 9

1.Florescu Anca

2.Erimia Oana                                      

3.Onisie Andreea Raluca

4.Joja Gabi

 

          Grupa 10

1. Cojocariu Alina, 3A

          2. Leonte Carmen, 3A

          3. Dimitriu Cosmin

          4. Maxim Nicuşor


Proiect 11

Simularea traducerii


Se va considera existentă o colecţie de cadre de sensuri ale verbelor din limba L1 şi corespondentele acestora īn limba L2. Se cunosc o seamă de exprimări īn L1 īn care apar aceste verbe şi īn care sunt adnotaţi constituenţii. Pentru fiecare constituent minimal se cunoaşte traducerea lui īn L2. Se va scrie un program capabil să simuleze un proces de traducere, astfel: pentru o exprimare īn limba L1, "recunoaşte" apariţii ale verbelor, "recunoaşte" sensurile lor, recunoaşte structura de constituenţi prin confruntare cu cadrele cunoscute accesānd biblioteca de transfer, ia apoi de acolo cadrele echivalente din limba L2 şi recompune o exprimare de suprafaţă integrānd "traducerile" constituenţilor minimali. Īn acest text, peste tot unde s-au folosit exprimări īntre ghilimele, semnificaţia este cea de simulare, prin utilizarea unei adnotări care să īntoarcă de-a gata acele tipuri de prelucrări.

 

  1. Compunerea unei colecţii de exemple. Compuneţi sau căutaţi īn „1984” o colecţie de fraze īn limbile RO şi EN, īn care să apară două verbe sau sinonimele lor pentru fiecare dintre două sensuri. De exemplu:

notice-1(0) detect, observe, find, discover, notice -- (discover or determine the existence, presence, or fact of; "She detected high levels of lead in her drinking water"; "We found traces of lead in the paint")

 

notice-2(0) notice, mark, note -- (notice or perceive; "She noted that someone was following her"; "mark my words")

 

RO: Ea a descoperit urme de plumb īn apa de băut. => EN: She discovered traces of lead in the drinking water.

 

  1. Compunerea unei colecţii de cadre semantice. Ghidaţi de aceste exemple, imaginaţi cadrul semantic al sensurilor verbelor pe care aţi convenit să le lucraţi, īn limbile sursă şi destinaţie.

Ex. pentru romānă

descoperi-1 -> SUBJ: [SYNT: NP, SEM: ENG...-n (persoană), PATT: [], POZ: L],

               DIR-OBJ: [SYNT: NP, PATT: <OPT> [SEM: ENG175-05561509-n (abstractizare)] de </OPT> [SEM: ENG-...-n (substanţă)]],

               LOC:[SYNT: PP, PATT: īn [SEM: ENG-...-n (lichid)]]

 

  1. Regulile de transfer. Scrieţi o seamă de reguli de transfer ca perechi de cadre īn limbile sursă şi destinaţie;

 

  1. Regăsirea asistată a constituenţilor:

Intrare: un constituent al unui verb (grup de cuvinte care au un anumit rol sintactic īntr-o propoziţie) īn limba L1;

Resurse: un corpus de texte paralele īn limbile L1 şi L2, aliniate la nivel de frază;

Execuţie: caută şirul din intrare īn corpus īn secţiunea limbii L1. Pentru fiecare apariţie a lui, afişează īntreaga frază corespunzătoare din limba L2 şi lasă utilizatorul să selecteze pe ecran exprimarea care convine traducerii şirului;

Ieşire: exprimările selectate de utilizator. Perechile intrare-ieşire sīnt memorate īntr-o resursă externă.

 

  1. Depistarea cadrului semantic al unei exprimări:

Intrare: o frază īn care sīnt adnotaţi constituenţii unui verb şi sensul verbului;

Resurse: o colecţie de cadre semantice paralele (v. pct. 3);

Execuţie: regăseşte cadrul semantic corespunzător sensului indicat al verbului din limba L1 prin potrivirea constituenţilor găsiţi īn intrare asupra colecţiei de cadre corespunzătoare sensului indicat.

Ieşire: cadrul semantic corespunzător exemplului dat īn intrare, pentru limba L2

 

  1. Traducere asistată:

Intrare: o frază īn care sīnt adnotaţi constituenţii unui verb şi sensul verbului;

Resurse: o colecţie de cadre semantice paralele (v. pct. 3);

               un corpus de texte paralele īn limbile L1 şi L2, aliniate la nivel de frază;

Execuţie: Se depistează cadrul semantic din limba L2 corespunzător sensului indicat al verbului din limba L1 (apelul funcţiei de la pct. 5). Se asistă utilizatorul pentru regăsirea constituenţilor īntr-o colecţie foarte mare de exemple (apelul funcţiei de la pct. 4). O dată constituenţii recuperaţi şi utilizīnd cadrul se compune o exprimare īn limba L2.

 

Participanţi:

 

          Grupa 1

1.Hăisan Adrian                                   

2.Croitoru Andrei

3.Bahmata Sorin Ionut

4.Bostan Marian

 

Grupa 2

1.Puiu Daniel                             

2.Costea Liviu

3.Nichita Ovidiu

         4.Maria Dorin Tudor


Proiect 12

Dezambiguizarea sensurilor cuvintelor


Se vor alege 10 cuvinte. Se vor căuta toate apariţiile lor īn corpusul (paralel) ales. Se vor adnota apoi aceste apariţii la sensuri (conform WordNet, sau mai grosier, dar respectānd gruparea naturală ierarhica - explicaţii). Se vor preciza criterii care să ajute recunoaşterea automată a sensurilor. Se vor aplica apoi aceste criterii pentru recunoaşterea sensurilor unei părţi din apariţiile considerate. Se va calcula precizia şi recall-ul. 2 echipe - pentru fiecare echipă se va preciza: textul, lista cuvintelor, limbile

 

Participanţi:

Teletin Adrian

Forăscu Corina


Proiect 13

Analiza si generarea morfologica pentru limba romana (miercuri)

Participanţi:

Chelariu Alina Ionela, 2B

Puha Alina, 2B

Munteanu Catalina, 2B

Burghelea Vasile, 2B


Proiect 14

Sistem de dialog īn limba romānă la o bază de date

Participanţi:

Obreja Petru

Irinescu Olivia

 

Tipuri de īntrebări adresabile aplicaţiei GESCO:

  1. Toţi studenţii din Facultate grupaţi pe specializări şi ani de studii cu următoarele informaţii: nume, prenume, sex, data naşterii, specializarea, anul de studii, id-ul Gesco, adresa, locul naşterii, CNP, adresa e-mail şi a paginii web.
  2. Notele studenţilor dintr-un an de studii la evaluarea de la Programarea calculatoarelor din semestrul 1.
  3. Toate notele studentului X.
  4. Nota lui Ionescu din anul 2 la Baze de date, sem. 2.
  5. Cīţi studenţi mai bătrīni de 23 de ani sīnt īn Facultate?
  6. Dă-mi o listă a studentelor măritate sub 22 de ani.
  7. Care e data naşterii lui Popescu din anul 3?
  8. Vreau o listă cu toţi bugetarii anului 3 care au mediile din semestrul trecut mai mari de 9.
  9. Primii 10 studenţi cu taxă de la Colegiu din anul 2, īn ordinea mediilor (notelor la Programarea calculatoarelor) pe semestrul trecut.
  10. Primii 20 cei mai tineri studenţi bugetari intraţi īn anul 1 īn admiterea din toamna asta.
  11. Al cītīlea clasat este studentul Ionescu la sesiunea din iarna anului 2003.
  12. La ce cursuri opţionale s-a īnscris studenta Vasilica Tastaman īn 2003?