Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuții   




Cartea de oaspeți   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


Tehnologii - PC Magazine Romania, August  2002

Calculatoarele "hands-free"


Dan Șerbănescu

Cândva, în viitor, vom putea cere prin viu grai unui calculator aproape J tot ce putem cere în prezent unei secretare. De aceea, ne-am gândit să aruncăm o privire asupra modului în care PC-urile înțeleg vorbirea umană și transformă cuvintele rostite în text și comenzi. Vom trece în revistă unele dintre provocările recunoașterii vorbirii, dar și ariile sale de aplicabilitate, într-o încercare de a vă explica de ce se depun în ultima vreme atâtea eforturi pentru îmbunătățirea unei tehnologii care până acum nu s-a bucurat decât de un succes limitat.

Bazele recunoașterii vorbirii
Pentru majoritatea oamenilor, înțelegerea cuvintelor rostite este o sarcină foarte ușor de dus la îndeplinire. Abilitatea creierului uman de a identifica și asocia modele vocale este uimitoare; putem recunoaște cuvintele chiar dacă sunt rostite cu un accent deformat sau nefamiliar. De aceea, este foarte ușor pentru noi să considerăm că o astfel de aptitudine este de o simplitate elementară.

Dar atunci când încerci să înveți o mașină să înțeleagă vorbirea, sarcina devine extrem de dificilă. Sunetele vorbite trebuie descompuse în date pe care calculatoarele să le poată procesa și să le poată folosi pentru a recunoaște cuvintele atunci când sunt rostite.

Majoritatea sistemelor de recunoaștere a vorbirii folosesc o strategie similară pentru transformarea sunetelor în text. Întregul proces poate fi descompus în cinci etape distincte:

  • Înregistrarea vorbirii
  • Prefiltrare
  • Extragerea caracteristicilor
  • Comparare și identificare
  • Redarea textului

Înregistrarea vorbirii
Prima și cea mai importantă etapă în recunoașterea vorbirii este înregistrarea vorbirii. Pentru asta este nevoie de un microfon și de un dispozitiv de convertire a semnalului analog provenit de la microfon în date digitale. Rolul microfonului este deosebit de important întrucât trebuie să ofere o senzitivitate a frecvențelor suficientă pentru a capta cu acuratețe sunetele vorbirii și trebuie, de asemenea, să mențină la minim zgomotele de fundal.

Semnalul analog este convertit în date digitale, deseori prin intermediul plăcii de sunet a calculatorului sau prin circuitele de sunet ale plăcii de bază. Conversia presupune ca nivelurile de sunet să fie înregistrate - sau captate eșantioane - la anumite intervale. Rata de eșantionare determină numărul de fragmente de sunet înregistrate pe secundă, iar adâncimea de biți determină numărul nivelurilor diferite care vor fi înregistrate sau, altfel spus, rezoluția sunetului.

