You are here:   Docs
Register   |  Login

Introducere

Există mai multe limbi care folosesc caractere diacritice care nu se află în setul de caractere ASCII. Pentru unele dintre aceste limbi, cele mai multe diacritice pot fi recuperate în mod determinist, dar aceste cazuri nu reprezintă norma. Mai mult, dificultatea acestei sarcini diferă de la o limbă la alta în funcţie de rolul funcţional al acestor caractere. Pentru limba română, restaurarea automată a diacriticelor este o adevărată provocare, atât datorită frecvenţei lor, cât şi contribuţiei semnificative pe care acestea o au la dezambiguizarea morfo-lexicală şi semantică a cuvintelor. Găsirea unei metode de inserţie automată a diacriticelor este importantă nu doar pentru textele vechi valoroase stocate în format electronic, dar şi pentru cele contemporane, care continuă să fie produse într-o formă fără diacritice. Vasta majoritate a textelor româneşti publicate pe web sunt scrise fără caractere diacritice. De aceea, colectarea de texte de pe web, pentru realizarea de corpusuri electronice ale limbii române scrise, este serios îngreunată.

Verificarea automată şi corectarea greşelilor de ortografie este una dintre cele mai vechi aplicaţii ale procesării limbajului natural. În cazul celor mai multe aplicaţii de corectare a ortografiei, corectarea se face independent de contextul cuvântului corectat. Independente de context sunt corecţiile erorilor de natură tipografică şi corecţiile erorilor numite "cognitive". În cazul erorilor "cognitive" utilizatorul, deşi nu ştie forma corectă ortografică a cuvântului, încearcă transcrierea fonetică a cuvântului. Cele mai multe erori tipografice sunt cele în care caracterele lipsesc, apar inversate, sau sunt introduse din greşeală caractere în plus. Sunt însă şi erori de ortografie care nu pot fi rezolvate independent de contextul cuvântului analizat, printre acestea se numără şi inserarea automată a diacriticelor.

Caracterele diacritice în limba română

Limba română are 5 caractere diacritice: ă,â,î,ş şi ţ (plus variantele lor majuscule). Un text fără diacritice va avea aceste caractere substituite prin caractere ASCII: a (pentru ă şi â), respectiv i, s şi t. Acest lucru se întâmplă, de exemplu, când exportăm dintr-un editor de texte care recunoaşte diacritice, într-un format text. Pentru un număr semnificativ dintre cuvintele care ar trebui, dar nu conţin diacritice, recuperarea este deterministă deoarece variantele fără diacritice ale acestor cuvinte nu sunt lexeme în limba română. Dar în cele mai multe dintre cazuri, absenţa diacriticelor creează ambiguitate autentică, greu de rezolvat chiar şi de om dacă i se prezintă doar un context limitat al ocurenţei cuvântului.

Prezentăm în continuare câteva exemple de cuvinte a căror formă fără diacritice nu poate fi considerată a fi un cuvânt valid al limbii române (forma corectă este specificată în paranteză):
A) padure (pădure), tufis (tufiş), autorizatie (autorizaţie), cantar (cântar), carare (cărare), macar (măcar), fara (fără), cati (câţi) etc.
Vom numi aceste secvenţe de caractere cuvinte ne-ambigue fără diacritice sau U‑cuvinte.

Pentru exemplificarea ambiguităţilor datorate lipsei diacriticelor vom considera cuvântul "fata". Într-un text fără diacritice, această secvenţe de caractere poate fi oricare din următoarele cuvinte:
B) fata, fată (substantiv sau verb), fâţa  (peştele), fâţă, faţa, faţă, făta, fătă.
Vom numi aceste cuvinte a căror formă fără diacritice este ambiguă – A‑cuvinte.
În cazul majorităţii A‑cuvintelor informaţia morfo-lexicală dezambiguizează forma corectă a cuvântului. Totuşi, există o submulţime a A‑cuvintelor în cazul căreia descrierile morfo-lexicale sunt identice iar dezambiguizarea poate fi făcută doar la nivelul de semnificaţie a cuvântului:
C) fata (Ncfsry – substantiv comun, feminin, singular, caz direct, articol hotărât), fâţa (Ncfsry), faţa (Ncfsry).
În cazul acestor cuvinte, pe care le vom numi C‑cuvinte, este necesară dezambiguizare de sens. C‑cuvintele sunt o submulţime a A‑cuvintelor.

