Sunteți pe pagina 1din 5

DESPARTIREA AUTOMATA IN SILABE A CUVINTELOR DIN

LIMBA ROMANA. APLICATII IN CONSTRUCTIA BAZEI DE


DATE A SILABELOR LIMBII ROMANE
cod AT217/2004

Raport de cercetare
Liviu P. Dinu
University of Bucharest, Faculty of Mathematics
Academiei 14, 70109, Bucharest, Romania
ldinu@funinf.cs.unibuc.ro
Proiectul pe care l-am propus si-a propus sa realizeze un algoritm de despartire
in silabe a silabelor din limba romana si, cu ajutorul acestuia, sa inventariam
toate silabele limbii romane. Problema s-a dovedit a fi extrem de interesanta si
incitanta iar rezultatele obtinute in urma acestui proiect le vom sintetiza in cele
ce urmeaza.

Introducere
Silabei i s-a refuzat statutul de unitate structurala a limbii, fapt care a contrastat cu
acceptarea acestui statut pentru fonem si morfem. In consecinta, nici modelarea
matematica si computationala a silabelor nu a ajuns la complexitatea modelelor
propuse pentru fonem si morfem. In deficit la intelegerea calitativa, logica, a
problemei silabei, cercetarea s-a orientat cu precadere spre aspectele cantitative,
statistice. De exemplu, V. V. Ivanov atragea atentia asupra pozitiei mediane pe care
silaba o are, intre fonem si morfem: daca numarul fonemelor este, in orice limba,
cuprins intre 10 si 100 iar cel al morfemelor intre 1000 si 10000,
numarul silabelor se afla in intervalul dintre 100 si 1000. Exista deci o armonie
combinatoriala care urmeaza principiul minimului efort, aflat la baza multor legi
cantitative care guverneaza limbajul uman. Dar detaliile acestui fenomen se lasa cu
greu identificate iar cercetarea din ultimele decenii incearca sa sporeasca lumina in
aceste directii.
O cercetare riguroasa a structurii si a caracteristicilor silabei dintr-o limba nu se poate
face in lipsa unei baze de date complete a silabelor limbii respective. Existenta unei
baze de date nu are insa doar un rol pasiv, descriptiv, care sa ne dea o imagine cat
mai completa despre o anumita limba; ea este folosita cu succes in aplicatii concrete,
ca de exemplu analiza si sinteza de voce. De asemenea, investigatiile psiholingvistice asupra producerii vorbirii sunt mult ajutate de existenta unei baze de date
a silabelor. Tocmai de aceea ne-am propus sa realizam o baza de date a silabelor
limbii romane. De la inceput ne-am confruntat cu doua probleme majore:
1. Ce corpus sa folosim pentru a obtine respectiva baza de date? Evident,
problema reprezentativitatii bazei de date a silabelor limbii romane poate fi
mult influentata de corpusul din care extragem respectivele silabe
1

2. In ipoteza identificarii unui corpus reprezentativ, acesta va fi suficient de mare


