System rozpoznawania mowy polskiej dla robota społecznego

System rozpoznawania mowy polskiej dla robota społecznego
Fot. Adobe Stock. Data dodania: 20 września 2022

W artykule przedstawiono system automatycznego rozpoznawania mowy polskiej dedykowany dla robota społecznego. System oparty jest na bezpłatnej i otwartej bibliotece oprogramowania pocketsphinx (CMU Sphinx). Przygotowano zbiory nagrań: treningowy i testowy wraz z transkrypcjami.

Streszczenie

Zbiór treningowy obejmował głosy 10 kobiet i 10 mężczyzn i został przygotowany na podstawie audiobooków, natomiast zbiór testowy - głosy 3 kobiet i 3 mężczyzn nagrane w warunkach laboratoryjnych specjalnie na potrzeby pracy. Przygotowany zbiór fonemów dla języka polskiego, składający się z 39 fonemów, opracowany został na podstawie dwóch popularnych zbiorów dostępnych danych. Słownik fonetyczny opracowano za pomocą funkcjonalności konwersji grapheme-to-phoneme z biblioteki eSpeak. Model statystyczny języka dla tekstu referencyjnego składającego się z 76 komend wygenerowano za pomocą programu cmuclmtk (CMU Sphinx).

Uczenie modelu akustycznego oraz test jakości rozpoznawania mowy przeprowadzono za pomocą programu sphinxtrain (CMU Sphinx). W warunkach laboratoryjnych uzyskano wskaźnik błędu rozpoznawania słów (WER) na poziomie 4% i błędu rozpoznawania zdań (SER) na poziomie 9%. Przeprowadzono też badania systemu w warunkach rzeczywistych na grupie testowej złożonej z 2 kobiet i 3 mężczyzn, uzyskując wstępne wyniki rozpoznawania na poziomie 10% (SER) z bliskiej odległości oraz 60% (SER) z odległości 3 m. Określono kierunki dalszych prac.

1. Wprowadzenie

Naturalnym sposobem komunikacji międzyludzkiej jest komunikacja werbalna, dlatego w kontekście interakcji człowiek- maszyna dąży się do opracowywania systemów automatycznego rozpoznawania mowy (ARM). Funkcjonalność ta jest szczególnie ważna w przypadku robotów społecznych [1]. Roboty społeczne to roboty przeznaczone do działania razem z człowiekiem w jego codziennym otoczeniu, przy czym ich cechą charakterystyczną jest komunikowanie się z człowiekiem za pomocą sygnałów werbalnych i niewerbalnych. Zagadnienie automatycznego rozpoznawania mowy dotyczy nie tylko robotów społecznych [2-5], ale m.in. również kontrolowania trajektorii ruchu manipulatorów przemysłowych [6, 7] lub pojazdów bezzałogowych [8].

Proces automatycznego rozpoznawania mowy polega na zamianie mowy ludzkiej zarejestrowanej przez mikrofon na tekst. Obecnie do rozwiązania tego zagadnienia najczęściej wykorzystuje się metody oparte na statystycznym rozpoznawaniu wzorców z użyciem tzw. niejawnych modeli Markowa HMM (ang. Hidden Markov Models). Niejawne modele Markowa pozwalają określić najbardziej prawdopodobną sekwencję kolejnych stanów nieobserwowalnego procesu na podstawie sekwencji obserwacji cechujących się pewną wariancją. W przypadku systemów ARM stany procesu mogą być fonemami, czyli elementami z pewnego skończonego zbioru, jakie fonologia wyróżnia w sygnałach dźwiękowych wszystkich wypowiedzi w danym języku. Obserwacjami natomiast są pewne charakterystyczne cechy ekstrahowane z kolejnych segmentów czasowych sygnału dźwiękowego konkretnej wypowiedzi, którą chcemy zamienić na tekst. Znane są także próby stosowania metod sztucznej inteligencji w rozpoznawaniu mowy, a konkretnie sztucznych sieci neuronowych [9].

Systemy ARM dzielimy w zależności od charakteru planowanego zastosowania na systemy typu:
- command & control - rozpoznaje tylko komendy z określonego wcześniej zbioru,
- continuous speech recognition
- rozpoznaje dowolne wypowiedzi mające sens w danym języku.
Systemy typu command & control są mniej wymagające, zarówno co do niezbędnej ilości danych treningowych, jak i zasobów sprzętowych niezbędnych do pracy dekodera.