În limba română, cel puţin o treime din cuvinte conţin semne diacritice (cu o medie de 1.17 semne diacritice per cuvânt). Doar o mică parte dintre cuvintele cu diacritice sunt cuvinte cu diacritice neambigue (U-cuvinte, între 12% şi 18%). Astfel, în cazul ideal în care dicţionarul are o acoperire maximală, aproximativ 25% din cuvinte rămân ambigue pentru procesul de recuperare a diacriticelor.

Diac+

În sistemul conceput de noi, procesul de inserare a diacriticelor are patru paşi:
  1. textul de intrare este segmentat în unităţi lexicale potrivit regulilor specificate ca resurse externe;
  2. textul segmentat este supus procesului de adnotate stratificată;
  3. fiecare cuvânt este căutat în dicţionar după forma sa de suprafaţă şi după eticheta morfo-lexicală, iar rezultatul acestei căutări este o listă a formelor corecte pe care le poate avea cuvântul;
  4. U-cuvintele şi A-cuvintele care nu sunt C-cuvinte sunt înlocuite cu formele cu diacritice corespunzătoare, în timp ce pentru cazurile de ambiguitate semantică (C-cuvintele) sunt preferate formele cele mai frecvente; în acest caz, se generează în mod automat un jurnal al procesului, iar utilizatorul poate reface o înlocuire şi selecta o altă variantă. Cuvintele care nu se găsesc în lexicon rămân neprelucrate, dar sunt listate în jurnal pentru a fi inspectate ulterior de către utilizator.

O aplicaţie tradiţională de corectare a ortografiei evidenţiază cuvintele care nu se regăsesc în dicţionar, utilizatorul trebuind să opteze pentru una din formele corecte sugerate de aplicaţie. În cazul DIAC+ corectarea formelor greşite se face în majoritatea cazurilor automat. În cazul particular al C-cuvintelor, DIAC+ se comportă ca un corector ortografic tradiţional sugerând utilizatorului variante de corectare. Aceste variante sunt conforme restricţiilor lingvistice impuse de contextul morfo-sintactic de ocurenţă a cuvântului. De exemplu, daca C-cuvântul „fata” a fost adnotat ca substantiv feminin articulat cu articolul hotărât, într-unul din cazurile directe, soluţiile de corectare sunt „fata”, „faţa”, „fâţa” toate caracterizate de aceleaşi atribute morfo-lexicale. Celelalte variante („fată”, „faţă”, „fâţă”, „făta”, „fată”) sunt ignorate datorită diferenţelor de atribute morfo-lexicale (aceste variante fiind fie substantive în formă nearticulată, fie verbe).

Referinţe

Tufiş, D., Ceauşu. D. (2008)DIAC+: A Professional Diacritics Recovering System. In Proceedings of the 6th Language Resources and Evaluation Conference - LREC 2008, Marrakech, Morocco, May 2008. ELRA - European Language Ressources Association. ISBN 2-9517408-4-0

Tufiş, D., Ceauşu, A. (2007): Diacritics Restoration in Romanian Texts. In Elena Paskaleva and Milena Slavcheva (eds.), A Common Natural Language Processing Paradigm for Balkan Languages - RANLP 2007 Workshop Proceedings, pp. 49-56, Borovets, Bulgaria, September 2007. INCOMA Ltd., Shoumen, Bulgaria. ISBN 978-954-91743-8-0

Tufiş, D., Ceauşu, A. (2007): DIAC+: Un sistem profesional de recuperare a diacriticelor. In Ionuţ Pistol, Dan Cristea, and Tufiş, D. (eds.), Resurse Lingvistice şi Instrumente pentru Prelucrarea Limbii Române, pp. 151-160, Iaşi, Romania, dec. 2007. Universitatea ''Al.I. Cuza'' Iaşi, Editura Universităţii ''Al.I. Cuza'' Iaşi. ISBN 978-97-3703-297-3

Tufiş, D., Chiţu, A. (1999): Automatic Insertion of Diacritics in Romanian Texts. In Proceedings of the 5th International Workshop on Computational Lexicography COMPLEX, Pecs, Ungaria, 1999, pp. 185-194