Soluții - PC Magazine Romania, Noiembrie 2001
Recunoașterea vorbirii și sinteza de voce
Mihai Săndoiu
Vorbirea este o parte naturală a vieții noastre și o formă primară de comunicare
cu alții. Integrarea acestui stil complex de interacțiune în software deschide
noi orizonturi pentru mediul educațional și cel al afacerilor.
Utilizatorii pot efectua mai ușor operații de rutină cu ajutorul comenzilor
vorbite, crescând productivitatea prin minimizarea folosirii tastaturii.
Cu câțiva ani în urmă, produsele pentru recunoașterea vorbirii erau scumpe,
prezentau o acuratețe scăzută și erau dificil de utilizat. Acest lucru s-a schimbat
- PC-uri rapide și îmbunătățiri ingenioase în software au dus în final la beneficii
reale de pe urma tehnologiei de recunoaștere a vorbirii. În lumina investițiilor
de zeci de milioane de dolari în compania L&H, experții de la Microsoft
susțin că tehnologia vorbirii s-a maturizat până la punctul în care interfața
vocală va fi parte integrantă a următoarei generații de servere, PC-uri de birou,
calculatoare și dispozitive mobile.
Chiar dacă recunoașterea vorbirii a parcurs un drum lung în ultimii 5 ani,
provocarea rămâne de a defini întregul său potențial. În consecință, Microsoft
nu și-a introdus tehnologiile vocale ca produse, ci ca seturi API (Application
Programming Interface) și unelte pentru dezvoltarea de aplicații, care permit
programatorilor să înglobeze aceste tehnologii în interfețele bazate pe voce
ale viitorului.
Scurt istoric al Evoluției tehnologiilor vocale
În 1984 a fost funcțional primul sistem de recunoaștere a vocii, bazat pe un
supercalculator. Microsoft a lucrat asupra acestor tehnologii încă de la începutul
anilor `90. Deja din 1997 există pe piața de larg consum produse evoluate de
recunoaștere vocală.
Ultimii 5 ani s-au remarcat printr-o creștere deosebită a calității acestor
sisteme. De la o rată medie de recunoaștere de 85% (15 cuvinte incorecte din
100) s-a ajuns la 95%-97%, iar în prezent are loc o competiție acerbă pentru
ultimele procente. De la un timp de câteva ore pentru "acomodarea" sistemului
cu vorbitorul, în 1997, s-a ajuns la un timp de câteva minute, cu rezultate
superioare. Pentru PC-uri, următorul salt major va avea loc în următorii 5 ani,
când tehnologii ca procesarea în limbaj natural, inteligența artificială (AI)
și rețelele neurale vor ajunge la consumatorul de rând.
Încă din aprilie 2001, Microsoft a pregătit pe situl său SAPI 5.0 (Speech API),
un SDK (software developer kit) special conceput pentru dezvoltatorii de software
(http://www.microsoft.com/speech/).
Este vorba de CD-ul Speech SDK 5.0, care include aplicații demonstrative, cod
sursă, instrumente complementare de dezvoltare. O altă firmă, SQZ, oferă SpeechStudio
Suite, o suită de instrumente avansate de dezvoltare, complementare cu Visual
Studio 6.0. Terțe firme oferă controale add-on pentru mediile de dezvoltare,
care adaugă rapid și simplu funcționalitate audio aplicațiilor create de dumneavoastră.
Fundamentele procesării vorbirii
Tehnologia folosită pentru procesarea digitală a vorbirii se împarte în două
mari categorii:
- recunoașterea vorbirii este abilitatea unui sistem de a transforma cuvintele
vorbite în text alfanumeric și comenzi
- sinteza de voce se definește prin răspunsul către un utilizator, prin generarea
de limbaj vorbit de la un text dat.
În linii mari, iată despre ce este vorba:
- puteți dicta text în aplicații și puteți controla sistemul de operare cu
o acuratețe medie de 95 %.
- aplicațiile de recunoaștere a vorbirii necesită un procesor rapid (Pentium
II sau mai nou), mult RAM (minim 128 MB, dar 256 MB vor oferi îmbunătățiri
substanțiale în viitor), un microfon bun și o placă de sunet bună.
- recunoașterea vorbirii este o caracteristică esențială a noilor aplicații
bazate pe internet, ca și a unor dispozitive înglobate.
RecunoaȘterea vorbirii
Recunoașterea vorbirii (speech-to-text) implică următoarele etape (figura 1):
- captura și digitizarea undelor sonore;
- conversia lor în foneme;
- construirea cuvintelor din aceste foneme;
- analiza contextuală a cuvintelor;
- trimiterea spre aplicație a textului recunoscut.
Arhitectura software utilizată în aplicațiile de recunoaștere a vorbirii cuprinde
două mari componente: modelul acustic și modelul lingvistic. Modelul acustic
analizează sunetele vocii și le convertește în foneme (elementele de bază ale
vorbirii). Este eliminat zgomotul de fond, apoi datele sunt reduse la un spectru
de frecvențe. În urma unor calcule matematice, cuvintele sunt apoi convertite
în reprezentări digitale ale fonemelor.
Modelul lingvistic analizează conținutul vorbirii și compară combinațiile de
foneme cu cuvintele din vocabularul său digital, o bază de date imensă cu cele
mai frecvent folosite cuvinte din limba aleasă (150.000 de cuvinte pentru limba
engleză). Modelul lingvistic decide rapid ce cuvinte a spus vorbitorul și le
afișează pe ecran.
Schema procesului de sinteză de voce
Cele mai mari firme care activează în acest domeniu sunt: IBM, Lernout &
Hauspie (care a achiziționat Dragon Systems) și Philips. Acestea oferă pachete
cu funcțiile de bază la 50$, dar versiunile mai sofisticate, cu dicționare mai
mari, costă între 200$ și 250$. Pachetele de software pentru recunoașterea vorbirii
se adaptează la utilizatorul individual, în funcție de voce, timbru și accent
(figura 2).
Recunoașterea vorbirii este realizată de o componentă software numită "motor
de recunoaștere a vorbirii" (Speech Recognition Engine - SRE). Majoritatea SRE
suportă vorbirea continuă, la viteza unei conversații normale. În trecut se
foloseau SRE izolate sau discrete, care necesitau pauze între cuvinte.
SRE continue suportă două moduri de recunoaștere a vorbirii:
- dictarea, în care utilizatorul introduce date vorbind direct spre computer;
- comanda și controlul, în care utilizatorul transmite comenzi prin vorbire,
care poate fi și sub forma unor întrebări.
Modul de dictare permite introducerea rapoartelor, referatelor și mesajelor
e-mail. Posibilitatea de a recunoaște un anumit cuvânt este limitată de dimensiunea
"gramaticii" SRE (numită și "dicționar"). Majoritatea SRE care suportă dictarea
sunt dependente de vorbitor, deoarece acuratețea variază cu trăsăturile vocii,
cum ar fi timbrul și accentul. Pentru a mări acuratețea, sunt create baze de
date numite profile de vorbitor, care stochează modelul de vorbire al fiecărui
utilizator.
Modul de comandă și control oferă cea mai ușoară implementare a unei interfețe
vocale într-o aplicație.
În acest caz, "dicționarul" este limitat la lista de comenzi disponibile, fapt
care crește acuratețea, performanța, și scade necesarul de putere de calcul
al aplicației. În plus, aceste SRE sunt independente de vorbitor și nu necesită
sesiuni de training.
Schema procesului de recunoaștere a vorbirii
Tehnologiile de recunoaștere a vorbirii permit înglobarea următoarelor caracteristici
în noile aplicații:
- manipularea calculatoarelor în mod hands-free, și fără observare vizuală.
Acest lucru este important pentru dispozitive PDA și telefoane celulare (unde
montarea unei tastaturi alfanumerice nu este practică), ca și pentru persoanele
cu diferite deficiențe;
- un PC mai "uman", care poate conversa cu utilizatorii face ca aplicațiile
educaționale să fie mai prietenoase și mai spectaculoase, iar jocurile să
fie mai realiste;
- pot fi construiți arbori decizionali bazați pe interacțiune vocală, pentru
dispozitive care să asiste și eventual să înlocuiască omul în cadrul anumitor
servicii publice;
- introducerea de date este facilitată
considerabil;
- productivitatea poate crește dramatic în cazul editării de documente. Microsoft
Office XP permite comenzi verbale ca: "bold", "italic", "Arial", "bulleted
list", "save", etc. Se elimină astfel necesitatea de a efectua mișcări spre
tastatură și mouse, mișcări care sunt obositoare, predispuse la greșeli și
consumă timp.
Sinteza de voce
Sinteza de voce (figura 3) este procesul de convertire a textului în limbaj
vorbit, proces care are loc invers față de recunoașterea vorbirii, după cum
urmează:
- cuvintele sunt "sparte" în foneme;
- textul este analizat pentru o tratare specială a numerelor, inflexiuni și
punctuație;
- este generat un flux audio digital, redat prin interfața audio.
Cu ajutorul engine-urilor text-to-speech, PC-ul poate "citi" orice document
în diferite limbi: engleză, franceză, germană, italiană, spaniolă etc. La momentul
scrierii acestui articol nu exista nici un engine dedicat pentru limba română
(care este o limbă fonetică, deci implementarea devine mai facilă).
Aplicațiile de tip text-to-speech (figura 4) reprezintă o alternativă viabilă
acolo unde înregistrarea audio digitală nu este practică. Acest lucru se întâmplă
în următoarele situații:
- înregistrările audio sunt prea lungi pentru a fi stocate pe un disc sau
costul înregistrării este prea mare;
- aplicația răspunde folosind fraze scurte;
- răspunsurile aplicației pot varia prea mult pentru a putea înregistra și
stoca toate posibilitățile. Aici tehnologia de sinteză de voce este singura
posibilitate, care scade dramatic necesarul de spațiu de stocare. De exemplu,
comunicarea orei exacte beneficiază în mod direct de pe urma sintezei de voce.
- utilizatorul preferă sau necesită feedback audio. Astfel el sesizează mai
ușor greșelile de dactilografiere, iar persoanele cu deficiențe vizuale pot
manipula mai ușor un dispozitiv digital.
Tehnologii vocale la nivel desktop
Puteți achiziționa Dragon Naturally Speaking sau alte programe de acest tip,
pentru a vă bucura de aceste facilități. De asemenea, Office XP și Lotus Smartsuite
au integrate motoare de recunoaștere vocală și dictare pentru limba engleză.
Sistemul de operare OS/2 Warp de la IBM permite de mai mulți ani manipulare
PC-ului prin comenzi vocale.
Nu puteți să vă controlați propriul PC exclusiv prin comenzi vocale, dar cu
această dotare minimă puteți lansa și utiliza aplicațiile. Este foarte posibil
ca Windows XP să aducă o integrare a suportului vocal la nivel de sistem de
operare
|