Construirea unui sistem de tip întrebare răspuns pentru limba română

Iftene Adrian,  Universitatea “Al.I.Cuza”, Facultatea de Informatică, Iaşi

 

Rezumat
Începând cu anul 2007, în cadrul competiţie QA@CLEF a fost introdusă pentru prima dată posibilitatea de a căuta răspunsuri la întrebări puse în limbaj natural, într-o colecţie de date în română. Această colecţie de date reprezintă o variantă îngheţată a Wikipediei româneşti din luna decembrie anul 2006.

Articolul prezintă eforturile depuse de echipa noastră în încercarea construirii unui sistem de tip întrebare-răspuns care funcţionează în totalitate pe limba română. Se va putea observa faptul că, spre deosebire de competiţia similară din 2006 accentul a căzut pe o nouă caracteristică introdusă anul acesta în competiţie: gruparea întrebărilor pe topici, a cărei rezolvare a depins de rezoluţia  anaforei. De asemenea o componentă importantă a sistemului o constituie sistemul de inferenţe textuale care ne-a ajutat în ordonarea răspunsurilor.

 

1. Introducere

Primul sistem de Întrebare-răspuns [1] (ÎR) românesc a fost dezvoltat în anii ‘80 (Tufiş şi Cristea 1985) şi era reprezentat de o interfaţă ce facilita comunicarea cu o reţea semantică (care codifica cunoaşterea). Astăzi sistemele de ÎR folosesc documente text ca bază de cunoaştere şi integrează tehnici de prelucrare a limbajului natural (PLN) pentru a găsi (într-o colecţie dată de documente sau prin căutare pe web) răspunsul la o întrebare pusă în limbaj natural.

România a participat pentru prima dată la o competiţie CLEF în 2006, în cadrul secţiunii QA@CLEF [2] cu un sistem dezvoltat de UAIC [3] şi RACAI [4] (Puşcaşu, 2006) cu un sistem pe română-engleză. În anul 2007 limba română a fost inclusă pentru a doua oară în competiţie, organizatorii dând posibilitatea participanţilor să aleagă între exerciţiile RO-RO, EN-RO, RO-EN (prima limbă reprezentând limba sursă, cea în care se pun întrebările şi cea de a doua limba ţintă, cea a documentelor în care se caută răspunsurile). Anul acesta pentru limba română colecţia de documente în care s-a căutat răspunsul a fost formată dintr-o variantă îngheţată a Wikipediei româneşti din luna decembrie 2006.

De regulă, sistemele de ÎR folosesc o arhitectură generală de tip pipe-line, în care prelucrarea parcurge trei etape principale: analiza întrebării, căutarea documentară şi extragerea răspunsului (Harabagiu, Moldovan, 2003). Sistemul creat este o variantă a arhitecturii generale, cu particularizări specifice legate de reprezentare şi procesare pentru fiecare din componentele amintite mai sus.

De la an la an în competiţia QA@CLEF se adaugă noi caracteristici, cu scopul de a încerca să se simuleze cât mai bine situaţii concrete din lumea reală. Anul acesta caracteristica nou introdusă a fost gruparea întrebărilor pe topici. În cadrul unei topici, toate întrebările se referă la o anumită temă, precizată în prima întrebare sau în răspunsul la aceasta, şi există posibilitatea folosirii legăturilor anaforice între întrebările din aceeaşi topică.

Arhitectura generală a sistemului este ilustrată în figura de mai jos, iar modulele mai importante vor fi prezentate în capitolele următoare, insistând pe componentele nou introduse. În ultima parte vom prezenta rezultatele obţinute la competiţia de anul acesta, concluziile, precum şi direcţiile de lucru viitoare.


Figura 1: Arhitectura generală a sistemului de întrebare-răspuns românesc

 

2. Etapele parcurse de Sistemul ÎR

2.1. Pre - procesări asupra corpusului

