Rozpoznawanie mowy - techniki i zastosowania

| Gospodarka Aktualności

Mowa jest dla ludzi najbardziej naturalnym sposobem porozumiewania się, a zdolność posługiwania się nią wyróżnia nas na tle innych gatunków zwierząt. Dlatego komputerowe systemy jej rozpoznawania, dzięki którym interfejsy człowiek-maszyna mogłyby stać się bardziej intuicyjne, od wielu już lat znajdują się w kręgu zainteresowań naukowców, a ostatnio także największych firm technologicznych, takich jak Amazon, Apple i Google.

Rozpoznawanie mowy - techniki i zastosowania

Dzięki ich zaangażowaniu i rozwojowi sztucznej inteligencji, szczególnie technik głębokiego uczenia (deep learning), w systemach automatycznego rozpoznawania mowy (Automatic Speech Recognition, ASR) od pewnego czasu odnotowuje się znaczące postępy. Ich efektem jest wprowadzenie do sprzedaży głośników z wirtualnymi asystentami głosowymi.

Przykładami takich urządzeń są Amazon Echo, Google Home i Apple Home-Pod. Cieszą się one rosnącym zainteresowaniem - jak wynika z raportu Smart Audio Fall/Winter 2017 amerykańskiej organizacji National Public Media i Edison Research pod koniec 2017 roku 16% dorosłych Amerykanów, czyli około 39 milionów ludzi, miało w swoim domu taki głośnik. W porównaniu ze styczniem tego samego roku oznacza to wzrost aż o 128%!

Pierwsze ASR powstały w latach 50

Biorąc pod uwagę fakt, że maszyny, które są w stanie zrozumieć człowieka od lat fascynują twórców literatury i filmów science fiction, nic dziwnego, że kiedy pojawiła się możliwość posiadania takiego urządzenia w domu, wielu zdecydowało się z niej skorzystać. Poza tym ten sposób komunikacji jest dla ludzi po prostu wygodniejszy, a mowa jako środek wyrazu jest znacznie efektywniejsza, niż słowo pisane - przeciętnie bowiem człowiek jest w stanie wymówić około 150 słów na minutę, a napisać jedynie około 40 wyrazów w tym samym czasie.

Nad rozwojem technik rozpoznawania mowy naukowcy pracują już od bardzo dawna. Pierwsze urządzenia, które w porównaniu z obecnie dostępnymi głośnikami z wirtualnymi asystentami głosowymi miały ograniczone możliwości, powstały w latach 50. ubiegłego wieku. Przykładem była Audrey, maszyna zbudowana w 1952 roku w Bell Labs. Urządzenie rozpoznawało cyfry z dokładnością sięgającą 90%. Dekadę później IBM zbudowało maszynę, która rozróżniała kilkanaście angielskich wyrazów. Za kolejne dziesięć lat na Carnegie Mellon University powstało urządzenie rozpoznające ponad tysiąc słów i rozumiejące proste zdania.

Przez lata technologie rozpoznawania mowy były udoskonalane. Dalej przedstawiamy schemat, w oparciu o który działa większość systemów ASR.

Bloki funkcyjne systemu ASR

Rys. 1. Główne bloki funkcyjne systemu rozpoznawania mowy

Zadaniem tytułowego systemu jest przekształcenie sygnału odebranego przez głośnik w sekwencję słów, która zostanie zaprezentowana komputerowi w formie dla niego zrozumiałej. Na rysunku 1 zostały przedstawione jego główne bloki funkcyjne. Do ich zadań należą: wstępna obróbka sygnału wejściowego, wykrycie jego cech specyficznych, które będą go jak najlepiej charakteryzować (parametryzacja) oraz jego dekodowanie.

Jeśli chodzi o etap wstępnej obróbki, to po zarejestrowaniu sygnału mowy przez mikrofon trzeba go przekształcić z postaci analogowej do cyfrowej w przetworniku A/C. Sygnał doprowadzony do tego ostatniego wcześniej zostaje wzmocniony i przechodzi przez filtr antyaliasingowy. Kolejnym etapem jest filtrowanie w celu uwydatnienia wysokoczęstotliwościowych składowych sygnału. W tym celu korzysta się z filtra preemfazy.

W ramach obróbki wstępnej z sygnału zarejestrowanego przez mikrofon usuwa się także te fragmenty, w których występuje jedynie szum tła, a nie sygnał mowy. W celu wykrycia początku i końca poszczególnych słów wykorzystywane są różne sposoby, na przykład metoda polegająca na porównywaniu energii sygnałów.

Usuwanie fragmentów ciszy zmniejsza rozmiary przetwarzanego sygnału, co z kolei ma wpływ na czas jego obróbki, zajętość pamięci i obciążenie obliczeniowe procesora. Od skuteczności tego etapu zależy jakość rozpoznania mowy - ze wzorcem łatwiej jest porównać samo słowo niż fragment składający się ze słowa poprzedzonego i zakończonego szumem.

Etapy parametryzacji

Następnie sygnał dzieli się na ramki, które powinny na siebie zachodzić. Kolejną operacją jest okienkowanie, na przykład oknem Hamminga.

