Inteligentne metody rozpoznawania dźwięku

Wielkość: px
Rozpocząć pokaz od strony:

Download "Inteligentne metody rozpoznawania dźwięku"

Transkrypt

1 Politechnika Łódzka Wydział Fizyki Technicznej, Informatyki i Matematyki Stosowanej Kierunek Informatyka Praca magisterska Inteligentne metody rozpoznawania dźwięku Stanisław Kacprzak Promotor: prof. dr hab. inż Mykhaylo Yatsymirskyy Łódź, 2010

2 ...

3 Spis treści Spis treści i 1 Wstęp Problematyka i zakres pracy Cele pracy Przegląd literatury Istniejące rozwiązania Układ pracy Rozpoznawanie mowy Zarys prac nad rozpoznawaniem mowy Klasyfikacja systemów rozpoznawania mowy Podejścia do rozpoznawania mowy Podejście akustyczno-fonetyczne Podejście wykorzystujące rozpoznawanie wzorców Podejście wykorzystujące sztuczną inteligencję Składowe elementy systemu rozpoznawania mowy Sygnał mowy Budowa traktu głosowego człowieka oraz wytwarzanie mowy Fonetyczne i lingwistyczne aspekty mowy Pojęcie fonemu Segmentacja sygnału mowy Segmentacja sygnału ciągłego Algorytm detekcji pojedynczego słowa Parametryzacja sygnału mowy Opis sygnału mowy w dziedzinie czasu Liniowe kodowanie predykcyjne (LPC) Współczynniki analizy cepstralnej w skali mel (MFCC) Inne metody parametryzacji i

4 SPIS TREŚCI ii 4 Ukryte Modele Markowa Dyskretny proces Markowa Definicja ukrytego modelu Markowa (HMM) Trzy podstawowe problemy dotyczące ukrytych modeli Markowa Ewaluacja prawdopodobieństwa modelu Procedura progresywna (forward) Procedura regresywna (backward) Optymalna sekwencja stanów Algorytm Viterbiego Reestymacja parametrów modelu. Aglorytm Bauma-Welcha Typy ukrytych modeli Markowa Wielokrotne sekwencje obserwacji Modele z ciągłą gęstością rozkładów prawdopodobieństwa w stanach (CDHMM) Modele typu embedded Problemy implementacyjne HMM Inicjalizacja parametrów modelu Prawdopodobieństwa przekraczające precyzję komputera Niewystarczająca ilość danych uczących Możliwości optymalizacji System rozpoznawania izolowanych słów Analiza wymagań Wymagania dla tworzonego systemu Wybór metody rozpoznawania oraz typu tworzonego systemu rozpoznawania mowy Schemat działania systemu Trening Rozpoznawanie Projekt systemu Pakiet recorder Pakiet signalprocesing Pakiet speechrecognizer Specyfikacja danych wejściowych Przykład zastosowania systemu Testy systemu Podsumowanie Perspektywy dalszego rozwoju systemu Bibliografia 58 A Załącznik 1 61

5 Rozdział 1 Wstęp 1.1 Problematyka i zakres pracy Niniejsza praca poświęcona jest zagadnieniom sztucznej inteligencji dotyczącym rozpoznawania dźwięku na przykładzie systemu rozpoznawania izolowanych słów. Głównym przedmiotem pracy jest stworzenie systemu rozpoznawania izolowanych słów. System ten ponadto spełniać ma poniższe założenia: 1. system jest zależny od mówcy (System ma posiadać zdolność rozpoznawania jedynie słów wypowiedzianych przez mówcę, na którego przykładach został uczony.), 2. system rozpoznaje jedynie słowa ze zdefiniowanego wcześniej słownika, 3. rozpoznawanie odbywa się na bazie fonemów języka polskiego, 4. system działa w oparciu o ukryte modele Markowa, 5. system udostępnia API (Application Programming Interface), pozwalający na wykorzystanie go jako element interfejsu przy programowaniu komunikacji człowiek-komputer. 1.2 Cele pracy Niniejszej praca ma na celu: 1. popularyzację zagadnień związanych z rozpoznawaniem mowy, 2. opisanie zastosowań ukrytych modeli Markowa w rozpoznawaniu mowy, 3. stworzenie systemu rozpoznawania mowy oraz analizę jego możliwości. 1

6 ROZDZIAŁ 1. WSTĘP Przegląd literatury Literatura dotycząca zagadnień rozpoznawania mowy jest głównie anglojęzyczna. Podstawową pozycją związaną z tematem jest Fundamentals of speech recognition Rabinera i Juanga [21], w której bardzo dobrze omówiono zagadnienie ukrytych modeli Markowa, natomiast wiele zagadnień praktycznych związanych z ukrytymi modelami Markowa znajduje się w The HTK Book Version 3.4 [32] będącej instrukcją do naukowego oprogramowania stworzonego w Cambridge. Bardzo obszerny zbiór informacji na temat zagadnień rozpoznawania mowy zawiera Spoken Language Processing: A Guide to Theory, Algorithm, and System Development autorstwa Huanga, Acero i Hona [12]. Literatura w języku polskim to przede wszystkim Sygnał Mowy Tadeusiewicza [27] oraz Źródła, sygnały i obrazy akustyczne Basztury [6]. Informacje związane z tematem tej pracy znaleźć można także w pracach doktorskich Optymalizacja parametryzacji sygnału mowy w aspekcie rozpoznawania mowy polskiej autorstwa Gałki [9] i Rozpoznawanie mowy metodami niejawnych modeli Markowa HMM Szostka [26]. 1.4 Istniejące rozwiązania Systemy rozpoznawania izolowanych słów istnieją już od dłuższego czasu, co dokładniej omówione zostanie w następnym rozdziale, a głównymi obiektami badań są teraz systemy rozpoznawania mowy ciągłej. Jednak większość osiągniętych sukcesów w tej dziedzinie dotyczy języka angielskiego. Nadal brak ogólnie dostępnych systemów rozpoznawania mowy polskiej. Na przykład rozpoznawanie mowy w systemie Windows dotyczy obecnie tylko języka angielskiego, francuskiego, niemieckiego, hiszpańskiego i chińskiego [1]. Możliwe jest natomiast skorzystanie z ogólnie dostępnych rozwiązań jak Sphinx [2] czy HTK [3], które umożliwiają stworzenie własnego systemu rozpoznawania. Sphinx jest przykładem otwartego oprogramowania (open source), z kolei HTK jest narzędziem naukowym i w ograniczony sposób może być wykorzystywany w projektach komercyjnych. Oba działają w oparciu o ukryte modele Markowa. Niestety, korzystanie z nich wymaga od użytkownika pewnej wiedzy i zaawansowania. 1.5 Układ pracy W następnych trzech rozdziałach zostaną przedstawione zagadnienia teoretyczne niezbędne do zajmowania się rozpoznawaniem mowy. W rozdziale drugim omówiony zostanie przedstawiony zarys dotychczasowych prac nad tym zagadnieniem. Przedstawiona zostanie klasyfikacja systemów oraz

7 ROZDZIAŁ 1. WSTĘP 3 istniejące podejścia do tego zagadnienia. Na koniec zaprezentowane zostaną elementy wchodzące w skład każdego systemu. W rozdziale trzecim omówiony zostanie sygnał mowy oraz przedstawiony będzie sposób jego wytwarzania. Zdefiniowane zostanie pojęcie fonemu. Ponadto omówione zostaną problemy segmentacji mowy i jej parametryzacji. W rozdziale czwartym zostanie omówiona teoria dotycząca ukrytych modeli Markowa. Przedstawione zostaną zagadnienia ewaluacji prawdopodobieństwa, reestymacji parametrów zarówno dla modeli z dyskretnym, jak i z ciągłym rozkładem prawdopodobieństwa w stanach. W rozdziale piątym omówiony zostanie stworzony system. Zaprezentowany zostanie jego projekt oraz wyniki analizy jego możliwości. Na koniec,w rozdziale szóstym, przedstawione zostaną wnioski oraz perspektywa dalszych prac nad stworzonym systemem.

8 Rozdział 2 Rozpoznawanie mowy Wraz z rozwojem technologii charakter kontaktu człowieka ze sterowanym procesem technicznym nabiera cech inteligentnego dialogu, nie jest to już tylko prymitywne sterowanie. Także system podaje człowiekowi wysoce przetworzoną i opracowaną informację o swoim stanie. W rezultacie dostępne dotąd środki techniczne jak klawiatury, dźwignie czy pokrętła przestają odpowiadać stawianym przed nimi wymaganiom. Rozwiązaniem tego problemu może stać się sygnał mowy, który to niewątpliwie jest najbardziej naturalnym i najszybszym sposobem komunikacji między ludźmi [27]. Wykorzystanie sygnału mowy to nie tylko możliwość upodobnienia komunikacji z systemami sterowania do komunikacji miedzy ludzkiej, to także możliwość zwiększenia jej wygody i wydajności. Nietrudno wyobrazić sobie korzyści płynące z wykorzystania go w procesach sterowania. Główne z nich to: szybkość działania, brak związania operatora klawiaturą czy zestawem manipulatorów, możliwość działania w ciemności, w warunkach przeciążenia, stresu fizycznego czy psychicznego, naturalność i wygoda sterowania, uwalniające od długotrwałego treningu i przyuczania personelu. Warto zauważyć, że w warunkach szczególnie trudnych (np. brak oświetlenia, brak dostępu do panelu sterowania) sterowanie głosem może okazać się jedynym sposobem zapewniającym oczekiwaną sprawność działania. W przypadku usług udostępnianych przez telefon (np. call center) głos zdaje się być jedynym sensownym sposobem komunikacji. Także dla osób chorych czy niepełnosprawnych sterowanie głosem może okazać się jedyną możliwością komunikacji. Należy jednak 4

9 ROZDZIAŁ 2. ROZPOZNAWANIE MOWY 5 zdać sobie sprawę, że rozpoznawanie mowy jest zagadnieniem bardzo szerokim i trudnym, a osiągnięcie możliwości rozumienia przez maszynę dowolnej wypowiedzi dowolnego człowieka może być nadal uważane za science fiction. Właśnie z książek i filmów science fiction, takich jak Gwiezdne wojny, gdzie występuje robot protokolarny C-3PO (znający miliony języków), wzięło się ogólne pojęcie na temat rozpoznawania mowy oraz potencjału jaki za sobą niesie. Jest to (jak określili to Rabiner i Juang [21]) Święty Gral rozpoznawania mowy. 2.1 Zarys prac nad rozpoznawaniem mowy Poniżej znajduje się krótki chronologiczny opis prac i badań nad rozpoznawaniem mowy. Jest to tylko wąski wycinek tego, co przez sześćdziesiąt lat udało się osiągnąć w tej materii, ale niezbędny dla pełnego zrozumienia zagadnienia, jakim jest rozpoznawanie mowy. Podrozdział ten został napisany na podstawie książki Rabinera i Juanga [21] oraz artykułów [14], [15]. Pierwsze prace nad rozpoznawaniem mowy pochodzą z lat pięćdziesiątych dwudziestego wieku. W 1952 roku Davis, Biddulph i Balashek w laboratoriach Bella stworzyli system pozwalający na rozpoznawanie poszczególnych cyfr. System ten pozwalał na rozpoznawanie wypowiedzi pojedynczego mówcy. Rozpoznawanie odbywało się na podstawie analizy częstotliwości formantów samogłosek. W 1956 roku Olsonowi i Belarowi, pracującym w laboratoriach RCA, udało się rozpoznawać dziesięć sylab dla pojedynczego mówcy. Z kolei już w 1958, w laboratoriach MIT, Forgie i Forgie stworzyli urządzenie potrafiące rozpoznawać dziesięć samogłosek dla dowolnego mówcy. W 1959 roku, na University College w Anglii, Fry i Denese użyli statystycznych informacji na temat dopuszczalnych sekwencji fonemów w celu poprawy stopnia rozpoznawalności. Było to pierwsze użycie składni statystycznej (statistical syntax). Ich system był w stanie rozpoznawać 4 samogłoski i 9 spółgłosek. W latach sześćdziesiątych istotny wkład w badania wniosły japońskie laboratoria, gdzie położono duży nacisk na budowę rozwiązań sprzętowych przeznaczonych do rozpoznawania mowy. Do najbardziej znaczących osiągnięć należą urządzenie do rozpoznawania samogłosek skonstruowane przez Suzuki i Nakate z Radio Research Lab w Tokio oraz urządzenie do rozpoznawania fonemów Sakai i Doshita z Uniwersytetu w Kioto. Urządzenie Sakaiego i Doshita po raz pierwszy wykorzystywało nierównomierną segmentację czasową wypowiedzi, dlatego też może być uznawane za rozwiązanie prekursorskie w dziedzinie rozpoznawania mowy ciągłej. Alternatywą dla segmentacji sygnału mowy stał się pomysł zastosowania niejednorodnej skali czasowej przy dopasowywaniu wzorców mowy. Takie rozwiązanie w latach sześćdziesiątych zaproponowali Tom Martin, pracujący w laboratoriach RCA, oraz naukowiec ze Związku Radzieckiego, Vintsyuk. Martin zapropo-

10 ROZDZIAŁ 2. ROZPOZNAWANIE MOWY 6 nował wiele rozwiązań problemów związanych z niejednorodnością skali czasowej w zjawiskach mowy, między innymi wykrywanie krańców wypowiedzi, co pozwala na jej normalizację. Vintsyuk zaproponował z kolei użycie programowania dynamicznego przy pomiarze podobieństwa dwóch wypowiedzi o różnej długości. Prace tego ostatniego przez długi czas pozostawały nieznane, a popularność zyskały dopiero za sprawą Sakoe,Chiba i innych, stając się podstawą Dynamic Time Warping (DTW). Od końca lat siedemdziesiątych za sprawą publikacji Sakoe i Chiba programowanie dynamiczne stało się nieodzownym elementem tworzonych systemów rozpoznawania mowy. Pod koniec lat sześćdziesiątych Atal i Ikatura niezależnie stworzyli podwaliny koncepcji LPC (Linear Predictive Coding). W przeciągu kilku lat Itakura, Rabiner i Levinson zaproponowali podstawy wykorzystania do rozpoznawania mowy technik rozpoznawania wzorców w oparciu o współczynniki LPC. W latach siedemdziesiątych wykrystalizowały się dwa główne kierunki prowadzenia badań nad rozpoznawaniem mowy. Głównymi ośrodkami takowych były laboratoria IBM i AT&T Bell. Działania IBM, pod kierunkiem Jelinka, skierowane były na stworzenie głosowej maszyny do pisania. Jej zadaniem byłaby zamiana wypowiedzianego zdania na ciąg liter, które następnie zostałyby wyświetlone na ekranie bądź wydrukowane. Z tych założeń powstał system o nazwie Tangora. System był przystosowany do pracy jedynie z jednym mówcą (system podlegał treningowi, aby rozpoznawać konkretną osobę). Najważniejszym czynnikiem, na którym się skupiano, było uzyskanie jak największej ilości rozpoznawanych słów oraz stworzenie reguł modelu językowego. Jako model języka wykorzystywano metodę n-gramów. Z kolei AT&T skupiło się na zautomatyzowaniu usług telekomunikacyjnych, takich jak głosowe wybieranie numeru czy głosowa kontrola połączeń. Systemy takie wymagały wysokiej skuteczności dla szerokiego grona odbiorców, bez możliwości wcześniejszego treningu dla indywidualnego mówcy. Założenia te doprowadziły do powstania algorytmów tworzenia wzorców, które mogłyby być wykorzystane dla szerokiej grupy mówców. W badaniach przede wszystkim skupiono się na modelu akustycznym (reprezentacja spektralna). W latach osiemdziesiątych nastąpiła zmiana w metodologii tworzonych systemów. Zamiast skupiać się na metodach opartych o rozpoznawanie wzorców, uwagę naukowców zwróciło wykorzystanie modeli statystycznych. Mowa tu o ukrytych modelach Markowa (Hidden Markov Models, HMM), których idea co prawda była już znana wcześniej, jednak metodologia ich wykorzystania nie była w pełni dopracowana. Dopiero za sprawą dużej ilości publikacji opisujących teoretyczne zagadnienia z nimi związane zyskały one popularność. Ukryte modele Markowa stały się główną metodą wykorzystywaną w nowo tworzonych systemach rozpoznawania. Dziś nadal pozostają głównym narzędziem rozpoznawania mowy (oczywiście dzięki ciągłym ulepszeniom jakich dokonywano w tej technologii).