Istniejące oprogramowanie implementujące algorytmy automatycznego rozpoznawania mowy można podzielić ze względu na rodzaj licencji i dostępność kodu źródłowego na dwie grupy: programy komercyjne i pakiety oprogramowania typu open-source. Rozwiązania komercyjne zapewniają wysoką jakość rozpoznawania mowy, jednak nie są dostępne dla wszystkich języków oraz wymagają znacznych nakładów finansowych. Ponadto nie zawsze są one wystarczająco elastyczne, aby spełnić wymagania projektowe. W szczególności wadą tego typu rozwiązań jest brak możliwości opracowania własnych komponentów systemu ARM, zwłaszcza modelu akustycznego. Pakiety oprogramowania z ogólnodostępnym kodem źródłowym, do których zaliczają się m.in. HTK [16], CMU Sphinx [17] oraz Kaldi [18] zawierają gotowe modele dla wielu języków, jednak rozpoznawanie mowy w języku polskim wymaga opracowania własnych komponentów - modelu akustycznego, słownika fonetycznego oraz modelu statystycznego języka.

Praca [7] dotyczy rozpoznawania mowy w języku polskim, jednak autor używa oprogramowania Microsoft SAPI, które nie pozwala tworzyć własnego modelu akustycznego. W pracy [10] wykorzystano oprogramowanie CMU Sphinx na potrzeby języka polskiego, poza dziedziną robotyki do sterowania głosowego grą komputerową, natomiast w publikacjach [11, 12] zastosowano pakiet Kaldi.

Celem niniejszej pracy jest przedstawienie systemu automatycznego rozpoznawania mowy opracowanego na potrzeby sterowania robotem społecznym oraz wyników wstępnych badań. Zakres opracowania obejmował dobór modułów oprogramowania, przygotowanie danych do treningu modelu akustycznego, przygotowanie słownika fonetycznego i modelu języka oraz przygotowanie danych testowych.

Opracowany system spełnia następujące założenia:
- jest systemem typu command & control przeznaczonym dla robota społecznego,
- jest dedykowany dla języka polskiego,
- ma rozpoznawać mowę dowolnej osoby dorosłej,
- jest zaimplementowany w oparciu o gotowe rozwiązania typu open-source.
Obecny artykuł bazuje na wynikach pracy inżynierskiej [13].

2. Opracowanie systemu ARM
2.1. Założenia


Projektując system ARM, zdecydowano się wykorzystać bibliotekę CMU Sphinx dla języka C (pocketsphinx). Jest to implementacja systemu ARM opracowana głównie do celów badawczych na Carnegie Mellon University w Pittsburghu. Biblioteka była kompilowana z kodów źródłowych pobranych z repozytorium projektu [17] w sierpniu 2015 r. Taki wybór był podyktowany dostępnością materiałów źródłowych [19] oraz wcześniejszymi doświadczeniami wykorzystania biblioteki dla języka polskiego [10]. Rozważano również użycie pakietu Kaldi, który jest wskazywany jako bardziej zaawansowany [14]. Pakiet ten był już stosowany do rozpoznawania mowy polskiej w innych badaniach [11, 12]. Pakiet CMU Sphinx umożliwia osiągnięcie dobrych rezultatów w krótkim czasie [14] i z tego względu pocketsphinx został wybrany do realizacji omawianych prac badawczych.

System ARM jest przeznaczony do pracy z robotem społecznym IRYS opracowywanym w Przemysłowym Instytucie Automatyki i Pomiarów PIAP (rys. 1). System powinien umożliwiać sterowanie poszczególnymi stopniami swobody głowy robota za pomocą wypowiadanych poleceń. Określono listę komend, które powinny być rozpoznawane przez system ARM. Zbiór ten składa się z poleceń związanych z ruchami poszczególnych stopni swobody głowy robota (szyi, oczu, powiek, brwi, uszu) oraz z okazywaniem przez niego emocji (radość, smutek, strach, zaskoczenie, wstręt, złość). Przykładowo, system rozpoznaje komendy "obróć oko prawe o piętnaście stopni w prawo" czy "uśmiechnij się". Pełna lista 76 poleceń uznawanych przez system za prawidłowe znajduje się w pracy [13], a wersja kompaktowa listy jest opisana w punkcie 2.6.

2.2. Algorytm postępowania

Sposób postępowania prowadzący do przygotowania systemu do działania przedstawiono na rys. 2. Przygotowanie systemu przebiega w dwóch zasadniczych etapach: (1) uczenie modelu akustycznego, (2) test jakości działania wytrenowanego systemu. Przeprowadzenie testu jest integralną częścią procedury, narzuconą przez moduł trenujący. Przygotowany w ten sposób system można poddać dalszym badaniom.

Jako pierwszy krok, należy przygotować:
- zbiór danych treningowych i zbiór danych testowych,
- zbiór fonemów i słownik tzw. wypełniaczy (cisza oraz dźwięki bez znaczenia, lecz obecne w nagraniach),
- reguły fonetyczne języka dla programu zamieniającego zapis literowy słów na ich zapis fonetyczny,
- konfigurację programu sphinxtrain, za pomocą którego przygotowywany jest model akustyczny.

