KATEDRA SYSTEMÓW MULTIMEDIALNYCH. Inteligentne systemy decyzyjne. Ćwiczenie nr 12:

Podobne dokumenty
AKUSTYKA MOWY. Podstawy rozpoznawania mowy część I

Automatyczne rozpoznawanie mowy. Autor: mgr inż. Piotr Bratoszewski

PRACA DYPLOMOWA Inżynierska

Podstawy automatycznego rozpoznawania mowy. Autor: mgr inż. Piotr Bratoszewski

Opisy efektów kształcenia dla modułu

ROZPOZNAWANIE SYGNAŁÓW FONICZNYCH

Metody systemowe i decyzyjne w informatyce

Rozpoznawanie mowy za pomocą HTK

Automatyczne rozpoznawanie mowy - wybrane zagadnienia / Ryszard Makowski. Wrocław, Spis treści

Czym jest HTK HMMs ASR

PRAKTYCZNE ASPEKTY WYKORZYSTYWANIA SYSTEMÓW ROZPOZNAWANIA MOWY OPARTYCH NA HMM

Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.

Sprawozdanie z laboratoriów HTK!


S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Elementy modelowania matematycznego

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Poradnik HTK. Adrian Sekuła

Praca dyplomowa inżynierska

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

9. Praktyczna ocena jakości klasyfikacji

dr inż. Jacek Naruniec

ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Omówienie różnych metod rozpoznawania mowy

BADANIE MODULATORÓW I DEMODULATORÓW AMPLITUDY (AM)

Statystyczna analiza danych

Spacery losowe generowanie realizacji procesu losowego

Programowanie i techniki algorytmiczne

Algorytm grupowania danych typu kwantyzacji wektorów

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Priorytetyzacja przypadków testowych za pomocą macierzy

Rozpoznawanie obrazów

Sztuczna Inteligencja w medycynie projekt (instrukcja) Bożena Kostek

ALGORYTM RANDOM FOREST

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Sposoby opisu i modelowania zakłóceń kanałowych

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

Stan dotychczasowy. OCENA KLASYFIKACJI w diagnostyce. Metody 6/10/2013. Weryfikacja. Testowanie skuteczności metody uczenia Weryfikacja prosta

LABORATORIUM PODSTAW TELEKOMUNIKACJI

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

Rozpoznawanie obrazów

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Klasyfikacja LDA + walidacja

Sprawozdanie z laboratoriów HTK

Sieć przesyłająca żetony CP (counter propagation)

Podstawowe operacje graficzne.

Modelowanie języka polskiego z wykorzystaniem gramatyki struktur frazowych

Dodawanie i modyfikacja atrybutów zbioru

Uczenie sieci radialnych (RBF)

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

2.2 Opis części programowej

BOC INFORMATION TECHNOLOGIES CONSULTING. Zadania. Przykład bankowy

SPRAWOZDANIE Z LABORATORIÓW HTK SYLWIA BAŁAZY AKADEMIA GÓRNICZO-HUTNICZA IM. S. STASZICA W KRAKOWIE

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Widzenie komputerowe (computer vision)

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Ćwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

W klasie II i III rozwijane są intensywnie wszystkie cztery sprawności językowe.

Zastosowania sieci neuronowych

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Tematy lekcji informatyki klasa 4a styczeń 2013

Python : podstawy nauki o danych / Alberto Boschetti, Luca Massaron. Gliwice, cop Spis treści

Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Zad. 3: Rotacje 2D. Demonstracja przykładu problemu skończonej reprezentacji binarnej liczb

Algorytm grupowania danych typu kwantyzacji wektorów

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Metody Sztucznej Inteligencji II

UONET+ moduł Dziennik

Sieci Komputerowe 2 / Ćwiczenia 2

TWORZENIE MODELU AKUSTYCZNEGO NA POTRZEBY WERYFIKACJI MÓWCY PRZY UŻYCIU UKRYTYCH MODELI MARKOWA

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Klasyfikacja metodą Bayesa

7. Formularze master-detail

Praca dyplomowa inżynierska

Rozpoznawanie mowy dla języków semickich. HMM - HTK, CMU SPHINX-4, Simon

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Dokumentacja Końcowa

Process Automation Toolkit (PAT)

CZYSZCZENIE DANYCH: Automatyczny podział tekstu na rekordy o określonej strukturze

Ćwiczenia rozwijające umiejętności językowe. Raport Dyrektoriatu Generalnego Edukacji i Kultury Komisji Europejskiej

ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Formularze w programie Word

Optymalizacja ciągła

Obliczenia iteracyjne

WYKŁAD 7. Testowanie jakości modeli klasyfikacyjnych metodyka i kryteria

Wymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA POSZCZEGÓLNYCH ŚRODROCZNYCH I ROCZNYCH OCEN Z ZAJĘĆ KOMPUTEROWYCH W KLASIE IV

Zapisywanie algorytmów w języku programowania

SPIS ILUSTRACJI, BIBLIOGRAFIA

Machine learning Lecture 5

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu

Ćwiczenie 6. Transformacje skali szarości obrazów

Transkrypt:

KATEDRA SYSTEMÓW MULTIMEDIALNYCH Inteligentne systemy decyzyjne Ćwiczenie nr 12: Rozpoznawanie mowy z wykorzystaniem ukrytych modeli Markowa i pakietu HTK Opracowanie: mgr inż. Kuba Łopatka 1. Wprowadzenie Ukryty model Markowa (lub łańcuch Markowa) modeluje pewne zjawisko za pomocą sekwencji stanów. Model rozpoczyna się stanem początkowym. Następnie dla każdego stanu opisany jest rozkład prawdopodobieństwa wartości parametrów w tym stanie oraz prawdopodobieństwa przejść do innych stanów. Stany początkowy i końcowe są zwane nieemitującymi, tj. nie przechodzą do innych stanów. Rys. 1 Przykład grafu przejść modelu HMM [1]

Wykorzystanie modeli Markowa do klasyfikacji sygnałów, a zwłaszcza sygnałów mowy, polega na wytrenowaniu modeli z wykorzystaniem dostępnych obserwacji treningowych, a następnie sprawdzenie prawdopodobieństwa, z jakim nieznana sekwencja jest opisywana danym modelem (tzw. prawdopodobieństwo a posteriori). W praktyce dla celów rozpoznawania mowy trenuje się osobne modele dla rozpoznawanych słów i sprawdza się, które słowo było najbardziej prawdopodobne. Prawdopodobieństwo tego, że badana sekwencja pasuje do wzorca, oblicza się iteracyjnie zgodnie ze wzorem: gdzie α t+1 (j) = [ i=1 N α t (i)a ij ] b j (O t+1 ) b i (O j ) prawdopodobieństwo pojawienia się j-tej obserwacji w stanie i a ij prawdopodobieństwo przejścia ze stanu i do stanu j. 2. Podstawy rozpoznawania mowy W przypadku rozpoznawania mowy z wykorzystaniem ukrytych modeli Markowa rolę obserwacji pełnią wektory parametrów sygnału mowy obliczonych w kolejnych punktach czasu. W tym ćwiczeniu wykorzystywane są parametry mel-cepstralne tj. powstałe w wyniku obliczenia cepstrum sygnału dla zmodyfikowanej skali częstotliwości. Schemat obliczania parametrów mel-cepstralnych przedstawiono na rys. 2. Rys. 2 Schemat koncepcyjny obliczania mel-cepstralnych parametrów sygnału mowy W celu rozpoznania fragmentu mowy z wykorzystaniem HMM należy porównać sekwencję obserwacji ze wszystkimi znanymi modelami (dotyczącymi np. różnych słów, zdań). Decyzja jest podejmowana na zasadzie największego prawdopodobieństwa a posteriori. Schemat podejmowania decyzji przy rozpoznawaniu wyrazów z wykorzystaniem HMM przedstawiono na rys. 3. Rys. 3 Schemat rozpoznawania wyrazów z wykorzystaniem ukrytych modeli Markowa [2].

3. Pakiet Hidden Markov Toolkit (HTK) Hidden Markov Toolkit jest narzędziem zawierającym funkcje związane z modelami Markowa. Jest on zoptymalizowany pod kątem sygnału mowy, ale może też być wykorzystany do rozpoznawania danych innego pochodzenia. HTK jest napisany w języku C i wykorzystuje interfejs wiersza poleceń. Do wykorzystania jego funkcji w czasie rzeczywistym służy pokrewny pakiet ATK. Pakiet HTK cieszy się szczególną popularnością wśród badaczy zajmujących sie rozpoznawaniem mowy. Poszczególne elementy biblioteki HTK odpowiadają za różne funkcje, takie jak wczytywanie plików, trenowanie modeli, tworzenie słownika, modeli językowych, a nawet wysokopoziomowy interfejs graficzny. Architektura pakietu została przedstawiona na rys. 4. Wykorzystywane narzędzia: Rys. 4 Architektura pakietu HTK [1] HInit dokonuje inicjalizacji modelu. Dzieli obserwacje treningowe równomiernie pomiędzy wszystkie stany, a następnie przypisuje im początkowe wartości średnich i wariancji rozkładów Gaussowskich opisujących dane stany. Proces powtarzany jest kilkakrotnie, aż osiągnięte zostaną rozkłady maksymalizujące przynależność danych obserwacji do konkretnych stanów. HRest dokonuje reestymacji wag modelu, tj. dopasowuje rozkłady i prawdopodobieństwa przejść do obserwacji treningowych. Model HMM składa się z: rozkładu prawdopodobieństwa parametrów sygnału dla danego stanu opisanego za pomocą mieszanego modelu Gaussowskiego (tj. p gaussoid, gdzie p to liczba parametrów sygnału). prawdopodobieństw przejść pomiędzy stanami.