Celem parametryzacji jest odwzorowanie sygnału mowy za pomocą zestawu parametrów w taki sposób, aby uzyskać jak największą ilość informacji, które umożliwią rozróżnienie poszczególnych jednostek mowy (fonemów, słów). Blok ten realizuje się, implementując rozmaite algorytmy, wśród których najpopularniejszym jest ten obliczający cepstralne współczynniki melowe (Mel Frequency Cepstral Coefficients, MFCC). Wyznacza się je, próbując naśladować ludzkie mechanizmy percepcji słuchowej oraz rozpoznawania mowy.

W celu obliczenia cepstralnych współczynników melowych sygnał mowy poddawany jest kilkuetapowej obróbce. Główne kroki w procesie wyznaczania współczynników MFCC to obliczenie transformaty Fouriera, obliczenie modułu sygnału, logarytmowanie, przejście na skalę melową, wyznaczenie odwrotnej transformaty Fouriera oraz opcjonalne filtrowanie (liftering).

Dekodowanie polega na znalezieniu sekwencji słów, która najlepiej pasuje do sygnału akustycznego opisanego współczynnikami wyznaczonymi na etapie parametryzacji. W tym celu korzysta się z trzech źródeł informacji: modelu akustycznego, słownika oraz modelu języka.

Pierwszy z wymienionych ma charakter statystycznej reprezentacji jednostek sygnału mowy, którą opracowuje się w oparciu o ukryte modele Markowa (Hidden Markov Model, HMM). Model akustyczny powstaje na podstawie analizy dużych ilości nagrań i ich transkrypcji. Słownik z kolei ma formę listy słów oraz sekwencji fonemów, z których składają się poszczególne słowa. W modelu języka określone jest natomiast prawdopodobieństwo występowania poszczególnych słów oraz sekwencji, w jakie się układają.

Trudności w rozróżnianiu słów

Zadania rozpoznania i zinterpretowania mowy przez system komputerowy nie należą do łatwych. Składa się na to wiele przyczyn, zarówno środowiskowych, jak i fizjologicznych.

Rozróżnienie poszczególnych wyrazów jest trudne, jeżeli na sygnał użyteczny nakładają się szumy z otoczenia. Przykładowe zakłócenia to silny pogłos występujący w pomieszczeniu, w którym znajduje się mówiący, inne wypowiadające się osoby przebywające w bezpośrednim sąsiedztwie mówiącego, grające instrumenty muzyczne czy hałas z ulicy albo z włączonego telewizora. Na łatwość rozpoznania mowy wpływ mają również parametry rejestrujących ją mikrofonów.

Ponadto ważną rolę odgrywają unikalne cechy mówcy wynikające ze specyfiki jego narządu mowy, osobowości, nastroju. To samo słowo może również różnie brzmieć, w zależności od tego, czy wypowiada je mężczyzna, czy kobieta.

Wynika to stąd, że kobiety mają krótszy trakt głosowy, a co za tym idzie prawie dwa razy większą częstotliwość podstawową głosu niż mężczyźni. Ponadto kształt oraz długość strun głosowych i rozmiar płuc i ubytki w tkance płucnej zmieniają się wraz z wiekiem. W związku z tym dzieci mają na przykład krótsze struny głosowe niż dorośli.

Niełatwa interpretacja

W zależności od pochodzenia czy statusu społecznego ludzie mową z innym akcentem. Co więcej, to samo słowo dana osoba będzie wypowiadać na różne sposoby w zależności od samopoczucia. Zależnie od nastroju ludzie mówią też szybciej albo wolniej.

Jeżeli natomiast chodzi o interpretację mowy, to przewaga ludzi nad komputerem w tym względzie wynika stąd, że dysponują wiedzą, którą zdobywają w ciągu całego życia z wielu różnych źródeł - doświadczeń, nauki i obserwacji. Dzięki temu są w stanie domyślić się znaczenia sekwencji słów, nawet jeśli nie wynika ono z nich bezpośrednio albo nigdy wcześniej tych wyrazów nie słyszeli.

Ludzie, mówiąc, wiele dodatkowych informacji potrzebnych do zrozumienia całości ich przekazu przekazują pozawerbalnie, językiem ciała, na przykład gestami, spojrzeniem, postawą. Dlatego pracuje się nad systemami rozpoznawania mowy w połączeniu z systemami rozpoznawania gestów i mimiki twarzy.

W porównaniu z językiem pisanym mówiony jest też dużo bardziej złożony. Wynika to stąd, że mówiąc, ludzie posługują się skrótami, powtarzają słowa oraz ich sekwencje, jeżeli zależy im na podkreśleniu ich znaczenia i używają potocznych nazw, gdy chcą ułatwić słuchaczom zrozumienie treści swojej wypowiedzi.

Czym jest głębokie uczenie?

Mierząc się z powyższymi trudnościami, techniki rozpoznawania mowy przez lata udoskonalano. Bardzo długo jednak osiągane rezultaty nie były zadowalające. Przełom nastąpił dopiero niedawno wraz z rozwojem jednej z gałęzi sztucznej inteligencji, a mianowicie metod tzw. głębokiego uczenia (deep learning), w którym wykorzystuje się sieci neuronowe i mechanizmy, które są podobne do tych, na których opiera się praca ludzkiego mózgu.

