Technologie Mowy

Transkrypt

Technologie Mowy
2017-01-16
www.dsp.agh.edu.pl http://rozpoznawaniemowy.blogspot.com/
Technologie Mowy
Bartosz Ziółko
1
Technologie Mowy
2
1
2017-01-16
Dane kontaktowe
Dr inż. Jakub Gałka
C2/419
Telefon 50-68
[email protected]
Dr inż. Bartosz Ziółko
C2/418
Telefon 36-39
http://www.dsp.agh.edu.pl/pl:dydaktyka:tmo
3
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
4
2
2017-01-16
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
5
Laboratoria
6
3
2017-01-16
Ć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
7
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ę
• Wykonanie i zaprezentowanie strony w Wikipedii o
technologii mowy
• Wykonanie materiału multimedialnego popularyzującego
technologie mowy
8
4
2017-01-16
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%)
9
Kolokwium poprawkowe
•
•
•
•
1 termin
Można poprawiać całość przedmiotu
Lub pojedyncze kolokwium
W wypadku zwolnień lekarskich itp. Ten
sam termin po zakończeniu semestru
10
5
2017-01-16
Podręcznik
11
Bibliografia
• http://class.coursera.org/nlp
•
•
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6345-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
12
%20systemach%20detekcji.pdf
6
2017-01-16
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
13
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.
14
7
2017-01-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.
15
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.
16
8
2017-01-16
„Cztery”
17
Sygnał mowy
18
9
2017-01-16
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.
19
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.
20
10
2017-01-16
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.
21
22
11
2017-01-16
Japoński system rozpoznawania
samogłosek (J. Suzuki, K. Nakata, Radio
Research Labs, Japonia, 1961)
23
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
24
12
2017-01-16
LPC - 1975
Linear predictive
coding
F. Itakura
Bell/NTT Labs
25
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
26
13
2017-01-16
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
27
Zastosowanie w telekomunikacji
28
14
2017-01-16
Systemy dialogowe
29
30
15
2017-01-16
Różne poziomy modelowania
31
Komunikacja z komputerem
32
16
2017-01-16
Komunikacja z komputerem
33
Ogólny schemat rozpoznawania mowy
34
17
2017-01-16
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
35
Zakres mowy i słuchu człowieka
(Tadeusiewicz, 1988)
36
18
2017-01-16
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
Miara nieokreśloności
kontekstu
k
H


pi log 2 pi
• Perpleksja (entropia) wypowiedzi

