Download - Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Transcript
Page 1: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic

privind implementarea proiectului

“Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”,

cod proiect PN-II-RU-PD-2011-3-0292, contract nr. 55/28.10.2011

în perioada OCTOMBRIE 2011 – OCTOMBRIE 2013

Raportul sintetic este structurat în 3 secţiuni. După prezentarea obiectivelor prevăzute în planul de

realizare a proiectului, este descris gradul de realizare a acestor obiective, cu accent asupra metodologiei

folosite şi a rezultatelor obţinute. Ultima secţiune sintetizează modul de valorificare a rezultatelor

obținute în cadrul proiectului.

Cap. I. Obiective

WP 1 Dezvoltarea unei resurse de roluri semantice pentru limba română Task 1.1. Dezvoltarea unei resurse semantice Task 1.2 Transferul automat al adnotării Task 1.3Extragerea de șabloane sintactice și semantice

WP 2 Dezvoltarea unui parser semantic Task 2.1 Dezvoltarea unui parser semantic bazat pe reguli pentru limba română Task 2.2 Dezvoltarea unui parser semantic bazat pe învățare automată pentru limba română Task 2.3 Identificarea rolurilor semantice Task 2.4 Clasificarea rolurilor semantice

WP 3. Evaluarea parserului semantic Task 3.1 Evaluarea parserului semantic bazat pe reguli Task 3.2 Evaluarea parserului semantic bazat pe învățare automată Task 3.3 Soluție de votare petru selectarea celui mai bun parser

WP 4 Aplicație de Întrebare-Răspuns Task 4.1 Arhitectura optimă a unui sistem de Întrebare-Răspuns semantic Task 4.2 Implementarea modulului semantic pentru sistemul de Întrebare-Răspuns Task 4.3 Configurare unui serviciu web pentru sistemul de Întrebare-Răspuns semantic

WP 5 Evaluarea sistemului de Întrebare-Răspuns semantic Task 5.1 Evaluarea sistemului de Întrebare-Răspuns fără modulul semantic Task 5.2 Evaluarea sistemului de Întrebare-Răspuns cu modulul semantic Task 5.3 Configurarea și testarea unui serviciu web pentru sistemul de Întrebare-Răspuns semantic

WP 6 Aplicație inteligentă bazată pe sistemul de Întrebare-Răspuns semantic

Task 6.1 Sistem de dialog utilizator-calculator Task 6.2 Adaptare pentru mediul cădirilor inteligente

WP 7 Diseminare și management Task 7.1 Diseminare Task 7.2 Management

Cap 2. Descrierea științifică și tehnică

O preocupare cheie în domeniul prelucrării limbajului natural este identificarea mecanismului care permite atașarea sensului de secvențe de text. Analiza rolurilor semantice intenționează să răspundă la următoarele întrebări: Cum înlănțuie entitățile evenimentele? Ce rol joacă aceste entități în diverse evenimente? Semantica limbajului natural include, prin urmare, studiul sensului şi a referințelor denotative, structuri de argumente, roluri semantice, analiza discursului, precum şi conectarea tuturor acestora cu sintaxa. Un rol semantic reprezintă relația dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii semantice, care împărtăşesc elemente comune de sens. Este în general acceptată idea că verbe din astfel de clase vor împărtăşi, de asemenea, unele caracteristici sintactice, deoarece, conform lui Levin (1993), semantica unui verb determină, cel puțin parțial, comportamentul său sintactic.

Dezvoltarea unei resurse de roluri semantice pentru limba română

Page 2: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

2

Semantica cadrelor (Frame Semantics) (Fillmore, 1982) este o teorie lingvistică care descrie structura conceptuală ce stă la baza înțelesului lingvistic. Cadrul semantic reprezintă o structură scriptică de inferențe, legată prin convenții lingvistice de înțelesul unităților lexicale. Fiecare cadru identifică un set de constituenți, roluri semantice (frame elements) care îl definesc şi o serie de unități lexicale (cuvinte) ce participă la actualizarea sa. Conceptul de unitate lexicală (sau cuvânt predicațional) este central pentru resursele de cadre semantice. Unitatea lexicală este acel cuvânt sau sens al unui cuvânt polisemantic pentru care se definesc proprietățile combinatorice, definit printr-o lemă, o parte de vorbire şi un cadru. Descrierea în termeni de semantică a cadrelor a unei unități lexicale identifică cadrele care formează un înțeles dat şi specifică modul în care rolurile semantice sunt realizate în interiorul unor structuri dominate de cuvântul țintă.

Resursele care conțin descrieri ale cadrelor semantice cu rolurile lor semantice reprezintă valențele cuvintelor predicaționale, însoțite de o colecție de atestări din corpusul adnotat care exemplifică legăturile dintre rolurile semantice şi realizările lor sintactice (funcții morfologice sau sintactice). Valența este capacitatea combinatorie a verbului, adică însuşirea acestuia de a deschide anumite poziții libere care sunt ocupate de termenii implicați. Fiind strâns legată de semantica verbului, valența reglementează numărul şi caracteristica funcțional-semantică şi gramaticală a elementelor cerute de verb (constituenți obligatorii şi facultativi). Cel mai activ şi mai important sub aspectul valenței este verbul, însă pot fi exista şi substantive sau adjective ce au trăsătura de predicaționalitate care realizează nucleul semantic al propoziției.

În procesul comunicării, cuvintele predicaționale se constituie în nucleu, fiecare nucleu putând cere diferite argumente. Gradul de necesitate al constituenților pentru plenitudinea semantică a enunțului alcătuit de predicat este însă diferit. De exemplu, verbul a depinde cere obligatoriu un actant şi un obiect (cineva depinde de ceva). Ceilalți determinați care pot apărea pe lângă verbul a depinde sunt actualizați explicit numai atunci când sunt ceruți de situația de comunicare. Astfel, unele dintre pozițiile sintactice descrise de verb pot rămâne libere, fără ca enunțul să aibă de suferit şi, dimpotrivă, suprimarea sau neexprimarea altora poate avea drept efect generarea unor structuri incorecte, incomplete sub aspect structural şi semantic. Din acest punct de vedere se disting două tipuri de valențe: valențe obligatorii, numite şi argumente şi valențe facultative, numite şi adjuncți.

Un rol semantic nucleu este un rol care instanțiază o componentă necesară din punct de vedere conceptual pentru definirea şi diferențierea cadrului, un rol obligatoriu, corespunzând argumentelor. De exemplu Cumpărător, Vânzător, Bani şi Bunuri sunt roluri nucleu pentru cadrul Comerț.

Rolurile semantice care introduc evenimente independente sau distincte adiționale evenimentului principal sunt caracterizate ca fiind periferice (adjuncți). Rolurile periferice marchează dimensiunea temporală, spațială, modală etc., dar nu caracterizează în mod unic cadrul şi pot actualiza orice cadru semantic evenimențial. De exemplu Mod, Mijloace, Scop, Rată şi Unitate sunt roluri periferice pentru cadru semantic Comerț.

În forma cea mai simplă a reprezentărilor de semantică lexicală (Dowty, 1991) sunt recunoscute numai două roluri semantice: un Proto-Agent și un Proto-Patient, dar majoritatea teoriilor consideră cel puțin cele șase roluri semantice definite în Case Grammar (Fillmore, 1982). O lista a celor mai frecvent identificate roluri semantice este:

Caracteristicile generale ale rolurilor semantice sunt:

1. Există un set mic fix de roluri semantice.

2. Rolurile semantice sunt atomice (în general, un rol nu subsumează un altul).

3. Oricărui argument al unui verb îi este atribuit un rol semantic sau altul.

4. Fiecărui argument al unui verb îi este atribuit exact un rol semantic.

5. Rolurile semantice sunt alocate în mod unic unui verb (de exemplu, doar un singur argument poate fi numit agent).

6 Rolurile semantice sunt non-relaționale (de exemplu, prezența unui rol pacient nu implică prezența în text și a unui rol agent).

Page 3: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

3

Ca o continuare a preocupărilor din timpul doctoratului, proiectul propus vizează completarea resursei de roluri semantice pentru limba română prin transfer automat al adnotării din limba engleză. Resursa astfel creată va fi folosită pentru dezvoltarea unui sisteme de prelucrare a limbajului natural bazate pe informații semantice.

Între resursele utilizate pentru studierea sintaxei limbilor naturale o componentă importantă sunt treebank-urile. Un treebank este un corpus adnotat într-un formalism general acceptat (ca de exemplu, gramatici de dependenţă). Cele mai reprezentative treebank-uri actuale sunt pentru limba engleză (Penn Treebank – construit la Universitatea din Pennsylvania, Philadelphia ) şi pentru limba cehă (Prague Dependency Treebank – construit la Universitatea Charles din Praga ). O astfel de resursă lipseşte deocamdată pentru limba română.

O astfel de resursă este extrem de importantă pentru dezvoltarea supervizată de programe de prelucrare sintactică a limbii române, dar și pentru evaluarea rezultatelor obținute automat, comparativ cu cele adnotate manual, considerate „gold standard”.

Etichetarea rolurilor semantice este o component importantă a înțelegerii limbii, și a fost considerată de mai multe sisteme computaționale. Sistemele tradiționale de parsare și înțelegere, inclusiv implementări bazate pe gramatici de unificare, se bazează pe gramatici dezvoltate manual, care trebuie să anticipeze fiecare mod în care rolurile semantice ar putea fi realizate sintactic. Scrierea acestor gramatici este consumatoare de timp, și de obicei, astfel de sisteme au o performanță limitată. Metodele bazate pe învățare promit o generalizare dincolo de numărul relativ mic de instanțe sau roluri considerate. Astfel, diverse strategii de învățare au fost folosite pentru adnotarea automată a rolurilor semantice: estimarea probabilităților (Gildea and Jurafsky, 2002), arbori de decizie (Surdeanu et al., 2003), mașini cu suport vectorial (Pradhan et al., 2005) și învățarea bazată pe memorie (Morante et al., 2008).

Un dezavantaj important al celor trei sisteme prezentate este că acestea nu tratează predicatele nominale, fiind construite doar pentru predicate verbale . Mai mult, acestea iau în considerare doar un singur predicat pentru fiecare propoziție, chiar dacă nu acesta este întotdeauna cazul. De exemplu, în propoziția:

Acordarea premiului Nobel Președintelui Obama a fost dezbătută pe larg.

avem două cuvinte predicaționale, acordarea, având ca Temă premiului Nobel, și dezbătute, având două roluri, o Temă acordarea Premiului Nobel Președintelui Obama și un adjunct Modal reprezentat de grupul prepozițional pe larg. Sistemul care va fi dezvoltat în cadrul acestui proiect tratează atât verbele, cât și substantivele predicaționale pentru limba română.

Pentru dezvoltarea resurselor de cadre semantice pentru limbile spaniolă, germană și japoneză, s-a plecat de la un corpus specific fiecăreia dintre aceste limbi, adnotat manual la roluri semantice. În această secțiune descriem o metodă de constituire a unui corpus românesc de cadre semantice prin import din limba engleză. Premisa programului de importare automată a rolurilor semantice din limba engleză pentru limba română se bazează pe proprietatea cadrelor semantice de a exprima concepte la nivelul structurii de adâncime, valabile pentru toate limbile, actualizarea sintactică având loc ulterior la nivelul structurii de suprafață, diferit pentru fiecare limbă în funcție de constrângerile sintactice și morfologice. Programul de transfer automat (Trandabăț, 2007) are la bază 3 corelarea rolurilor semantice exprimate în limba engleză cu traducerea pentru limba română a cuvintelor ce realizează rolurile respective. De exemplu:

EN: … until [Craig]Entity [becomes]TARGET [available]Finalstate [in 1994]Time.

RO: … până când [Craig]Entity [VA deveni]TARGET [disponibil]Finalstate [în 1994]Time.

FR: … jusqu'à ce que [Craig]Entity [devient] TARGET [libre] Finalstate [en 1994] Time.

Ulterior, aceste adnotări automate au fost validate manual. Această abordare este similară celei din (Barbu Mititelu și Ion, 2005) folosită pentru transferul relațiilor de dependență verbală dintr-un corpus aliniat englez-român.

Astfel, folosind fișierele XML ale propozițiilor engleze adnotate la roluri semantice, se creează automat un set de fișiere XML ce conțin un corpus de propoziții adnotate la nivelul rolurilor semantice pentru limba română, din care urmează să se extragă cadrele semantice. Programul de adnotare folosește ca fișiere de intrare: (i) fișierele XML

Page 4: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

4

pentru unitățile lexicale engleze, care conțin propoziții adnotate, și (ii) fișierele cu alinierea propozițiilor engleze - românești.

Pentru dezvoltarea corpusului romanesc au fost alese aleatoriu 1500 de propoziții din resursa FrameNet pentru limba engleză. După selectarea propozițiilor s-a realizat traducerea manuală a enunțurilor încercându-se menținerea pe cât posibil a părții de vorbire din limba engleză, măcar pentru unitatea lexicală care determină cadrul semantic, pentru a mări precizia alinierii. Alinierea propozițiilor englezești cu cele românești a fost realizată folosindu-se aliniatorul dezvoltat de Institutul de Cercetări în Inteligență Artificială al Academiei Române (Tufiș et al., 2005).

Pentru folosirea programului de import pe un corpus nou, este necesară traducerea în limba română a enunțurilor din limba engleză adnotate cu informații semantice, traduceri ce pot fi efectuate fie de către un traducător uman sau de serviciul Google translate (cu validării ulterioare). Următorul pas este alinierea celor două versiuni cu ajutorul programului de aliniere la nivel de cuvânt Giza++. Aceste fişiere intră în programul semantic import roluri. După importul de adnotare semantică, poate fi utilizată interfaţa pentru validarea manuală a corpusului importat automat.

Transferul automat al adnotării

Intuiția la baza importării automate a cadrelor a fost că majoritatea cadrelor semantice definite pentru FrameNet-ul englezesc sunt valabile şi pentru limba română, deoarece cadrele semantice au ca scop caracterizarea unei structuri conceptuale la un nivel de bază al descrierii (nivelul de adâncime). Din acest motiv, scopul programului este importarea automată a adnotărilor pentru limba engleză în limba română pentru realizarea unui FrameNet românesc.

Programul de importare automată (Trandabăț, 2007) are la bază corelarea rolurilor semantice exprimate în limba engleză cu traducerea pentru limba română a cuvintelor ce realizează rolurile respective. Ulterior, aceste adnotări automate vor fi validate manual pentru corectare şi pentru a se stabili dacă metoda este eficientă sau nu.

FrameNet-urile spaniol, german şi japonez au la bază un corpus specific fiecăreia dintre aceste limbi, adnotat manual la roluri semantice, din care se extrag automat cadrele pentru fiecare unitate lexicală. Premisa programului de importare automată a rolurilor semantice din limba engleză pentru limba română se bazează pe faptul că cadrele semantice exprimă concepte la nivelul structurii de adâncime, valabile pentru toate limbile, actualizarea sintactică având loc ulterior la nivelul structurii de suprafață diferit pentru fiecare limbă în funcție de constrângerile sintactice şi morfologice. Astfel, folosind fişierele XML ale propozițiilor engleze adnotate la roluri semantice se creează automat un set de fişiere XML ce conțin un corpus de propoziții adnotate la nivelul rolurilor semantice pentru limba română, din care urmează să se extragă cadrele semantice. Programul de adnotare foloseşte ca fişiere de intrare: (i) fişierele XML pentru unitățile lexicale engleze, care conțin propoziții adnotate, şi (ii) fişierele cu alinierea propozițiilor engleze - româneşti.

Algoritmul de transfer consideră importarea ca o problemă de etichetare secvenţială, cu o codificare B-I-O (Begin, Inside, Ouside). Programul de import automat se bazează pe corelarea rolurilor semantice exprimate în limba engleză cu echivalenții de traducere din limba română. Au fost identificate 9 tipuri de import al adnotării, descrise detaliat în (Trandabăț, 2010). Din punct de vedere formal, propoziția englezească poate fi văzută ca o mulțime de elemente ordonate S_en = (we1 , we2 , . . . , wen), iar propoziția românească este S_ro = (wr1 , wr2 , . . . , wrm). Astfel, funcția de aliniere este

Align(wei ) : S_en ∪ {∅} → 2S_ro ∪ {∅},

unde 2S_ro este mulțimea părților pentru propoziția românească S_ro.

Atribuirea rolurilor semantice prin importul din limba engleză se face prin funcția Frame(wei ):

∀wei ∈ S_en, Frame(wei) : {S_en ∪ ∅} → {B_Fi , I_Fi , O_Fi },

Page 5: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

5

cu Fi ∈ {∪ FrameNetRoles, NO-Frame} and Frame(∅) = {∅}.

Prin metoda de import se folosește propoziția englezească S_en, traducerea românească a ei S_ro, și funcția de mapare Align, astfel că ∀wei ∈ S_en, Align(wei ) = WiR ⊂ S_ro ∪ {∅}, sunt identificate următoarele cazuri de transfer:

Aliniere one-to-zero: ∃! wei ∈ S_en, astfel ca Align(wei ) = ∅, caz în care nu trebuie efectuat transfer deoarece nu există cuvânt românesc cu care să fie aliniat rolul din limba engleză;

Aliniere one-to-one, unde ∃! wei ∈ S_en și ∃! wrj ∈ I S_ro, astfel încât Align(wei ) = wrj , cu| WiR |= 1. În acest caz, un cuvânt englezesc are doar un singur corespondent românesc și Frame(wrj ) = Frame(wei);

