15.06.2013 Views

Teza doctorat (pdf) - Universitatea Tehnică

Teza doctorat (pdf) - Universitatea Tehnică

Teza doctorat (pdf) - Universitatea Tehnică

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

220<br />

Cap. 6. Metode de sinteză de voce<br />

Analizorul lexical pentru determinarea accentelor a fost proiectat tot pe baza facilităţilor<br />

oferite de către generatorul automat LEX. Astfel regulile analizorului sunt furnizate<br />

generatorului LEX în format BNF (vezi [Fre05] şi Anexa 1) , stream-ul de intrare fiind chiar<br />

cuvântul curent extras din text de către analizorul sintactic.<br />

6.4.5.2. Gramatica analizorului lexical pentru determinarea accentelor din limba<br />

română<br />

În continuare se prezintă gramatica furnizată generatorului LEX în vederea determinării<br />

accentelor. Chiar dacă această versiune poate fi îmbunătăţită, rezultatele experimentale indică o<br />

rată mare a determinărilor corecte.<br />

Regulile din setul de excepţii sunt tratate la început. Toate cuvintele care nu vor fi<br />

recunoscute prin acest set de reguli vor fi tratate prin regula de bază: penultima silabă este cea<br />

accentuată.<br />

Macrourile definite sunt asemănătoare cu cele expuse la analizorul lexical pentru<br />

despărţirea în silabe:<br />

VOC [aeiouăîâyĂÎÂ]<br />

VMARE [AEIOUĂÎÂY]<br />

CONS [bcdfghjklmnpqrstvxzşţŞŢ]<br />

CMARE [BCDFGHJKLMNPQRSTVXZŞŢ]<br />

LIT ([a-z]|[ăîâşţ]|[ĂÎÂŞŢ])<br />

DIFT (oa|ie|iu|uă|Oa|Ie|Iu|OA|IE|IU|ea|ii|<br />

SEP [ ]<br />

LIN [-]<br />

îi|âi|Ea|Ii|Îi|EA|II|ÎI|ÂI|UĂ)<br />

CRATIMA ([-](l|i|n|o|s|[mstşţ]i))<br />

Spre deosebire de cazul analizorului pentru despărţirea în silabe, aici regulile de<br />

producţie nu sunt urmate de acţiuni specifice pentru fiecare tip de token returnat. Acţiunile se<br />

constituie doar din returnarea unei constante care să indice silaba accentuată din cuvânt :<br />

SN = ultima silabă,<br />

SN_1 = penultima silabă,<br />

SN_2 = antepenultima silabă, respectiv<br />

SN_3 = silaba de rang N-3.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!