11 ROZDZIAŁ 2. ROZPOZNAWANIE MOWY 7 Także w latach osiemdziesiątych badano wykorzystanie do rozpoznawania mowy sztucznych sieci neuronowych (ANN). Choć próby zastosowania ich do prostych zagadnień takich jak rozpoznawanie kilku fonemów czy kilku słów, zakończyły się dużym sukcesem, to niestety nie były w stanie przezwyciężyć problemu czasowej zmienności sygnału mowy. Nie oznacza to jednak ich bezużyteczności w zagadnieniach rozpoznawania mowy. Nadal trwają badania nad wykorzystaniem sieci neuronowych w połączeniu z innymi metodami. Dla języka angielskiego, od początku lat dziewięćdziesiątych ubiegłego wieku, systemy rozpoznawania mowy zaczęły zyskiwać popularność i są coraz powszechniej stosowane. Przykładami zastosowań rozpoznawania mowy mogą być system pomocy telefonicznej AT&T How May I Help You czy system informacyjny lini lotniczych United Airlines, a ostatnio (2010 r.) Google udostępniło możliwość generowania zapytań przy pomocy głosu dla urządzeń mobilnych [4]. Rozwiązanie udostępnione przez Google działa dla kilkunastu języków, w tym dla języka polskiego. 2.2 Klasyfikacja systemów rozpoznawania mowy System rozpoznawania mowy (Automatic Speech Recognition, ASR) to pojęcie bardzo ogólne, dlatego też możemy dokonać podziału systemów rozpoznawania mowy ze względu na różne ich cechy. Oprócz oczywistych różnic, jakimi są użyte do rozpoznawania metody, podstawowym kryterium podziału jest to, czy system potrafi rozpoznawać dowolnego mówcę (speaker-independent system), czy tylko konkretnego (speaker-dependent system). Rozwiązaniem pośrednim może być system adaptujący się do konkretnego mówcy (speaker-adaptive system). Ten ostatni jest rodzajem systemu typu speaker-independent, który wykorzystując adaptację do wypowiedzi konkretnego użytkownika jest w stanie zmniejszyć stopień błędu rozpoznawania dla tego użytkownika [13]. Kolejnym kryterium klasyfikacji systemów rozpoznawania jest typ rozpoznawanej mowy. Wyróżnić możemy systemy rozpoznające izolowane słowa (isolated words), które na ogół wymagają ciszy na końcu i początku wypowiedzi. Z kolei systemy rozpoznawania łączonych słów (connected speech) są w stanie rozpoznać krótką serię następujących po sobie wyrazów z minimalnymi pauzami pomiędzy wyrazami. System rozpoznawania łączonych słów jest znacznie trudniejszy w realizacji, co związane jest z następującymi problemami [25]. 1. Koartykulacja powoduje zmiany w wymowie słów w zależności od sąsiednich wyrazów w wypowiedzi. Zmianom mogą ulec pierwsza i ostatnia sylaba poszczególnego słowa. 2. Pojawia się trudność w lokalizacji granic między wypowiedzianymi słowami (Nie występuje wyraźna pauza między wyrazami ani znacząca różnica

12 ROZDZIAŁ 2. ROZPOZNAWANIE MOWY 8 w energii sygnału mowy na granicach dwóch sąsiednich wyrazów). 3. Wraz ze wzrostem ilości słów w wypowiedzi wzrasta prawdopodobieństwo błędu rozpoznania. Najtrudniejszymi do realizacji są natomiast systemy rozpoznawania mowy ciągłej continuous speech, czyli mowy pozbawionej pauz między poszczególnymi grupami wyrazów. Można wyróżnić ponadto systemy przystosowane do rozpoznawania mowy spontanicznej (spontaneous speech). Są to systemy rozpoznające mowę ciągłą i wzbogacone o możliwość radzenia sobie z naturalnymi aspektami mowy, takimi jak powtórzenia, wahanie, nie gramatyczne zdania czy nawet jąkanie [5, 8]. Wreszcie systemy rozpoznawania mowy możemy klasyfikować według ilości możliwych do rozpoznania słów, czyli rozmiaru ich słownika. Możemy dokonać prostego podziału na systemy o małym, średnim i dużym słowniku. Podział ten jest oczywiście umowny. Możemy przyjąć, że mały słownik zawiera mniej niż 200 słów, średni zawiera ich między 200 a 5000, natomiast za duży słownik uznaje się zawierający powyżej 5000 wyrazów [25]. Każdy z istniejących systemów można umieścić w trójwymiarowej przestrzeni wyznaczonej przez funkcjonalności systemu rozpoznawania mowy (rysunek 2.1). Niezależny od mówcy Adaptacyjny Zależny od mówcy Rozmiar słownika Izolowane słowa Łączone słowa Mowa ciągła Rysunek 2.1: Trójwymiarowa przestrzeń wyznaczona przez funkcjonalności systemu. [25]

13 ROZDZIAŁ 2. ROZPOZNAWANIE MOWY Podejścia do rozpoznawania mowy Można wyróżnić trzy główne podejścia do zagadnienia automatycznego rozpoznawania mowy [21]. Są to: podejście akustyczno-fonetyczne (the acoustic-phonetic approach), podejście wykorzystujące rozpoznawanie wzorców (the pattern recognition approach), podejście wykorzystujące sztucznej inteligencji (the artifical intelligence approach), Podejście akustyczno-fonetyczne Podejście akustyczno-fonetyczne bazuje na teorii akustyki i fonetyki oraz na postulatach zakładających istnienie skończonej liczby jednostek fonetycznych w mowie. Jednostki te można scharakteryzować przy pomocy zestawu cech zawartych w przebiegu czasowym sygnału mowy lub jego spektrum. Pierwszymi etapami rozpoznawania przy tym podejściu są segmentacja oraz klasyfikacja. Polegają one na podziale sygnału na dyskretne fragmenty i sklasyfikowaniu ich jako jednostkę fonetyczną lub grupę jednostek, przydzielając im odpowiednią etykietę lub etykiety. Drugi etap rozpoznawania polega na zdeterminowaniu konkretnego słowa (lub grupy słów) z uzyskanego w pierwszym etapie ciągu etykiet odpowiadającym jednostkom fonetycznym. Słowa te muszą należeć do słownika systemu oraz spełniać określoną gramatykę języka Podejście wykorzystujące rozpoznawanie wzorców Podejście wykorzystujące rozpoznawanie wzorców opiera się na użyciu wzorców mowy bez wyraźnej segmentacji i wyznaczania ich cech akustyczno-fonetycznych. Stosowane metody składają się z dwóch głównych etapów: etapu treningu na podstawie wzorców uczących i etapu rozpoznawania poprzez porównywanie wzorców. Jeżeli podczas etapu treningu zostanie użyta wystarczająca ilość przykładów danego wzorca, to algorytm uczący będzie w stanie określić jego akustyczne właściwości, bez żadnej dodatkowej wiedzy na jego temat. Rozpoznawanie polega więc na porównaniu nieznanej wypowiedzi z wszystkimi uzyskanymi podczas treningu wzorcami i sklasyfikowaniu jej na podstawie najlepszego podobieństwa. Podejście to jest często stosowane ze względu na prostotę użycia, dobrze opisaną w literaturze teorię oraz dużą uniwersalność, pozwalającą na użycie różnych zbiorów cech, algorytmów rozpoznawania i reguł decyzyjnych.

14 ROZDZIAŁ 2. ROZPOZNAWANIE MOWY Podejście wykorzystujące sztuczną inteligencję Podejście wykorzystujące sztuczną inteligencję jest w rzeczywistości połączeniem dwóch wcześniejszych podejść. Polega na zastosowaniu mechanizmów naśladujących ludzką inteligencję przy podejmowaniu decyzji dotyczących analizy cech akustycznych mowy. Jako przykład można podać użycie systemu eksperckiego do segmentacji sygnału mowy czy sztucznych sieci neuronowych przy klasyfikacji fragmentów mowy. 2.4 Składowe elementy systemu rozpoznawania mowy Problem rozpoznawania mowy jest problemem wielopoziomowym. W zależności od przyjętego podejścia, używanych metod oraz zadań jakie stawiamy przed systemem musi on zrealizować szereg koniecznych czynności. Problem można rozpatrywać w następujących warstwach: warstwa akustyczna - dotyczy wprowadzana sygnału do systemu oraz jego wstępnego przetwarzania, warstwa parametryczna - dotyczy wydzielania parametrów opisujących sygnał mowy, warstwa strukturalna - dotyczy podziału sygnału na podlegające rozpoznawaniu elementy, warstwa identyfikacyjna - dotyczy rozpoznawania elementów sygnału mowy w tym zagadnień uczenia w przypadku korzystania z metod wymagających treningu, warstwa leksykalna - dotyczy łączenia rozpoznanych elementów w całościowe elementy rozpoznania, warstwa syntaktyczna - dotyczy analizy gramatycznej rozpoznanych elementów, warstwa semantyczna - dotyczy identyfikacji treści zawartej w rozpoznanych elementach. Rysunek 2.2 przedstawia omówione warstwy oraz odpowiadające im w systemie automatycznego rozpoznawania mowy czynności. Jest to schemat ogólny i w konkretnych realizacjach poszczególne czynności mogą zostać pominięte (linia przerywana) bądź połączone [27].

15 ROZDZIAŁ 2. ROZPOZNAWANIE MOWY 11 Warstwy: Rozumienie semantyczna Rozkład syntaktyczna Synteza leksykalna Rozpoznawanie identyfikacyjna Segmentacja strukturalna Analiza parametryczna Wprowadzanie akustyczna Sygnał mowy Rysunek 2.2: Ogólny schemat systemu rozpoznawania mowy [27]

16 Rozdział 3 Sygnał mowy W tym rozdziale zostaną przedstawione informacje dotyczące sygnału mowy, niezbędne przy pracy nad systemem jej rozpoznawania. Informacje te dotyczą sposobu wytwarzania mowy, mowy w aspekcie fonetycznym oraz problemu jej segmentacji. Ponadto przedstawione zostaną dwie najbardziej popularne metody jej parametryzacji. Pominięty został natomiast opis systemu słuchowego człowieka, choć zdaje się on być jednym z ważniejszych elementów, gdyż system rozpoznawania ma za zadanie modelować jego funkcjonalność. W praktyce wnioski wypływające z jego analizy (na przykład zakres słyszalnych przez człowieka częstotliwości) są już zawarte w omawianych metodach parametryzacji mowy. Wspomniany opis można znaleźć w [6, 12, 27]. 3.1 Budowa traktu głosowego człowieka oraz wytwarzanie mowy Analiza sygnału mowy musi być poprzedzona znajomością jego struktury, a zatem i sposobu jego wytwarzania. W dzisiejszych czasach oprócz naturalnych systemów wytwarzania mowy, czyli narządów artykulacyjnych człowieka, rozważać należy także systemy techniczne. Można wskazać trzy główne źródła sygnału mowy: trakt głosowy człowieka odpowiadający za artykulację mowy; syntezatory mowy, dokonujące generacji mowy; systemy techniczne dokonujące odtwarzania mowy. Dwa ostatnie z wymienionych źródeł mowy mają w rzeczywistości na celu naśladowanie naturalnej artykulacji człowieka, dlatego też niezbędne jest zapoznanie się z budową traktu głosowego człowieka, a także analiza procesów jakie w nim 12

17 ROZDZIAŁ 3. SYGNAŁ MOWY 13 zachodzą. Takie podejście pozwala na świadome poszukiwanie w sygnale mowy skutków operacji zachodzących przy jego wytwarzaniu. [27] Wytwarzanie dźwięków mowy, zwane również artykulacją, polega na generacji drgań, przekształcaniu tych drgań w trakcie głosowym oraz ich emitowaniu. Głównymi elementami traktu głosowego (rysunek 3.1) są płuca, odpowiedzialne za dostarczenie powietrza podczas procesu artykulacji oraz oskrzela i tchawica, prowadzące powietrze do krtani, gdzie znajdują się struny głosowe. Drgające struny głosowe są źródłem dźwięku dla głosek dźwięcznych. Dźwięk jest następnie modulowany we wnękach rezonansowych uformowanych przez język, podniebienie, zęby i wargi. Głoski bezdźwięczne wytwarza się przez wymuszenie przepływu powietrza przez przewężenie powstałe w kanale głosowym. W przypadku głosek nosowych zamknięta jama ustna pełni rolę bocznika akustycznego, natomiast fala dźwiękowa emitowana jest przez jamę nosową i nozdrza. Rezonanse kształ- Jama nosowa Podniebienie miękkie Podniebienie twarde Zęby górne Wargi Język Żuchwa Jama ustna Jama gardłowa Krtań Tchawica Oskrzela Płuca Rysunek 3.1: Uproszczony schemat traktu głosowego człowieka (przekrój profilowy) [27]. tujące dźwięk powstają głównie w jamie ustnej, ale także w klatce piersiowej, w tchawicy i krtani. Formują one widmo sygnału krtaniowego, który powstaje podczas przepływu powietrza miedzy strunami głosowymi. Struny głosowe pobudzone do drgań powodują powstanie dźwięku zwanego tonem podstawowym lub krtaniowym. Wynikowe widmo danej głoski dźwięcznej powstaje jako nałożenie charakterystyki traktu głosowego na widmo tonu krtaniowego. Powstaje w ten sposób widmo o kształcie zależnym od konfiguracji narządów mowy w chwili artykulacji danej głoski. Widmo to różne jest dla każdej głoski i pozwala na jej identyfikację [27]. Należy ponadto zauważyć, że na sposób artykulacji, oprócz charakterystyki traktu głosowego, mają też wpływ płeć, wiek, stan zdrowia czy nawet

18 ROZDZIAŁ 3. SYGNAŁ MOWY 14 wykształcenie. Oznacza to, że wzorce mowy uzyskane od jednej osoby mogą być całkowicie różne od tych uzyskanych od kogoś innego. Nawet pojedyncza osoba nie jest wstanie w ten sam sposób wyartykułować jakąś wypowiedź wielokrotnie. Jest to powodem, dla którego podczas budowania systemu rozpoznawania mowy niezbędna jest duża ilość danych uczących [12]. 3.2 Fonetyczne i lingwistyczne aspekty mowy Aby wypowiadane dźwięki miały określone znaczenie, musi istnieć przyporządkowanie między strukturą akustyczną a przekazywaną informacją. Język naturalny można więc traktować jako system korelacji między dźwiękiem a znaczeniem. Fonetyka pozwala na dokonanie selekcji dźwięków elementarnych, z których powstają określone formy językowe. Ustalone dyskretne elementy pozwalające na opis dowolnej wypowiedzi noszą nazwę fonemów. Przy czym określenie dokładnych granic miedzy fonemami jest zadaniem bardzo trudnym [6] Pojęcie fonemu Istnieje kilka definicji fonemu. Definicja funkcjonalna określa fonem jako minimalny segment dźwiękowy, który może odróżniać znaczenia, z kolei podejście fonetyczne określa fonemy jako rodzinę dźwięków spełniającą dwa warunki [6]: muszą być podobne w charakterze (podobieństwo fonetyczne), nie mogą występować w tym samym kontekście fonetycznym (warunek dystrybucji komplementarnej). Należy zauważyć, że dźwięki mowy mające różną strukturę fizyczną niekoniecznie są różnymi fonemami. Dla przykładu wyrazy fura, trawa oraz rok zawierają trzy różne struktury akustyczne fonemu [r], przy czym pierwsza z nich ma strukturę uderzeniową dźwięczną, druga uderzeniową bezdźwięczną, a trzecia drżącą dźwięczną. Struktury te noszą nazwę alofonów i są wariantami fonemów, a każdy z nich związany z określonym rodzajem kontekstu. W ujęciu lingwistyki fonem będący podstawową jednostką znaczeniową ma tę właściwość, że jeżeli zostanie on zastąpiony innym fonemem to znaczenie słowa, może ulec zmianie. Ponadto dowolną wypowiedź można przedstawić jako łańcuch fonemów [6]. Zbiór fonemów może być używany jako alfabet bazowy dla mowy i jest on różny dla każdego języka. Z powodu istnienia niejednoznaczności między formą pisaną i mówioną języka do zapisu formy dźwiękowej wprowadzona została transkrypcja fonetyczna. Można wyróżnić dwa jej typy: alofoniczną i fonematyczną. W transkrypcji alofonicznej każdemu alofonowi odpowiada dokładnie jeden symbol, natomiast w transkrypcji fonematycznej jeden znak odpowiada dokładnie

