Rozpoznawanie mowy

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Rozpoznawanie mowy – technologia pozwalająca komputerowi lub innemu urządzeniu interpretować mowę ludzką, na przykład do celów transkrypcji lub jako alternatywną metodę interakcji.

Dla języka polskiego (stan na rok 2008) dostępne są programy rozpoznające poprawnie 5-9 na 10[1] wypowiedzianych słów mowy ciągłej (na współczynnik ten, oprócz jakości algorytmu, wpływają m.in. wyrazistość i zrozumiałość mowy). Wartości skuteczności systemów rozpoznawania mowy bardzo zależą od przyjętego scenariusza testu. Dlatego informacje liczbowe, wbrew intuicji, zwykle nie są dobrym odzwierciedleniem jakości takich systemów. Najskuteczniejszą metodą jest porównanie dwóch lub więcej systemów na takim samym scenariuszu testowym. Jakość systemów może jednak także zależeć od tego jak sygnał jest rejestrowany. Przykładowo wiele z systemów oferowanych dla języka polskiego działa dużo gorzej dla sygnału z sieci GSM. Ogólnie należy przyjąć, że rozpoznawanie mowy polskiej działa poprawnie tylko dla pojedynczych słów lub dla ustalonych zbiorów scenariuszy dialogów (stan na marzec 2014). Próg komercyjnej akceptowalności systemów rozpoznawania mowy zwykle przyjmuje się jako 95% poprawności rozpoznania[2].

Rodzaje rozpoznawania mowy[edytuj]

Pod względem segmentacji rozpoznawanej wypowiedzi[3]:

  • rozpoznawanie pojedynczych fonemów (przy przestarzałych systemach, lub dla słów spoza słownika, modelu języka),
  • rozpoznawanie izolowanych słów (system wymaga znacznych pauz między wypowiadanymi wyrazami),
  • rozpoznawanie łączonych słów (wymagane bardzo krótkie odstępy między wyrazami),
  • rozpoznawanie mowy ciągłej (system sam określa segmentację, mowa prawie jak naturalna, ale określona powtarzalnymi regułami jak przy dyktowaniu/czytaniu),
  • rozpoznawanie mowy spontanicznej (mowa z różnymi naturalnymi cechami jak różnorodna prędkość, głośność wypowiedzi, brak odstępów między wyrazami, różne partykuły wtrącenia nie do końca poprawne, przerwy na zastanawianie się, fragmenty słów, powtórzenia; stopa błędów co najmniej dwukrotnie wyższa niż dla czytania[4]).

Pod względem czasu odpowiedzi:

  • rozpoznawanie mowy w czasie rzeczywistym – system podaje wyniki niemal równolegle z pobieraniem, danych wejściowych, za pomocą urządzenia do próbkowania dźwięku (np. karty dźwiękowej z mikrofonem),
  • transkrypcja zasobów akustycznych, uprzednio zdigitalizowanych do plików, np. celem indeksowania/przeszukiwania.

Pod względem stopnia zależności od mówcy:

  • zależne od mówcy,
  • zależne od grupy mówców,
  • niezależne od mówcy.

Pod względem rozmiaru słownika:

  • mały słownik – dziesiątki słów (np. rozpoznawanie cyfr),
  • średni – setki słów,
  • duży – tysiące słów,
  • bardzo duży – dziesiątki tysięcy słów (np. dyktowanie).

