Motor de recunoaștere a vorbirii. Sisteme automate de recunoaștere a vorbirii

Ce bine era pe vremuri! Apelând la biroul de asistență, a fost posibil să discutați cu operatoarea și chiar să faceți o programare cu ea. Acum, la celălalt capăt al firului, se aude o voce feminină plăcută, dar neînsuflețită, care se oferă să formeze 1 pentru a primi astfel de informații, 2 - pentru a comunica cu asta, 3 - pentru a ieși din meniu etc. Din ce în ce mai mult, accesul la informație este controlat de sistem, nu de individ. Aceasta are propria logică: munca monotonă, neinteresantă nu este făcută de o persoană, ci de o mașină. Și pentru utilizator, procedura de obținere a informațiilor este simplificată: a apelat un anumit set de numere - a primit informațiile necesare.

Cum funcționează un astfel de sistem? Să încercăm să ne dăm seama.

Cele două tipuri principale de programe de recunoaștere a vorbirii sunt:

Software de dictare - Introduceți text și numere.

Să facem imediat o rezervă că nu vom lua în considerare sistemele Text-to-speech și speech-to-text, adică traducerea textului în vorbire orală și invers. Ne vom limita la sisteme de recunoaștere automată a comenzilor, sau navigatoare vocale.

SARR - ce este?

Recunoașterea automată a vorbirii (CAPP) este un element al procesului de procesare a vorbirii, al cărui scop este de a oferi un dialog convenabil între utilizator și mașină. În sens larg, vorbim de sisteme care efectuează decodarea fonemică a unui semnal acustic de vorbire atunci când se pronunță mesaje vocale într-un stil liber, un vorbitor arbitrar, fără a ține cont de orientarea problemei și de restricțiile privind volumul dicționarului. Într-un sens restrâns, CAPP-urile facilitează rezolvarea unor probleme particulare prin impunerea unor restricții asupra cerințelor de recunoaștere a vorbirii cu sunet natural în sensul său clasic. Astfel, gama de soiuri CAPP variază de la simple dispozitive de sine stătătoare și jucării pentru copii care sunt capabile să recunoască sau să sintetizeze cuvinte, numere, orașe, nume, etc. rostite separat, până la sisteme super-complexe de recunoaștere a vorbirii cu sunet natural și sinteza acestuia. pentru utilizare, de exemplu, ca asistent asistent (IBM VoiceType Simply Speaking Gold).

Fiind componenta principală a oricărei interfețe prietenoase între o mașină și o persoană, CAPP poate fi încorporat în diverse aplicații, de exemplu, în sistemele de control vocal, accesul vocal la resursele informaționale, învățarea limbilor prin intermediul computerului, asistența persoanelor cu incapacități, accesul la ceva prin sisteme de verificare/identificare vocală.

CAPP este foarte util ca instrument de căutare și sortare a datelor audio și video înregistrate. Recunoașterea vorbirii este folosită și la introducerea informațiilor, ceea ce este util mai ales atunci când ochii sau mâinile unei persoane sunt ocupate. CARR permite persoanelor care lucrează în medii stresante (medici din spitale, muncitori din fabrici, șoferi) să folosească un computer pentru a obține sau introduce informațiile necesare.

În mod obișnuit, CAPP este utilizat în sisteme precum aplicații de telefonie, sisteme încorporate (sisteme de apelare, operare PDA, conducere etc.), aplicații multimedia (sisteme de predare a limbilor străine).

Taste vocale

Indiciile vocale sunt uneori denumite sisteme de recunoaștere automată a vorbirii. De obicei, acestea sunt sisteme biometrice de acces autorizat la informații sau de acces fizic la obiecte. Trebuie să se distingă două tipuri de astfel de sisteme: sisteme de verificare și sisteme de identificare. În timpul verificării, utilizatorul își prezintă mai întâi codul, adică se declară într-un fel sau altul, apoi spune cu voce tare o parolă sau o frază arbitrară. Sistemul verifică dacă vocea dată corespunde standardelor care au fost apelate din memoria computerului conform codului prezentat.

La identificare, nu se face nicio declarație prealabilă despre utilizator. În acest caz, se realizează o comparație a acestei voci cu toate standardele și apoi se determină în mod specific cine este persoana identificată de voce. Astăzi, există multe abordări și metode pentru implementarea unor astfel de sisteme și toate, de regulă, diferă unele de altele - câți dezvoltatori, atât de multe dintre soiurile lor. Același lucru se poate spune despre sistemele de recunoaștere a vorbirii. Prin urmare, este posibil să se judece caracteristicile sistemelor specifice de recunoaștere a vorbirii și de recunoaștere a personalității folosind baze de date speciale de testare.

Un pic de istorie

Statele Unite ale Americii, sfârșitul anilor 1960: „Trei”, a spus Walter Cronkite, gazda programului științific popular 21st Century, în timpul unei demonstrații a celor mai recente evoluții în recunoașterea vorbirii. Computerul a recunoscut acest cuvânt drept „patru”. — Idiotule, mormăi Walter. „Acel cuvânt nu este în dicționar”, a răspuns computerul.

Deși primele dezvoltări în domeniul recunoașterii vorbirii datează din anii 1920, primul sistem a fost creat abia în 1952 de Bell Laboratories (astazi parte a Lucent Technologies). Și primul sistem comercial a fost creat și mai târziu: în 1960, IBM a anunțat dezvoltarea unui astfel de sistem, dar programul nu a intrat niciodată pe piață.

Apoi, în anii 1970, Eastern Airlines din Statele Unite a instalat un sistem de expediere a bagajelor dependent de difuzor: operatorul a numit destinația - iar bagajul a fost trimis pe drum. Cu toate acestea, din cauza numărului de erori făcute, sistemul nu a trecut niciodată de perioada de probă.

După aceea, evoluțiile în acest domeniu, dacă au existat, au fost efectuate destul de lent. Chiar și în anii 1980, existau destul de multe aplicații comerciale reale care foloseau sisteme de recunoaștere a vorbirii.

Astăzi, nu zeci, ci sute de echipe de cercetare din instituțiile științifice și de învățământ, precum și din marile corporații, lucrează în această direcție. Acest lucru poate fi judecat de astfel de forumuri internaționale de oameni de știință și specialiști în domeniul tehnologiilor de vorbire precum ICASSP, EuroSpeech, ICPHS etc. Rezultatele muncii, care, așa cum spunem la figurat, „a căzut asupra lumii întregi”, cu greu pot fi apreciate. fi supraestimat.

De câțiva ani, navigatoarele vocale, sau sistemele de recunoaștere a comenzilor, sunt folosite cu succes în diverse domenii de activitate. De exemplu, centrul de apeluri OmniTouch furnizat Vaticanului de către Alcatel a fost folosit pentru a deservi evenimentele care au avut loc ca parte a sărbătoririi a 2000 de ani de la Hristos. Pelerinul care a sunat la call center și-a spus întrebarea, iar sistemul automat de recunoaștere a vorbirii l-a „ascultat”. Dacă sistemul a stabilit că a fost pusă o întrebare despre un subiect care apare frecvent, cum ar fi programul evenimentelor sau adresele hotelurilor, atunci a fost inclusă o intrare preînregistrată. Dacă era necesar să se clarifice întrebarea, a fost oferit un meniu de vorbire, în care unul dintre elemente trebuia indicat vocal. Dacă sistemul de recunoaștere a determinat că nu există un răspuns preînregistrat la întrebarea adresată, atunci pelerinul a fost conectat la operatorul uman.