19 ROZDZIAŁ 3. SYGNAŁ MOWY 15 jednemu fonemowi. Ze względu na prostszą formę przeważnie stosowana jest ta druga [6]. W tabeli 3.1 znajdują się transkrypcja fonetyczna (fonematyczna) trzydziestu siedmiu fonemów języka polskiego zapisanych w międzynarodowym systemie transkrypcji (International Phonetic Alphabet, IPA) wraz z przykładem ich występowania, a także kompatybilną z systemem ASCII transkrypcją w systemie X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet). Klasyfikacji fonemów możemy dokonać na podstawie sposobu ich artykulacji. Poniżej znajduje się uproszczony podział fonemów języka polskiego na podstawie [27]. Samogłoski: [a], [e], [1], [o], [u] Spółgłoski zwarte: [p], [b], [t], [d], [c], [é], [k], [g] Spółgłoski trące: [f], [v], [s], [z], [S], [z], [C], [ý], [x] Spółgłoski zwarto-trące: [dz], [Ù], [Ù], [Ã], [tc], [dý] Spółgłoski nosowe: [m], [n], [N], [ñ] Spółgłoski boczne: [l] Samogłoski niesylabiczne: [j], [w] Spółgłoska drżąca: [r] Przedstawiony podział fonemów można uzupełnić o informacje o rodzaju pobudzenia (dźwięczne, bezdźwięczne) oraz o kształcie i wymiarze toru głosowego podczas ich artykulacji. Szczegółowa analiza spektrograficzna pozwala na wyznaczenie szeregu cech dystynktywnych, przy pomocy których można dokonać jednoznacznej identyfikacji fonemów. W systemach rozpoznawania mowy można wykorzystać także wiedzę o prawach rządzących następstwem fonemów, gdyż w poszczególnych językach możliwa jest tylko określona ilość sekwencji fonemów. Ponadto fonemy sąsiednie mają wpływ na artykulację danego fonemu, dlatego w bardziej złożonych systemach wykorzystuje się trifony, czyli elementy fonetyczne charakteryzowane przez fonem wraz z dwoma fonemami sąsiednimi, poprzedzającym i następującym. 3.3 Segmentacja sygnału mowy Zasadniczym problemem podczas rozpoznawania mowy jest wybór elementów, które będą podlegały rozpoznawaniu. Jak podaje Tadeusiewicz w [27], wybór elementu zbyt dużego jaki jest na przykład słowo, wiąże się z koniecznością posiadania bardzo dużego zbioru treningowego, z kolei wybór jednostek mniejszych, jak fonemy, wiąże się z koniecznością segmentacji (wyznaczenia granic między

20 ROZDZIAŁ 3. SYGNAŁ MOWY 16 poszczególnymi fonemami). Segmentacja fonemów, o ile nie uzyskamy jej od eksperta (co w przypadku dużej liczby danych jest mało praktyczne), jest zadaniem bardzo złożonym. Możliwe jest także przyjęcie za elementy rozpoznawania jednostek akustycznych uzyskanych w wyniku klasteryzacji, które wcale nie muszą odzwierciedlać konkretnych jednostek fonetycznych Segmentacja sygnału ciągłego Bez względu na wybrany rodzaj elementu poddawanego rozpoznawaniu, losowy charakter sygnału mowy wymaga poddawaniu analizie tylko takich segmentów mowy, które spełniają określone kryterium stacjonarności. Procedura wyboru tych segmentów nosi nazwę segmentacji sygnału ciągłego. Przy analizie wybranych segmentów używana jest najczęściej funkcja okna, nazywana też funkcją wagi. Użycie funkcji okna pozwala na analizę segmentów przy pomocą transformacji Fouriera. Wybór rodzaju funkcji okna ma duży wpływ na wynik analizy. Najczęściej używanymi oknami w analizie sygnału mowy są okna Hamminga i Hanninga. Generalną zasadą jest, aby do tej analizy wybierać okna o możliwie największej szerokości. Jeżeli jednak wielkość ta będzie zbyt duża, utracie ulegną informacje zawarte w czasowej strukturze sygnału (szczególnie w stanach przejściowych). Dla sygnałów mowy przyjęto stosować szerokość okna w zakresie od milisekund [6] Algorytm detekcji pojedynczego słowa Niezależnie od wyboru elementów rozpoznawania, niezbędne może być dokonanie najprostszego rodzaju segmentacji, czyli rozróżnienia czy dany sygnał odpowiada mowie, czy zawiera jedynie szum tła. W przypadku systemu rozpoznawania izolowanych słów ma ona kluczowe znaczenie. Zagadnienie to, spotykane w literaturze pod nazwami endpoint detection oraz speech/silence detection, ma za zadanie jak najdokładniejsze określenie przedziału czasowego, w jakim znajduje się pojedyncze słowo. Niewłaściwe określenie tego przedziału ma dwa poważne skutki: zwiększenie błędu rozpoznawania, zwiększenie ilości dokonywanych obliczeń w przypadku zakwalifikowania ciszy jako sygnału mowy. Zadanie to można uznać za trywialne tylko w przypadku sygnałów o bardzo wysokim stosunku sygnału do szumu, dla których wystarczający jest pomiar energii sygnału i określenie, gdzie przekracza ona energię tła. W praktyce jednak nie dysponujemy takim sygnałem i niezbędne są bardziej wyszukane metody detekcji. Zagadnienie to jako jeden z podstawowych elementów systemu rozpoznawania mowy jest tematem wielu badań.