Historia[edytuj]

  • 1952 – Fonetograf Drayfusa-Grafa, maszyna zapisująca fonemy
  • 1952 – Davis opracował maszynę rozpoznającą zbiór 10 izolowanych wyrazów – cyfr języka angielskiego
  • 1956 – urządzenie Olsona i Belara służące do zapisywania pod dyktando początkowo 10 sylab, a w 1961 roku 100 sylab
  • 1956 – AUDREY – opracowana w firmie Bell maszyna rozpoznająca cyfry
  • 1960 – opracowano metodę rozpoznawania trzech wyrazów języka rosyjskiego (G. I. Cjemiel)[5]
  • 1962 – IBM zademonstrował maszynę Shoebox rozpoznającą 16 słów języka angielskiego w tym 10 cyfr[6]
  • 1975 – propozycja systemu Dragon opartego na własnościach procesów Markowa (J. Baker)[7]
  • 1976 – CMU Harpy, słownik ok. 1000 wyrazów, pierwsze użycie algorytmu BeamSearch, rozpoznawanie mowy łączonej, odpowiedź kilkanaście razy czas rzeczywisty
  • koniec lat 1970 – badania nad rozpoznawaniem mowy ciągłej o dużym słowniku, jednak nie w czasie rzeczywistym i nie komercyjne (IBM T.J. Watson Research Center)[8]
  • lata 1980 – słowniki rzędu kilku-kilkunastu tysięcy wyrazów, upowszechnione zastosowanie HMM
  • lata 1990 – pierwsze produkty masowej produkcji, słowniki rzędu kilkudziesięciu tysięcy słów, progres w wydajności procesorów umożliwił rozpoznawanie mowy ciągłej
  • lata 2000 – stosunkowo niewielki postęp w rozwoju technologii (w porównaniu do poprzedzającej dekady)[9] słowniki rzędu dziesiątek do kilku setek tysięcy słów dla rozwiązań zależnych od rozpoznawanego mówcy; dla mniejszych słowników niezależnie od mówcy,
  • 2011 – słownik Google dla języka angielskiego: około miliona różnych słów, model języka trenowany setkami miliardów zapytań[10]

Trudności implementacyjne i wdrożeniowe[edytuj]

Pomimo wielu osiągnięć problem automatycznego rozpoznawania mowy jest stale daleko od bycia rozwiązanym[11]. Najbardziej trudnymi do implementacji kwestiami są[12]:

  • duża przestrzeń przeszukiwania (z powodu znacznego rozmiaru niezbędnych danych – szczególnie np. dla języków słowiańskich)
  • odporność na silną zmienność sygnału wejściowego, w wielu wymiarach (np. zmienność mówcy: zmienność realizacji tej samej wypowiedzi w czasie, płeć, anatomia traktu głosowego, dialekt, akcent, styl, emocje, tempo wypowiedzi; zmienność tła/kanału)
  • rozumienie mowy, reprezentacja wiedzy
  • uwzględnianie wielu kontekstów np. mowy ciała
  • rozwiązywanie problemu niejednoznaczności językowych na wielu poziomach (por. homofonia, mondegreen, homonim)
  • segmentacja mowy, rozpoznawanie mowy ciągłej
  • mowa naturalna/spontaniczna różni się od języka czytanego/pisanego charakterystycznego dla wielu korpusów/modeli
  • pomijanie zakłóceń sygnału

Problemy/limity wdrożeniowe[13]:

  • zmęczenie użytkownika ciągłym używaniem głosu,
  • wzajemne przeszkadzanie sobie w pomieszczeniu wypełnionym mówiącymi do swoich komputerów, urządzeń,
  • proces myślenia dla wielu ludzi jest blisko związany z mową więc, trudne jest mówienie/słuchanie i rozwiązywanie problemów w tym samym czasie, zaś mówienie i aktywność fizyczna np. chodzenie są kompatybilne, dzieje się tak dlatego, że przetwarzanie mowy w ludzkim mózgu odbywa się w tym samym obszarze co rozwiązywanie problemów, więc to zachodzi najlepiej w cichym środowisku, by odciążyć tę część mózgu wybierane jest w wielu przypadkach ręczne sterowanie za pomocą dżojstików, przycisków i przełączników itp.

Koszty obliczeniowo-pamięciowe a jakość algorytmów[edytuj]