În Suedia, un serviciu automat de întrebări telefonice a fost deschis recent folosind software-ul Philips de recunoaștere a vorbirii. În prima lună de funcționare a serviciului Autosvar, care a început să funcționeze fără un anunț oficial, 200.000 de clienți au folosit serviciile acestuia. O persoană trebuie să formeze un anumit număr și, după răspunsul secretarului automat, să numească secțiunea din directorul de informații care o interesează.

Noul serviciu este destinat în principal clienților privați, care îl vor prefera datorită costului semnificativ mai mic al serviciilor. Serviciul Autosvar este primul de acest fel din Europa (în SUA, testele unui serviciu similar la AT&T au început în decembrie anul trecut).

Iată câteva exemple de utilizare a acestei tehnologii în SUA.

Agenții imobiliari apelează adesea la serviciile Newport Wireless. Când un agent imobiliar merge pe stradă și vede un semn de vânzare în apropierea unei case, sună la Newport Wireless și îi cere informații despre o casă cu așa sau cutare număr situată pe așa sau cutare stradă. Robotul telefonic cu o voce feminină plăcută îi spune despre filmările casei, data construcției și proprietarii. Toate aceste informații se află în baza de date Newport Wireless. Agenții imobiliari pot emite doar un mesaj clientului. Taxa de abonament este de aproximativ 30 USD pe lună.

Julie, agentul virtual al Amtrak, deservește pasagerii feroviar din octombrie 2001. Ea informează telefonic despre orarul trenurilor, sosirea și plecarea acestora și face și rezervări de bilete. Julie este un produs al software-ului SpeechWorks și al hardware-ului Intervoice. A crescut deja satisfacția pasagerilor cu 45%; 13 din 50 de clienți primesc de la Julie toate informațiile de care au nevoie. Amtrak folosea un sistem de recomandare bazat pe tonuri, dar rata de satisfacție era mai mică atunci, cu doar 9 din 50 de clienți.

Amtrak admite că Julie și-a plătit prețul (4 milioane de dolari) în 12-18 luni. Ea a permis să nu angajeze o întreagă echipă de angajați. Și British Airways economisește 1,5 milioane de dolari pe an utilizând tehnologia de la Nuance Communications, care automatizează și biroul de asistență.

Recent, Sony Computer Entertainment America a introdus Socom, primul joc video în care jucătorii pot da ordine verbale luptătorilor cu grenade Deploy. Jocul de 60 USD folosește tehnologia ScanSoft. Anul trecut, 450.000 dintre aceste jocuri au fost vândute, făcând din Socom lider incontestabil în vânzările companiei.

În mașinile scumpe precum Infinity și Jaguar, controlul verbal al panoului de control este folosit de câțiva ani: radioul, regimul de temperatură și sistemul de navigație înțeleg vocea proprietarului mașinii și se supun fără îndoială proprietarului. Dar acum tehnologia de recunoaștere a vocii începe să fie aplicată mașinilor din clasa de mijloc. Deci, din 2003, Honda Accord are încorporat un identificator de voce de la IBM. Se numește ViaVoice și face parte dintr-un sistem de navigație de 2.000 de dolari. Potrivit furnizorului, o cincime dintre cumpărătorii Honda Accord optează pentru un model cu navigație vocală.

Chiar și în medicină, tehnologia de recunoaștere a vocii și-a găsit locul. Au fost deja dezvoltate dispozitive de examinare a stomacului, ascultătoare de vocea medicului. Adevărat, aceste dispozitive, conform experților, sunt încă imperfecte: au un răspuns lent la comenzile medicului. Dar încă înainte. În Memphis, Centrul Medical VA a investit 277.000 de dolari în software-ul Dragon, care permite medicilor și asistentelor să dicteze informații într-o bază de date computerizată. Probabil, în curând nu va fi necesar să suferi pentru a desluși scrierea de mână a unui medic într-o fișă medicală.

Deja sute de companii mari folosesc tehnologia de recunoaștere a vocii în produsele sau serviciile lor; acestea includ AOL, FedEx, Honda, Sony, Sprint, T. Rowe Price, United Airlines și Verizo. Potrivit experților, piața tehnologiei vocale a ajuns în 2002 la aproximativ 695 de milioane de dolari, ceea ce este cu 10% mai mare decât în ​​2001.

United Airways a introdus un serviciu automat de interogare în 1999. Sistemele automate de procesare a apelurilor telefonice sunt operate de companii precum banca de investiții Charles Schwab & Co, lanțul de retail Sears, lanțul de supermarketuri Roebuck. Operatorii wireless din SUA (AT&T Wireless și Sprint PCS) folosesc programe similare și oferă servicii de apelare vocală de peste un an. Și deși America este acum lider în numărul de centre de apel de acest tip, recent beneficiile sistemelor de recunoaștere a vorbirii au început să se realizeze în Europa. De exemplu, serviciul feroviar elvețian oferă deja pasagerilor săi vorbitori de germană servicii similare cu cele oferite de United Airways.

Prognozele analiștilor

Astăzi, tehnologiile de recunoaștere a vorbirii sunt considerate printre cele mai promițătoare din lume. Astfel, conform previziunilor companiei americane de cercetare Cahners In-Stat, piata mondiala a software-ului de recunoastere a vorbirii va creste de la 200 de milioane la 2,7 miliarde de dolari pana in 2005. Potrivit Datamonitor, volumul pietei de tehnologie de voce va creste cu un medie de 43% pe an: de la 650 de milioane de dolari în 2000 la 5,6 miliarde de dolari în 2006 (Fig. 1). Experții care colaborează cu corporația media CNN au clasat recunoașterea vorbirii drept una dintre cele mai promițătoare opt tehnologii din acest an. Iar analiștii de la IDC spun că până în 2005, recunoașterea vorbirii va înlocui complet toate celelalte tehnologii de vorbire de pe piață (Fig. 2).

Principalele dificultăți

Principala problemă care apare în dezvoltarea CAPP este pronunțarea variantă a aceluiași cuvânt atât de către persoane diferite, cât și de către aceeași persoană în situații diferite. Acest lucru nu va deranja o persoană, dar un computer poate. În plus, semnalul de intrare este afectat de numeroși factori, cum ar fi zgomotul ambiental, reflexia, ecou și zgomotul canalului. Acest lucru este complicat de faptul că zgomotul și distorsiunea nu sunt cunoscute în prealabil, adică sistemul nu poate fi ajustat la ele înainte de începerea lucrărilor.

Cu toate acestea, mai mult de jumătate de secol de muncă la diferite CAPP-uri a dat roade. Aproape orice sistem modern poate funcționa în mai multe moduri. În primul rând, poate fi dependent sau independent de crainic. Un sistem dependent de vorbitor necesită o pregătire specială pentru un anumit utilizator pentru a recunoaște cu exactitate ceea ce spune. Pentru a antrena sistemul, utilizatorul trebuie să spună câteva cuvinte sau expresii specifice, pe care sistemul le va analiza și reține rezultatele. Acest mod este de obicei folosit în sistemele de dictare când un utilizator lucrează cu sistemul.

Sistemul independent de difuzor poate fi utilizat de orice utilizator fără o procedură de antrenament. Acest mod este de obicei folosit acolo unde procedura de învățare nu este posibilă, cum ar fi în aplicațiile de telefonie. Evident, acuratețea de recunoaștere a unui sistem dependent de difuzor este mai mare decât cea a unuia independent de difuzor. Cu toate acestea, un sistem independent de difuzor este mai convenabil de utilizat, de exemplu, poate funcționa cu o gamă nelimitată de utilizatori și nu necesită pregătire.