Întrebările au fost pre-procesate secvenţial cu module care au realizat tokenizare, POS-tagging şi lematizare. Entităţile de tip nume au fost identificate şi clasificate folosind GATE (Cunningham et al., 2002) în: Persoană, Locaţie, Măsură şi Dată.

Similar această parte de pre-procesare a fost aplicată şi colecţiei de documente din Wikipedia.

 

2.2. Analiza întrebării

Această etapă are ca scop principal identificarea tipului răspunsului aşteptat. În plus, se identifică focusul întrebării, tipul întrebării şi mulţimea cuvintelor cheie relevante pentru întrebare. Pentru atingerea acestor obiective, s-au parcurs următorii paşi:

a) Identificarea grupurilor nominale. Extragerea entităţilor de tip nume

Folosind mulţimea de întrebări ca intrare, pe baza adnotărilor morfo-sintactice oferite de uneltele noastre, s-au implementat reguli de identificare a grupurilor nominale. Acelaşi instrument folosit în faza de pre-procesare a permis identificarea entităţilor de tip nume din întrebare.

b) Focusul întrebării

Focusul întrebării este cuvântul sau secvenţa de cuvinte care precizează ce anume căutăm ca răspuns sau despre ce anume este vorba. Pentru aceasta am considerat fie primul substantiv din întrebare (ca în Ce ţară) sau prima componentă a primului grup substantival atunci când acesta apare după verbul principal al întrebării sau dacă apare după verbul “a fi”.

c) Tipul răspunsului

Sistemul nostru este capabil să identifice următoarele tipuri de răspuns: PERSOANĂ, LOCAŢIE, ORGANIZAŢIE, TEMPORALĂ, NUMERICĂ, DEFINIŢIE şi ALTA.  Ataşarea unuia din aceste tipuri unei întrebări analizate s-a efectuat folosind şabloane specifice pentru fiecare tip în parte. În cazul întrebărilor ambigue (de exemplu cele care încep cu Ce), am folosit focusul întrebării (de exemplu, în cazul întrebării Ce oraş este identificat cu Troia Homerică?, care are focusul oraş, folosim tipul asociat focusului care este LOCAŢIE).

d) Tipul întrebării

Tipul întrebării poate fi unul din următoarele factoid, definiţie sau listă. Pentru identificarea acestuia am folosit două reguli simple: dacă tipul răspunsului este DEFINIŢIE, atunci evident tipul întrebării este definiţie; dacă focusul întrebării este un substantiv la plural, atunci tipul întrebării este listă, în celelalte cazuri fiind factoid.

e) Rezoluţia anaforei

Nouă caracteristică introdusă anul acesta în competiţia QA@CLEF, gruparea întrebărilor pe topici, a dus la mărirea gradului de dificultate, prin faptul că a fost necesară introducerea unui modul special în arhitectura generală a sistemului, care să se ocupe de rezoluţia anaforei. De exemplu pentru primul grup din setul de întrebări avem:

 

Tabela 1: Primul grup de întrebări


<Group id=1>
       <Question id=1> Ce faimos romancier, nuvelist şi realizator american de povestiri a trăit între anii 1899 şi 1961?
       </Question>
       <Question id=2> Pentru ce premiu a fost laureat în anul 1954?
       </Question>
       <Question id=3> În ce an a fost laureat al Premiului Pulitzer?
       </Question>
</Group>

Se observă cum în întrebările cu id-urile 2 şi 3 trebuie înlocuit pronumele “el” cu răspunsul de la prima întrebare.

Pentru a rezolva această problemă am adoptat două metode de rezoluţie a anaforei prezentate în cele ce urmează:

1. Forţa Brută

În această situaţie toate cuvintele cheie de la prima întrebare din grup sunt adăugate la cuvintele cheie ale următoarelor întrebări din grup. Iată ce ar însemna pentru exemplul prezentat mai sus acest lucru:

Cuvintele cheie pentru prima întrebare din grup sunt {faimos, romancier, nuvelist, realizator, american, a trăi, 1899, 1961}, şi doar acestea vor fi folosite în procesul de căutare a răspunsului.

