recunoașterea vorbitului, starea actuală
joi, 15 sept. 2011, 21:53
Înainte să intrăm în pâine, să definim clar subiectul problemei. Există două mari direcții în domeniul interdisciplinar analiza sunetului – interacțiunea om-mașină – inteligență artificială. Prima direcție se referă la recunoașterea vocii, în timp ce a doua constă în recunoașterea formelor sunetului, în special a vorbitului. În primul caz, analizăm mai degrabă caracteristici sonore precum timbrul sau „culoarea”, prin metode cum ar fi analiza Fourier.
Al doilea caz vine cumva în analogie cu recunoașterea formelor dintr-o imagine și se referă la învățarea automată a unor caracteristici de nivel mai înalt precum foneme, melodii, genuri muzicale și așa mai departe. Astfel, în realitate ce am zis eu despre cazul anterior este oarecum greșit, fiindcă aspecte precum inflexiunile vocii sau accentul pot fi în fapt utile pentru a recunoaște un vorbitor.
În fine, pe noi ne interesează să analizăm cum a evoluat până în prezent recunoașterea vorbitului, tehnologie care are un impact mare asupra felului în care omul interacționează cu mediul artificial din jurul său. La urma urmei, cine nu și-ar dori să dialogheze verbal cu calculatorul personal în limbaj natural, în stilul Star Trek? Să nu mai vorbim de aplicațiile unde acest aspect e în mod evident necesar, precum interfațarea cu persoane care nu pot să vadă.
Pentru aceasta, mi-am orientat studiul de caz asupra unei aplicații populare, mai exact extensia „Voice Search” pentru Google Chrome. Să clarificăm faptul că aceasta nu este neapărat o unealtă de top, în sensul că sigur există programe mai performante. Pe de altă parte, pe noi ne interesează programele care sunt în stare să facă translatarea speech-to-text în timp real, pe un PC nici prea-prea, nici foarte-foarte. Și tind să cred că aplicația de față se potrivește de minune contextului.
M-am jucat cu aplicația respectivă nu foarte mult și doar pe interogări de căutare folosind Google, cu toate că sunt suportate și alte motoare de căutare, precum Wolfram Alpha [i]. Impresia mea – impresie pe care o puteți verifica – despre calitatea acestui soft este aceea de mediocritate în cel mai bun caz. Ce se întâmplă dacă îi livrăm programului o interogare mai dificilă, un nume propriu de exemplu? Se întâmplă ceea ce se poate observa în exemplul (a):
Observăm că softul încurcă „Jean-Luc Picard” (un nume faimos, fără dubii) cu „John Luke Picard”, cel mai probabil din motive de necunoaștere a foneticii franceze. Din fericire Google nu e prost, astfel că ne trimite pe calea cea bună. Și apropo de Picard, care în ciuda faptului că are nume de francez, e jucat de un actor având accentul cel mai pur britanic, ce ar fi să căutăm informații despre ceai, Earl Grey de exemplu? Exemplul (b) stă drept dovadă în acest sens:
Aici programul a eșuat și mai tare. Nu-i bai, am reușit să îl fac să ia „Tea Earl Grey Hot” după vreo zece încercări, dar asta mi se pare o performanță mult sub medie. Și nu îmi dau seama dacă am vorbit prea repede sau prea rar; clar am vorbit suficient de tare, am avut grijă să am microfonul configurat cum trebuie.
Pe de altă parte recunosc, stau relativ de prost cu engleza verbală, ca majoritatea românilor de altfel. Ceea ce mă duce la analiza cantitativă, apropo și de exemplul (a). Programul ăsta, și nu numai [ii], nu are o internaționalizare bine pusă la punct. Ok, nu mă aștept acum să pot vorbi în română fix din prima versiune a programului, dar ar trebui să existe o metodă de a extinde cu ușurință baza de cunoștințe a motorului, că voluntari care să implementeze suportul pentru diverse limbi există pe Interneți.
În concluzie, eu nu-s deloc mulțumit de stadiul actual al acestei tehnologii. Ce-i drept, domeniul e unul complicat, însă există algoritmi de recunoaștere în timp real a formelor complexe în imagini, algoritmi care se descurcă mult mai bine [iii] decât ceea ce am prezentat eu aici. Chiar și așa, domeniul rămâne unul complicat și mai e nevoie de ani buni de cercetare până să se vină cu niște rezultate tari. Și am speranța că o să se ajungă la niște chestii foarte faine în viitorul apropiat.
- Acesta se dovedește a fi o oarecare provocare, fiindcă e greu să dictezi ecuații verbal. Din fericire, cei de la Wolfram au un scop declarat în a cerceta primirea interogărilor în limbaj natural pe platforma Wolfram Alpha/Mathematica. [↩]
- E cazul și programului de recunoaștere de pe Android, de exemplu. Ce-i drept, aici măcar există suport pentru patru limbi, printre care, culmea, nu se numără și germana. [↩]
- Iar acest fapt poate fi explicat de ideea conform căreia viziunea e mai ușor abordabilă de creierul uman decât auzul. Sau pur și simplu cercetătorii n-au fost interesați de domeniu prea tare. [↩]
Comentariile sunt dezactivate.
Comments
Hm, strict tehnic vorbind auzul ar trebui să fie legat mai adânc decât văzul – fătul aude şi distinge sunete diferite înainte de a vedea şi lucruri diferite de lichidul său amniotic. Similar, înveţi limbi înainte să le scrii.
Nu-mi dau seama dacă asta implică cumva şi o procesare mai complexă a semnalelor sonore de către creieri – şi implicit dificultate mai mare a reproducerii procesului în mod electronic ..
Cel mai probabil că implică ceva de genul. Adică din punctul de vedere al senzorilor văzul e mai dezvoltat la omul mediu decât auzul. Cu toate astea, creierul are mecanisme de filtrare/corecție/aproximare foarte sofisticate când vine vorba de sunet.
Complexitatea vine, cred eu, pe de o parte din faptul că recunoașterea unei foneme implică memorarea unei succesiuni destul de complexe de pitch-uri, asta dacă ne referim la vocale. Cu consoanele treaba stă poate și mai complicat.
Pe de altă parte, învățarea asociativă folosind o rețea neurală (dacă s-a proiectat vreodată așa ceva pentru sunete; nu am habar) ar fi computațional intensivă. Mie personal mi se pare cam singura opțiune eficientă, fiindcă există șanse destul de mari să existe zgomote într-o înregistrare audio și rețeaua neurală s-ar ocupa implicit și de partea asta.
[…] toate astea, și în ciuda faptului că au existat și există încercări mai mult sau mai puțin fructuoase de a aduce mașina mai aproape de utilizator, lucrurile nu s-au schimbat foarte mult față de anii […]