Rozmiar problemów uczenia i wyszukiwania, jaki generuje automatyczne rozpoznawanie mowy, jest źródłem wielu kolejnych wyzwań stawianych przed informatyką[14] (szczególnie problematyczność ta może wzrastać dla języków z wieloma formami gramatycznymi jak np. słowiańskie, a współcześnie dominujące podejście statystyczne powoduje w tych przypadkach ogromne wymagania pamięciowe dla modelu języka[15]). Interpretacja sygnału mowy tylko z pozoru jest łatwa i daje jasno określone kryteria wydzielania jednostek składowych, w rzeczywistości jest mało deterministyczna, a wysoce zależna od szerszego kontekstu (na każdym kolejnym poziomie)[16]. Chodzi tu oczywiście głównie o algorytmy rozpoznawania mowy spontanicznej, a także ciągłej, które dawałyby wyniki porównywalne ze „zdolnościami ludzkimi” (na marginesie można dodać, że dla specyficznych kryteriów udało się uzyskać „nad-ludzkie”[17] wyniki), ogólnie algorytmy te (o bardzo dużym słowniku, działające w czasie rzeczywistym) wymagają znacznej mocy obliczeniowej i pamięci komputerowej o dużej pojemności[18][19]. Ma to miejsce z powodu powolnego spadku stopy błędów (WER) w zależności od znacznego wzrostu rozmiaru modelu języka[20]. W wymaganiach systemowych produktów spotyka się sformułowanie: im więcej pamięci komputerowej tym lepiej[21] dla wydajności, tym większy model języka, wymagania te rosną z kolejnymi wersjami wraz ze wzrostem zasobów sprzętowych możliwych do wykorzystania.

Jako że sygnał mowy jest mało deterministyczny, dekoduje się go algorytmami z zakresu kryptoanalizy[22] (więc dodatkową trudnością może być, wprawdzie liberalizowana, ochrona pokrewnych tematów obostrzeniami rządowymi[23][24]) – algorytmy tego typu „przewidują” prawdopodobieństwa słów na podstawie znacznych rozmiarów językowych danych statystycznych informujących o możliwych kombinacjach niezbyt dużych kontekstów (por. N-gram). Znaczną liczbę z danych należy wcześniej odrzucić w oparciu o różne kryteria m.in.: dostępne zasoby, złożoność obliczeniowa, miara nieokreśloności (ang. perplexity), dlatego stosowane są algorytmy obcinające (ang. pruning) na wielu poziomach: drzew decyzyjnych, modelu języka, przestrzeni przeszukiwania prawdopodobnego słowa dla danej wypowiedzi (np. algorytm ang. beam search).

Model języka służy do ukierunkowywania przeszukiwania, ogranicza więc jego złożoność obliczeniową (co oczywiście może skutkować spadkiem jakości i utratą optymalnych rozwiązań w mniej lokalnym sensie). Zasoby zajmowane rosną szczególnie w fazie trenowania modeli i algorytmów (tysiące godzin nagrań transkrybowanej mowy)[19]. Stosunkowo nowym podejściem jest model języka oparty na metodzie pamięci podręcznej, który umożliwia stopniowe przełączanie się modelu w bardziej lokalny kontekst (dla dużych słowników/kontekstów różnice między słowami na poziomie akustycznym są często zaniedbywalnie małe)[25]. Duże korpusy dla modeli akustyczno-językowych mają zwykle restrykcyjne licencje, aby ułatwić rozwój rozwiązań otwartych powstał projekt VoxForge[26].

Innym rozwiązaniem wspomnianych problemów są systemy jedno-dziedzinowe o odpowiednio dostrojonym słowniku/modelu języka. Często także użytkownik ma możliwość dopasowania parametrów do danego ograniczonego zastosowania poprzez moduły uczenia maszynowego. W telefonach komórkowych (i nie tylko, np. także w przeglądarce Google Chrome[27]/Chromium) nierzadko stosuje się również wysyłanie wstępnie przetworzonych danych do pomocniczej obróbki na serwerze zewnętrznym[28], niedogodność jest niezauważalna dla użytkownika, jednak w przyszłości wraz ze wzrostem wydajności sprzętowej i ulepszaniem algorytmów może pojawić się więcej używalnych rozwiązań po stronie klienta np. specyfikacja W3C Web Speech API nie ogranicza rozpoznawania mowy jedynie do trybu po stronie serwera[29].