pentru a descuraja orice tentativa manuala de silabificare a lui. Apare asadar
problema identificarii unui segmentator in silabe automat.
Solutia pe care am ales-o pentru prima problema a fost aceea de a folosi ca date de
intrare DOOM. Datorita acestei alegeri vom avea siguranta ca am silabificat toate
cuvintele limbii romane (cel putin cele existente la momentul realizarii dictionarului
amintit). Pe baza acestor silabificari am format baza de date la care ne vom referi in
continuare. Desigur, ca orice alegere, si aceasta alegere are defectele ei: daca in
ceea ce priveste tipul silabelor, avem siguranta prezentei tuturor silabelor limbii
romane in baza pe care am construit-o, pot exista unele obiectii in ceea ce priveste
frecventa totala a silabelor. Noi prezentam aici frecventa totala a silabelor asa cum
se regaseste ea la nivelul tuturor cuvintelor limbii romane, fiecare cuvant avand
aceeasi importanta si fiind luat in considerare o singura data pentru silabificare. Se
poate obiecta aici ca limba romana, ca toate celelalte limbi de altfel, are unele
predilectii pentru anumite cuvinte care au pondere mai mare in limba. Aceasta
pondere poate fi data, de exemplu, de capacitatea lor de a forma locutiuni, de
polisemia lor, de frecventa lor in limba curenta, etc. (v. criteriile de stabilire a fondului
lexical principal, M. Dinu, 1997). Acest lucru ar presupune ca datele de intrare sa fie
formate dintr-un corpus reprezentativ pentru limba vorbita, corpus care sa contina
beletristica, lucrari stiintifice, drama, lucrari jurnalistice, etc. Faptul ca astazi nu avem
un corpus reprezentativ si unanim acceptat pentru limba romana, cat si dorinta de a
avea o baza de date exhaustiva a silabelor limbii romane, coroborata cu aparitia in
format electronic a intrarilor din DOOM a inclinat decisiv pentru a alege varianta
prezenta in aceasta lucrare. Intr-o lucrare viitoare speram sa putem prezenta si
rezultatele obtinute in urma analizei unui corpus al limbii vorbite; evident, va fi de un
real interes sa comparam cele doua baze de date.
In ceea ce priveste a doua problema, principalul obstacol cu care ne-am confruntat a
fost sa stabilim si sa adaptam cerintelor calculatorului regulile de despartire in silabe
in lipsa cunoasterii accentului. Pentru a depasi acest impediment am impartit regulile
de silabificare in doua mari clase: o prima clasa cuprindea regulile care asigurau
taietura silabica a unui lant consonantic cu lungime cuprinsa intre 1 si 5 (lungimea
maxima a unui lant consonantic in limba romana). Aceste reguli au putut fi
formalizate in totalitate pentru cerintele calculatorului si prin urmare algoritmul propus
desparte corect in silabe orice lant consonantic. Pentru a segmenta a doua clasa, neam bazat pe urmatoarea idee: un lant de vocale se segmenteaza in silabe in functie
de grupurile de litere care il preced si il succed, respectiv.
Am observat ca acelasi lant vocalic are comportari regulate in ceea ce priveste
segmentarea silabica in functie de literele care il succed si cele care il preced. Am
analizat astfel grupurile de vocale intalnite si am propus reguli de segmentare
silabica, reguli care au putut fi formalizate cerintelor calculatorului. Trebuie spus ca
regulile propuse de noi nu asigura o segmentare corecta in proportie de 100%, si din
aceasta cauza unele silabe pot fi silabe false (contribuind astfel la aparitia unor
perturbari in ceea ce
priveste frecventa silabelor). Totusi, aceste perturbari sunt acceptabile si nu
influenteaza semnificativ baza de date pe care o propunem.

Analiza Bazei de Date a Silabelor Limbii Romane


Corpusul cu care am lucrat a fost DOOM (1982). Acesta contine un numar de
Nwords = 74.276 de cuvinte. Cuvintele au fost despartite in silabe si acestea au fost
introduse intr-o baza de date cu urmatoarele campuri:
1. silaba propriu-zisa,
2. lungimea silabei,
3. structura consoana-vocala a silabei,
4. frecventa de aparitie pe pozitia prima, mediana, respectiv finala,
5. frecventa de aparitie ca silaba singulara,
6. frecventa totala (i.e. suma frecventelor anterioare),
7. posibilitatile de combinare ale silabei (i.e. care sunt silabele dupa care
urmeaza si care sunt silabele care pot urma dupa ea).
Analiza acestei baze de date ne permite sa facem o serie de caracterizari cantitative
si descriptive ale silabelor limbii romane.

au fost identificate un numar de NStype = 6496 de silabe (silabe type) in limba