Cuvintele cheie pentru a doua întrebare sunt {premiu, laureat, 1954}, dar în procesul de căutare a răspunsului pentru această întrebare, vom folosi în virtutea regulii de mai sus şi cuvintele cheie de la prima întrebare: {faimos, romancier, nuvelist, realizator, american, a trăi, 1899, 1961, premiu, laureat, 1954}.

2. Folosirea răspunsurilor

În acest caz folosim răspunsul de la prima întrebare din grup care se adaugă la lista curentă de cuvinte cheie. Pentru exemplul nostru ar însemna că la cuvintele cheie de la întrebarea a doua din grup s-ar adăuga răspunsul de la prima, care este “Ernest Hemingway” şi s-ar obţine mulţimea: {premiu, laureat, 1954, Ernest Hemingway}.

Desigur a doua metodă este mai bună, dar ea depinde de capacitatea sistemului nostru de a identifica răspunsul corect. Deoarece, în multe cazuri nu am reuşit să extragem răspunsul corect al primei întrebări din grup, am preferat să folosim o combinaţie a celor două metode.

f) Generarea cuvintelor cheie

Iniţial se porneşte cu o mulţime formată din: focus, entităţile de tip nume, celelalte  substantive din întrebare, şi toate verbele care nu sunt auxiliare în întrebare. Pentru  aceasta se construieşte mai apoi o mulţime mai mare care conţine pentru fiecare cuvânt şi lista sinonimelor acestuia.

 

2.3. Crearea indexului şi căutarea documentară

În rulările noastre indexarea şi căutarea s-a realizat cu motorul Lucene [5]. Colecţia de documente a fost indexată atât la nivel de document cât şi la nivel de paragraf folosind lema cuvintelor conţinute. Când nu este găsit nici un paragraf pentru o anumită interogare, se folosesc două strategii: fie se măresc segmentele de la paragrafe la documente, fie se reformulează interogarea folosind pentru anumite cuvinte alte variante posibile de traducere.

 

2.4. Extragerea Răspunsului

Folosind tipul răspunsului aşteptat, focusul întrebării, mulţimea de cuvinte cheie, părţile de text obţinute în urma căutării pe partea de vorbire, lemă şi informaţii de tip entităţi de tip nume şi indicatorul de relevanţă al paragrafelor determinat de Lucene. Procesul de extragere depinde de tipul aşteptat al răspunsului: Când răspunsul are un anumit tip de entitate de tip nume, modulul de extragere a răspunsului identifică în fiecare propoziţie întoarsă de Lucene aceste entităţi. Când tipul răspunsului nu este un nume de entitate, procesul de extragere se bazează în principal pe recunoaşterea focusului, în acest caz şabloanele sintactice de găsire a răspunsului bazate pe focus fiind foarte importante.

 

3.  Analiza Rezultatelor

Rezultatele evaluării oficiale pentru sistemul nostru sunt prezentate în tabelul de mai jos.

Tabela 2: Rezultatele obţinute în competiţia din 2007

Evaluarea Rezultatelor
Z
NECUNOSCUT
0
R
CORECT
24
U
NEJUSTIFICAT
1
W
INCORECT
171
X
INEXACT
4
TOTAL

200

Fiecare răspuns a fost evaluat ca fiind NECUNOSCUT (răspunsurile neevaluate), CORECT (răspunsurile corecte), NEJUSTIFICAT (răspunsuri care nu puteau fi găsite în bucăţile de text justificatoare), INCORECT (răspunsurile greşite) sau INEXACT (răspunsuri incomplete). După cum se observă rezultatele, precizia sistemului a fost de 12%, valoare care este foarte apropiată de valoarea obţinută anul trecut.

 

4. Concluzii