W drugim kroku, należy wygenerować słownik fonetyczny (.dic) oraz model statystyczny języka (.lm).

W trzecim kroku, należy uruchomić program sphinxtrain. Wynikiem tego działania jest zbiór plików opisujących model akustyczny oraz wskaźniki jakości dekodowania zbioru testowego za pomocą opracowanego systemu. Jeśli wartości uzyskanych wskaźników nie są zadowalające, można przeprowadzić dostrajanie systemu.

2.3. Zbiór treningowy i testowy

Zbiór treningowy (baza treningowa) to kolekcja nagrań wypowiedzi wraz z ich transkrypcjami. Służy on do wyuczenia modelu akustycznego (trening).

W przypadku systemu przeznaczonego dla dowolnego użytkownika, baza powinna zawierać próbki głosu mówców obu płci i w zróżnicowanym wieku, zarówno wypowiedzi szybkie, jak i powolne. Ponadto zbiór próbek powinien cechować się różnorodnością w występowaniu sekwencji fonemów, jednak cecha ta nie powinna być uzyskiwana kosztem sztuczności mowy (wypowiedzi powinny być jak najbardziej naturalne, podobne do rzeczywistej mowy, która ma podlegać dekodowaniu podczas normalnego działania systemu).

Nagrania zawarte w zbiorze treningowym nie muszą odpowiadać pod względem leksykalnym docelowemu zakresowi słownictwa.

W początkowej koncepcji rozważano zebranie kilku godzin próbek głosu różnych osób poprzez nagranie ich wypowiedzi. Pozwoliłoby to uzyskać w nagraniach warunki akustyczne zbliżone do docelowych. Ze względu na ograniczenia czasowe oraz logistyczne przyjęta została inna koncepcja, zakładająca wykorzystanie fragmentów audiobooków. Ostatecznie przygotowany zbiór nagrań treningowych zawierał fragmenty książek czytane przez lektorów obu płci, wśród których było 10 kobiet i 10 mężczyzn. Należało je podzielić na pojedyncze pliki z krótkimi wypowiedziami. Podział na pliki został wykonany ręcznie. Łączna długość nagrań wyniosła nieco ponad 1 godzinę. Szczegóły dotyczące zawartości zbioru nagrań treningowych przedstawiono w Tabeli 1.

Zbiór testowy, w przeciwieństwie do zbioru treningowego, powinien składać się z nagrań zawierających wypowiedzi zbliżone do tych, które mają być rozpoznawane w konkretnym zastosowaniu.

Według zaleceń [20] zbiór testowy powinien stanowić ok. 10% zbioru treningowego, co przy nieco ponad godzinie nagrań treningowych oznaczało konieczność zgromadzenia kilku minut materiału. Przy tak niewielkich wymaganiach zdecydowano się zarejestrować przy użyciu mikrofonu wypowiedzi kilku mówców. W tym celu poproszono 6 osób (3 kobiety oraz 3 mężczyzn) w przedziale wiekowym 20-40 lat o odczytanie kilkudziesięciu komend z uprzednio przygotowanej listy.

Podczas badań do rejestrowania sygnału mowy użyto mikrofonu HAMA CS-461 [21]. Zbiór testowy został zarejestrowany dla odległości mówcy od mikrofonu wynoszącej ok. 0,5 m. Szczegóły dotyczące zawartości zbioru nagrań testowych zamieszczono w Tabeli 2.

2.4. Słownik fonetyczny

Słownik fonetyczny (.dic) to lista wszystkich unikalnych słów występujących w nagraniach, zarówno treningowych, jak i testowych wraz z ich transkrypcją fonetyczną.

Przygotowanie słownika fonetycznego obejmuje następujące kroki:
- utworzenie listy wszystkich unikalnych słów występujących w transkrypcjach zbioru treningowego i testowego, zdefiniowanie fonemów, które posłużą do opisu fonetyki
poszczególnych słów,
- utworzenie reguł zamiany pisowni słów na odpowiednią
wymowę, tj. sekwencje fonemów dla języka rozpoznawania mowy,
- utworzenie słownika fonetycznego.

Za pomocą programu cmuclmtk (CMU Sphinx) wygenerowano spis wszystkich unikalnych słów z transkrypcji zbioru treningowego i uzyskano w ten sposób 3897 wyrazów, natomiast z zestawu komend testowych otrzymano 54 kolejne słowa.