romana.
Numarul total de silabe (silabe token) a fost de NStoken = 273261. Obtinem
de aici ca lungimea medie in silabe a cuvintelor este Lwordssyl =
NStoken/Nwords = 273261/74276 = 3, 678.
Cele 74276 de cuvinte au fost formate din Nletters = 632702 litere. Rezulta de
aici ca lungimea medie in litere a cuvintelor este Lwordslet =Nletters/Nwords =
632702/74276 = 8,518.
Pentru a caracteriza lungimea medie in litere a silabelor luam in considerare
doua cazuri:
a) lungimea medie in litere a tuturor silabelor (silabe token): Lsyltoken
=Nletters/NStoken = 632706/273261 = 2,315
b) Silabele type sunt formate dintr-un total de NTletters = 24406. Asadar,
lungimea medie in litere a silabelor type este Lsyltype =NTletters/NStype =
24406/6496 = 3,757
Au fost identificate un numar de 56 de tipuri consoana-vocala care intra in
componenta silabelor. Si aici avem doua caracterizari a frecventei de aparitie a lor
in functie de silabele type-token la care ne raportam:
daca ne raportam la silabele type, cele mai frecvente tipuri silabice sunt: cvc
(frecventa: 1448, procent: 22%), ccvc (frecventa: 913, procent: 14%), cvcc
(frecventa: 705, procent: 11%), cvcv (fecvrenta: 523, proecent: 8%), cvvc
(fecventa: 357, proecent: 5%).
daca ne raportam la silabele token, cele mai frecvente 7 tipuri silabice sunt
urmatoarele: cv (fecventa: 146744, procent: 53%), cvc (freventa: 48139, procent:
17%), v (frecventa: 23707, procent: 8%), ccv (frecventa: 17418, procent: 6%), vc
(frecventa: 11048, procent: 4%), cvv (frecventa: 6660, procent: 3%), cvcc
(frecventa: 5684, procent: 2%). De remarcat faptul ca aceste 7 tipuri (i.e. 12% din
cele 56 de tipuri) acopera aproape 95% din totalul silabelor existente!
cele mai frecvente 50 de silabe (i.e. 0,7% din numarul silabelor NStype)
totalizeaza 137662 aparitii, i.e. 50,03% din totalul NStoken.
cele mai frecvente 200 de silabe acopera 76% din totalul NStoken, cele mai
frecvente 400 acopera 85% din totalul NStoken, iar cele mai frecvente 500 de

silabe (7,7 % din totalul NStype) acopera 87% din totalul NStoken. De remarcat
ca dupa acest prag procentul de acoperire creste lent.
primele 1200 de silabe in ordinea frecventei acopera 95% din totalul silabelor
token.
un numar de 2651 de silabe din totalul NStype de silabe apar o singura data
(hapax legomena).
un numar de 5060 de silabe (i.e. 78%) din totalul NStype de silabe apar de
mai putin de 10 ori. Acestea insumeaza un numar total de 11960 silabe (4% din
totalul NStoken).
in ceea ce priveste lungimea in litere a silabelor, 158941 de silabe (58% din
totalul silabelor token) au lungimea 2; pe urmatoarele locuri se situeaza cele de
lungime 3 (27%), 1 (9%), 4 (6%).
In ceea ce priveste entropia silabelor, am folosit urmatoarea formula: Hsyl =
i=1, 6496 pi log2 pi ,
unde pi este probabilitatea de aparitie a silabei aflate pe pozitia i in
clasamentul obtinut din ordonarea descrescatoare a silabelor dupa frecventa
lor totala. Probabilitatea pi este calculata ca raportul dintre
frecventa totala a silabei aflate pe pozitia i si numarul total de aparitii, NStoken.
Am obtinut astfel ca entropia la nivelul silabei este: Hsyl = 8,621
Am calculat entropia silabei si raportandu-ne la tipurile CV din care sunt
formate silabele. De aceasta data formula folosita a fost: Hcv = i=1,56 pi log2 pi ,,
unde pi este probabilitatea de aparitie a tipului silabei aflat pe pozitia i in ordinea
frecventei de aparitie. Valoarea obtinuta a fost: Hcv = 2,30, o valoare
comparabila cu valorile obtinute de Edmond Nicolau sau Alexandra Roceric
(valoarea acestora era egala cu 2,63).

