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