i 1
2^H
• SNR (<10 dB niski, >30 dB wysoki)
• Sposób rejestracji (telefon, komputer,
mikrofon z niwelowaniem szumu)
37
38
19
2017-01-16
Fonetyka
Dialekty języka polskiego
Zbiory nagrań i tekstów
Słowniki
Bartosz Ziółko
39
Alfabety fonetyczne
Dialekty języka polskiego
Korpusy mowy polskiej
Korpusy tekstów - przykłady
Słowniki – przykłady
Słowniki - formaty
Wordnet
40
20
2017-01-16
41
42
21
2017-01-16
IPA
43
IPA
44
22
2017-01-16
IPA
45
Baldi features accurate, visible
articulators (CSLU Toolkit)
46
23
2017-01-16
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
47
OrtFon – transkryptor ortofonetyczny
48
24
2017-01-16
Tabele OrtFona
49
Tabele OrtFona
50
25
2017-01-16
Dialekty języka
polskiego
Wykorzystano materiały Pauliny Macury i Darii Korzec oraz
www.gwarypolskie.uw.edu.pl
Dialekt
●
●
●
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
a gwara
●
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
26
2017-01-16
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
27
2017-01-16
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;
55
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
28
2017-01-16
Cechy dialektów
Prejotacja - poprzedzenie samogłosek w nagłosie j
niezgłoskotwórczym
np. jile, Jewa, janioł = ile, Ewa, anioł
Jigła, jindycka, jinnych
Labializacja - to zjawisko poprzedzania samogłosek
tylnych o niezgłoskotwórczym u, zwykle osłabionym
(zapisywanym jako ł),
Okno = łokno, golec łorkiestra
MAPA DIALEKTÓW
29
2017-01-16
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.
30
2017-01-16
Dialekt śląski
61
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
●
31
2017-01-16
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 dziewcount 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ąugł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 soum 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..
64
32
2017-01-16
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.
Kjedyś? Kiedyś taniec to był naprawde: polka… ouberek 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 zarabjała. Czy
na czeykoulade, czy na cukierki, czy na… jak jak latem było, czy na doubrego 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 wjem? 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 poudbijali oboma nougami, tyl’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łoupakami 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 niei męczy. Ja mówi: czekaj,
dou tego chłoupaka.
65
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
33
2017-01-16
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,
67
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
●
●
34
2017-01-16
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żnounć 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.
69
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łoa s’ie, no bardzo zmieniło sie...
Jak ja jeszcze byłam nawet młodoam, to w szkole aorganizoawali 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 strouje te. Są takie spódnicy,
baby nosili kiedyś, naszywanea, długiea z takimi koaronkami 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, weas’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 teygo, 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
poamieszkaniach, to byłoa 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łoa więcej rozrywki było, różne takie przyśpiewki
śpiewali.
70
35
2017-01-16
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
36
2017-01-16
Kaszubski
73
Mazurzenie
37
2017-01-16
Lwowski
75
Fonetyka międzywyrazowa
TAK_JAKB
Y
TAG_JAKB
Y
38
2017-01-16
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
78
39
2017-01-16
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
79
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.)
80
40
2017-01-16
Jakość sygnału mowy
81
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)
82
41
2017-01-16
Anotator AGH
83
phoneme.dsp.agh.edu.pl/nagrywarka/
84
42
2017-01-16
Segmentacja na fonemy
85
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
86
43
2017-01-16
Polskie korpusy mowy
•Grocholewski CORPORA
•Jurisdic
•GlobalPhone
•Luna
•SpeechDat(E)
•EPPS European Parliament corpus
•Szklanny corpus (PJWSTK)
•AGH corpus
87
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
88
44
2017-01-16
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
89
Luna – anotacja (2 sek)
90
45
2017-01-16
Luna – anotacja (2 sek) c.d.
91
Luna – anotacja (2 sek) c.d.
92
46
2017-01-16
Luna – anotacja c.d.
93
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"/>
94
47
2017-01-16
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 ,
95
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>
96
48
2017-01-16
Szklanny - anotacja
intervals [3]:
xmin = 1.1319438952189453
xmax = 1.161179389606396
text = "e"
xmin = 0
intervals [4]:
xmax = 5.54
xmin = 1.161179389606396
tiers? <exists>
xmax = 1.2331743328651683
size = 1
text = "z"
item []:
intervals [5]:
item [1]:
xmin = 1.2331743328651683
class = "IntervalTier"
xmax = 1.2801699383273164
name = "Alignment"
text = "a"
xmin = 0
intervals [6]:
xmax = 5.54
xmin = 1.2801699383273164
intervals: size = 57
xmax = 1.3426052499999999
intervals [1]:
text = "m"
xmin = 0
intervals [7]:
xmax = 0.9933668981481482
xmin = 1.3426052499999999
text = "_sil_"
xmax = 1.3797865044247786
intervals [2]:
text = "j"
xmin = 0.9933668981481482
xmax = 1.1319438952189453
text = "n'"
File type = "ooTextFile"
Object class = "TextGrid"
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"
97
Korpus AGH - anotacja
98
49
2017-01-16
Korpus AGH - zawartość
99
Korpus AGH - zawartość
100
50
2017-01-16
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
101
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>
102
51
2017-01-16
Polskie korpusy tekstów
103
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
52
2017-01-16
Litery języka polskiego w UTF-8
105
Litery języka polskiego w UTF-8
106
53
2017-01-16
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
107
Inne typy korpusów
• Wielojęzyczne (do uczenia tłumaczeń)
• Wielomodalne (np. audiovideo)
• Emocjonalne (z pracy mgr inż. Magdaleny
Igras)
• „medyczne”
108
54
2017-01-16
Korpus audiovideo AGH
109
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
110
55
2017-01-16
Korpusy z obrazowaniem metodą
rezonansu magnetycznego (MRI)
111
Korpusy z obrazowaniem metodą
rezonansu magnetycznego (MRI)
112
56
2017-01-16
Korpusy elektromiograficzne (EMG)
Michael Wand, Matthias Janke, Tanja Schultz (KIT)
113
Korpusy z elektromagnetycznym
artykulografem (EMA)
P. West, Oxford University Phonetics Lab
114
57
2017-01-16
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)
115
Słowniki – 3 reprezentacje
Pliki tekstowe
Bazy danych
Finite State Automaton
116
58
2017-01-16
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
117
Słowniki do rozpoznawania mowy …
… zawsze będą mieć
transkrypcję fonetyczną.
może moZe
Morze moZe
tak tak
tak tag
118
59
2017-01-16
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
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, …)
60
2017-01-16
Wybór silnika bazy danych
Dostępność
Relational
Key-Value
Tabular
Document
Tokyo Cabinet,
CouchDB,
Cassandra
RDBMS (MySQL,
Postgres, MS SQL)
Wybierz dwa!
Spójność
BerkeleyDB,
BigTable (Google),
MongoDB
„Podzielność”
Wybór silnika bazy danych
Dostępność
Tylko czytanie
danych
Wybierz dwa!
Spójność
„Podzielność”
61
2017-01-16
Wybór silnika bazy danych
Dostępność
Tylko czytanie
danych
Wybierz dwa!
„Podzielność”
Spójność
Zapis danych
jednowątkowo
Wybór silnika bazy danych
Dostępność
Tylko czytanie
danych
Wybierz dwa!
Spójność
Zapis danych
jednowątkowo
„Podzielność”
Dane przechowywane
tylko lokalnie
62
2017-01-16
Wybór silnika bazy danych
Dostępność
Tylko czytanie
danych
Spójność
Zapis danych
jednowątkowo
HODB
key-value store
(DSP AGH)
- Duża szybkość odczytu
- Własna licencja
- Prosta implementacja
„Podzielność”
Dane przechowywane
tylko lokalnie
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)
63
2017-01-16
Zbieranie danych do modelu językowego
Odczyt danych – dane rzeczywiste
64
2017-01-16
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/
129
Słowosieć
Elektronika jest
typem sprzętu
Elektronika jest typem nauki
matematycznoprzyrodniczej i nauki ścisłej
130
65
2017-01-16
Słowosieć
Automatyka
Informatyka
Mechanika
Inżynieria
131
Konstruowanie Słowosieci
132
66
2017-01-16
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ę)
133
HTK
134
67
2017-01-16
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
135
Schemat HTK
136
68
2017-01-16
Sekwencja symboli
137
Rozpoznanie pojedynczego słowa
138
69
2017-01-16
Łańcuch Markowa
139
Ćwiczenie
140
70
2017-01-16
Rozpoznawanie
141
Reprezentowanie mikstur
142
71
2017-01-16
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)
143
Algorytm Viterbiego dla rozpoznawania
izolowanych słów
144
72
2017-01-16
Sieć rozpoznawania dla mowy ciągłej
145
Tokeny wykrywające granice słów
146
73
2017-01-16
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, ...
147
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,
148
nagrania, transkrypcję i cały system
74
2017-01-16
Modelowanie mowy
149
HMM
150
75
2017-01-16
151
152
76
2017-01-16
153
Probability density function
154
77
2017-01-16
Maximum A Posteriori
(MAP) Estimation
Maximising the posterior pdf
155
Maximum-Likelihood (ML)
Estimation
Maximising the likelihood function
156
78
2017-01-16
Common problems with using statistics
157
158
79
2017-01-16
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
• Głebokie sieci neuronowe (DNN)
159
Artificial Neural Networks (ANN, NN)
160
80
2017-01-16
Modelowanie czasu i kontekstu w ANN
161
Hosom, Cole, Fanty, CSLU at Oregon Institute of Science and Technology
162
81
2017-01-16
163
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 –
164
otwarcie na krytykę
82
2017-01-16
Support Vector Machine (SVM)
165
166
83
2017-01-16
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
167
Ganapathiraju, Hamaker, Picone:
„Applications of Support Vector
Machines to Speech Recognition”
168
84
2017-01-16
Nieliniowe klasyfikacje SVM
169
Sieć Bayesowska
Skierowany
acykliczny graf
reprezentujący
zbiór zmiennych
losowych i
zależności
warunkowych
między nimi.
170
85
2017-01-16
Sieć Bayesowska
171
172
86
2017-01-16
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
173
174
87
2017-01-16
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
175
Edinburgh articulatory DBN model
manner,
place,
voicing,
rounding,
front-back,
static
176
88
2017-01-16
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
177
GMTK
178
89
2017-01-16
Maximum Entropy Markov Model
Kuo, Gao: Maximum Entropy Direct Models for Speech Recognition
179
Conditional Random Fields
• DBNy modelują dystrybucję
prawdopodobieństw wielu zmiennych p(y,x)
• CRFy modelują dystrybucję
prawdopodobieństw warunkowych p(y|x)
180
90
2017-01-16
Deep Neural Networks
• Więcej warstw
• Wysokopoziomowe cechy są definiowane w
oparciu o niskopoziomowe
181
182
91
2017-01-16
Dynamic Time Warping
183
184
92
2017-01-16
185
186
93
2017-01-16
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
187
Metryka edycyjna
Rozpoznawanie mowy
ciągłej
(wykorzystano materiały Dawida Skurzoka i MIT)
188
94
2017-01-16
Levenshtein Distance
Wolfram Mathematica Demo:
Edit Distance
189
Metryka edycyjna
190
95
2017-01-16
Metryka edycyjna
191
Metryka edycyjna
192
96
2017-01-16
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
0
1
2
3
4
5
6
7
8
A
1
0
1
2
3
4
5
6
7
L
2
1
0
1
2
3
4
5
6
A
3
2
1
0
1
2
3
4
5
Lepsze dopasowanie niemożliwe – przerwanie
analizy kolejnych segmentów
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
0
1
2
3
4
5
6
7
8
D
1
1
1
2
3
4
5
6
7
O
2
2
2
1
2
3
4
5
6
M
3
3
3
2
1
2
3
4
5
Przerwanie analizy
97
2017-01-16
Modyfikacja metryki edycyjnej
o
d
t
a
0.5
e
a
k
o
o
0.25
l
a
n
0
0
1
2
3
4
O
1
K
2
0.5
1.5
2.5
3.5
1.5
0.75
1.75
2.75
O
3
2.5
1.75
1
1
Ilość segmentów = 4
końcowa odległość:
1 / 4 = 0.25
Ilość segmentów = 3
końcowa odległość:
1 / 3 = 0.3333
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
….
98
2017-01-16
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
k
o
t
a
dom
lama
koń
kotdam
Tworzenie siatki
a
l
a
m
e
k
o
n
t
f
d
u
o
d
t
a
p
g
d
i
a
ono
tak
amok
99
2017-01-16
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
k
o
t
a
kot
akta
akt
…
Tworzenie siatki
a
l
a
m
e
k
o
n
t
f
d
u
o
d
t
a
p
g
d
i
kot
akta
akt
…
100
2017-01-16
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 ono auto a
lamo tak ma i
koń a
nip u
kota
to
kodu
a
101
2017-01-16
Usuwanie tych samych wyrazów
dom ono auto a
lamo tak ma i
koń a
nip ma
kota
to
a
dom ono auto a
lamo tak ma i
koń
nip
kota
to
a
Usuwanie tych samych wyrazów
dom ono
lamo tak
koń
auto a
ma i
nip
kota
to
a
dom ono
lamo tak
koń
auto a
ma i
nip
kota
to
102
2017-01-16
Usuwanie ślepych ścieżek
ala
oko
dom
Ono
Auto
lamo
Tak
Ma
koń
a
nip
a
Usuwanie ślepych ścieżek
ala
dom
Ono
Auto
Ma
oko
koń
a
nip
a
103
2017-01-16
Wyszukiwanie najlepszych ścieżek
Ala dom ono auto a
oko lamo tak ma i
a
koń a
nip u
kota od
to
ot
kodu oda
a
u
i
.
Przykład hipotezy zdania
104
2017-01-16
Modified Weighted Levenshtein Distance
K
K
K
k 1
k 1
k 1
MWLD( A, B )  min{  lnk rk ( w)    hk i ( w)    g k d ( w)}
Substitution weight:
lnk    (ln( p1k )  ln( pnk ))
Insertion weight:
hk   ln( pins )  const
Deletion weight:
g k  ln( p1k )  ln( pdel )
209
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
hk  g k  lnk
210
105
2017-01-16
1 substitution and 1 deletion
Segment 1
Phon.
Segment 2
prob.
Phon.
prob.
j
0.35
e
0.35
i
e
…
0.25
0.15
…
y
j
…
0.30
0.20
…
Segment 3
Phon.
Segment 4
Segment 5
prob.
Phon.
Prob.
Phon.
Prob.
ż
0.30
w
0.30
p
0.30
sz
ś
…
0.25
0.20
…
y
0.25
0.20
…
t
e
…
0.25
0.20
…
e
…
MWLD   (ln( p1k )  ln( pnk ))   (ln( p1k )  ln( pdel ))
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.
211
Modified Weighted Levenshtein Distance
212
106
2017-01-16
213
Dzielenie na słowa
1
0.8
silne 450 [ms]
działanie 450 [ms]
uboczne 600 [ms]
0.6
0.4
amplitude
0.2
/s’il/
0
/ne/
/dz'a/
/wa/
/n’e/
/u/
/bo/
/ tSne/
-0.2
-0.4
-0.6
-0.8
-1
pause 110 [ms ]
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8 0.9
time [s]
1
1.1
1.2
1.3
1.4
1.5
1.6
214
107
2017-01-16
Rozpoznawanie mowy ciągłej
215
216
108
2017-01-16
217
218
109
2017-01-16
219
220
110
2017-01-16
221
222
111
2017-01-16
223
224
112
2017-01-16
225
226
113
2017-01-16
227
228
114
2017-01-16
229
230
115
2017-01-16
231
232
116
2017-01-16
233
Podsumowanie
• Metryka edycyjna
(Levenshteina)
• Zjawisko braku ciszy
między słowami
• Level builder
• Konstruowanie siatki
słów
• Łączenie sekwencji
HMMów
234
117
2017-01-16
Katedra Elektroniki, Zespół Przetwarzania Sygnałów
www.dsp.agh.edu.pl http://rozpoznawaniemowy.blogspot.com/
Rozpoznawanie
mówcy i emocji
235
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
236
118
2017-01-16
Rozpoznawanie mówcy
237
Architektura systemów automatycznego
rozpoznawania mówcy
238
119
2017-01-16
Ogólny podział systemów automatycznego
rozpoznawania mówców
239
Weryfikacja a identyfikacja
Źródło: www.zamelcet.com
WERYFIKACJA
IDENTYFIKACJA
Źródło: PAP
240
120
2017-01-16
Opis jakości systemu –
stopień rozpoznania
241
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
121
2017-01-16
Zastosowania
243
Zastosowania
• Biometryczne systemy bezpieczeństwa
– Oczekiwany wzrost zainteresowania systemami
rozpoznawani mówcy w porównaniu do innych
systemów biometrycznych
122
2017-01-16
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
123
2017-01-16
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
248
124
2017-01-16
Zastosowania
30 do 40 %
telefonów do
obsługi klienta to
problemy z hasłem
SR
• systemy
bezpieczeństwa
Odzyskiwanie hasła
przez telefon
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
125
2017-01-16
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ń
126
2017-01-16
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
System z zamkniętym zbiorem
Baza danych
Poza bazą danych
„nie pasuje
do
żadnego”
System ze zbiorem otwartym
• Weryfikacja / Identyfikacja
?
Tak
?
Mówca N
Nowak ?
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.)
127
2017-01-16
Poziomy rozpoznawania mówcy
Cechy
wysokiego
poziomu
(nieakustyczne)
Cechy
niskiego
poziomu
(fizyczne)
Semantyka, dykcja,
wymowa
Status społecznofinansowy, edukacja,
miejsce urodzin
Prozodia, rytm, tempo
intonacji, modulacja
głośności
Typ osobowości,
wpływ rodziców
Akustyczne aspekty
mowy
Anatomiczna
struktura narządów
mowy
Trudna
ekstrakcja
Łatwa
ekstrakcja
Przygotowywanie systemu
256
128
2017-01-16
Rozpoznawanie
257
System weryfikacji mówcy
129
2017-01-16
System identyfikacji mówcy
259
Pobieranie danych
Zmienność
kanału
pomiędzy
nagraniami
Ściana
Zmiana
głosu
mówcy wraz
z czasem
A/D
Kanał
2 .5
2
1 .5
1
0 .5
0
-0 . 5
-1
-1 . 5
-2
-2 . 5
0
2 0
4 0
6 0
8 0
1 0 0
1 2 0
1 4 0
1 6 0
Źródło
szumu
1 8 0
2 0 0
Wpływ innych
rozmów,
przepięcia, inne
zakłócenie
sprzętowe
Niska
rozdzielcz
ość, np.
GSM
130
2017-01-16
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)
131
2017-01-16
Klasy (dźwięczna\bezdźwięczna)
263
Klasy (dźwięczna\bezdźwięczna) –
”Cztery”
264
132
2017-01-16
Klasy (dźwięczna\bezdźwięczna)
265
Decyzje
• Bez modelu tła
• Porównanie do
średniej pozostałych
hipotez
266
133
2017-01-16
Decyzje
267
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
268
134
2017-01-16
Decyzje – Uniwersalne modele tła (UBM)
Model dla odrzucanych i niezidentyfikowanych rozpoznań
269
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
270
135
2017-01-16
Analiza możliwych wersji systemu
Przypadek projektowania systemu identyfikacji
mówcy jako pracy magisterskiej (David Sierra)
CMN - Cepstral mean normalisation
271
Typy cech akustycznych
272
136
2017-01-16
Liczba stanów w HMM
273
Liczba mikstur w GMM
274
137
2017-01-16
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
275
Eksperymenty z różnymi
systemami podejmowania decyzji
SNRSignal
to
Noise
Ratio
RAPT Robust
Algorithm
for Pitch
Tracking
276
138
2017-01-16
Wyniki testów systemów decyzyjnych
277
Eksperymenty stosowania
uniwersalnych modeli tła
278
139
2017-01-16
Rezultaty stosowania uniwersalnych
modeli tła
279
Eksperymenty z ilością materiału
przygotowawczego (Angielski TIMIT)
280
140
2017-01-16
Eksperymenty z ilością materiału
przygotowawczego (CORPORA)
281
Eksperymenty z ilością materiału
przygotowawczego (CORPORA)
282
141
2017-01-16
Skuteczność w zależności od szumu
283
Skuteczność w zależności od
liczby mówców
284
142
2017-01-16
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
285
rozwojem informatyki
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
286
143
2017-01-16
287
Rozpoznawanie emocji
288
144
2017-01-16
Klasyfikacja emocji
289
Analiza głosu
290
145
2017-01-16
Kismet emotional robot
291
Geminoid
292
146
2017-01-16
Geminoid
293
Geminoid
294
147
2017-01-16
Syntaktyczne
modelowanie języka
295
Gramatyka/ modelowanie
syntaktyczne
• Parsery
• Analizatory morfologiczne /
POS tagery
• n-gramy
• Wygładzanie modeli
• Filtry Blooma
296
148
2017-01-16
Nadmiarowość w językach
• Konieczna z tego samego powodu co
w kodach transmisyjnych
• Prawdopodobnie stopień
nadmiarowości zależy od warunków
geograficznych
297
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
298
149
2017-01-16
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
299
Hierarchia
Chomskiego
300
150
2017-01-16
MIT
Regina
Barzilay
Michael
Collins
N = noun,
V = verb,
D = determiner
301
302
151
2017-01-16
303
304
152
2017-01-16
Disambiguity in parsing
305
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.
306
153
2017-01-16
Sekwencje słów są przewidywalne
Przykład:
Losowanie sekwencji 5 dowolnych
słów bardzo rzadko wygeneruje zdanie
307
1-gramy słów (wybrane korpusy)
1) się 1 780 825 (2,6%)
9) że 760 078
17) tak 279 877
2) i 1 632 596 (2,4%)
10) a 479 713
18) za 263 700
3) w 1 569 027 (2,3%)
11) o 396 011
19) od 225 843
4) nie 1 445 832 (2,1%)
12) jak 368 386
20) jego 219 587
5) na 1 283 268 (1,9%)
13) ale 343 482
21) go 217 036
6) z 1 116 819 (1,6 %)
14) po 330 381
22) już 201 735
7) do 816 874 (1,2 %)
15) co 329 270
23) tym 199 894
8) to 801 472 (1,2 %)
16) jest 302 011
24) czy 196 565
308
154
2017-01-16
2-gramy słów (wybrane korpusy)
1) się w 116 446 (0,17%) 10) to nie 39 087 19) nie jest 31 615
20) a potem 31 196
2) się na 93 751 (0,14%) 11) się i 38 772
3) się z 83 610 (0,12%)
12) się nie 38 622 21) nigdy nie 31 082
4) się do 83 524 (0,12%) 13) i nie 38 177
22) mu się 27 209
5) się że 57 126 (0,08%)
14) ale nie 35 241 23) po prostu 26 047
6) że nie 50 222 (0,07%)
15) na to 34 259
24) w tej 25 461
7) w tym 48 035 (0,07%) 16) że to 34 171 25) to co 24 661
8) nie ma 43 633 (0,06%) 17) mi się 33 441 26) w końcu 23 863
9) o tym 42 041 (0,06%) 18) nie było 31682 27) co się 23 762
309
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%)
10) zwrócił się do 5 349
11) wydaje mi się 4 855
12) od czasu do 4 742
4) w każdym razie 7 587 (0,011%) 13) się z nim 4 609
5) po raz pierwszy 7 266 (0,010%) 14) to nie jest 4 538
6) mi się że 6 395 (0,009%)
15) czasu do czasu 4 470
7) sobie sprawę że 5 514 (0,008%) 16) w tym momencie 4 455
8) mam nadzieję że 5 499 (0,008%) 17) po drugiej stronie 4 445
9) w takim razie 5 462 (0,008%)
18) w ogóle nie 4 309
310
155
2017-01-16
Naprawianie n-gram
311
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
312
realizowalne.
156
2017-01-16
Siatka słów
wejście
prezydent
to
aportuje
dwieście
rezydent
strefy
do
trafi
szelkę
o
stepy
aprobuje
szogun
nieście
prezydium
schengen
operuje
dom
313
Siatka słów z zaznaczonym
prawidłowym zdaniem
strefy
wejście
prezydent
aportuje
rezydent
to
trafi
szelkę
o
dwieście
do
stepy
aprobuje
szogun
nieście
prezydium
schengen
operuje
dom
314
157
2017-01-16
Podkreślmy szczególnie
prawdopodobne 1- i 2-gramy
wejście
prezydent
strefy
aportuje
rezydent
trafi
dwieście
to
o
aprobuje
prezydium
nieście
szelkę
stepy
do
szogun
schengen
operuje
dom
315
Ponownie nałóżmy poprawne zdanie
wejście
prezydent
strefy
trafi
rezydent
aportuje
dwieście
to
o
stepy
prezydium
aprobuje
nieście
szelkę
do
szogun
schengen
operuje
dom
316
158
2017-01-16
Usuńmy mało prawdopodobne 2-gramy
wejście
prezydent
rezydent
aportuje
strefy
do
trafi
szelkę
dwieście
to
o
stepy
aprobuje
szogun
nieście
prezydium
schengen
operuje
dom
317
… i nałóżmy zdanie
wejście
prezydent
strefy
do
rezydent
aportuje
dwieście
to
prezydium
aprobuje
operuje
trafi
szelkę
o
stepy
szogun
nieście
schengen
dom
318
159
2017-01-16
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
319
Problemy z n-gramami
- Różne pisowanie (np. u - ó),
- błędne formaty,
- sprawdzanie ze słownikiem, np. myspell ?,
160
2017-01-16
Histogram n-gramów
321
Przykład wyliczeń modelu n-gramowego
322
161
2017-01-16
Przykład wyliczeń modelu n-gramowego
\begin{equation}
E(s,h)=\frac{N(s,h)}{N(h)} \; ,
\end{equation}
323
Przykład wyliczeń modelu n-gramowego
324
162
2017-01-16
Przykład wyliczeń modelu n-gramowego
325
Algorytm Dijkstry
326
163
2017-01-16
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!
327
Wyszukiwanie najlepszych ścieżek z
użyciem 3-gramów
Ala
.
ale
Złamała
ładnego
kota
ma
.
łapie
keta
Ala ma ładnego kota
164
2017-01-16
Klasyczny algorytm Dijkstry (bigramy)
koszt = 0.1
koszt = 1
Ala
0.1
.
ale
ładnego
ma
0.3
0.2
kota
0.4
1
Złamała
1
łapie
keta
1.2
1.3
.
0.5
Zipf Law
Jeżeli dla jakiegokolwiek
tekstu lub grupy tekstów
ustala się wykaz wyrazów
ułożonych w malejącym
porządku częstotliwości ich
występowania, to ranga
rośnie w miarę zmniejszania
się częstotliwości.
Częstotliwość jest odwrotnie
proporcjonalna do rangi czyli
iloczyn częstotliwości i rangi
powinien być wielkością
stałą.
330
165
2017-01-16
Back-off
if
 ( w | h)