Należało ustalić zbiór wszystkich fonemów. Nie jest to sprawa oczywista, badacze przyjmują różne koncepcje nawet w obrębie jednego języka. Podczas przygotowywania niniejszej pracy wzięto pod uwagę dwie z nich: zaproponowaną w [15] oraz tzw. konwencję SAMPA [22]. W obu przypadkach wyróżnia się 37 fonemów dla języka polskiego, ale istnieją między nimi pewne różnice. Pierwsza propozycja przyjmuje istnienie fonemów ą i ę (zapisanych jako o~ i e~), zaś druga kwestionuje zasadność ich wyróżniania. Pojawiają się w niej z kolei dodatkowe fonemy ki oraz gi (np. w słowach kiedy, zgiełk). Pozostałe fonemy pokrywają się, włącznie z tzw. spółgłoską nosową tylnojęzykowo-miękkopodniebienną ą (np. w słowach bank, sukienka). Chcąc jak najdokładniej odzwierciedlić wymowę wyrazów ze słownika fonetycznego, celem możliwie najlepszego wytrenowania modelu akustycznego, zdecydowano się połączyć obie opisane powyżej koncepcje. Tym sposobem uzyskano zbiór 39 fonemów, które posłużyły do reprezentacji fonetycznej słów (tabela 3).

Każde unikalne słowo ze słownika zostało opisane przy pomocy pojedynczych fonemów z użyciem funkcjonalności translacji g2p (ang. grapheme-to-phoneme) pakietu eSpeak [23]. Uzyskany w ten sposób opis fonetyczny różnił się jednak od konwencji wymaganej przez CMU Sphinx. Pakiet
eSpeak oparty jest na tzw. alfabecie Kirshenbauma [24],
natomiast sphinxtrain oczekuje zapisu zbliżonego do Arpa- bet [25], w którym fonemy reprezentowane są tylko przy użyciu pojedynczych liter lub ich par rozdzielonych spacjami bez znaków interpunkcyjnych. Do konwersji fonemów z jednej konwencji na drugą przygotowano proste programy w języku C++.

Program g2p eSpeak ma zdefiniowany zestaw reguł (pl_ rules) dla języka polskiego - w ramach pracy nie były one modyfikowane. Pojawiły się jednak problemy przy przetwarzaniu niektórych polskich znaków. Litery ś oraz ź zostały całkowicie pominięte, natomiast samogłoska ą odczytana została przez program błędnie. Ze względu na stosunkowo niewielką liczbę wyrazów w słowniku zawierających te litery zdecydowano się poprawić je ręcznie.

Należało jeszcze sprawdzić poprawność wygenerowanego słownika i skorygować go w razie potrzeby. Konieczne było to zwłaszcza w przypadku słów pochodzących z obcych języków, np. nazw własnych (Missouri, Columbia) występujących we fragmentach audiobooków. Niektórym słowom ze zbioru testowego dodano także alternatywną wymowę, wynikającą m.in. z kontekstu - np. jednoliterowe słowo w można wymawiać jako f lub v (w prawo [f p r a v o]/w lewo [v l e v o]).

Słownik wypełniaczy

W słowniku wypełniaczy (ang. fillers) znalazły się jedynie symbole oznaczające początek oraz koniec fragmentów ciszy.

Model statystyczny języka

Model statystyczny języka opisuje prawdopodobieństwa wystąpienia kombinacji różnych słów obok siebie w tekście referencyjnym reprezentującym język. Rozważono dwa warianty zbudowania modelu języka: utworzenie modelu n-gramowego albo gramatyki formalnej. Druga opcja może się wydawać trafnym wyborem do rozpoznawania komend z ograniczonego zbioru. Ze względu na łatwość przygotowania i planowany rozwój systemu ARM w stronę większej naturalności wypowiedzi w przyszłości oraz wyniki badań przeprowadzonych [10], zdecydowano się na n-gramowy model języka.

Pakiet CMU Sphinx zawiera program o nazwie cmuclmtk umożliwiający generowanie modeli n-gramowych.

Ponieważ duży nacisk kładziono na minimalizację błędu rozpoznawania pełnych komend, podjęto decyzję o narzuceniu pewnych ścisłych reguł syntaktycznych na sekwencje słów w komendach do rozpoznania. Komendy przyjmują następującą postać:
= <czynność> + + (opcjonalnie).

W pracy użyto tekstu referencyjnego zawierającego docelowe komendy z uwzględnieniem wszystkich możliwych ich wariantów (tabela 4).

Wstawiając niektóre komendy wielokrotnie do tekstu referencyjnego, zadbano m.in. o to, by wyrównać prawdopodobieństwa wystąpienia wszystkich czasowników na pierwszej pozycji w wypowiedzi oraz zachować "symetrię" w przypadku par słów wyrażających kierunek ruchu, np. prawo/lewo, w górę/w dół (rys. 3).