21 ROZDZIAŁ 3. SYGNAŁ MOWY 17 Podstawowymi miarami wykorzystywanymi przy detekcji izolowanych słów są energia i liczba przejść przez zero (zero-crossing rate). Poniżej przedstawiony zostanie prosty algorytm Rabinera i Sambura [20], który często stanowi punkt wyjścia dla dalszych badań oraz punkt odniesienia przy porównywaniu wyników. Algorytm zakłada, że pierwsze 100 ms sygnału stanowi cisza i ta część jest używana do wyliczenia wartości progowych. Sygnał dzielony jest na ramki o długości 10 milisekund. Dla każdej z nich wyliczana jest jej energia według wzoru E(n) = W i=1 s n (i), (3.1) gdzie n to numer ramki, a W jej szerokość, oraz liczba przejść przez zero W sgn[s n (i)] sgn[s n (i 1)] Z(n) =, 2 i=2 { 1 gdy sn (k) 0 sgn[s n (k)] = 1 gdy s n (k) < 0. (3.2) Kolejnym krokiem jest wyznaczenie wartości średniej IM N i maksymalnej IM X dla uzyskanych energii, natomiast dla ilości przejść przez zero wyznaczana jest średnia IZC oraz odchylenie standardowe σ IZC. Na ich podstawie wyliczane są dwa progi energetyczne, górny IT U i dolny IT L, według następującej reguły. IT L = min(i1, I2) IT U = 5 IT L I1 = 0.03(IMX IMN) + IMN I2 = 4 IMN (3.3) Procedura wyznaczenia granic wygląda następująco. Najpierw szukamy pierwszej ramki, dla której energia przekroczy dolny próg IT L, a w kolejnych ramkach przekroczy próg górny IT U, nie spadając przy tym poniżej IT L. Inaczej mówiąc, szukamy momentu, w którym energia zaczęła rosnąć od IT L do IT U. Znaleziony punkt oznaczamy jako N 1. Analogicznie, działając od końca znajdujemy koniec danego słowa N 2. Wyznaczone w ten sposób granice traktujemy jako fragment, który na pewno możemy przyjąć za mowę, możliwe jednak, że fragmenty przed i za także powinny być tak sklasyfikowane. Aby to zdeterminować, wykorzystujemy wartości przejść przez zero. Na podstawie wyznaczonych wcześniej wartości obliczamy próg IZCT jako IZCT = min(25, IZC + 2σ IZC ). (3.4) Pod rozwagę bierzemy tylko 250 milisekund przed N 1 i za N 2. Idąc od punkty N 1 wstecz sprawdzamy czy ilość przejść przez zero dla danej ramki przekroczyła próg IZCT. Ramkę przyjmujemy za nowy początek ˆN 1, gdy wartość nie spadnie

22 ROZDZIAŁ 3. SYGNAŁ MOWY N 1 N 1 N 2 N2 Energia ITU ITL Numer ramki sygnału Ilość przejść przez zero N 1 N 1 N 2 N2 IZCT Numer ramki sygnału Rysunek 3.2: Przykład działania algorytmu detekcji granic izolowanych słów dla słowa Stanisław poniżej IZCT dla co najmniej trzech kolejnych ramek. Postępując analogicznie dla N 2 wyznaczamy nową wartości końca pojedynczego słowa ˆN 2. Na rysunku 3.2 przedstawiono wynik detekcji granic omawianym algorytmem dla słowa Stanisław, które zawiera na początku i na końcu bezdźwięczne fonemy trące odpowiednio [s] i [f], charakteryzujące się małą energią. Jak widać użycie wartości przejść przez zero pozwoliło na dokładniejsze określenie odpowiednich granic. Jak wspomniane zostało wcześniej, istnieje wiele modyfikacji powyższego algorytmu, zwłaszcza jeżeli chodzi o typ stosowanych pomiarów. W artykule [31] opisano metodę zastępującą pomiar energii i ilości przejść przez zero wartością Frame-based Teager Energy Measure, opierającą się o energię Tagera. Jeżeli wartość pojedynczej próbki sygnału możemy przedstawić jako s n = A sin(nω + φ), gdzie A to amplituda sygnału, Ω częstotliwość, a φ początkowa faza, to wzór (3.5) opisuje wartość energii Tagera dla pojedynczej próbki. E(n) = s 2 n s n+1 s n 1 = A 2 sin(ω 2 ) (3.5) A 2 Ω 2

23 ROZDZIAŁ 3. SYGNAŁ MOWY 19 Energia Tagera charakteryzuje się więc tym, że jej wartość jest proporcjonalna nie tylko do kwadratu amplitudy sygnału A 2, ale i do kwadratu częstotliwości Ω 2, dlatego też jej wartość lepiej odzwierciedla zmiany zachodzące w sygnale mowy. W omawianym algorytmie wartość Frame-based Teager Energy Measure nie jest wyliczana bezpośrednio na podstawie (3.5) lecz według następującego algorytmu: 1. Wyznaczamy widmo mocy ramki sygnału. 2. Każda próbka widma mocy ważona jest przez kwadrat jej częstotliwości. 3. Wyznaczamy pierwiastek sumy ważonych amplitud. Przy takim wyliczeniu energii algorytm Rabinera i Sambura używany jest tylko do wyznaczenia punktów N 1 i N Parametryzacja sygnału mowy Jednym z głównych etapów rozpoznawania mowy jest proces parametryzacji. Polega on na wydobyciu z sygnału jego cech dystynktywnych. Ponadto, aby uznać go za efektywny, powinien jednocześnie redukować wymiarowość sygnału, ułatwiając w ten sposób jego analizę i dalsze przetwarzanie [9]. W tym podrozdziale przedstawiona zostanie charakterystyka najczęściej stosowanych metod parametryzacji sygnału mowy Opis sygnału mowy w dziedzinie czasu Ze względu na zbyt dużą redundancję i wysokie rozproszenie użytecznych informacji na wszystkie próbki sygnału czasowa reprezentacja praktycznie uniemożliwia efektywny opis sygnału. Ponadto w tej postaci występuje zbyt silne związanie aspektu osobniczego i semantycznego. Można to zauważyć zapisując matematycznie sygnał mowy w dziedzinie czasu jako splot przebiegu czasowego źródła u g (t) i odpowiedzi impulsowej kanału głosowego h(t) u(t) = t 0 h(t τ)u g (τ)dτ. (3.6) Jak widać we wzorze (3.6), właściwości źródła i kształtującego głos kanału głosowego są ze sobą ściśle powiązane. Tymczasem w procesie artykulacji zmianom podlega głównie struktura kanału głosowego, czyli h(t), natomiast przebieg czasowy u g (t) jest zmieniany nieznacznie. Oznacza to, że przebieg czasowy sygnału kształtowany jest przez składniki losowe oraz zdeterminowane, a wobec tego obraz przebiegu czasowego różnych wypowiedzi tego samego mówcy może wykazywać więcej podobieństwa niż obraz tej samej wypowiedzi artykułowanej różnymi głosami. Nie można jednak zapominać, że postać czasowa sygnału jest zawsze punktem wyjściowym do wszelkich dalszych przekształceń [27].

24 ROZDZIAŁ 3. SYGNAŁ MOWY 20 Przy cyfrowej reprezentacji sygnału mowy ważnym elementem jest wybór częstotliwości próbkowania. W praktyce zalecane jest stosowanie częstotliwości próbkowania o wartości Hz. Taka wartość pozwala na redukcję błędu rozpoznawania nawet o 20% w stosunku do rozpoznawania z wykorzystaniem próbkowania 8000 Hz [12] Liniowe kodowanie predykcyjne (LPC) Liniowe kodowanie predykcyjne LPC (Linear Predictive Coding), zwane też liniową predykacją, po raz pierwszy zastosowali Saito i Itakura w 1966 roku oraz Atal w 1967 roku [6]. Metoda ta przyjęła się do opisu sygnału w formie ułatwiającej jego rozpoznawanie, a także transmisję czy przechowywanie. Pozwala również na wyznaczanie podstawowych parametrów mowy jak częstotliwości formantowe czy widmo mowy. Jej głównymi zaletami są wysoka precyzja estymacji parametrów mowy oraz stosunkowo szybki czas działania [22]. Przedstawiony poniżej opis liniowego kodowania predykcyjnego pochodzi z prac [6, 22, 27]. Istota metody wywodzi się z założenia, że sygnał mowy s(n) powstaje w wyniku przekształcenia sygnału źródła krtaniowego g(n) w trakcie głosowym o transmitancji G H(z) =, (3.7) 1 P a k z k gdzie G to wzmocnienie. Wykorzystując własność transformaty Z dotyczącą opóźnienia czasowego, Z{x(n k)} = z k X(z), można z transmitancji (3.7) wyliczyć wartość sygnału s(n) w następujący sposób: s(n) = k=1 P a k s(n k) + Gg(n). (3.8) k=1 Ponieważ nie mamy żadnych informacji na temat sygnału g(n), zakładamy, że jego wartości są przypadkowe, a wobec tego pomijamy składnik Gg(n), przez co otrzymujemy wzór na estymator n-tej próbki w postaci: s(n) = P α k s(n k). (3.9) k=1 Wzór (3.9) ma charaktery predykcyjny, to znaczy wartość sygnału s w chwili n może być przedstawiona jako liniowa kombinacja poprzednich P próbek dla n > 0. Współczynniki α p nazywane są współczynnikami predykcji, a P rzędem predykcji. Błąd predykcji e(n) zdefiniowany jest jako różnica s(n) oraz s(n), e(n) = s(n) s(n) = s(n) P α k s(n k). (3.10) k=1

25 ROZDZIAŁ 3. SYGNAŁ MOWY 21 W celu wyznaczenia współczynników predykcji należy metodą najmniejszych kwadratów zminimalizować całkowity błąd predykacji (3.11). Obliczenia dokonywane są nie na całym sygnale s, ale na jego poszczególnych segmentach, wyznaczonych przez segmentację sygnału ciągłego. E n = m e 2 n(m) = m (s n (m) s n (m)) 2 = [s n (m) m P α k s n (m k)] 2, k=1 (3.11) gdzie s n (m) = x(m + n) jest segmentem mowy w otoczeniu n-tej próbki. W równaniu (3.11) na razie został pominięty zakres zmienności m, który odpowiada długości wykorzystywanego okna czasowego oraz dzielenie przez tę długość w celu uzyskania wartości średniej. Parametry α k minimalizujące E n można wyznaczyć rozwiązując układ równań co w postaci rozwiniętej daje E n α k = 0, k = 1, 2,..., P, (3.12) P s n (m i)s n (m) = α k s n (m i)s n (m k), i = 1, 2,..., P. (3.13) m k=1 m Definiując φ n (i, k) jako φ n (i, k) = m s n (n i)s n (m k) (3.14) możemy przekształcić (3.13) do postaci P α k φ n (i, k) = φ n (i, 0), i = 1, 2,..., P. (3.15) k=1 Wykorzystując (3.11) i (3.13) minimalny błąd średniokwadratowy predykcji można przedstawić jako E n = m P s 2 n(m) α k s n (m)s n (m k), (3.16) k=1 m a przy użyciu (3.15) E n można wyrazić jako P E n = φ n (0, 0) α k φ n (0, k). (3.17) k=1

26 ROZDZIAŁ 3. SYGNAŁ MOWY 22 Jak wynika z (3.17) całkowity minimalny błąd zależy od stałego komponentu φ n (0, 0) i komponentu zależnego od współczynników predykcji α k. Znanych jest kilka metod obliczania współczynników predykcji, z których najbardziej rozpowszechnione są metoda korelacyjna oraz metoda kowariancyjna. Szczegóły dotyczące tych metod można znaleźć między innymi w [22]. Główną różnicą między nimi jest wybór zakresu m w (3.11) oraz użycie okna czasowego dla metody korelacyjnej. W metodzie korelacyjnej pierwsze P próbek przewidywanych jest na podstawie próbek sygnału spoza sekcji, które arbitralnie przyjmuje się jako zerowe. Prowadzi to do powstania dużego błędu, który można minimalizować przez zastosowanie okna czasowego. W przypadku metody kowariancyjnej długość sekcji wydłużana jest przez dodanie P próbek poprzedzających sekcję. Zabieg ten umożliwia predykację pierwszych P próbek sygnału przy pomocy dodanych próbek Współczynniki analizy cepstralnej w skali mel (MFCC) Współczynniki analizy cepstralnej w skali mel (Mel-frequency Cepstral Coefficents), oznaczane krótko jako współczynniki MFCC, są obecnie szeroko rozpowszechnione jako opis sygnału mowy [10, 29]. Zostały one pierwszy raz przedstawione w artykule autorstwa Davisa i Mermelsteina w 1980 roku [7]. Różnica Częstotliwość (mel) Częstotliwość (Hz) Rysunek 3.3: Zależnosć między częstotliwością wyrażoną w Hz i mel między MFCC a rzeczywistym cepstrum polega na tym, że w MFCC stosowane jest nieliniowe skalowanie częstotliwości przy użyciu skali mel. Zależność między częstotliwością w skali mel a częstotliwością wyrażoną w Hz określa wzór f mel (f Hz ) = 2595 log 10 (1 + f Hz ). (3.18) 700

27 ROZDZIAŁ 3. SYGNAŁ MOWY 23 Algorytm obliczania współczynników przedstawia rysunek 3.4. Na początku działania algorytmu sygnał mowy podlega procesowi preemfazy, czyli filtracji formującej, która osłabia składowe o małych częstotliwościach, a wzmacnia składowe o wysokich częstotliwościach. Proces preemfazy przedstawia wzór x n = x n a x n 1, (3.19) gdzie x n i x n to odpowiednio sygnał przed i po preemfazie oraz a zwykle przyjmowane jest jako sygnał mowy preemfaza ramkowanie i okienkowanie FFT 2 zestaw filtrów w skali mel log DCT wektor MFCC Rysunek 3.4: Schemat algorytmu obliczania współczynników MFCC Kolejnym etapem jest ramkowanie sygnału czyli podział sygnału na krótkie fragmenty zwane ramkami (frames). Możliwe jest zastosowanie nakładania się kolejnych ramek czasowych (overlap). Następnie wykonywane jest okienkowanie (windowing) z zastosowaniem okna Hamminga Ham(N) = cos(2π n 1 ), (3.20) N 1 gdzie N to długość ramki, a n = 1, 2,..., N. Każda z ramek zostaje poddana działaniu FFT w celu uzyskania widma mocy F F T 2 bądź też widma amplitudowego F F T w zależności od implementacji algorytmu. Uzyskane widmo zostaje poddane działaniu zestawu filtrów H m. Ilość filtrów oraz ich kształt różni się w zależności od implementacji algorytmu, jednak najczęściej spotykanymi w literaturze są filtry trójkątne, których środki są równomiernie rozmieszczone w danym zakresie częstotliwości w skali mel. Przykładowy zestaw filtrów przedstawia rysunek 3.5. Na wyjściu każdego z filtrów otrzymywana jest energia pasma według wzoru S m = N X r (k) 2 H m (k), (3.21) k=1 gdzie m to numer filtra, a X r widmo ramki. W dalszych obliczeniach używany jest logarytm energii, co pozawala na zredukowanie wrażliwości filtrów na bardzo głośne i bardzo ciche dźwięki oraz modelowanie nieliniowej amplitudowej wrażliwości ucha ludzkiego. Ponadto stosowanie logarytmu znacząco wpływa na jakość rozpoznawania [28]. Ostatnim etapem algorytmu jest zastosowanie dyskretnej transformaty kosinusowej (DCT). Końcowe wartości współczynników MFCC obliczane są jako c i = 2 M M m=1 ( ) πi log(s m ) cos M (m 0.5), (3.22)

28 ROZDZIAŁ 3. SYGNAŁ MOWY Amplituda Amplituda Częstotliwość (mel) Częstotliwość (Hz) Rysunek 3.5: Przykładowy zestaw filtrów w skali mel oraz odpowiadające im filtry w skali Hz gdzie i jest numerem współczynnika, a M to liczba użytych filtrów. W większości systemów rozpoznawania i przyjmuje wartości od 1, a współczynnik c 0 jest pomijany. Często do uzyskanych współczynników dołączany jest za to logarytm energii ramki ( N ) E = log. (3.23) x 2 k k=1 Znaczącą poprawę jakości rozpoznawania można uzyskać zwiększając liczbę współczynników o ich pierwszą i drugą pochodną spotykane w literaturze pod nazwami odpowiednio współczynników delta i delta-delta (czasami też acceleration). Współczynniki delta d t dla danej ramki czasowej t można obliczyć odpowiednio dla każdego ze współczynników c według wzoru d t = Θ θ(c t+θ c t θ ) θ=1, (3.24) 2 Θ θ 2 θ=1 gdzie Θ to rozmiar okna regresji, najczęściej przyjmowany jako 2. Jak widać ze wzoru (3.24), wartość d t zależy od poprzednich i następnych wartości danego współczynnika c, dlatego niezbędne są pewne modyfikacje przy obliczaniu współczynników delta dla początkowych i końcowych fragmentów mowy. W [32] przed-

29 ROZDZIAŁ 3. SYGNAŁ MOWY 25 stawiono dwa rozwiązania, jedno polega na replikowaniu krańcowych współczynników w celu wypełnienia okna regresji, drugie polega na zastosowaniu prostych różnic postaci: d t = c t+1 c t dla t < Θ (3.25) d t = c t c t 1 dla t T Θ, gdzie T to długość sygnału mowy (wyrażona w ilości ramek). Współczynniki delta-delta wyliczane są analogicznie według wzoru (3.24), z tym że zamiast współczynników c należy użyć wartości współczynników delta. Współczynniki delta i delta-delta mogą być także wyliczane dla energi E [10, 28, 29, 32] Inne metody parametryzacji Powyżej omówiono dwie metody parametryzacji LPC i MFCC. Należy natomiast wspomnieć, że istnieją i są stosowane także inne jak na przykład zyskujące coraz większą popularność PLP (Perceptual Linear Prediction) [11] oraz, pozwalające na stworzenie książki kodowej dla wektorów parametrów, Vector Quantization [21].

30 ROZDZIAŁ 3. SYGNAŁ MOWY 26 Lp. fonem (IPA) fonem (X-SAMPA) przykład występowania 1 [e] e chleb 2 [a] a brat 3 [o] o skok 4 [j] j jodła 5 [t] t tot 6 [1] 1 ryba 7 [n] n nora 8 [i] i igła 9 [r] r ryba 10 [m] m matka 11 [v] v woda 12 [u] u kruk 13 [p] p pole 14 [s] s sarna 15 [k] k kot 16 [ñ] J koń 17 [d d dom 18 [w] w dłoń 19 [l] l lody 20 [S] S koszyk 21 [z] z ząb 22 [C] s\ świat 23 [ţ] ts cena 24 [f] f f ajka 25 [g] g góra 26 [b] b burza 27 [tc] ts\ cichy 28 [Z] s żaba 29 [Ù] ts czytać 30 [x] x herbata 31 [dz] dz dzwon 32 [N] N bank 33 [c] c kino 34 [ý] Z źrebię 35 [dý] dz dziura 36 [é] J\ gil 37 [Ã] dz drożdże Tabela 3.1: Wykaz fonemów języka polskiego zapisanych w systemie IPA oraz X-SAMPA oraz przykłady ich występowania [27, 30]

31 Rozdział 4 Ukryte Modele Markowa Ukryte Modele Markowa (Hidden Markov Models, HMM) będące statystycznymi metodami rozpoznawania wzorców są obecnie najczęściej wykorzystywanym narzędziem do zadań rozpoznawania mowy. Większość obecnie dostępnych na rynku systemów działa w oparciu właśnie o nie. Ukryte modele Markowa można traktować jako metody sztucznej inteligencji [24]. W rozdziale tym przedstawiono jedynie tę część teorii ukrytych modeli Markowa, która niezbędna była przy tworzeniu systemu rozpoznawania mowy będącego tematem tej pracy. Szczegółowy opis ukrytych modeli Markowa można znaleźć przede wszystkim w Fundamentals of Speech Recognition Rabinera i Juanga [21] oraz HTK Book [21] na podstawie których głównie powstał ten rozdział. Druga z tych pozycji jest właściwie instrukcją użytkowania stworzonego w Cambridge oprogramowania naukowego Hidden Markov Model Toolkit, ale zawiera wiele praktycznych informacji, których brak w literaturze. Jeżeli chodzi o pozycje w języku polskim, to bardzo wiele informacji zawiera praca doktorska K. Szostka Rozpoznawanie mowy metodami niejawnych modeli Markowa HMM [26]. Ideę wykorzystania HMM w zadaniach rozpoznawania mowy przedstawia następujący przykład opisujący system rozpoznawania pojedynczych słów. Nieznane słowo, które należy rozpoznać, reprezentowane jest jako sekwencja obserwacji (obserwacjami mogą być na przykład wektory MFCC). Dla każdego ze słowa znajdującego się w słowniku tworzony jest jego model. Dokonywana jest ewaluacja prawdopodobieństwa wygenerowania przez dany model sekwencji obserwacji opisującej nieznane słowo. Model o najwyższym prawdopodobieństwie odpowiada rozpoznanemu słowu. 27

32 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA Dyskretny proces Markowa Podstawowymi pojęciami związanymi z procesami Markowa są stan procesu oraz przejście między stanami. Przejścia między stanami dokonują się w regularnych dyskretnych odstępach czasu. Opisu procesu przejścia między stanami dokonuje się za pomocą prawdopodobieństwa z jakim może ono nastąpić. W ogólnym przypadku prawdopodobieństwo to zależeć może od całego dotychczasowego przebiegu procesu. W przypadku modeli pierwszego rzędu, czyli takich którymi będziemy się zajmować prawdopodobieństwo to zredukowane jest tylko do poprzedniego stanu. Rozpatrzmy model o N stanach ponumerowanych 1, 2,..., N. Chwile związane ze zmianami stanów oznaczmy przez t = 1, 2,..., T, a stan w którym znajduje się model w chwili t przez q t. Przyjmując że prawdopodobieństwa przejść między stanami są niezależne od czasu, prawdopodobieństwo przejścia między każdymi dwoma stanami możemy określić jako a ij = P [q t = j q t 1 = i], 1 i, j N, (4.1) przy czym a ij, 0 j, i, N a ij = 1, j=1 Początkowe prawdopodobieństwo znalezienia się w chwili t = 1 w jednym ze stanów i opisujemy jako i. π i = P [q 1 = i], 1 i N. Przykładem procesu Markowa może być proces rzucania monetą. Liczba stanów tego procesu wynosi 2 i odpowiadają one zdarzeniom wyrzucenia orła lub reszki. W tym przypadku a ij przyjmie wartość 0.5 dla każdego i i j, podobnie też π i dla każdego ze stanów i. a 12 a 11 a a 21 Rysunek 4.1: Diagram procesu Markowa reprezentującego proces rzutu monetą

33 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA Definicja ukrytego modelu Markowa (HMM) Opisany tu wcześniej model mógłby nosić nazwę obserwowalnego modelu Markowa [21], gdyż kolejne obserwacje odpowiadają kolejnym stanom procesu. Takie modele są zbyt proste, aby stosować je do modelowania złożonych procesów losowych. W tym podrozdziale zostaną przedstawione ukryte modele Markowa, które charakteryzują się tym, że obserwacje są probabilistycznymi funkcjami stanu. Dokładniej, ukryty model Markowa jest podwójnie złożonym procesem stochastycznym, w którym podstawowy proces nie jest bezpośrednio obserwowalny (jest ukryty), ale może być obserwowalny poprzez inny proces produkujący sekwencję obserwacji. Najczęściej stosowanym przykładem ilustrującym prosty HMM jest system z urnami i kulami. Wyobraźmy sobie N urn, w każdej z których znajduje się M różnokolorowych kul. W sposób losowy wybierana jest jedna z urn, a następnie z tejże urny losowana ze zwracaniem jest jedna kula. Kolor kuli stanowi obserwację o t w danym momencie. Zakładając, że w każdej z urn mogą być kule o tych samych kolorach, wylosowana kula nie określa jednoznacznie z której urny została ona wylosowana. Proces losowania urn jest więc ukryty. W prostym modelu opisującym ten proces urny odpowiadają poszczególnym stanom, dla których zdefiniowane jest prawdopodobieństwo wylosowania kuli w danym kolorze. Formalnie ukryty model Markowa opisują następujące elementy: N - liczba stanów modelu, tworzących zbiór {1, 2,..., N} i w każdej chwili t oznaczanych jako q t. M - liczba różnych obserwacji odpowiadających każdemu ze stanów, należących do dyskretnego alfabetu V = {v 1, v 2,..., v M }. A = {a ij } - macierz rozkładu prawdopodobieństwa przejść między poszczególnymi stanami a ij = P [q t = j q t 1 = i], 1 i, j N. (4.2) B = {b j (k)} - rozkład prawdopodobieństwa obserwacji dla poszczególnych stanów, w którym b j = P [o t = v k q t = j], 1 k M, (4.3) określa rozkład obserwacji dla każdego ze stanów j, 1 j N. π - wektor z początkowym rozkładem prawdopodobieństwa, o współrzędnych π i = P [q 1 = i], 1 i N, gdzie π i określa prawdopodobieństwo rozpoczęcia przez model pracy w stanie i.

34 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA 30 W uproszczeniu, przy pominięciu parametrów N i M, ukryty model Markowa można przedstawić jako trójkę λ = (A, B, π). (4.4) Ponadto prawdopodobieństwo wygenerowania danej sekwencji obserwacji O = (o 1, o 2,..., o T ) przez model λ oznaczymy przez P (O λ). W kolejnych sekcjach tego rozdziału pojęcie HMM będzie rozumiane jako pojedynczy model λ. 4.3 Trzy podstawowe problemy dotyczące ukrytych modeli Markowa Aby móc wykorzystać w praktyce ukryte Modele Markowa, należy rozwiązać trzy podstawowe problemy. Problem 1 Mając daną sekwencję obserwacji O = (o 1, o 2,..., o T ) oraz model λ, jak efektywnie obliczyć prawdopodobieństwo P (O λ)? Jest to problem ewaluacji prawdopodobieństwa modelu. Problem 2 Mając daną sekwencję obserwacji O = (o 1, o 2,..., o T ) oraz model λ, jak ustalić sekwencję stanów q = (q 1, q 2,..., q T ), która jest optymalna, to znaczy generuje największe prawdopodobieństwo wystąpienia sekwencji O? Problem 3 Jak dobrać parametry modelu λ = (A, B, π), aby zmaksymalizować P (O λ)? W kolejnych podrozdziałach zostaną przedstawione metody rozwiązania tych problemów. 4.4 Ewaluacja prawdopodobieństwa modelu Najprostszą metodą obliczenia prawdopodobieństwa wystąpienia sekwencji obserwacji O = (o 1, o 2,..., o T ) dla modelu λ = (A, B, π) jest oczywiście rozpatrzenie wszystkich możliwych sekwencji stanów, których w przypadku sekwencji obserwacji o długości T jest N T. Rozpatrując jedną z nich, q = (q 1, q 2,..., q T ), prawdopodobieństwo wystąpienia sekwencji obserwacji O wynosi co przy zależności obserwacji tylko od stanów daje T P (O q, λ) = P (o t q t, λ), (4.5) t=1 P (O q, λ) = b q1 (o 1 ) b q2 (o 2 )... b qt (o T ). (4.6)

35 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA 31 Prawdopodobieństwo wystąpienia sekwencji q można określić jako P (q λ) = π q1 a q1 q 2 a q2 q 3... a qt 1 q T, (4.7) natomiast prawdopodobieństwo łączone wystąpienia O oraz q określimy jako P (O, q λ) = P (O q, λ)p (q λ), (4.8) co w konsekwencji pozawala nam na obliczenie całkowitego prawdopodobieństwa wystąpienia O sumując prawdopodobieństwo łączone (4.8) po wszystkich możliwych sekwencjach q P (O λ) = P (O q, λ)p (q λ) q = q 1,q 2...q T π q1 b q1 (o t )a q1 q 2 b q2 (o 2 )... a qt 1 q T b qt (o T ). (4.9) Niestety z równania (4.9) widać, że aby obliczyć wartość P (O λ) należałoby wykonać 2T N T obliczeń, co nawet przy małych wartościach N i T jest nierealne do wykonania w praktyce. Dla N = 5 oraz T = 100 mielibyśmy około obliczeń tylko dla jednego modelu! Poniżej przedstawione zostaną efektywniejsze metody rozwiązania tego problemu Procedura progresywna (forward) Algorytmem znacznie zmniejszającym złożoność obliczeniową ewaluacji prawdopodobieństwa P (O λ) jest procedura progresywna (forward). Polega ona na rekurencyjnym wyznaczaniu wartości zmiennej progresywnej α t (i) = P (o 1 o 2... o t, q t = i λ), (4.10) będącej prawdopodobieństwem wygenerowania sekwencji obserwacji o 1 o 2... o t, q t do chwili t i osiągnięcia stanu i w modelu λ. Kolejne wartości α i (t) można wyznaczyć według następującego algorytmu: 1. Inicjalizacja α 1 (i) = π i b i (o 1 ), 1 i N (4.11) 2. Indukcja [ N ] α t+1 (j) = α t (i)a ij b j (o t+1 ), i=1 1 t T 1 1 j N (4.12) 3. Koniec N P (O λ) = α T (i) (4.13) i=1 Złożoność przedstawionego algorytmu wynosi O(N 2 T ) obliczeń, co w omawianym wcześniej przypadku, N = 5 i T = 100, dałoby 2500 operacji.

36 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA Procedura regresywna (backward) Analogiczną do metody progresywnej jest metoda regresywna, w której to zmienna regresywna przyjmuje postać β t (i) = P (o t+1 o t+2... o T, q t = i λ) (4.14) i określa prawdopodobieństwo wygenerowania przez model sekwencji obserwacji o t+1 o t+2... o T od chwili t+1 aż do końca, pod warunkiem znajdowania się w chwili t w stanie i. Algorytm przedstawia się następująco: 1. Inicjalizacja β T (i) = 1, 1 i N (4.15) 2. Indukcja N β t (j) = (i)a ij b j (o t+1 )β t+1, i=1 t = T 1, T 2,..., 1 1 j N (4.16) 3. Koniec N P (O λ) = π i b i (o 1 )β 1 (i) (4.17) i=1 Wartości α j (t) i β j (t) są wykorzystywane także w innych algorytmach potrzebnych do rozwiązania postawionych wcześniej problemów. Warto zwrócić uwagę na to, że przy wyznaczaniu wartości prawdopodobieństw wymnażamy przez siebie małe liczby, przez co przy dużej ilości obserwacji wartość prawdopodobieństwa może przekroczyć precyzję komputera. Sposoby radzenia sobie z tym problemem w przypadku algorytmów progresywnego i regresywnego zostaną przedstawione w podrozdziale Optymalna sekwencja stanów Nie istnieje jednoznaczne rozwiązanie problemu znalezienia optymalnej sekwencji stanów, a wynika to z tego, że istnieje wiele kryteriów optymalności. Można przyjąć na przykład za kryterium wybieranie najbardziej prawdopodobnych stanów w każdej chwili t. Oznaczając prawdopodobieństwo wystąpienia w chwili t stanu i przy założeniu wystąpienia sekwencji obserwacji O jako γ t (i) = P (q t = i O, λ), co może zostać wyrażone przy użyciu zmiennych progresywnych i regresywnych w postaci γ t (i) = α t(i)β t (i). (4.18) N α t (i)β t (i) i=1

37 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA 33 Pozwala określić to kryterium na najbardziej prawdopodobny stan qt w chwili t jako qt = arg max [γ t(i)], 1 t T. (4.19) 1 i N Niestety tak dobrana sekwencja stanów w rzeczywistości może się okazać niemożliwa do osiągnięcia (a ij = 0 dla pewnych i i j). Dzieje się tak dlatego, że opisywane kryterium bierze pod uwagę tylko prawdopodobieństwo wystąpienia w danej chwili danego stanu bez uwzględnienia prawdopodobieństwa wystąpienia całej sekwencji stanów. W związku z tym najczęściej stosowane jest kryterium polegające na znalezieniu pojedynczej sekwencji stanów, która maksymalizowałaby P (q, O λ). Metoda służąca rozwiązaniu tego problemu nosi nazwę algorytmu Viterbiego Algorytm Viterbiego Mając daną sekwencję obserwacji O = (o 1, o 2,..., o T ), aby znaleźć najbardziej prawdopodobną sekwencję stanów q, należy zdefiniować wartość δ t (i) = max P [q 1, q 2,..., q t 1, q t = i, o 1, o 2... o t λ], (4.20) q 1,q 2,...,q t 1 która określa największe prawdopodobieństwo powiązane z pojedynczą sekwencją stanów do chwili t, kończącą się w stanie i. Na podstawie indukcji mamy Pełny algorytm Viterbiego wygląda następująco: δ t+1 (j) = [max δ t (i)a ij ]b j (o t+1 ). (4.21) i 1. Inicjalizacja δ 1 (i) = π i b i (o 1 ), 1 i N, ψ 1 (i) = 0 (4.22) 2. Indukcja δ t (j) = max [δ t 1(i)a ij ]b j (o t ), 1 i N ψ t (j) = arg max 1 i N [δ t 1(i)a ij ], 2 t T 1 j N 2 t T 1 j N (4.23) 3. Koniec P = max [δ T ] (4.24) 1 i N P jest maksymalnym prawdopodobieństwem uzyskanym dla pojedynczej sekwencji stanów modelu. 4. Odtworzenie sekwencji stanów q T = arg max 1 i N [δ T ] (4.25) q t = ψ t+1 (q t+1), t = T 1, T 2,..., 1 (4.26)

38 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA Reestymacja parametrów modelu. Aglorytm Bauma- Welcha Rozwiązanie trzeciego problemu, czyli sposobu dobrania parametrów modelu λ = (A, B, π) tak, aby zmaksymalizować prawdopodobieństwo wystąpienia danej sekwencji obserwacji, jest najtrudniejszym zadaniem związanym z ukrytymi modelami Markowa. Niestety nie są znane metody analityczne pozwalające znaleźć globalne rozwiązanie, istnieją jednak metody pozwalające na znalezienie lokalnego maksimum P (O λ). Do takich metod należy iteracyjna metoda Bauma-Welcha (znana też jako metoda expectation-minimalization, EM). Na potrzeby algorytmu Bauma-Welcha przede wszystkim należy zdefiniować prawdopodobieństwo znajdowania się w stanie i w chwili t i w stanie j w chwili t + 1, ξ t (i, j) = P (q t = i, q t+1 = j, O λ), (4.27) które używając zmiennych progresywnych i regresywnych można przedstawić jako ξ t (i, j) = α t (i)a ij b j (o t + 1)β t+1 (j). (4.28) N N α t (i)a ij b j (o t + 1)β t+1 (j) i=1 j=1 Prawdopodobieństwo γ i (t) zdefiniowane w (4.18) można wyrazić jako N γ t (i) = ξ t (i, j). (4.29) j=1 Wówczas oczekiwaną liczbę wyjść ze stanu i możemy wyznaczyć jako sumę T 1 t=1 γ t (i), natomiast oczekiwaną liczbę przejść ze stanu i do stanu j jako T 1 t=1 ξ t (i, j). Wartości te pozwalają na oszacowanie (reestymację) poszczególnych parametrów modelu λ, które przyjmują postać π i = γ 1 (i), (4.30) ā ij = T 1 t=1 T 1 t=1 ξ t (i, j), (4.31) γ t (i)

39 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA 35 T γ t (i) t=1 o t=v bj (k) = k. (4.32) T γ t (i) t=1 Oznaczmy przez λ = (A, B, π) aktualny model, którego użyjemy do obliczeń prawych stron równań (4.30)-(4.32) oraz λ = (Ā, B, π) model określony za pomocą nowo oszacowanych parametrów. Wówczas model λ określa maksimum funkcji prawdopodobieństwa i λ = λ albo model λ trafniej opisuje sekwencję O, to jest P (O λ) > P (O λ). Iteracyjnie używając λ w miejsce λ jesteśmy w stanie zwiększać prawdopodobieństwo P (O λ), aż do osiągnięcia krytycznego modelu odpowiadającego lokalnemu maksimum. Oznacza to, że podstawą obliczeń jest model początkowy λ i cała procedura reestymacji pozwala jedynie na znalezienie lepszego modelu w jego otoczeniu. 4.7 Typy ukrytych modeli Markowa Jednym ze sposobów klasyfikacji ukrytych modeli Markowa jest struktura macierzy A. W przypadku używania HMM do modelowania sygnału mowy przydatne zdają się być modele typu left-right, to znaczy takie w których nie możliwe są przejścia do poprzednich stanów, a wraz z upływem czasu indeksy stanów, w których znajduje się model, nie maleją (4.2). Warunek ten można zapisać prosto za pomocą a ij = 0, i < j, (4.33) { 1 dla i = 1 π i = 0 dla i 1. (4.34) Macierz A jest macierzą trójkątną górną. Dodatkowo a NN = 1. Warto zwrócić uwagę na fakt, że jeżeli prawdopodobieństwo przejścia między dwoma stanami wynosi 0, to procedura reestymacji (4.31) nie ma na nie wpływu, można więc pominąć reestymację elementów a ij, które przyjmują wartość 0. W bardziej złożo Rysunek 4.2: Schemat prostego HMM typu left-right

40 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA 36 nych systemach rozpoznawania istnieje konieczność łączenia ze sobą kilku modeli w jeden większy. Na przykład z modeli fonemów można stworzyć modele pojedynczych słów, z modeli słów modele zdań. Aby ułatwić to zadanie, do modeli można wprowadzić sztuczne stany, początkowy i końcowy, nie emitujące obserwacji (4.3). Dzięki nim można modelować na przykład rozpoczęcie obserwacji w stanie innym niż pierwszy, a także zakończenie w stanie innym niż ostatni. Ponadto umożliwiają one pominięcie któregoś z modeli składowych (przejście ze stanu początkowego bezpośrednio do stanu końcowego w danym modelu). Szczególnym przypadkiem S K Rysunek 4.3: Schemat przykładowego HMM z nieemitującymi obserwacji stanami początkowym i końcowym modeli typu left-right jest model left-right with no skipps, w którym ze stanu i dozwolone jest jedynie przejście do stanu i + 1 lub pozostanie w i. Tego typu modele przydatne są do modelowania fonemów [32]. 4.8 Wielokrotne sekwencje obserwacji Aby odpowiednio dobrać parametry modelu HMM, konieczne jest zastosowanie wielu sekwencji obserwacji, zwłaszcza w przypadku modeli typu left-right, ze względu na przejściowy charakter stanów, pozwalający tylko na małą liczbę obserwacji w jednym stanie. Do tej pory omawiane wzory operowały tylko na jednej sekwencji. W algorytmie Bauma-Welcha po wprowadzeniu nowych sekwencji treningowych w HMM zapomniana zostałaby informacja o poprzednich danych treningowych [26]. Aby pozwolić na użycie wielokrotnych sekwencji obserwacji, niezbędne są pewne proste modyfikacje. Oznaczmy zbiór R sekwencji obserwacji jako O = [O (1), O (2),..., O (R) ], (4.35) gdzie O (r) = (o (r) 1, o(r) 2,..., o(r) T r ) jest obserwacją o numerze r. Zakładając, że wszystkie sekwencje są od siebie niezależne, naszym celem jest ustalenie para-

41 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA 37 metrów modelu λ tak, aby maksymalizować R R P (O λ) = P (O (r) λ) = P r. (4.36) r=1 r=1 Prowadzi to do otrzymania następujących zmodyfikowanych wzorów na reestymację parametrów: ā ij = R T R 1 1 P r αt r (i)a ij b j (o r t+1 )βr t+1 (j) r=1 t=1, (4.37) R T R 1 1 P r αt r(i)βr t (j) r=1 t=1 bj (k) = R r=1 1 P r T R T R 1 1 P r r=1 t=1 αt r (i)βt k (j) t=1 o t=v k α r t (i)βr t (j). (4.38) 4.9 Modele z ciągłą gęstością rozkładów prawdopodobieństwa w stanach (CDHMM) Do tej pory w omawianych modelach wszystkie obserwacje należały do dyskretnego alfabetu, dla którego w każdym ze stanów określony był dyskretny rozkład prawdopodobieństwa, to jest macierz B. Z reguły jednak w zadaniach rozpoznawania mowy obserwacje nie są dyskretnymi symbolami, a raczej ciągłymi sygnałami lub wektorami. Co prawda istnieją metody ich dyskretyzacji na przykład, przy pomocy metody Vector Quantization [21], jednak wiążą się one z poważną utratą informacji o sygnale. Dlatego też w tym podrozdziale zostanie przedstawiony sposób zaadaptowania ukrytych modeli Markowa do korzystania bezpośrednio z ciągłych reprezentacji sygnału mowy. Modele te w literaturze spotykane są pod nazwą CDHMM (Continious Density HMM ). Aby zapewnić możliwość reestymacji, należy sensownie dokonać wyboru parametrów funkcji gęstości prawdopodobieństwa. Najczęściej spotykaną formą, dla której została uformowana procedura reestymacji, jest liniowa kombinacja wielowymiarowych rozkładów normalnych z diagonalną macierzą kowariancji. Ponadto w miarę potrzeb wektor obserwacji może zostać podzielony na S niezależnych strumieni (data streams). [ S M γs b j (o t ) = c jsk N(o ts, µ jsk, U jsk )], 1 j N, (4.39) s=1 k=1 gdzie o t jest wektorem obserwacji w chwili t, o ts jego częścią reprezentującą strumień s, M liczbą rozkładów, µ jsk wektorem wartości średnich, U jsk macierzą

42 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA 38 kowariancji, γ s wagą danego strumienia danych i c jsk wagą rozkładu. Współczynniki wag c jsk muszą być nieujemne oraz spełniać następujący warunek M c jsk = 1, k=1 1 j N 1 s S, (4.40) zakładając, że parametry rozkładu nie są skorelowane, stąd macierz kowariancji U jsk jest diagonalna. Pozwala to na opisanie rozkładu normalnego następującym równaniem N(o ts, µ jsk, U jsk ) = 1 (2π) D U jsk = (2π) D 1 D σjskd 2 d=1 [ exp 1 ] 2 (o ts µ jsk ) T Ujsk 1 (o ts µ jsk ) [ exp 1 D (o tsd µ jskd ) 2 ] 2 σ 2, d=1 jskd (4.41) gdzie D to długość wektora o ts, a σjsk 2 to wektor wariancji (wektor elementów przekątnej macierzy kowariancji). Wraz z wprowadzeniem ciągłych rozkładów prawdopodobieństwa niezbędne jest zdefiniowanie procedury reestymacji nowych parametrów. Reestymacja parametrów dla modeli wykorzystujących jako obserwacje niezależne strumienie danych jest słabo opisana w literaturze, a podane poniżej wzory pochodzą z [32]. Najpierw zdefiniujmy prawdopodobieństwo dla rozkładu k w strumieniu s w chwili t dla wzorca uczącego r, to jest L r jsk(t) = 1 Wj r (t)c jsk b jsk (o r P ts)βj r (t)b js(o r t ), r a 1j dla t = 1 (4.42) Wj r = N 1 αi r(t 1)a ij dla t 1, i=2 gdzie b js jest modyfikacją wzoru (4.39), w którym należy pominąć obliczenia dla strumienia s. Warto zauważyć, że dla modeli z pojedynczymi rozkładami (M = 1) L r jsk upraszcza się do Lr j i jest równoważne z (4.18). Wykorzystując (4.42) możemy wyrazić wzory na reestymację parametrów modelu jako:, Ū jsk = R µ jsk = T r r=1 t=1 R T r r=1 t=1 R T r r=1 t=1 L r jsk (t)or ts L r jsk (t), (4.43) L r jsk (t)(or ts µ jsk )(o r ts µ jsk ) R T r r=1 t=1 L r jsk (t), (4.44)

43 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA 39 c jsk = R T r r=1 t=1 R T r r=1 t=1 L r jsk (t) L r j (t). (4.45) W równaniu (4.44) warto zwrócić uwagę na użycie wyliczonej wcześniej wartości µ jsk ( [12, 32], wyprowadzenie wzoru w [26]), zamiast często pojawiającego się w tym miejscu w literaturze µ jsk Modele typu embedded Jak wspominane zostało w podrozdziale 4.7, w przypadku bardziej złożonych systemów rozpoznawania mowy niezbędne jest łączenie kilku modeli w jeden większy. Pozwala to na trening składowych części mowy jak fonemy czy trifony, bez konieczności segmentacji sygnału, a opierając się jedynie o transkrypcję fonetyczną. Aby ułatwić to zadanie, do modeli dodaje się dodatkowe stany nieemitujące obserwacji. Podczas łączenia przejście do stanu końcowego danego modelu zostaje zamienione na przejście do stanu początkowego modelu następnego. Schemat takiego procesu przedstawia rysunek 4.4. W przypadku używania modeli złożonych Model fonemu r Model fonemu a Model fonemu z Model słowa raz Rysunek 4.4: Schemat procesu łączenia modeli (embedded) niezbędne jest wprowadzenie wzorów na reestymację parametrów nowopowstałego HMM, uwzględniających przejścia przez stany nieemitujące obserwacji. Modyfikacji ulegają algorytmy progresywny i regresywny. Przyjmując, że model składa się z Z podmodeli, prawdopodobieństwo znajdowania się w stanie początkowym modelu z jest równe prawdopodobieństwu bycia w stanie końcowym modelu z 1. Ponadto należy zwrócić uwagę, że dla każdego z podmodeli z (z wyjątkiem pierwszego) wartość zmiennej progresywnej α (z) t (i) dla i 1 trzeba zwiększyć o prawdopodobieństwo znajdowania się w momencie t δt (gdzie δt jest bardzo małe) w stanie początkowym podmodelu z (stanie końcowym podmodelu z 1) i przejścia z tego stanu do stanu i. Analogicznych modyfikacji należy dokonać w algorytmie regresywnym [32].

44 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA 40 Dla modeli złożonych specjalną formę przyjmują reestymatory dla a (z) 1j, a(z) in oraz a (z) 1N, gdzie 1 to stan początkowy, a N stan końcowy podmodelu z. Mamy: ā (z) 1j = ā (z) 1N = R T 1 r 1 P r r=1 t=1 R T 1 r 1 P r r=1 t=1 ā (z) in = α (z)r 1 (t)a (z) 1j b(z) j (o r t )β (z)r j (t) α (z)r 1 (t)β (z)r 1 (t) + α (z)r 1 (t)a (z) 1N z β (z+1)r 1 (t) R T 1 r 1 P r r=1 t=1 R T 1 r 1 P r r=1 t=1 R T 1 r 1 P r r=1 t=1 R T 1 r 1 P r α (z)r i r=1 t=1 α (z)r i (t)a (z) α (z)r 1 (t)β (z)r in z β (z)r N z 1 (t) + α (z)r i (t) α (z)r i (t)a (z) 1N z β (z+1)r 1 (t) (t)β (z)r i (t) (t)β (z)r i (t) + α (z)r 1 (t)a (z) 1N z β (z)r 1 (t + 1), (4.46), (4.47). (4.48) W przypadku reestymacji parametrów dla modeli CDHMM we wzorach na reestymację parametrów rozkładów (4.43)-(4.45), oprócz dodania indeksów (z), należy zdefiniować na nowo W (z)r j (t) jako W (z)r j (t) = α (z)r 1 (t)a (z) α (z)r 1 (t)a (z) 1j 1j dla t = 1 + Nz 1 i= Problemy implementacyjne HMM α (z)r i (t 1)a (z) ij dla t 1. (4.49) W tym podrozdziale omówione zostaną główne problemy, na które można napotkać przy praktycznym wykorzystywaniu modeli Markowa Inicjalizacja parametrów modelu Jednym z głównych problemów implementacyjnych HMM jest wybór początkowych wartości parametrów modelu. W przypadku macierzy A najprostszym rozwiązaniem tego problemu jest inicjalizacja losowymi wartościami lub inicjalizacja jednorodna, oczywiście tak aby spełnione były przy tym wszystkie wymagania dotyczące modelu. Rozwiązanie to nie ma jednak praktycznego zastosowania w przypadku modeli CDHMM. Jeżeli dysponujemy dodatkowymi informacjami o danej sekwencji treningowej, jak na przykład granice poszczególnych fonemów czy słów w wypowiedzi treningowej, możemy na ich podstawie, uśredniając obserwacje, obliczyć wartości parametrów dla poszczególnych stanów modelu. W przypadku braku tych informacji można zastosować procedurę zwaną treningiem Viterbiego [32]. Dla

45 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA 41 jednorodnie zainicjalizowanych modeli polega ona na dokonaniu początkowego dopasowania obserwacji do stanów przy pomocy algorytmu Viterbiego i wyliczeniu na podstawie tego dopasowania wartości odpowiednich parametrów. Postępując iteracyjnie można wyznaczyć początkowe parametry modelu. W modelach typu CDHMM do wyznaczenia wartości parametrów µ, U oraz wag c można użyć algorytmu klasteryzacji (np. algorytmu K-means [21]). W przypadku modelu z pojedynczym rozkładem możliwe jest ich iteratywne zwiększanie stosując metodę podziału (mixture splitting) [16,32], która polega na stworzeniu z każdego z rozkładów dwóch nowych rozkładów o wektorach średnich: µ 1 = µ + ɛ, µ 2 = µ ɛ, (4.50) gdzie zwykle ɛ = 0.2σ. Po dokonaniu podziału należ dokonać reestymacji parametrów i powtórzyć podział, a procedurę tę powtarzać aż do uzyskania żądanej liczby rozkładów (z reguły 16). W przypadku modeli CDHMM typu embedded można użyć jednorodnego rozkładu dla macierzy A, natomiast wartości parametrów µ oraz U policzyć dla całego zestawu uczącego Prawdopodobieństwa przekraczające precyzję komputera Należy uzmysłowić sobie, że przy obliczaniu prawdopodobieństw wymnażane są przez siebie liczby mniejsze od jedności, dlatego ze wzrostem długości sekwencji obserwacji wartości α i (t) i β i (t) zaczynają wykładniczo dążyć do zera. Skutkuje to tym, że dla t 100 wartości te mogą przekroczyć precyzję komputera. Skalowanie Jednym ze sposobów radzenia sobie z problemem utraty precyzji jest procedura skalowania. Oznaczmy przez α i (t) współczynnik nieprzeskalowany, przez â t (t) współczynnik po przeskalowaniu, zaś przez â i (t) lokalną wartość współczynnika przed skalowaniem. Wartość α i (1) wyliczamy zgodnie z podanym wcześniej algorytmem, przyjmując â 1 i (t) = α t (i) oraz c 1 = N. Dla każdego t gdzie 2 t T, obliczamy â i (t) indukcyjnym wzorem α 1 (i) i=1 â N i (t) = ˆα t 1 (j)a ji b i (o t ). (4.51) j=1 Dalej obliczamy kolejne współczynniki skalowania jako c t = 1, (4.52) N â i (t) i=1

46 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA 42 a następnie obliczamy przeskalowaną wartość zmiennej progresywnej jako Ponadto można pokazać [21, 26], że ˆα t (i) = c t â i (t). (4.53) ( t ) ˆα t (j) = c r α t (j). (4.54) r=1 Przy skalowaniu wartości zmiennej regresywnej β t (i) można wykorzystać policzone już wcześniej wartości współczynników skalowania, co pozwala zapisać przeskalowane wartości dla wszystkich t jako które możemy analogicznie do 4.54 zapisać jako ˆβ t (i) = c t β t (i), (4.55) ( T ) ˆβ t (j) = c r β t (j). (4.56) r=t Przy stosowaniu przeskalowanych wartości zmianom musi także ulec procedura obliczania prawdopodobieństwa całkowitego P (O λ). Wykorzystując właściwość ( T ) N c t α T (i) = 1 (4.57) t=1 i=1 mamy ( T ) c t P (O λ) = 1, (4.58) t=1 P (O λ) = 1 T t=1 c t. (4.59) Ponieważ jednak prawdopodobieństwo (4.60) przekracza precyzję komputera, zmuszeni jesteśmy posługiwać się jego logarytmem T log[p (O λ)] = log c t. (4.60) t=1 Warto zauważyć przydatną właściwość przeskalowanych zmiennych: otóż na podstawie (4.54) i (4.56) mamy: ˆα t (j) ˆβ t (j) = ( T ) c r c t α t+1 (j)β t (j) = r=1 1 P (O λ) c tα t+1 (j)β t (j). (4.61) Wykorzystując (4.61) i stosując przeskalowane prawdopodobieństwa we wzorze (4.42) redukuje się czynnik 1 P r.

47 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA 43 Stosowanie logarytmów prawdopodobieństw Kolejnym sposobem radzenia sobie z przekraczaniem precyzji komputera jest operowanie logarytmami prawdopodobieństw. W przypadku algorytmu Viterbiego (4.5.1) jest to dość proste, gdyż sprowadza się do początkowego przeliczenia logarytmów macierzy A i B (alternatywnie obliczania wartości log b j (o t ) w przypadku CDHMM) oraz zamiany operacji mnożenia na sumowanie. Trudności pojawiają się przy stosowaniu logarytmów do obliczenia zmiennych progresywnej i regresywnej ze względu na sumę w równaniu (4.12). Ponieważ suma logarytmów nie jest równa logarytmowi sumy, nie można użyć w nim bezpośrednio wartości log α t (i). Możliwym sposobem obejścia tego problemu jest zapisanie logarytmu sumy stosując wzór ( N ) ( ) N log p i = log p 0 + log 1 + exp(log p i log p 0 ). (4.62) i=0 i=1 Wzór (4.62) cytowany jest za [18], a do jego wyprowadzenia niezbędne jest skorzystanie z prac Kingsburego i Raynera [17]. Jak zauważono w [18], obliczenie exp(log p i log p 0 ) nie powinno w praktyce sprawiać problemów numerycznych, ponieważ można je interpretować jako p i /p 0, co w przypadku podobnych zdarzeń nie powinno różnić się dużo od jedności. Zwrócić należy jednak uwagę na szczególny przypadek, gdy p 0 przyjmie wartość 0. Opis szczegółów implementacyjnych i sposób użycia logarytmów w algorytmie progresywnym, regresywnym oraz procedurze reestymacji parametrów można znaleźć w [19] Niewystarczająca ilość danych uczących Zbyt mała liczba danych treningowych może spowodować zbytnie dopasowanie się do tych danych. Wyobraźmy sobie, że wśród nich nie występuje żadna obserwacja v k (dla dyskretnego HMM), stąd b j (k) = 0, a ponadto wartość ta nie zmieni się nawet po reestymacji modelu. W przypadku wystąpienia symbolu v k w dowolnej sekwencji obserwacji prawdopodobieństwo jej generacji przez model wyniesie 0. Aby poradzić sobie z tym problemem, należałoby zwiększyć ilość danych treningowych (co nie zawsze jest możliwe) lub zmniejszyć ilość parametrów modelu, co nie jest praktycznym rozwiązaniem, gdyż zwykle za dobór struktury modelu odpowiadają inne przesłanki. Kolejnym rozwiązaniem jest użycie statystycznych metod radzenia sobie z tym problemem. Do takich metod należy np. procedura deleted interpolation [12, 21, 32], która wymaga jednak dwóch lub więcej nauczonych już modeli. Pozwala ona na przykład na połączenie ogólnego modelu niezależnego od mówcy z bardziej szczegółowym modelem wytrenowanym dla pojedynczego mówcy. Następnym, dość prostym w zastosowaniu sposobem, jest wprowadzenie progu, który nie pozwoli by prawdopodobieństwo wystąpienia obserwacji spadło do

48 ROZDZIAŁ 4. UKRYTE MODELE MARKOWA 44 zera b j (k) = { bj (k) dla b j (k) δ b δ b dla b j (k) < δ b, (4.63) a w przypadku modeli z ciągłym rozkładem prawdopodobieństwa { Ujks (r, r) dla U U jks (r, r) = jks (r, r) δ u. (4.64) δ u dla U jks (r, r) < δ u Progi można zastosować także przy reestymacji macierzy A i wagach rozkładów c (pamiętając przy tym, że muszą one spełniać odpowiednie warunki określone równaniami (4.2) i (4.40)) Możliwości optymalizacji Ponieważ w przypadku dość dużej liczby danych uczących czas obliczeń może być znaczący, warto zwrócić uwagę na to, aby implementacje opisanych tu algorytmów były jak najbardziej optymalne. Poniżej przedstawiono kilka wniosków uzyskanych w trakcie pracy nad implementacją systemu rozpoznawania mowy. Przede wszystkim należy pamiętać, że wartości parametrów modelu które wynoszą 0 nie powinny podlegać procesowi reestymacji, gdyż i tak ich wartość nie ulegnie zmianie. W przypadku stosowania modelu left-right no skipps, czyli takiego w którym możliwe jest tylko pozostanie w danym stanie lub przejście do następnego, dla każdego ze stanów wystarczy wyznaczyć tylko prawdopodobieństwo pozostania w nim. Mając wyznaczoną wartość a ii, na podstawie (4.2) prawdopodobieństwo przejścia do następnego stanu obliczamy jako a ij = 1 a ii, (4.65) gdzie j = i + 1. W przypadku używania modeli embedded ze składowymi modelami left-right no skipps można pominąć stań początkowy, gdyż prawdopodobieństwo przejścia z niego do pierwszego stanu emitującego obserwację wynosi 1. Natomiast przejście do stanu końcowego możliwe jest tylko z ostatniego stanu emitującego obserwacje. Mając na względzie tę informację, znacznie upraszcza się procedura algorytmu progresywnego i rekursywnego dla modeli embedded. Ponadto na podstawie (4.65) w ogóle znika konieczność korzystania z formuł (4.46)-(4.48) na reestymację przejść między stanami początkowym i końcowym. Porównując wzór na L r jsk (4.42) z [32] z odpowiadającym mu γ jk w [21], można wyprowadzić wzór uwzględniający już wyliczone α t (j) jak i strumienie danych. Ponadto używając zmiennych przeskalowanych można zredukować go do postaci L r jsk(t) = ˆα t(j) ˆβ t (j)c jsk b jsk (o r ts) c t b js (o r ts ), (4.66) gdzie c t jest współczynnikiem skalowania dla chwili t.

49 Rozdział 5 System rozpoznawania izolowanych słów W tym rozdziale omówiony zostanie stworzony system rozpoznawania izolowanych słów na bazie fonemów języka polskiego. 5.1 Analiza wymagań Wymagania dla tworzonego systemu Głównym wymaganiem dla tworzonego systemu jest, aby pozwalał on na rozpoznawanie słów języka polskiego. W praktyce wiąże się to z wyszkoleniem systemu dla fonemów języka polskiego. Ponadto system ma zostać napisany w języku programowania Java i udostępniać API pozwalający innym programistom-klientom na użycie go w tworzonych przez siebie aplikacjach jako część składowej interfejsu komunikacji z użytkownikiem. System musi też umożliwiać stosunkowo łatwe dodawanie do słownika nowych słów, co pozwoli każdemu na dostosowanie go do własnych potrzeb Wybór metody rozpoznawania oraz typu tworzonego systemu rozpoznawania mowy Jako metodę rozpoznawania mowy postanowiono wykorzystać ukryte model Markowa, ze względu na ich powszechne stosowanie w tym zagadnieniu oraz fakt istnienia bogatej literatury dotyczącej ich wykorzystania. Ponieważ zebranie odpowiedniej ilości danych uczących, aby system mógł być niezależny od mówcy, wykracza poza możliwości tej pracy, przyjęto, że system 45

50 ROZDZIAŁ 5. SYSTEM ROZPOZNAWANIA IZOLOWANYCH SŁÓW 46 będzie realizował rozpoznawanie tylko dla osoby, dla której nagrania zostały użyte w procesie treningowym. Aby system mógł być praktycznie wykorzystywany przy tworzeniu prostych interfejsów komunikacji człowiek-komputer, jako element podlegający rozpoznawaniu przyjęto pojedyncze słowo. Zastosowanie podejścia rozpoznawania wzorców wymaga posiadania wielu wzorców dla danego słowa lub posiadania informacji o granicach między elementami fonetycznymi (np. fonemami czy sylabami). Ponieważ wraz ze wzrostem słownika danego sytemu zadanie jego uczenia byłoby coraz bardziej niepraktyczne, zdecydowano się na użycie transkrypcji fonetycznej dla każdego słowa oraz modeli łączonych Markowa. Rozwiązanie to łączy w sobie cechy podejścia rozpoznawania wzorców (użycie HMM) oraz podejścia akustycznego (transkrypcje fonetyczne). Pozwala to na wytrenowanie modeli fonemów bez posiadania żadnej wiedzy na temat położenia granic między nimi. System może dzięki temu tworzyć modele dowolnych słów na podstawie ich transkrypcji. Umożliwia to sklasyfikowanie tworzonego systemu jako realizującego podejście sztucznej inteligencji. Zaletą tworzonego systemu jest zmniejszenie (przy wykorzystaniu odpowiednio dużego słownika) liczby danych treningowych w stosunku do systemu używającego jako wzorców modeli całych słów, a także możliwość dodawania do słownika nowych słów bez konieczności douczania systemu (w ograniczonym zakresie). Rodzaj stosowanych modeli HMM Jako podstawowy model do reprezentacji pojedynczego fonemu wybrano model CDHMM typu left-right with no skipps, tak jak jest to najczęściej spotykane w tego typu systemach [32]. Model posiada trzy stany emitujące obserwacje oraz stan końcowy nieemitujący obserwacji, pozwalający na łączenie ze sobą modeli fonemów w modele słów. W każdym ze stanów, dla każdego ze strumieni danych stosowany jest pojedynczy rozkład Gaussa. Jako kryterium optymalizacji przy reestymacji modeli wybrano kryterium całkowitego prawdopodobieństwa danej sekwencji obserwacji (Maximum Likelihood, ML). Oznacza to osiągnięcie mniejszego błędu rozpoznawania kosztem zwiększonej złożoności obliczeniowej w porównaniu z kryterium optymalnej sekwencji stanów (Maximum Likelihood State Sequence, MLSS) [23]. Rodzaj stosowanej metody parametryzacji mowy Jako metodę parametryzacji przyjęto współczynniki MFCC, z możliwością rozszerzenia o współczynnik energii oraz współczynniki delta i delta-delta, traktowane jako osobne strumienie danych.

51 ROZDZIAŁ 5. SYSTEM ROZPOZNAWANIA IZOLOWANYCH SŁÓW Schemat działania systemu Trening W celu umożliwienia systemowi rozpoznawania wypowiedzi nieznanych słów konieczny jest etap treningu. Schemat treningu tworzonego systemu przedstawia rysunek 5.1. W celu przeprowadzenia treningu niezbędne jest dostarczenie pli- Pliki z nagraniami treningowymi Transkrypcje fonetyczne nagrań treningowych.wav Baza modeli fonemów Łączenie modeli fonemów w modele słów Zestaw modeli słów trenigowych Wektory obserwacji Parametryzacja nagrań Reestymacja parametrów modeli Wytrenowane modele fonemów Rysunek 5.1: Schemat procesu uczenia w stworzonym systemie ków dźwiękowych wraz z plikiem tekstowym zawierającym w poszczególnych liniach nazwę pliku dźwiękowego, łańcuch znaków reprezentujący dane słowo oraz transkrypcję fonetyczną danego słowa w systemie X-SAMPA. Następnie inicjalizowana jest baza modeli fonemów, przez co tworzone jest 38 modeli fonemów (37 fonemów języka polskiego plus jeden fonem reprezentujący ciszę). W kolejnym kroku dla każdego słowa tworzony jest jego model poprzez połączenie modeli fonemów wchodzących w jego skład oraz plik dźwiękowy odpowiadający temu słowu przekształcany jest do postaci sekwencji obserwacji. Gdy wszystkie modele są już utworzone, zostaje uruchomiony proces reestymacji parametrów modeli w oparciu o algorytm Bauma-Welcha. Podczas przetwarzania modeli każdego słowa akumulowane są odpowiednie wartości dla każdego podmodelu reprezentującego fonem. Gdy przetworzone zostaną wszystkie modele, na podstawie zakumulowanych war-

52 ROZDZIAŁ 5. SYSTEM ROZPOZNAWANIA IZOLOWANYCH SŁÓW 48 tości obliczane są nowe wartości parametrów dla każdego z modeli fonemów. Procedura reestymacji podlega tylko kilku (2-5) iteracjom, co ma przeciwdziałać przetrenowaniu modeli Rozpoznawanie Gdy system dysponuje już zestawem wytrenowanych modeli, możliwe jest rozpoznawanie nieznanych wypowiedzi. Schemat procesu rozpoznawania przedstawia rysunek 5.2. W celu rozpoznawania system musi dysponować plikiem reprezentującym słownik systemu, który zawiera wpisy odpowiadające poszczególnym słowom. Wpis reprezentujący dane pojedyncze słowo zawiera łańcuch znaków reprezentujący to słowo oraz jego transkrypcje fonetyczną w systemie X-SAMPA. Podobnie jak podczas treningu, dla każdego słowa tworzony jest jego model, z tym że teraz użyte modele są wytrenowane. Teraz, gdy do systemu zostanie wpro- Słownik systemu Nieznane słowo Transkrypcje fonetyczne Parametryzacja sygnału Łączenie modeli monemów w modele słów Wektor obserwacji Wytrenowane modele fonemów Zestaw modeli rozpoznawanych słów Ewaluacja prawdopodobieństwa dla każdego modelu Wynik rozpoznania Rysunek 5.2: Schemat procesu rozpoznawania w stworzonym systemie wadzony nieznany sygnał mowy, zostaje on przetworzony do postaci sekwencji wektorów obserwacji (współczynników MFCC). Dla każdego modelu z wykorzystaniem algorytmu progresywnego ewaluowane jest prawdopodobieństwo wygenerowania rozpoznawanej sekwencji obserwacji. Model, który odpowie największym prawdopodobieństwem, odpowiada rozpoznanemu słowu.

53 ROZDZIAŁ 5. SYSTEM ROZPOZNAWANIA IZOLOWANYCH SŁÓW Projekt systemu Poniżej przedstawione zostaną diagramy klas głównych pakietów systemu oraz opisy najważniejszych klas. Wykonany system składa się z trzech pakietów Pakiet recorder Pakiet recorder zawiera klasy odpowiadające za nagrywanie dźwięku, zapis i odczyt plików dźwiękowych oraz detekcję mowy w nagranym sygnale. Na rysunku 5.3 przedstawiono diagram klas należących do pakietu. Rysunek 5.3: Diagram klas pakietu recorder klasa Recorder - odpowiada za nagrywanie dźwięku do rozpoznawania. Pozwala na bezpośrednie rozpoczęcie nagrywania lub nasłuchiwanie wypowiedzi (wymaga wtedy określenia wartości progowych energii sygnału). klasa Sound - odpowiada za zapis i odczyt plików.wav. interfejs EndpointDetector - interfejs algorytmu detekcji mowy. Klasy implementujące go muszą posiadać metodę removesilence(short[] signal), która zwraca fragment nagrania odpowiadający mowie. Pozwala na uniezależnienie systemu od konkretnej implementacji algorytmu detekcji mowy. klasy RabinersEndpointDetector i WordDetectorFTEM - stanowią implementacje algorytmu Rabinera i Sambura detekcji pojedynczego słowa. Druga działa w oparciu o pomiar energii Tagera. interfejs RecordStart - pozwala na zaimplementowanie działania podejmowanego w trakcie rozpoczęcia nagrywania (np. wyświetlenie komunikatu) Pakiet signalprocesing Pakiet signalprocesing zawiera klasy związane z przekształceniem sygnału do postaci parametrycznej. Na rysunku 5.4 przedstawiono diagram klas należących do pakietu.

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

Automatyczne rozpoznawanie mowy - wybrane zagadnienia / Ryszard Makowski. Wrocław, Spis treści Automatyczne rozpoznawanie mowy - wybrane zagadnienia / Ryszard Makowski. Wrocław, 2011 Spis treści Przedmowa 11 Rozdział 1. WPROWADZENIE 13 1.1. Czym jest automatyczne rozpoznawanie mowy 13 1.2. Poziomy

Bardziej szczegółowo

AKUSTYKA MOWY. Podstawy rozpoznawania mowy część I

AKUSTYKA MOWY. Podstawy rozpoznawania mowy część I AKUSTYKA MOWY Podstawy rozpoznawania mowy część I PLAN WYKŁADU Część I Podstawowe pojęcia z dziedziny rozpoznawania mowy Algorytmy, parametry i podejścia do rozpoznawania mowy Przykłady istniejących bibliotek

Bardziej szczegółowo

Akustyka mowy wprowadzenie. Opracował: dr inż. Piotr Suchomski

Akustyka mowy wprowadzenie. Opracował: dr inż. Piotr Suchomski Akustyka mowy wprowadzenie Opracował: dr inż. Piotr Suchomski Kontakt Katedra Systemów Multimedialnych Wydział ETI dr inż. Piotr M. Suchomski, pok. EA 730 e-mail: pietka@sound.eti.pg.gda.pl tel. 23-01

Bardziej szczegółowo

4 Zasoby językowe Korpusy obcojęzyczne Korpusy języka polskiego Słowniki Sposoby gromadzenia danych...

4 Zasoby językowe Korpusy obcojęzyczne Korpusy języka polskiego Słowniki Sposoby gromadzenia danych... Spis treści 1 Wstęp 11 1.1 Do kogo adresowana jest ta książka... 12 1.2 Historia badań nad mową i językiem... 12 1.3 Obecne główne trendy badań... 16 1.4 Opis zawartości rozdziałów... 18 2 Wyzwania i możliwe

Bardziej szczegółowo

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

Automatyczne rozpoznawanie mowy. Autor: mgr inż. Piotr Bratoszewski Automatyczne rozpoznawanie mowy Autor: mgr inż. Piotr Bratoszewski Rys historyczny 1930-1950 pierwsze systemy Automatycznego rozpoznawania mowy (ang. Automatic Speech Recognition ASR), metody holistyczne;

Bardziej szczegółowo

Komputerowe przetwarzanie sygnału mowy

Komputerowe przetwarzanie sygnału mowy Komputerowe przetwarzanie sygnału mowy Prof dr hab inż Bożena Kostek Katedra Systemów Multimedialnych Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska Komputerowe przetwarzanie sygnału

Bardziej szczegółowo

TEORIA WYTWARZANIA DŹWIĘKÓW

TEORIA WYTWARZANIA DŹWIĘKÓW 1 TEORIA WYTWARZANIA DŹWIĘKÓW MOWY, FORMANTY, MODELOWANIE WYTWARZANIA DŹWIĘKÓW MOWY. mgr inż. Kuba Łopatka PLAN WYKŁADU 1. Teoria wytwarzania dźwięków mowy Ogólna teoria wytwarzania dźwięków mowy Ton krtaniowy

Bardziej szczegółowo

ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU

ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU i klasyfikacja sygnału audio dr inż. Jacek Naruniec Sygnał mowy mózg (układ sterujący) głośnia (źródło dźwięku) rezonator akustyczny (filtr) sygnał mowy 2 Sygnał mowy

Bardziej szczegółowo

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

KATEDRA SYSTEMÓW MULTIMEDIALNYCH. Inteligentne systemy decyzyjne. Ćwiczenie nr 12: 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

Bardziej szczegółowo

Omówienie różnych metod rozpoznawania mowy

Omówienie różnych metod rozpoznawania mowy Omówienie różnych metod rozpoznawania mowy Na podstawie artykułu: Comparative study of automatic speech recognition techniques Beniamin Sawicki Wydział Inżynierii Mechanicznej i Robotyki Inżynieria Akustyczna

Bardziej szczegółowo

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

Podstawy automatycznego rozpoznawania mowy. Autor: mgr inż. Piotr Bratoszewski Podstawy automatycznego rozpoznawania mowy Autor: mgr inż. Piotr Bratoszewski Rys historyczny 1930-1950 pierwsze systemy Automatycznego rozpoznawania mowy (ang. Automatic Speech Recognition ASR), metody

Bardziej szczegółowo

dr inż. Jacek Naruniec

dr inż. Jacek Naruniec dr inż. Jacek Naruniec Przetwarzanie wstępne Wyznaczenie obszarów zainteresowania Ekstrakcja cech - dźwięk Klasyfikacja detekcja mowy okno analizy spektrogram filtr preemfazy wokodery (formantów, kanałowe,

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

ROZPOZNAWANIE GRANIC SŁOWA W SYSTEMIE AUTOMATYCZNEGO ROZPOZNAWANIA IZOLOWANYCH SŁÓW

ROZPOZNAWANIE GRANIC SŁOWA W SYSTEMIE AUTOMATYCZNEGO ROZPOZNAWANIA IZOLOWANYCH SŁÓW ROZPOZNAWANIE GRANIC SŁOWA W SYSTEMIE AUTOMATYCZNEGO ROZPOZNAWANIA IZOLOWANYCH SŁÓW Maciej Piasecki, Szymon Zyśko Wydziałowy Zakład Informatyki Politechnika Wrocławska Wybrzeże Stanisława Wyspiańskiego

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Lokalizacja Oprogramowania

Lokalizacja Oprogramowania mgr inż. Anton Smoliński anton.smolinski@zut.edu.pl Lokalizacja Oprogramowania 16/12/2016 Wykład 6 Internacjonalizacja, Testowanie, Tłumaczenie Maszynowe Agenda Internacjonalizacja Testowanie lokalizacji

Bardziej szczegółowo

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska. SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska INFORMACJE WSTĘPNE Hipotezy do uczenia się lub tworzenia

Bardziej szczegółowo

Kompresja dźwięku w standardzie MPEG-1

Kompresja dźwięku w standardzie MPEG-1 mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 7, strona 1. Kompresja dźwięku w standardzie MPEG-1 Ogólne założenia kompresji stratnej Zjawisko maskowania psychoakustycznego Schemat blokowy

Bardziej szczegółowo

Analiza sygnału mowy pod kątem rozpoznania mówcy chorego. Anna Kosiek, Dominik Fert

Analiza sygnału mowy pod kątem rozpoznania mówcy chorego. Anna Kosiek, Dominik Fert Analiza sygnału mowy pod kątem rozpoznania mówcy chorego Anna Kosiek, Dominik Fert Wstęp: Analiza sygnału akustycznego była wykorzystywana w medycynie jeszcze przed wykorzystaniem jej w technice. Sygnał

Bardziej szczegółowo

Testowanie modeli predykcyjnych

Testowanie modeli predykcyjnych Testowanie modeli predykcyjnych Wstęp Podczas budowy modelu, którego celem jest przewidywanie pewnych wartości na podstawie zbioru danych uczących poważnym problemem jest ocena jakości uczenia i zdolności

Bardziej szczegółowo

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16 Spis treści Przedmowa.......................... XI Rozdział 1. Pomiar: jednostki miar................. 1 1.1. Wielkości fizyczne i pozafizyczne.................. 1 1.2. Spójne układy miar. Układ SI i jego

Bardziej szczegółowo

Technologie Mowy Bartosz Ziółko

Technologie Mowy Bartosz Ziółko www.dsp.agh.edu.pl http://rozpoznawaniemowy.blogspot.com/ Technologie Mowy Bartosz Ziółko 1 Technologie Mowy 2 Technologie Mowy 3 Technologie Mowy 4 Dane kontaktowe Dr inż. Jakub Gałka C2/419 Telefon 50-68

Bardziej szczegółowo

Wprowadzenie do analizy korelacji i regresji

Wprowadzenie do analizy korelacji i regresji Statystyka dla jakości produktów i usług Six sigma i inne strategie Wprowadzenie do analizy korelacji i regresji StatSoft Polska Wybrane zagadnienia analizy korelacji Przy analizie zjawisk i procesów stanowiących

Bardziej szczegółowo

Metoda weryfikacji mówcy na podstawie nieuzgodnionej wypowiedzi

Metoda weryfikacji mówcy na podstawie nieuzgodnionej wypowiedzi BIULETYN INSTYTUTU AUTOMATYKI I ROBOTYKI NR, 005 Metoda weryfikacji mówcy na podstawie nieuzgodnionej wypowiedzi Leszek GRAD Zakład Automatyki, Instytut Teleinformatyki i Automatyki WAT, ul. Kaliskiego,

Bardziej szczegółowo

Opisy efektów kształcenia dla modułu

Opisy efektów kształcenia dla modułu Karta modułu - Technologia mowy 1 / 5 Nazwa modułu: Technologia mowy Rocznik: 2012/2013 Kod: RIA-1-504-s Punkty ECTS: 7 Wydział: Inżynierii Mechanicznej i Robotyki Poziom studiów: Studia I stopnia Specjalność:

Bardziej szczegółowo

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie Wykaz tabel Wykaz rysunków Przedmowa 1. Wprowadzenie 1.1. Wprowadzenie do eksploracji danych 1.2. Natura zbiorów danych 1.3. Rodzaje struktur: modele i wzorce 1.4. Zadania eksploracji danych 1.5. Komponenty

Bardziej szczegółowo

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny. Filtracja nieliniowa może być bardzo skuteczną metodą polepszania jakości obrazów Filtry nieliniowe Filtr medianowy Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy

Bardziej szczegółowo

Zjawisko aliasingu. Filtr antyaliasingowy. Przecieki widma - okna czasowe.

Zjawisko aliasingu. Filtr antyaliasingowy. Przecieki widma - okna czasowe. Katedra Mechaniki i Podstaw Konstrukcji Maszyn POLITECHNIKA OPOLSKA Komputerowe wspomaganie eksperymentu Zjawisko aliasingu.. Przecieki widma - okna czasowe. dr inż. Roland PAWLICZEK Zjawisko aliasingu

Bardziej szczegółowo

FFT i dyskretny splot. Aplikacje w DSP

FFT i dyskretny splot. Aplikacje w DSP i dyskretny splot. Aplikacje w DSP Marcin Jenczmyk m.jenczmyk@knm.katowice.pl Wydział Matematyki, Fizyki i Chemii 10 maja 2014 M. Jenczmyk Sesja wiosenna KNM 2014 i dyskretny splot 1 / 17 Transformata

Bardziej szczegółowo

Podstawy Przetwarzania Sygnałów

Podstawy Przetwarzania Sygnałów Adam Szulc 188250 grupa: pon TN 17:05 Podstawy Przetwarzania Sygnałów Sprawozdanie 6: Filtracja sygnałów. Filtry FIT o skończonej odpowiedzi impulsowej. 1. Cel ćwiczenia. 1) Przeprowadzenie filtracji trzech

Bardziej szczegółowo

Korpusy mowy i narzędzia do ich przetwarzania

Korpusy mowy i narzędzia do ich przetwarzania Korpusy mowy i narzędzia do ich przetwarzania Danijel Korzinek, Krzysztof Marasek Polsko-Japońska Akademia Technik Komputerowych Katedra Multimediów kmarasek@pjwstk.edu.pl danijel@pjwstk.edu.pl 2015-05-18

Bardziej szczegółowo

Pattern Classification

Pattern Classification Pattern Classification All materials in these slides were taken from Pattern Classification (2nd ed) by R. O. Duda, P. E. Hart and D. G. Stork, John Wiley & Sons, 2000 with the permission of the authors

Bardziej szczegółowo

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce Metody systemowe i decyzyjne w informatyce Laboratorium JAVA Zadanie nr 2 Rozpoznawanie liter autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się z problemem klasyfikacji

Bardziej szczegółowo

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski Przekształcenia widmowe Transformata Fouriera Adam Wojciechowski Przekształcenia widmowe Odmiana przekształceń kontekstowych, w których kontekstem jest w zasadzie cały obraz. Za pomocą transformaty Fouriera

Bardziej szczegółowo

ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU

ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU i klasyfikacja sygnału audio dr inż. Jacek Naruniec Sygnał mowy mózg (układ sterujący) głośnia (źródło dźwięku) rezonator akustyczny (filtr) sygnał mowy 2 Sygnał mowy

Bardziej szczegółowo

LABORATORIUM Z FIZYKI

LABORATORIUM Z FIZYKI LABORATORIUM Z FIZYKI LABORATORIUM Z FIZYKI I PRACOWNIA FIZYCZNA C w Gliwicach Gliwice, ul. Konarskiego 22, pokoje 52-54 Regulamin pracowni i organizacja zajęć Sprawozdanie (strona tytułowa, karta pomiarowa)

Bardziej szczegółowo

Przedmowa Wykaz oznaczeń Wykaz skrótów 1. Sygnały i ich parametry 1 1.1. Pojęcia podstawowe 1 1.2. Klasyfikacja sygnałów 2 1.3.

Przedmowa Wykaz oznaczeń Wykaz skrótów 1. Sygnały i ich parametry 1 1.1. Pojęcia podstawowe 1 1.2. Klasyfikacja sygnałów 2 1.3. Przedmowa Wykaz oznaczeń Wykaz skrótów 1. Sygnały i ich parametry 1 1.1. Pojęcia podstawowe 1 1.2. Klasyfikacja sygnałów 2 1.3. Sygnały deterministyczne 4 1.3.1. Parametry 4 1.3.2. Przykłady 7 1.3.3. Sygnały

Bardziej szczegółowo

Rozpoznawanie i synteza mowy w systemach multimedialnych. Analiza i synteza mowy - wprowadzenie. Spektrogram wyrażenia: computer speech

Rozpoznawanie i synteza mowy w systemach multimedialnych. Analiza i synteza mowy - wprowadzenie. Spektrogram wyrażenia: computer speech Slajd 1 Analiza i synteza mowy - wprowadzenie Spektrogram wyrażenia: computer speech Slide 1 Slajd 2 Analiza i synteza mowy - wprowadzenie Slide 2 Slajd 3 Analiza i synteza mowy - wprowadzenie Slide 3

Bardziej szczegółowo

Dyskretne układy liniowe. Funkcja splotu. Równania różnicowe. Transform

Dyskretne układy liniowe. Funkcja splotu. Równania różnicowe. Transform Dyskretne układy liniowe. Funkcja splotu. Równania różnicowe. Transformata Z. March 20, 2013 Dyskretne układy liniowe. Funkcja splotu. Równania różnicowe. Transformata Z. Sygnał i system Sygnał jest opisem

Bardziej szczegółowo

Teoria przetwarzania A/C i C/A.

Teoria przetwarzania A/C i C/A. Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych

Bardziej szczegółowo

Synteza mowy. opracowanie: mgr inż. Kuba Łopatka

Synteza mowy. opracowanie: mgr inż. Kuba Łopatka Synteza mowy opracowanie: mgr inż. Kuba Łopatka Synteza mowy (ang. TTS - Text-To-Speech ) zamiana tekstu w formie pisanej na sygnał akustyczny, którego brzmienie naśladuje brzmienie ludzkiej mowy. Podstawowe

Bardziej szczegółowo

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

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny

Bardziej szczegółowo

istocie dziedzina zajmująca się poszukiwaniem zależności na podstawie prowadzenia doświadczeń jest o wiele starsza: tak na przykład matematycy

istocie dziedzina zajmująca się poszukiwaniem zależności na podstawie prowadzenia doświadczeń jest o wiele starsza: tak na przykład matematycy MODEL REGRESJI LINIOWEJ. METODA NAJMNIEJSZYCH KWADRATÓW Analiza regresji zajmuje się badaniem zależności pomiędzy interesującymi nas wielkościami (zmiennymi), mające na celu konstrukcję modelu, który dobrze

Bardziej szczegółowo

Biometryczna Identyfikacja Tożsamości

Biometryczna Identyfikacja Tożsamości c Adam Czajka, IAiIS PW, wersja: 6 grudnia 2015, 1/39 Adam Czajka Wykład na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej Semestr zimowy 2015/16 c Adam Czajka, IAiIS PW, wersja:

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 1 Kwantyzacja skalarna Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 10.05.005 Kwantyzacja polega na reprezentowaniu dużego zbioru wartości (być może nieskończonego) za pomocą wartości

Bardziej szczegółowo

Egzamin / zaliczenie na ocenę*

Egzamin / zaliczenie na ocenę* WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW 33/01 KARTA PRZEDMIOTU Nazwa w języku polskim CYFROWE PRZETWARZANIE SYGNAŁÓW Nazwa w języku angielskim DIGITAL SIGNAL PROCESSING Kierunek studiów

Bardziej szczegółowo

Optymalizacja systemów

Optymalizacja systemów Optymalizacja systemów Laboratorium - problem detekcji twarzy autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, P. Klukowski Cel zadania Celem zadania jest zapoznanie się z gradientowymi algorytmami optymalizacji

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

Testowanie hipotez statystycznych

Testowanie hipotez statystycznych Agenda Instytut Matematyki Politechniki Łódzkiej 2 stycznia 2012 Agenda Agenda 1 Wprowadzenie Agenda 2 Hipoteza oraz błędy I i II rodzaju Hipoteza alternatywna Statystyka testowa Zbiór krytyczny Poziom

Bardziej szczegółowo

Analiza szeregów czasowych: 2. Splot. Widmo mocy.

Analiza szeregów czasowych: 2. Splot. Widmo mocy. Analiza szeregów czasowych: 2. Splot. Widmo mocy. P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Splot Jedna z najważniejszych własności transformaty Fouriera jest to, że transformata

Bardziej szczegółowo

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego

Bardziej szczegółowo

Metody Prognozowania

Metody Prognozowania Wprowadzenie Ewa Bielińska 3 października 2007 Plan 1 Wprowadzenie Czym jest prognozowanie Historia 2 Ciągi czasowe Postępowanie prognostyczne i prognozowanie Predykcja długo- i krótko-terminowa Rodzaje

Bardziej szczegółowo

Biometryczna Identyfikacja Tożsamości

Biometryczna Identyfikacja Tożsamości Biometryczna Identyfikacja Tożsamości Wykład 9: Rozpoznawanie mówiącego Adam Czajka Wykład na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej Semestr letni 2015 c Adam Czajka, IAiIS

Bardziej szczegółowo

Katedra Fizyki Ciała Stałego Uniwersytetu Łódzkiego. Ćwiczenie 2 Badanie funkcji korelacji w przebiegach elektrycznych.

Katedra Fizyki Ciała Stałego Uniwersytetu Łódzkiego. Ćwiczenie 2 Badanie funkcji korelacji w przebiegach elektrycznych. Katedra Fizyki Ciała Stałego Uniwersytetu Łódzkiego Ćwiczenie Badanie unkcji korelacji w przebiegach elektrycznych. Cel ćwiczenia: Celem ćwiczenia jest zbadanie unkcji korelacji w okresowych sygnałach

Bardziej szczegółowo

KARTA MODUŁU KSZTAŁCENIA

KARTA MODUŁU KSZTAŁCENIA KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne I. 1 Nazwa modułu kształcenia Analiza i przetwarzanie sygnałów 2 Nazwa jednostki prowadzącej moduł (należy wskazać nazwę zgodnie ze Statutem PSW Instytut,

Bardziej szczegółowo

Wykład z równań różnicowych

Wykład z równań różnicowych Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.

Bardziej szczegółowo

Analiza składowych głównych. Wprowadzenie

Analiza składowych głównych. Wprowadzenie Wprowadzenie jest techniką redukcji wymiaru. Składowe główne zostały po raz pierwszy zaproponowane przez Pearsona(1901), a następnie rozwinięte przez Hotellinga (1933). jest zaliczana do systemów uczących

Bardziej szczegółowo

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce Metody systemowe i decyzyjne w informatyce Laboratorium MATLAB Zadanie nr 2 Detekcja twarzy autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się algorytmem gradientu prostego

Bardziej szczegółowo

Procedura modelowania matematycznego

Procedura modelowania matematycznego Procedura modelowania matematycznego System fizyczny Model fizyczny Założenia Uproszczenia Model matematyczny Analiza matematyczna Symulacja komputerowa Rozwiązanie w postaci modelu odpowiedzi Poszerzenie

Bardziej szczegółowo

Wstęp do teorii niepewności pomiaru. Danuta J. Michczyńska Adam Michczyński

Wstęp do teorii niepewności pomiaru. Danuta J. Michczyńska Adam Michczyński Wstęp do teorii niepewności pomiaru Danuta J. Michczyńska Adam Michczyński Podstawowe informacje: Strona Politechniki Śląskiej: www.polsl.pl Instytut Fizyki / strona własna Instytutu / Dydaktyka / I Pracownia

Bardziej szczegółowo

Kwantyzacja wektorowa. Kodowanie różnicowe.

Kwantyzacja wektorowa. Kodowanie różnicowe. Kwantyzacja wektorowa. Kodowanie różnicowe. Kodowanie i kompresja informacji - Wykład 7 12 kwietnia 2010 Kwantyzacja wektorowa wprowadzenie Zamiast kwantyzować pojedyncze elementy kwantyzujemy całe bloki

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Podstawy Automatyki

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Podstawy Automatyki Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Podsta Automatyki Transmitancja operatorowa i widmowa systemu, znajdowanie odpowiedzi w dziedzinie s i w

Bardziej szczegółowo

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Autoreferat do rozprawy doktorskiej OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Michał Mazur Gliwice 2016 1 2 Montaż samochodów na linii w

Bardziej szczegółowo

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe. Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe. zajecia.jakubw.pl/nai Literatura: S. Osowski, Sieci neuronowe w ujęciu algorytmicznym. WNT, Warszawa 997. PODSTAWOWE ZAGADNIENIA TECHNICZNE AI

Bardziej szczegółowo

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

O badaniach nad SZTUCZNĄ INTELIGENCJĄ O badaniach nad SZTUCZNĄ INTELIGENCJĄ Wykład 7. O badaniach nad sztuczną inteligencją Co nazywamy SZTUCZNĄ INTELIGENCJĄ? szczególny rodzaj programów komputerowych, a niekiedy maszyn. SI szczególną własność

Bardziej szczegółowo

Algorytm genetyczny (genetic algorithm)-

Algorytm genetyczny (genetic algorithm)- Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie

Bardziej szczegółowo

2

2 1 2 3 4 5 Dużo pisze się i słyszy o projektach wdrożeń systemów zarządzania wiedzą, które nie przyniosły oczekiwanych rezultatów, bo mało kto korzystał z tych systemów. Technologia nie jest bowiem lekarstwem

Bardziej szczegółowo

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć)

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć) Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć) 1. Populacja generalna a losowa próba, parametr rozkładu cechy a jego ocena z losowej próby, miary opisu statystycznego

Bardziej szczegółowo

9. Dyskretna transformata Fouriera algorytm FFT

9. Dyskretna transformata Fouriera algorytm FFT Transformata Fouriera ma szerokie zastosowanie w analizie i syntezie układów i systemów elektronicznych, gdyż pozwala na połączenie dwóch sposobów przedstawiania sygnałów reprezentacji w dziedzinie czasu

Bardziej szczegółowo

Sprawozdanie z laboratoriów HTK!

Sprawozdanie z laboratoriów HTK! Inżynieria akustyczna - Technologia mowy 2013 Błażej Chwiećko Sprawozdanie z laboratoriów HTK! 1. Przeznaczenie tworzonego systemu! Celem było stworzenie systemu służącego do sterowania samochodem. Zaimplementowane

Bardziej szczegółowo

Zmienne zależne i niezależne

Zmienne zależne i niezależne Analiza kanoniczna Motywacja (1) 2 Często w badaniach spotykamy problemy badawcze, w których szukamy zakresu i kierunku zależności pomiędzy zbiorami zmiennych: { X i Jak oceniać takie 1, X 2,..., X p }

Bardziej szczegółowo

uzyskany w wyniku próbkowania okresowego przebiegu czasowego x(t) ze stałym czasem próbkowania t takim, że T = t N 1 t

uzyskany w wyniku próbkowania okresowego przebiegu czasowego x(t) ze stałym czasem próbkowania t takim, że T = t N 1 t 4. 1 3. " P r ze c ie k " w idm ow y 1 0 2 4.13. "PRZECIEK" WIDMOWY Rozważmy szereg czasowy {x r } dla r = 0, 1,..., N 1 uzyskany w wyniku próbkowania okresowego przebiegu czasowego x(t) ze stałym czasem

Bardziej szczegółowo

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory Dr Anna ADRIAN Paw B5, pok 407 adrian@tempus.metal.agh.edu.pl

Bardziej szczegółowo

JĘZYK NIEMIECKI liceum

JĘZYK NIEMIECKI liceum JĘZYK NIEMIECKI liceum Przedmiotowy system oceniania i wymagania edukacyjne Nauczyciel: mgr Teresa Jakubiec 1. Przedmiotem oceniania w całym roku szkolnym są: - wiadomości - umiejętności - wkład pracy,

Bardziej szczegółowo

Statystyczna analiza danych

Statystyczna analiza danych Statystyczna analiza danych ukryte modele Markowa, zastosowania Anna Gambin Instytut Informatyki Uniwersytet Warszawski plan na dziś Ukryte modele Markowa w praktyce modelowania rodzin białek multiuliniowienia

Bardziej szczegółowo

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji Dr Joanna Banaś Zakład Badań Systemowych Instytut Sztucznej Inteligencji i Metod Matematycznych Wydział Informatyki Politechniki

Bardziej szczegółowo

PRZETWARZANIE MOWY W CZASIE RZECZYWISTYM

PRZETWARZANIE MOWY W CZASIE RZECZYWISTYM PRZETWARZANIE MOWY W CZASIE RZECZYWISTYM Akustyka mowy opracowanie: M. Kaniewska, A. Kupryjanow, K. Łopatka PLAN WYKŁADU Zasada przetwarzania sygnału w czasie rzeczywistym Algorytmy zmiany czasu trwania

Bardziej szczegółowo

2. STRUKTURA RADIOFONICZNYCH SYGNAŁÓW CYFROWYCH

2. STRUKTURA RADIOFONICZNYCH SYGNAŁÓW CYFROWYCH 1. WSTĘP Radiofonię cyfrową cechują strumienie danych o dużych przepływnościach danych. Do przesyłania strumienia danych o dużych przepływnościach stosuje się transmisję z wykorzystaniem wielu sygnałów

Bardziej szczegółowo

Schemat programowania dynamicznego (ang. dynamic programming)

Schemat programowania dynamicznego (ang. dynamic programming) Schemat programowania dynamicznego (ang. dynamic programming) Jest jedną z metod rozwiązywania problemów optymalizacyjnych. Jej twórcą (1957) był amerykański matematyk Richard Ernest Bellman. Schemat ten

Bardziej szczegółowo

Biostatystyka, # 3 /Weterynaria I/

Biostatystyka, # 3 /Weterynaria I/ Biostatystyka, # 3 /Weterynaria I/ dr n. mat. Zdzisław Otachel Uniwersytet Przyrodniczy w Lublinie Katedra Zastosowań Matematyki i Informatyki ul. Głęboka 28, p. 221 bud. CIW, e-mail: zdzislaw.otachel@up.lublin.pl

Bardziej szczegółowo

Niepewności pomiarów

Niepewności pomiarów Niepewności pomiarów Międzynarodowa Organizacja Normalizacyjna (ISO) w roku 1995 opublikowała normy dotyczące terminologii i sposobu określania niepewności pomiarów [1]. W roku 1999 normy zostały opublikowane

Bardziej szczegółowo

8. Neuron z ciągłą funkcją aktywacji.

8. Neuron z ciągłą funkcją aktywacji. 8. Neuron z ciągłą funkcją aktywacji. W tym ćwiczeniu zapoznamy się z modelem sztucznego neuronu oraz przykładem jego wykorzystania do rozwiązywanie prostego zadania klasyfikacji. Neuron biologiczny i

Bardziej szczegółowo

FONETYKA. Co to jest fonetyka? Język polski Klasa III Gim

FONETYKA. Co to jest fonetyka? Język polski Klasa III Gim FONETYKA Język polski Klasa III Gim Co to jest fonetyka? Fonetyka Fonetyka (z gr. phonetikos) to dział nauki o języku badający i opisujący cechy dźwięków mowy, czyli głosek. Zajmuje się ona procesami powstawania

Bardziej szczegółowo

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć)

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć) Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć) 1. Populacja generalna a losowa próba, parametr rozkładu cechy a jego ocena z losowej próby, miary opisu statystycznego