Aliniere one-to-many, unde ∃! wei ∈ S_en și un subșir de cuvinte românești wrj . . . wrl ∈ 2S_ro , a.i. Align(wei ) = wrj . . . wrl , cu| WiR |> 1. Funcția de import devine :

( ) {

( ) (

)

( ) (

) ∈

Aliniere many-to-one, unde există un subșir wei . . . wek ∈ 2S_en și ∃! wrj ∈ S_ro, a.i. Align(wei , . . . wek ) = wrj , cu | WiR |= 1, și funcția de import devine:

( ) {

Aliniere many-to-zero, unde există un subțir wei . . . wek ∈ 2S_en , a.i. Align(wei . . . wek ) = ∅, | WiR |= 0. Acest caz este redus la aliniere one-to-zero, și aplicat pentru fiecare cuvânt englezesc;

Aliniere many-to-many, unde există un subșir wei . . . wek ∈ 2S_en și un subșir wrj . . . wrl ∈ 2S_ro , a.i. Align(wei . . . wek ) = wrj . . . wrl și | WiR |> 1. Acest caz este mai mult teoretic, și nu a fost întâlnit în practică în dezvoltarea resursei pentru limba română.

Aliniere zero-to-one, unde pentru wei = ∅ ∃! wrj ∈ S_ro, a.i. Align(wei ) = wrj (de obicei cazul cuvintelor funcționale). Astfel, funcția de import este:

( ) {

(

) { } (

)

Aliniere zero-to-many, unde pentru wei = ∅ ∈ S_en, există un subșir wrj . . . wrl ∈ 2S_ro, a.i. Align(wei ) = wrj . . . wrl

și | WiR |> 1. Această situație este redusă la alinierea zero-to-one;

Aliniere zero-to-zero, unde wei = ∅ ∈ S_en, Align(wei ) = ∅. Acest caz este prezentat doar din motive de simetrie.

Exemple de transfer al adnotării semantice pot fi găsite în (Trandabăț 2010).

Evaluarea corectitudinii corpusului obţinut pentru limba română este efectuată comparându-l cu versiunea validată manual a corpusului. Evaluarea presupune compararea rolului semantic al fiecărui cuvânt pentru limba engleză cu rolul echivalentului său de traducere în limba română. Primele rezultate ale programului de import indică o precizie generală de aprox. 79%. Validarea rezultatelor s-a bazat pe detectarea cazurilor când importul a eșuat, încercând să descopere dacă problemele s-au datorat traducerii sau particularităților semantice și sintactice ale limbii române. Au fost găsite doar puține erori de traducere, și chiar și în acele cazuri, înțelesul fusese păstrat și rolurile semantice fiind corect atribuite.

Page 6: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

6

Majoritatea propozițiilor constituie un corpus corect din punct de vedere al adnotării. Cazurile speciale de neconcordanțe țin fie de inconsecvențe de adnotare, fie de diferențe culturale sau lingvistice dintre cele două limbi. Problemele de import au fost prezentate în (Trandabăt & Husarciuc, 2008) și pot fi grupate în următoarele clase:

- Cazuri în care există mai multe adnotări posibile în engleză – același constituent poate avea roluri tematice diferite. În limba română pot exista ambele roluri sau doar unul. Programul de import recunoaște un singur rol pentru fiecare constituent, și anume primul care a fost adnotat. Aceste cazuri sunt marcate pentru validare manuală. De exemplu, importul automat pentru propoziția din limba engleză:

Traditional methods require that [the animal]Protagonist [bleed]Cause to [death]TARGET

[after having its throat cut]Time/Cause

este:

Metodele tradiționale cer ca [animalul]Protagonist [să sângereze]Cause până la

[moarte]TARGET [după ce i s-a tăiat gâtul]Time.

- Cazuri în care limba română are roluri semantice ce nu apar în limba engleză (de exemplu argumente externe) ca în:

[Quit]TARGET [smoking]Process.

[Lăsați]TARGET –[vă]Protagonist [de fumat]Process.

unde rolul Protagonist nu există în propoziția engleză, dar el apare în traducerea în limba română și ar trebui adnotat, deși programul de import nu poate transfera nimic.

- Cazuri în care un rol din limba engleză nu este exprimat în limba română deoarece nu este exprimat explicit în structura sintactică (de obicei este vorba de subiect care este obligatoriu în limba engleză, dar poate lipsi fără a invalida enunțul în limba română). Un exemplu în care rolul Manner este inclus în cuvântul țintă este:

[Blood]Undergoer [had congealed]TARGET [thickly]Manner [on the end of the smashed

fibula]Place .

[Sângele]Undergoer [se îngroșă]TARGET [spre capătul fibulei zdrobite]Place .

- Diferențe privind modul de formulare a enunțurilor în cele două limbi. Cele mai multe exemple de acest fel găsite au fost datorate folosirii în limba engleză a verbelor copulative, modale, sau a verbelor suport, traduse în limba română fără folosirea unui astfel de verb. Astfel, cadrele semantice din cele două limbi sunt diferite, iar rolurile din limba engleză, deși importate corect, pot fi inexistente în cadrul semantic al verbului din limba română.

And I was surprised at how easily [my eyes]Entity [became]TARGET [accustomed to

seeing]Final_state in the light of the head torch .

Și am rămas surprins cât de ușor [s- au obișnuit]TARGET [ochii mei]Entity [cu

vederea]Final_state la lumina făcliei principale .

Adnotările automate ale rolurilor semantice pe corpusul românesc au fost verificate pentru a se extrage situațiile de neconcordanță. O dezvoltare ulterioară este realizarea, plecând de la cazurile de diferențe lingvistice, de reguli automate ce vor fi implementate pentru îmbunătățirea rezultatelor programului de transfer automat al rolurilor semantice.

Investigarea posibilităţii de aliniere a structurilor sintactico-semantice cu WordNet-ul folosind codul interlingual (ILI)

WordNet (http://wordnet.princeton.edu/)este o baza de date lexicală disponibilă gratuit pentru limba engleză, dezvoltată sub îndrumarea lui George A. Miller (Miller, 1995). Substantive, verbe, adjective şi adverbe sunt grupate în seturi de sinonime cognitive (synset-uri), fiecare exprimând concept distinct. Synset-urile sunt interconectate prin relaţii conceptual-semantice şi lexicale.

Page 7: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

7

WordNet-ul românesc (Tufis et al., 2004) a fost construit ca parte a reţelei multilingve de semantică lexicală Balkanet (Stamou et al., 2002). Balkanet exploatează conceptul de indice inter-lingual (ILI), introdus prin proiectul EuroWN (Rodriguez et al., 1998). Structura ILI poate fi privită ca o reţea semantică, ale cărei noduri sunt concepte independente de limbă care sunt legate prin arce etichetate direcţionate ce reprezintă relaţiile semantice dintre concepte. Pentru ca versiunea în limba română a WordNet-ului să fie reprezentativă pentru limba română, autorii au considerat că cea mai bună abordare pentru crearea acesteia ar fi o abordare centrată pe limbă, spre deosebire de o traducere a synset-urilor din WordNet-ul englezesc. În acest scop, autorii s-au bazat pe resurse lexicografice româneşti, cum ar fi Dicţionarul Explicativ al Limbii Române, Dicţionarul de Sinonime, precum şi un dicţionar român-englez propriu. În ceea ce priveşte acoperirea, versiunea actuală a WordNet-ului românesc (Tufiş, 2008; Tufiş şi Ştefănescu, 2011) acoperă toate conceptele de bază din EuroWordNet (concepte care se regăsesc în aproape toate WordNet-urile din proiectul EuroWordNet), o serie de concepte propuse de partenerii din proiectul Balkanet, precum şi concepte specifice româneşti, oferind astfel o acoperire semnificativă multilingvă. Conceptele specifice româneşti propuse sunt extrase în funcţie de frecvenţa într-un corpus de ziare, numărul de sensuri pentru cuvânt şi productivitatea sa definitorie (numărul de definiţii de sens în care cuvântul este folosit). Setul de candidaţi ILI care pot reprezenta un anumit cuvânt a fost extras pe baza unui dicţionar bilingv propriu, iar alinierea finală a fost verificată de lexicografi.

După implementarea conceptelor ILI pentru limba română, autorii au examinat natura relaţiilor semantice dintre ele. Chiar dacă unele dintre aceste relaţii semantice sunt dependente de limbă (cum ar fi derivatele sau antonimele), multe relaţii pot fi importate automat în limba română. Dintre aceste relaţii definite de WordNet, cele care sunt de interes pentru cercetarea de faţă sunt relaţia de sinonimie şi de hipernimie.

Combinarea resurselor de roluri semantice cu Wordnet-ul În ultimii ani, a existat un interes tot mai mare în analiza semantică de adâncime pentru diferite task-uri din

domeniu prelucrării limbajului natural. Resursele lexical-semantice pe scară largă, cum este WordNet-ul, au fost dezvoltate şi folosite pentru aproximarea unui model semantic în diverse aplicaţii. Proiectele FrameNet şi PropBank dezvoltă resurse lexical-semantice care se concentrează pe modelarea structurii predicat-argument.

Câţiva cercetători au început să studieze posibilitatea combinării diferitelor resurse. Terenzi şi Eugenio (2003) raportează, într-o lucrare care prezintă încercări de a construi în mod automat un corpus de texte de instrucţiuni adnotate cu informaţii de semantică lexicală, integrarea a două resurse lexicale, VerbNet pentru verbe şi CoreLex pentru substantive. Ei arată că un parser care foloseşte un astfel de lexicon şi ontologie are rezultate foarte bune pe text de instrucţiuni.

Shi şi Mihalcea (2005) au încercat să creeze un sistem care integrează trei resurse lexicale diferite, FrameNet, VerbNet, şi WordNet, într-o resursă mai amplă, cu scopul de a permite o parsare semantică mai robustă. Construcţia fiecăreia dintre aceste resurse lexicale a necesitat mulţi ani de eforturi laborioase, şi toate au punctele lor forte şi neajunsurile lor. Prin conectarea lor, Shi şi Mihalcea construiesc o resursă îmbunătăţită în care (1) gradul de acoperire a resursei FrameNet este extins, (2) lexiconul din VerbNet este completat cu semantica cadrelor, şi (3) restricţiile selecţionale sunt implementate folosind clase semantice din WordNet.

Burchardt et al. (2005) prezintă un sistem bazat pe reguli de repartizare a cadrelor semantice din FrameNet folosind WordNet-ului. Sistemul poate fi utilizat pentru a contracara problema datelor insuficiente în cazul sistemelor statistice antrenate pe datele din FrameNet. FrameNet grupează cuvinte şi expresii (unităţi lexicale) în cadre semantice şi oferă liste de roluri semantice pentru fiecare cadru. Acest tip de informaţii de semantică lexicală este deosebit de util pentru domeniile care implică accesul la informaţii, cum ar fi extragerea de informaţii sau sistemele de întrebare-răspuns. Burchardt, Erk şi Frank (Burchardt et al., 2005) au investigat utilizarea cadrelor semantice din FrameNet pentru construirea de reprezentări parţiale ale sensul textelor, care sunt folosite în aplicaţii de extragere de informaţii pentru implicaţii textuale (textual entailment - TE). Două sarcini majore în adnotarea (automată) a textelor cu roluri semantice sunt problema atribuirii cadrului semantic (identificarea cadrului adecvat pentru o unitate lexicală dată) şi problema atribuirii rolului semantic (repartizarea de roluri semantice constituenţilor

Page 8: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

8

sintactici din propoziţie). Pentru prima problema, Burchardt, Erk şi Frank folosesc un sistem de învăţare supervizată de dezambiguizare a sensului, antrenat pe colecţia de exemple adnotate din FrameNet.

Totuşi, deoarece FrameNet este o resursă încă în creştere, adnotarea textului contiguu se confruntă cu două probleme. Prima este o problemă de acoperire: de exemplu, pentru cele 574 de propoziţii dintr-un corpusul pentru TE, cu o medie de 16.24 cuvinte/propoziţie, sistemul de dezambiguizare semantică identifică în medie 2,7 cadre semantice şi 3,6 roluri semantice pe propoziţie. A doua problemă se referă la lipsa unor sensuri din resursa FrameNet şi este datorată faptului că FrameNet este construit cadru după cadru, şi nu cuvânt după cuvânt. Acest lucru duce la atribuiri greşite de sensuri. Pentru a remedia această problemă, autorii propun utilizarea WordNet-ului. Ei folosesc synset-urile din WordNet ca un strat de legătură pentru a propune perechi cuvânt-cadru semantic care lipsesc din baza de date FrameNet. Apoi, folosesc un sistem de dezambiguizare semantic bazat pe WordNet pentru a adnota cuvintele în texte noi pe baza synset-ului determinat contextual. Astfel, atribuirea de cadre semantice nu foloseşte doar un singur cuvânt, ci şi sinonimele şi hipernimele sale.

Această metodă exploatează faptul că dezambiguizarea sensurilor în WordNet este, în general, mai granulată decât sensurile din celelalte resurse lexicale (FrameNet, PropBank). În anumite cazuri totuşi, entităţi înrudite în WordNet sunt mapate la sensuri diferite în FrameNet. În plus, metoda este dependentă de atribuirea corectă a synset-ului pentru cuvântul căutat. Astfel, erori în atribuirea iniţială a synset-ului afectează calitatea programului de identificare a cadrului semantic.

Pentru a investiga posibilitatea alinierii structurilor sintactico-semantice cu Wordnet-ul, am efectuat o analiză a alinierii sensurilor unui cuvânt din WordNet cu sensurile aceluiaşi cuvânt, dar din perspectiva PropBank.

Sensurile PropBank vs. sensurile WordNet Pentru analiza diferenţelor dintre sensurile din PropBank şi cele din WordNet, am considerat o mică parte

din adnotarea PropBank pentru verbul take. În PropBank, adnotările pentru un cuvânt predicaţional (fie verb sau substantiv), în acest caz, verbul take, sunt grupate în funcţie de rădăcina cuvântului predicaţional în mai multe clase predicat. Atributul lemă a clasei predicat este considerat fie strict lema verbului lexical, fie lema, urmată de o particulă adverbială, în cazul în care verbul acceptă una (verbul este un verb idiomatic). De exemplu, pentru verbul take, sunt adnotat 9 clase predicat, cu lemele: take, take away, take in, take off, take on, take out, take over, take up şi take aback.

Primul predicat corespunde verbului lexical take fără particulă, şi are adnotate în PropBank 9 sub-sensuri: (1) take, acquire, come to have, (2) tolerate, (3) cause (to be), (4) understand to be, (5) fixed phrase: take place, (6) write-off, acknowledge a (financial) loss, (7) need, (8) take by surprise, (9) become fond of. Pentru fiecare sub-sens sunt adnotate o serie de propoziţii care constituie sensuri mai rafinate pentru sub-sensul considerat.

Adnotarea sensurilor din PropBank şi NomBank este similară oarecum adnotării sensurilor din WordNet, cu observaţia că clasele de sens sunt centrate mai puţin pe diferitele sensuri ale cuvântului predicaţional, şi mai mult pe diferenţa dintre lista de roluri semantice pe care diferite sensuri o au. Sensurile din PropBank sunt, de obicei, subsumate de sensurile din WordNet pentru un anumit cuvânt predicaţional, deoarece WordNet-ul are o distincţie mai rafinată între sensuri. De exemplu, clasa predicat pentru verbul take cu lema take are în PropBank 9 sub-sensuri, iar în WordNet 42 de synset-uri.

Pentru a exemplifica corespondenţa dintre sensurile celor două resurse, vom folosi primul sub-sens din PropBank pentru predicatul take, si anume take, acquire, come to have, şi propoziţiile corespunzătoare adnotate. Pentru fiecare propoziţie, sysnset-urile din WordNet care au o semnificaţie similară sunt enumerate:

Tabel 1: Corespondența sensurilor din PropBank - WordNet

Sensuri PropBank Corespondenţe posibile Wordnet

Synset Exemplu

take ofice

fill, take, occupy She took the job as director of development;

Page 9: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

9

President Carlos Menem took ofice July 8.

assume, take, strike, take up She took her seat on the stage;

take (take by force) Hitler took the Baltic Republics;

choose, take, select, pick out Take any one of these cards;

remove, take, take away, withdraw

take the gun from your pocket

take (take into one's possession)

I'll take three salmon steaks;

view Principals take cheating seriously.

take, read How should I take this message?;

consider, take, deal, look at Take the case of China;

take, submit We took a pay cut;

take the law She took the law into her own hands"

take (carry out) “take action"; “take steps'

Ske took vengeance;

take measures It has taken measures to prevent cheating."

take (carry out) “take action"; “take steps';

She took vengeance;

take advantage “take advantage of the cost-sharing mechanism."

capitalize, capitalise, take advantage

she took advantage of his absence to meet her lover;

trespass, take advantage You are taking advantage of my good will!;

take some comfort “Investors can take some comfort in the predictable arrival of quarterly dividend checks."

take (to get into a position of having, e.g., safety, comfort)

take shelter from the storm;

taking care of business “Frank plans the program, takes care of business, and approaches the work like any other job."

take care, mind (be in charge of or deal with)

She takes care of all the necessary arrangements;

attend, take care, look, see She took care of this business.

La o primă analiză se observă că sensurile din WordNet sunt mai rafinate decât cele din Propbank. Pe lângă

sensurile prezentate mai sus, WordNet are încă 29 de sensuri pentru verbul take, de la sensuri mai generale:

- take, occupy, use up (require (time or space)) “It took three hours to get to work this morning";

- lead, take, direct, conduct, guide (take somebody somewhere) “can you take me to the main entrance?";

- take, get hold of (get into one's hands, take physically) “Take a cookie!";

la sensuri mai specifice:

- film, shoot, take (make a film or photograph of something) “take a scene";

- contract, take, get (be stricken by an illness, fall victim to an illness) “She took a chill".

Cu toate acestea, se poate observa că expresiile take measure, take comfort or take the law into his/her hands nu sunt luate în considerare pentru sensurile din WordNet ale verbului take. Putem concluziona astfel că setul de sensuri din PropBank este orientat mai mult pe expresii, în timp ce sensurile din WordNet încercă să generalizeze diferite situaţii în scopul de a crea synset-uri cât mai cuprinzătoare. Prin urmare, întrucât sistemele de adnotarea

Page 10: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

10

automată a rolurilor semantice vor avea PropBank drept corpus de antrenare, este de aşteptat ca rolurile semantice să fie mai bine identificate pentru expresii relativ fixe (take advantage, take by surprise etc.).

Algoritmul pe care îl propunem pentru a realiza alinierea dintre resursa de roluri semantice şi WordNet vizează generalizarea propoziţiilor adnotate cu roluri semantice folosind relaţiile de sinonimie şi hipernimie din WordNet. Astfel, în primul pas sunt eliminaţi constituenţii din propoziţie care îndeplinesc roluri de adjuncţi şi sunt păstrate numai cuvintele care sunt argumente. Următorul pas este generalizarea secvenţelor astfel obţinute folosind părţile de vorbire şi relaţiile de dependenţă extrase din adnotarea sintactică în locul formelor flexionate ale cuvintelor. În paralel, sunt identificate synset-urile în care apare predicatul din exemplul adnotat. Deoarece WordNet-ul cuprinde o prezentare foarte detaliată a sensurilor unui cuvânt, în acest pas se iau toate synset-urile găsite. O componentă separată va selecta dintre lista de synset-uri un singur synset, folosind cuvintele din descrierea sensului (pe baza potrivirii lemelor din definiţia din resursa semantică cu lemele din WordNet), exemplele din WordNet şi cuvintele din exemplul adnotat din resursa semantică (predicatul şi argumentele). Dacă selecţia unui singur synset nu a reuşit, atunci se selectează synset-ul cel mai frecvent în această etapă, urmând ca într-o etapă ulterioară să se investigheze folosirea unui sistem de dezambiguizare semantică. După crearea şablonului din propoziţia adnotată, şi identificarea synset-ului din care predicatul face parte, se foloseşte structura de subcategorizare din WordNet pentru mapare. Dacă şablonul realizat nu s-a potrivit exact peste structurile de subcategorizare existente în Wordnet, acesta se adaugă într-o listă de noi candidaţi de structuri de subcategorizare care trebuie validate pentru cuvântul predicaţional în vederea completării WordNet-ului.

Dezvoltarea unui parser semantic Etichetarea rolurilor semantice este o componentă importantă a înțelegerii limbii, și a fost considerată de mai

multe sisteme computaționale. Sistemele tradiționale de parsare și înțelegere, inclusiv implementări bazate pe gramatici de unificare, se bazează pe gramatici dezvoltate manual, care trebuie să anticipeze fiecare mod în care rolurile semantice ar putea fi realizate sintactic. Scrierea acestor gramatici este consumatoare de timp, și de obicei, astfel de sisteme au o performanță limitată. Această metodă a fost testată inclusiv în cadrul acestui proiect, fiind dezvoltat un sistem de parsare semantică bazat pe reguli. Regulile au fost realizate pe baza observațiilor empirice a diferitelor șabloane din colecția de roluri semantice. Parserul bazat pe reguli este prezentat pe larg în (Trandabăț 2011a)

Totuși, metodele bazate pe învățare promit o generalizare dincolo de numărul relativ mic de instanțe sau roluri considerate. Astfel, diverse strategii de învățare au fost folosite pentru adnotarea automată a rolurilor semantice: estimarea probabilităților (Gildea și Jurafsky, 2002), arbori de decizie (Surdeanu et al., 2003), mașini cu suport vectorial (Pradhan et al., 2005) și învățarea bazată pe memorie (Morante et al., 2008).

Un dezavantaj important al sistemelor prezentate este că acestea nu tratează predicatele nominale, fiind construite doar pentru predicate verbale. Mai mult, acestea iau în considerare doar un singur predicat pentru fiecare propoziție, chiar dacă nu acesta este întotdeauna cazul. De exemplu, în propoziția:

Acordarea premiului Nobel Președintelui Obama a fost dezbătută pe larg.

avem două cuvinte predicationale, acordarea, având ca Temă premiului Nobel, și dezbătute, având două roluri, o Temă acordarea Premiului Nobel Președintelui Obama și un adjunct Modal reprezentat de grupul prepozițional pe larg.

Sistemul dezvoltat în cadrul acestui proiect își propune să trateze atât verbele, cât și substantivele predicaționale pentru limba română. Conform cu obiectivele propuse pentru anul II al proiectului, raportul de față prezintă folosirea corpusului de roluri semantice dezvoltat anterior (descris în raportul pentru anul I al proiectului) pentru dezvoltarea unui parser de structuri semantice.

Page 11: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

11

Arhitectura parserului de structuri semantice

Folosind resursa de roluri semantice a fost dezvoltat un sistem de creare a unui modul de adnotare automată a rolurilor semantice, numit PASRL (Platform for Adjustable Semantic Role Labeling). În acest sens, au fost folosiți 12 dintre cei mai cunoscuți algoritmi de învățare automată, incluși în cadrul de lucru Weka (Witten și Eibe, 2005). Similar cu arhitectura generală a sistemelor de etichetare a rolurilor semantică (Marquez et al., 2008), PASRL este compus din două sub-sisteme principale: un modul de predicție a predicatului (Predicate Prediction) și un modul de predicție a argumentelor (Argument Identification). Modulul de predicție a predicatului are la rândul lui trei configurații posibile:

Identificarea predicatelor (Predicate Identification)– acest modul primește ca intrare propoziția analizată sintactic (cu informații despre părțile de vorbire și dependențele sintactice) și decide care dintre verbele și substantivele din propoziție sunt predicaționale, și deci pentru care trebuie căutate roluri semantice;

Identificarea sensului predicatelor (Predicate Sense Identification)– după identificarea predicatelor dintr-o propoziție, trebuie stabilit sensul fiecărui predicat (dintre sensurile din corpusul de antrenare), deoarece sensuri diferite pot cere o structură diferită de roluri semantice;

Identificarea simultană a predicatelor și a sensului lor (Sense Identification) – acest modul identifică simultan predicatul și sensul acestuia.

După rularea primului modul și identificarea predicatelor și a sensurilor lor, al doilea modul, cel de Identificare a argumentelor, atribuie rolul potrivit fiecărui constituent sintactic dependent al predicatului.

Pentru fiecare configurație posibilă modulele au trei variante, legate de dimensiunea corpusului de antrenare: folosind toate datele de test, folosind numai datele care au drept cuvânt predicațional un substantiv, respectiv verb (NP / VP), sau folosind numai datele corespunzând unui anumit tip de rol. Pentru fiecare modul sunt antrenați un set de algoritmi de clasificare din Weka. După rularea tuturor clasificatorilor pentru toate modulele, performanța lor este comparată, iar calea care obține cea mai mare performanță este considerată cea mai bună configurație. Un exemplu de astfel de configurație poate fi: Rularea modelului creat pentru identificarea predicatelor folosind tot corpusul de antrenare și drept algoritm de clasificare arborii de decizie, urmat de modelul creat pentru identificarea sensului predicatului separat pe verbe/substantive (NP / VP) create tot folosind arbori de decizie, și de modelul de identificare a argumentelor pentru fiecare tip de argument în parte, creat folosind algoritmul Naive Bayes. Modelele pentru cea mai bună configurație sunt salvate iar configurația este folosită ulterior pentru a adnota texte noi cu roluri semantice.

Pentru fiecare modul (dintre cele trei folosite pentru predicţia predicatului şi modulul pentru identificarea rolurilor semantice) sunt antrenaţi cei 12 algoritmi de clasificare din Weka. O descriere a algoritmilor din Weka şi a platformei poate fi găsită în (Trandabăţ, 2011b). După rularea tuturor clasificatorilor pentru toate modulele, performanţa lor este comparată pentru a se decide care este algoritmul optim spre a fi folosit pentru realizarea sistemului de etichetare automată a rolurilor semantice.

Selecția trăsăturilor pentru fiecare modul

Pentru stabilirea instanţelor, pentru fiecare predicat sunt consideraţi dependenţii lui sintactici şi contextul său imediat (5 cuvinte înainte şi după predicat). Trăsăturile folosite în modulului de predicţie a predicatului şi pentru modulul de identificare a sensului predicatului sunt extrase din resursa creată pentru limba română (descrisă în raportul nr. 1).

Page 12: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

12

Fig. 1. Exemplu de adnotare sintactică primită ca intrare

Plecând de la adnotarea sintactică primită la intrare (un exemplu de astfel de adnotare este prezentat în Fig. 1), care conţine relaţii de dependenţă, şi folosind resursa de roluri semantice, PASRL încearcă să identifice cuvintele din propoziţie care pot fi predicate semantice, pentru care trebuie adnotate rolurile semantice (prin modulul de predicţie a predicatului). Acest modul se bazează în principal pe resursa de roluri semantice, astfel verbele care sunt în această resursă (au adnotări semantice) pot fi predicate semantice, iar cele care nu sunt, nu sunt verbe predicaţionale, şi prin urmare nu pot avea argumente semantice. De exemplu, verbul a fi nu are nici o adnotare în resursele semantice, deoarece este un verb de stare, şi nu o acţiune, nu un verb predicaţional.

Un alt factor important în a decide dacă verbul poate juca rolul de predicat este verificarea rolului de head pentru un constituent sintactic. Chiar dacă verbul are adnotare semantic în resursa externă, şi se poate comporta ca un predicat, în cazul în care nu are dependenţi, nu are nici un rost în a-l identifica ca predicat, deoarece nu vor exista roluri semantice pentru el. Singura excepţie este în cazul verbelor auxiliare sau modale, deoarece uneori argumentele sunt adnotate ca dependenţi ai verbului auxiliar/modal, în loc să fie legate de verbul principal.

Programul de predicţie a predicatului transformă propoziţia adnotată sintactic din intrare în instanţe pentru algoritmii de învăţare automată. Pentru fiecare verb din propoziţie, este creată o instanţă cu un set de trăsături, inspirate din trăsăturile folosite în mod tradiţional pentru adnotarea rolurilor semantice. Caracteristicile utilizate pentru predicţia predicatului pot fi grupate în:

Trăsături dependente de predicatul candidat:

o trăsătură binară care stabileşte dacă cuvântul predicaţional se află sau nu în lista de predicate adnotate în resursa pentru limba română. Resursa de roluri pentru limba română permite crearea unei liste a predicatelor (şi a sensurilor acestora) pentru care există adnotări. Această listă este momentan restrânsă numeric, dar o dată cu îmbogăţirea resursei româneşti, ea va fi actualizată, această trăsătură devenind mai importantă pentru determinarea acelor cuvinte care pot avea roluri.;

numărul de dependenţi sintactici (dacă un cuvânt nu are dependenţi, atunci nu contează dacă el este sau nu predicaţional, pentru că nu este considerat predicat pentru nici un constituent din propoziţie);

numărul de dependenţi sintactici situaţi înainte/după predicat (de ex., mai mulţi dependenţi înainte de predicat indică o topică anormală sau un verb la diateza pasivă, deci rolurile semantice pot fi inversate);

Trăsături dependente de context:

părţile de vorbire şi grupurile din care fac parte n cuvinte înainte, respectiv după cuvântul predicat, în ordinea de suprafaţă a propoziţiei, unde n are valoarea 5, stabilită empiric, dar poate fi modificată dacă este dată ca parametru;

o trăsătură nominală care reprezintă relaţiile de dependenţe sintactice dintre cuvântul candidat şi cele n cuvinte situate înainte, respectiv după cuvântul candidat în ordinea lineară a propoziţiei, dacă există;

trăsătură binară care reprezintă relaţia este_părinte între candidat şi cele n cuvinte situate înainte, respectiv după cuvântul candidat în ordinea lineară a propoziţiei, dacă există;

Page 13: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

13

Trăsături dependente de relaţia părinte-dependent:

trăsătură binară care stabileşte dacă părintele dependentului sintactic este predicatul sau nu;

trăsătură binară care stabileşte dacă părintele dependentului sintactic este unul dintre cele n cuvinte;

trăsătură binară care stabileşte dacă predicatul are dependenţi care nu se găsesc între cele n cuvinte.

Ieşirea acestui modul este fişierul de intrare, în care este suplimentar adnotat predicatul. După identificarea predicatului, următorul modul este aplicat succesiv pentru fiecare predicat din propoziţie, pentru a se identifica toate argumentele posibile. De exemplu, pentru propoziţia:

Atribuirea rolurilor semantice depinde de numărul de predicate.

sunt identificate două predicate (atribuirea şi depinde). Următorul modul va fi aplicat de două ori pentru a identifica rolurile fiecărui predicat. Astfel, ieşirea PASRL după aplicarea modulului de identificare a rolurilor semantice va fi:

[Atribuirea rolurilor semantice]ARG0 [depinde]TARGET [de numărul de predicate]ARG1.

[Atribuirea]TARGET [rolurilor semantice]ARG1 depinde de numărul de predicate.

După rularea primului modul, (fie succesiv, prin identificarea predicatelor urmată de identificare sensurilor predicatelor, fie simultan), este folosit modulul de identificare a argumentelor pentru atribuirea rolului semantic corespunzător fiecărui constituent sintactic. În acest caz, instanţele sunt fiecare cuvânt din propoziţie. Modulul de predicţie a argumentelor se bazează pe relaţiile de dependenţă adnotate anterior şi pe ieşirea modului de predicţie a predicatului. Intrarea acestui modul conţine informaţii sintactice (parte de vorbire şi dependenţe sintactice) şi marcarea predicatului şi a sensului său.

Pentru modulul de identificare şi clasificare a rolurilor semantice, instanţele sunt calculate considerându-se toate cuvintele din propoziţie şi următoarele trăsături:

1. partea de vorbire a cuvântului;

2. dependenţa sintactică faţă de predicat;

3. grupul sintactic din care face parte;

4. partea de vorbire a regentului cuvântului;

5. distanţa de la cuvânt până la predicat, înainte sau după (în număr de cuvinte);

6. trăsătură binară stabilind dacă cuvântul investigat este punctuaţie sau nu;

7. trăsătură binară stabilind dacă cuvântul investigat este fiu al predicatului sau nu;

8. trăsătură binară stabilind dacă regentul cuvântului investigat este “a fi”, un verb copulativ sau modal;

9. hipernimul din WordNetul românesc (Tufiş et al., 2006), pentru substantive. Hipernimele sunt clasificate în prima clasă găsită, mergând bottom-up în ierarhia hipernimelor, dintre: spaţial, temporal, cantitate, obiect, persoană, entitate.

Pentru fiecare modul (dintre cele trei folosite pentru predicţia predicatului şi modulul pentru identificarea rolurilor semantice) sunt antrenaţi cei 12 algoritmi de clasificare din Weka (Witten and Frank, 2005). O descriere a algoritmilor din Weka şi a platformei poate fi găsită în (Trandabăţ, 2011a). După rularea tuturor clasificatorilor pentru toate modulele, performanţa lor este comparată pentru a se decide care este algoritmul optim spre a fi folosit pentru realizarea sistemului de etichetare automată a rolurilor semantice.

Page 14: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

14

Antrenarea sistemului de identificare a rolurilor semantice

Sistemul propus de extragere a rolurilor semantice din text folosește două module: Identificarea predicatelor (decide care dintre verbele și substantivele din propoziție sunt predicaționale, și deci pentru care trebuie căutate roluri semantice) și Identificarea rolurilor semantice (identifică, pentru fiecare predicat, ce rol are fiecare dependent al predicatului). Primul modul are trei variante, după cum au fost prezentate în sectiunile anterioare.

Pentru fiecare modul prezentat au fost rulați cei 12 cei mai cunoscuți algoritmi de învățare automată considerați, incluși în cadrul de lucru Weka (Witten și Eibe, 2005): LogitBoost Classifier, DecisionTable Classifier, Kstar, J48 Class,NaiveBayes Class, ZeroR Class, IBk, ClassificationViaClustering,HyperPipes, DecisionStump Class, RandomForest Class și SimpleCart Class.

Deoarece fiecare din cei 12 algoritmi menționați mai sus trebuie rulat pentru cele 3 module, timpul de rulare este foarte important. Astfel, pentru fiecare modul, au fost avute în vedere trei variante de dimensiune a corpusului de antrenare.

Prima variantă presupune folosirea întregului corpus de antrenare pentru învățarea modelelor de adnotare semantică. Această variantă a presupus în majoritatea cazurilor o durată foarte mare a antrenării. Din acest motiv, a fost selectat un subset din corpusul de antrenare, și toți algoritmii au fost rulați pentru acest subset.

O a doua configurație în ceea ce privește dimensiunea corpusului de antrenare a fost folosirea numai a datelor care au drept cuvânt predicațional un substantiv, respectiv verb (NP / VP). Astfel, s-au creat două subcorpusuri, unul folosit pentru învățarea rolurilor substantivelor, iar altul pentru rolurile semantice ale verbelor. În general, această variantă a rulat mai repede decât varianta anterioară.

Totuși, pentru a reduce și mai mult timpul de învățare, a treia configurație presupune crearea de modele specifice fiecărui verb sau substantiv predicațional. Astfel, sunt extrase din corpusul de antrenare exemplele care conțin un anumit verb sau substantiv, si aceste mini-corpusuri sunt folosite pentru antrenare. Principala problemă în acest caz a fost faptul că au existat situații în care corpusul de antrenare cuprindea doar 2-3 exemple de adnotări pentru un anumit cuvânt predicațional, insuficiente pentru a fi folosit ca corpus de antrenare. Din acest motiv, s-a decis ca să fie create modele specifice fiecărui verb/substantiv predicațional numai în cazul acelora care au mai mult de 10 instanțe adnotate. Pentru celelalte cazuri, a fost creat un corpus comun de cuvinte cu adnotări mai puține de 10, și s-a creat un model comun pentru toate aceste verbe/substantive slab reprezentate în corpusul de antrenare.

Pentru gestionarea timpului de rulare, deoarece resursele temporale sunt limitate, a fost stabilit un prag de 2 zile pentru fiecare rulare. Dacă algoritmul nu a creat modelul de antrenare în acest termen, el este întrerupt și se trece la următorul algoritm. Acest prag poate fi setat ca un parametru al platformei PASRL.

De asemenea, pentru a micșora timpul necesar preprocesării datelor de antrenare, formatul ARFF folosit de platforma Weka ca format de intrare a fost creat anterior lansării algoritmilor de învățare. Astfel, PASRL folosește un convertor de format pentru a crea formatul .arff (Attribute-Relation File Format). Acest format începe cu o listă de atribute care conțin fiecare câte o trăsătură și valorile ei posibile. De exemplu, pentru partea de vorbire, respectiv hipernimul din WordNet, aceste atribute sunt:

@attribute pos { lista posibilelor valori de parte de vorbire: DT,NN,POS,MD,VB, ... }

@attribute WNhypernym { none, state, quantity, spatial, temporal, process, object,

entity, organization, person, language, activity, UNKNOWN }

Pentru identificare rolurilor semantice, atributele care codifică trăsăturile folosite de algoritmii de recunoaștere automată, inspirate din atributele “clasice” introduse de (Gildea și Jurafsky, 2002) și reanalizate în (Marquez et al., 2008) sunt cele prezentate în secțiunea anterioară:

@attribute classification {_, A0, A1, A2, A3, A4, A5, AM-MOD, AM-TMP, AM-ADV, AM-LOC,

AM-MNR, AM-CAU, AM-DIS, AM-EXT, AM-NEG, AM-PNC, AM-DIR, AM-PRD, UNKNOWN}

@attribute WN_NE { lista posibilelor valori

Page 15: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

15

@attribute WNhypernym { lista posibilelor valori }

@attribute chunk { lista posibilelor valori }

@attribute deprel { lista posibilelor valori }

@attribute dist2pred numeric

@attribute headpos { lista posibilelor valori }

@attribute is_punctuation numeric

@attribute is_son_of_pred numeric

@attribute pos { lista posibilelor valori }

@attribute position {before, after}

@attribute pred_has_head_be numeric

Se observă că atributele pot avea ca valori o listă de etichete posibile pentru trăsătura respectivă, sau valori numerice, de două feluri:

(1) valori de 0 și 1, cum este cazul atributelor “is_punctuation” sau “is_son_of_pred”, care iau valoarea 1 dacă constituentul analizat este punctuație, respectiv este un fiu direct al predicatului;

(2) valori numerice propriu-zise, cum este cazul atributului “dist2pred”, care conține o valoare ce reprezintă distanța liniară, în ordinea de suprafață a textului, în număr de cuvinte, între constituentul analizat și predicat.

Primul atribut din lista de atribute reprezintă posibilele clase de roluri semantice în care pot fi clasificați constituenții din textul de intrare. Textul de antrenare va conține aceste date marcate, iar testele pe care se dorește a se realiza predicție, vor avea pus UNKNOWN în această poziție, ea fiind completată în urma rulării algoritmilor de învățare.

După enumerarea tuturor atributelor și a valorilor lor posibile, textul din intrare este codificat folosind atributele menționate, în ordinea enumerată. Astfel, de exemplu, pentru propoziția:

Alexander Macomb was born on Detroit , Michigan , on June 25 , 1841 .

fiecare cuvânt este transformat în instanță de învățare/predicție prin înlocuirea lui cu un rând care cuprinde valorile corespunzătoare pentru atributele menționate:

Tabel 2: Exemplu de transformare a propoziției în format .arff

@data

A1,person,entity,NP,NMOD,3,NNP,0,0,NNP,B,0 Alexander

_,person,entity,NP,NMOD,2,NNP,0,0,NNP,B,0 Macomb

_,none,none,VP,ROOT,1,_,0,0,VBD,B,0 was

_,none,none,VP,VC,0,VBD,0,0,VBN,_,0 born

A2,none,none,P,ADV,1,VBN,0,1,on,A,0 on

_,spatial,entity,NP,PMOD,2,on,0,0,NNP,A,0 Detroit

_,none,none,NULL,P,3,NNP,1,0,',',A,0 ,

_,none,entity,NULL,NMOD,4,NNP,0,0,NNP,A,0 Michigan

_,none,none,NULL,P,5,NNP,1,0,',',A,0 ,

_,none,none,P,ADV,6,VBN,0,1,on,A,0 on

_,temporal,temporal,NP,ADV,7,CD,0,0,NNP,A,0 June

_,none,none,NULL,NMOD,8,NNP,0,0,CD,A,0 25

_,none,none,NULL,P,9,CD,1,0,',',A,0 ,

Page 16: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

16

_,none,none,NP,PMOD,10,on,0,0,CD,A,0 1841

_,none,none,NULL,P,11,VBD,1,0,.,A,0 .

Dacă luăm de exemplu primul cuvânt, “Alexander”, primul rând este înțeles ca având rolul semantic A1 (primul element din lista), fiind o entitate numită de tip persoană (al doilea element din lista), având hipernimul în WordNet entitate, făcând parte dintr-un grup nominal (NP), având funcția sintactică de deprel, fiind în ordinea liniară a propoziției la o distanță în cuvinte de 3 față de predicat (verbul “born”), având ca head un substantive nume propriu (NNP - Macomb), nefiind punctuație (valoarea 0 corespunde atributului “is_punctuation”), nefiind nici fiu direct al predicatului, având partea de vorbire nume propriu, poziția înainte de predicat (B – before), și neaflându-se într-un context în care predicatul este “a fi”.

În acest mod este codificat tot textul din intrare, folosind informațiile obținute în preprocesarea sintactică, înainte de a fi antrenați cei 12 algoritmi pentru fiecare modul în parte.

Performanțele fiecărui algoritm urmează a fi evaluate, pentru a se decide care este algoritmul optim spre a fi folosit pentru realizarea sistemului de etichetare automată a rolurilor semantice.

Evaluarea performanțelor

O metrică de evaluare pentru roluri semantice a fost propusă în cadrul CoNLL Shared Task (Carreras și Marquez, 2005). Cadrele semantice sunt evaluate prin reducerea lor la dependenţele semantice de la predicat spre toate argumentele sale individuale. Aceste dependenţe sunt etichetate cu rolurile semantic corespunzătoare argumentelor. În plus, este creată o dependenţă semantică de la fiecare predicat către un nod virtual ROOT. Aceste dependenţe sunt etichetate cu sensul predicatului.

Evaluarea performanţelor sistemului PASRL dezvoltat pentru adnotarea automată a rolurilor semantice a fost efectuată folosind tehnica 10-fold cross-validation. Astfel, setul de date de antrenare a fost împărțit în 10 părți egale, iar sistemul PASRL a fost rulat pe rând pe un set de 9 părți și evaluat pe a 10-a parte. Acest lucru a fost repetat de 10 ori, pentru ca fiecare parte să poată corespunde setului de test. Pentru fiecare modul, sistemul PASRL evaluează toți algoritmii de învăţare folosiți din WEKA prin compararea rezultatelor rulării cu un corpus adnotat manual. Algoritmul cu rezultatele cele mai apropiate de corpusul adnotat manual este salvat într-un fişier de configurare pentru a fi folosit la rulări ulterioare pe corpusuri neadnotate. Evaluarea a ținut cont de numărul de roluri atribuite corect și de predicatele corect identificate.

Pentru modului de Identificarea predicatului, rularea algoritmilor de clasificare cu valorile pre-setate din Weka pe setul de date de antrenare din limba engleză,algoritmul care a obținut cele mai bune rezultate este algoritmul de clasificare J48 (arbori de decizie), iar cel care a obținut cele mai slabe rezultate este algoritmul de clasificare simplu ZeroR. Folosind tehnici de boosting cu algoritmul de clasificare J48 ca algoritm de bază ar putea îmbunătăţi în continuare performanţa obținută (Trandabăţ 2011c). Schimbarea ponderilor implicite ale algoritmilor din Weka poate de asemenea modifica performantele lor, dar se consideră că ierarhia algoritmilor nu se va schimba în mod substanţial. Cu toate acestea, aceasta rămâne o direcție viitoare de lucru. Modelul obținut cu cel mai performant algoritm (J48, în acest caz, care este o metodă de învățare folosind arbori de decizie) este salvat şi va fi utilizat atunci când modul de Identificarea predicatului va fi rulat ulterior pentru adnotarea unui text nou. Rezultatele pentru modulul de Identificare a sensului predicatului sunt mai slabe decât cele pentru modulul de Identificarea predicatului, datorită faptului că Identificarea sensului predicatelor este o sarcină mult mai dificilă. Se poate observa însă că J48 este încă printre cei mai buni algoritmi, iar algoritmii bazați pe memorie au rezultate limitate în acest caz.

În loc să rulăm modulul de Identificarea predicatelor şi Identificarea sensului predicatelor succesiv, PASRL permite și rularea lor simultană. Rezultatele arată o performanţă mai slabă în cazul acestei rulări decât rularea modulului de Identificarea sensului predicatelor, ceea ce sugerează că opţiunea de a rula succesiv modulele de Identificarea predicatelor și Identificarea sensului predicatelor poate fi mai bună decât executarea sarcină simultană.

Page 17: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

17

După ce PASRL este antrenat, el poate fi folosit pentru a adnota texte noi cu modulele obținute. Pentru aceasta, se folosește un fişier de configurare pentru a păstra succesiunea modelelor optime care trebuie rulate la fiecare pas. Cele mai bune modele create în timpul fazei de antrenare cu PASRL sunt oferite ca modele prestabilite, în cazul în care utilizatorul vrea doar să utilizeze PASRL pentru adnotarea automată a rolurilor semantice, și nu pentru a antrena noi modele. În acest caz, textele primite ca intrare trebuie preprocesate în scopul de a se adăuga informaţii sintactice şi de dependenţă. În acest scop se vor folosi un parser sintactic pentru identificarea părții de vorbire și parserul MaltParser (Nivre 2003), antrenat pentru limba română, pentru relaţiile de dependenţă.

Detalii despre evaluarea parseului de roluri semantice pot fi găsite în lucrarea (Trandabăţ 2013).

Integrarea modulului de identificare a entităților semantice și a rolului lor într-o aplicație de întrebare-răspuns

O mare parte a preocupărilor din domeniului prelucrării limbajului natural se ocupă cu explorarea modului în care diferite resurse pot fi utilizate pentru a îmbunătăți performanța unei sarcini. Calitatea şi utilitatea resurselor cu siguranță este un factor important pentru succesul de cercetare, dar la fel este creativitatea cu care aceste instrumente sau resurse sunt utilizate. În general există mai multe moduri de a le folosi, iar alegerea unuia sau a altuia pot determina eficiența rezultatului (Kwon et al., 2004, Narayanan și Harabagiu, 2004, Cui et al. 2005). În acest sens, după dezvoltarea în cadrul proiectului a unui parser de roluri semantice, acesta urmează a fi folosit pentru îmbunătățirea unui sistem de Întrebare - Răspuns.

Parsarea semantică, prin identificarea și clasificarea entităților semantice în context, precum și a relațiilor dintre ele, are un mare potențial pentru aplicații precum sistemele de întrebare-răspuns. Un sistem de întrebare-răspuns (ÎR - în engleză Question Answering) presupune obţinerea automată a unui răspuns corect la o întrebare pusă în limbaj natural, folosind o colecție de documente scrise în limbaj natural. Astfel, un sistem ÎR poate fi considerat o rafinare a căutărilor clasice pe Internet, unde întrebarea nu mai este un șir de cuvinte cheie, ci o frază în limbaj natural, iar răspunsul nu mai este o listă de fragmente din pagini web, ci o propoziție în limbaj natural. Mai jos este

un exemplu de întrebare la care un sistem ÎR poate răspunde, folosind colecția de texte din Acquis-ul

Comunitar.

Întrebare: Ce înseamnă să ai reședința în Comunitatea Europeană?

Răspuns: “persoană care are în mod normal reședința în Comunitate” înseamnă o

persoană care locuiește în Comunitate cel puțin 185 de zile în fiecare an

calendaristic datorită unor obligații profesionale sau, în cazul unei persoane

care nu are obligații profesionale, datorită unor obligații personale care

atestă o relație strânsă între acesta și locul în care locuiește

Sistemele de ÎR folosesc analize sintactice, semantice și contextuale pentru a regăsi și a transmite răspunsul optim, într-o formă succintă și precisă. Grupul de prelucrare a limbajului natural din cadrul Facultății de Informatică a participat, încă din 2006, la competiții internaționale care compară diferitele sisteme ÎR. Diferitele stadii ale sistemului sunt prezentate în diferite lucrări (Iftene et al.2011). Arhitectura generală a sistemului de ÎR dezvoltat de UAIC parcurge patru etape principale: analiza întrebării, indexarea, regăsirea informației și extragerea diferitelor tipuri de răspuns.

Analiza întrebării: Această etapă este constituită dintr-o serie de module care sunt rulate succesiv pentru: identificarea tipului întrebării (întrebările pot fi de tip factoid, definiție, listă etc.), a tipului răspunsului așteptat, a focusului întrebării (cuvântul cel mai important din întrebare, care identifică tipul răspunsului așteptat), precum și identificarea cuvintelor cheie (în general grupurile nominale și verbale relevante din întrebare). De asemenea, există un modul care identifică entitățile numite. Pe baza tuturor acestor elemente este creată o frază de căutare, care codifică întrebarea într-un limbaj ce poate fi înțeles de motorul de căutare Lucene. Această frază de căutare va fi folosită pentru regăsirea răspunsului în colecția de documente.

Indexarea: Colecția de documente în care se va face căutarea răspunsului este indexată într-o bază de date pentru a eficientiza căutarea și regăsirea de informații. Indexarea se face pe mai multe niveluri: la nivel de document, sau de paragraf.

Page 18: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

18

Regăsirea informației: Această componentă folosește motorul de căutare în index Lucene și fraza de căutare creată de prima componentă. Astfel, sunt extrase paragrafele relevante atașate fiecărei întrebări. Paragrafele sunt ordonate de motorul de căutare Lucene în funcție de relevanța lor pentru fraza de căutare.

Extragerea răspunsului: Răspunsul final este extras din lista de paragrafe returnate de modulul anterior. Procesul de extragere depinde de tipul așteptat al răspunsului. Astfel, au fost dezvoltate componente diferite pentru tipuri de răspuns diferite: factoid, motiv, definiție, și alte tipuri de răspuns. Procesul de extragere a răspunsului se bazează în principal pe identificarea în paragraful candidat a diferitelor elemente identificate de modului de analiză a întrebării: focusul, entități numite cuvintele cheie, etc. Acestea sunt combinate cu o serie de euristici bazate pe șabloane sintactice, și ponderate folosind scorurile de regăsire asociate de către modulul anterior fiecărui paragraf candidat, apoi, paragrafele returnate de modulul anterior sunt reanalizate și reordonate în funcție de aceste euristici, primul fiind cel din care se extrage răspunsul. Printre euristicile folosite amintim:

Dacă focusul identificat de primul modul de analiză a întrebării poate fi identificat în paragraful candidat;

Dacă entitățile numite, identificate în întrebare, pot fi regăsite în paragraful candidat. Numărul de entități numite regăsite în paragraful candidat este ponderat cu numărul total al entităților numite din întrebarea inițială;

Dacă întrebarea este de tipul factoid, iar tipul răspunsului așteptat este de tipul Persoană sau Organizație, etc., se verifică dacă entitățile din paragraful candidat sunt de tipul căutat, și scorul paragrafului este îmbunătățit dacă cele două tipuri de entități se potrivesc;

Dacă tipul întrebării este Definiție, sunt preferate răspunsurile care respectă șablonul definiției. Aceste șabloane de definiție au fost create folosindu-se gramatica dezvoltată în (Iftene et al., 2008);

Este luată în considerate de asemenea lungimea paragrafului și distanțele, în număr de cuvinte, între focusul întrebării, entitățile numite și cuvintele cheie.

Folosirea rolurilor semantice în sisteme de întrebare-răspuns

Etichetarea automată a rolurilor semantice (SRL – Semantic role labeling) a început să fie văzută ca una din dezvoltările cheie pentru sistemele de întrebare-răspuns. Pentru fiecare predicat dintr-o propoziție, sunt identificate toate argumentele dependente de predicat și li se atribuie rolul semantic corespunzător (agent, pacient, instrument etc.). Același lucru este făcut și pentru adjuncți (cu roluri de genul locație, mod, temporal etc.). În acest fel, rolurile semantice descriu pentru orice scenariu "cine, ce, cu cine, unde, când, cum și de ce", motiv pentru care rolurile semantice pot fi utilizate în procesul de extragere a răspunsului în cadrul sistemelor de întrebare-răspuns.

Figura 2 prezintă două propoziții, echivalente din punct de vedere semantic (diferența fiind dată de diateza folosită), adnotate la roluri semantice. Este evident că, pentru o întrebare de genul “Când a fost Ion lovit de Maria?”, extragerea răspunsului din cele două propoziții presupune pur și simplu regăsirea constituentului care îndeplinește rolul semantic temporal (“ieri seară”), indiferent de poziția lui în propoziție.

Maria l-a lovit pe Ion cu o minge de tenis ieri seară în parc.AGENT PACIENT INSTRUMENT TEMPORAL LOCAL

WHOM

WHAT

WHEN

WHERE

WHO

Page 19: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

19

Fig. 2 Exemplu de adnotare semantică utilă pentru modulul de extragere a răspunsului

Din punctul de vedere al folosirii rolurilor semantice în sistemele de întrebare-răspuns, există două direcții majore:

sisteme care utilizează rolurile semantice pentru a obține informații suplimentare și pentru a complementa alte metode clasice în sistemele de ÎR;

sisteme care utilizează rolurile semantice ca un modul de sine stătător în arhitectura sistemului de ÎR. Sistemele din prima categorie sunt bazate pe extragerea de entități de tip nume, și folosesc informația

semantică doar pentru a verifica eventuale îmbunătățiri în rezultatele oferite de sistemul de întrebare-răspuns. Astfel de sisteme sunt prezentate în (Sun et al., 2005; Lo y Lam, 2006; Shen et al., 2007; Melli et al., 2006), iar rolul lor principal este de a oferi informații privind oportunitatea utilizării rolurilor semantice pentru a complementa un sistem de întrebare-răspuns.

Sistemele din a doua categorie folosesc rolurile semantice ca un modul separat în arhitectura sistemului de întrebare răspuns. În (Moreda et al. 2008) sunt comparate sistemele din această categorie și performanțele lor. Tabelul 3 trece în revistă sistemele din această categorie, modulul în care folosesc rolurile semantice și metoda folosită.

Sistem Folosește roluri semantice pentru … Metodă

Narayanan Tipul răspunsului Maparea șabloanelor de întrebare cu șabloanele de răspuns

Ofoghi Extragerea răspunsului Maparea șabloanelor de întrebare cu șabloanele de răspuns

Kaisser Extragerea răspunsului Maparea șabloanelor de întrebare cu șabloanele de răspuns

Fliedner Extragerea răspunsului Maparea cadrelor FrameNet ale întrebării cu cadrele FrameNet ale răspunsului

Stenchikova Extragerea răspunsului Reguli pentru tipul răspunsului folosind roluri semantice

Moschitti Clasificarea întrebărilor Clasificarea răspunsurilor Ordonarea răspunsurilor

Învățare automată supervizată

Tabelul 3. Modul de utilizare a rolurilor semantice în diferite sisteme de întrebare-răspuns

După cum reiese și din tabel, cele mai multe dintre sisteme folosesc o mapare dintre informațiile semantice obținute din întrebare și cele din răspunsurile candidate. Sistemul de întrebare-răspuns prezentat de (Narayanan și Harabagiu, 2004) a propus pentru prima dată utilizarea sistemelor de identificare a rolurilor semantice, iar autorii au considerat că ele pot fi utile pentru a determina tipul răspunsului în cazul întrebărilor complexe. Ofoghi și colegii săi (Ofoghi, Yearwood și Ghosh, 2006) au realizat o analiză manuală pe un set de 15 întrebări, folosind rolurile semantice pentru extragerea răspunsurilor candidate, pentru a demonstra utilitatea lor. Sistemul prezentat de Kaisser (Kaisser, 2007) abordează aceeași metodă, folosind șabloane pentru extragerea răspunsului. Acest sistem a fost evaluat pe un subset al corpusului de întrebări TREC2002 și a obținut o precizie de 36,70%.

Ieri seară Ion a fost lovit în parc de Maria cu o minge de tenis.TEMPORAL PACIENT LOCAL AGENT INSTRUMENT

WHO

WHERE

WHAT

WHOM

WHEN

Page 20: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

20

O abordare diferită o are Fliedner (Fliedner, 2007), care propune reprezentarea întrebării și a răspunsurilor sub forma structurilor de cadre FrameNet. Rezultate sistemului descris de el, folosit pe domeniu deschis, obțin o precizie de 66% și un recall de 33%.

Un alt sistem (Stenchikova, Hakkani-Tur și Tur, 2006) stabilește un set de reguli bazate pe informații semantice care pot fi folosite pentru a determina tipul răspunsului pentru anumite tipuri de întrebări (introduse de pronumele relative „cine”, „când”, „unde” sau „ce”).

Moschitti (Moschitti et al., 2007) propune un algoritm de învățare supervizată folosind informații din arborele de analiză semantică pentru predicatul din propoziție și rolurile semantice ale argumentelor sale. Rezultatele obținute dovedesc utilitatea rolurilor semantice pentru clasificarea și ordonarea răspunsurilor, dar nu și pentru clasificarea întrebărilor.

Una dintre problemele cele mai importante ale tuturor acestor sisteme este extragerea rolurilor semantice din întrebare. Acest lucru se datorează faptului că instrumentele de etichetare automată a rolurilor semantice, antrenate de obicei pe adnotări manuale ale propozițiilor asertive, nu interogative, au probleme când trebuie să adnoteze întrebări.

Din analiza diferitelor sisteme existente, se observă că principala contribuție a rolurilor semantice la sistemele întrebare răspuns este în cadrul modulului de extragere a răspunsului. Cu toate acestea, modulele bazate pe extragerea de entitți tip nume vor funcționa întotdeauna mai bine decât cele bazate pe roluri semantice pentru extragerea răspunsului în cazul întrebărilor a cărui răspuns este o entitate de tip nume, de genul întrebărilor de tip persoana (Cine este președintele României?, Cine a descoperit penicilina? etc.).

Evaluarea sistemului de Întrebare-Răspuns fără modul semantic

După evaluarea sistemului de întrebare-răspuns, dezvoltat la UAIC am ajuns la concluzia că sistemul ar putea beneficia de introducerea în cadrul arhitecturii sale a unui modul de extragerea a rolurilor semantice. Spre deosebire de WordNet, care a fost deja folosi pe scară largă în sistemele de întrebare-răspuns, resursele semantice de tipul FrameNet și PropBank sunt abia la începutul folosirii lor. Totuși, anumite trăsături pe care aceste resurse le oferă pot fi folosite pentru genera o înțelegere mai bună a întrebării, a propozițiilor care conțin răspunsurile candidate, sau a legăturii dintre întrebare și răspunsuri, deoarece:

Conțin structuri de genul predicat-argumente pentru un număr mare de intrări lexicale;

Conțin exemple de propoziții adnotate din punct de vedere semantic care exemplifică cadrele semantice descrise în FrameNet sau PropBank.

Conțin adnotări nu doar pentru predicatele exprimate prin verbe, ci și prin alte părți de vorbire. După cum s-a evidențiat anterior, cea mai folosită metodă de includere a informației semantice în sistemele de

întrebare-răspuns este adnotarea atât a întrebărilor, cât și a răspunsurilor candidate cu roluri semantice, iar apoi potrivirea lor pentru a se extrage răspunsul dorit. Astfel, de exemplu, pentru întrebarea:

Cine a cumpărat Alaska? poate fi extras un răspuns din oricare din următoarele propoziții, pe baza rolurilor semantice:

Statele Unite au cumpărat Alaska în 1867. Alaska a fost cumpărată de la Rusia în 1867. În 1867, Rusia a vândut Alaska către Statele Unite. Cumpărarea regiunii Alaska de către Statele Unite în 1867 este cunoscută sub numele de “nebunia lui Seward”. Primul pas este adnotarea întrebării cu rolurile semantice corespunzătoare fiecărui constituent:

[Cine]Buyer [a cumpărat]VERB-Pred [Alaska]Goods? Se poate observa că tipul semantic al răspunsului dorit este Buyer (cumpărător). Astfel, în etapa următoare sunt

adnotate cu roluri semantice propozițiile extrase din colecția de date, pentru a se regăsi tipul semantic căutat:

[Statele Unite]Buyer [au cumpărat]VERB-Pred [Alaska]Goods [în 1867]Temporal.

Page 21: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

21

[Alaska]Goods [a fost cumpărată]VERB-Pred [de către Statele Unite]Buyer [de la Rusia]Seller [în 1867]Temporal. [În 1867]Temporal, [Rusia]Seller [a vândut]VERB-Pred [Alaska]Goods [către Statele Unite]Buyer. [Cumpărarea]NOUN-Pred [regiunii Alaska]Goods [de către Statele Unite]Buyer [în 1867]Temporal este cunoscută

sub numele de “nebunia lui Seward”. Dacă se extrage argumentul care are rolul semantic Buyer, acesta va fi răspunsul corect pentru exemplele de

propoziții candidate de mai sus, indiferent de verbul folosit pentru exprimarea sensului, de diateza folosită sau de poziția rolului căutat în propoziție.

Căutarea după șabloane semantice

O altă metodă investigată presupune generarea de șabloane din resursele semantice FrameNet și PropBank, și încercarea de a potrivi aceste șabloane peste răspunsurile candidate. Astfel, se identifică în primul pas predicatul din întrebare. În cazul de mai sus, este vorba de verbul “a cumpăra”. Apoi, se extrag șabloanele corespunzătoare acestui verb din resursele semantice menționate. Pentru verbul “a cumpăra” pot fi extrase șabloane de genul:

Buyer [Subj,NP] VERB-Pred Goods [Obj_D, NP] Buyer [Subj,NP] VERB-Pred Goods [Obj_D, NP] Seller [Obj_I, PP-de_la] Buyer [Subj,NP] VERB-Pred Goods [Obj_D, NP] Money [Obj_I, PP-pentru] Goods [Sujb, NP] VERB-Pred Buyer[Obj_I, PP-de] NOUN-Pred Goods [Attr, NP] Buyer [Subj, NP] De asemenea, în FrameNet se găsește informația că verbul “a cumpăra” este în același cadru semantic cu verbul

“a vinde”, astfel se vor extrage și șabloanele corespunzătoare verbului “a vinde”, cum ar fi:

Seller [Subj,NP] VERB-Pred Goods [Obj_D, NP] Seller [Subj,NP] VERB-Pred Goods [Obj_D, NP] Buyer [Obj_I, NP] Seller [Subj,NP] VERB-Pred Goods [Obj_D, NP] Buyer [Obj_I, PP-către] Pasul următor presupune o căutare în colecția de texte din care se va extrage răspunsul. Căutarea va include

aceste șabloane cu informații sintactice și semantice. Pentru aceasta, întrebarea este procesată la roluri semantice, și sunt înlocuite rolurile cunoscute din șabloane cu expresiile din întrebare. Astfel, vom înlocui Goods cu “Alaska”, verbul va fi flexionat la toate timpurile posibile, și vom căuta șabloane de genul:

ANSWER[NP] [a cumpărat/au cumpărat/…] Alaska. Alaska a fost cumpărată de ANSWER[Obj_I] După ce se extrag toate propozițiile posibile, ele sunt parsate sintactic și semantic pentru a se extrage doar rolul

Buyer. De exemplu, șablonul va extrage propoziția

Alaska a fost cumpărată [de către Statele Unite]Buyer de la Rusia în 1867. și va fi extras rolul Buyer “de către Statele Unite”, dar înainte de a fi returnat ca răspuns la întrebare, el trebuie curățat de prepoziții (răspunsul fiind doar “Statele Unite”). Parsarea semantică a propozițiilor candidate pentru extragerea răspunsului este utilă pentru cazul în care șablonul se potrivește peste propoziție, dar ea nu conține răspunsul dorit (exprimat prin rolul Buyer). Putem considera drept exemplu propoziția de mai jos, unde, deși există prepoziția “de”, ea nu introduce un cumpărător, ci un vânzător:

Alaska a fost cumpărată [de la Rusia]Seller în 1867.

Principalele probleme apar datorită faptului că antrenarea sistemului de etichetare a rolurilor semantice a fost efectuată pe propoziții asertive, nu interogative. Sintaxa celor două tipuri de propoziții diferă substanțial în ceea ce privește în special ordinea argumentelor în propoziție. De asemenea, întrebările tind să fie mai scurte și cu o sintaxă mai simplă decât a propozițiilor declarative. Astfel, datorită diferențelor între corpusul de antrenament și cel de test, uneori adnotarea întrebărilor poate da rezultate eronate, ceea ce duce la căutarea unui alt rol semantic în colecția de texte decât cel real.

La evaluarea sistemului de întrebare-răspuns dezvoltat la UAIC, în cadrul diferitelor campanii din cadrul CLEF (Iftene et al. 2006, 2007, 2009, 2010, 2011, 2012), s-a observant că din 264 de întrebări cu răspuns greșit (din 500),

Page 22: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

22

doar 35 conțin răspunsul correct în paragrafele returnate de sistemul de indexare și regăsire, dar el nu fost extras din diferite motive. Pentru restul întrebărilor, răspunsul corect nu se afla în lista de paragrafe returnate.

Evaluarea sistemului de Întrebare-Răspuns cu modul semantic

Astfel, principalul avantaj în introducerea informaţiilor referitoare la roluri semantice în sistemul de întrebare-răspuns este faptul că astfel se permite modulului de indexare şi regăsire a informaţiilor, Lucene, să returneze un număr mai mare de paragrafe candidate pentru extragerea răspunsului, acestea fiind filtrate ulterior cu ajutorul șabloanelor de roluri semantice. Un număr mai mare de paragrafe candidat returnate este de dorit datorită faptului că astfel pot fi incluse și paragrafe care au un scor mai mic de potrivire cu întrebarea, conform frazei de căutare generate, dar pot fi reformulări ale aceluiași context, ca în cazul discutat anterior:

Î: Cine a cumpărat Alaska?

R: În 1867, Rusia a vândut Alaska către Statele Unite.

Verbul a vinde nu este inclus în fraza de căutare generată de modului de analiză a întrebării, deoarece acesta generează fraza de căutare pe baza cuvintelor cheie din întrebare (care includ, în acest caz, verbul a cumpăra), a sinonimelor și variantelor flexionate ale acestor cuvinte cheie, dar nu poate include și cuvintele aflate în relații de antonimie, deoarece cazul prezentat mai sus este mai degrabă unul particular, ce nu poate fi generalizat fără a introduce prea multe erori.

Pe setul extins de paragrafe candidat pentru extragerea răspunsului se aplică șabloanele semantice, după cum a fost descris anterior. Cele două metode sunt îmbinate pentru regăsirea paragrafului optim.

Prima metodă presupune adnotarea atât a întrebărilor, cât și a răspunsurilor candidate cu roluri semantice, iar apoi potrivirea lor pentru a se extrage tipul semantic al răspunsului dorit. După adnotarea întrebării cu rolurile semantice corespunzătoare fiecărui constituent, se determină care este tipul semantic al răspunsului așteptat (rolul introdus de pronumele interogativ, în majoritatea cazurilor). Apoi sunt adnotate cu roluri semantice propozițiile extrase din colecția de date, pentru a se regăsi tipul semantic căutat. Dacă acesta se potrivește cu tipul semantic al răspunsului care este așteptat de întrebare, paragraful este păstrat în lista de candidați.

Pe noua lista de candidați este aplicată a doua metodă de analiză a informațiilor semantice. Astfel, se folosesc șabloane extrase din resursele semantice FrameNet și PropBank, și se încearcă potrivirea lor peste răspunsurile candidate, printr-o căutare în colecția de texte din care se va extrage răspunsul. Căutarea va include aceste șabloane cu informații sintactice și semantice. După ce se extrag toate propozițiile posibile, ele sunt parsate sintactic și semantic pentru a se extrage doar rolul semantic care se potrivește rolului aștepta de întrebare (determinat de prima metodă).

Principalele probleme apar datorită faptului că antrenarea sistemului de etichetare a rolurilor semantice a fost efectuată pe propoziții asertive, nu interogative. Sintaxa celor două tipuri de propoziții diferă substanțial în ceea ce privește în special ordinea argumentelor în propoziție. De asemenea, întrebările tind să fie mai scurte și cu o sintaxă mai simplă decât a propozițiilor declarative. Astfel, datorită diferențelor între corpusul de antrenament și cel de test, uneori adnotarea întrebărilor poate da rezultate eronate, ceea ce duce la căutarea unui alt rol semantic în colecția de texte decât cel real.

Cea mai frecventă eroare care a apărut după introducerea modulului de etichetare a rolurilor semantice în sistemul de întrebare răspuns a fost cauzată de diferențele de structura dintre întrebări și corpusul de antrenament al modulului de etichetare semantică. Astfel, pentru propoziția:

Directiva Consiliului European privind educația copiilor lucrătorilor imigranți

vizează îmbunătățirea libertății de mișcare.

sistemul găsește în mod corect predicatul vizează cu agentul său (Arg0) Directiva Consiliului European privind educația copiilor lucrătorilor imigranți, și obiectul (Arg2), îmbunătățirea libertății de mișcare, dar atunci când textul este în formă interogativă:

Page 23: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

23

Ce vizează directiva Consiliului European privind educația copiilor lucrătorilor

imigranți?

sistemul este indus în eroare de distanță lungă dintre verbul a viza și pronumele interogativ ce care reprezintă obiectul. Acest lucru este datorat ordinii de suprafață diferite Agent-Predicat-Obiect în cazul propozițiilor asertive (cum sunt cele din corpusul de antrenament) față de Obiect-Predicat-Agent în cazul propozițiilor interogative.

De asemenea, tot diferența dintre structura propozițiilor face ca propoziția:

Criza economică s-a agravat în 2008, întrucât bursele de valori din lume s-au

prăbușit sau au intrat într-o perioadă de instabilitate acută.

să aibă instanţiate rolurile Agent-Predicat-Timp-Motiv, dar în cazul întrebării:

Care este principalul motiv, după părerea specialiștilor, care a determinat în

2008 agravarea crizei economice?

să nu fie identificat rolul Motiv, reprezentat de pronumele interogativ care. Acest lucru este datorat faptului că sistemul de etichetare automata a rolurilor semantice ia în considerare o fereastră de 3 cuvinte în jurul predicatului în reprezentarea liniară de suprafață a propoziției atunci când caută dependenți care pot avea rol semantic. Astfel, sintagma Care este principalul motiv, după părerea specialiștilor împreună cu ordinea diferită a rolurilor semantice în propoziția interogativă (Motiv-Timp-Predicat-Agent) față de cea asertivă din corpusul de antrenament (Agent-Predicat-Motiv), duc la neadnotarea corectă a rolului Motiv din întrebare.

Oferirea resurselor și a instrumentelor ca servicii web/interfețe de acces

După studierea modului de integrare a softului de etichetare automată a rolurilor semantice în diferite sisteme de prelucrare a limbajului natural, cum este sistemul de rezumare automată sau cel de întrebare-răspuns, etapa următoare a inclus analiza modului de oferire a aplicațiilor dezvoltate utilizatorilor ca serviciu web.

Parserul de roluri semantice dezvoltat în cadrul proiectului va fi oferit utilizatorilor sub forma unui serviciu web. Un serviciu web este o aplicație disponibilă prin intermediul Internetului și care folosește un sistem de mesaje standardizat bazat pe XML. Un serviciu web este identificat de un URL, ca oricare alt site web. Ceea ce face ca serviciile web să fie diferite de site-urile web obișnuite este tipul de interacțiune pe care acestea îl oferă, serviciile web fiind programe care schimbă date între ele pe Internet sau Intranet prin intermedul unui protocol numit SOAP. SOAP (Simple Object Access Protocol) este un protocol de comunicare între un client și un server pentru schimbul de date, standard al Consorțiului Web W3C. Deoarece se folosește formatul XML în locul celui binar, acesta este interoperabil între platforme, limbaje de programare, componente etc.

Un serviciu web poate fi descris printr-un document WSDL (Web Service Description Language) în format XML. Astfel este folosit un subset al limbajului XML prin care, prin elemente prestabilite, sa se informeze clientul asupra structurilor(obiectelor) folosite de serviciu, asupra metodelor expuse si asupra modului de accesare a acestora (parametrii, tipul parametrilor, protocoalele de transport admise, stilul si tipul de codare etc.). Documentarea serviciului web este necesară deoarece, pentru ca serviciul să poată fi folosit, sunt necesare informații referitoare la interfața oferită de serviciu și la mapările ce trebuie folosite pentru a putea transmite corect obiecte și alte informatii. Fișierul wsdl are ca rol descrierea tehnică elementară a interfeței serviciului.

WSDL este adesea utilizat în combinație cu SOAP. Un program client care se conectează la un serviciu web poate citi WSDL pentru a determina ce funcții sunt permise de acest server. De asemenea clientul poate utiliza SOAP pentru ca eventual să cheme una din funcțiile conținute de WSDL.

O descriere WSDL prezinta trei proprietati fundamentale ale unui serviciu web: • Ceea ce face serviciul – operatiile pe care serviciul le furnizeaza. • Cum este accesat serviciul – detalii ale formatelor de date si protocoale folosite pentru accesarea operatiilor. • Unde este localizat serviciul – detalii ale adresei de retea specifice protocolului (un URL).

Page 24: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

24

Un document WSDL este o listă de definiții. Într-un document WSDL elementul rădăcină se numește definitions. Acest element conține 5 fii imediați folosiți pentru a defini un serviciu web. Urmatoarele 5 elemente apar în cadrul elementului definitions, într-un fișier WSDL. în ordinea de mai jos:

● Types Elementul <types> definește tipurile de date care sunt utlizate de serviciu pentru schimbul de mesaje. Acest

lucru inseamnă în principal definirea tipurilor folosind XML Shema Definition Language (XSD). În cazul parserului de roluri semantice, datele transmise sunt fisiere text.

● Message În afară de definirea tipurilor de date care sunt transmise înainte și înapoi în timpul invocarii unei metode

web, trebuie de asemenea definite mesajele de cerere și de răspuns. Deoarece mesajele sunt independente de protocol, se poate folosi un mesaj cu HTTP-GET, HTTP-POST, SOAP, sau orice alt protocol pe care un ofertant de servicii web îl suporta. Daca se foloseste SOAP, elementul <message> corespunde încarcaturii utile a unui mesaj SOAP de cerere sau de raspuns. Acesta nu include elementele SOAP <Envelope> si <Fault>. Mesajele pot avea orice nume pentru ca WSDL nu defineste o conventie de denumire pentru mesaje.

Un element <message> contine 0 sau mai multi fii <part>. Un mesaj de cerere conține toți parametrii in și inout. Un mesaj de răspuns conține toți parametrii out si inout. Fiecare element <part> trebuie să aibă un nume și un tip de dată care se poate potrivi cu tipurile de date care sunt folosite în implementarea serviciului.

● Port Type Un ofertant de servicii web (un nod din rețea care este server web) poate expune mai multe servicii web. Un

singur serviciu web poate suporta invocarea metodelor sale folosind o varietate de protocoale. Formatul datelor schimbate între client și serviciul web poate depinde de protocolul folosit pentru a invoca o metodă. De aceea trebuie să existe o cale de a asocia operațiile cu endpoint-urile de unde acestea pot fi accesate. Acest tip de asociere se poate realiza folosind elementul portType.

● Binding Dupa definirea portului logic(portType), in continuare se definește cum poate un consumator al serviciului

web sa se lege la portul pe care este disponibilă operatia GetAccount. Acest lucru implică asocierea unei operații cu un protocol și asigurarea oricărei informații de legatură specifice protocolului. De exemplu, un element binding poate mapa un port type la o interfata specifica SOAP RPC utilizand HTTP ca protocol de transport si sistemul de codare a datelor SOAP. Pentru a face asta se foloseste elementul <binding>.

● Service La sfarsitul fisierului WSDL se definesc endpoint-urile pentru fiecare dintre protocoalele care se pot folosi

pentru a accesa un serviciu web. Pentru a defini endpoint-urile se foloseste elementul <service>. Elementele <type>, <message>, <portType> definesc un serviciu intr-un mod abstract. O descriere WSDL ce

contine doar aceste elemente in consecinta descrie un tip de serviciu. Elementul <binding> mapeaza tipul serviciului la un protocol specific. Elementul <service> mapeaza tipul serviciului si legatura la o instanta specifica a serviciului. Elementele <binding> și <service> pot fi întreținute într-un document WSDL separat pentru a furniza o mai mare flexibilitate și reutilizare.

Următorul pas a fost crearea fișierului WSDL entru parserul de roluri semantice, pentru a descrie parametrii de

intrare și iesire, portul, precum și metodele ce pot fi apelate de utilizatorii serviciului web. Pe lângă parserul de roluri semantice dezvoltat în cadrul proiectului, care va fi disponibil sub forma unui serviciu web, se va încerca și oferirea resursei de roluri semantice ca interfață web. După cum s-a descris în rapoartele anterioare, această resursă cuprinde descrieri ale cadrelor semantice cu rolurile lor semantice ce reprezintă valențele cuvintelor predicaționale, însoțite de o colecție de atestări din corpusul adnotat care exemplifică legăturile dintre rolurile semantice şi realizările lor sintactice (funcții morfologice sau sintactice). Valența este capacitatea combinatorie a verbului, adică însuşirea acestuia de a deschide anumite poziții libere care sunt ocupate de termenii implicați.

Fiind strâns legată de semantica verbului, valența reglementează numărul şi caracteristica funcțional-semantică şi gramaticală a elementelor cerute de verb (constituenți obligatorii şi facultativi). Cel mai activ şi mai important sub aspectul valenței este verbul, însă pot fi exista şi substantive sau adjective ce au trăsătura de

Page 25: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

25

predicaționalitate care realizează nucleul semantic al propoziției. Corpusul adnotat semantic a fost îmbogățit cu adnotare la partea de vorbire, folosindu-se serviciul web oferit de Institutul de Cercetări pentru Inteligența Artificială (Tufiș et al., 2008), și adnotare a dependențelor sintactice, folosindu-se un parser creat prin antrenarea MALTParser (Nivre, 2003) pe un corpus de fraze românești adnotate manual cu dependențe FDG.

Pentru oferirea ca interfață web a resursei de roluri semantice, s-a încercat identificarea posibilelor utilizări ale acestei resurse pe Internet, pentru realizarea acestei interfețe cât mai mult posibil pe măsura aşteptărilor comunităţii lingviştilor, a dezvoltatorilor de software de prelucrare a limbii române, a profesorilor de limba română și, în general, a tuturor celor interesați de prelucrarea automată sau asistată a limbii române contemporane.

În acest scop, au fost identificate o serie de informații necesare înainte de realizarea interfeței web, pentru stabilirea tipurilor de interogări posibile asupra resursei de roluri semantice. Aceste informații au fost grupate în mai multe cateogrii:

Informații referiotare la profilul utilizatorului;

Informații referitoare la utilizarea resursei.

Informațiile din prima categorie sunt folosite în principal pentru realizarea design-ului interfeței web. Astfel, în funcție de tipul utilizatorilor se poate crea o interfață cu un conținut mai tehnic sau, dimpotrivă, cu informații clarificate mult mai detaliat, la un nivel de bază, pentru a putea fi înțeles și de persoanele care nu sunt neaparat specialiste în domeniu semanticii. Tipurile posibile de utilizatori cărora li se poate adresa această interfață sunt lingviști (inclusiv lingviști computaționali), lexicografi sau programatori care folosesc resursa pentru activități de cercetare sau de dezvoltare de aplicații lingvistice pentru limba română, profesori care folosesc resursa drept material didactic, persoane care învață limba română (fie români sau străini) etc. Se observă ușor că diversitatea posibililor utilizatori face necesară introducerea și a unor definiți introductive în interfața web, care să clarifice, de exemplu, noțiunile de rol sau cadru semantic.

Un alt criteriu avut în vedere este modul de utilizare a resursei. Acest criteriu este util pentru a fi oferite cu acces rapid acele informații care sunt de interes pentru mai mulți utiizatori. Totodată însă trebuie să fie oferită posibilitatea identificării și a unor informații specializate, care pot fi solocitate de specialiști. Astfel, sunt identificate câteva tipuri de interogări ale resursei de roluri semantice, care includ:

- Interogări generale referitoare la un corpus românesc: frecvenţa relativă a unui cuvânt în cadrul resursei, contexte lexicale în care apar anumite cuvinte (colocții, coocurențe);

- Interogări referitoare la informațiile sintactice din resursă: contexte morfosintactice în care apar anumite cuvinte, realizări lexicale ale unor structuri morfosintactice, realizări morfo-lexicale ale unor funcţii sintactice;

- Interogări referitoare la informațiile semantice din resursă: contexte semantice în care apar anumite cuvinte/roluri semantice, realizări ale unor cadre semantice pentru un anumit cuvânt/predicat etc.

De asemenea, o informație importantă este frecvența cu care interfața va fi accesată, de acest lucru depinzând modalitățile de accesare oferite. De exemplu, daca există utilizatori care vor dori să interogheze resursa destul de des, trebuie ca accesul la aceasta sa permită interogări multiple de la aceași adresă IP. Totuși, numrul acestor intergări trebuie să fie păstrat limitat, pentru a evita încărcarea inutilă a serverului. Pentru cazurile în care pot fi necesare interogări multiple, se poate oferi posibilitatea contactării pentru stabilirea unor condiții optime.

Având în vedere faptul că resursa de roluri semantice obținută rin transferul adnotării semantice are corespundent în limba engleză, resursa poate fi considerată paralelă, aliniatp la nivel de rol semantic. În acest caz, se pot imagina interogri ale resursei care să identifice posibile traduceri ale unui rol semantic/expresie dintr-o limbă în alta, frecvenţa traducerilor posibile ale unui cuvânt/rol semantic dintr-o limbă în alta, contexte lexicale sau semantice pentru cuvinte corespondente în limbi diferite, contexte în care apar diferite perechi de traducere x-y, cu un rol precizat etc.

Page 26: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

26

Parserul de roluri semantice și resursa de roluri creată pentru limba română au fost oferite comunității științifice prin intermediul platformei META-SHARE, ele putând fi accesate la adresa http://metashare.infoiasi.ro/repository/browse/srl-uaic-sematic-role-labeller/6676c5ee63db11e28e82525400606 17d11135358f19c4509a16ff45b1fcd1af0/ și respectiv http://metashare.infoiasi.ro/repository/browse/romanian-framenet/8ef141d019d911e28e8252540060617db20fd72461ef44798765ef5d1de19e26/. META-SHARE constă într-o infrastructură publică distribuită pentru schimbul și partajarea de resurse lingvistice. Rețeaua de arhive digitale conține date lingvistice, instrumente și servicii web documentate cu metadate, organizate în categorii standardizate. Resursele pot fi accesate direct și permit căutări uniformizate. Resursele disponibile includ materiale gratuite, cu acces Open Source sau restricționat, precum și resurse disponibile contra cost.

Peisajul divers și eterogen de cantități imense de colecții de date digitale și digitizate (publicații, fișiere multimedia, baze de date, instrumente de procesare, servicii și aplicații) a transformat în mod drastic cerințele pentru arhivarea, publicarea, descoperirea și întreținerea lor pe termen lung. Depozite digitale furnizează infrastructura pentru descrierea și documentarea, păstrarea, depozitarea și oferirea acestor informații către public într-un mod deschis, de încredere și accesibil utilizatorului. Aceste depozite reprezintă o evoluție a paradigmei librăriilor digitale către un acces liber, cu posibilități avansate de căutare și arhitecturi distribuite pe scară largă.

Astfel, META-SHARE are drept scop furnizarea unei astfel de infrastructuri publice, distribuite, sigure, și interoperabile pentru domeniul Tehnologiilor Limbajului. Publică, deoarece infrastructura este concepută ca o colecție de resurse scalabile, în continuă evoluție, incluzând atât resurse și servicii gratuite, cât și plătite; distribuită deoarece consta în depozite/centre de date conectate în rețea, accesibile prin intermediul unor interfețe comune; interoperabilă, deoarece colecția de resurse este conformă cu standardele, încercând să depășească diferențele terminologice, semantice sau cele referitoare la formate; sigură, deoarece este garantată o gestionare corectă din punct de vedere legal, respectând conformitatea juridică și accesul securizat la resursele pe bază de licență.

META-SHARE construiește o infrastructură multistrat, care:

oferă resurse lingvistice de înaltă calitate, documentate, și metadate conectate în rețea,

asigură gestionarea, prezervarea și managementul corespunzător al resurselor lingvistice și al metadatelor,

oferă un set de servicii pentru toți membrii și utilizatori META-Share,

promovează utilizarea standardelor acceptate pe scară largă pentru construirea de resurse lingvistice, asigurând astfel interoperabilitate maximă între resurse,

permite părților terțe asociate să exporte resursele lor lingvistice prin intermediul rețelei META-SHARE,

permite potențialilor utilizatorilor de resurse lingvistice să își procure ușor și legal resurse care le sunt necesare în scopuri proprii.

Resursele și tehnologiile vizate de META-SHARE, în ordinea priorității, includ:

date lingvistice, precum corpusuri scrise și vorbite,

date referitoare la limbaj, incluse și / sau asociate altor medii în care limbajul natural scris și vorbit joacă un rol important,

instrumente și tehnologii de procesare și adnotare a limbajului natural,

servicii care utilizează instrumente sau tehnologii de prelucrare a limbajului,

instrumente de evaluare, măsurare și protocoale, servicii de evaluare,

fluxuri de servicii prin combinarea și orchestrarea serviciilor interoperabile.

META-SHARE oferă o infrastructură utilă pentru furnizorii și utilizatorii de resurse lingvistice și tehnologii, precum și pentru cei care integrează / vând tehnologii ale limbajului, profesioniști ai limbajului (traducători, interpreți, experții în localizare), centre de date naționale și internaționale, arhive de resurse lingvistice și tehnologii, factorii de decizie naționali și internaționali în politicile tehnologiei limbajului, precum și alți finanțatorii și sponsori ai resurselor și tehnologiilor lingvistice.

META-SHARE este o facilitate disponibilă în mod gratuit, susținută de o comunitate largă de utilizatori și dezvoltatori, bazată pe depozite distribuite în rețea, accesibile prin interfețe comune. Utilizatorii (consumatori,

Page 27: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

27

furnizori sau agregatori) pot înregistra conturi de acces securizate pentru a putea accesa toate resursele din cadrul rețelei de arhive. Platforma META-SHARE este susținută de META-NET, o rețea europeană de excelență ce cuprinde 60 de centre de cercetare din 34 de țări, implicată în mai multe proiecte europene, care a dezvoltat o Agendă Strategică de Dezvoltare pentru domeniul Tehnologiei Limbajului ce conturează modalitățile în care investiția concentrată în acest domeniu poate genera beneficii economice considerabile, depășind de departe costurile.

Resursele lingvistice și metadatele lor sunt păstrate în depozitele membrilor. Doar metadatele sunt exportate pentru a fi disponibile pentru recoltarea și pentru popularea inventarul rețelei care include descrieri ale resurselor bazate pe metadate. Asfel, pentru cele două resurse lingvistice dezvoltate în cadrul proiectului (resursa de roluri semantice pentru limba română și parserul de roluri semantice), au fost stabilite licențele cu care sunt făcute publice. Acestea sunt de tip META-SHARE COMMONS BY NC SA, un subtip al tipului CC BY NC SA, care specifică că resursele pot fi redistribuite prin rețeaua META-SHARE, pot fi utilizate în scopuri non-comerciale, pot fi dezvoltate ulterior cu condiția să fie păstrată licența, și sunt disponibile gratuit. De asememnea, înainte de a fi postate pe platforma META-SHARE, cele două resurse lingvistice au fost descrise prin intermediul unor metadate care le permit să fie indexate și căutate în cadrul platformei META-SHARE, dar și cu ajutorul unei descrieri narative care conține detalii administrative, tehnice, de conținut și referințe biblografice referitoare la resurse.

De asemenea, înainte de a fi postate pe platforma META-SHARE, cele două resurse lingvistice au fost descrise prin intermediul unor metadate care le permit să fie indexate și căutate în cadrul platformei META-SHARE, dar și cu ajutorul unei descrieri narative care conține detalii administrative, tehnice, de conținut și referințe bibliografice referitoare la resurse.

Pentru parserul de roluri semantice, documentația conține 5 secțiuni principale: informații generale, informații tehnice, informații referitoare la conținut, informații administrative și referințe. Informațiile generale se referă la numele instrumentului, scopul acestuia și o descriere a algoritmului. Informațiile tehnice cuprind 5 subsecțiuni: dependențele programului și cerințele acestuia din punct de vedere al sistemului pe care este rulat, instrucțiuni de instalare, instrucțiuni de execuție, formatul datelor de intrare și ieșire, și integrarea cu instrumente externe. Primele două secțiuni stabilesc necesitatea de a exista preinstalat pe calculator Java, Perl și Weka pentru a rula parserul în modul offline. Comanda de rulare a parserului este

perl PASRL.pl -in path_to_input_file -out path_to_output_file.txt.

Dacă nu este specificat directorul pentru fișierul de ieșire, parsarea va fi salvată în directorul rădăcină în fișierul SrlResult.conll.

Formatul e intrare pentru parserul disponibil pe platforma META-SHARE este text neadnotat, iar formatul de ieșire respectă standardul CONLL, detaliat în secțiunea 2.

Un exemplu de ieșire a parserului de roluri semantice este detaliat în exemplul de mai jos. Prima coloană este de forma 1-2, unde prima cifra reprezintă id-ul propoziției analizate, iar a doua id-ul cuvintelor din propoziție. Id-ul propoziției este necesare deoarece o propoziție poate avea mai multe predicații, iar rolurile semantice sunt adnotate pentru fiecare predicație, astfel că putem avea mai multe adnotări diferite ale aceleași propoziții, pentru predicații diferite. Înainte de a fi atribuite informațiile semantice, textul din intrare este adnotat sintactic, și sunt adăugate informații despre partea de vorbire, regentul și dependențele funcționale ale fiecărui cuvânt. Astfel, următoarele trei coloane reprezintă cuvântul analizat, iar coloanele 5 și 6 reprezintă partea de vorbire a cuvântului. Coloanele 7 și 8 nu conțin informații de adnotare, au fost create pentru informațiile de entități cu nume, care urmează a fi adăugate sistemului într-o etapă ulterioară. Coloanele 9 și 10 conțin id-ul cuvântului regent, de care depinde cuvântul analizat într-o reprezentare de dependență funcțională a propoziției. Coloanele 11 și 12 conțin numele relației de dependență între cuvântul analizat și regentul său (cuvântul cu id-ul specificat în colanele 9-10). Coloanele 13-14 conțin un Y (yes) dacă cuvântul analizat este predicația pentru care s-au adnotat roluri semantice. Coloanele 15-16 reprezintă rolurile semantice atribuite de către parser. Aceste roluri sunt codificate în formatul PropBank. Pentru a se păstra formatul CONLL, unele coloane au fost duplicate. Este cazul coloanelor 2-4, 5-6, 9-10, 11-12, 13-14 și 15-16.

Page 28: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

28

1-1 It It It PRP PRP _ _ 2 2 SBJ SBJ _ _ _ _

1-2 is is is VBZ VBZ _ _ 0 0 ROOT ROOT _ _ _ _

1-3 also also also RB RB _ _ 2 2 ADV ADV _ _ A2 _

1-4 felt felt felt VBN VBN _ _ 2 2 VC VC Y Y _ _

1-5 , , , , , _ _ 4 4 P P _ _ _ _

1-6 however however however RB RB _ _ 4 4 ADV ADV _ _ AM-TMP _

1-7 , , , , , _ _ 4 4 P P _ _ _ _

1-8 that that that IN IN _ _ 12 12 VMOD VMOD _ _ _ _

1-9 many many many JJ JJ _ _ 11 11 NMOD NMOD _ _ _ _

1-10 autistic autistic autistic JJ JJ _ _ 11 11 NMOD NMOD _ _ _ _

1-11 children children children NNS NNS _ _ 12 12 SBJ SBJ _ _ _ _

1-12 would would would MD MD _ _ 4 4 ADV ADV _ _ _ _

1-13 not not not RB RB _ _ 12 12 VMOD VMOD _ _ _ _

1-14 benefit benefit benefit VB VB _ _ 12 12 VC VC _ _ _ _

1-15 from from from IN IN _ _ 14 14 ADV ADV _ _ _ _

1-16 this this this DT DT _ _ 17 17 NMOD NMOD _ _ _ _

1-17 process process process NN NN _ _ 15 15 PMOD PMOD _ _ _ _

1-18 of of of IN IN _ _ 17 17 NMOD NMOD _ _ _ _

1-19 integration integration integration NN NN _ _ 18 18 PMOD PMOD _ _ _ _

1-20 and and and CC CC _ _ 19 19 CC CC _ _ _ _

1-21 special special special JJ JJ _ _ 22 22 NMOD NMOD _ _ _ _

1-22 schools schools schools NNS NNS _ _ 19 19 COORD COORD _ _ _ _

1-23 will will will MD MD _ _ 2 2 EXP EXP _ _ _ _

1-24 continue continue continue VB VB _ _ 23 23 VC VC _ _ _ _

1-25 to to to TO TO _ _ 26 26 VMOD VMOD _ _ _ _

1-26 play play play VB VB _ _ 24 24 OBJ OBJ _ _ _ _

1-27 a a a DT DT _ _ 29 29 NMOD NMOD _ _ _ _

1-28 major major major JJ JJ _ _ 29 29 NMOD NMOD _ _ _ _

1-29 role role role NN NN _ _ 26 26 OBJ OBJ _ _ _ _

1-30 . . . . . _ _ 2 2 P P _ _ _ _

Informațiile referitoare la conținut cuprind detalii despre arhiva care poate fi descărcată pentru folosirea offline a parserului. Informațiile administrative conțin datele de contact pentru eventuale solicitări de suport în folosirea parserului, iar ultima secțiune cuprinde referințele, un set de articole care descriu parserului și exemple de folosire a lui în diverse scenarii.

Resursa de roluri semantice a fost și ea documentată înainte de a fi făcută disponibilă prin platforma META-SHARE comunității de cercetători interesați de domeniu prelucrării limbajului natural. Descrierea acesteia curpinde 5 secțiuni (informații generale, informații tehnice, informații referitoare la conținut, informații administrative și referințe), cu subsecțiuni diferite. Astfel, informațiile generale curpind o descriere a corpusului, modul de reprezentare a corpusului, și modul de codificare a lui (UTF-8). Secțiunea cu detalii administrative cuprinde informațiile de contact, mediul de distribuire (prin intermediul META-SHARE) și informații despre copyright și drepturi de utilizare. Licența cu care este făcută publică resursa este de tip META-SHARE COMMONS BY NC SA, un subtip al tipului CC BY NC SA, care specifică că resursa poate fi redistribuită prin rețeaua META-SHARE, poate fi utilizată în scopuri non-comerciale, poate fi dezvoltată ulterior cu condiția să fie păstrată licența, și este disponibilă gratuit.

Secțiunea de informații tehnice curpinde 3 subsecțiuni: detalii despre directoarele și fișierele din arhiva care cuprinde resursa, informații despre structura unei intrări, și despre dimensiunile corpusului. Astfel, resursa cuprinde 754 de intrări, fiecare cu o propoziție în limba română și una în limba engleză, însumând 1508 propoziții. Pe lângă text, fiecare intrare cuprinde adnotarea propoziției pe trei nivele: roluri semantice, funcții gramaticale și tip de constituent sintactic.

Page 29: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

29

Următoarea secțiune prezintă informații despre conținutul reusursei, în 6 subsecțiuni: tipul corpusului (corpus paralel multilingv adnotat), limba corpusului (limba română și limba engleză), domeniul corpusului (textele sunt articole din presă, fragmente din nuvele sau editoriale), detalii despre adnotările din corpus (cu mai multe subsecțiuni, ce vor fi detaliate mai jos), aplicabilitatea corpusului (pentru învățarea limbii române, pentru creare de modele semantice, etc.) și corectitudinea corpusului (adnotările au fost validate manual, astfel că corpusul poate fi considerat corpus gold. Detaliile despre adnotarea corpusului cuprind secțiunile: tipul de adnotare (la nivel de propoziție, de constituent), o descriere a tagurilor folosite, informații despre alinierea dintre consituenții și rolurile semantice din limba engleză și limba română, precum și o descriere a atributelor folosite și a valorilor pe care le pot lua. Astfel, atributul annotationSet înglobează fiecare pereche de propoziții adnotate, și curpinde tagurile layers, cu adnotări pentru cele trei niveluri, și sentence, care cuprinde propoziția în limba engleză în tagul text_en și propoziția în limba română în interiorul tagului text_ro. Tagul layers conține câte un tag layer pentru fiecare nivel de adnotare. Fiecare tag layer are ca atribut un tag name și un tag labels care include un set de taguri label_en pentru constituenții din limba engleză și un set de taguri label care conține echivalenții în limba română pentru grupurile din limba engleză. Fiecare tag label conține la rândul său un nume și un set de cuvinte (words). Pentru exemplificare, este prezentat mai jos un extras din resursa de roluri semantice:

<annotationSet ID="615 " status="AUTO">

<layers>

<layer name="FE" rank="1" >

<labels>

<label name="Protagonist" words="Partenerii de pescuit John Armstrong , 52 , și James Scrimgeour , 62 ," />

<label_en name="Protagonist" words="FISHING pals John Armstrong , 52 , and James Scrimgeour , 62 ," />

<label name="Time" words="când un val neobișnuit le- a scufundat barca lângă mal la Cresswell" />

<label_en name="Time" words="when a freak wave sank their boat near the shore at Cresswell" />

</labels>

</layer>

<layer name="GF" >

<labels>

<label name="Ext" words="Partenerii de pescuit John Armstrong , 52 , și James Scrimgeour , 62 ," />

<label_en name="Ext" words="FISHING pals John Armstrong , 52 , and James Scrimgeour , 62 ," />

<label name="Dep" words="când un val neobișnuit le- a scufundat barca lângă mal la Cresswell" />

<label_en name="Dep" words="when a freak wave sank their boat near the shore at Cresswell" />

</labels>

</layer>

<layer name="PT" >

<labels>

<label name="NP" words="Partenerii de pescuit John Armstrong , 52 , și James Scrimgeour , 62 ," />

<label_en name="NP" words="FISHING pals John Armstrong , 52 , and James Scrimgeour , 62 ," />

<label name="Sinterrog" words="când un val neobișnuit le- a scufundat barca lângă mal la Cresswell" />

<label_en name="Sinterrog" words="when a freak wave sank their boat near the shore at Cresswell" />

</labels>

</layer>

<layer name="Sent" /> <layer name="Other" />

<layer name="Target" >

<labels>

<label name="Target" words="au înecat" />

<label_en name="Target" words="drowned" />

</labels>

</layer>

<layer name="Verb" />

<layer name="FE" rank="2" >

<labels>

<label name="Cause" words="când un val neobișnuit le- a scufundat barca lângă mal la Cresswell" />

<label_en name="Cause" words="when a freak wave sank their boat near the shore at Cresswell" />

</labels>

</layer>

</layers>

Page 30: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

30

<sentence>

<text>Partenerii de pescuit John Armstrong , 52 , și James Scrimgeour , 62 , s-au înecat când un val neobișnuit le- a scufundat

barca lângă mal la Cresswell , Tyneside .</text>

<text_en>Fishing pals John Armstrong , 52 , and James Scrimgeour , 62 , drowned when a freak wave sank their boat near the

shore at Cresswell , Tyneside </text_en>

</sentence>

</annotationSet>

Asemănător descrierii parserului semantic, ultima secțiune cuprinde referințele, un set de articole care descriu

resursa semantică, modul de achiziție prin transfer automat a adnotării din limba engleză corectarea ei și exemple de

folosire a resursei pentru dezvoltarea parserului semantic.

Dezvoltarea modulului de comunicare dintre utilizator și sistemul de gestionare a resurselor clădirii.

Plecând de la aplicația SiadEnv, care este un sistem de monitorizare și de reducere a consumului de resurse si de energie, ultima etapă a proiectului a realizat o interfață de comunicare în limbaj natural dintre utilizator și modulul de control al unei clădiri inteligente.

Pentru stabilirea modalității optime de dialog dintre utilizator și sistem, a fost elaborat un chestionar adresat persoanelor implicate în dezvoltarea și utilizarea sistemului SiadEnv. Răspunsurile la chestionar au dus la concluzia că una din cele mai la îndemână modalități de comunicare în limbaj natural scris este e-mailul. Modulul de comunicare al SiadEnv a fost conectat la o căsuță de e-mail unde se primesc e-mailuri de la utilizatori. Pe baza identificării adresei de la care un utilizator trimite un e-mail de configurare, se stabilește rangul de prioritate și tipul comenzilor pe care acesta are voie să le adreseze sistemului.

În modul de comunicare dintre utilizator și sistemul de gestionare a resurselor clădirii de testare au fost implementate patru comenzi de extragere a informațiilor și patru comenzi pentru efectuarea de modificări in configurarea sistemului SiadEnv.

Pentru stocarea informațiilor preluate de la senzorii amplasați în clădire a fost folosită platforma xively. Comunicarea cu serverul xively se face printr-o serie de appleturi prin care informațiile pot fi stocate sau extrase de pe server. Un exemplu de astfel de mesaj de interogare estre prezentat in fig. 3 unde sunt cerute o serie de date cu caracter istoric:

Fig. 3 Mesaj interogare istoric de pe serverul Xively

unde:

1. Adresa serverului 2. Numărul de identificare a câmpului de date 3. Setul de date (un câmp de date poate avea mai multe seturi de date ce sunt identificate cu numere

0, 1, 2 etc) și formatul în care se cere informația de pe server: .csv, .html sau json 4. Data de început a intervalului de extragere a istoricului 5. Data de sfârșit a intervalului pentru care se generează istoricul

http://api.pachube.com/v2/feeds/36981/datastreams/0.csv?

start=2011-11-11T12:40:22Z&end=2011-11-12T12:38:03Z

&interval=60&key=4q04K6hPYN9-6IBjUHqWGQLIgWhv***************

1 2 3

44

5

6 7

Page 31: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

31

6. Intervalul dintre două înregistrări consecutive 7. Cheia de acces aferentă câmpului de date accesat

Interfața cu utilizatorul permite acestuia să introducă direct de la tastatura cheia de acces, numărul de identificare a câmpului de date și asistă utilizatorul în alegerea intervalului de timp pentru citirea istoricului și delta T dintre două citiri consecutive apelate. Limitările legate de delta T dintre două puncte consecutive extrase din baza de date impuse de către serverul xively sunt evidențiate în tabelul 4.

Valoare Descriere (Delta T) Interval de timp maxim

0 Poate fi extrasă fiecare valoare 6 ore 30 O valoare la 30 de secunde 12 ore 60 O valoare la un minut 24 ore 300 O valoare la 5 minute 5 zile 900 O valoare la15 minute 14 zile 3600 O valoare pe ora 31 zile 10800 O valoare la trei ore 90 zile 21600 O valoare la 6 ore 180 zile 43200 O valoare la 12 ore 1 an 86400 O valoare pe zi 1 an

Tabel 4. Tabelul de restricții a numărului de puncte returnate pe o interogare de istoric Modulul de comunicare dintre utilizator și sistemul de management al clădirii folosind limbajul natural

prelucrează un e-mail venit din partea utilizatorului și extrage informațiile necesare pentru compunerea mesajului

către serverul xively. Acest lucru se face folosind informații semantice și șabloane lexicale și sintactice.

Spre exemplu, intrarea pentru sistemul de dialog folosind informații semantice poate fi un e-mail de tipul celul

de mai jos:.

from: HIDDEN EMAIL ADDRESS Oct. 15, at 17.15 PM

to [email protected]

Te rog da-mi valorile de temperatura din camera 403 din minut în minut pentru ultimele

două săptămâni.

Modulul de interfațare prin limbaj natural dintre utilizator sistemul inteligent de management a clădirii

returnează sistemului SiadEnv următoarele valori:

1 utilizator: EMAIL ADDRESS

2. locatie: camera 403

3 perioada: 15.10.2013 – 01.10.2013 (recunoaște termenul de săptămâni, luni, ani, zile, precum și datele

calendaristice în diferite formate, și le transformă în corespondentullor de zile raportate la data cererii.

4 frecvență: minute (dacă nu este identificată o astfel de restricție, va fi returnată valoarea NULL care este

interpretata de sistem ca valoare implicită generată de server pentru perioada de timp interogată).

Page 32: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

32

5 momentul cererii: 15.10.2013 ora 17.15.

Prin integrarea unui modul de prelucrare a limbajului natural într-un sistem de inteligență ambientală, acest

proiect deschide noi direcții de cercetare în dimeniul inteligenței artificiale omniprezente.

După cum se poate observa din rapoartele anuale și din acest raport final, obiectivele propuse pentru proiectul postdoctoral au fost îndeplinite. Rezultatele cercetării efectuate au fost valorificate prin articole prezetate la conferințe naționale și internaționale, articole publicate în reviste ISI și olume a conferințelor, precum și un volum publicat la editura internațională Springer ca prim autor. Aceste rezultate sunt detaliate în secțiunea următoare.

Bibliografie selectivă

Barbu Mititelu Verginica and Radu Ion. Automatic Import of Verbal Syntactic Relations Using Parallel Corpora. In Proc. of the International Conference RANLP, pp. 329-333, Borovets, Bulgaria, 2005.

Carreras Xavier; Lluís Màrquez. Introduction to the CoNLL-2005 Shared Task: Semantic Role Labeling, Proceedings of the Ninth Conference on Computational Natural Language Learning (CoNLL-2005), 2005

Cui H., R. X. Sun, K. Y. Li, M. Y. Kan and T. S. Chua. (2005) Question answering passage retrieval using dependency relations. In Proceedings of the ACM SIGIR, pages 400–407. ACM Press, 2005.

Dowty David. Thematic proto-roles and argument selection. Language, 67(3):547-619, 1991.

Fillmore Charles J. Frame semantics, în Linguistics in the Morning Calm, Hanshin Publishing, Seoul , 1982, 111-137.

Gildea Daniel and Daniel Jurafsky. Automatic labeling of semantic roles. Computational Linguistics, 28(3):245-288, 2002 Iftene, A., Gînsca, A. L., Moruz A., Trandabăţ, D., Husarciuc M. (2011) Question Answering for Machine Reading Evaluation on

Romanian and English Languages in Notebook Paper for the CLEF 2011 LABs Workshop, Amsterdam, Netherlands, 19-22 September 2011, ISBN 978-88-904810-1-7, ISSN 2038-4726.

Levin B. and M. Rappaport Hovav. Argument Realization. Research Surveys in Linguistics Series. Cambridge University Press, Cambridge, UK, 2005.

Marquez Lluis, Xavier Carreras, Kenneth C. Litkowski, and Suzanne Stevenson. Semantic role labeling: An introduction to the Special Issue. Computational Linguistics, 34(2):145-159, 2008.

Morante Roser, Walter Daelemans, and Vincent Van Asch. A combined memory-based semantic role labeler of English. In Proceedings of the Twelfth Conference on Computational Natural Language Learning, pp 208-212, Manchester, UK, 2008.

Namhee Kwon, Michael Fleischman, and Eduard Hovy. (2004) SENSEVAL automatic labeling of semantic roles using maximum entropy models. In Proceedings of the 42nd Annual Meeting of the Association for Computational Linguistics, SENSEVAL-3, Barcelona, Spain, 2004.

Narayanan Srini and Sanda Harabagiu. (2004) Question answering based on semantic structures. In COLING ’04: Proceedings of the 20th international conference on Computational Linguistics, page 693, Morristown, NJ, USA, 2004. Association for Computational Linguistics.

Nivre J.. An efficient algorithm for projective dependency parsing. In Proc. of the 8th International Workshop on Parsing Technologies (IWPT 03), pp. 149-160, 2003.

Pislaru M., Trandabăţ D., Trandabat A. (2013) Assessment of Corporate Environmental Performance Based on Fuzzy Approach , in APCBEE Procedia 5 ( 2013 ), Elsevier, pages 368-372.

Pradhan Sameer, Kadri Hacioglu, Valeri Krugler, Wayne Ward, James H. Martin, and Daniel Jurafsky. Support vector learning for semantic argument classification. Machine Learning Journal, 60(13):11-39, 2005.

Surdeanu, M., S. Harabagiu, J.Williams, and P.Aarseth (2003) Using predicate-argument structures for information extraction, In Proceedings of the 41st Annual Meeting of the Association for Computational Linguistics, pages 8–15, Sapporo, Japan

Trandabat, A.; Pislaru, M.; Trandabat, D. (2013) SiadEnv safety and communication features in real life scenarios, in INTERDISCIPLINARY RESEARCH IN ENGINEERING: STEPS TOWARDS BREAKTHROUGH INNOVATION FOR SUSTAINABLE DEVELOPMENT Book Series: Advanced Engineering Forum Volume: 8-9 Pages: 195-204 DOI: 10.4028/www.scientific.net/AEF.8-9.195 Published: 2013

Trandabat Diana (2007). Semantic frames in Romanian natural language processing systems. In Proceedings of the NAACL-HLT 2007 Doctoral Consortium, pages 29-32, Rochester, New York, 2007. ACL.

Page 33: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

33

Trandabat Diana and Maria Husarciuc (2008). Romanian semantic role resource. In Proceedings of the Sixth International Language Resources and Evaluation (LREC'08), Marrakech, Morocco, may 2008.

Trandabăţ D. (2011b) Semantic role labeling for structured information extraction, in Proceedings of the fourth workshop on Exploiting semantic annotations in information retrieval, ISBN: 978-1-4503-0958-5, DOI: 10.1145/2064713.2064728, pp. 25-26, Glasgow, UK.

Trandabăţ D. (2013) Towards extracting relations from unstructured data through natural language semantics, Proceedings of the 2nd Workshop on New Frontiers in Mining Complex Patterns (NFMCP 2013), Prague, 23-27 September 2013, pp. 225-236.

Trandabăţ D. and Trandabăţ A. (2011a). Extracting Semantic Role Information from Unstructured Texts, in Proceedings of 6th International Workshop in Semantic Media Adaptation and Personalization - SMAP2011, ISBN: 978-1-4577-1372-9, DOI: 10.1109/SMAP.2011.20, pp. 62-67, Vigo, Spain.

Trandabăț Diana (2010). Natural language processing using semantic frames. PhD Thesis, 2010, http://students.info.uaic.ro/~dtrandabat/thesis.pdf.

Trandabăţ Diana (2011c) Mining Romanian texts for semantic knowledge, in Proceedings of Intelligent Systems and Design Application Conference, ISDA2011, Cordoba, Spain, ISSN: 2164-7143, ISBN: 978-1-4577-

Tufiş Dan, Ion R., Ceauşu, Al., Stefănescu, D. (2005), Combined Aligners in Proceeding of the ACL2005 Workshop on “Building and Using Parallel Corpora: Data-driven Machine Translation and Beyond”, Ann Arbor, Michigan, June, 2005

Tufiş Dan, Radu Ion, Alexandru Ceauşu, Dan Ştefănescu, RACAI’s Linguistic Web Services, în Proceedings of LREC 2008 (Language Resources and Evaluation Conference), May 26 - June 1, Marakkech, Morocco. ELRA.

Witten Ian H. și Eibe Frank. Data Mining: Practical Machine Learning Tools and Techniques (Second Edition). Morgan Kaufmann, 2005.

Cap 3. Valorificarea cercetării

Rezultatele obţinute în perioada de desfășurare a proiectului au fost diseminate prin articole publicate în jurnale indexate ISI, în volume ale conferițelor indexate în baze de date iternaționale, o carte, și prezentări orale de articole la conferinţe şi ateliere de lucru din domeniu, după cum sunt prezentate mai jos.

2 articole indexate ISI:

1. Trandabăţ D. (2011) Improving Metadata by Filtering Contextual Semantic Role Information, in Communications in Computer and Information Science, Volume 240, 2011, DOI: 10.1007/978-3-642-24731-6, Metadata and Semantic Research, MTSR2011, ISSN 1865-0929, Springer, pp. 201-208.

2. Trandabat, A.; Pislaru, M.; Trandabat, D. (2013) SiadEnv safety and communication features in real life scenarios, in INTERDISCIPLINARY RESEARCH IN ENGINEERING: STEPS TOWARDS BREAKTHROUGH INNOVATION FOR SUSTAINABLE DEVELOPMENT Book Series: Advanced Engineering Forum Volume: 8-9 Pages: 195-204 DOI: 10.4028/www.scientific.net/AEF.8-9.195 Published: 2013

6 articole indexate BDI

1. Iftene A., Gînscă A.-L., Moruz M. A., Trandabăţ D. , Husarciuc M., Boroș E. (2012) Enhancing a Question Answering System with Textual Entailment for Machine Reading Evaluation, in Pamela Forner, Jussi Karlgren, Christa Womser-Hacker (Eds.): CLEF 2012 Evaluation Labs and Workshop, Online Working Notes, Rome, Italy, September 17-20, 2012, ISBN 978-88-904810-3-1

2. Diana Trandabăț (2011) Mining Romanian texts for semantic knowledge, in Proceedings of Intelligent Systems and Design Application Conference, ISDA2011, Cordoba, Spain.

Page 34: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

34

3. Trandabăţ D. and Trandabăţ A. (2011) Extracting Semantic Role Information from Unstructured Texts, in Proceedings of 6th International Workshop in Semantic Media Adaptation and Personalization - SMAP2011, ISBN: 978-1-4577-1372-9, DOI: 10.1109/SMAP.2011.20, pp. 62-67, Vigo, Spain.

4. Trandabăţ D. (2013) Towards extracting relations from unstructured data through natural language semantics, Proceedings of the 2nd Workshop on New Frontiers in Mining Complex Patterns (NFMCP 2013), Prague, 23-27 September 2013, pp. 225-236.

5. Pislaru M., Trandabăţ D., Trandabat A. (2013) Assessment of Corporate Environmental Performance Based on Fuzzy Approach , in APCBEE Procedia 5 ( 2013 ), Elsevier, pages 368-372.

6. Diana Trandabăț (2011) Extracting Semantic Information from Texts, in Post-Proceedings of the 13th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, SYNASC2011.

1 Articol neindexat

1. Diana Trandabăț (2011) Using Semantic Roles to Understand the Web, Post-Proceedings of the Workshop “Language Resources and Tools with Industrial Applications”, Publishing House of the Alexandru Ioan Cuza University of Iași, ISSN 1843-911X, pg. 69- 82.

1 carte publicată la editura internaținală Springer

1. Trandabăţ D., Irimia E., Barbu Mititelu V., Cristea D., Tufis D. (2012) The Romanian Language in the Digital Age, in White Paper Series, Eds. Georg Rehm and Hans Uszkoreit, Berlin, Springer, ISBN 978-3-642-30702-7, 2012, 87 p.

3 prezentări la conferințe

1. Trandabăţ D. (2013) Natural Language Processing using Semantic Roles, presentation at BONSAI: Bridging Organizations and National Societies in Artificial Intelligence, 24-31 July 2013, Bran, Romania.

2. Trandabăţ D. and Trandabăţ A. (2011) Extracting Semantic Role Information from Unstructured Texts, in Proceedings of 6th International Workshop in Semantic Media Adaptation and Personalization - SMAP2011, ISBN: 978-1-4577-1372-9, DOI: 10.1109/SMAP.2011.20, pp. 62-67, Vigo, Spain.

3. Trandabăţ D. (2013) Towards extracting relations from unstructured data through natural language semantics, Proceedings of the 2nd Workshop on New Frontiers in Mining Complex Patterns (NFMCP 2013), Prague, 23-27 September 2013, pp. 225-236

Metoda prezentată în cadrul proiectului pentru dezvoltarea resursei semantice pentru limba română a fost apreciată pe plan internațional, colectivul de la Centre for Language Technology din cadrul universității din Gothenburg, Suedia, prin Dr. Karin Friberg Heppin, solicitându-mi colaborarea pentru a adapta cercetarea mea efectuată pentru limba română la limba suedeză.

Experiența căpătată în domeniul tehnologiilor limbajului de-a lungul studiilor doctorale și postdoctorale (inclusiv prin intermediul acestui proiect) mi-au permis să fac parte din echipa de autori ai studiului « The Romanian Language in the digital era », publicat de prestigioasa editură Springer. Studiul, care face parte dintr-o colecție de studii pentru 33 de limbi europene, dorește să atragă atenția asupra sprijinului insuficient acordat tehnologiilor limbajului pentru majoritatea limbilor, inclusiv pentru limba română, ceea ce le face să fie în pericol de dispariție din lumea digitală, ele fiind subjugate de folosirea din ce în ce mai freventă a limbii engleze în mediul virtual.

De asemenea, am fost invitată să diseminez rezultatele proiectului și instrumentele obținute prin intermediul platformei europene META-SHARE, astfel că resursa de roluri semantice, parserul de roluri semantice și sistemul de întrebare-răspuns au fost iincluse in META-SHARE, fiind astfel disponibile gratuit comunității științifice.

Page 35: Raport știintific sintetic - profs.info.uaic.rodtrandabat/pages/pdfs/raport_sintetic_final.pdf · dintre un predicat şi un argument. În orice limbă, verbe pot fi grupate în categorii

Raport știintific sintetic Proiectul “Aplicaţie de interpretare automată a limbajului natural folosind roluri semantice”

Cod proiect PN-II-RU-PD-2011-3-0292, Contract nr. 55/28.10.2011 Dir. Proiect: Diana Trandabăț

35

În perioada 08 – 18.10.2013 am efectuat o deplasare la Lamia, Grecia la Universitatea din Thessaly, Departamentul de Informatică şi Bioinformatică, pentru a efectua un stagiu de cercetare cu dl. Prof. Vassilis Plagianakos. Activitatea desfășurată în cadrul stagiului s-a bazat pe studierea modului în care sistemul de parsare a rolurilor semantice poate fi optimizat prin integrarea metodelor de învățare nesupervizată. Am prezentat dlui. prof. Plagianakos și colectivului dumnealui metodele existente de dezvoltare a parserelor semantice folosind învățarea automată. Primele sisteme au încercat să prezică roluri semantice maximizând probabilitatea de atribuirea de roluri constituienților din propoziție. Pentru estimarea probabilităților s-au folosit diferite seturi de trăsături. În alte cercetari s-au folosit SVM-uri, care au în general rezultate bune pe clasificările de texte. Instanțele de antrenament sunt reprezentate ca vectori de trăsături într-un spațiu cu mai multe dimensiuni. O problemă cu folosirea SVM-urilor pentru identificarea rolurilor semntice este faptul că SVM-urile sunt clasificatoare binare. Pentru a depăși această problemă a fost fie antrenat separat un clasificator binar pentru fiecare clasă și apoi combinate rezultatea, fie antrenarea unor clasificatori care să identifice o anumită clasă vs.toate celelalte clase . O altă problemă este că sistemele bazate pe kernel-uri, cum sunt SVM-urile, au viteze de clasificare substanțial mai mici decât cele ale altor algoritmi de învățare automată. Altă metodă folosită a fost învățarea bazată pe memorie, folosind asemănarea dintre instanțele noi și cele întâlnite anterior. Toate aceste metode sunt metode de învățare automată supervizată, care necesită existența unui corpus de învățare adnotat. Pentru a evita această constrângere, se pot folosi metodele de învățare automată nesupervizate. Colectivul dlui prof. Plagianakos are experiență în lucrul cu astfel de metode de învățare, dar ele au fos aplicate până acum cu precădere în domeniul analizei de imagini. În cadrul acestul stagiu am pus bazele unei colaborări care să încerce aplicarea metodelor nesupervizate bazate pe clusterizare și algoritmi evolutivi în procesarea semantică a limbajului natural.

Trebuie menționat și că, prin integrarea unui modul de prelucrare a limbajului natural într-un sistem de inteligență ambientală, acest proiect deschide noi direcții de cercetare în dimeniul inteligenței artificiale omniprezente, reprezentând o prima încercare de acest gen.

Director proiect,

Dr. Diana Trandabăț