W wygenerowanym modelu języka znalazły się 54 różne słowa (w tym symbole ciszy), 105 różnych bigramów i 166 trigra- mów. Każdemu z nich przyporządkowane zostały prawdopodobieństwa, reprezentowane w modelu również za pomocą liczb ujemnych - logarytmów dziesiętnych prawdopodobieństwa.

Konfiguracja treningu modelu akustycznego

Przed przystąpieniem do uczenia modelu akustycznego należy określić parametry konfiguracyjne programu sphinxtrain. Dokonuje się tego w pliku konfiguracyjnym sphinx_train.cfg. Trening opisywanego systemu przeprowadzono przy następujących wartościach parametrów (jeśli parametru nie wymieniono, miał on pozostawioną wartość domyślną):
$CFG_WAVFILE_SRATE = 16000.0;
$CFG_NUM_FILT = 25;
$CFG_LO_FILT = 130;
$CFG_HI_FILT = 6800;
$CFG_HMM_TYPE = '.cont.';
$CFG_FINAL_NUM_DENSITIES = 8;
$CFG_N_TIED_STATES = 200;
$CFG_LDA_MLLT = 'no';
$CFG MMIE = 'no'.

3. Ewaluacja systemu

Ewaluacja systemu obejmowała dwa rodzaje badań: test systemu ARM będący integralną częścią procedury treningowej oraz badania z udziałem grupy testowej w warunkach rzeczywistych.

3.1. Test systemu ARM w ramach procedury treningowej

Test systemu ARM przewidziany w procedurze treningowej polega na dekodowaniu sygnału audio ze zbioru testowego za pomocą opracowanego systemu ARM, a następnie porównaniu rozpoznanego tekstu z transkrypcją. Na tej podstawie obliczane są wskaźniki jakości procesu rozpoznawania.

Jako wskaźniki jakości systemu przyjęto współczynniki błędu rozpoznawania słów WER (ang. Word Error Rate) oraz zdań SER (ang. Sentence Error Rate):


gdzie: S - liczba słów zastąpionych innymi (ang. substitutions), D - liczba słów pominiętych (ang. deletions), I - liczba słów niepotrzebnie wstawionych do zdania (ang. insertions), NW - liczba słów występujących w zdaniu do rozpoznania, E - liczba błędnie rozpoznanych zdań, przy czym zdanie poprawnie rozpoznane oznacza, że nie było w nim ani jednego błędu typu zastąpienie, pominięcie lub wstawienie słowa, NS - liczba zdań do rozpoznania.

W tabeli 5 przedstawiono wyniki testu w przypadku zastosowania dwóch wersji modelu języka LM, z których jedna była oparta na tekście referencyjnym nie w pełni zgodnym z nagraniami testowymi (LM1), a druga na tekście referencyjnym w pełni zgodnym z nagraniami (LM2).

Zbiór testowy składał się z 224 wypowiedzi, które łącznie zawierały 784 słowa. W wyniku pierwszego treningu uzyskano błąd rozpoznawania słów (WER) na poziomie 28,3% (222 błędy) oraz błąd rozpoznawania zdań (SER) wynoszący aż 51,8%, tj. 116 z 224 zdań zostało rozpoznanych niepoprawnie. Niezadowalające rezultaty wynikały z pewnej niezgodności w szyku słów w zdaniach zawartych w nagraniach testowych z ówczesną wersją modelu języka. Po naniesieniu odpowiednich poprawek udało się uzyskać znaczącą poprawę. Wartość WER spadła do 3,9%, co oznaczało błędne rozpoznanie zaledwie 31 z 784 słów przy jednoczesnym znacznym obniżeniu SER do 8,9% (20 z 224 zdań niepoprawnych).

Warto podkreślić, że uzyskane wartości WER i SER odnoszą się do konkretnego zbioru nagrań gromadzonego w laboratoryjnych warunkach akustycznych.

3.2. Badania w warunkach rzeczywistych

Głównym celem badań była ocena skuteczności rozpoznawania mowy przez system ARM w takich warunkach akustycznych, jakie mogą panować w ewentualnym docelowym zastosowaniu, w przypadku gdy mówcy stanowią grupę zróżnicowaną pod względem wieku oraz płci. Kolejnym celem badań była również ocena skuteczności rozpoznawania mowy przez system w przypadku, gdy mówca będzie znajdował się w różnych odległościach od mikrofonu.

