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.

webmaster@pcmagazine.ro

LG - Life´s Good

www.agora.ro

deltafri

www.agora.ro

www.agora.ro

www.agora.ro