Na temat ograniczeń modeli czysto statystycznych języka naturalnego zobacz w artykule: Noam Chomsky, z drugiej strony okazuje się, że często wystarcza samo podejście statystyczne „brute force”, czyli im więcej danych pozyska się dla modelu języka tym system wyszukiwania/rozpoznawania okazuje się być „inteligentniejszy”, mniej (ale także) zależąc od jakości i algorytmów[30][31][32] (jakość obniża się często celowo np. poprzez stosowanie wspomnianych powyżej heurystyk obcinania by uzyskać akceptowalny czas odpowiedzi, przechodząc z podejścia dynamicznego w kierunku przypominającego algorytm zachłanny[33]). Użyteczność metod o dużym modelu języka wyjaśniałyby rozważania psychologiczne już z końca XIX wieku, które wykazały, że ludzka zdolność rozpoznawania mowy opiera się na pamięci o bardzo szerokim kontekście, zaś same dźwięki niosą trudną do zidentyfikowania informacje, to co się usłyszy jest dopiero uzupełniane w znacznym stopniu treścią z własnej pamięci[34] (zobacz też apercepcja). Obecnie w badaniu uczenia się ludzkiego, także przywiązuje się wagę do faktu, iż nowo pozyskana/usłyszana informacja słowna (w rozpoznawaniu mowy na poziomie cech akustycznych) może często powodować znaczną modyfikację dotychczasowego modelu, więc nie może być dla człowieka całkowicie pomijalna (chodzi o zachowanie równowagi między tymi dwoma trybami por. Jean Piaget). W przyszłości pozostaje więc do spełnienia ważna rola dla coraz bardziej wyszukanych algorytmów uczenia maszynowego stosowanych w rozpoznawaniu mowy[11] także na poziomie ekstrakcji cech akustycznych.

Algorytmy i modele[edytuj]

Zastosowania[edytuj]

  • Sterowanie – dedykowane silniki nie wymagają zaawansowanych cech jak przełączanie kontekstu, a z racji kilku/kilkunastowyrazowych słowników nie występuje tu problem ujednoznaczniania w środowiskach, w których sygnał mowy jest zakłócony, dlatego też wymagają one znacznie mniej zasobów niż algorytmy rozpoznawania mowy ciągłej.
    • w przypadku komputera PC – posiadającego różnorodne kanały komunikacji z użytkownikiem – sterowanie głosem wykorzystywane jest najczęściej przez osoby niepełnosprawne, dla których inne interfejsy interakcji z urządzeniem są niedostępne,
    • w urządzeniach – o znacznej miniaturyzacji, przez co ubogich w interfejsy interakcji – proste polecenia głosowe znacznie uefektywniają ich obsługę.
  • Transkrypcja mowa ciągła-tekst – algorytmy:
    • dziedzinowe – o ograniczonym słowniku,
    • całościowe – bardziej zaawansowane.
  • Mówione systemy dialogowe – interfejsy głosowe działające w sposób naturalny dla człowieka, a nie w oparciu o ustalone możliwe opcje.
  • Translacja pomiędzy językami naturalnymi (ang. speech-to-speech) np. komunikatów głosowych przydatnych w podróży[35].

Zastosowania dla przedsiębiorstw[edytuj]

Technologie rozpoznawania mowy znalazły praktyczne zastosowanie w telefonicznych biurach obsługi klienta, gdzie zachodzi konieczność obsługi kilkudziesięciu tysięcy dzwoniących na godzinę. Banki, firmy branży informatycznej czy telekomunikacyjnej coraz częściej inwestują w nowoczesne narzędzia oferujące zoptymalizowaną obsługę oraz pozwalające na wzrost zadowolenia klienta. Jednym z takich rozwiązań jest sterowania głosem (ang. Call Steering) w systemie zapowiedzi głosowych IVR. Sterowanie głosem oparte na rozumieniu języka naturalnego przez komputer ułatwia konsumentom komunikowanie się z właściwym operatorem w biurze obsługi. Po zadaniu standardowego pytania „W czym możemy pomóc?” dzwoniący opisuje problem własnymi słowami, bez potrzeby wybierania z rozbudowanego menu kontaktów czy dopasowywania pytania do listy wcześniej zdefiniowanych opcji. Przyspiesza to obsługę klientów, ogranicza liczbę niepoprawnie przekierowanych połączeń oraz prowadzi do wyższego poziomu automatyzacji systemu obsługi IVR poprzez szybkie łączenie dzwoniących z usługą, której potrzebują. Funkcje rozpoznawania naturalnej mowy oraz rozumienia języka naturalnego (NLU) zostały już wdrożone w wielu biurach obsługi klienta na świecie, jak i w Polsce.