Badania przeprowadzono zgodnie z diagramem czynności (rys. 4). Najpierw zadany tekst jest odczytywany przez mówcę, a zatem narządy mowy mówcy wytwarzają falę dźwiękową niosącą zadaną informację. Fala dźwiękowa z informacją rozchodzi się w otoczeniu testowym zgodnie z prawami propagacji fal i dociera do mikrofonu podłączonego do komputera, na którym działa opracowany system ARM. Oprócz fali dźwiękowej z zadaną informacją, do mikrofonu docierają jednocześnie fale dźwiękowe z innych źródeł, traktowane w tym badaniu jako zakłócenia. System ARM dekoduje dźwięk zarejestrowany przez mikrofon generując na wyjściu odpowiadający mu rozpoznany tekst. Następnie, rozpoznany tekst jest automatycznie porównywany z tekstem zadanym za pomocą odpowiedniego programu, a wynikiem tego porównania jest ocena, czy zdanie rozpoznano poprawnie czy błędnie. Ostatecznie, na podstawie całkowitej liczby błędnie rozpoznanych zdań oraz liczby wszystkich zdań obliczany jest automatycznie wskaźnik SER (równanie (2)).

Zadany tekst obejmował listę 76 prawidłowych poleceń dla robota (zdań) opisanych w punkcie 2.6. Ponieważ polecenia były odczytywane dwukrotnie, zadany tekst liczył 152 zdania. Badania przeprowadzono w pokoju o powierzchni 25 m2 i wysokości 2,5 m. Podłoga nie była wyciszona wykładziną, a okna nie były w żaden sposób osłonięte podczas badania. Użyto mikrofonu konferencyjnego MXL AC-404 [26] położonego płasko na stole w odległości odpowiednio ok. 2 m i 1 m od ściany bocznej i tylnej (rys. 5).

W badaniu 1, realizującym pierwszy cel badawczy, wzięło udział pięcioro mówców:
- mówca nr 1 - mężczyzna, lat 22,
- mówca nr 2 - kobieta, lat 49,
- mówca nr 3 - mężczyzna, lat 28,
- mówca nr 4 - kobieta, lat 25,
- mówca nr 5 - mężczyzna, lat 53.

W badaniu 2, dotyczącym drugiego celu badawczego, wziął udział tylko mówca nr 1, który mówił do mikrofonu z różnych odległości - 0,5 m, 1,5 m oraz 3,0 m.

Wartości wskaźnika błędnie rozpoznanych zdań SER będące wynikiem badania 1 pokazano w tabeli 6, a wartości SER dla badania 2, w tabeli 7 oraz na wykresie (rys. 6).

Badania przeprowadzone zarówno w warunkach laboratoryjnych, jak i w warunkach rzeczywistych pokazały, że opracowany system ARM rozpoznaje mowę różnych osób, których głosy nie znajdują się w bazie treningowej modelu akustycznego. Błąd rozpoznawania pełnych zdań przyjmuje wartości od kilku do kilkunastu procent, a średnia dla badanej grupy użytkowników, w przypadku mówienia w niewielkiej odległości od mikrofonu, wynosi 10,3% (badanie 1). Warto w tym miejscu przypomnieć, że dla nagrań ze zbioru testowego osiągnięto współczynnik SER o zbliżonej wartości 8,9%. Nagrania ze zbioru testowego były jednak gromadzone w innych warunkach akustycznych i za pomocą mikrofonu kierunkowego, a następnie poddane selekcji, w trakcie której nagrania gorszej jakości zostały odrzucone.

Badania potwierdziły przypuszczenie, że błąd rozpoznawania mowy rośnie wraz ze wzrostem odległości mówcy od mikrofonu. Użytkownik, który mówiąc bezpośrednio do mikrofonu uzyskał 8,5%, w przypadku testu z odległości 1,5 m został rozpoznany z SER na poziomie aż 44,1%. Przypuszczalnie gorszy rezultat otrzymany w przestronnym pomieszczeniu związany jest z występowaniem zjawiska pogłosu. Zwiększenie odległości do 3 m poskutkowało natomiast wzrostem błędu do 58,6%.

Należy zaznaczyć, że podane wartości błędu SER dla badań w warunkach rzeczywistych zostały otrzymane na małym zbiorze testowym, zatem obarczone są dużą niepewnością pomiaru. W celu potwierdzenia uzyskanych wyników konieczne jest przeprowadzenie badań na większym zbiorze testowym.