Apecte generative
Un alt rezultat al proiectului nostru a fost proiectarea unui model generativ al silabei
si propunerea unui automat care sa realizeze silabificarea cuvintelor. Modelul
generativ a plecat de la observatia prezentata in sectiunea anterioara, conform
careia locul in care se face silabificarea unui cuvant depinde de o segmentare
simultana in trei parti a cuvantului respectiv, fiecare parte contribuind la identificarea
corecta a locului in care se face silabificarea. Aceasta observatie ne-a condus la
utilizarea gramaticilor contextuale totale in investigarea silabificarii cuvintelor si a
propunerii unui model generativ al silabei bazat pe tehnicile gramaticilor contextuale.
Plecand de la observatia ca silabificarea este influentata doar de anumite parti ale
celor trei subcuvinte, am introdus gramaticile contextuale silabice; utilizand definitia
acestor gramatici, am reusit sa adaptam automatele go-through la silabificarea
cuvintelor limbii romane. Am obtinut cu aceasta ocazie o extindere a ariei de
aplicabilitate a acestor automate.
Totusi, aceasta modelare nu ne-a multumit intru totul si am incercat o imbunatatire a
sa. Principala problema a noastra a fost aceea ca tehnica de silabificare era in
continuare una secventiala; noi credem ca creierul uman are suficenta putere de
calcul sa realizeze o segmentare paralela a cuvintelor, lucru ce ar putea contribui la
reducerea timpului de producere a vorbirii. Plecand de la aceasta idee, bazandu-ne
pe modelele realizate anterior, am introdus o extindere paralela a gramaticilor de
insertie (gramaticile de insertie sunt un model dual al gramaticilor contextuale si au
fost introduse de catre Galiushov in in 1982); utilizand derivarea paralela maximala a
4

acestor gramatici am obtinut un model paralele de silabificare a silabelor limbii


romane. Acest model s-a dovedit a fi extrem de interesant, dac ar fi sa amintim doar
faptul ca familia limbajelor generate in acest mod este strict inclusa in familia
limbajelor dependente de context si incomparabila cu cele independente de context.
Comparatia acestei familii de limbaje cu alte familii de limbaje formale se afla in lucru.

Concluzii
In acest rezumat am prezentat unele observatii de natura cantitativa si calitativa
facute in urma studierii primei baze de date a silabelor limbii romane, baza rezultata
in urma realizarii proiectului DESPARTIREA AUTOMATA IN SILABE A
CUVINTELOR DIN LIMBA ROMANA. APLICATII IN CONSTRUCTIA BAZEI DE
DATE A SILABELOR LIMBII ROMAN, cod AT217/2004. Putem spune ca rezultatele
pe care le-am obtinut si prezentat aici concorda in mare masura cu rezultate similare
obtinute in alte limbi. Avem aici in vedere limbi diverse, cum ar fi franceza, olandeza,
engleza, dar si coreana. Legea lui Zipf si legea lui Menzerath sunt verificate de catre
silabele limbii romane. O cercetare ulterioara va avea in vedere construirea si analiza
unei baze de date construita in urma despartirii unui corpus format din texte
excerptate din domenii diverse. Va fi interesant de analizat daca datele statistice
obtinute aici se vor pastra sau vor suferi unele modificari. Acestea, ca si alte studii pe
care le avem in vedere (cum ar fi analiza separata a anumitor parti de vorbire,
capacitatile de combinare intre ele a silabelor, etc.) vor contribui la o mai buna
descriere a limbii romane dar vor aduce un plus de cunoastere si in domenii conexe,
cum ar fi analiza si sinteza de voce sau stiintele cognitive.
Bibliografie:
1. Anca Dinu, Liviu P. Dinu. On the Syllabic Similarities of Romance
Languages. Lecture Notes in Computer Science, vol.3406, 2005, 785-788,
Springer-Verlag Berlin, ISSN: 0302-9743
2. Liviu P. Dinu, Anca Dinu A parallel approach to syllabification. Lecture
Notes in Computer Science, vol. 3406, 2005, 83-89, Springer-Verlag Berlin,
ISSN: 0302-9743
3. Liviu P. Dinu, Rank distance with applications in similarities of languages,
Fundamenta Informaticae, vol 64, 2005, pp 135-149, ISSN: 0169-2968
4. Liviu P. Dinu, On the data base of Romanian Syllables, (trimis spre
publicare)
5. Liviu P. Dinu, Baza de date a silabelor limbii romane. Aspecte matematice si
computationale. (manuscris)
6. Liviu P. Dinu, Radu Gramatovici, Florin Manea. On the syllabification via
go-through Automata (trimis spre publicare).

S-ar putea să vă placă și