În al doilea rând, sistemele sunt împărțite în cele care funcționează doar cu comenzi izolate și cele care pot recunoaște vorbirea coerentă. Recunoașterea vorbirii este o sarcină mult mai complexă decât recunoașterea cuvintelor rostite separat. De exemplu, când treceți de la recunoașterea cuvintelor izolate la recunoașterea vorbirii cu un dicționar de 1000 de cuvinte, rata de eroare crește de la 3,1 la 8,7, iar procesarea vorbirii durează de trei ori mai mult.

Modul de pronunție a comenzilor izolate este cel mai simplu și cel mai puțin intensiv în resurse. Când lucrează în acest mod, după fiecare cuvânt, utilizatorul se oprește, adică marchează clar limitele cuvintelor. Sistemul nu trebuie să găsească începutul și sfârșitul unui cuvânt într-o frază în sine. Sistemul compară apoi cuvântul recunoscut cu modelele din dicționar, iar modelul cel mai probabil este acceptat de sistem. Acest tip de recunoaștere este utilizat pe scară largă în telefonie în locul metodelor obișnuite DTMF.

Variații suplimentare în vorbire apar și din cauza intonațiilor arbitrare, accentului, structurii nestricte a frazelor, pauze, repetări etc.

La joncțiunea pronunției continue și separate a cuvintelor, a apărut un mod de căutare a cuvintelor cheie. În acest mod, CAPP găsește un cuvânt predeterminat sau un grup de cuvinte în fluxul general de vorbire. Unde poate fi folosit? De exemplu, în dispozitivele de ascultare care pornesc și încep înregistrarea atunci când anumite cuvinte apar în vorbire sau în referință electronică. După ce a primit o solicitare într-o formă arbitrară, sistemul selectează cuvinte semantice și, recunoscându-le, furnizează informațiile necesare.

Mărimea dicționarului folosit este o componentă importantă a CAPP. Evident, cu cât dicționarul este mai mare, cu atât este mai mare probabilitatea ca sistemul să facă o greșeală. În multe sisteme moderne, este posibil fie să completați dicționarele cu cuvinte noi, după cum este necesar, fie să încărcați noi dicționare. Rata de eroare tipică pentru un sistem independent de vorbitor cu pronunție de comandă izolată este de aproximativ 1% pentru un dicționar de 100 de cuvinte, 3% pentru un dicționar de 600 de cuvinte și 10% pentru un dicționar de 8000 de cuvinte.

Ofertele pieței moderne CAPP

iar piata astazi este reprezentata de CAPP a diverselor companii. Să luăm în considerare unele dintre ele.

Aculab

Precizia recunoașterii 97%.

Sistem independent de difuzoare. Dezvoltatorii sistemului au analizat diverse baze de date pentru multe limbi pentru a lua în considerare toate variațiile de vorbire care apar în funcție de vârstă, voce, sex și accent. Algoritmii proprietari asigură recunoașterea vorbirii, indiferent de caracteristicile echipamentului (căști, microfon) și de caracteristicile canalului.

Sistemul acceptă capacitatea de a crea dicționare suplimentare care iau în considerare particularitățile pronunției și accentelor. Acest lucru este util mai ales atunci când sistemul este folosit de persoane a căror pronunție este foarte diferită de cea obișnuită.

Sistemul acceptă cele mai comune limbi, cum ar fi engleza britanică și americană, franceză, germană, italiană, spaniolă nord-americană. Un dicționar poate fi configurat pentru oricare dintre aceste limbi, dar nu este posibil să utilizați mai multe limbi în același timp ca parte a unui singur dicționar.

Produsul este disponibil pe Windows NT/2000, Linux și Sun SPARC Solaris.

Babear SDK versiunea 3.0

Sistem independent de difuzor care nu necesită instruire pentru un anumit utilizator. Adaptarea la utilizator are loc în timpul funcționării și oferă cel mai bun rezultat de recunoaștere. Reglarea automată a activității vocale vă permite să recunoașteți vorbirea într-un mediu foarte zgomotos, cum ar fi într-o mașină. Sistemul nu determină cuvinte care nu sunt listate în dicționar. Este posibil să căutați cuvinte cheie. Sistemul poate fi configurat să funcționeze atât cu un dicționar mic (pronunțarea izolată a comenzilor), cât și cu un dicționar mare (vorbire).

Sistemul acceptă următoarele limbi: engleză britanică și americană, spaniolă germană, franceză, daneză, suedeză, turcă, greacă, islandeză și arabă.

Sistemul rulează pe Windows 98 (SE)/NT 4.0/2000/CE, Mac OS X și Linux.

Loquendo ASR

Sistem independent de difuzoare optimizat pentru utilizare în telefonie. Este posibil să recunoașteți cuvintele și vorbirea individuale, să căutați cuvinte cheie (dicționar de până la 500 de cuvinte). Vă permite să creați aplicații ușor de utilizat datorită volumului mare al dicționarului și flexibilității sistemului.

Acceptă 12 limbi, inclusiv cele mai comune limbi europene (italiană, spaniolă, engleză britanică și americană, franceză, germană, greacă, suedeză etc.).

Inclus în Loquendo Speech Suite împreună cu sistemul text-to-speech și Loquendo VoiceXML Interpreter, care acceptă mai multe voci și limbi.

Sistemul funcționează pe baza MS Windows NT/2000, UNIX și Linux.

LumenVox

Un sistem independent de difuzor care nu necesită pregătire, dar după adaptarea la un anumit utilizator, rezultatele recunoașterii devin mult mai bune: acuratețea recunoașterii depășește 90%.

Suportă diferite formate de fișiere audio: (u-law 8 kHz, PCM 8 kHz, PCM 16 kHz). Nu are cerințe stricte pentru resursele hardware. Funcționează pe baza Windows NT/2000/XP și Linux.

Cerințe de sistem (pe Windows):

Windows NT 4.0 cu Service Pack 6a, Windows 2000 sau Windows XP Pro;

Dimensiunea minimă de memorie este de 512 MB.

Cerințe de sistem (bazate pe Red Hat Linux):

Red Hat Linux 7.2;

Intel Pentium III 800 MHz sau mai mare;

Dimensiunea memoriei 256 MB;

Dimensiunea discului 17 MB (după decompresie).

Nuanţă

Potrivit producătorilor, sistemul este optimizat pentru cel mai mic consum de memorie și alte resurse de sistem. Precizia recunoașterii este de până la 96% și rămâne ridicată chiar și într-un mediu zgomotos.

Există posibilitatea de auto-învățare a sistemului și de ajustare a acestuia pentru fiecare utilizator.

Rulează pe Windows 2000 și Linux.

SPIRIT

Limba poate fi oricare (dicționarul este alcătuit pentru cerințele specifice ale clientului și include acele cuvinte și în limba pe care clientul a specificat-o în cerințele pentru setările sistemului. Dicționarul poate include cuvinte din diferite limbi, adică fără schimbând setările, sistemul poate recunoaște cuvinte, de exemplu, atât în ​​chineză, cât și în finlandeză, dacă au fost introduse anterior în dicționar). Astfel, acest sistem poate funcționa cu orice limbă, în timp ce alte sisteme - doar cu un anumit set de ele.