p ( w | h)  
 (h)  ( w | h) if
N (h, w)  0
N (h, w)  0
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 β:
1
 (h) 
(w | h)
w:N ( h,w)0
 (w | hˆ)

jest 3-gramem
a  jest 2-gramem
w:N ( h,w)0
331
Metoda „Floor”
 (w | h) 
N (w, h)   (w | h)
N
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ń.
332
166
2017-01-16
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
333
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.
334
167
2017-01-16
Przykład wygładzania modelu ngramowego Add-one
h
335
Przykład wygładzania modelu ngramowego Add-one
336
168
2017-01-16
Model interpretacji liniowej z
parametrem interpolacyjnym
Zdefiniujmy parametr


N
gdzie 0    1,
Wówczas otrzymujemy równanie
interpolacyjne Jelinka
 (w | h)  (1  )
N (w, h)
  (w | hˆ)
N
Małe zliczenia nie są aż tak bardzo
podbijane dzięki interpolacji.
337
Wygładzanie Katz’a
Katz wprowadził ogólną funkcję
dyskontującą
d : w  d (w)
i zależną od niej dyskontowaną
masę prawdopodobieństwa
1 W
Q[d ]   d (w)
N w1
Równanie wygładzające wygląda
 (w | h) 
N (w, h)  d (w)
 Q[d ] (w | h)