HERest dokonuje zagnieżdżonej reestymacji wag dla wszystkich głosek i modeli występujących w danych treningowych. HVite dokonuje dekodowania Viterbi ego w celu określenia prawdopodobieństwa, z jakimi posiadany model opisuje znane sekwencje treningowe lub testowe. HResults dokonuje interepretacji wyników rozpoznawania danych łańcuchem HMM. 4. Zadania do wykonania UWAGA: Wszelkie skrypty.bat w ćwiczeniu należy uruchamiać z wiersza poleceń (cmd). 1. Otwórz plik model/proto/5state. Jest to prototyp modelu Markowa, na podstawie którego trenowany będzie klasyfikator. Jakie informacje zawarte są w pliku modelu? Na podstawie zawartej w nim macierzy prawdopodobieństw przejść pomiędzy stanami narysuj graf modelu Markowa podobny do tego na rys. 1. 2. Dokonaj inicjalizacji i treningu modelu HMM dla fonemu C wykorzystując skrypt trenuj_hmm.bat. Porównaj trening modelu o 3,5,7 i 10 stanach. Po ilu iteracjach model jest zbieżny? Zanotuj i zinterpretuj wyniki. W celu zmiany modelu zmodyfikuj następującą linię w skrypcie: set model = 3state zmieniając wyróżnioną pogrubioną czcionką nazwę modelu na 5state, 7state i 10state. Korzystając z danych zwracanych przez funkcję HRest, wykreśl krzywe uczenia (learning curve) modelu o 3,5,7 i 10 stanach. Krzywa uczenia przedstawia zmianę optymalizowanego parametru (w tym przypadku LogProb) w zależności od kolejnych iteracji. Porównaj uzyskane krzywe i zinterpretuj wyniki. 3. Wytrenuj model rozpoznawania mowy oparty o pojedyncze głoski (monophone). Wykorzystaj do tego skrypt trenuj_model.bat. Wykonany zostanie trening modeli dla 5 fonemów występujących w dostępnych danych treningowych i testowych: C,L,N,S,V. W tym przypadku dla każdej z głosek tworzony jest osobny model Markowa. 4. Przetestuj wytrenowany model na zbiorze treningowym, wykorzystując skrypt testuj_hmm_treningowy.bat oraz na zbiorze testowym (testuj_hmm_testowy.bat). Zanotuj procent poprawnie rozpoznanych słów (WORD) i zdań (SENT). Porównaj wyniki dla modeli o 3,5,7,10 stanach. Aby zmienić liczbę stanów w modelu, zmień zawartość skryptu trenuj_model, modyfikując linię: set model = 3state PAMIĘTAJ: Po zmianie zawartości skryptu trenuj_model.bat uruchom go ponownie aby stworzyć nowe modele HMM. Dokonaj zestawienia i interpretacji wyników. 5. Wytrenuj model oparty na trifonach (zbitkach trzech fonemów). W tym celu zmodyfikuj następującą linię w skrypcie trenuj_model: set level = mon

zmieniając mon na tri. Następnie przetestuj rozpoznawanie, używając skryptów testuj_model_treningowy i testuj_model_testowy. Analogicznie jak w zadaniu 3 sprawdź skuteczność dla 3,5,7,10 stanów. Zestaw i zinterpretuj wyniki. Zadanie dodatkowe Wyniki zwracane przez funkcję HResults są w następującej postaci: SENT: %Correct=0.00 [H=0, S=3, N=3] WORD: %Corr=66.92, Acc=63.16 [H=89, D=36, S=8, I=5, N=133] Co oznaczają symbole H,S,N,D,I? Czym różni się miara Corr(Correct) od Acc? Podpowiedź: Word Error Rate Literatura: [1] Young, S., Woodland, P., Htk, T., & Version, H. T. K. (2000). The HTK Book. (M. Corporation, Ed.)Network (Vol. 2). Cambridge University Press. [2] Zweig, G., & Picheny, M. (2004). Advances in Large Vocabulary Continuous Speech Recognition. Signal Processing, 60, 249 291. Elsevier