Acesta este un sistem automat de recunoaștere a vorbirii care oferă recunoaștere de înaltă calitate chiar și într-un mediu foarte zgomotos. Sistemul poate fi configurat cu ușurință pentru a funcționa în unul dintre cele două moduri: recunoașterea frazelor cu un număr fix de comenzi (pronunțarea comenzilor individuale, modul cod PIN) și recunoașterea frazelor cu un număr arbitrar de comenzi (pronunțarea continuă a comenzilor, „mod coerent de vorbire”). Este posibil să căutați cuvinte cheie. Această soluție funcționează în condiții de zgomot nestaționar aditiv. Raportul semnal-zgomot necesar este de până la 0 dB în „modul cod PIN” și de până la +15 dB în modul de vorbire conectat.

Întârziere de recunoaștere - 0,2 s. Parametrii canalului acustic: lățime de bandă între 300-3500 Hz. Adaptarea la mediul acustic se realizează prin fragmente de zgomot cu o lungime totală de minim 3 s.

Pentru „Modul cod PIN”:

Dicționar - 50 de comenzi;

Probabilitatea recunoașterii corecte - 95-99% la SNR = 0…6 dB;

Condiții acustice necesare: zgomot static aditiv în bandă largă cu SNR (raport semnal/zgomot) >= 15 dB.

Pentru modul de recunoaștere a vorbirii conectat:

Dicționar - 12 cuvinte / numere;

Probabilitatea recunoașterii corecte a unui lanț de cuvinte este de 98-99%.

Specific: adaptare la zgomote arbitrare.

Sistemul automat de recunoaștere a vorbirii de la SPIRIT este disponibil sub forma unei aplicații pentru PC sub MS Windows sau cod de asamblare. La cererea clienților, soluția poate fi portată pe orice platformă DSP sau RISC.

VoiceWare

Sistemul poate funcționa atât în ​​modul dependent de difuzor, cât și în modul independent de difuzor, astfel încât nu este necesară pregătirea specială a sistemului pentru a lucra cu un anumit utilizator.

Oferă acuratețe ridicată a recunoașterii și funcționare în timp real, chiar și în medii zgomotoase.

Sistemul recunoaște vorbirea conectată și o listă secvențială de numere.

Cuvintele care nu sunt enumerate în dicționar și zgomotul străin nu sunt percepute de ea, iar cuvintele care nu înseamnă nimic, cum ar fi „a”, „bine”, etc., sunt aruncate.

Cuvinte noi pot fi adăugate în dicționar.

Sistemul se adaptează automat la tonul, pronunția și alte caracteristici de vorbire ale utilizatorului.

VoiceWare acceptă engleza americană și coreeană; Chineză și japoneză sunt în curs de dezvoltare.

Sistemul rulează pe Windows 95/98/NT 4.0, UNIX și Linux.

Pentru a recunosc vorbireași traduceți-l de la audio sau video la text, există programe și extensii (plugin-uri) pentru browsere. Totuși, de ce toate acestea, dacă există servicii online? Programele trebuie instalate pe un computer, în plus, majoritatea programelor de recunoaștere a vorbirii sunt departe de a fi gratuite.


Un număr mare de plug-in-uri instalate în browser încetinește foarte mult activitatea acestuia și viteza de navigare pe Internet. Iar serviciile despre care se vor discuta astăzi sunt complet gratuite și nu necesită instalare - ai intrat, l-ai folosit și ai plecat!

În acest articol, ne vom uita la două servicii de traducere online din vorbire în text. Ambele funcționează pe un principiu similar: începeți înregistrarea (permiteți browserului să acceseze microfonul în timp ce utilizați serviciul), vorbiți în microfon (dictați), iar la ieșire obțineți text care poate fi copiat în orice document de pe dvs. calculator.

Speechpad.ru

Serviciu online de recunoaștere a vorbirii în limba rusă. Are instrucțiuni detaliate de lucru în limba rusă.

  • suport pentru 7 limbi (rusă, ucraineană, engleză, germană, franceză, spaniolă, italiană)
  • descărcați pentru a transcrie un fișier audio sau video (videoclipurile YouTube sunt acceptate)
  • traducere simultană în altă limbă
  • suport pentru introducerea vocală a semnelor de punctuație și a avansului de linie
  • bara de butoane (schimbarea majusculelor, noua linie, ghilimele, paranteze etc.)
  • disponibilitatea unui cont personal cu un istoric al înregistrărilor (opțiune disponibilă după înregistrare)
  • prezența unui plug-in pentru Google Chrome pentru introducerea textului prin voce în câmpul de text al site-urilor (numit „Introducere text vocal – Speechpad.ru”)

Dictation.io

Al doilea serviciu online de traducere din vorbire în text. Un serviciu străin, care, între timp, funcționează de minune cu limba rusă, ceea ce este extrem de surprinzător. Calitatea recunoașterii vorbirii nu este inferioară Speechpad, dar vom discuta mai târziu.

Funcționalitatea principală a serviciului:

  • suport pentru 30 de limbi, printre care se numără chiar maghiară, turcă, arabă, chineză, malaeză etc.
  • recunoașterea automată a pronunției semnelor de punctuație, întreruperilor de rând etc.
  • capacitatea de a se integra cu paginile oricărui site
  • prezența unui plugin pentru Google Chrome (numit „VoiceRecognition”)

În recunoașterea vorbirii, cel mai important lucru este tocmai calitatea traducerii vorbire în text. „Chile” și oportunități plăcute - nimic mai mult decât un plus bun. Deci cu ce se pot lăuda ambele servicii în acest sens?

Test comparativ al serviciilor

Pentru test, vom alege două fragmente greu de recunoscut care conțin cuvinte și expresii care sunt rar folosite în discursul de astăzi. Pentru început, citim un fragment din poezia „Copii țărani” de N. Nekrasov.

Mai jos este rezultatul traducerii vorbire în text fiecare serviciu (erorile sunt marcate cu roșu):

După cum puteți vedea, ambele servicii au făcut față recunoașterii vorbirii cu erori aproape identice. Rezultatul este destul de bun!

Acum, pentru test, să luăm un extras din scrisoarea soldatului Armatei Roșii Suhov (filmul „Soarele alb al deșertului”):

Rezultat excelent!

După cum puteți vedea, ambele servicii fac față în mod adecvat recunoașterii vorbirii - alegeți oricare! Se pare că chiar folosesc același motor - au avut erori prea asemănătoare conform rezultatelor testelor). Dar dacă aveți nevoie de funcții suplimentare, cum ar fi încărcarea unui fișier audio/video și traducerea acestuia în text (transcriere) sau traducerea simultană a textului vocal într-o altă limbă, atunci Speechpad va fi cea mai bună alegere!


Apropo, iată cum a realizat o traducere simultană a unui fragment din poemul lui Nekrasov în engleză:

Ei bine, aceasta este o scurtă instrucțiune video pentru lucrul cu Speechpad, înregistrată de însuși autorul proiectului:

Prieteni, v-a plăcut acest serviciu? Cunoști analogi mai buni? Împărtășește-ți impresiile în comentarii.

  • tutorial

În acest articol, vreau să trec în revistă elementele de bază ale unui domeniu atât de interesant al dezvoltării software precum Recunoașterea vorbirii. Desigur, nu sunt un expert în acest subiect, așa că povestea mea va fi plină de inexactități, erori și dezamăgiri. Cu toate acestea, scopul principal al „muncii”, după cum sugerează și numele, nu este o analiză profesională a problemei, ci o descriere a conceptelor de bază, problemelor și soluțiilor acestora. În general, îi rog pe toți cei interesați să primească sub tăietură!