În configuraţia actuală, realizarea implementează cele trei niveluri esenţiale unui astfel de sistem. Evaluarea arată o precizie de aproximativ 12%, care, deşi încă insuficientă, indică o plasare în rând cu alte sisteme similare din străinătate. Experienţa câştigată va fi folosită la îmbunătăţirea sistemului pentru participări la ediţii viitoare ale QA@CLEF cât şi în cadrul proiectului SIR-RESDEC, aprobat recent spre finanţare de CMNP.

Din testele pe care le-am realizat (Iftene şi Balahur, 2007), am remarcat că utilizarea unul modul de inferenţe textuale are ca rezultat o îmbunătăţire a clasificării răspunsurilor posibile. Acest lucru este posibil deoarece sistemul de inferenţe textuale face o analiză semantică a contextului întrebării şi nu doar calculează distanţe lexicale între cuvinte. Sperăm ca pe viitor utilitate acestei componente să se dovedească a fi benefică pentru rezultatele pe care le vom obţine.

Mulţumiri. Autorul mulţumeşte tuturor membrilor echipei de la Facultatea de Informatică, care au fost implicaţi în acest proiect. Lucrul la acest proiect este parţial suportat de proiectele STREP FP6-2004-IST-4, şi a proiectului naţional CEEX Rotel 29/2006.

 

Referinţe bibliografice

Cunningham, H., Maynard, D., Bontcheva, K., Tablan, V. 2002. GATE: A Framework and Graphical Development Environment for Robust NLP Tools and Applications. Proceedings of the 40th Anniversary Meeting of the Association for Computational Linguistics (ACL'02). Philadelphia, July

Harabagiu, S., Moldovan, D. 2003. Question Answering. In: The Oxford Handbook of Computational Linguistics. Oxford; New York: Oxford University Press.

Iftene, A., Balahur-Dobrescu, A. 2007. Improving a QA System for Romanian Using Textual Entailment. In Proceedings of RANLP workshop "A Common Natural Language Processing Paradigm For Balkan Languages". Pp. 7-14, September 26, 2007, Borovets, Bulgaria.

Puscaşu, G., Iftene, A., Pistol, I., Bălaşa, D., Tufiş, D., Ceauşu, A., Ştefănescu, D.,  Orăsan, C., Dornescu, I., Ion, R., Cristea, D. 2006. Developing a Question Answering System for the Romanian-English Track at CLEF 2006, in Proceedings of CLEF2006, Alicante, Spain.

Tufiş, D., Cristea, D. 1985. IURES: A Human Engineering Approach to Natural Language Question Answering, in W. Bibel, B.Petkoff (eds), Artificial Intelligence: Systems, Applications, Methodology, North Holland.

 

[1] Question Answering (QA) – rom.: Întrebare-Răspuns (ÎR)

[2] Multilingual Question Answering at CLEF: http://clef-qa.itc.it/

[3] Universitatea “Al.I.Cuza” Iaşi: http://www.uaic.ro/

[4] Romanian Academy Center for Artificial Intelligence: http://www.racai.ro/

[5] http://lucene.apache.org/

 

Sponsor de aur / Partenaire Or


Sponsor de argint / Partenaire Argent

Ambassade de France
en Roumanie

Association Européenne
de Terminologie

Sponsor de bronz / Partenaire Bronze

Comitetul Electrotehnic
Român

Asociaţia Română
de Terminologie

 

 

Program / Programme
Comunicări / Communications

 

 

 

 

Seminar Internaţional „Instrumente pentru asistarea traducerii” - Acte / Séminaire international « Les outils d'aide à la traduction » - Actes
Editat de / Edité par : Uniunea latina/Union Latine
ISBN: 978-9-291220-37-3
2008

Terminometro | Limbile şi culturile pe Internet ― Studiu 2007 | Portalingua | Agenda | Pagini Internet

Uniunea Latină
Direcţia Terminologie şi Inginerie Lingvistică - DTIL
131, rue du Bac - F-75007 Paris
T: (33) 1 45 49 60 62   /   F: (33) 1 45 49 67 39
dtil@unilat.org