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".
|