Prolog

Să începem cu faptul că vorbirea noastră este o secvență de sunete. Sunetul, la rândul său, este o suprapunere (suprapunere) a vibrațiilor (undelor) sonore de diferite frecvențe. O undă, așa cum știm din fizică, este caracterizată de două atribute - amplitudine și frecvență.

În acest fel, vibrațiile mecanice sunt convertite într-un set de numere potrivite pentru prelucrare pe computerele moderne.

Rezultă că sarcina de recunoaștere a vorbirii se reduce la „potrivirea” unui set de valori numerice (semnal digital) și cuvinte dintr-un dicționar (limba rusă, de exemplu).

Să vedem cum, de fapt, chiar această „mapping” poate fi implementată.

Date de intrare

Să presupunem că avem un fișier/flux cu date audio. În primul rând, trebuie să înțelegem cum funcționează și cum să o citim. Să ne uităm la cea mai simplă opțiune - un fișier WAV.

Formatul implică prezența a două blocuri în fișier. Primul bloc este un antet cu informații despre fluxul audio: bitrate, frecvență, număr de canale, lungime fișier etc. Al doilea bloc este format din date „brute” - același semnal digital, un set de valori de amplitudine.

Logica pentru citirea datelor în acest caz este destul de simplă. Citim antetul, verificăm unele restricții (lipsa compresiei, de exemplu), salvăm datele într-o matrice special alocată.

Recunoaştere

Pur teoretic, acum putem compara (element cu element) eșantionul pe care îl avem cu altul, al cărui text îl cunoaștem deja. Adică, încercați să „recunoașteți” vorbirea... Dar este mai bine să nu faceți asta :)

Abordarea noastră ar trebui să fie stabilă (bine, măcar puțin) față de modificările de timbru al vocii (persoana care pronunță cuvântul), volumul și viteza de pronunție. Desigur, acest lucru nu poate fi realizat prin compararea element cu element a două semnale audio.

Prin urmare, vom merge într-un mod ușor diferit.

Rame

În primul rând, să ne împărțim datele în intervale de timp mici - cadre. Mai mult decât atât, cadrele nu ar trebui să meargă strict unul după altul, ci să se „suprapună”. Acestea. sfârșitul unui cadru trebuie să se intersecteze cu începutul altuia.

Cadrele sunt o unitate de analiză a datelor mai adecvată decât valorile semnalelor specifice, deoarece este mult mai convenabil să analizați undele la un anumit interval decât în ​​anumite puncte. Dispunerea cadrelor „suprapuse” permite netezirea rezultatelor analizei cadrelor, transformând ideea de cadre într-un fel de „fereastră” care se deplasează de-a lungul funcției inițiale (valori semnal).

S-a stabilit empiric că lungimea optimă a cadrului ar trebui să corespundă unui interval de 10 ms, „suprapunere” - 50%. Având în vedere că lungimea medie a cuvântului (cel puțin în experimentele mele) este de 500 ms, un astfel de pas ne va oferi aproximativ 500 / (10 * 0,5) = 100 de cadre pe cuvânt.

spargerea cuvintelor

Prima sarcină care trebuie rezolvată în recunoașterea vorbirii este împărțirea acestui discurs în cuvinte separate. Pentru simplitate, să presupunem că în cazul nostru vorbirea conține unele pauze (intervale de tăcere), care pot fi considerate „separatoare” de cuvinte.

În acest caz, trebuie să găsim o valoare, un prag - valori peste care sunt un cuvânt, sub care sunt tăcerea. Pot exista mai multe opțiuni aici:

  • setat la o constantă (funcționează dacă semnalul original este întotdeauna generat în aceleași condiții, în același mod);
  • valorile semnalului cluster prin evidențierea explicită a setului de valori corespunzător tăcerii (va funcționa numai dacă tăcerea ocupă o parte semnificativă a semnalului original);
  • analiza entropia;

După cum probabil ați ghicit, vom vorbi acum despre ultimul punct :) Să începem cu faptul că entropia este o măsură a dezordinei, „o măsură a incertitudinii oricărei experiențe” (c). În cazul nostru, entropia înseamnă cât de mult „fluctuează” semnalul nostru într-un cadru dat.

  • să presupunem că semnalul nostru este normalizat și toate valorile sale se află în intervalul [-1;1];
  • construiți o histogramă (densitatea de distribuție) a valorilor semnalului cadru:
calcula entropia ca ;

Și așa, am obținut valoarea entropiei. Dar aceasta este doar o altă caracteristică a cadrului și, pentru a separa sunetul de tăcere, mai trebuie să-l comparăm cu ceva. În unele articole, se recomandă să luați pragul de entropie egal cu media dintre valorile maxime și minime (dintre toate cadrele). Cu toate acestea, în cazul meu, această abordare nu a dat rezultate bune.
Din fericire, entropia (spre deosebire de pătratul mediu al valorilor) este o mărime relativ independentă. Acest lucru mi-a permis să ridic valoarea pragului său sub forma unei constante (0,1).

Cu toate acestea, problemele nu se termină aici: (Entropia se poate afunda în mijlocul unui cuvânt (pe vocale), sau poate sări brusc în sus din cauza unui mic zgomot. Pentru a rezolva prima problemă, trebuie să introducem conceptul de „distanță minimă între cuvinte” și „lipitură” în apropierea seturilor de cadre înclinate separate din cauza tasării. A doua problemă este rezolvată prin utilizarea „lungimei minime a cuvântului” și tăierea tuturor candidaților care nu au trecut selecția (și nu au fost utilizați). în primul paragraf).

Dacă, în principiu, vorbirea nu este „articulată”, se poate încerca să spargă setul original de cadre în subsecvențe pregătite într-un anumit mod, fiecare dintre acestea fiind supusă unei proceduri de recunoaștere. Dar asta e cu totul alta poveste :)

Și așa, avem un set de cadre corespunzătoare unui anumit cuvânt. Putem lua calea cu cea mai mică rezistență și folosim pătratul mediu al tuturor valorilor sale (Root Mean Square) ca caracteristică numerică a cadrului. Cu toate acestea, o astfel de măsurătoare conține foarte puține informații potrivite pentru analize ulterioare.

Aici intră în joc coeficienții cepstrali de frecvență Mel. Potrivit Wikipedia (care, după cum știți, nu minte), MFCC este un fel de reprezentare a energiei spectrului de semnal. Avantajele utilizării acestuia sunt următoarele:

  • Se utilizează spectrul semnalului (adică expansiunea în ceea ce privește baza funcțiilor [co]sinusoidale ortogonale), ceea ce face posibilă luarea în considerare a „natura” undei a semnalului în analiza ulterioară;
  • Spectrul este proiectat pe o scară mel specială, permițându-vă să evidențiați cele mai semnificative frecvențe pentru percepția umană;
  • Numărul de coeficienți calculați poate fi limitat la orice valoare (de exemplu, 12), ceea ce vă permite să „comprimați” cadrul și, ca urmare, cantitatea de informații care este procesată;

Să ne uităm la procesul de calcul al coeficienților MFCC pentru un anumit cadru.

Să reprezentăm cadrul nostru ca un vector, unde N este dimensiunea cadrului.

Expansiunea Fourier