Podczas badań zaobserwowano także kilka najczęściej występujących błędów rozpoznawania. Niejednokrotnie wypowiedź "zeruj oko prawe/lewe " traktowana była przez system ARM jako "zeruj ucho prawe/lewe" ze względu na fonetyczne podobieństwo słów "oko" i "ucho". Dość powszechnie powtarzającym się błędem było mylne rozpoznawanie słów prawo/lewo czy prawą/lewą. Pojawiał się on szczególnie często w przypadku wypowiedzi mówcy nr 5 i był główną przyczyną tak wysokiej wartości SER dla tego użytkownika. Kilkukrotnie wypowiedź "zeruj głośnik" dawała w rezultacie "zeruj głowę". Zdarzało się również, zwłaszcza w dłuższych wypowiedziach, że tylko jedno ze słów było pomijane, co skutkowało zakwalifikowaniem tego zdania jako błędnie rozpoznanego.

Interpretując uzyskane wyniki należy wziąć pod uwagę, że do wyszkolenia opracowanego systemu ARM użyto stosunkowo małej bazy treningowej nagrań. Czynnikiem, który także może mieć negatywny wpływ na skuteczność systemu jest przyjęty sposób opracowywania bazy treningowej, tj. przez wycinanie fragmentów audiobooków. Warunki akustyczne w rzeczywistości są znacznie gorsze niż w tych nagraniach.

4. Wnioski

W ramach pracy opracowano system automatycznego rozpoznawania mowy typu command & control dla języka polskiego przeznaczony dla robota społecznego.

System bazuje na otwartym oprogramowaniu CMU Sphinx. Opracowano zbiór treningowy i testowy nagrań, zbiór głosek (fonemów) dla języka polskiego składający się z 39 fonemów, słownik fonetyczny, model 3-gramowy języka. Przeprowadzono trening modelu akustycznego.

Jakość opracowanego systemu określono poprzez wyznaczenie błędu rozpoznawania pełnych zdań SER podczas badań laboratoryjnych oraz badań w warunkach rzeczywistych. Podczas badań laboratoryjnych, przy materiale dźwiękowym pochodzącym od mieszanej grupy badawczej 6 osób w przedziale wiekowym 20-40 lat, uzyskano wartość SER na poziomie 9%. Podczas badań w środowisku rzeczywistym, przy mowie pochodzącej od grupy badawczej złożonej z 3 mężczyzn i 2 kobiet w wieku 20-50 lat oraz mówiących do mikrofonu z bliskiej odległości, uzyskano średnią wartość SER na poziomie 10%.

Przeprowadzono również badanie wpływu odległości mówcy od mikrofonu na uzyskiwaną wartość SER, która przy odległości 3 m wzrosła do blisko 60%.

W ramach dalszych prac planowane jest:
- rozszerzenie możliwości systemu, zarówno pod względem zasobu rozpoznawanego słownictwa oraz w kierunku umożliwienia użytkownikowi większej swobody wypowiedzi;
- zmniejszenie błędu rozpoznawania zdań w przypadku mowy odległego mówcy;
- przeprowadzenie pomiaru rozpoznawania zdań na większym niż dotychczas zbiorze testowym.

Podziękowania

Praca została wykonana w ramach projektu statutowego "Opracowanie prototypu głowy robota społecznego" w Przemysłowym Instytucie Automatyki i Pomiarów PIAP. Znaczący udział w opracowywaniu treningowego zbioru nagrań miała Pani Magdalena Dobrasiewicz, studentka Wydziału Elektroniki i Technik Informacyjnych Politechniki Warszawskiej.

Bibliografia

1. Robotics 2020 - Multi-Annual Roadmap. ICT 2016 (ICT 25 & ICT 26).

2. Fischinger D., Einramhof P., Papoutsakis K., Wohlkinger W., Mayer P., Panek P., Hofmann S., Koertner T., Weiss A., Argyros A., Vincze M., Hobbit, a care robot support-ing independent living at home: First prototype and lessons learned. "Robotics and Autonomous Systems“, Vol. 75, A, 2014, 60-78, DOI: 10.1016/j.robot.2014.09.029.

3. Gonzalez-Pacheco V., Malfaz M., Fernandez F., Salichs M.A., Teaching human poses interactively to a social robot. “Sensors", Vol. 13, No. 9/2013, 12406-12430, DOI: 10.3390/s130912406.

4. Nishimuta I., Yoshii K., Itoyama K., Okuno H.G., Devel-opment of a robot ąuizmaster with auditory functions for speech-based multiparty interaction. [in:] IEEE/SICE International Symposium on System Integration, SII 2014, 328333, DOI: 10.1109/SII.2014.7028059.

5. Gomez R., Kawahara T., Nakamura K., Nakadai K., Multiparty human-robot interaction with distant-talking speech rec-ognition. [in:] HRI’12 Proceedings of the 7th Annual ACM/ IEEE International Conference on Human-Robot Interac-tion. 439-446, 2012, DOI: 10.1145/2157689.2157835.