Standaryzacje międzynarodowe[edytuj]

Trwają prace standaryzacyjne jednolitych interfejsów programistycznych (API) oraz języków opisu danych wejściowych dla silników rozpoznawania mowy. Następujące instytucje opracowują własne rozwiązania w tym zakresie, w nawiasach podano numer aktualnej wersji oraz rok wydania.

Microsoft:

Sun Microsystems:

  • JSAPI – interfejs programistyczny (1.0 z r. 1998, wersję 2.0 zatwierdzono w maju 2008[36])
  • JSGF – język specyfikacji gramatyki

W3C:

  • Web Speech API – specyfikacja rozszerzeń HTML i JavaScript pod kątem wprowadzania głosowego – 19 10 2012,
  • PLS – język specyfikacji wymowy (1.0 oczekuje na zatwierdzenie),
  • VoiceXML – język specyfikacji dialogu głosowego człowiek-komputer (2.1 z r. 2007),
  • SISR – język semantycznego znakowania gramatyki (1.0 z r. 200),
  • SRGS – język specyfikacji gramatyki (oparty na XML lub BNF) (1.0 z r. 2004),
  • SLM(N-gram)S – język specyfikacji stochastyczengo modelu języka (roboczy szkic z r. 2001),
  • NLSML – język specyfikacji interpretacji semantycznej mowy (1.0-beta z r. 2000).

Rozpoznawanie mowy polskiej[edytuj]