În primul rând, calculăm spectrul semnalului folosind transformata Fourier discretă (de preferință implementarea sa „rapidă” FFT).

Adică, rezultatul va fi un vector de următoarea formă:

Este important de înțeles că după această transformare pe axa x avem frecvența (hz) a semnalului, iar pe axa y avem mărimea (ca o modalitate de a scăpa de valorile complexe):

Calculul filtrelor de topire

Să începem cu ce este mel. Din nou, conform Wikipedia, mel este o „unitate psihofizică de pitch” bazată pe percepția subiectivă a oamenilor obișnuiți. Depinde în primul rând de frecvența sunetului (precum și de volum și timbru). Cu alte cuvinte, această valoare, care arată cât de mult este „semnificativ” pentru noi sunetul unei anumite frecvențe.

Puteți converti frecvența în cretă folosind următoarea formulă (rețineți-o ca „formula-1”):

Transformarea inversă arată astfel (rețineți-o ca „formula-2”):

Grafic mel/frecvență:

Dar să revenim la sarcina noastră. Să presupunem că avem un cadru cu o dimensiune de 256 de elemente. Știm (din datele formatului audio) că frecvența audio într-un cadru dat este 16000hz. Să presupunem că vorbirea umană se află în intervalul de la hz. Să setăm numărul de coeficienți mel căutați M = 10 (valoare recomandată).

Pentru a descompune spectrul obținut mai sus pe o scară mel, trebuie să creăm un „pieptene” de filtre. În esență, fiecare filtru mel este o funcție de fereastră triunghiulară care vă permite să însumați cantitatea de energie dintr-un anumit interval de frecvență și, prin urmare, să obțineți coeficientul mel. Cunoscând numărul de coeficienți mel și intervalul de frecvență analizat, putem construi un set de astfel de filtre:

Rețineți că cu cât numărul coeficientului mel este mai mare, cu atât baza filtrului este mai largă. Acest lucru se datorează faptului că împărțirea intervalului de frecvență care ne interesează în intervalele procesate de filtre are loc pe scara cretă.

Dar ne abatem din nou. Și astfel, pentru cazul nostru, gama de frecvențe de interes pentru noi este . Conform formulei 1 pe scara de cretă, această gamă se transformă în.

m[i] =

Vă rugăm să rețineți că punctele sunt distanțate uniform pe scara de cretă. Să convertim scala înapoi în herți folosind formula-2:

h[i] =

După cum puteți vedea, acum scara a început să se întindă treptat, nivelând astfel dinamica creșterii „semnificației” la frecvențe joase și înalte.

Acum trebuie să suprapunem scara rezultată pe spectrul cadrului nostru. După cum ne amintim, pe axa X avem frecvența. Lungimea spectrului este de 256 - elemente, în timp ce se potrivește 16000hz. Rezolvând o proporție simplă, puteți obține următoarea formulă:

f(i) = podea((frameSize+1) * h(i) / sampleRate)

Care în cazul nostru este echivalent cu

f(i) = 4, 8, 12, 17, 23, 31, 40, 52, 66, 82, 103, 128

Asta e tot! Cunoscând punctele de referință de pe axa X a spectrului nostru, este ușor să construim filtrele de care avem nevoie folosind următoarea formulă:

Aplicarea filtrelor, logaritmul energiei spectrului

Aplicarea filtrului constă în multiplicarea în perechi a valorilor acestuia cu valorile spectrului. Rezultatul acestei operații este coeficientul mel. Deoarece avem M filtre, va exista același număr de coeficienți.

Cu toate acestea, trebuie să aplicăm filtre mel nu la valorile spectrului, ci la energia acestuia. Apoi luați logaritmul rezultatelor. Se crede că acest lucru reduce sensibilitatea coeficienților la zgomot.

transformata cosinus

Transformarea Cosinus Discrete (DCT) este folosită pentru a obține acești coeficienți „cepstrali”. Sensul său este de a „comprima” rezultatele obținute prin creșterea semnificației primilor coeficienți și scăderea semnificației celor din urmă.

În acest caz, DCTII este utilizat fără nicio înmulțire cu (factor de scară).

Acum pentru fiecare cadru avem un set de coeficienți M mfcc care pot fi utilizați pentru analize ulterioare.

Pot fi găsite exemple de cod pentru metodele de deasupra.

Algoritm de recunoaștere

Aici, dragă cititor, te așteaptă principala dezamăgire. Pe Internet, s-a întâmplat să văd o mulțime de dispute extrem de inteligente (și nu atât) despre care metodă de recunoaștere este mai bună. Cineva susține Hidden Markov Models, cineva pentru rețelele neuronale, gândurile cuiva sunt practic imposibil de înțeles :)

În orice caz, se acordă multă preferință lui HMM și implementarea lor este pe care o voi adăuga la codul meu ... în viitor :)

Momentan imi propun sa ma opresc la o metoda mult mai putin eficienta, dar de multe ori mai simpla.

Și așadar, amintiți-vă că sarcina noastră este să recunoaștem un cuvânt dintr-un dicționar. Pentru simplitate, vom recunoaște numele primelor zece cifre: „unu”, „două”, „trei”, „patru”, „cinci”, „șase”, „șapte”, „opt”, „nouă”, "zece".

Acum să luăm un iPhone/Android și să trecem prin colegii L cu o solicitare de a dicta aceste cuvinte pentru evidență. Apoi, să atribuim (într-o bază de date locală sau într-un fișier simplu) fiecărui cuvânt L de seturi de coeficienți mfcc ai înregistrărilor corespunzătoare.

Vom numi această corespondență „Model”, iar procesul în sine - Învățare automată! De fapt, simpla adăugare de noi mostre la baza de date are o conexiune extrem de slabă cu învățarea automată... Dar termenul este prea la modă :)

Acum sarcina noastră se reduce la selectarea modelului „cel mai apropiat” pentru un set de coeficienți mfcc (cuvânt de recunoaștere). La prima vedere, problema poate fi rezolvată destul de simplu:

  • pentru fiecare model, găsim distanța medie (euclidiană) dintre vectorul mfcc identificat și vectorii modelului;
  • alegem ca fiind corect modelul, distanta medie pana la care va fi cea mai mica;

Totuși, același cuvânt poate fi pronunțat atât de Andrei Malakhov, cât și de unii dintre colegii săi estonieni. Cu alte cuvinte, dimensiunea vectorului mfcc pentru același cuvânt poate fi diferită.

Din fericire, problema comparării secvențelor de lungimi diferite a fost deja rezolvată sub forma algoritmului Dynamic Time Warping. Acest algoritm de programare dinamică este descris frumos atât în ​​Wiki burghez, cât și în Habré ortodox.

Singura modificare care ar trebui făcută este modul în care este găsită distanța. Trebuie să ne amintim că vectorul mfcc al modelului este de fapt o secvență de „subvectori” mfcc de dimensiunea M obținuți din cadre. Deci, algoritmul DTW ar trebui să găsească distanța dintre secvențele acelorași „subvectori” de dimensiune M. Adică, distanțele (euclidiene) dintre „subvectorii” mfcc ai cadrelor ar trebui folosite ca valori ale matricei distanțelor.

Experimente

Nu am avut ocazia să testez munca acestei abordări pe un eșantion mare de „antrenament”. Rezultatele testelor pe un eșantion de 3 instanțe pentru fiecare cuvânt în condiții non-sintetice au arătat, pentru a spune ușor, nu cel mai bun rezultat - 65% din recunoașteri corecte.