W uproszczeniu głębokie uczenie polega na tym, że sieci neuronowe na podstawie przykładowych danych uczą się właściwego reagowania na konkretne ich zestawy. Podobieństwo do ludzkiego organu zapewnia wielopoziomowa struktura sieci neuronowych.

Postęp w dziedzinie głębokiego uczenia był możliwy dzięki temu, że wraz z rozwojem Internetu przybywa danych potrzebnych do wytrenowania sieci neuronowych oraz rośnie moc obliczeniowa komputerów. Obecnie deep learning jest na takim poziomie zaawansowania, że w testach systemy oparte na nim uzyskują lepsze wyniki niż ludzie!

W systemach rozpoznawania mowy przykładowym zastosowaniem dla technik głębokiego uczenia jest parametryzacja. Przewiduje się nawet, że deep learning ma potencjał, żeby całkowicie zrewolucjonizować etap wykrywania specyficznych cech sygnału. Dzięki tej technice nie będzie bowiem trzeba obliczać współczynników MFCC, ponieważ na podstawie prostych przekształceń sygnału mowy, a nawet bez jego wcześniejszej obróbki, sieci neuronowe będą w stanie rozpoznać jego unikalne właściwości.

Na czym polega AEC i beamforming?

Aby z kolei ograniczyć wpływ zakłóceń z otoczenia do systemów ASR, należy doprowadzić sygnał o odpowiedniej jakości. Dlatego na etapie wstępnej obróbki sygnału mowy powinno się odfiltrować szumy z otoczenia oraz wzmocnić sygnał użyteczny.

W tym celu korzysta się z rozmaitych technik, na przykład AEC (Acoustic Echo Cancellation), tzn. adaptacyjnego usuwania echa akustycznego. Na przykład w systemach automatycznego rozpoznawania mowy w głośnikach z wirtualnymi asystentami głosowymi za echo uznaje się m.in. dźwięki emitowane przez głośnik w odpowiedzi na zapytanie użytkownika. Są one rejestrowane przez mikrofon tego urządzenia tak samo, jak głos jego właściciela.

Spotyka się różne realizacje techniki AEC. Przykładowo wykonuje się adaptacyjne oszacowanie ścieżki echa akustycznego między głośnikiem a mikrofonem i na tej podstawie wyznacza się ten niepożądany sygnał. Następnie jest on odejmowany od sygnału zarejestrowanego przez mikrofon. Kolejną metodą, która znajduje zastosowanie w systemach rozpoznawania mowy w głośnikach z wirtualnymi asystentami głosowymi, jest beamforming.

Jest to technika przetwarzania sygnału z wielu mikrofonów. Na podstawie różnic sygnałów przez nie rejestrowanych wykrywa się na przykład to, z jakiego kierunku dochodzi głos użytkownika czy mówiący właśnie się przemieszcza oraz rozróżnia się głosy należące do kilku osób. Powala to wzmocnić sygnał z odpowiedniego kierunku i stłumić sygnały niepożądane, w tym echa będące skutkiem odbić sygnału w pomieszczeniu. Dzięki temu uzyskuje się większy stosunek sygnału do szumu, co ułatwia rozróżnienie poszczególnych słów.

Nie tylko głośniki smart

Obecnie sztandarowym zastosowaniem systemów rozpoznawania mowy są głośniki smart. W przyszłości jednak oczekuje się, że systemom ASR przybędzie aplikacji.

Przykładowo przewiduje się, że odegrają ważną rolę w poprawie efektywności wyszukiwania informacji w Internecie. Możliwość przeszukiwania jego zasobów na podstawie zapytań wprowadzanych głosowo stopniowo staje się standardem w programach komputerowych używanych w tym celu, co jest dużym ułatwieniem dla tych, którzy mają problem z opisaniem tego, czego szukają.

Kolejne zastosowanie systemy ASR mogą znaleźć w opiece zdrowotnej. Przewiduje się, że okażą się przydatnym narzędziem do sporządzania dokumentacji medycznej pacjentów. Powstawałaby ona w czasie rzeczywistym, podczas wizyty u lekarza. System ASR analizowałby rozmowę tych osób i na tej podstawie zapisywałby najważniejsze wnioski. W prostszej wersji lekarz dyktowałby to, co powinno być odnotowane. Wykorzystanie systemów rozpoznawania mowy do tworzenia dokumentacji medycznej znacząco odciążyłoby lekarzy i pozwoliłoby im się bardziej skupić na pacjencie w czasie badania. ASR zaczynają się także sprawdzać w telefonicznej obsłudze klienta. Kolejnym dobrze rokującym zastosowaniem jest biometria głosowa.

Zaledwie tych parę przykładów dowodzi, że technologia ta ma ogromny potencjał. Dlatego z pewnością w dalszym ciągu będzie rozwijana w kierunku poprawy jakości rozpoznawania mowy.

Monika Jaworowska