Bardziej szczegółowo

Analiza szeregów czasowych: 2. Splot. Widmo mocy.

Analiza szeregów czasowych: 2. Splot. Widmo mocy. Analiza szeregów czasowych: 2. Splot. Widmo mocy. P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2006/07 Splot Jedna z najważniejszych własności transformaty Fouriera jest to, że transformata

Bardziej szczegółowo

Kwantowanie sygnałów analogowych na przykładzie sygnału mowy

Kwantowanie sygnałów analogowych na przykładzie sygnału mowy Kwantowanie sygnałów analogowych na przykładzie sygnału mowy Treść wykładu: Sygnał mowy i jego właściwości Kwantowanie skalarne: kwantyzator równomierny, nierównomierny, adaptacyjny Zastosowanie w koderze

Bardziej szczegółowo

Podstawy Sztucznej Inteligencji (PSZT)

Podstawy Sztucznej Inteligencji (PSZT) Podstawy Sztucznej Inteligencji (PSZT) Paweł Wawrzyński Uczenie maszynowe Sztuczne sieci neuronowe Plan na dziś Uczenie maszynowe Problem aproksymacji funkcji Sieci neuronowe PSZT, zima 2013, wykład 12

Bardziej szczegółowo

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM ZASTOSOWANIE SIECI NEURONOWYCH W SYSTEMACH AKTYWNEJ REDUKCJI HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM WPROWADZENIE Zwalczanie hałasu przy pomocy metod aktywnych redukcji hałasu polega