Totuși, scopul meu a fost să creez cea mai simplă aplicație pentru recunoașterea vorbirii. Așadar, să spunem „dovada conceptului” :) Adăugați etichete

  • 9. Poziții fonologice. Foneme puternice și slabe.
  • 10. Alternanțe poziționale ale fonemelor vocalice. Reducerea cantitativă și calitativă a fonemelor vocalice.
  • 11. Alternanțe poziționale ale fonemelor consoane. Asimilare și disimilare prin surditate/vocire și prin duritate/moliciunea.
  • 12. Alternanțe istorice ale fonemelor.
  • 13. Căderea fonemelor vocalice reduse și consecințele acestui fenomen.
  • 14. Alternanțe asociate cu istoria sunetelor nazale în limba rusă veche.
  • 15. Palatalizarea limbilor posterioare.
  • 17. Transcriere fonetică. Transcrierea fonematică
  • 18. Silabă. Programă. Tipuri de silabe.
  • 19. Cuvânt fonetic. stres
  • 20. Bataia vorbirii. Intonaţie
  • 21. Sublinierea. Construcții de intonație
  • 21. Expresie. Intonaţie
  • 22. Conceptul de ortoepie
  • 23. Reguli de bază ale pronunției literare rusești.
  • 24. Pronunțarea vocalelor sub accent. Pronunţie unstressed vocals.
  • 25. Pronunţie individual consonants.
  • 26. Pronunţarea grupurilor de consoane.
  • 27. Pronunţarea unor forme gramaticale.
  • 28. Pronunţarea unor abrevieri. Caracteristici ale pronunției cuvintelor străine.
  • 29. Cazuri dificile de stăpânire a stresului în limba rusă.
  • 30. Dezvoltarea pronunției literare rusești.
  • 31. Codificarea gramaticală
  • 32. Codificare semantică. Două argumente (semne temporale): cauzalitate.
  • 33. Codificare semantică. Două argumente (semne temporare): consecință, rezultat, scop.
  • 34. Codificare semantică. Două argumente (semne temporale): transformare, schimbare
  • 35. Codificare semantică. Două argumente (semne temporare): interacțiune, grupare, comunalitate, asociere
  • 36. Codificare semantică. Două argumente (semne temporare): separare, influență, condiție, intrare.
  • 37. Codificare semantică. Două argumente (semne temporare): conformare, control, subordonare, dependență.
  • 38. Codificare semantică. Un singur argument (semne permanente): proprietate, necesitate, posibilitate, probabilitate, da, nu.
  • 39. Codificare semantică. Un singur argument (semne constante): adevăr, fals.
  • cod semantic. Scopurile lui. Scop. Principiul constructiei. Oportunități.
  • Scopul codului semantic. Termenul „sens”.
  • Scopul codului semantic. Text. Informație. Hipertext în dezvoltarea informaţiei.
  • 43. Analiza gramaticală și semantică în codificarea semantică.
  • 44. Dicționar semantic rus de compatibilitate și dicționar asociativ pentru codificare semantică.
  • Scopul codului semantic. Izomorfism de sistem.
  • Scopul codului semantic. Principiul necesar și suficient.
  • Scopul codului semantic. Conectivitatea claselor și subclaselor
  • 48. Scopul codului semantic. Principiul ierarhiei / non-ierarhiei.
  • 49. Scopul codului semantic. metaforă sistemică.
  • 50. Cod semantic situațional (situațional).
  • 51. Codificare semantică. Cod interpretativ de aliniere. Codul matricei.
  • 52. Sarcini principale și concepte cheie ale interfeței de vorbire.
  • 53. Trecere în revistă istorică a problemei recunoașterii și sintezei vorbirii.
  • 54. Sisteme de sinteză automată a vorbirii. Aplicații practice ale interfeței de vorbire.
  • 55. Sisteme automate de recunoaștere a vorbirii. Aplicații practice ale interfeței de vorbire.
  • 56. Fundamentele lingvistice ale interfeţei vorbirii. Utilizarea lingvisticii în implementarea sistemelor de vorbire.
  • 57. Structura semnalului vorbirii. Analiza si sinteza. Caracteristicile spectro-temporale ale semnalului de vorbire.
  • 58. Structura informaţională şi de modulare a semnalului de vorbire.
  • 59. Metode de sinteză a unui semnal de vorbire. Modele matematice generalizate pentru descrierea semnalelor de vorbire.
  • 60. Metode de sintetizare a unui semnal de vorbire. Model geometric al tractului vocal.
  • 61. Metode de sintetizare a unui semnal de vorbire. modelul formantului.
  • 62. Metode de compilare pentru sinteza unui semnal de vorbire.
  • 63. Metode de analiză a semnalului vorbirii.
  • 64. Metoda de filtrare digitală a unui semnal de vorbire. Analiza spectrală folosind algoritmi FFT. Metoda de filtrare digitală
  • Analiza spectrului folosind algoritmi FFT
  • 65. Analiza spectrală bazată pe predicție liniară. Descrierea formant-parametrică a unui semnal de vorbire. Analiza spectrală bazată pe predicție liniară
  • Descrierea formant-parametrică a unui semnal de vorbire
  • 66. Metoda coeficienților cepstrali. Caracteristici ale percepției vorbirii. Proprietăți ale percepției receptive a vorbirii de către o persoană. Metoda coeficientului cepstral
  • 67. Proprietăţi ale percepţiei receptive a semnalelor de vorbire. Natura trăsăturilor auditive (fonetice) ale semnalului de vorbire. Proprietăți ale percepției receptive a semnalelor de vorbire
  • Natura caracteristicilor auditive (fonetice) ale unui semnal de vorbire
  • 68. Proprietăţile percepţiei elementelor minimale semnificative ale vorbirii
  • 69. Sinteza vorbirii în text. Structura sintetizatorului de vorbire după text.
  • Structura text-to-speech Concepte cheie:
  • 70. Procesor lingvistic. Preprocesarea textului. Procesarea frazei a textului.
  • Preprocesarea textului
  • Procesare text expresie cu frază
  • 71. Procesarea textului testului. Un exemplu de lucru al unui procesor lingvistic. Procesarea cuvântului
  • Un exemplu de lucru al unui procesor lingvistic
  • 72. Procesor prozodic
  • 73. Procesor fonetic. Procesor articulator-fonetic. Procesor fonetic formant.
  • 74. Procesor fonetic alofon. procesor acustic.
  • 75. Aproximarea geometriei tactului vorbirii. Procesor acustic bazat pe metode de compilare de sinteză a vorbirii.
  • 76. Clasificarea sistemelor automate de recunoaștere a vorbirii. Metode de recunoaștere automată a vorbirii.
  • 77. Clasificarea metodelor de recunoaștere a vorbirii.
  • 78. Metoda de programare dinamică.
  • 79. Metoda modelelor Markov ascunse.
  • Sistemele de recunoaștere automată a vorbirii (SAPP) sunt înțelese ca sisteme care convertesc vorbirea de intrare (semnal de vorbire) într-un mesaj recunoscut. În acest caz, mesajul recunoscut poate fi prezentat atât sub forma textului acestui mesaj, cât și

    transformat imediat într-o formă convenabilă pentru prelucrarea sa ulterioară pentru a forma răspunsul sistemului. Inițial, sistemul automat de recunoaștere a vorbirii are sarcina de a converti textul în vorbire. Prin urmare, în literatura engleză, aceste sisteme sunt numite Sistemul Speech To Text. Adesea, sistemele automate de recunoaștere a vorbirii sunt denumite și simplu sisteme de recunoaștere a vorbirii (SPR).

    O diagramă bloc simplificată a sistemului de recunoaștere automată a vorbirii este prezentată în fig.

    Conform modelului de analiză a semnalului de vorbire să înțeleagă blocul a cărui sarcină este să analizeze semnalul de intrare, în primul rând, pentru a-l clasifica ca semnal de vorbire și în al doilea rând, pentru a evidenția componentele din semnalul recepționat care sunt principalele pentru

    recunoașterea mesajului primit. Aceste componente includ parametri care descriu vorbirea, similare celor care se formează în procesul de sinteză a vorbirii. Setul de parametri specificați depinde de metoda de recunoaștere aleasă.

    Model de recunoaștere a vorbirii și de luare a deciziilor este un bloc în cadrul căruia se formează un mesaj recunoscut pe baza analizei succesiunii parametrilor obținuți din primul bloc. De exemplu, dacă se folosește un model de formant de descriere a vorbirii, atunci pe baza frecvențelor obținute în primul bloc, formanții sunt utilizați pentru a construi o secvență de foneme recunoscute care alcătuiesc mesajul de intrare. În acest caz, se ia decizia dacă mesajul de intrare este recunoscut corect. La luarea unei decizii, în special, sunt posibile următoarele decizii: mesajul este recunoscut corect (acest lucru este confirmat de textul care corespunde normelor limbajului natural) sau

    mesajul nu este recunoscut sau recunoscut greșit (o astfel de decizie se ia dacă mesajul recunoscut conține erori evidente greu de corectat automat sau chiar prostii complete).

    Următorii parametri care le caracterizează pot fi citați drept restricții impuse APPS-urilor:

    Tip de vorbire recunoscută (pronunțare cuvânt cu cuvânt cu pauze în stilul comenzilor de vorbire; pronunție clară fără pauze în stilul „dictației”; vorbire spontană);

    Volumul dicționarului (limitat la 100, 200, etc. cuvinte; nelimitat);

    Gradul de dependență față de vorbitor (speaker-dependent; speaker-independent);

    Restricții sintactice (cuvinte individuale; fraze tipice; limbaj artificial; limbaj natural);

    Condiții de recepție a semnalelor de vorbire (microfoane de contact; microfoane la distanță la o distanță mai mare de 1 m);

    Condiții de utilizare a CRR (interferență slabă sau puternică);

    fiabilitatea recunoașterii.

    Aplicații practice ale interfeței de vorbire

    Înainte de a continua să luăm în considerare exemple de utilizare practică a interfeței de vorbire, să o comparăm cu cele mai comune mijloace de interacțiune a utilizatorului cu un computer în prezent: tastatura și afișajul. Trebuie remarcate cel puțin trei diferențe fundamentale ale interfeței de vorbire:

    1) un dezavantaj clar al tastaturii și al afișajului este că o persoană trebuie să urmeze o pregătire specială pentru a comunica cu un computer. În același timp, vorbirea este o interfață firească pentru oricine, chiar și pentru o persoană nepregătită. Vorbirea reduce dramatic distanța psihologică dintre o persoană și un computer. Dacă apare o interfață de vorbire, atunci cercul utilizatorilor de computer poate deveni nelimitat;

    2) vorbirea în sine nu este legată mecanic de un computer în niciun fel și poate fi conectată cu acesta prin sisteme de comunicație, de exemplu, un telefon. Interfața de vorbire scurtează distanța fizică dintre o persoană și un computer. Acest lucru extinde și mai mult cercul potențialilor utilizatori de computere și face din interfața de vorbire un instrument ideal pentru construirea de sisteme de servicii de informare în masă;

    3) poți manevra computerul în întuneric complet, cu ochii închiși, când mâinile sunt ocupate cu pârghiile de control, cu mâinile legate și în alte situații extreme. Această proprietate oferă eficiența și mobilitatea comunicării, eliberarea mâinilor și descărcarea canalului vizual de percepție la primirea informațiilor. Acest lucru este extrem de important, de exemplu, pentru un controlor al unui sistem de alimentare mare sau un pilot de avion și un șofer de mașină. În plus, sistemele informatice devin din ce în ce mai accesibile persoanelor cu deficiențe de vedere.

    În prezent, tehnologiile computerizate de vorbire sunt deja destul de răspândite și se dezvoltă în mai multe direcții, dintre care principalele sunt prezentate în Fig.

  • Subtitrare de telefon pentru surzi și cu probleme de auz

    Transformă-ți ecranul într-un antet minunat de telefon. Este complet automat, fără dactilografieri umani care să vă tasteze conversațiile. Găsiți bunici greu de auzit familia și prietenii la telefon? Porniți Speechlogger pentru ei și nu mai țipa la telefon. Pur și simplu conectați ieșirea audio a telefonului la intrarea audio a computerului și rulați Speechlogger. Este util și în interacțiunile față în față.

    Transcriere automată

    Ai înregistrat interviul? Economisiți timp rescriindu-l, din discursul automat de la Google, în textul adus în browser de Speechlogger. Redați interviul înregistrat în microfonul (sau linia) computerului dvs. și lăsați speechlogger să facă transcrierea. Speechlogger salvează transcrierea textului împreună cu data, ora și comentariile dvs. De asemenea, vă permite să editați text. Convorbirile telefonice pot fi transcrise folosind aceeași metodă. De asemenea, puteți înregistra fișiere audio direct de pe computer, așa cum este descris mai jos.

    Interpret și traducător automat

    Întâlnire cu oaspeți străini? Aduceți un laptop (sau două) cu un speechlogger și microfon. Fiecare parte va vedea cuvintele rostite ale celeilalte traduse în propria limbă în timp real. De asemenea, este util să efectuați un apel telefonic într-o limbă străină pentru a vă asigura că înțelegeți pe deplin cealaltă parte. Conectați ieșirea audio a telefonului la intrarea de linie a computerului și porniți Speechlogger.

    Învață limbi străine și îmbunătățește-ți abilitățile de pronunție

    Speechlogger este un instrument excelent de învățare a limbilor străine și poate fi folosit în mai multe moduri. Îl puteți folosi pentru a învăța vocabular vorbind limba maternă și lăsând software-ul să îl traducă. Puteți învăța și exersa pronunția corectă vorbind o limbă străină și văzând dacă Speechlogger înțelege sau nu. Daca textul este transcris cu font negru inseamna ca l-ai pronuntat bine.

    Generare de subtitrare pentru filme

    Speechlogger poate înregistra automat filme sau alte fișiere de sunet. Apoi luați fișierul și traduceți-l automat în orice limbă pentru a produce subtitrări internaționale.

    Dictează în loc să tastezi

    Scrie o scrisoare? Documentație? Liste? Rezumat? Indiferent de ce trebuie să tastați, încercați să-l dictați în Speechlogger. Speechlogger îl va salva automat pentru dvs. și vă va permite să îl exportați într-un document.

    joc amuzant :)

    Poți imita vorbitorul de chineză? Limba franceza? Ce zici de rusă? Încercați să imiteți o limbă străină și vedeți ce tocmai ați spus cu Speechlogger. Utilizați traducerea simultană a Speechlogger pentru a înțelege ceea ce tocmai ați spus. Obțineți rezultate uimitoare - este foarte distractiv!