N
338
169
2017-01-16
Rozkład brzegowy
ni = P(X = i).
ni = ∑ P(X = i,Y = j).
j
Rozkład brzegowy podzbioru
zmiennych losowych jest rozkładem
prawdopodobieństw zmiennych
zawartych w tym podzbiorze.
339
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.
340
170
2017-01-16
Przykład wyliczania rozkładu
brzegowego
341
Wygładzanie Kneser-Ney z rozkładem
brzegowym jako ograniczeniem
W metodzie Katza, całkowita zniżka powoduje, że
 (w | h) 
N (w, h)  d (w)
N
gdzie 0  d  1
Zdefiniujmy Maximum Likelihood Estimation (MLE) dla
rozkładu brzegowego
N (hˆ, g )
N (w, hˆ)
ˆ
ˆ
p
(
g
|
h
)

i
p(w | 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
N (w, hˆ) 
 (w | hˆ) 
[ N (g, w)  d ]
g:gˆ hˆ , N ( g , w) 0
[N (hˆ, v) 
v
[ N ( g, v)  d ]]
g:gˆ hˆ , N ( g ,v ) 0
342
171
2017-01-16
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
 ln[ ( g ) (v | gˆ )]  const ({ (v | gˆ )}) .
( g ,v ):N ( g ,v ) 1
343
Trigramy z Dijkstry
Koszt „dotarcia” do
poprzedniego węzła
z punku widzenia
wyróżnionego węzła
Koszt dotarcia do
danego węzła w
zależności od
następnego węzła
Ala
ładnego
0.1
ma
ale
łapie
1
następny
koszt
ładnego
0.2
łapie
1.1
172
2017-01-16
Wyróżnione trigramy
. Ala ma
Ala ma ładnego
koszt = 0.1
ma ładnego kota
ładnego kota .
.
Ala ma ładnego kota .
koszt = 0.4
Wyszukiwanie najlepszych ścieżek
ładnego
.
Ala
ma
następny
poprzedni
koszt
ładnego
.
1
ma
.
0.1
3-gram
koszt
. Ala ma
0.1
. Ala ładnego
1
173
2017-01-16
Wyszukiwanie najlepszych ścieżek
.
ma
ale
3-gram
koszt
. ale ma
1
następny poprzedni
koszt
ma
1
.
Wyszukiwanie najlepszych ścieżek
Ala
0.1
ale
ładnego
ma
łapie
1
następny
ładnego
łapie
poprzedni
koszt
Ala
0.1+0.1 = 0.2
ale
1 + 0.1 = 1.1
Ala
0.1 + 1 = 1.1
ale
1+1=2
3-gram
koszt
Ala ma ładnego
0.1
ale ma ładnego
0.1
Ala ma łapie
1
ale ma łapie
1
174
2017-01-16
Wyszukiwanie najlepszych ścieżek
Ala
kota
1
ładnego
ma
0.2
Złamała
keta
kota
keta
koszt
Ala ładnego kota
1
Ala ładnego keta
1
ma ładnego kota
0.1
ma ładnego keta
1
Złamała ładnego kota 1
1
następny poprzedni
3-gram
Złamałą ładnego keta
koszt
Ala
1+1=2
ma
0.2 + 0.1 = 0.3
Złamała
1+1=2
Ala
1+1=2
ma
1+1=2
Złamała
1+1=2
1
Wyszukiwanie najlepszych ścieżek
ładnego
0.3
kota
.
3-gram
koszt
ładnego kota .
0.1
łapie kota .
1
łapie 2
następny poprzedni
.
koszt
ładnego
0.3 + 0.1 = 0.4
łapie
2+1=3
dodajemy koszt bigramów dla kropki
175
2017-01-16
Wyszukiwanie najlepszych ścieżek
Ala
.
ale
Złamała
ładnego
kota
ma
.
łapie
keta
10 węzłów
17 krawędzi
26 możliwych 3-gramów
Rzeczywisty przypadek
176
2017-01-16
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.
353
Filtr Blooma
354
177
2017-01-16
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
355
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ę
356
178
2017-01-16
Rule-to-rule
Bag-of-words
Latent Semantic Analysis
Wordnet
CYC
357
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
358
179
2017-01-16
Meanings by compositionality
Robert Berwick (MIT)
359
But there are exceptions
360
180
2017-01-16
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
361
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…
362
181
2017-01-16
Bag-of-words
Semantics of NL sentences and phrases
can be composed from the semantics
of their subparts (for example words)
– Principle of Compositionality.
363
Bag-of-words
by Li Fei-Fei (Princeton)
364
182
2017-01-16
Bag-of-words
by Li Fei-Fei (Princeton)
365
Bag-of-words
by Li Fei-Fei (Princeton)
366
183
2017-01-16
Bag-of-words
by Li Fei-Fei (Princeton)
367
Bag-of-words
by Li Fei-Fei (Princeton)
368
184
2017-01-16
Bag-of-words
by Li Fei-Fei (Princeton)
369
370
185
2017-01-16
Vector space model
Jan Wicijowski
.xml
371
Applying Semantic Model to Recognition
topics
words
word-topic matrix
similarities
vector
hypothesis
vector
Jan Wicijowski
Języki torricelli
Język vanimo
Język sahu
Język wiaki
Język yapunda
1.85172
0.64407
0.56976
0.56976
0.56976
Chesterfield F.C.
Andrew Latimer
Parnassius hunza
Tom Smith
Mononukleotyd
flawinowy
0.24345
0.21302
0.21115
0.17938
0.17189
372
186
2017-01-16
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.
373
Latent Semantic Analysis (LSA)
374
187
2017-01-16
Latent Semantic Analysis (LSA)
375
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.
376
188
2017-01-16
TFIDF (Term Frequency Inverse Document Frequency)
• TFIDFi,j = ( Ni,j / N*,j ) * log( D / Di ) where
• Ni,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).
• Di = the number of documents in which word i
appears (the number of non-zero columns in row i).
377
LSA tutorial
http://www.puffinwarellc.com/index.php/ne
ws-and-articles/articles/33.html?start=1
378
189
2017-01-16
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/
379
Słowosieć
Elektronika jest
typem sprzętu
Elektronika jest typem nauki
matematycznoprzyrodniczej i nauki ścisłej
380
190
2017-01-16
Słowosieć
Automatyka
Informatyka
Mechanika
Inżynieria
381
Konstruowanie Słowosieci
382
191
2017-01-16
Ontologie
Slajdy Aleksandra Pohla
Po co nam to wszystko ?
383
384
192
2017-01-16
Ontologie
RDFS – Resource Description Framework Schema
385
Ontologie
386
193
2017-01-16
Ontologie
387
Ontologie
388
194
2017-01-16
Ontologie
389
Ontologie
390
195
2017-01-16
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.
Oksfordzki Słownik Filozoficzny
Ontologia (informatyka):
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
196
2017-01-16
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)
197
2017-01-16
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
198
2017-01-16
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
199
2017-01-16
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
200
2017-01-16
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”
201
2017-01-16
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).
202
2017-01-16
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
203
2017-01-16
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
204
2017-01-16
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
410
205
2017-01-16
CYC
411
Przykład CYC
412
206
2017-01-16
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).
207
2017-01-16
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
415
Watson gra z mistrzami w Va Banque
416
208
2017-01-16
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
418
209
2017-01-16
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
419
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
420
210
2017-01-16
Interfejs głosowy
421
Początki komunikacji człowiek komputer
422
211
2017-01-16
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)
423
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.
424
212
2017-01-16
Obecne zastosowania
ekranów dotykowych
425
Przyszłość, już teraz tylko
nikt jej nie chce *
* (poza Billem Gatesem)
Microsoft Surface - a new
$10,000 touchscreen table. 426
213
2017-01-16
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ół (?).
427
Kto to?
428
214
2017-01-16
HAL 9000 –Odyseja kosmiczna
429
Systemy dialogowe
• Najbardziej naturalny sposób
komunikacji dla człowieka
• Atrakcyjny
• Prosty dla nieprzeszkolonych osób
• Sprzyja miniaturyzacji
430
215
2017-01-16
Wirtualni doradcy
•Symulacja osobowości
•Mowa ciała
•Zaskakiwanie
•Synteza mowy
•Planowane ASR
431
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?
432
216
2017-01-16
Standard dialogue in a computer game
433
434
217
2017-01-16
435
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ż.
436
218
2017-01-16
Dialogue System Architecture
MIT
Regina Barzilay
437
438
219
2017-01-16
Example
439
440
220
2017-01-16
441
Surface form is a weak predictor
442
221
2017-01-16
443
Hidden Markov Model for Dialogue Acts
Interpretation
444
222
2017-01-16
HMMs for dialogue acts interpretation
445
446
223
2017-01-16
How to Generate This Semantics
447
Natural language generation
448
224
2017-01-16
States in the dialogue system
449
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
450
225
2017-01-16
AIML - Artificial Intelligence
Markup Language
451
AIML - Artificial Intelligence
Markup Language
452
226
2017-01-16
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
453
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>
454
227
2017-01-16
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
455
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
456
you know who X is?" to "Who is X?"
228
2017-01-16
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>
457
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>
458
229
2017-01-16
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
459
a language tutor.
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>
Both, detects the
keyword when it
appears by itself, and
provides the generic
response.
<category>
<pattern>_ MOTHER</pattern>
<template><srai>MOTHER</srai>
</template>
</category>
Detects the keyword
as the suffix of a
sentence.
460
230
2017-01-16
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
461
written and stored only once.
Conditionals
Conditional branches using only the <srai> tag.
<category>
<category>
<category>
<pattern>
<pattern>WHO IS
<pattern>WHOISHE * WHOISHE
HE</pattern>
</pattern>
UNKNOWN
<template><srai>
<template>He is <get </pattern>
name="he"/>.
WHOISHE <get
<template> I don’t
name="he"/></srai> </template>
know who he is.
</template>
</category>
</template>
</category>
</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
462
through the <condition> tag.
231
2017-01-16
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
463
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.
464
232
2017-01-16
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
465
lines.
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>
466
233
2017-01-16
Facade
• http://www.interactivestory.net/
• Download and play
467
Typy wypowiedzi
468
234
2017-01-16
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
469
235

Podobne dokumenty