6. Gnjatović M., Tasevski J., Nikolić M., Miśković D., Borovac B., Delić V., Adaptive multimodal interaction with industrial robot. [in:] IEEE 10th Jubilee International Symposium on Intelligent Systems and Informatics, SISY 2012. 329-333, 2012, DOI: 10.1109/SISY.2012.6339538.

7. Rogowski A., Analiza i synteza systemów sterowania głosowego w zautomatyzowanym wytwarzaniu, Oficyna Wydawnicza Politechniki Warszawskiej, 2012.

8. Ondas S., Juhar J., Pleva M., Cizmar A., Holcer R., Service robot SCORPIO with robust speech interface. “International Journal of Advanced Robotic System", Vol. 10, No. 3, 2013, DOI: 10.5772/54934.

9. Jurafsky D., Martin J.H., Speech and language processing: an introduction to natural language processing, computational linguistics, and speech recognition. Pearson Prentice Hall, Upper Saddle River, N.J 2009.

10. Janicki A., Wawer D., Automatic speech recognition for polish in a computer game interface. [in:] 2011 Federated Conference on Computer Science and Information Systems (FedCSIS), 711-716, 2011.

11. Ziółko B., Jadczyk T., Skurzok D., Żelasko P., Gałka J., Pędzimąż T., Gawlik I., Pałka S., SARMATA 2.0 Automatic Polish Language Speech Recognition System, [in:] Sixteenth Annual Conference of the International Speech Communi-cation Association, 2015.

12. Marasek K., Korzinek D., Brocki Ł., System for Automatic Transcription of Sessions of the Polish Senate. "Archives of Acoustics". Vol. 39, No. 4, 2014, 501-509, DOI: 10.2478/aoa-2014-0054.

13. Zygadło A., System automatycznego rozpoznawania mowy polskiej na potrzeby robota społecznego, 2016.

14. Gaida C., Lange P., Petrick R., Proba P., Malatawy A., Suendermann-Oeft D., Comparing open-source speech recog-nition toolkits. DHBW Stuttgart Technical Report, http:// suendermann. com/su/pdf/oasis2014. pdf (2014).

15. Jassem W.: Podstawy fonetyki akustycznej. Państwowe Wydawnictwo Naukowe, Warszawa 1973.

16. [http://htk.eng.cam.ac.uk]

17. [http://cmusphinx.sourceforge.net] - CMU Sphinx, Project by Carnegie Mellon University

18. [https://sourceforge.net/projects/kaldi]

19. [ http://cmusphinx.sourceforge.net/wiki/research] - Research Using CMUSphinx

20. [http://cmusphinx.sourceforge.net/wiki/tutorialam] - Tra-ining Acoustic Model For CMUSphinx

21. [https://pl.hama.com/000424610000/hama-mikrofon-stoj--cy-cs-461]

22. [http://www.phon.ucl.ac.uk/home/sampa/polish.htm]

23. [http://espeak.sourceforge.net] - eSpeak text to speech

24. [http://www.kirshenbaum.net/IPA/index.html] - Usenet IPA/ASCII transcription

25. [http://www.speech.cs.cmu.edu/cgi-bin/cmudict] - The CMU Pronouncing Dictionary

26. [http://www.mxlmics.com/microphones/web-conferencing/ AC-404]
×

DALSZA CZĘŚĆ ARTYKUŁU JEST DOSTĘPNA DLA SUBSKRYBENTÓW STREFY PREMIUM PORTALU WNP.PL

lub poznaj nasze plany abonamentowe i wybierz odpowiedni dla siebie. Nie masz konta? Kliknij i załóż konto!

SŁOWA KLUCZOWE I ALERTY

Zamów newsletter z najciekawszymi i najlepszymi tekstami portalu

Podaj poprawny adres e-mail
W związku z bezpłatną subskrypcją zgadzam się na otrzymywanie na podany adres email informacji handlowych.
Informujemy, że dane przekazane w związku z zamówieniem newslettera będą przetwarzane zgodnie z Polityką Prywatności PTWP Online Sp. z o.o.

Usługa zostanie uruchomiania po kliknięciu w link aktywacyjny przesłany na podany adres email.

W każdej chwili możesz zrezygnować z otrzymywania newslettera i innych informacji.
Musisz zaznaczyć wymaganą zgodę

KOMENTARZE (0)

Do artykułu: System rozpoznawania mowy polskiej dla robota społecznego

NEWSLETTER

Zamów newsletter z najciekawszymi i najlepszymi tekstami portalu.

Polityka prywatności portali Grupy PTWP

Logowanie

Dla subskrybentów naszych usług (Strefa Premium, newslettery) oraz uczestników konferencji ogranizowanych przez Grupę PTWP

Nie pamiętasz hasła?

Nie masz jeszcze konta? Kliknij i zarejestruj się teraz!