CD-urile audio - cum sunt cele pe care le ascultați pe sistemele stereo de acasă - sunt înregistrate la o rată de eșantionare de 44,1 kHz, ceea ce înseamnă 44.100 de date punctuale în fiecare secundă. Acest lucru este necesar pentru ca sunetul redat să aibă fidelitate pentru sunete de înaltă frecvență de până la 22 kHz. Vocea umană, totuși, poate fi redată optim prin sunete cu frecvențe cuprinse între 100 și 8.000 Hz. (Notă: Acesta este motivul pentru care sistemele de telefonie au o gamă de frecvențe de răspuns relativ îngustă, eliminând sunetele de înaltă frecvență). Drept rezultat, sunetul înregistrat de un sistem de recunoaștere a vorbirii poate fi eșantionat la o rată minimă de numai 8 kHz (8.000 de fragmente de sunet pe secundă, cu toate că 16 kHz ar putea oferi rezultate mai bune, dacă sistemul dispune de suficientă putere de procesare și de stocare de date.

În mod similar, gama dinamică - diferența de volum dintre cel mai slab și cel mai puternic sunet - pentru vocea umană este mult mai mică decât pentru muzica de înaltă calitate. În cele mai multe cazuri este nevoie de doar 8 biți per eșantion - adică 1 byte - cu toate că rezultatele sunt mult mai bune în cazul folosirii a 16 biți - 2 octeți - per eșantion, care este și adâncimea de biți caracteristică CD-urilor audio.

Diferențele dintre ratele de eșantionare și adâncimile de biți pot avea un impact major asupra cantității de date pe care calculatorul trebuie să o proceseze. O secundă de sunet digital la 8 kHz și 8 biți per eșantion înseamnă doar 8.000 octeți de date. Aceeași secundă de sunet digital la 16 kHz și 16 biți înseamnă de patru ori mai multe date: 32.000 octeți. Standardul pentru CD-uri audio, de 44 kHz și 16 biți, înseamnă că o secundă de sunet necesită un spațiu de stocare de 88.000 octeți.

Prefiltrare
După ce sunetul a fost convertit la un format digital și stocat, etapa următoare este cea a filtrării. Datele pot fi analizate, iar nivelurile de zgomot din fundal pot fi identificate și reduse, dacă nu chiar eliminate cu desăvârșire. Operațiunea se poate executa printr-o varietate de metode, inclusiv cea de codificare predictivă liniară (Linear Predictive Coding - LPC) și analiză spectrală. Rezultatul este un sunet mai curat, care poate fi procesat cu mai multă siguranță.

Extragerea caracteristicilor
După ce datele audio au fost pregătite pentru analiză, ele trebuie procesate pentru a fi comparate cu eșantioanele stocate. De regulă, datele audio sunt divizate în cadre care se suprapun, fiecare cu o lungime între 5 și 32 de milisecunde (ms).

Apoi, datele sunt analizate pentru a fi determinate frecvențele componente. Sunetul vocii umane este compus din multe frecvențe de un volum sonor diferit, care se aud în același timp. Fragmentele individuale de date trebuie analizate pentru a se determina ce unde sonore s-au combinat pentru a crea respectivele sunete. O tehnică folosită de obicei pentru acest proces este transformarea rapidă Fourier (Fast Fourier Transformation - FFT). Rezultatul este o hartă a cadrului sonor conținând frecvențele și amplitudinile - volumul - sunetelor componente.

Comparare și identificare
Datele sunt acum pregătite pentru a fi comparate cu eșantioanele sonore stocate, așa încât cuvintele să poată fi identificate. Acest obiectiv este mult mai ușor de enunțat decât de realizat.

Pentru majoritatea sistemelor de recunoaștere a vorbirii, sunetele de referință sunt sparte în fragmente numite "foneme". Un fonem este cea mai mică parte dintr-un cuvânt vorbit; schimbarea unui fonem dintr-un cuvânt are drept rezultat un cuvânt diferit. Cadrele create în etapa anterioară, de extragere a caracteristicilor sunt comparate cu elementele stocate în baza de date de foneme, pentru a se determina cu precizie fonemul care a fost înregistrat inițial.

Cioc-cioc, cine-i acolo?
Oamenii folosesc de multe ori la întâmplare termenii "recunoaștere a vorbirii" și "recunoaștere vocală". Cel din urmă însă este un termen destul de ambiguu, care a fost folosit - uneori greșit - de atâtea ori încât poate duce la confuzii. Recunoașterea vorbirii - sau transformarea vorbirii în text - preia cuvintele rostite și le interpretează drept text sau comenzi. Recunoașterea vocală se poate referi fie la procesul de interpretare a vorbirii, fie la identificarea vorbitorului.

Cei mai buni termeni pentru recunoașterea vocală de identificare ar fi "verificarea vocală" (voice verification) și "autentificarea vorbitorului" (speaker authentication) - tehnologie care folosește sunetul vocii umane în scopuri de securitate. Acest lucru este posibil pentru că fiecare individ are un model vocal distinct, numit "amprentă vocală", care este la fel de unic ca o amprentă digitală.

Verificarea vocală se folosește pentru determinarea identității unui utilizator. Ea se folosește la calculatoare personale care înlocuiesc parolele tastate cu cele rostite. Utilizatorul răspunde solicitării parolei prin rostirea propriului nume sau a altei expresii cheie. Calculatorul compară apoi vocea utilizatorului cu eșantioanele stocate anterior. Calculatorul trebuie apoi să confirme sau să infirme dacă cele rostite corespund datelor stocate.

Autentificarea sau identificarea vorbitorului este un proces mai complicat, care încearcă să identifice un vorbitor. Spre deosebire de aplicațiile de verificare, în care sistemul trebuie doar să determine dacă vorbitorul este într-adevăr cine pretinde că este, sistemele de autentificare trebuie să caute într-o bază de date de modele vocale și să determine identitatea unui vorbitor necunoscut.

Acum începe partea dificilă. Programul de recunoaștere a vorbirii trebuie să ia secvențele de foneme și să le compare cu cuvintele stocate în vocabularul programului, încercând să afle ce cuvinte au fost rostite. Majoritatea programelor se bazează pe o procesare statistică, care încearcă să estimeze care va fi cel mai probabil fonem următor, pe baza cuvintele descoperite anterior că se potrivesc cel mai bine cu fonemele deja identificate.

Programul creează un arbore de probabilități pentru diferitele asocieri posibile pe care le prezice. Pe măsură ce programul este din ce în ce mai sigur că a identificat corect un cuvânt, predicțiile despre cuvintele următoare se pot modifica. Dacă programul reușește să identifice corect un cuvânt estimat pentru următoarea secvență de sunete, va avea mai multă încredere în acea ramură a arborelui de probabilități. Dacă predicțiile se vor dovedi greșite, programul va trebui să se întoarcă înapoi în arborele de probabilități și să încerce un nou lanț de soluții. Acesta este și motivul pentru care unele programe de recunoaștere a vorbirii ezită pentru un timp sesizabil, iar apoi afișează deodată o întreagă frază sau porțiune de text pe ecran.

Pentru acest proces se folosesc diferite modele, dar unul dintre cele mai frecvent întâlnite este modelul ascuns Markov (Hidden Markov Model - HMM). Acest model poate folosi colecții mari de cuvinte; unele programe au vocabulare de peste 150.000 de cuvinte. De asemenea, programul folosește colecții de reguli gramaticale care pot ajuta prin indicii de context la prezicerea celui mai probabil cuvânt care va urma.

Toată această activitate solicită foarte mult procesorul. De asemenea, ocupă o mare parte din resursele sistemului, inclusiv memoria fizică. Cu toate comparațiile care trebuiesc făcute pentru a se ține evidența predicțiilor multiple, calculul ar deveni extrem de lent dacă datele de referință ar trebui să fie extrase de fiecare dată de pe discul hard.

Un factor cheie pentru asigurarea unei performanțe bune a unui sistem de recunoaștere a vorbirii este o cantitate suficientă de memorie fizică. De asemenea, unele programe de recunoaștere a vorbirii se folosesc și de seturi de instrucțiuni extinse SIMD (Single Instruction Multiple Data), cum ar fi MMX, SSE și SSE2, pentru accelerarea procesării vorbirii, în plus față de îmbunătățirile fluxurilor de memorie ale respectivelor seturi de instrucțiuni. Mai mult, folosirea unor memorii mai rapide DRDRAM și DDR, cu o lărgime de bandă mai mare, poate îmbunătăți și mai mult performanțele algoritmilor de recunoaștere a vorbirii.

Redarea textului
După ce textul vorbit a fost identificat, programul este gata să îl treacă prin următoarea etapă, care ar putea fi afișarea textului recunoscut pe ecran sau activarea unei comenzi dintr-un alt program.

Distincții în tehnologia recunoașterii vocale
Creatorii programelor de recunoaștere a vorbirii sunt obligați să ia o serie de decizii care au drept rezultat un compromis. Unele opțiuni limitează vocabularul programului, însă crește precizia predicțiilor. În alte cazuri, crește viteza de procesare pe seama unei scăderi a preciziei programului sau duc la necesități sporite în materie de capacitate de stocare și cantitate de memorie folosită sau la un vocabular mult mai mare.

Toate aceste alegeri pe care le fac creatorii programelor de recunoaștere a vorbirii au un efect direct asupra aplicabilității. În cele ce urmează, vom trece în revistă câțiva factori care trebuie luați în considerare în evaluarea unui pachet de programe de recunoaștere a vorbirii.

Comenzi sau dictare
Una dintre distincțiile fundamentale care trebuie făcute în tehnologia recunoașterii vocale se referă la modul în care cuvintele vorbite vor fi interpretate de calculator: drept comenzi - "vorbire dependentă de context" - sau ca text dictat - "vorbire independentă de context". Comenzile sunt mai ușor de implementat și de obicei necesită mai puține resurse. Asta pentru că numărul de opțiuni disponibile este limitat.

Să luăm exemplul comenzilor din Microsoft Word pentru Windows 2000. Dacă opțiunile vor fi limitate la opțiunile din meniu, sunt doar nouă cuvinte care trebuie recunoscute de program: File, Edit, View, Insert, Format, Tools, Table, Window și Help. După ce cuvântul "Edit" a fost rostit și recunoscut sunt doar 14 opțiuni posibile pentru următorul cuvânt. Cu un vocabular atât de limitat, este mult mai ușor de identificat următorul cuvânt.

Spre deosebire de comenzi, dictarea poate duce la orice rezultat și de cele mai multe ori chiar așa se și întâmplă. Spre exemplu, programul poate recunoaște cuvintele "A fost o...", care pot fi urmate de aproape orice. Chiar dacă recunoașterea se extinde la "A fost o sumbră și furtunoasă...", încă sunt foarte multe cuvinte diferite care pot urma după logica "noapte" sau "seară" - "după-amiază", "carte", "căsătorie" etc.

În mod evident, administrarea tuturor posibilităților pe care le ridică dictarea este o sarcină complicată. O modalitate de minimalizare a problemei ar fi limitarea vocabularului. Această metodă funcționează bine pentru sisteme de dictare folosite în profesii cu un vocabular relativ limitat, cum ar fi unele domenii medicale sau juridice.

Vorbire continuă sau sacadată
O altă distincție importantă referitoare la modul de interpretare a vorbirii se referă la ritmul vorbirii. Majoritatea primelor sisteme de recunoaștere a vorbirii pentru calculatoare personale solicitau un mod de vorbire sacadat, ceea ce presupune o rostire separată a cuvintelor, cu pauze clare între fiecare. O astfel de tehnică de vorbire nu este naturală și poate fi chiar dificilă pentru unii utilizatori.

În ultimii ani, programele de recunoaștere a vorbirii au devenit capabilă să proceseze vorbirea continuă, în care cuvinte sunt alăturate exact așa cum se întâmplă într-o conversație normală. Atunci când calculatorul captează o expresie rostită foarte repede, care poate suna ceva de genul "haimairepede", este dificil de separat cuvintele, proces care poate solicita o mare capacitate de procesare și stocare pentru a oferi un grad de precizie măcar mediu.

SALT înainte!
Speech Application Language Tags (SALT) este o extensie a HTML și a altor limbaje markup (cHTML, XHTML, WML) care adaugă o puternică interfață vocală paginilor web, în paralel menținând și folosindu-se de toate avantajele unei aplicații web. Astfel de tag-uri sunt proiectate pentru a fi folosite fie cu browsere activate exclusiv de voce (spre exemplu, un browser accesat prin telefon, cum puteți auzi când apelați serviciul de relații cu clienții al operatorului dvs. de telefonie mobilă) fie cu browsere multimodale.

Accesul multimodal va permite utilizatorilor să interacționeze cu o aplicație într-o varietate de moduri: pot introduce date rostindu-le sau prin tastatură, keypad, mouse și/sau stylus, și produce date ca vorbire sintetică, semnal audio, text simplu, imagini video și/sau grafică. Fiecare dintre aceste modele se poate folosi independent sau concurent.

Specificațiile complete pentru SALT sunt dezvoltate în prezent de SALT Forum, o inițiativă deschisă la nivelul întregii industrii cu scopul dezvoltării unui standard gratuit și independent de platformă care să facă posibil accesul multimodal și prin telefonie la informații, aplicații și servicii web de pe calculatoare personale, telefoane, PC-uri tabletă și PDA-uri wireless. Membrii fondatori ai SALT Forum sunt Cisco Systems, Comverse, Intel, Philips, SpeechWorks și, cu voia dvs., Microsoft.

SALT este de fapt un mic set de elemente XML, cu atribute asociate și proprietăți, evenimente și metode de obiecte DOM, care pot fi folosite alături de un document cu sursă markup pentru aplicarea unei interfețe vocale paginii sursă. Formalismul și semantica SALT sunt independente de natura documentului sursă, așa că SALT poate fi folosit eficient în HTML și toate varietățile acestuia, în WML sau în oricare alt derivat markup SGML.

SALT este proiectat pe baza următoarelor principii de bază: integrarea facilă a vorbirii în pagini web, separarea interfeței vocale de logica de business și de date, putere și flexibilitate a modelului de programare, refolosirea standardelor existente pentru gramatică, redarea vorbirii și rezultate semantice.

SALT nu este proiectat pentru un tip particular de dispozitiv, ci mai degrabă pentru o gamă de scenarii arhitecturale. Modul în care adaugă vorbire paginilor web este generic așa încât toate dispozitivele, de la PC-uri la telefoane, pot fi capabile de operare prin voce. Spre exemplu, calculatoarele personale pot rula toate procesele de recunoaștere și redare a vorbirii local, în vreme ce dispozitivele mai mici, cu capacități de procesare limitate, vor avea un browser care admite SALT și vor folosi servere aflate la distanță pentru recunoașterea sau sintetizarea vorbirii. Telefoanele tradiționale fără procesoare vor putea apela un server care rulează un browser SALT exclusiv vocal. SALT va fi modularizat iar profilurile paginilor vor fi definite în funcție de capacitățile modale și de mediu ale dispozitivelor client. (arhitectura SALT)


Dependență sau independență de vorbitor
O altă mare distincție trebuie făcută între sistemele dependente și cele independente de vorbitor. Cele dependente de vorbitor folosesc o bază de date cu foneme specifice utilizatorului. Acest sistem necesită de regulă o lungă perioadă de antrenament, care constă din afișarea pe ecran a unor texte pe care utilizatorul trebuie să le citească cu voce tare. Multe programe oferă opțiuni de antrenament de scurtă sau lungă durată, dar, în general, un antrenament mai lung va avea ca rezultat o mai precisă recunoaștere a vorbirii.

Unele rutine de antrenament recunosc textul în timp ce este vorbit și cer utilizatorului să repete cuvinte sau expresii nerecunoscute. Acest lucru ajută programul să recunoască vocea utilizatorului, dar, la fel ca în cazul recunoașterii scrisului de mână de către PDA-uri, s-ar putea ca procesul să contribuie într-o oarecare măsură și la antrenarea utilizatorului.

Unele companii au încercat să elimine procesul de antrenament prin folosirea unei baze de date cu eșantioane de foneme rostite de persoane a căror voce acoperă un spectru larg de accente și tonalități. Astfel de sisteme v-ar putea cere să vă identificați ca bărbat sau femeie, posibil cu o locație geografică, iar apoi vor folosi pentru a vă recunoaște vocea eșantioanele de foneme cele mai apropiate de specificațiile pe care le-ați făcut. Această abordare are, în mod clar, limitări, întrucât numai în Statele Unite engleza vorbită în statul Maine nu prea seamănă cu cea vorbită în Louisiana. Despre limba română, ce să mai vorbim...

Multe dintre pachetele de programe disponibile pe piață folosesc o combinație dintre o bază de date inițială și o perioadă limitată de antrenament pentru recunoașterea specificului unei anumite voci, după care programul învață treptat și rafinează intrările din baza de date pe măsură ce sistemul este folosit. Ca urmare, multe astfel de programe nu ating precizia maximă de care sunt capabile decât după folosirea lor timp de circa o săptămână sau chiar mai mult.

Starea pieței
Recunoașterea vorbirii are o mare arie de aplicabilitate, atât pentru calculatoare personale, cât și pentru platforme mai mari. Există deja mai multe sisteme independente de vorbitor care operează pe platforme server puternice, care oferă acces telefonic la date, dar o gamă la fel de largă de produse există deja și pentru piața calculatoarelor personale.

Pentru calculatoarele desktop, sunt disponibile deja pachete de programe pentru dictare și comenzi vocale. Unele dintre aceste pachete sunt special proiectate pentru anumite profesii, cum ar fi cele din domeniul juridic, medical sau instituții cu atribuții în aplicarea legii, în vreme ce altele sunt pentru uz general. Unele programe sunt proiectate pentru scopuri speciale; un exemplu în acest sens este Conversay Web Browser, care este un add-on pentru Microsoft Internet Explorer 4.0 sau versiuni ulterioare care permite activarea prin voce a legăturilor dintr-o pagină web, ca alternativă la folosirea mouse-ului sau a tastaturii. Așadar, recunoașterea vorbirii joacă un rol important și în aplicațiile destinate utilizatorilor cu deficiențe vizuale sau motorii, care pot vorbi calculatorului în loc să folosească tastatura.

Aplicațiile mobile încep și ele să folosească tehnologia recunoașterii vocale, chiar dacă puterea de procesare și capacitățile de stocare limitate ale dispozitivelor mobile nu permit pentru moment decât anumite caracteristici. Reportofoanele digitale au fost folosite pentru stocarea vorbirii, în scopul convertirii ulterioare în text, după descărcarea datelor stocate pe un calculator desktop sau laptop.

Recunoașterea vorbirii pe PDA-uri este posibilă și a fost demonstrată. O aplicație de acest gen este apelarea vocală disponibilă deja pe anumite modele de telefoane mobile, chiar dacă în condiții de zgomot puternic această caracteristică este posibil să funcționeze defectuos.

O altă utilizare curentă a recunoașterii vocale funcționează cu succes pe baza unui vocabular limitat în sistemele GPS sau de afișare a hărții rutiere instalate la bordul autovehiculelor. Un astfel de sistem poate fi interogat în legătură cu "următoarea intersecție", ceea ce va genera atât afișarea grafică a hărții, cât și un răspuns vocal sintetic, care vă poate informa despre numele următoarei străzi și distanța până acolo. Caracteristica este foarte utilă la viteze mari de deplasare sau în condiții de trafic aglomerat. Multe alte aplicații auto sunt, ca să spunem așa, pe drum.

Viitorul va aduce sisteme cu o filtrare mai bună a zgomotelor de fond și microfoane mai sensibile, algoritmii de procesare se vor îmbunătăți, recunoașterea vorbirii continue va deveni un standard, iar puterea procesoarele va crește. O gamă largă de aplicații de e-comerț mobil, acces mobil la date și divertisment vor include suport de recunoaștere a vorbirii, ce va permite operarea fără folosirea mâinilor.

De ce nu are mai mult succes recunoașterea vorbirii?
poza translator
Sistemele de recunoaștere a vorbirii pentru PC-uri funcționează destul de bine de mai mulți ani, iar capacitățile de stocare și procesare necesare sunt disponibile în calculatoare personale cu configurații accesibile. Pare extrem de seducător să poți lucra cu calculatorul personal fără să-ți folosești mâinile. Pur și simplu să-i spui ce să facă și astfel să devină asistentul electronic pe care mulți dintre noi fără îndoială că și-l doresc de multă vreme.

Totuși, în afara unor nișe de piață corespunzătoare anumitor profesii, recunoașterea vorbirii pur și simplu nu a "prins". Lernout & Hauspie este unul dintre liderii acestei industrii, care în ultimii ani a reușit să achiziționeze o serie de competitori importanți, precum Kurzweil și Dragon Systems, însă în anul 2000 a fost obligat să demareze procedura de faliment.

Sunt mulți posibili factori care determină această stare de lucruri. În primul rând, este vorba despre acuratețea sistemelor de recunoaștere a vorbirii. Potrivit unui raport al Centrului pentru procesarea limbajului și vorbirii de la Universitatea Johns Hopkins, recunoașterea vorbirii poate fi precisă în proporție de circa 99,5% atunci când înlocuiește sistemele de meniuri pe bază de tonuri ale centrelor de apel telefonic. Asta înseamnă că doar una din 200 de comenzi ar putea fi interpretată incorect.

Cu toate acestea, pentru sistemele de dictare - chiar și pentru cele cu antrenament și dependente de vorbitor - acuratețea recunoașterii este estimată la doar aproximativ 95%. La prima vedere, cifra poate părea suficient de mare, dar dacă ne gândim că o pagină dactilografiată poate conține cam 200-300 de cuvinte, asta înseamnă că programul va greși 10-15 cuvinte pe fiecare pagină. Fie că veți face corecțiile tot vocal sau folosind tastatura, veți pierde destul de mult timp. Mai mult, întrucât programul chiar și când greșește folosește cuvinte ortografiate corect, nu vă puteți baza pe un corector ortografic pentru a găsi greșelile, așa că va trebui să citiți cu atenție întregul text dictat.

Un alt factor este acela că oamenii nu sunt obișnuiți să dicteze. Chiar dacă programul este capabil să elimine erorile de fluență a vorbirii - acele "ăăă"-uri și "mmm"-uri care apar atât de des în conversațiile obișnuite - este nevoie totuși de destul antrenament pentru a putea dicta corect textul de prima dată, fără corecții sau modificări. Spre exemplu, dacă ați depus vreodată mărturie la vreun proces și ați citit ulterior respectiva depoziție, ați fi surprins cât de fragmentate vor apărea răspunsurile, față de situația în care ați fi răspuns în scris. Cu același efect vă veți întâlni și în cazul sistemelor de recunoaștere a vorbirii.

Trebuie, de asemenea, luat în calcul și microfonul. Zgomotele de fundal pot reduce acuratețea recunoașterii, așa că va trebui să folosiți un microfon performant, care să elimine zgomotele. Unde va fi localizat acesta? Cele mai bune rezultate pot fi obținute cu ajutorul unui microfon agățat de ureche sau de o pereche de căști audio, care poate fi destul de incomod și poate interfera neplăcut cu alte activități, cum ar fi plecarea de lângă calculator sau preluarea unui apel telefonic. Desigur, o soluție există prin folosirea unor seturi de căști cu microfon fără fir care pot fi folosite și pentru preluarea apelurilor telefonice. Toate aceste lucruri conduc spre o concluzie: este nevoie de o investiție de timp și periferice pentru a obține un sistem de recunoaștere a vorbirii care să poată fi folosit cu maximum de precizie. Nu toți utilizatorii sunt dispuși să facă aceste investiții doar pentru a putea vorbi cu calculatoarele lor.

Unu, doi, trei - probă de microfon!
Când vorbești cu calculatorul, cât de bine te aude? Poate părea o glumă, dar este o chestiune cât se poate de serioasă. Într-un sistem de recunoaștere a vorbirii, sunetul vocii trebuie reprodus cu maximum de fidelitate posibilă, așa încât calculatorul să primească cele mai precise date pe care să le interpreteze. Iar unele microfoane pot face acest lucru mai bine decât altele. De asemenea, modul de folosire a unui microfon poate avea efecte semnificative în perfomanța acestuia.

Tipuri de microfoane
De-a lungul anilor, au fost create și rafinate mai multe tehnologii diferite pentru microfoane. Unele se bazează pe tehnologia simplă a unui strat de particule de carbon - tehnologie care pentru mulți ani a constituit baza pentru microfoanele cu care erau echipate telefoanele. Majoritatea microfoanelor folosesc unul dintre cele două proiecte de bază: cu bobină mobilă - cunoscut și sub denumirea de microfon dinamic - și cu condensator. Într-un difuzor este folosit un electromagnet care deplasează înainte și înapoi un con, în funcție de variațiile curentului electric pe care îl primește. Vibrațiile acestui con creează în aer unde de presiune pe care noi le percepem drept sunete. Un microfon cu bobină mobilă folosește același principiu de funcționare, însă invers. Undele sonore presează asupra unei diafragme, care se deplasează înainte și înapoi. Pe diafragmă este atașată o bobină de sârmă - numită bobina voce - care are în centru un magnet fix. Pe măsură ce bobina se mișcă odată cu diafragma în jurul magnetului, câmpul magnetic variază, inducând în bobină un curent electric. Acești curenți pot fi amplificați și folosiți drept semnal de înregistrare a sunetului.

Microfoanele cu condensator se bazează pe capacitatea electrică, adică diferența de potențial dintre două plăci paralele încărcate electric. În general, una din plăci este fixă, iar cealaltă se mișcă în funcție de modificările de presiune din aer generate de undele sonore. Aceste deplasări măresc sau micșorează distanța dintre plăci și, în funcție de acest lucru, variază și capacitatea. Aceste variații pot, de asemenea, să fie amplificate și folosite pentru crearea unui semnal sonor pentru înregistrare.

Unele microfoane cu condensator au nevoie de un curent electric pentru a menține sarcini electrice diferite pe plăci. În multe cazuri, acest lucru se face prin intermediul unei mici baterii montate în carcasa microfonului. Alte microfoane cu condensator sunt proiectate pentru a folosi o așa-numită "putere fantomă", care vine dintr-un alt dispozitiv.

Modele mai noi folosesc materiale electrizate. Acestea sunt materiale plastice speciale - cum este teflonul - care pot fi electrizate permanent din fabricație. Aceste modele de microfoane nu au nevoie de o sursă externă de curent și astfel pot avea dimensiuni și greutăți foarte mici, dar au o durată de funcționare mult mai limitată decât alte modele cu condensator sau bobină mobilă.

Anularea zgomotelor de fundal
Un alt factor important pentru calitatea sunetului înregistrat este anularea zgomotelor de fundal. În unele situații aveți nevoie de un microfon care să capteze sunete din toate direcțiile. În alte circumstanțe - cum ar fi pentru un calcuIator cu capacități de recunoaștere a vorbirii - aveți nevoie de a elimina sunetele venite din alte direcții decât cea a operatorului. Tipul de microfon are o influență directă asupra capacității sale de filtrare a zgomotelor nedorite.

Un microfon poate bloca zgomotele nedorite în două moduri principale: pasiv sau activ. Metodele pasive sunt cele mai răspândite, întrucât ele pot fi implementate prin însăși construcția microfonului, motiv pentru care este aproape gratuită din punct de vedere al costurilor și nu adaugă greutate suplimentară microfonului.

Cel mai folosit format este cel al microfonului cardioid. Denumirea provine de la profilul în formă de inimă a schemei sale de senzitivitate. Acest tip de microfon este foarte sensibil în special la sunetele care se produc în fața lui, iar senzitivitate scade brusc odată ce sunetul se deplasează în spatele microfonului. Sunetele care vin din spatele microfonului sunt aproape în totalitate blocate.

Anularea zgomotului se realizează prin crearea a două căi prin care undele sonore pot ajunge la diafragma microfonului, prin metode cum ar fi așezarea diafragmei la capătul unui tub. Undele sonore care intră prin capătul deschis al tubului trebuie să parcurgă aceeași distanță pentru a atinge ambele părți ale diafragmei și astfel sunt înregistrate. Sunetele care se produc la celălalt capăt ajung mai întâi la partea deschisă a diafragmei și apoi se deplasează până la capătul tubului, înainte de a se întoarce prin tub și a atinge cealaltă parte a diafragmei. Dacă tubul este bine reglat, undele sonore întârziate le anulează pe cele care parcurg distanța cea mai scurtă. În practică, se poate folosi un anumit număr de întârzieri - împreună cu o spumă acustică - pentru a se bloca o gamă de frecvențe mai largă.

Microfoanele cardioide sunt cele mai potrivite pentru recunoașterea vorbirii, pentru că anulează cel mai bine sunetele produse în fața vorbitorului. Acest lucru are drept efect eliminarea zgomotelor de fundal în multe medii.

Microfoanele cu anulare activă a zgomotelor de fundal sunt mult mai complicate. De fapt, ele se bazează pe două sau trei microfoane. Într-o configurație cu două microfoane, unul este folosit pentru preluarea vocii vorbitorului, iar celălalt pentru zgomotul ambient. Aceste semnale sonore ambientale sunt apoi extrase din semnalul vorbitorului. Astfel se poate extrage foarte bine vocea utilizatorului dintr-un fundal zgomotos, însă microfonul este mai greu și costă mai mult decât cele cu anulare pasivă.

Una dintre cele mai promițătoare implementări ale microfoanelor pasive este dezvoltarea de rețele de microfoane. Majoritatea microfoanelor pasive funcționează bine doar dacă sunt ținute aproape de gura utilizatorului. Microfoanele în rețea pot fi amplasate la câțiva metri distanță. Semnalele provenite de la două, până la opt microfoane sunt apoi procesate digital. Asta permite nu doar anularea zgomotelor de fundal și ci "urmărirea" vorbitorului, care se poate plimba prin zona de recepție.

cale unde sonore

Avantajul digital
Majoritatea microfoanelor folosesc o conexiune analogică prin jack-ul amplasat pe placa de sunet a calculatorului. Această abordare poate fi adecvată pentru multe aplicații, dar poate fi și cauza unor pierderi de fidelitate și de calitate a sunetului, care pot crea probleme programelor de recunoaștere a vorbirii.

Unele plăci de sunet sunt construite cu deosebită atenție la circuitele microfonului. Piața este competitivă, consumatori sunt sensibili la preț, iar construirea unui circuit mai bun pentru microfon în plăcile de sunet nu conferă un avantaj prea mare, motiv pentru care calitatea conversiei digital/analogic în placa de sunet nu este întotdeauna atât de bună pe cât ar putea fi. De asemenea, plăcile de sunet sunt susceptibile la zgomotul electronic creat de emisiile electrice ale altor componente de pe placa de bază, plăcile de expansiune sau alte componente.

O soluție ar fi mutarea circuitelor de conversie în afara calculatorului și furnizarea unui semnal digital direct din microfon. Acesta este și conceptul microfoanelor USB, cum sunt cele produse de Philips și Plantronics.

Aceste microfoane au o cutie care conține și circuitele DSP (digital signal processing), pentru conversia semnalului analogic. Ele nu au nevoie de o sursă externă de curent, pentru că se pot alimenta prin cablul USB. Semnalul digital este remis calculatorului printr-o conexiune USB, iar potențialele interferențe sunt mult reduse. Rezultatul este un semnal mai clar, care poate îmbunătăți performanța programelor de recunoaștere a vorbirii.

Poate vă mai amintiți că boxele USB erau intens promovate în urmă cu câțiva ani, dar s-a dovedit că au multe probleme - majoritatea legate de drivere, sistemele de operare și însăși tehnologia USB. Problemele apar în unele scenarii de multitasking, sistemele se pot bloca la pornire, conectarea "la cald" funcționează sporadic, uneori boxele pur și simplu amuțesc etc.

Windows ME a rezolvat multe dintre aceste probleme însă consumatorii sunt încă circumspecți. Cu toate acestea, tehnologia microfoanelor USB pare să fie mult mai stabilă când rulează pe cele mai recente sisteme de operare, precum Windows 98 SE, 2000, ME și XP. Este, de asemenea, posibil să obții performanțe digitale folosind și microfoane analogice. Există producători de convertoare USB care permit folosirea unui microfon sau pereche de căști standard ca un dispozitiv USB.

Pentru a putea obține maximum de performanță de la un sistem de recunoaștere a vorbirii, trebuie să vă asigurați că sunetele sunt "auzite" clar de calculator. Alegerea unui microfon potrivit și poziționarea și reglarea lui corectă concură deci la obținerea celor mai bune rezultate posibile.


Piețe în schimbare
Există și o serie de motive pentru care tehnologia recunoașterii vocale ar putea crește în popularitate în viitorii ani.

Unul dintre factorii cheie este angajamentul asumat de Microsoft în legătură cu acest domeniu. Ca parte a strategiei sale .NET, compania depune eforturi pentru a include servicii extinse și rapide de recunoaștere a vorbirii în multe dintre produsele sale. Scopul ultim este de a furniza o interfață cu utilizatorul scalabilă și cuprinzătoare, care să poată funcționa cu toate tipurile de dispozitive, de la telefoane celulare și handheld-uri, la calculatoare desktop sau mai avansate. Ideea este ca utilizatorii să poată obține informații oriunde, oricând și de pe orice dispozitiv.

O parte a acestui efort de dezvoltare o constituie Speech Application Programming Interface (SAPI) 5.1; un kit de dezvoltare software (SDK) ce poate fi descărcat gratuit de pe situl Microsoft. Aceasta este o interfață de programare proiectată să formeze o conexiune între motoarele de recunoaștere a vorbirii și programele din aplicații, astfel încât dezvoltatorilor să le fie mai ușor să includă în programele lor suport pentru recunoașterea vorbirii. Spre exemplu, unui programator i-ar fi suficiente doar trei linii de cod pentru a translata o sursă de sunet în text, iar codul este disponibil în SDK-ul Microsoft.

SAPI poate procesa rezultatele oricărui motor de recunoaștere a vorbirii compatibil; în plus față de motorul propriu al Microsoft, produsele IBM și Lernout & Hauspie sunt și ele compatibile cu SAPI 5.1. Rezultatul eforturilor Microsoft este mai vizibil în suita Office XP, care include caracteristici de recunoaștere a vorbirii atât pentru comenzi, cât și pentru dictare. Faptul că produsele Microsoft includ recunoașterea vorbirii fără costuri suplimentare ar putea încuraja din ce în ce mai mulți utilizatori să încerce această tehnologie, iar astfel gradul ei de utilizare ar putea crește în viitor.

VoiceXML
Prescurtare de la Voice Extensible Markup Language, VXML sau Voice XML este o altă tehnologie care permite utilizatorilor să interacționeze cu internetul prin intermediul tehnologiei recunoașterii vorbirii. În locul browserului tradițional, care se bazează pe o combinație dintre HTML, tastatură și mouse, VXML se bazează pe un browser vocal și/sau telefon. Prin VXML, utilizatorul interacționează cu browserul vocal ascultând semnale audio care sunt fie pre-înregistrate, fie sintetizate de calculator, iar datele sunt introduse fie prin vorbirea naturală a utilizatorului, fie printr-o tastatură cum este cea a telefoanelor.

AT&T, IBM, Lucent Technologies și Motorola au creat VXML 1.0, într-un efort comun de promovare a acestei tehnologii.

VoiceXML este proiectat pentru crearea de dialoguri audio pe bază de voce sintetizată, semnal audio digital, recunoașterea vorbirii sau impulsuri DTMF introduse prin telefon, înregistrarea input-ului vorbit, telefonie și conversații mixte. Scopul său principal este de a aduce avantajele dezvoltărilor bazate pe web și furnizarea de conținut unor aplicații interactive pe bază de voce. De asemenea, un alt deziderat este eliberarea autorilor unor astfel de aplicații de dificila programare de nivel scăzut și de administrarea resurselor.

VoiceXML permite integrarea serviciilor de voce cu cele de date, printr-o paradigmă clasică client-server. Un serviciu de voce este definit drept o secvență de dialoguri interactive dintre un utilizator și o platformă de implementare. Dialogurile sunt furnizate de serverele de documente, care pot fi externe platformei de implementare. Serverele de documente mențin logica globală a serviciului, efectuează operațiuni de baze de date și compatibilitate cu sisteme mai vechi și produc dialoguri. Un document VoiceXML specifică fiecare dialog al interacțiunii printr-un interpretor VoiceXML. Solicitările utilizatorului afectează interpretarea dialogului și sunt colectate în cereri înaintate serverului de documente. Serverul de documente replică printr-un alt document VoiceXML pentru a continua sesiunea cu utilizatorul prin alte dialoguri.
VoiceXML este un limbaj markup care minimalizează interacțiunile client/server prin specificarea de multiple interacțiuni per document, separă codul de interacțiune cu utilizatorul (în VoiceXML) de codul serviciului (scripturi CGI), oferă portabilitate de-a lungul platformelor de implementare și este ușor de folosit pentru interacțiuni simple, însă oferă și caracteristici de limbaj pentru suportul dialogurilor complexe.

Spre exemplu, dacă îi ceri unui calculator să facă rezervări pentru o călătorie de afaceri, inclusiv o cameră de hotel, s-ar putea să înțeleagă perfect toate cuvintele. Dar calculatorul trebuie apoi să treacă la acțiune și să se coordoneze cu multe sisteme și servicii software externe și interne

 

Perspective de viitor
Presupunând că cererea pentru produse va atinge un nivel suficient, avansurile tehnologice promit să facă recunoașterea vorbirii mai ușor de folosit și disponibilă pe o gamă mai largă de dispozitive.

Spre exemplu, unul dintre gadget-urile tehnologice esențiale din primul serial de televiziune Star Trek era fascinantul Translator Universal, care traducea automat orice vorbire extraterestră în engleză. Cum primul contact cu extratereștrii se lasă încă așteptat, ViA Inc. (www.via-pc.com) s-a apucat de lucru la un dispozitiv similar. Este vorba de un sistem de recunoaștere a vorbirii bazat pe un calculator portabil cu procesor Transmeta Crusoe, al cărui rezultat este rulat printr-un program de traducere lingvistică și apoi trimis unui program text-to-spech (TTS) care produce o traducere vorbită.

Cercetările pentru acest dispozitiv au fost finanțate de Biroul pentru Cercetări Navale al SUA și au în principal o aplicabilitate militară. Un asemenea dispozitiv poate fi însă folosit și de civili care au nevoie să comunice în limbi necunoscute lor, cum ar fi polițiștii, lucrătorii din domeniul sanitar sau turiștii. Intenția ViA este de a oferi traducere aproape simultană pentru principalele limbi europene, dar și pentru coreeană, sârbă, arabă, tailandeză și chineză.

Există și alte abordări care ar putea schimba modul în care se realizează recunoașterea vorbirii. Integrated Wave Technologies (IWT - www.i-w-t.com) a dezvoltat noi sisteme bazate pe o tehnologie inventată în fosta Uniune Sovietică. Întrucât dispuneau de calculatoare cu capacități limitate, cercetătorii sovietici au dezvoltat algoritmi extrem de eficienți pentru analiza sunetelor.

În loc să folosească foneme, sistemul IWT analizează frecvențele și caracteristicile de volum ale eșantioanelor de voce, pe care le compară apoi direct cu șabloanele corespunzătoare anumitor comenzi sau cuvinte/expresii. Rezultatul este un program de dimensiuni mai mici, care solicită resurse de memorie și de stocare modeste și funcționează mult mai rapid decât sistemele bazate pe foneme. IWT a folosit acest program pentru a crea dispozitive portabile pentru traducerea comenzilor vocale - sub auspiciile unei burse a Institutului Național pentru Științe și Tehnologii Juridice al SUA - care au fost testate pe teren de departamentul de poliție din Oakland, California.

Sistemele avansate de recunoaștere a vorbirii ar putea, de asemenea, să facă mai folositoare și mai atractive o serie de alte aplicații. Prin includerea în multe programe a recunoașterii vocale și a TTS va deveni, eventual, posibilă o conversație în toată regula cu calculatorul - ideea de care am auzit cu toții de mulți ani și pe care o tot așteptăm cu răbdare. Dincolo de recunoașterea limitată a unor seturi de comenzi pentru aplicațiile de tip office sau altele uzuale (care ar putea fi extrem de folositoare pentru persoane cu deficiențe), provocarea pe care o reprezintă procesarea unor interacțiuni vocale contextuale și cu un vocabular bogat ridică probleme mult mai mari decât recunoașterea vorbirii. Astfel de interacțiuni necesită procesarea limbajului natural cu analize contextuale și secvențe de multiple evenimente separate.

Spre exemplu, dacă îi ceri unui calculator să facă rezervări pentru o călătorie de afaceri, inclusiv o cameră de hotel, s-ar putea să înțeleagă perfect toate cuvintele.

Dar calculatorul trebuie apoi să treacă la acțiune și să se coordoneze cu multe sisteme și servicii software externe și interne: preferințele dumneavoastră personale, notificări în legătură cu tranzacții problematice etc. Acest lanț de evenimente conține deseori dependențe care presupun încheierea unei etape înainte de lansarea alteia. Acțiuni care în prezent se fac manual, cu ajutorul tastaturii și al mouse-ului, vor trebuie executate automat, prin comenzi complexe date calculatorului dumneavoastră folosind un limbaj natural. În această ecuație intră și ideea siturilor web care comunică automat între ele, regăsită în inițiative de tip .NET.

Este de așteptat, chiar, ca toate programele de administrare a informațiilor personale (personal information management - PIM) să accepte în viitor instrucțiuni vorbite, cum ar fi adăugarea unei întâlniri în calendar, formarea automată a unui număr de telefon (deja disponibilă) sau citirea cu voce sintetică a listei de sarcini.

Deja unele jocuri pentru PC au folosit într-o manieră limitată recunoașterea vorbirii, dar în viitor jucătorul va avea posibilitatea de a dialoga cu voce tare cu personajele din joc.

Suntem încă foarte departe de a putea conversa liber cu un calculator precum HAL din "2001: O odisee spațială", dar ne apropiem treptat de acest nivel. În situații în care necesitățile de vocabular pot fi limitate într-o oarecare măsură, avem deja tehnologii care să permită operarea prin voce a aplicațiilor. Rămâne însă de văzut dacă marea masă a utilizatorilor se vor lăsa seduși în viitor de calculatoare realmente "hands-free".


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2002 Agora Media.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

www.agora.ro

www.agora.ro

www.agora.ro