Bardziej szczegółowo

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Funkcja uwikłana (równanie nieliniowe) jest to funkcja, która nie jest przedstawiona jawnym przepisem, wzorem wyrażającym zależność wartości

Bardziej szczegółowo

166 Wstęp do statystyki matematycznej

166 Wstęp do statystyki matematycznej 166 Wstęp do statystyki matematycznej Etap trzeci realizacji procesu analizy danych statystycznych w zasadzie powinien rozwiązać nasz zasadniczy problem związany z identyfikacją cechy populacji generalnej

Bardziej szczegółowo

Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli?

Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli? Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli? : Proces zmieniania wartości w komórkach w celu sprawdzenia, jak

Bardziej szczegółowo

System do sterowania ruchem kamery przemysłowej za pomocą komend głosowych

System do sterowania ruchem kamery przemysłowej za pomocą komend głosowych System do sterowania ruchem kamery przemysłowej za pomocą komend głosowych Dariusz Krala 1 1 Wydział Inżynierii Mechanicznej i Informatyki Kierunek Informatyka, Rok V {dariusz.krala}@gmail.com Streszczenie

Bardziej szczegółowo

Pomiary w technice studyjnej. TESTY PESQ i PEAQ

Pomiary w technice studyjnej. TESTY PESQ i PEAQ Pomiary w technice studyjnej TESTY PESQ i PEAQ Wprowadzenie Problem: ocena jakości sygnału dźwiękowego. Metody obiektywne - np. pomiar SNR czy THD+N - nie dają pełnych informacji o jakości sygnału. Ważne