Prace badawcze i wdrożenia:

  • Ogólnopolski projekt[37] prowadzony jest przez, podległe MSWiA, służby bezpieczeństwa publicznego we współpracy z uczelniami wyższymi[38] w ramach Polskiej Platformy Bezpieczeństwa Wewnętrznego. Przetwarzanie mowy występuje docelowo w dwóch (S3, S8)[39] z ośmiu funkcjonalnych modułów zintegrowanego systemu wsparcia zarządzania bezpieczeństwem i przeciwdziałania przestępczości w Unii Europejskiej,
  • Instytut Monitorowania Mediów wdrożył system umożliwiający wyszukiwanie felietonów na podstawie słów kluczowych[40],
  • Wersje polskiego oprogramowania do rozpoznawania mowy SkryBot:
    • dla biznesu, serwery rozpoznawania mowy (monitoring, indeksowanie i wyszukiwanie tekstem multimediów radia i telewizji),
    • dla użytkowników komputerów osobistych, systemy Windows XP, Vista, 7[41][42],
    • portal rozpoznawania mowy przez internet SkryBot.TV[43].
  • System Rozpoznawania i Zamiany Mowy na Tekst – MagicScribe[44]:
    • MagicScribeMedical – rozpoznawanie mowy dla medycyny[45],
    • MagicScribeLegal – rozpoznawanie mowy dla prawa[46],
  • System rozpoznawania mowy Sarmata, Zespołu Przetwarzania Sygnałów AGH kierowanego przez profesora Mariusza Ziółko[47],
  • Spikit – innowacyjne narzędzie wykorzystujące mowę do sterowania komputerem osobistym[48],
  • Google Web Speech API – dostępne w języku polskim w fazie beta[49] za pośrednictwem przeglądarki Google Chrome (dyktowanie w języku polskim zobacz np.: https://dictation.io/). Istnieją też aplikacje nieoficjalne korzystające bezpośrednio z Google API (spoza przeglądarki)[50][51]. Wcześniej (od 15 września 2010) wprowadzono Google Voice Search dla użytkowników mobilnych w języku polskim[52]. Wymagają połączenia z Internetem.
  • Dragon Dictation i Dragon Search firmy Nuance dla użytkowników mobilnych, systemów iOS, dostępne w języku polskim od października 2011, wymagają połączenia z Internetem[53].
  • Primespeech – polska firma wyspecjalizowana w produkcji portali głosowych, także opracowująca system do transkrypcji mowy[54].

Rozwiązania komercyjne:

  • SpeechStorm[55] – producent aplikacji do IVR opartych m.in. na technologii rozpoznawania mowy

Rozpoznawanie mowy angielskiej[edytuj]

  • Prototypowe
    • Sphinx,
    • Julius/Julian.
  • Użytkowe (Linux)
    • XVoice (frontend),
    • FreeSpeech.
  • Użytkowe (Windows)

Zobacz też[edytuj]

Przypisy

  1. Tomasz Grynkiewicz. Komputer pojął Gierka, a z Kaczyńskim miał problem. „Gazeta Wyborcza”. Nauka, s. 22, 2008-12-08. Agora SA (pol.). 
  2. Bartosz Ziółko, Mariusz Ziółko: Przetwarzanie mowy. Kraków: Wydawnictwa AGH, 2011. ISBN 978-83-7464-441-9. (pol.)
  3. Stephen Cook: Speech Recognition HOWTO (ang.). Linuxdoc.org, 2002-04-19. [dostęp 2016-05-14].
  4. Krzysztof Marasek: Od rozpoznawania do tłumaczenia mowy polskiej (pol.). PJWSTK, 2012-09-26. [dostęp 2014-02-19].
  5. M.A. Sapożkow: Sygnał mowy w telekomunikacji i cybernetyce. Warszawa: WNT, 1966. (pol.)
  6. IBM Shoebox (ang.). IBM. [dostęp 2014-02-19].
  7. J. Baker. The DRAGON system – An overview. „IEEE Transactions on Acoustics, Speech and Signal Processing”. 23 (1), s. 24-29, luty 1975. DOI: 10.1109/TASSP.1975.1162650. ISSN 0096-3518 (ang.). 
  8. Garfinkel, 1998, History of Speech Recognition and Transcription Software.
  9. Melanie Pinola: Speech Recognition Through the Decades: How We Ended Up With Siri (ang.). International Data Group Inc., 2011-11-03. [dostęp 2014-02-19].
  10. Jonathan Strickland: Expert Stuff: Google’s Mike Cohen (ang.). HowStuffWorks, Inc, 2011-03-16. [dostęp 2014-02-19].
  11. a b J. M. Baker, L. Deng, J. Glass, S. Khudanpur, Chin-Hui Lee, N. Morgan, and D. O’Shaughnessy „Research Developments and Directions in Speech Recognition and Understanding” IEEE SPM maj 2009.
  12. M. Forsberg, „Why is speech recognition difficult?” Chalmers University of Technology, 2003, s. 9 i poprzednie.
  13. B. Shneiderman, „The limits of speech recognition” Communications of the ACM, t. 43, nr 9, s. 63–65, wrzesień 2000.
  14. Speech Recognition Lectures, Mehryar Mohri, 2012.
  15. CMU Sphinx, 2011-09-23 Russian Audiobook Morphology-Based Model.
  16. Basic concepts of speech (ang.). CMU Sphinx, 2010. [dostęp 2014-03-11].
  17. John R. Hershey et al. „Super-human multi-talker speech recognition: A graphical modeling approach” styczeń 2010.
  18. CHANDRA, DHRUBA „Speech Recognition Co-Processor” strona 3 (16)., North Carolina 2007.
  19. a b CMU Sphinx na SourceForge.Net, 23-12-2012.
  20. B. Harb et al. Back-off Language Model Compression. 2009.
  21. Stephen Cook, Speech Recognition HOWTO (ang.), Linuxdoc.org, 2002-04-19.
  22. L. R. Rabiner, B. H. Juang, An Introduction to Hidden Markov Models, w: 1986 IEEE ASSP Magazine, styczeń 1986, s. 13.
  23. Jak niektóre zastosowania Ukrytych Modeli Markowa np. do analizy manuskryptu Voynicha, źródło: René Zandbergen, Voynich Manuscript analysis.
  24. M. E. D’Imperio, 1979, An Application of PTAH to the Voynich Manuscript, National Security Agency Technical Journal.
  25. R. Kuhn, R. De Mori, czerwiec 1990. „A Cache-Based Natural Language Model for Speech Recognition”. IEEE TPAMI.
  26. VoxForge.
  27. (ang.) Google Chrome: How to Use the Web Speech API, maj 2013.
  28. Chip Mulligan: Nuance brings voice recognition to mobile phones (ang.). W: The Inquirer [on-line]. Incisive Media, 2007-02-07. [dostęp 2014-02-22].
  29. Web Speech API Specification 19 października 2012.
  30. Google Is All About Large Amounts of Data, 2007-12-16, googlesystem.blogspot.com.
  31. Juan Carlos Perez, 2007-10-23, Google wants your phonemes.
  32. C. Chalba et al., 2012, Language Modeling for Automatic Speech Recognition Meets the Web: Google Search by Voice.
  33. C. Wilt, J. Thayer, W. Ruml, 2010, „A Comparison of Greedy Search Algorithms”, AAAI.
  34. J.R. Pierce, 1969, Whither Speech Recognition? za: Talks to Teachers on psychology... s.159 William James 1899.
  35. www.smartertravel: Five Translation Apps Put to the Test, 01-06-2013.
  36. Oficjalna strona JCP (JSR #113 JavaTM Speech API 2.0 Final Approval Ballot), 5 maja 2008.
  37. Laboratorium Technologii Języka i Mowy.
  38. www.ppbw.pl: Projekty badawcze.
  39. Koncepcja PBW (...) w ramach projektu „Nowoczesne metody naukowego wsparcia zarządzania bezpieczeństwem publicznym w Unii Europejskiej”, Poznań, 2005.
  40. Arkadiusz Wolski: Rozpoznawanie mowy – monitoring TV i radia (pol.). New Europe Events Sp. z o.o., 2006-10-26. [dostęp 2014-02-22]. [zarchiwizowane z tego adresu (2012-07-20)].
  41. SkryBot doMowy rozpoznawanie mowy polskiej.
  42. Polskie Centrum Technologii Rozpoznawania Mowy.
  43. Rozpoznawanie mowy przez internet, tworzenie i wyszukiwanie napisów.
  44. MagicScribe – Rozpoznawanie mowy i zamiana na tekst (pol.). Unikkon Integral Sp. z o.o.. [dostęp 2014-11-17].
  45. System Rozpoznawania i Zamiany Mowy na Tekst – MagicScribeMedical (pol.). Unikkon Integral Sp. z o.o.. [dostęp 2014-11-17]. [zarchiwizowane z tego adresu (2011-10-04)].
  46. System Rozpoznawania i Zamiany Mowy na Tekst – MagicScribeLegal (pol.). Unikkon Integral Sp. z o.o.. [dostęp 2014-11-17]. [zarchiwizowane z tego adresu (2012-04-04)].
  47. Zespół Przetwarzania Sygnałów AGH.
  48. Strona spikit.pl.
  49. support.google.com Pisanie za pomocą rozpoznawania mowy (beta).
  50. wiki.openmoko.org: Google Voice Recognition.
  51. www.linux.com: Inside Palaver: Linux Speech Recognition that Taps Google’s Voice Technology 28-03-2013.
  52. Maciej Kluk, Google Voice Search od dziś w języku polskim, www.pcworld.pl, 15-09-2010.
  53. Sebastian Brzuzek, Dragon Dictation i Dragon Search ze wsparciem języka polskiego, 03-10-2011.
  54. Tomasz Grynkiewicz, „Polak i komputer, dwa bratanki”, Gazeta Wyborcza, 19-08-2010.
  55. Strona SpeechStorm.
  56. Strona Nuance Dragon Naturally Speaking.
  57. Strona SkryBot doMowy.
  58. Strona Nuance Call Steering.

Linki zewnętrzne[edytuj]