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 jgalka@agh.edu.pl Dr inż. Bartosz Ziółko C2/418 Telefon 36-39 http://home.agh.edu.pl/~bziolko 5
Wykłady Wprowadzenie i historia Fizjologia mowy i elementy fonetyki języka polskiego. Dialekty języka polskiego. Właściwości sygnału mowy Zbiory nagrań mowy i tekstów. Słowniki komputerowe Redukcja zakłóceń i przetwarzanie wstępne sygnału Metody parametryzacji i segmentacji sygnału Kodowanie, kompresja i transmisja mowy. Synteza mowy Metody rozpoznawania wzorców 6
Wykłady Ukryte modele Markowa. Rozpoznawanie słów izolowanych HTK, ANN, SVM, DBN, K-NN Weryfikacja i identyfikacja mówcy. Emocje w głosie Metryka edycyjna. Rozpoznawanie mowy ciągłej. Syntaktyczne modelowanie języka Semantyczne modelowanie. Ontologie Interfejs głosowy i systemy dialogowe Istniejące systemy i przyszłość TM 7
Laboratoria Zaprojektowanie własnego systemu rozpoznawania mowy o ograniczonym słownictwie w oparciu o HTK Wykonanie korpusu własnej mowy Zaimplementowanie konkatencyjnego syntezatora mowy Rozszerzenie korpusu mowy i usprawnienie syntezatora Implementacja prostego kodera i kompresora mowy Rozpoznawanie słów izolowanych (MFCC+DTW) Implementacja prostego HMM Przygotowanie modelu HMM z wykorzystaniem własnego korpusu Przetestowanie opracowanego systemu rozpoznawania mowy Poprawki i usprawnienia własnego systemu rozpoznawania mowy opartego o HTK 8
Ćwiczenia Elementy statystyki matematycznej (Bayes, rozkłady, Gaussiany, itd.) Zapis fonetyczny, dialekty Dyskusje o technologiach mowy na podstawie artykułów Analizy grafów 3 Kolokwia (także z wykładów) Obliczanie HMM bez komputera Prezentacje studentów na wybrany temat Analiza spektogramów 9
Prezentacje Elementy lingwistyki języka polskiego Wybrane komercyjne lub eksperymentalne systemy technologii mowy Zreferowanie wybranego artykułu na temat technologii mowy Pomysł na własny biznes wykorzystujący technologie mowy Można zgłaszać własne propozycje tematów prezentacji Śpiew traktujemy jako mowę 10
Oceny Laboratorium Wykonanie zadań laboratoryjnych, ich staranność i jakość Obecność na zajęciach Ćwiczenia 3 kolokwia z ćwiczeń i wykładów (60%) Prezentacja (10%) Wykonanie ćwiczeń w trakcie zajęć (w tym aktywność) (30%) 11
Podręcznik 12
Bibliografia http://class.coursera.org/nlp http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-345-automatic-speech-recognition-spring-2003/ http://nlp.ipipan.waw.pl/wiki/clip D. Jurafsky and J.H. Martin Speech and Language Processing, 2nd edition W. Kwiatkowski, Metody automatycznego rozpoznawania wzorców, BEL Studio, Warszawa 2007 (28 zł) J. Koronacki, J. Ćwik, Statystyczne systemy uczące się, Wyd 2., EXIT, Warszawa 2008 (45 zł) M. Krzyśko, W. Wołyński, T. Górecki, M. Skorzybut, Systemy uczące się, WNT, Warszawa 2008 (47 zł) W. Kasprzak, Rozpoznawanie obrazów i sygnałów mowy, WPW, 2009 (28 zł) S. Theodoridis, K. Koutroumbas, Pattern Recognition, Academic Press, 2009 R. O. Duda, P. E. Hart, D. G. Stork, Pattern Classification, 2nd Edition, Wiley & Sons 2000 J. P. Marques de Sa, Pattern Recognition, Springer 2001 http://home.agh.edu.pl/~jgalka/dydaktyka/tm/podstawy%20ewaluacji%20w 13 %20systemach%20detekcji.pdf
Człowiek vs. komputer
Pierwsze syntezatory mowy 1779 - Christian Kratzenstein - urządzenie umożliwiające generowanie dźwięków przypominających 5 różnych głosek Równolegle, nad swoją akustycznomechaniczną maszyną imitującą mowę pracował Wolfgang von Kempelen 15
Alexander Graham Bell Profesor fizjologii dźwięku na Uniwersytecie w Bostonie oraz nauczyciel głuchoniemych. Badania Bella finansowane przez jego teścia doprowadziły do zbudowania telefonu w latach osiemdziesiątych XIX wieku, a więc także mikrofonu i słuchawki. 16
Lampa próżniowa W 1914 roku Harold D. Arnold opracował lampę próżniową, będącą wzmacniaczem sygnału akustycznego generowanego przez prąd elektryczny. Umożliwiło to firmie AT&T (American Telephone and Telegraph) pierwszą transkontynentalną rozmowę w 1915 roku. 17
Ferdynand de Saussure - 1916 Określił język jako system norm społecznych umożliwiający przekazywanie informacji. Dokonał rozróżnienia między językiem (fr. langue) a mówieniem (fr. parole). Zdefiniował język jako systemem symboli i reguł ich tworzenia, który nie może być wytworem pojedynczego człowieka. Określił go więc jako abstrakcję, urzeczywistniającą się w mówieniu realizowanym przez indywidualnych ludzi. 18
Cztery 19
Sygnał mowy 20
REX - 1920 Przymocowany do płytki reagującej obrotem na drgania o częstotliwości 500 [Hz] odpowiadającej między innymi głosce e. Przy tej częstotliwości pojawiał się rezonans, który odcinał prąd, wypychając psa z budy. W ten sposób zabawka reagowała na imię Rex. 21
VOCODER Bell Labs Posiadał klawiaturę i mógł między innymi syntezować mowę. Służył także do kodowania mowy na potrzeby transmisji. Działało w oparciu o bank filtrów. Z urządzenia najprawdopodobniej korzystali Churchill i Roosevelt do przeprowadzania transkontynentalnych konferencji. Po wojnie zaczęto wykorzystywać ulepszone urządzenia oparte na VOCODERZE w muzyce. 22
Bell Labs digit recogniser - 1952 Analiza spektrum podzielonego na 2 pasma częstotliwości (powyżej i poniżej 900 Hz). Rozpoznawał cyfry wypowiadane po angielsku z błędem mniejszym niż 2%, zakładając, że użytkownik nie zmienił położenia ust względem mikrofonu pomiędzy fazą ustalania parametrów głosu a testowaniem. 23
24
Japoński system rozpoznawania samogłosek (J. Suzuki, K. Nakata, Radio Research Labs, Japonia, 1961) 25
Zimna wojna Szybka transformata Fouriera (FFT) Hidden Markov Model (HMM) ARPA Speech Understanding Project - 1971 ($15M) Rozpoznawanie mowy ciągłej Słownik około 1000 słów => system CMU Harpy (5% błędów) Algorytm Viterbiego do ćwiczenia modeli 1967-1973 26
LPC - 1975 Linear predictive coding F. Itakura Bell/NTT Labs 27
Podstawowe technologie mowy Automatyczne rozpoznawanie mowy Synteza mowy Rozpoznawanie mówcy Rozpoznawanie emocji Generowanie emocji Synteza z ruchem ust Tłumaczenie mowa-mowa Aplikacje w nauce języków obcych 28
Zalety technologii mowy Naturalność (nie wymagają przeszkolenia) Pozostawiają swobodę rąk i oczu Szybkie (3 razy szybciej mówimy niż piszemy na klawiaturze) Ekonomiczność (tekst zajmuje dużo mniej bajtów niż sygnał akustyczny) Szczególnie istotne dla osób nieprzyzwyczajonych do komputerów, niepełnosprawnych oraz w zastosowaniach telefonicznych 29
Zastosowanie w telekomunikacji 30
Systemy dialogowe 31
32
Różne poziomy modelowania 33
Komunikacja z komputerem 34
Komunikacja z komputerem 35
Ogólny schemat rozpoznawania mowy 36
Komunikacja z komputerem 37
Możliwe zastosowania ASR Głównie jako wejście Proste komendy i sterowanie Krótkie wprowadzanie danych (np. przez telefon) Dyktowanie Interaktywne (z rozumieniem) Punkty informacyjne Przetwarzanie transakcji Wirtualni doradcy 38
Zakres mowy i słuchu człowieka (Tadeusiewicz, 1988) 39
Cechy systemów mowy Mowa izolowana lub ciągła Czytana lub spontaniczna Zależny lub niezależny od mówcy Mały (20 słów) lub duży (>50 000) słownik Model językowy stały lub zależny od kontekstu Perpleksja (entropia) wypowiedzi SNR (<10 db niski, >30 db wysoki) Sposób rejestracji (telefon, komputer, mikrofon z niwelowaniem szumu) Miara nieokreśloności H k i 1 p i log 2 p i 2^H 40
41
Fonetyka Dialekty języka polskiego Zbiory nagrań i tekstów Słowniki Bartosz Ziółko 42
Alfabety fonetyczne Dialekty języka polskiego Korpusy mowy polskiej Korpusy tekstów - przykłady Słowniki przykłady Słowniki - formaty Wordnet 43
44
45
IPA 46
IPA 47
IPA 48
Baldi features accurate, visible articulators (CSLU Toolkit) 49
Fonem i trifon Pojęcie fonemu, jako pierwszy wprowadził Jan Niecisław Ignacy Baudouin de Courtenay. Obecnie fonem najczęściej definiuje się jako najmniejszą rozróżnialną jednostkę mowy. Szerzej znane pojęcie głoski, opisuje realizację konkretnego fonemu w jakiejś wypowiedzi. Zbiór fonemów, opisujących dany język całościowo jest więc alfabetem fonetycznym. Trifon to fonem w lewym i prawym kontekście, a NIE trzy fonemy 50
System AGH - Dostawca transkrypcji Tomasz Jadczyk 51
OrtFon transkryptor ortofonetyczny 52
Tabele OrtFona 53
Tabele OrtFona 54
Dialekty języka polskiego Wykorzystano materiały Pauliny Macury i Darii Korzec oraz www.gwarypolskie.uw.edu.pl
Dialekt a gwara Dialekt charakteryzują swoiste cechy fonetyczne, leksykalne, semantyczne i fleksyjne odróżniające go od ogólnonarodowego języka, używanego przez ogół społeczności Mówiony wariant terytorialny (lokalny) języka narodowego używany na stosunkowo niewielkim terenie Zespół gwar ludowych używanych na większym obszarze, termin nadrzędny w stosunku do gwary ludowej Dialekt jest pojęciem szerszym
Język ogólny Dialekt Gwara
Cechy dialektów Mazurzenie wymowa spółgłosek dziąsłowych sz, ż, cz, dż jako przedniojęzykowo-zębowe s, z, c, dz np. lepsze = lepse, czas = cas, żeby = żeby, rz nie podlega mazurzeniu!!! np. rzeka (a nie zeka), przypali (nie psypali) Fonetyka międzywyrazowa - dwa wyrazy, gdy pierwszy kończy się na spółgłoskę, a drugi rozpoczyna się od głosek m, n, r, l, j, ł, lub od samogłoski -nieudźwięczniająca - pomósz mje = pomóż mi, tak_ jakby -udźwięczniająca pomóż_mje = pomóż mi, tag_jakby
Cechy dialektów Samogłoski pochylone a o, e y występowanie samogłosek pochylonych, czyli gwarowych kontynuantów staropolskich samogłosek długich: ā, ō, ē. Ich realizacja przedstawia się następująco: -a pochylone á - jako dźwięk pośredni między a i o, kontynuant staropolskiego ā, np. górole, downo, krzoki; -o pochylone ó jako dźwięk pośredni między o i u, kontynuant staropolskiego ō, np. wóz, dziadów, kónia; -e pochylone jako dźwięk równy samogłosce y, kontynuant staropolskiego ē, występuje po spółgłoskach twardych i miękkich, np. mlyko, tyz, śpiywo, biyda; 59
Cechy dialektów Sziakanie (jabłonkowanie) taka sama wymowa spółgłosek dziąsłowych sz, ż, cz, dż i spółgłosek środkowojęzykowych ś, ź, ć,dź jako zmiękczone dziąsłowe sz, ż, cz, dż np. cziarni czielak = czarny cielak Szadzenie - zjawisko polegające na zastąpieniu szeregu spółgłosek zębowych: c, s, z, dz szeregiem spółgłosek dziąsłowych cz, sz, ż, dż; wynika z przesadnego unikania mazurzenia, występuje na Suwalszczyźnie
Cechy dialektów Prejotacja - poprzedzenie samogłosek w nagłosie j niezgłoskotwórczym np. j ile, J ewa, j anioł = ile, Ewa, anioł J igła, j indycka, j innych Labializacja - to zjawisko poprzedzania samogłosek tylnych o niezgłoskotwórczym u, zwykle osłabionym (zapisywanym jako ł), Okno = łokno, golec łorkiestra
MAPA DIALEKTÓW
Dialekt śląski Wymowa udźwięczniająca ostatnią głoskę pierwszego wyrazu w połączeniach wyrazowych, np: tag_robili, mógbyź_mi (pomóc) Brak mazurzenia Sziakanie (jabłonkowanie) Samogłoski pochylone 1-os. lp. cz. przeszłego np. byłech, robiłech
Powiedzioł mi wczora chlapiec 1.Powiedzioł mi wczora chłapiec, że nie umiem chleba napiyc. Cieszyn, Opawa, Frydek, Morawa, chleba napiyc. 2. Jo się na to rozgniewała, móki, soli napojczała. Cieszyn, Opawa, Frydek, Morawa, napojczała. 3. Taki się mi chlyb wydarził, spoza skury kot wyłaził. Cieszyn, Opawa, Frydek, Morawa, kocur łaził. 4. Z jednej stróny woda ciekła, z drugi stróny mysz uciekła. Cieszyn, Opawa, Frydek, Morawa, mysz uciykła.
Dialekt śląski 65
Dialekt małopolski Mazurzenie Fonetyka międzywyrazowa udźwięczniająca Samogłoski pochylone Przejście wygłosowego -ch jako -k, np. tych = tyk, na polach = na polak (Spisz ch na f) Podhale - 1-os. lp. cz. przeszłego np. byłek, robiłek
Siwy dym Kiebyś miała rozum i do ludzi zdanie Hej! To byś mnie kochała za samo śpiywanie Siwy dym, siwy dym Biołe sadze niesie Hej! Pockoj mnie dziywcynko przy zielonym lesie.
Dialekt małopolski (Spisz, Jurgów) To w ogóle nie było wody. Wiycie jako była biyda o wode. Ludzie to takie mieli beckid rewniane i wozili tum wode w tyk becka(ch). No to nos było duzo dziewco u nt bo było nos pieńć siostrók, a u sąsiadów zaś było duzo chłopców no to tam wiyncyj tum wode prziwozili te chłopc i, bo no bo z aprzągli kónia i jechali. Tak to cza bylo, jak choć kiedy to my tak sły...p ł ozycciez nom do wiadra wody. No bo cza było d aleko po nium jechać. Tam ze dwa tam jak do p otoka to d aleko. Tako becka byla d rewniano. Taki korek był w epchany. Nej sie go w ycią u gło i ta woda tak z tej becki l eciała. No to a p rasuwanie. No to pranie, no pranie, bo pralków n ie było. To była tako mied..., tako była bajla, tako tako zela... Tako jak no so u m jesce teroz takie. Takie ani... alimunowane c i takie jak to sie nazywajom. No to i tako była r ajbacka, tak sie rynkum tako tyz zelazno. My nie mieli pralki, to jo potym ho ho juz nie wiym c i do siódmej klasy nie chodziła, kiej mama takom Franie p amiyntom p rziwiezłaz miasta. Byli z p rosientami. A tak to w ryncach prali. Nej płukać to tak d aleko my miały d o wody, to c i ch ł odniki c i co, no to cza było straśnie ł oscyndzać, zeby zeby z tym praniym. To jag my juz wyprały takie cosi b ielizne c i z p ł ościele c i cosi, co była c yściyjso woda, to juz my potym to tum wodom podłoge musiały myć, zeby jom nie w ylywać, zeby jom na cosi zuzyć. No a p rasuwać to takie było z elazko lampy... jak sie p oliło w piecu no to ono mia.. 68
Dialekt małopolski (Lubelszczyzna Wsch, Moniatycze) ur. w 1934 r. w Jankach koło Hrubieszowa kilka kilometrów na zachód od Moniatycz). Ukończyła 4 klasy szkoły podstawowej. Wyjeżdżała jedynie do Hrubieszowa. K j edyś? Kiedyś taniec to był naprawde: polka o u berek to to już było zakładanie, to sie kiedyś zakładało. Dajmy na to, jak ja bym poszła na na óberek, tańczyć, to chłopcy sie zakładali, ilie ona wytrwa. Ódbijali. Pięć, sześć, siedem chłopców, a jedna dziwczynka, ilie ona wytrwa tego oberka. Więc ta dziwczynka zarab j ała. Czy na cze y ko u lade, czy na cukierki, czy na jak jak latem było, czy na do u brego loda. No bo to kiedyś co to, to ludzie róbili w domu. A jak sie coś dzieś trafiło, to to było jak ja w j em? Ziarko w morzu. No i i takim to to była taka właśnie moja młodość, o. A ja byłam taka sprytna, ży ja wszyskichprzytańczyłam, bo ja tańczyłam przyz noge. Nie tak jak to sie po u dbijali oboma no u gami, ty l ko ja przyz noge tańczyłam, tak że ja wszyskim mogłam przytańczyć, ja sie ni ma nie męczyłam. To już jak szed ten zakład z chło u pakami to już ja już widziałam, że oni sie zakładajo, że idzie chtoś do mnie. A szed najpierw taki, co ni umiał tańczyć. Żeby ja gouczyła, żeby ja sie zmynczyła. A ja nie tak nie Bo jak przyz noge sie tańczy, to tak sie i chłópaka ni męczy i sam sie nie i męczy. Ja mówi: czekaj, do u tego chło u paka. 69
Dialekt wielkopolski Brak mazurzenia fonetyka międzywyrazowa udźwięczniająca- np. szeź_arów, laz_uruojs = sześć arów, las urósł Samogłoski pochylone -ow jako -ew np. majowy = majewy Labializacja
Dialekt wielkopolski (Baranówko, koło Poznania) Kiedyź no to, kiedyś to wykopki odbywały sie dziabkom, nawet wprawdzie nie u nas, w naszym gospodarstwie nie, ale w gospodarstwach w takich tych pegeerowskich, w tych majontkach, to dziabkami, dziabkami wykopywali, to tam cały szereg tych pań szło. Mówili na to: na szefle chodzóm i to miały płacone od wykopków, od tych szefli, nie wiem, ile na taki szefel tam wchodziło, w każdym bądź razie że one szły z koszykami, wsypały do jakigoś tam pojemnika, to był, który nazywał sie tym szeflym i ten, ten, ten, ten który tam pilnował, nadzorował, to on to zapisywał i od tego miały obliczane. U naz natomias była maszyna tak zwana figaka, to ona tak wyrzucała na boki i każdom jednom radlone, radlin... radline brała, a dwóch musiało zbierać, bo to tam rorzuciła na jakieś tszy metry. I to ludzie byli paramirozstawini, co kawołek inna para, takie tam cztery pi ń ć par czasym zbierało te zimniaki, jak zależności od tego, jakie było długie pole, nie. A w kóńcu przyszły te el... elewatorowe tak zwane ciągnikowe maszyny, które wyrzucały do tyłu i zabierały dwie radliny, a zbierał jeden człowiek i wtynczas znowuż zbierali raz przy razie mogli sobie zbierać wszyscy i z boku sie jechało czy tam końmi, czy ciągnikiem i jeden wysypywał te ziemniaki na... na... do skrzyni, do tej, do tej przyczepy, tak. No a obecnie to som już tam te kombajny, które... które wybierajom, no som jeszcze że jeszcze tam, jeszcze sie spotyka, że jeszcze wybierajom takimi też zimniakami, te zimniaki, tymi ewelator... elewatorowymi, 71
Dialekt mazowiecki Mazurzenie Fonetyka ubezdźwięczniająca międzywyrazowa np. tak_jakby Stwardnienie grupy li w ly np. lypa, malyna Przejście nagłosowego (na początku) ja- w je-, np. jak = jek, jagoda = jegoda, oraz ra- w re-, np. rano = reno Po spółgłoskach wargowych miękkich pojawiają się dodatkowe spółgłoski, np. mniasto
Dialekt mazowiecki (Janówek, koło Warszawy) Drzewa to se teras nie obdziabuje. Obdziabuje sie, śnuruje, panie, sie. Mas pan sznur i zaznacas ołówkem tu, tu, zeby było prosto, panie, i mozna obdziabywać albo oberżno u nć na pile, panie, tak, takie drzewo i zeby było cy do kantu, ji na jakie chces pan, cy na łaty, cy na te krokwy. No bo jak na łaty chces pan, pod blache bić, to cienkie, a na krokwi to musombyć, panie, dobre drzewo, grubse i mocne. To pan dajes później trempel, to trempel, zebysie nie zawaliło, ten, ten dach, jak to, no to musi być zmocowany, jak to sie mówi, panie. I to wszystko jest, to robota była, panie, taka, i panie ji. Robiło sie na Ursynowje, budynkistawjało sie, wjeżowce, panie, Ł okeńcie sie budowało, na Ł okeńcie byłem, było tepowjenkszenie tego Okeńcia, tyż robiłem, panie, zakłady Nowotki, polskie nagranie, na strzelnicy sie robiło tu, na Bjelanach, tu na Młocinach, wszystko robiło tamoj, panie, strzelnicy, to poszli duzo piniendzy a to nic z tego nie wysło, bo to w kepskim mjejscuzaplanowali. Bo to ta Wisłostrada leci, tutej rozjazdy, wje pan, panie. Wszystko to, widzis pan, wszystko to robiłem sam, panie, ł o. 73
Dialekt mazowiecki (Czerwonka, Podlasie) Kiedyś co tutaj było? Kowal. Kawal był, wszystko było swoje, nie, tedy wszystko, nichto ni kupował, wszystko swoje, dawali, warzywo, nie warzywo, wszystko, tylko tera to tam o robio, no. Ale też tak kawala nie ma, już koso i nie ko szo, cepami nie młóco, maszynami, niestety, już wszystko, zmieniło a s ie, no bardzo zmieniło sie... Jak ja jeszcze byłam nawet młodo a m, to w szkole a organizo a wali komedyjki takie różne, przedstawienia różne, brałam dużo udziału w tym. To jeszcze było w Pokośnem, do szkoły chodząc i ze szkoły różne tance, rozmaite, różne te stro u je te. Są takie spódnicy, baby nosili kiedyś, naszywane a, długie a z takimi ko a ronkami różne, jeszcze gdzieś tam może na górze jest. Z tych tradycyjów, było ale już tera nie ma, zanikło. Bo nie ma młodych, my już stare, to co tam, nie dasz rady, no to co tam, nie robisz nic i tak, o. Są jeszcze tradycje różne. Alejusz nie już tylko tak, we a s iele jeszcze tradycyjne jest, pogrzeb tradycyjny jest, no i chrzciny tradycyjne spotykajo, że podajo dz ieciaka do chrztu. No to jest jeszcze tradycja. Nie ma te y go, jusz jakie może dziesięć lat jusz nie ma tego, co było kiedyś. Byli zabawy to jak liatem u stodołach, dz iś jusz nie ma tych zabawów. A jeszcze kiedys to po a mieszkaniach, to było a byli, no i grali tutaj, o tam u kogoś gdz ie młodych dużo było, to poproszo i grali i tańczyli, było a więcej rozrywki było, różne takie przyśpiewki śpiewali. 74
Nowe dialekty mieszane Termin stosowany na określenie odmian języka polskiego używanych na ziemiach zachodnich i północnych Polski, tzw. ziemiach odzyskanych. Powstały ze zmieszania się kilku różnych gwar. Stały się polszczyzną ogólną z elementami gwarowymi.
Język kaszubski Od 2005 roku język regionalny z możliwością wprowadzenia do urzędów jako język pomocniczy W województwie pomorskim Można zdawać maturę z języka kaszubskiego Inne znaki fonetyczne niż w języku polskim Spółgłoski które w wielu gwarach polskich ulegają mazurzeniu w kaszubszczyźnie upodabniają się do ś, ź, ć, dź - kaszubienie
Kaszubski 77
Mazurzenie
Lwowski 79
Fonetyka międzywyrazowa TAK_JAKB Y TAG_JAKB Y
Ziemniaki Grule Podhale Rzepy Orawa Pyry Wielkopolska Kobzale, knule, jabłka Śląsk Kartofle Mazowsze i Śląsk Bulwy Pomorze Pantówki - Kujawy
Dialekty angielskiego 82
83
84
Znaczenie korpusów Większość metod w przetwarzaniu mowy opiera się na statystykach => Jakość i wielkość korpusów jest kluczowa dla jakości systemów 85
Korpus a zbiór danych Przetwarzalny przez maszyny Autentyczne dane językowe Reprezentatywny Zwykle anotowany (transkrypcje do mowy, funkcje gramatyczne do tekstów, osoby wypowiadające się itd.) 86
Jakość sygnału mowy 87
Anotacje Wykonanie wszelkiego rodzaju anotacji jest procesem bardzo czasochłonnym i uciążliwym (1 min mowy -> 20 min pracy) => Korpusy są dużo kosztowniejsze niż ich nie przetworzona zawartość Stosuje się coraz częściej także podejścia automatyczne, bez anotacji przez ludzi (Google) 88
Anotator AGH 89
Segmentacja na fonemy 90
Aspekt prawny Teksty i nagrania są wytworem myśli i jako takie są chronione prawem autorskim Prawo w Polsce dopuszcza pobieranie tekstów z internetu, zabrania ich udostępniania bez zgody autorów Nie ma przepisów prawnych odnośnie praw do modeli językowych wytworzonych na podstawie tekstów objętych ochroną prawem autorskim Można założyć, że statystyki nie są już chronione prawem, ale trzeba liczyć się z wątpliwościami 91
Polskie korpusy mowy Grocholewski CORPORA Jurisdic GlobalPhone Luna SpeechDat(E) EPPS European Parliament corpus Szklanny corpus (PJWSTK) AGH corpus 92
CORPORA - anotacja "*/ak1c1kzm.lab 0 0 sil 50000 900000 k 950000 2000000 a 2050000 3300000 zi 3350000 4050000 i 4100000 5050000 m 5100000 6100000 j 6150000 6800000 e 6850000 7950000 r 8000000 10000000 a 10050000 10800000 sil. MLF, CHR, FON Programy LABEL98 i BASAK98 93
GlobalPhone - anotacja ;SprecherID 001 ; 1: Niemiecka gazeta "Franfurter Rundschau" wczorajsza~ korespondencje~ z Krakowa zatytul1owal1a "Wieczna postac1" ; 2: Dziennik nawia~zal1 do wypowiedzi jednej z ml1odych mieszkanek Krakowa kto1ra mial1a cztery lata gdy kardynal1 Wojtyl1a wyjechal1 do Rzymu w tysia~c dziewie~c1set siedemdziesia~tym o1smym roku ; 3: Cal1e moje z0ycie przebiega pod znakiem Jana Pawl1a drugiego ;timestamp: 1999 ;BEGIN ;LANGUAGE:Polish ;SUPERVISOR:Patrycja H ;TAPELABEL:notape ;RECORD DATE: ;ARTICLE READORDER: ;TOPIC ARTICLE: ;SPEAKERDATA ------------- ;NAME OF SPEAKER:Patrycja ;SPEAKER ID:001 ;NATIVE LANGUAGE:Polish ;RAISED IN:Poland ;DIALECT: ;SEX:female ;AGE:22 ;OCCUPATION:student ;COLD OR ALLERGY:ok ;SMOKER:nonsmoking ;RECORDING SETUP ------------ ;RECORD PLACE: ;ENVIRONMENT NOISE: ;RECORD CONDITIONS: ;COMMENTS: ;END 94
Luna anotacja (2 sek) 95
Luna anotacja (2 sek) c.d. 96
Luna anotacja (2 sek) c.d. 97
Luna anotacja c.d. 98
Europarlament - anotacja <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE Trans SYSTEM "trans-14.dtd"> <Trans audio_filename="1655_1730_pl_sat" version="2" version_date="110106"> <Speakers> <Speaker id="spk1" name="unknown" type="unknown" dialect="native" accent="" scope="global"/> <Speaker id="spk2" name="geremek" check="no" dialect="native" accent="" scope="local"/> </Speakers> <Episode> <Section type="report" starttime="0" endtime="2099.976"> <Turn starttime="0" endtime="32.526"><sync time="0"/> 99
Europarlament anotacja c.d. </Turn> <Turn speaker="spk1" starttime="32.526" endtime="166.829"> <Sync time="32.526"/> [noise] <Sync time="161.086"/> [pause] <Sync time="163.414"/> [noise] </Turn> <Turn speaker="spk2" starttime="166.829" endtime="246.34"> <Sync time="166.829"/> dziękuję panie przewodniczący. <Sync time="169.089"/> muszę wyznać, że przemówienia pana premiera [xxx] mają siłę uwodzicielską. <Sync time="174.29"/> i po przemówieniu czerwcowym w parlamencie słuchając końcowego dzisiejszego, 100
Europarlament anotacja c.d. Sync time="181.06"/> chciałem rozpocząć moje wystąpienie od tego, że uważam premiera [xxx] [xxx] za jednego z nielicznych europejskich mężów stanu. <Sync time="190.204"/> ale czar prysł, gdy pan premier wyszedł. <Sync time="193.549"/> i dlatego moje słowa będą nieco odmienny charakter nosiły. <Sync time="197.796"/> wiele wskazuje na to, że prezydencja brytyjska będzie miała bilans, który będzie smutny dla unii europejskiej. <Sync time="240.712"/> [applause] </Turn> <Turn speaker="spk1" starttime="246.34" endtime="1991.21"> <Sync time="246.34"/>[noise]</turn> <Turn starttime="1991.21" endtime="2099.976"> <Sync time="1991.21"/> </Turn> </Section></Episode></Trans> 101
Szklanny - anotacja File type = "ootextfile" Object class = "TextGrid" xmin = 0 xmax = 5.54 tiers? <exists> size = 1 item []: item [1]: class = "IntervalTier" name = "Alignment" xmin = 0 xmax = 5.54 intervals: size = 57 intervals [1]: xmin = 0 xmax = 0.9933668981481482 text = "_sil_" intervals [2]: xmin = 0.9933668981481482 xmax = 1.1319438952189453 text = "n'" intervals [3]: xmin = 1.1319438952189453 xmax = 1.161179389606396 text = "e" intervals [4]: xmin = 1.161179389606396 xmax = 1.2331743328651683 text = "z" intervals [5]: xmin = 1.2331743328651683 xmax = 1.2801699383273164 text = "a" intervals [6]: xmin = 1.2801699383273164 xmax = 1.3426052499999999 text = "m" intervals [7]: xmin = 1.3426052499999999 xmax = 1.3797865044247786 text = "j" intervals [8]: xmin = 1.3797865044247786 xmax = 1.4101731150793648 text = "e" intervals [9]: xmin = 1.4101731150793648 xmax = 1.490879220335675 text = "Z" intervals [10]: xmin = 1.490879220335675 xmax = 1.5409413580246911 text = "a" intervals [11]: xmin = 1.5409413580246911 xmax = 1.5825974934895832 text = "m" intervals [12]: xmin = 1.5825974934895832 xmax = 1.6389739583333332 text = "m" 102
AGH - anotacja 103
Polskie korpusy tekstów IPI PAN (z POS tagami) NKJP (National Corpus of Polish) Rzeczpospolita Literatura Transkrypcje Sejmu i zjazdów Solidarności Nazwiska (Lista Wildsteina, PESEL, ANWIL SA) Notatki PAP Wikipedia Inne strony (crawling) http://clip.ipipan.waw.pl/lrt 104
Korpus IPI PAN <tok> <orth>porządek</orth> <lex><base>porządek</base><ctag>subst:sg:acc:m3</ctag></lex> <lex disamb="1"> <base>porządek</base><ctag>subst:sg:nom:m3</ctag> </lex> </tok> <tok> <orth>dzienny</orth> <lex><base>dzienny</base><ctag>adj:sg:acc:m3:pos</ctag></lex> <lex><base>dzienny</base><ctag>adj:sg:nom:m1:pos</ctag></lex> <lex><base>dzienny</base><ctag>adj:sg:nom:m2:pos</ctag></lex> <lex disamb="1"> <base>dzienny</base><ctag>adj:sg:nom:m3:pos</ctag> </lex> </tok> 105
Polskie korpusy tekstów 106
Problemy z formatem polskich liter Standardy polskich liter: -UTF-8 -Windows 1250 -ISO 8859-2 -Mazovia -IBM CP 852 -? Czasami w jednym pliku może być użytych kilka
Litery języka polskiego w UTF-8 108
Litery języka polskiego w UTF-8 109
Korpusy tekstów angielskich - American National Corpus (ANC) 22 mln (2009) - CollinsWordbank, mixed mainly British 56 mln (2009) - British National Corpus (BNC) 100 mln (spoken and written) - Corpus of Contemporary American English (COCA) 385 mln (spoken, literature, journals, academic papers) - Brown Corpus (1967) 1 mln but with POS tags - International Corpus of English (ICE) 1 mln (British, Hong Kong, Western Africa, India, New Zeland, Philipines & Singapur) - Oxford English Corpus 2 000 mln (but including Internet websites) - Scottish Corpus of Texts and Speech 4 mln of Scottish 110
Inne typy korpusów Wielojęzyczne (do uczenia tłumaczeń) Wielomodalne (np. audiovideo) Emocjonalne (z pracy mgr inż. Magdaleny Igras) medyczne 111
Korpus audiovideo AGH 112
Korpusy Ultrasonograficzne Thomas Hueber 1, Elie-Laurent Benaroya2, Bruce Denby 3,2, Gérard Chollet 1GIPSA-lab, 2Sigma Laboratory, ESPCI Paristech, 3Université Pierre et Marie Curie, Paris, France 4LTCI/CNRS, Telecom ParisTech 113
Korpusy z obrazowaniem metodą rezonansu magnetycznego (MRI) 114
Korpusy z obrazowaniem metodą rezonansu magnetycznego (MRI) 115
Korpusy elektromiograficzne (EMG) Michael Wand, Matthias Janke, Tanja Schultz (KIT) 116
Korpusy z elektromagnetycznym artykulografem (EMA) P. West, Oxford University Phonetics Lab 117
Korpusy mowy i tekstów czym się kierować przy wyborze Jakość i wielkość potrzebna optymalna decyzja Format nagrań lub tekstów Anotacje Zgodność z tekstem Szczegółowość (zdania, słowa, fonemy) Dodatkowe informacje Kim byli mówcy O czym jest korpus Czy mówcy powtarzają te same wypowiedzi Cena (od 2000 Euro do 50 000 Euro) 118
Słowniki 3 reprezentacje Pliki tekstowe Bazy danych Finite State Automaton 119
Słowniki języka polskiego Synonimy Open Office http://synonimy.ux.pl/, Wielki Słownik Języka Polskiego http://www.wsjp.pl/, Słownik wyrazów obcych i zwrotów obcojęzycznych Władysława Kopalińskiego http://www.slownik-online.pl/index.php, Wikisłownik http://pl.wiktionary.org/, Słownik synonimów i antonimów Piotra Żmigrodzkiego http://leksykony.interia.pl/synonim, Słownik Języka Polskiego http://sjp.pl/, N-gramowy słownik frekwencyjny języka polskiego 120
Słowniki do rozpoznawania mowy zawsze będą mieć transkrypcję fonetyczną. może moze Morze moze tak tak tak tag 121
Słownik AGH baza danych projektowane jako pliki tekstowe -> przetwarzanie do BD (SQL wolne, lepiej stosować Berkley DB i inne nierelacyjne) Mariusz Mąsior 122
Wybór silnika bazy danych Potrzeby: - Duża szybkość odczytu - Odpowiednia licencja - Małe zużycie zasobów - Prostota - Łatwość instalacji (brak serwera usług) - Przenośność danych Dawid Skurzok
SQL vs nosql SQL Structured Query Language relacyjne bazy danych (MySQL, Ms SQL, Oracle, SQLite...) NoSQL - not only SQL - wszystkie inne key-value store, document store, graph DB, object DB, tabular, (BerkeleyDB, BigTable, CouchDB, ) Dawid Skurzok
Wybór silnika bazy danych RDBMS (MySQL, Postgres, MS SQL) Dostępność Wybierz dwa! Tokyo Cabinet, CouchDB, Cassandra Relational Key-Value Tabular Document Spójność BerkeleyDB, BigTable (Google), MongoDB Podzielność Dawid Skurzok
Wybór silnika bazy danych Tylko czytanie danych Dostępność Wybierz dwa! Spójność Podzielność Dawid Skurzok
Wybór silnika bazy danych Tylko czytanie danych Dostępność Wybierz dwa! Spójność Zapis danych jednowątkowo Podzielność Dawid Skurzok
Wybór silnika bazy danych Tylko czytanie danych Dostępność Wybierz dwa! Spójność Zapis danych jednowątkowo Podzielność Dane przechowywane tylko lokalnie Dawid Skurzok
Wybór silnika bazy danych Tylko czytanie danych Dostępność HODB key-value store (DSP AGH) - Duża szybkość odczytu - Własna licencja - Prosta implementacja Spójność Zapis danych jednowątkowo Podzielność Dane przechowywane tylko lokalnie Dawid Skurzok
Testowane silniki baz danych SQLite lekki silnik relacyjnych baz danych BerkeleyDB nierelacyjna baza danych przechowuje dane w oparciu o schemat kluczwartość HODB własna implementacja bazy danych w oparciu o tablicę mieszającą (hash table) Dawid Skurzok
Zbieranie danych do modelu językowego Dawid Skurzok
Odczyt danych dane rzeczywiste Dawid Skurzok
Semantyczne zasoby dla języka Polskiego Słowosieć http://plwordnet.pwr.wroc.pl/browser/ Wikipedia i DBPedia http://dbpedia.org/ Synonimy w OpenOffice http://synonimy.ux.pl/ Wielki Słownik Języka Polskiego http://www.wsjp.pl/ Słownik Języka Polskiego http://sjp.pl/ 133
Słowosieć Elektronika jest typem sprzętu Elektronika jest typem nauki matematycznoprzyrodniczej i nauki ścisłej 134
Słowosieć Automatyka Informatyka Mechanika Inżynieria 135
Konstruowanie Słowosieci 136
Podsumowanie Orientacja w zagadnieniach związanych z korpusami mowy i tekstów (jak się je robi, ocenia ich jakość, wielkość itp.) Rodzaje korpusów (tekst, mowa, wielojęzyczne, audiovideo, emocje, obrazy medyczne ) Implementacje słowników (tekst, BD, FSA) Słowosieć (sprawdzić stronę) 137
HTK 138
Czym jest HTK Zbiór programów implementujących Niejawne Łańcuchy Markowa - Hidden Markov Models (HMMs) ASR, synteza mowa, rozpoznawanie liter, badania nad sekwencjami DNA Analiza mowy, wyćwiczenie HMM, testowanie i analiza rezultatów HTK dopasowuje hipotezę każdego rozpoznania do jednego z elementów słownika przygotowanego przez użytkownika Porównanie transkrypcji fonetycznych słów 139
Schemat HTK 140
Sekwencja symboli 141
Rozpoznanie pojedynczego słowa 142
Łańcuch Markowa 143
Ćwiczenie 144
Rozpoznawanie 145
Reprezentowanie mikstur 146
Reestymacja Najpierw robi się zgrubne przybliżenie wartości parametrów HMM Następnie dokładniejsze parametry można znaleźć stosując reestymację Baum-Welcha Według kryterium maksymalnego podobieństwa (maximum likelihood) 147
Algorytm Viterbiego dla rozpoznawania izolowanych słów 148
Sieć rozpoznawania dla mowy ciągłej 149
Tokeny wykrywające granice słów 150
Używanie HTK System można wykonać korzystając z tutoriala HTK Book, jednakże niektóre kroki będą inne, a niektóre można pominąć Step 7-8 Fixing the Silence Models Step 9-10 Making Triphones from Monophones Różnice i niedopatrzenia Przygotuj plik config1 i codetr.scp (config jak w tutorialu ale z SOURCEFORMAT = WAV) Utwórz katalogi hmm0, hmm1,... 151
Rzeczy o których należy pamiętać Dokumentuj używane komendy i inne czynności Dbaj o porządek w swoich plikach Nagrywaj mowę w dobrej jakości (głośno, poprawnie wymowa, jak najmniej zakłóceń i szumu, bez przesterowania) Nagrania muszą idealnie pasować do transkrypcji Niczego nie kasuj Aby otrzymać ocenę wyślij sprawozdanie, nagrania, transkrypcję i cały system 152
Modelowanie mowy Bartosz Ziółko 153
HMM 154
155
156
157
Probability density function 158
Maximum A Posteriori (MAP) Estimation Maximising the posterior pdf 159
Maximum-Likelihood (ML) Estimation Maximising the likelihood function 160
Common problems with using statistics 161
162
Klasyfikowanie i dekodowanie w ASR poza HMM Klasyfikator k-nn Artificial Neural Networks (ANN), Sztuczne sieci neuronowe Support Vector Machine (SVM), Maszyna wektorów nośnych Dynamic Bayesian Networks (DBN), Dynamiczne sieci Bayesa Graphical Model Toolkit (GMTK) Maximum Entropy Direct Model Conditional Random Fields (CRF) 163
Wartość cechy 2 (x[2]) Modyfikacja AGH klasyfikatora k-nn 1 0.8 c 1 c 2 0.6 0.4 0.2 0-0.2-0.4 x -0.6 J. Gałka -0.8 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Wartość cechy 1 (x[1]) 164
Artificial Neural Networks (ANN, NN) 165
Modelowanie czasu i kontekstu w ANN 166
Hosom, Cole, Fanty, CSLU at Oregon Institute of Science and Technology 167
168
169
EVALUATION AND INTEGRATION OF NEURAL- NETWORK TRAINING TECHNIQUES FOR CONTINUOUS DIGIT RECOGNITION J.-P. Hosom, R. A. Cole, and P. Cosi Features: 13 th -order MFCC with delta values (as in the baseline system, referred to as MFCC13D), 13 th -order MFCC with no delta values (MFCC13), 9 th -order MFCC with and without delta values (MFCC9D and MFCC9), 13 th -order and 9 th -order PLP with and without delta values (PLP13D, PLP13, PLP9D, PLP9), a combination of 13 th -order PLP and 13 th -order MFCC (PM13), a combination of 9 th -order PLP and 9 th -order MFCC (PM9). All PLP features were computed using RASTA pre-processing, and all MFCC features were computed using CMS pre-processing. Grammars: allowing optional silence between digits (SIL), allowing an optional garbage word as well as optional silence between digits (GAR). 170
Metodologia empirycznego oceniania Wyniki testów niczego nie dowodzą, mogą jedynie wskazywać itp. Konieczne jest rozdzielenie danych treningowych i testowych, aczkolwiek można crossować Prawo wielkich liczb, ale Niektóre systemy statystyczne mogą się przećwiczyć Oceniamy na raz wyłącznie jedną zmienną, reszta systemu musi być całkowicie stabilna Należy podać jak najwięcej szczegółów dotyczących danych testowych, a w miarę możliwości używać ogólnodostępnych testów Wyniki naukowe powinny być falsyfikowalne otwarcie na krytykę 171
Support Vector Machine (SVM) 172
173
Ganapathiraju, Hamaker, Picone: Applications of Support Vector Machines to Speech Recognition SVM nie może modelować wprost struktur czasowych Stosuje się rozwiązania hybrydowe SVM/HMM SVM zapewnia miarę i dyskryminant umożliwiający porównywanie klasyfikatorów Brak jasnych relacji między dystansem klastrów i prawdopodobieństw a posteriori Projektowanie klasyfikatora: jeden przeciwko wszystkim lub jeden na jeden Model segmentowy ze stałą liczbą regionów 174
Ganapathiraju, Hamaker, Picone: Applications of Support Vector Machines to Speech Recognition 175
Ganapathiraju, Hamaker, Picone: Applications of Support Vector Machines to Speech Recognition 176
Nieliniowe klasyfikacje SVM http://www.youtube.com/watch?v=3licbr ZPrZA 177
Rezultaty stosowania SVM z różnymi ustawieniami w rozpoznawaniu mowy 178
Sieć Bayesowska Skierowany acykliczny graf reprezentujący zbiór zmiennych losowych i zależności warunkowych między nimi. 183
Sieć Bayesowska 184
185
Dynamiczne sieci Bayesowskie Wyrażenie s ozna cza wystąpienia stanów koncepcyjnych z dyskretnymi wartościami opisującymi fizyczny system o wartościach ciągłych ze stanami x i obserwacjami y 186
187
HMM a DBN HMM jest podklasą DBN DBN reprezentuje wprost właściwości rozkładu na czynniki Rozkład na czynniki określony przez DBN narzuca warunki które model musi spełnić DBNy przekazują informację strukturalną o ukrytym problemie 188
Edinburgh articulatory DBN model manner, place, voicing, rounding, front-back, static 189
Graphical Model Toolkit extension of DBN Dopuszcza krawędzie ukierunkowane przeciwnie do upływu czasu Płaszczyzny sieci mogą obejmować wiele ramek czasowych Łamie założenia Markowa Mechanizm do przełączania dziedziczenia Dziedziczenie zmiennej może być wielokrotne a także ulokowane w przyszłości Dopuszcza różne wieloramkowe struktury pojawiające się zarówno na początku jak i na końcu sieci Bilmes, Bartels: Graphical Model Architecture for Speech Recognition 190
GMTK 191
Maximum Entropy Markov Model Kuo, Gao: Maximum Entropy Direct Models for Speech Recognition 192
Conditional Random Fields DBNy modelują dystrybucję prawdopodobieństw wielu zmiennych p(y,x) CRFy modelują dystrybucję prawdopodobieństw warunkowych p(y x) 193
Deep Neural Networks Zwykle więcej warstw Wysokopoziomowe cechy są definiowane w oparciu o niskopoziomowe 194
Dynamic Time Warping 195
196
197
198
Podsumowanie W ASR stosuje się rozwiązania konkurencyjne do HMM (knn, ANN, SVM, DBN, MEDM, GMTK, CRF, DNN). We wspomnianych metodach są problemy z modelowaniem czasu i kontekstu koartykulacyjnego, dlatego często stosuje się hybrydy z HMM. Metodologia testowania i oceny ASR Przeszukiwanie grafów szerokie i dogłębne 199
Metryka edycyjna Rozpoznawanie mowy ciągłej (wykorzystano materiały Dawida Skurzoka i MIT) 200
Levenshtein Distance Wolfram Mathematica Demo: Edit Distance 201
Modyfikacja metryki edycyjnej o d t a p g d i e k o n t f d u a l a m k o t a A L A 0 1 2 3 4 5 6 7 8 1 0 1 2 3 4 5 6 7 2 1 0 1 2 3 4 5 6 3 2 1 0 1 2 3 4 5 Lepsze dopasowanie niemożliwe przerwanie analizy kolejnych segmentów D. Skurzok
Modyfikacja metryki edycyjnej o d t a p g d i e k o n t f d u a l a m k o t a D O M 0 1 2 3 4 5 6 7 8 1 1 1 2 3 4 5 6 7 2 2 2 1 2 3 4 5 6 3 3 3 2 1 2 3 4 5 Przerwanie analizy
Modyfikacja metryki edycyjnej o d t a 0.5 e k o o 0.25 a l a n 0 O K O 0 1 2 3 4 1 0.5 1.5 2.5 3.5 2 1.5 0.75 1.75 2.75 3 2.5 1.75 1 1 Ilość segmentów = 3 końcowa odległość: 1 / 3 = 0.3333 Ilość segmentów = 4 końcowa odległość: 1 / 4 = 0.25
Tworzenie siatki a l a m k o t a e k o n t f d u o d t a p g d i a ala akta ola atrapa.
Tworzenie siatki a l a m k o t a e k o n t f d u o d t a p g d i dom lama koń kotdam
Tworzenie siatki a l a m k o t a e k o n t f d u o d t a p g d i a ono tak amok
Tworzenie siatki a l a m k o t a e k o n t f d u o d t a p g d i kot akta akt
Tworzenie siatki a l a m k o t a e k o n t f d u o d t a p g d i kot akta akt
Tworzenie siatki a l a m k o t a e k o n t f d u o d t a p g d i kot akta akt
Łączenie wyrazów Ala Oko dom lamo koń ono tak a auto ma nip a i u kota to kodu a
Usuwanie tych samych wyrazów dom lamo koń ono tak a auto ma nip a i ma kota to a dom lamo koń ono tak auto ma nip a i kota to a
Usuwanie tych samych wyrazów dom lamo koń ono tak auto ma nip a i kota to a dom lamo koń ono tak auto ma nip a i kota to
Usuwanie ślepych ścieżek ala dom Ono Auto oko lamo Tak Ma koń a nip a
Usuwanie ślepych ścieżek ala dom Ono Auto oko Ma koń a nip a
Wyszukiwanie najlepszych ścieżek Ala oko a dom lamo koń ono tak a auto ma nip a i u kota to kodu od ot oda a u i.
Przykład hipotezy zdania
Modified Weighted Levenshtein Distance MWLD( A, B) min{ K k 1 l nk r k ( w) K k 1 h k i( w) K k 1 g k d( w)} Substitution weight: l nk (ln( p 1 k ) ln( p nk )) Insertion weight: h k ln( p ) ins const Deletion weight: g k ln( p 1 k ) ln( p del ) 218
substitution = deletion + insertion Substitution can be replaced by insertion and deletion Sum of insertion and deletion weights have to be bigger then weight of substitution h k g k l nk 219
1 substitution and 1 deletion Segment 1 Segment 2 Segment 3 Segment 4 Segment 5 Phon. prob. Phon. prob. Phon. prob. Phon. Prob. Phon. Prob. j 0.35 e 0.35 ż 0.30 w 0.30 p 0.30 i 0.25 y 0.30 sz 0.25 y 0.25 t 0.25 e 0.15 j 0.20 ś 0.20 e 0.20 e 0.20 MWLD (ln( p k ) ln( pnk)) (ln( p1 ) ln( p 1 k del MWLD 0.18 0. 69 Substitution has low weight (0.18), because the phoneme, for which we replace, was high on the hypotheses list. Deletion weight is higher because the deleted phoneme has relativelly high probability. )) 220
Modified Weighted Levenshtein Distance 221
222
amplitude Dzielenie na słowa 1 0.8 silne 450 [ms] działanie 450 [ms] uboczne 600 [ms] 0.6 0.4 0.2 0 /s il/ /ne/ /dz'a/ /wa/ /n e/ /u/ /bo/ / tsne/ -0.2-0.4-0.6-0.8 pause 110 [ms ] -1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 time [s] 223
Rozpoznawanie mowy ciągłej 224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
Podsumowanie Metryka edycyjna (Levenshteina) Zjawisko braku ciszy między słowami Level builder Konstruowanie siatki słów Łączenie sekwencji HMMów 243
Katedra Elektroniki, Zespół Przetwarzania Sygnałów www.dsp.agh.edu.pl http://rozpoznawaniemowy.blogspot.com/ Rozpoznawanie mówcy i emocji Bartosz Ziółko Wykorzystano materiały Davida Sierry, Wojciecha Kozłowskiego i Magdaleny Igras 244
Wprowadzenie Mowa zawiera nie tylko informacje słowne o przekazywanej wiadomości Rozpoznawanie mowy Rozpoznawanie mówcy Rozpoznawanie emocji -> co? -> kto? -> jak? Mowa może być wykorzystana w systemach biometrycznych 245
Rozpoznawanie mówcy 246
Architektura systemów automatycznego rozpoznawania mówcy 247
Ogólny podział systemów automatycznego rozpoznawania mówców 248
Weryfikacja a identyfikacja Źródło: www.zamelcet.com WERYFIKACJA IDENTYFIKACJA Źródło: PAP 249
Opis jakości systemu stopień rozpoznania 250
Zastosowania Biometryczne systemy bezpieczeństwa Zalety w porównaniu do innych systemów Nieskończona ilość materiału do analizy (więcej nagrań większa dokładność) Wymagany jedynie tani sprzęt Niewymagana obecność (zdalne rozpoznanie) Bezpieczeństwo
Zastosowania 252
Zastosowania Biometryczne systemy bezpieczeństwa Oczekiwany wzrost zainteresowania systemami rozpoznawani mówcy w porównaniu do innych systemów biometrycznych
Zastosowania Biometryczne systemy bezpieczeństwa Przez telefon Transakcje bankowe» Zmniejszenie strat powiązanych z defraudacjami» Zmniejszenie kosztów prewencji defraudacji» Zwiększenie przychodu w związku ze wzrostem satysfakcji klientów Poczta głosowa Zakupy przez telefon Głosowe interaktywne systemy odpowiadające
Zastosowania Biometryczne systemy bezpieczeństwa Defraudacje związane z podszywaniem się Jedynie w 2006 roku, 8,9 milliona dorosłych obywateli US było ofiarami podszywania się 1,3 miliarda funtów strat rocznie w Zjednoczonym Królestwie Przychód z systemów biometrycznych
Zastosowania systemy bezpieczeństwa Fizyczny dostęp (klucz) VADC (Voice Activated Device Control) Bankomaty bez kart
Zastosowania systemy bezpieczeństwa - Dostęp do komputerów i sieci 257
Zastosowania systemy bezpieczeństwa Odzyskiwanie hasła przez telefon 30 do 40 % telefonów do obsługi klienta to problemy z hasłem Telephony system SR USER Password Reset Authentication centre Target system
Zastosowanie Monitoring Kontrola zdalnej pracy i obecności pracowników Weryfikacja zwolnień warunkowych i aresztów domowych Gmina Iberville w LA (US) używa identyfikacji mówcy przez telefon dla osób objętych opieką kuratora Przed automatyzacją -> 1400 $/dziecko Po -> 193 $/dziecko Użycie telefonów więziennych
Zastosowania Wsparcie służb W kryminalistyce Rozpoznawanie mówców na żywo w identyfikacji osób dzwoniących Śledzenie mówcy, wykrywanie i nadzór Analiza mowy syntezowanej i modulowanej Cechy głosu są trudniejsze do ukrycia niż twarz
Zastosowania Rozpoznawanie mowy i mówcy Ulepszenie systemów bezpieczeństwa Transkrybowanie wielu mówców na raz w konwersacji - Rozprawy sądowe, parlamenty i inne transkrypcje spotkań
Zastosowania NIST www.nist.gov Korpusy do oceny systemów rozpoznawania mówcy www.speechtechmag.com Departament Sprawiedliwości US The European CAller VErification Project www.kpntelecom.nl/cave/ Voicetrust www.voicetrust.com PerSay Voice Biometrics ww.persay.com International Biometric Group, New York Mało ale dużych użytkowników (korporacje i instytucje rządowe) => wysokie ceny
Klasyfikacja Zamknięty/ otwarty-zbiór Narzucone błędne rozpoznanie Baza danych?? Baza danych nie pasuje do żadnego System z zamkniętym zbiorem Poza bazą danych Weryfikacja / Identyfikacja?? System ze zbiorem otwartym Tak Nowak? Mówca N Nie Baza danych Baza danych Zależne (stałe lub zmienne) lub niezależne od tekstu Cechy niskiego poziomu (akustyczne) lub wysokiego (lingwistyczne, dialektowe, społeczne, itd.)
Poziomy rozpoznawania mówcy Cechy wysokiego poziomu (nieakustyczne) Semantyka, dykcja, wymowa Status społecznofinansowy, edukacja, miejsce urodzin Trudna ekstrakcja Prozodia, rytm, tempo intonacji, modulacja głośności Typ osobowości, wpływ rodziców Cechy niskiego poziomu (fizyczne) Akustyczne aspekty mowy Anatomiczna struktura narządów mowy Łatwa ekstrakcja
Przygotowywanie systemu 265
Rozpoznawanie 266
System weryfikacji mówcy Microphone or Telephone Claimed identity YES Filtering & A/D Digital Speech Feature extraction Feature Vectors Pattern matching Match scores Decision NO Verified identity Enrollment Speaker models
System identyfikacji mówcy 268
2.5 2 1.5 1 0.5 0-0.5-1 -1.5-2 0 20 40 60 80 100 120 140 160 180 200-2.5 Pobieranie danych Ściana Zmienność kanału pomiędzy nagraniami Zmiana głosu mówcy wraz z czasem A/D Kanał Źródło szumu Wpływ innych rozmów, przepięcia, inne zakłócenie sprzętowe Niska rozdzielcz ość, np. GSM
Ekstrakcja cech Celem jest wydzielenie, najważniejszych, charakterystycznych informacji z sygnału Różne metody: LPC Cepstrum MFCC DWT
Dopasowywanie wzorców Modele z wzorcami DTW VQ Source Modelling knn Modele stochastyczne HMM + GMM Sieci neuronowe (NN) Maszyna wektorów nośnych (SVM)
Klasy (dźwięczna\bezdźwięczna) 272
Klasy (dźwięczna\bezdźwięczna) Cztery 273
Klasy (dźwięczna\bezdźwięczna) 274
Decyzje Bez modelu tła Porównanie do średniej pozostałych hipotez 275
Decyzje 276
Przykład podejmowania decyzji system AGH Średnia prawdopodobieństw hipotez 2-5 to około 0.14 0.52 >> 0.14 => Decyzja może być podjęta mówcą jest Andrzej Jajszczyk 277
Decyzje Uniwersalne modele tła (UBM) Model dla odrzucanych i niezidentyfikowanych rozpoznań 278
Testowanie Krzywa DET (detection error trade-off) Zaakceptowany właściwy mówca Odrzucony właściwy mówca Zaakceptowany błędny mówca Odrzucony błędny mówca 279
Analiza możliwych wersji systemu Przypadek projektowania systemu identyfikacji mówcy jako pracy magisterskiej (David Sierra) CMN - Cepstral mean normalisation 280
Typy cech akustycznych 281
Liczba stanów w HMM 282
Liczba mikstur w GMM 283
Optymalna wersja systemu w warunkach projektowych System został wykonany i wówczas może być testowany (w tym przypadku w warunkach otwartego zbioru) co powinno być wykonane na innych danych 284
Eksperymenty z różnymi systemami podejmowania decyzji SNR- Signal to Noise Ratio RAPT - Robust Algorithm for Pitch Tracking 285
Wyniki testów systemów decyzyjnych 286
Eksperymenty stosowania uniwersalnych modeli tła 287
Rezultaty stosowania uniwersalnych modeli tła 288
Eksperymenty z ilością materiału przygotowawczego (Angielski TIMIT) 289
Eksperymenty z ilością materiału przygotowawczego (CORPORA) 290
Eksperymenty z ilością materiału przygotowawczego (CORPORA) 291
Skuteczność w zależności od szumu 292
Skuteczność w zależności od liczby mówców 293
Standardy, testy i certyfikaty Systemy rozpoznawania mówców są w dużej mierze wykorzystywane przez służby mundurowe, specjalne i sądownictwo Duży nacisk na wykazanie ich skuteczności Niezależne instytucje (firmy i uniwersytety) przeprowadzają testy i wydają certyfikaty skuteczności Nawet z certyfikatami, skazywanie na podstawie dowodów w postaci analizy systemu rozpoznawania mówcy może być kwestionowane Problemy z nienadążaniem prawa za rozwojem informatyki 294
Podsumowanie Architektura systemu rozpoznawania mówcy Podział systemów rozpoznawania mówcy Przykładowe zastosowania Dźwięczność i bezdźwięczność mowy (sposoby analizy) Prawdopodobieństwo a podejmowanie decyzji w systemach rozpoznawania mówcy Universal background model Metodologia projektowania, testowania i wykazywania skuteczności 295
296
Rozpoznawanie emocji 297
Klasyfikacja emocji 298
Analiza głosu 299
Kismet emotional robot 300
Geminoid 301
Geminoid 302
Geminoid 303
Syntaktyczne modelowanie języka Bartosz Ziółko Wykorzystano materiały Dawida Skurzoka, MIT i Wikipedii 304
Gramatyka/ modelowanie syntaktyczne Parsery Analizatory morfologiczne / POS tagery n-grams Wygładzanie modeli Filtry Blooma 305
Nadmiarowość w językach Konieczna z tego samego powodu co w kodach transmisyjnych Prawdopodobnie stopień nadmiarowości zależy od warunków geograficznych Demo z Mathematica (RedundancyInWrittenLanguage) 306
Powody modelowania syntaktycznego Niektóre zdania mogą brzmieć bardzo podobnie: I helped Apple wreck a nice beach. I helped Apple recognise speech. W języku polskim nawet identycznie: może / morze 307
Noam Chomsky Gramatyka formalna składa się z: skończonego zbioru symboli końcowych skończonego zbioru symboli niekońcowych skończonego zbioru reguł produkcji na lewo i prawo składających się z sekwencji tych symboli symbol startowy 308
Hierarchia Chomskiego 309
MIT Regina Barzilay Michael Collins N = noun, V = verb, D = determiner 310
311
312
313
Disambiguity in parsing 314
Analizator morfologiczny / POS tager Proces zaznaczania słów w tekście jako odpowiadających szczególnym częściom mowy, oparty zarówno na ich definicjach, jak i ich kontekstach. 315
Sekwencje słów są przewidywalne Mathematica demo: Nonsense sentence generator 316
1-gramy słów (wybrane korpusy) 1) się 1 780 825 (2,6%) 2) i 1 632 596 (2,4%) 3) w 1 569 027 (2,3%) 4) nie 1 445 832 (2,1%) 5) na 1 283 268 (1,9%) 6) z 1 116 819 (1,6 %) 7) do 816 874 (1,2 %) 8) to 801 472 (1,2 %) 9) że 760 078 10) a 479 713 11) o 396 011 12) jak 368 386 13) ale 343 482 14) po 330 381 15) co 329 270 16) jest 302 011 17) tak 279 877 18) za 263 700 19) od 225 843 20) jego 219 587 21) go 217 036 22) już 201 735 23) tym 199 894 24) czy 196 565 317
2-gramy słów (wybrane korpusy) 1) się w 116 446 (0,17%) 2) się na 93 751 (0,14%) 3) się z 83 610 (0,12%) 4) się do 83 524 (0,12%) 5) się że 57 126 (0,08%) 6) że nie 50 222 (0,07%) 7) w tym 48 035 (0,07%) 8) nie ma 43 633 (0,06%) 9) o tym 42 041 (0,06%) 10) to nie 39 087 11) się i 38 772 12) się nie 38 622 13) i nie 38 177 14) ale nie 35 241 15) na to 34 259 16) że to 34 171 17) mi się 33 441 19) nie jest 31 615 20) a potem 31 196 21) nigdy nie 31 082 22) mu się 27 209 23) po prostu 26 047 24) w tej 25 461 25) to co 24 661 26) w końcu 23 863 18) nie było 3168227) co się 23 762 318
3-gramy słów (wybrane korpusy) 1) w ten sposób 10 119 (0,015%) 2) na to że 8 619 (0,012%) 3) w tej chwili 8 121 (0,012%) 4) w każdym razie 7 587 (0,011%) 5) po raz pierwszy 7 266 (0,010%) 6) mi się że 6 395 (0,009%) 7) sobie sprawę że 5 514 (0,008%) 8) mam nadzieję że 5 499 (0,008%) 9) w takim razie 5 462 (0,008%) 10) zwrócił się do 5 349 11) wydaje mi się 4 855 12) od czasu do 4 742 13) się z nim 4 609 14) to nie jest 4 538 15) czasu do czasu 4 470 16) w tym momencie 4 455 17) po drugiej stronie 4 445 18) w ogóle nie 4 309 319
Naprawianie n-gram 320
Zastosowanie n-gramów N-gramy są najpopularniejszym sposobem modelowania języka w rozpoznawaniu mowy: Z powodów obliczeniowych, zależność jest ograniczana do n słów wstecz. Prawdopodobnie najpopularniejszym jest model trigramowy ponieważ zależność od dwóch poprzednich słów jest bardzo silna, podczas gdy komplikacja modelu jest dość mała a zapotrzebowanie na statystyki realizowalne. 321
Siatka słów prezydent wejście strefy rezydent aportuje dwieście to do o trafi szelkę prezydium aprobuje nieście stepy szogun operuje dom schengen 322
Siatka słów z zaznaczonym prawidłowym zdaniem prezydent wejście strefy rezydent prezydium aportuje aprobuje dwieście nieście to do o trafi stepy szelkę szogun operuje dom schengen 323
Podkreślmy szczególnie prawdopodobne 1- i 2-gramy prezydent wejście strefy rezydent aportuje dwieście to trafi szelkę prezydium aprobuje nieście do o stepy szogun operuje dom schengen 324
Ponownie nałóżmy poprawne zdanie prezydent wejście strefy rezydent aportuje dwieście to o trafi szelkę prezydium aprobuje nieście do stepy szogun operuje dom schengen 325
Usuńmy mało prawdopodobne 2-gramy prezydent wejście strefy rezydent prezydium aportuje aprobuje dwieście nieście do to o trafi stepy szelkę szogun schengen operuje dom 326
i nałóżmy zdanie prezydent wejście strefy rezydent prezydium aportuje aprobuje dwieście nieście do to o trafi stepy szelkę szogun operuje dom schengen 327
Zbiory tekstów języka polskiego Źródło MBajty Mil. słów Różnych słów Różnych dwójek Różnych trójek Rzeczpospolita 879 104 856 349 18 115 373 43 414 592 Wikipedia 754 97 2 623 358 31 139 080 61 865 543 Literatura 490 68 1 151 043 23 830 490 50 794 854 Transkrypcje 325 32 381 166 6 848 729 16 283 781 Literatura 2 6500 949 6 162 530 153 152 158 441 284 743 Literatura 3 285 181 1 229 331 36 297 382 93 751 340 W Literatura 2 : Słowa występujące więcej niż 10 razy to 951 844 Dwójki słów występujące więcej niż 10 razy to 6 426 198 Trójki słów występujące więcej niż 10 razy to 5 166 537 328
Problemy z n-gramami - Różne pisowanie (np. u - ó), - błędne formaty, - sprawdzanie ze słownikiem, np. myspell?,
Histogram n-gramów 330
Przykład wyliczeń modelu n-gramowego 331
Przykład wyliczeń modelu n-gramowego \begin{equation} E(s,h)=\frac{N(s,h)}{N(h)} \;, \end{equation} 332
Przykład wyliczeń modelu n-gramowego 333
Przykład wyliczeń modelu n-gramowego 334
Algorytm Dijkstry 335
Przykład wyliczeń modelu n-gramowego Licząc ścieżkę nie sumujemy dystansów tak jak w telekomunikacji, a mnożymy prawdopodobieństwa (ze względu na regułę Bayesa) lub sumujemy logarytmy! 336
Wyszukiwanie najlepszych ścieżek z użyciem 3-gramów. Ala ale ma ładnego kota. Złamała łapie keta Ala ma ładnego kota
Klasyczny algorytm Dijkstry (bigramy) koszt = 0.1 koszt = 1. Ala 0.1 ale 1 Złamała 1 ma 0.2 ładnego 0.3 łapie 1.2 kota 0.4 keta 1.3. 0.5
Zipf Law Demo Mathematica 339
Back-off 340 0 ), ( ) ( ) ( 0 ), ( ) ( ) ( w h N if h w h w h N if h w h w p N liczba zliczeń słowa z danych statystycznych β bardziej ogólna dystrybucja niż α - czynnik normalizacyjny zapewniający spełnianie przez p(w h) aksjomatu sumowania do jedności, określony jednoznacznie przez α i β: 0 ), ( : 0 ), ( : ˆ) ( ) ( 1 ) ( w h w N w h w N h w h w h jest 3-gramem a jest 2-gramem
Metoda Floor ( w h) N( w, h) ( w N h) N liczba słów w danych statystycznych - parametr, często równy liczbie słów w słowniku Metoda przeszacowuje prawdopodobieństwa wydarzeń z małą liczbą zliczeń. 341
Przykład ciemny zielony materiał 3-gram C = 0 ciemny zielony 2-gram C > 0 zielony materiał 2-gram C > 0 => wygładzony model ciemny zielony materiał P > 0 ufortyfikowany zamek nierdzewny 3-gram C = 0 ufortyfikowany zamek 2-gram C > 0 zamek nierdzewny 2-gram C > 0 => wygładzony model ufortyfikowany zamek nierdzewny P > 0 342
Wygładzanie modeli statystycznych Statystyki wyliczone ze zbiorów danych, opisują ściśle, rzecz biorąc te zbiory a nie rzeczywistość, jak na przykład język jako całokształt. Z tego powodu model n-gramowy można wygładzić w celu uzyskania większej efektywności poprzez zmniejszenie zależności od specyfiki wykorzystanych zbiorów. 343
Przykład wygładzania modelu n- gramowego Add-one 344
Przykład wygładzania modelu n- gramowego Add-one 345
Model interpretacji liniowej z parametrem interpolacyjnym Zdefiniujmy parametr N gdzie 0 1, Wówczas otrzymujemy równanie interpolacyjne Jelinka N( w, h) ( w h) (1 ) ( w hˆ) N Małe zliczenia nie są aż tak bardzo podbijane dzięki interpolacji. 346
Wygładzanie Katz a Katz wprowadził ogólną funkcję dyskontującą d : w d( w) i zależną od niej dyskontowaną masę prawdopodobieństwa Q[ d] 1 N W w 1 d( w) Równanie wygładzające wygląda N( w, h) d( w) ( w h) Q[ d] ( w h) N 347
Rozkład brzegowy n i = P(X = i). n i = P(X = i,y = j). j Rozkład brzegowy podzbioru zmiennych losowych jest rozkładem prawdopodobieństw zmiennych zawartych w tym podzbiorze. 348
Przykład wyliczania rozkładu brzegowego Prawdopodobieństwo bycia potrąconym pod warunkiem określonego światła p(w S), gdzie W oznacza wypadek, a S oznacza typ światła na sygnalizatorze. 349
Przykład wyliczania rozkładu brzegowego 350
Wygładzanie Kneser-Ney z rozkładem brzegowym jako ograniczeniem W metodzie Katza, całkowita zniżka powoduje, że N( w, h) d( w) ( w h) gdzie 0 d 1 N Zdefiniujmy Maximum Likelihood Estimation (MLE) dla rozkładu brzegowego N( w, hˆ) N( hˆ, g) p( w hˆ) i p( g hˆ) N N gdzie połączona liczba wystąpień N ( hˆ, g) jest równa N(g) jeśli hˆ gˆ i 0 w przeciwnym przypadku. Wówczas ( w hˆ) v N( w, hˆ) [ N( hˆ, v) g: gˆ hˆ, N ( g, w) 0 [ N( g, w) d] g: gˆ hˆ, N ( g, v) 0 [ N( g, v) d]] 351
Leaving-one-out (również Kneser-Ney) Przygotowujemy model korzystając z danych, tak jakby nie zawierały konkretnego zdarzenia, które wystąpiło tylko raz. W przypadku n-gramów, wyliczamy model, pomijając na przykład jeden trigram, który wystąpił w zbiorach tekstów tylko raz. Następnie wykorzystujemy model, aby estymować prawdopodobieństwo usuniętego zdarzenia. Procedurę powtarzamy wielokrotnie używając rożnych trigramów. Suma logarytmów wszystkich wyliczonych w ten sposób prawdopodobieństw daje nam logarytm podobieństwa leaving-one-out, który następnie służy jak kryterium optymalizacji F ( g, v): N ( g, v) 1 ln[ ( g) ( v gˆ)] const({ ( v gˆ)}). 352
Trigramy z Dijkstry Koszt dotarcia do poprzedniego węzła z punku widzenia wyróżnionego węzła Ala 0.1 ale 1 ma ładnego łapie Koszt dotarcia do danego węzła w zależności od następnego węzła następny koszt ładnego 0.2 łapie 1.1
Wyróżnione trigramy. Ala ma Ala ma ładnego ma ładnego kota koszt = 0.1 ładnego kota.. Ala ma ładnego kota. koszt = 0.4
Wyszukiwanie najlepszych ścieżek. Ala ładnego ma 3-gram koszt. Ala ma 0.1. Ala ładnego 1 następny poprzedni koszt ładnego. 1 ma. 0.1
Wyszukiwanie najlepszych ścieżek 3-gram koszt. ale ma. ale ma 1 następny poprzedni ma. 1 koszt
Wyszukiwanie najlepszych ścieżek Ala 0.1 ale 1 ma ładnego łapie 3-gram koszt Ala ma ładnego 0.1 ale ma ładnego 0.1 Ala ma łapie 1 ale ma łapie 1 następny poprzedni koszt ładnego łapie Ala 0.1+0.1 = 0.2 ale 1 + 0.1 = 1.1 Ala 0.1 + 1 = 1.1 ale 1 + 1 = 2
Wyszukiwanie najlepszych ścieżek Ala ma 1 0.2 Złamała 1 kota ładnego keta następny poprzedni koszt Ala 1 + 1 = 2 kota ma 0.2 + 0.1 = 0.3 Złamała 1 + 1 = 2 Ala 1 + 1 = 2 keta ma 1 + 1 = 2 Złamała 1 + 1 = 2 3-gram koszt Ala ładnego kota 1 Ala ładnego keta 1 ma ładnego kota 0.1 ma ładnego keta 1 Złamała ładnego kota 1 Złamałą ładnego keta 1
Wyszukiwanie najlepszych ścieżek ładnego łapie 0.3 2 kota. 3-gram koszt ładnego kota. 0.1 łapie kota. 1 następny poprzedni koszt ładnego 0.3 + 0.1 = 0.4. łapie 2 + 1 = 3 dodajemy koszt bigramów dla kropki
Wyszukiwanie najlepszych ścieżek. Ala ale ma ładnego kota. Złamała łapie keta 10 węzłów 17 krawędzi 26 możliwych 3-gramów
Rzeczywisty przypadek
Funkcja haszująca Funkcja haszująca jest każdą, dobrze definiowaną procedurą lub funkcją matematyczną, która zamienia dużą ilość danych, które mogą mieć niestałą długość, na małą reprezentację, często w postaci jednego integera, który może służyć na przykład za indeks. 362
Filtr Blooma 363
Podsumowanie Hierarchia Chomskyego Parser Tagger N-gram model Stosowanie n-gramów Algorytm Dijkstry Właściwości n-gramów (Zipf, histogram, konieczność wygładzania) Filtr Blooma 364
www.dsp.agh.edu.pl http://rozpoznawaniemowy.blogspot.com/ Technologie Mowy Modele semantyczne i ontologie Bartosz Ziółko Wykorzystano materiały MIT, Li Fei-Fei, Aleksandra Pohla, Jana Wicijowskiego, Mariusza Mąsiora i Wikipedię 365
Rule-to-rule Bag-of-words Latent Semantic Analysis Wordnet CYC 366
Rule-to-Rule Semantic interpretation [aka syntax directed translation ]: pair syntax, semantic rules. Generalised Phrase Structure Grammars (GPSG): pair each context free rule with semantic action ; as in compiler theory due to Knuth, 1968 367
Meanings by compositionality Robert Berwick (MIT) 368
But there are exceptions 369
Exceptions - Business class Airlines Business class is luxury, not much to do with making a good business; Hotels - business class is a hotel, where you rent a room if you go in business. It is clean and has all useful things but small and nothing to do with luxury. Copyright Singapore Airlines 370
Human-like and computer-like analysis of expressions Kirk: Spock, are there any Romulans in Sector 6471? Spock: None, captain. Kirk: Are you certain, Spock? Spock: A 100% probability, Captain [camera rolls] Kirk: Damn your Vulcan ears, Spock, I thought you said there were no Romulans in sector 6471! Spock: But there is no sector 6471 Logic dictates 371
Bag-of-words Semantics of NL sentences and phrases can be composed from the semantics of their subparts (for example words) Principle of Compositionality. 372
Bag-of-words by Li Fei-Fei (Princeton) 373
Bag-of-words by Li Fei-Fei (Princeton) 374
Bag-of-words by Li Fei-Fei (Princeton) 375
Bag-of-words by Li Fei-Fei (Princeton) 376
Bag-of-words by Li Fei-Fei (Princeton) 377
Bag-of-words by Li Fei-Fei (Princeton) 378
379
Vector space model Jan Wicijowski.xml 380
topics Applying Semantic Model to Recognition words word-topic matrix hypothesis vector similarities vector Jan Wicijowski Języki torricelli 1.85172 Język vanimo 0.64407 Język sahu 0.56976 Język wiaki 0.56976 Język yapunda 0.56976 Chesterfield F.C. 0.24345 Andrew Latimer 0.21302 Parnassius hunza 0.21115 Tom Smith 0.17938 Mononukleotyd 0.17189 flawinowy 381
Latent Semantic Analysis (LSA) A row in this matrix will be a vector corresponding to a term, giving its relation to each document, a column in this matrix will be a vector corresponding to a document, giving its relation to each term. The dot product between two term vectors gives the correlation between the terms over the documents. 382
Latent Semantic Analysis (LSA) 383
Latent Semantic Analysis (LSA) 384
Bag-of-words with graphs Big John has a house. Big John has a black, aggressive cat. The black aggressive cat has a small mouse. The small mouse is a mammal. 385
TFIDF (Term Frequency - Inverse Document Frequency) TFIDF i,j = ( N i,j / N *,j ) * log( D / D i ) where N i,j = the number of times word i appears in document j (the original cell count). N *,j = the number of total words in document j (just add the counts in column j). D = the number of documents (the number of columns). D i = the number of documents in which word i appears (the number of non-zero columns in row i). 386
LSA tutorial http://www.puffinwarellc.com/index.php/ne ws-and-articles/articles/33.html?start=1 387
Semantyczne zasoby dla języka polskiego Słowosieć http://plwordnet.pwr.wroc.pl/browser/ Wikipedia and DBPedia http://dbpedia.org/ Synonims in OpenOffice http://synonimy.ux.pl/ Wielki Słownik Języka Polskiego http://www.wsjp.pl/ Słownik Języka Polskiego http://sjp.pl/ 388
Słowosieć Elektronika jest typem sprzętu Elektronika jest typem nauki matematycznoprzyrodniczej i nauki ścisłej 389
Słowosieć Automatyka Informatyka Mechanika Inżynieria 390
Konstruowanie Słowosieci 391
Ontologie Slajdy Aleksandra Pohla Po co nam to wszystko? 392
393
Ontologie RDFS Resource Description Framework Schema 394
Ontologie 395
Ontologie 396
Ontologie 397
Ontologie 398
Ontologie 399
Definicje ontologii w filozofii i informatyce Ontologia (filozofia): Termin wywodzący się z greckiego słowa oznaczającego byt, ale ukuty w XVII w. na oznaczenie gałęzi metafizyki zajmującej się tym co istnieje. Ontologia (informatyka): Oksfordzki Słownik Filozoficzny Formalna specyfikacja konceptualizacji wybranej dziedziny wiedzy. Tom Gruber
Ogólna charakterystyka ontologii Elementy definicyjne: formalna specyfikacja: CycL, FLogic, KIF, LOOM, OCML,OWL, RDF......konceptualizacji: indywidua, pojęcia, własności, relacje, funkcje, procesy......wybranej dziedziny wiedzy: ontologie ogólne ontologie dziedzinowe
Cyc jako przykład ontologii ogólnej Cyc produkt Cycorp Rozpoczęcie prac: 1984 www.cyc.com Największa znana ontologia: 300 tyś. pojęć 26 tyś. predykatów 3 miliony asercji 3 wersje: komercyjna, rozwojowa, otwarta Zaawansowany silnik inferencyjny Leksykon dla języka angielskiego
CycL język ontologii CycL: nadbudowany nad rachunkiem predykatów 2-rzędu teoria mnogości ZF asercje na meta-poziomie operatory modalne 2 poziomy języka epistemologiczny heurystyczny (SubL dialekt Lispa)
Struktura wiedzy 1. Pojęcia podstawowe #$Thing korzeń ontologii #$Collection kolekcja wszystkich kolekcji #$Individual kolekcja wszystkich indywiduów #$genls relacja generalizacji #$isa relacja należenia do kolekcji
Struktura wiedzy 2. Kolekcje i indywidua Kolekcje 1-ego rzędu: #$Intangible,#$PartiallyTangilbe, #$TemporalThing, #$SpatialThing Kolekcje 2-ego rzędu: #$TemporalStuffType, #$TemporalObjectType, #$ExistingStuffType, #$ExistingObjectType
Struktura wiedzy 3. Predykaty arność typ argumentów format argumentów relacja genlpreds przykład (#$coloroftype, #$conceptuallyrelated) Funkcje pozwalają unikać reifikacji przykład (#$CapitalFn COUNTRY)
Mikroteorie 3 miliony asercji! Trudność spełnienia wymogu globalnej niesprzeczności Podział wiedzy na mniejsze jednostki mikroteorie predykat #$genlmt #$BaseKB korzeń drzewa mikroteorii #$EverythingPSC suma wszystkich mikroteorii
Leksykon Mapowanie pomiędzy pojęciami (#$Dog) a słowami języków naturalnych ( dog ) Symboliczna reprezentacja słów (X-TheWord) Predykat denotacji (#$denotation WORD POS N DENOTATION) Bank(1) (#$denotation #$Bank-TheWord #$CountNoun 0 #$Bank-Topographical) Bank(2) (#$denotation #$Bank-TheWord #$CountNoun 1 #$BankOrganization)
Architektura Cyc Cycorp
Architektura Cyc Baza wiedzy Świat Wyciąg operacji, serwer operacji Partycje wiedzy Silnik inferencyjny Interfejs użytkownika API Narzędzie integracji źródeł wiedzy
Organizacja danych Świat - obraz pamięci działającej ontologii zapisany w formacie CFASL może być załadowany z powrotem bez sprawdzania integralności danych Wyciąg operacji zestaw operacji wykonywanych przez użytkownika w czasie pracy z systemem Serwer operacji pośredniczy w wymianie informacji pomiędzy sesjami różnych użytkowników Partycja wiedzy fragment Świata
Interfejs użytkownika
Interfejs użytkownika Interfejs webowy pozwala przeglądać ontologią, wprowadzać nowe fakty, zadawać pytania, etc. (HTML + CGI) Edytor faktów (Fact Editor) pozwala wprowadzać fakty osobom, które nie są zaznajomione ze strukturą ontologii (Java) Biblioteka zapytań (Query Library) pozwala tworzyć zapytania i je wykonywać. Wykorzystuje mechanizmy NLP (Java).
Komunikacja ze światem zewnętrznym API: SubL: protokoły ASCII oraz CFASL przez TCP/IP, brak wsparcia dla wywołań zwrotnych Java: nadbudowany nad SubL, zapewnia łatwą integrację z systemami napisanymi w Javie, wspiera wywołania zwrotne Wspierane języki RW: CycML, DAML, OWL SKSI: narzędzie pozwalające na integrację z bazami danych i stronami internetowymi
Zastosowania Cyc
Zastosowania Cyc - aktualne Integracja baz danych Integracja baz wiedzy Inteligentne wyszukiwanie informacji: na podstawie krótkich opisów (np. zdjęcia) na stronach WWW Rozproszona AI Przetwarzanie języka naturalnego
Zastosowania Cyc - potencjalne Automatyczne pośrednictwo w sprzedaży dóbr Tworzenie inteligentnych interfejsów Tłumaczenie maszynowe wysokiej jakości Rozpoznawanie mowy wspomagane wiedzą Zaawansowane modelowania zachowań użytkowników Semantyczny data-mining Wsparcie dla e-biznesu
Bazy danych Wymagania: zmapowanie tabel i ich atrybutów na pojęcia występujące w Cyc. Rezultat: Możliwość wykrycia anomalnych danych poprzez ich analizę z wykorzystaniem wiedzy zdroworozsądkowej. Integracja wiedzy występującej w wielu bazach danych: wykrycie danych sprzecznych generowanie zapytań obejmujących wiele baz danych
CYC 419
CYC 420
Przykład CYC 421
Wyszukiwanie informacji 1. Założenia: baza danych/wiedzy obejmująca tysiące lub setki tysięcy danych niepodlegających analizie tekstowej, zawierających krótkie opisy (np. zdjęcia, filmy, abstrakty) Rezultat: możliwość inteligentnego wyszukiwania informacji znacznie wykraczającego poza zwykłe mechanizmy dopasowania/zastępowania synonimami.
Wyszukiwanie informacji 2. Założenie: dziedzinowe bazy wiedzy dostępne przez WWW, implementujące protokół komunikacyjny Cyc Rezultat: możliwość zaawansowanego wyszukiwania wszelkich informacji dostępnych w dziedzinowych bazach wiedzy (dla użytkownika końcowego wygląda to tak, jakby cała wiedza znajdowała się w Cyc).
Problemy ze stosowaniem ontologii Ogromne koszty Wiedza zmienia się z czasem Ontologie zawierają ograniczoną wiedzę Mogą być błędy wynikające z automatycznej ekstrakcji faktów z tekstów Ale Watson wygrał w Va Banque z mistrzami 424
Watson gra z mistrzami w Va Banque 425
Przetwarzanie języka naturalnego Precyzyjne przetwarzanie języka naturalnego wymaga często posiadania wiedzy zdroworozsądkowej: I saw clouds flying over Zurich. Widziałem chmury lecące nad Zurychem. I saw buildings flying over Zurich. Widziałem domy lecąc nad Zurychem.
Linked Data 427
Podsumowanie Zasada kompozycyjności (fioletowa krowa) Koncepcja modelu bag-of-words Podstawy LSA Orientacja w zagadnieniach związanych z korpusami mowy i tekstów (jak się je robi, ocenia ich jakość, wielkość itp.) Implementacje słowników (tekst, SQL, FSA) Słowosieć (koniecznie sprawdzić stronę) Czym jest ontologia, czyli jak dodać Mruczka do Facebooka 428
www.dsp.agh.edu.pl http://rozpoznawaniemowy.blogspot.com/ Technologie Mowy Interfejs głosowy, systemy dialogowe Bartosz Ziółko Wykorzystano materiały Aleksandra Pohla, MIT, Stanusch Technologies i AIML 429
Interfejs głosowy 430
Początki komunikacji człowiek - komputer 431
Kilka zasad dobrego interfejsu Szybkość vs potwierdzanie komend Syndrom bankomatu Rozumienie potrzeb i możliwości użytkownika (rozpoznawanie vs przypominanie) Ilość dźwięków w interfejsie Szkocka winda Standaryzacja (dlaczego McDonalds odniosło sukces) Jasna i łatwo powtarzalna nawigacja Problem zniecierpliwienia (10 sekund) 432
Interfejs głosowy vs ekrany dotykowe Według Microsoftu ekrany dotykowe będą przyszłością komunikacji człowiek komputer. Na razie bez znaczących sukcesów komercyjnych, poza urządzeniami mobilnymi. 433
Obecne zastosowania ekranów dotykowych 434
Przyszłość, już teraz tylko nikt jej nie chce * * (poza Billem Gatesem) Microsoft Surface - a new $10,000 touchscreen table. 435
Problemy z ekranami dotykowymi Touch Table Microsoftu miał być przełomem w sprzęcie korporacyjnym. Sprzedano jednak bardzo niewielką ilość. - Za bardzo nastawiony na pracę zespołową (?), - zbyt rewolucyjny pod kątem ergonomicznym nie tylko usunięcie klawiatury, ale także patrzenie na ekran w dół (?). 436
Kto to? 437
HAL 9000 Odyseja kosmiczna 438
Systemy dialogowe Najbardziej naturalny sposób komunikacji dla człowieka Atrakcyjny Prosty dla nieprzeszkolonych osób Sprzyja miniaturyzacji 439
Wirtualni doradcy Symulacja osobowości Mowa ciała Zaskakiwanie Synteza mowy Planowane ASR 440
Wirtualni doradcy WD: Witaj w centrum obsługi technicznej naszej telewizji. Nazywam się Jerzy i postaram się rozwiązać Twoje problemy. Bedzie nam łatwiej jeżeli będę się do Ciebie zwracać po imieniu. Powiedz mi jak masz na imię? Użytkownik: Ewa WD: Witaj Ewo. Jaki masz problem. Użytkownik: Nie ma obrazu. WD: Czy telewizor jest włączony i czy świeci się kontrolka jego włączenia? Użytkownik: Tak WD: Czy dekoder telewizji jest włączony? Użytkownik: Tak WD: Czy telewizor jest ustawiony na kanał na którym odbierasz programy satelitarne? Użytkownik: Tak WD: Podejdź do telewizora i sprawdź czy kable łączące telewizor i odbiornik telewizji satelitarnej nie poluzowały się. Użytkownik: Zadziałało! Jest obraz. Dziękuje bardzo. WD: Bardzo proszę. Czy mogę jeszcze w czymś pomóc? 441
Standard dialogue in a computer game 442
443
444
Rozumienie języka ludzi przez komputery Masz długopis? => proszę podaj mi swój długopis, jeśli masz takowy Każdy rolnik, który ma owce, lubi je. Po zebraniu makulatury, sprzedaliśmy ją razem z panią. Kasia to moja siostra cioteczna, Jurek też. 445
Dialogue System Architecture MIT Regina Barzilay 446
447
Example 448
449
450
Surface form is a weak predictor 451
452
Hidden Markov Model for Dialogue Acts Interpretation 453
HMMs for dialogue acts interpretation 454
455
How to Generate This Semantics 456
Natural language generation 457
States in the dialogue system 458
States in the dialogue system greet=0 if user has to be greeted, 1 otherwise attr represents attribute being queried; 1/2/3 =activity/location/time, 4 = done with attributes conf represents confidence in the attribute value. 0,1,2=low/miidle/high confidence in the speech recognizer; 3=recognition system has received YES as an answer to a confirmation; 4=system has received NO val=1 if attribute value has been obtained, 0 otherwise times=number of times system has asked about the attribute gram=type of grammar used to obtain the attribute value hist=0 if system has had problems in understanding the user earlier in the conversation; 1 otherwise 459
AIML - Artificial Intelligence Markup Language 460
AIML - Artificial Intelligence Markup Language 461
AIML - Artificial Intelligence Markup Language AIML (Artificial Intelligence Markup Language) is an XML-compliant language that's easy to learn, and makes it possible for you to begin customising an Alicebot or creating one from scratch within minutes. The most important units of AIML are: <aiml>: the tag that begins and ends an AIML document <category>: the tag that marks a "unit of knowledge" in an Alicebot's knowledge base <pattern>: used to contain a simple pattern that matches what a user may say or type to an Alicebot <template>: contains the response to a user input 462
Categories The free A.L.I.C.E. AIML includes a knowledge base of approximately 41 000 categories. Here's an example of one of them: <category> <pattern>what ARE YOU</pattern> <template> <think><set name="topic">me</set></think> I am the latest result in artificial intelligence, which can reproduce the capabilities of the human brain with greater speed and accuracy. </template> </category> 463
Recursion AIML implements recursion with the <srai> operator. No agreement exists about the meaning of the acronym. The "A.I." stands for artificial intelligence, but "S.R." may mean "stimulus-response," "syntactic rewrite," "symbolic reduction," "simple recursion," or "synonym resolution." The disagreement over the acronym reflects the variety of applications for <srai> in AIML 464
Symbolic reduction It refers to the process of simplifying complex grammatical forms into simpler ones. Usually, the atomic patterns in categories storing robot knowledge are stated in the simplest possible terms, for example we tend to prefer patterns like "WHO IS SOCRATES" to ones like "DO YOU KNOW WHO SOCRATES IS" when storing biographical information about Socrates. <category> <pattern>do YOU KNOW WHO * IS</pattern> <template><srai>who IS <star/></srai></template> </category> Whatever input matched this pattern, the portion bound to the wildcard * may be inserted into the reply with the markup <star/>. This category reduces any input of the form "Do you know who X is?" to "Who is X?" 465
Divide and conquer Many individual sentences may be reduced to two or more subsentences, and the reply formed by combining the replies to each. A sentence beginning with the word "Yes" for example, if it has more than one word, may be treated as the subsentence "Yes." plus whatever follows it. <category> <pattern>yes *</pattern> <template><srai>yes</srai> <sr/></template> </category> The markup <sr/> is simply an abbreviation for <srai><star/></srai> 466
Synonyms The AIML 1.01 standard does not permit more than one pattern per category. Synonyms are perhaps the most common application of <srai>. Many ways to say the same thing reduce to one category, which contains the reply: <category> <pattern>hello </pattern> <template>hi there! </template> </category> <category> <pattern>hi </pattern> <template><srai> HELLO </srai></template> </category> <category> <pattern>hi THERE </pattern> <template><srai> HELLO </srai></template> </category> 467
Spelling and grammar correction The single most common client spelling mistake is the use of "your" when "you are" is intended. Not every occurrence of "your" however should be turned into "you are." A small amount of grammatical context is usually necessary to catch this error: <category> <pattern>your A *</pattern> <template>i think you mean "you are" not "your." <srai>you ARE A <star/></srai> </template> </category> Here the bot both corrects the client input and acts as a language tutor. 468
Keywords AIML template which is activated by the appearance of a keyword anywhere in the input sentence. <category> <pattern>mother</pattern> <template> Tell me more about your family. </template> </category> <category> <pattern>_ MOTHER</pattern> <template><srai>mother</srai> </template> </category> Both, detects the keyword when it appears by itself, and provides the generic response. Detects the keyword as the suffix of a sentence. 469
Keywords <category> <pattern>mother _ </pattern> <template> <srai> MOTHER </srai> </template> </category> <category> <pattern>_ MOTHER * </pattern> <template> <srai> MOTHER </srai></template> </category> Detects it as the prefix of an input sentence detects the keyword as an infix. Each of the last three categories uses <srai> to link to the first, so that all four cases produce the same reply, but it needs to be written and stored only once. 470
Conditionals Conditional branches using only the <srai> tag. <category> <pattern>who IS HE</pattern> <template><srai> WHOISHE <get name="he"/></srai> </template> </category> <category> <pattern>whoishe * </pattern> <template>he is <get name="he"/>. </template> </category> <category> <pattern> WHOISHE UNKNOWN </pattern> <template> I don t know who he is. </template> </category> Provided that the predicate "he" is initialised to "Unknown," the categories execute a conditional branch depending on whether "he" has been set. AIML also provides the equivalent function through the <condition> tag. 471
Targeting User: Where do I find the webpage with Australopithecus? Alice: Where do you want to find it? User: Bad Answer Alice, time to Learn a new Line Alice: How would you answer "Where do I find the webpage with Australopithecus?" User: I would say: "http://www.ancientskulls.net/australopithecus.html" Alice: Thanks, human. Try asking me again. User: Where do I find the webpage with Australopithecus? Alice: http://www.ancientskulls.net/australopithecus.html 472
CONTEXT The keyword "that" in AIML refers to the bot s previous utterance. Specifically, if the bot responds with a multiple sentence paragraph, the value of that is set to the last sentence in the sequence. The choice of the keyword "that" is motivated by its use in ordinary language: R: Today is yesterday. C: That makes no sense. R: The answer is 3.1412926 approximately. C: That is cool. 473
That In AIML the syntax <that>...</that> encloses a pattern that matches the robot s previous utterance. A common application of <that> is found in yes-no questions: <category> <pattern>yes</pattern> <that>do YOU LIKE MOVIES</that> <template>what is your favorite movie? </template> </category> This category is activated when the client says YES. The robot must find out what is he saying "yes" to. If the robot asked, "Do you like movies?," this category matches, and the response, "What is your favorite movie?," continues the conversation along the same lines. 474
Topic INPUT <that> THAT <topic> TOPIC. <topic name="cars"> <category> <pattern>*</pattern> <template> <random> <li>what s your favorite car?</li> <li>what kind of car do you drive?</li> <li>do you get a lot of parking tickets?</li> <li>my favorite car is one with a driver.</li> </random> </template> 475
Facade http://www.interactivestory.net/ Download and play 476
Typy wypowiedzi 477
Podsumowanie Czym jest ontologia, czyli jak dodać Mruczka do Facebooka Podchwytliwe pytanie Co to jest CYC? Podstawowe zasady projektowania interfejsów Zalety i wady stosowania mowy w interfejsach Czym system dialogowy różni się od zwykłego interfejsu Systemu dialogowe AIML 478
Istniejące systemy technologii mowy Przyszłość technologii mowy Bartosz Ziółko 479
480