Bardziej szczegółowo

Analiza regresji - weryfikacja założeń

Analiza regresji - weryfikacja założeń Medycyna Praktyczna - portal dla lekarzy Analiza regresji - weryfikacja założeń mgr Andrzej Stanisz z Zakładu Biostatystyki i Informatyki Medycznej Collegium Medicum UJ w Krakowie (Kierownik Zakładu: prof.

Bardziej szczegółowo

AUTOMATYKA INFORMATYKA

AUTOMATYKA INFORMATYKA AUTOMATYKA INFORMATYKA Technologie Informacyjne Sieć Semantyczna Przetwarzanie Języka Naturalnego Internet Edytor Serii: Zdzisław Kowalczuk Inteligentne wydobywanie informacji z internetowych serwisów

Bardziej szczegółowo

Promotor: dr Marek Pawełczyk. Marcin Picz

Promotor: dr Marek Pawełczyk. Marcin Picz Promotor: dr Marek Pawełczyk Marcin Picz Stosowane metody: - Grupa metod odejmowania widm (subtractive( subtractive-typetype algorithms); - Filtracja Wienera; - Neural networks & Fuzzy logic (sieci neuronowe

Bardziej szczegółowo

7. Identyfikacja defektów badanego obiektu

7. Identyfikacja defektów badanego obiektu 7. Identyfikacja defektów badanego obiektu Pierwszym krokiem na drodze do identyfikacji defektów było przygotowanie tzw. odcisku palca poszczególnych defektów. W tym celu został napisany program Gaussian

Bardziej szczegółowo

Ćwiczenie 3,4. Analiza widmowa sygnałów czasowych: sinus, trójkąt, prostokąt, szum biały i szum różowy

Ćwiczenie 3,4. Analiza widmowa sygnałów czasowych: sinus, trójkąt, prostokąt, szum biały i szum różowy Ćwiczenie 3,4. Analiza widmowa sygnałów czasowych: sinus, trójkąt, prostokąt, szum biały i szum różowy Grupa: wtorek 18:3 Tomasz Niedziela I. CZĘŚĆ ĆWICZENIA 1. Cel i przebieg ćwiczenia. Celem ćwiczenia

Bardziej szczegółowo

STRESZCZENIE. rozprawy doktorskiej pt. Zmienne jakościowe w procesie wyceny wartości rynkowej nieruchomości. Ujęcie statystyczne.

STRESZCZENIE. rozprawy doktorskiej pt. Zmienne jakościowe w procesie wyceny wartości rynkowej nieruchomości. Ujęcie statystyczne. STRESZCZENIE rozprawy doktorskiej pt. Zmienne jakościowe w procesie wyceny wartości rynkowej nieruchomości. Ujęcie statystyczne. Zasadniczym czynnikiem stanowiącym motywację dla podjętych w pracy rozważań

Bardziej szczegółowo