Algoritmusok és Adatszerkezetek II. utolsó előadás Beszédtechnológiai algoritmusok. (csak egy kis felszínkapargatás)

Hasonló dokumentumok
A LEVENSHTEIN TÁVOLSÁG THE LEVENSHTEIN DISTANCE

Beszédfelismerés. Izolált szavas, zárt szótáras beszédfelismerők A dinamikus idővetemítés

A VERBIDENT-SD-2 izolált szavas gépi beszédfelismerő

Idősorok elemzése. Salánki Ágnes

Adaptív dinamikus szegmentálás idősorok indexeléséhez

Nagyméretű Adathalmazok Kezelése

Automatikus beszédfelismerés Mérési Segédlet

Rejtett Markov Modell

Fraktál alapú képtömörítés p. 1/26

Programozás alapjai. 5. előadás

Számítógép és programozás 2

Közösség detektálás gráfokban

Dinamikus programozás vagy Oszd meg, és uralkodj!

Id sorok elemzése adatbányászati módszerekkel

2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét, amely februári keltezésű (bármely év).

TYPHOON computer. Insportline Hungary kft.

Adatszerkezetek 2. Dr. Iványi Péter

Objektív beszédminősítés

BEKE ANDRÁS, FONETIKAI OSZTÁLY BESZÉDVIZSGÁLATOK GYAKORLATI ALKALMAZÁSA

Neurális hálózatok bemutató

Mély neuronhálók alkalmazása és optimalizálása

Vektorugrás védelmi funkció blokk

ICT ÉS BP RENDSZEREK HATÉKONY TELJESÍTMÉNY SZIMULÁCIÓJA DR. MUKA LÁSZLÓ

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

1. tétel - Gráfok alapfogalmai

A Szállítási feladat megoldása

Programozási módszertan. Dinamikus programozás: Nyomtatási feladat A leghosszabb közös részsorozat

GÉPI ÉS EMBERI POZICIONÁLÁSI, ÉRINTÉSI MŰVELETEK DINAMIKÁJA

Minden az adatról. Csima Judit február 11. BME, VIK, Csima Judit Minden az adatról 1 / 41

Környezetgazdaságtan. A Pigou-i szabályozás tervezése. A szabályzóeszköz kiválasztásának szempontjai

Operációs rendszerek II. Folyamatok ütemezése

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Algoritmuselmélet 2. előadás

A HANGOK TANÁTÓL A BESZÉDTECHNOLÓGIÁIG. Gósy Mária. MTA Nyelvtudományi Intézet, Kempelen Farkas Beszédkutató Laboratórium

HHF0CX. k darab halmaz sorbarendezésének a lehetősége k! Így adódik az alábbi képlet:

Beszédtechnológia a médiában. Tibor Fegyó SpeechTex Kft.

Funkcionálanalízis. n=1. n=1. x n y n. n=1

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Dinamikus programozás alapú szivattyú üzemvitel optimalizálási technikák (főként) kombinatorikus vízműhálózatokra

Döntési rendszerek I.

TANMENET javaslat. a szorobánnal számoló. osztály számára. Vajdáné Bárdi Magdolna tanítónő

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

2015. évi Bolyai János Megyei Matematikaverseny MEGOLDÁSI ÉS ÉRTÉKELÉSI ÚTMUTATÓ 9. osztály

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

Programozási módszertan. Dinamikus programozás: A leghosszabb közös részsorozat

8. Mohó algoritmusok Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.

Újfajta, automatikus, döntési fa alapú adatbányászati módszer idősorok osztályozására

A félév során előkerülő témakörök

Programozási módszertan. Mohó algoritmusok

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN

Mátrixok, mátrixműveletek

Algoritmusok és adatszerkezetek 2.

A szimplex algoritmus

TÉSÉÉRT A COMPUTATIONAL SOCIAL SCIENCE ESZKÖZEIVEL 1

Deep Learning a gyakorlatban Python és LUA alapon. Beszédfelismerés (ASR)

Objektív beszédminısítés

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

EGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

Számítógépes Hálózatok és Internet Eszközök

Béres Mária TANÍTÓI KÉZIKÖNYV. Színes matematika tankönyvsorozat 2. osztályos elemeihez

Felvételi tematika INFORMATIKA

Tanmenet Matematika 8. osztály HETI ÓRASZÁM: 3,5 óra ( 4-3) ÉVES ÓRASZÁM: 126 óra

Előadó: Nagy István (A65)

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Matematikai alapok 1 Tantárgyi útmutató

ANOVA összefoglaló. Min múlik?

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

A termelésirányítás optimalizálása az IBM adattároló gyárában

11. Matematikai statisztika

MATEMATIKA EMELT SZINTŰ SZÓBELI VIZSGA TÉMAKÖREI (TÉTELEK) 2012

Beszédfelismerés, beszédmegértés

Lineáris egyenletrendszerek

Az Ethernet példája. Számítógépes Hálózatok Az Ethernet fizikai rétege. Ethernet Vezetékek

EÖTVÖS LORÁND TUDOMÁNYEGYETEM KLASSZIFIKÁCIÓ AZ ADATBÁNYÁSZATBAN

1. Házi feladat. Határidő: I. Legyen f : R R, f(x) = x 2, valamint. d : R + 0 R+ 0

GAZDASÁGI STATISZTIKA

8. feladatsor. Kisérettségi feladatsorok matematikából. 8. feladatsor. I. rész

Következõ: Lineáris rendszerek jellemzõi és vizsgálatuk. Jelfeldolgozás. Lineáris rendszerek jellemzõi és vizsgálatuk

Összefoglalás és gyakorlás

Mintaillesztő algoritmusok. Ölvedi Tibor OLTQAAI.ELTE

19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI

Algoritmusok és adatszerkezetek 2.

Kondenzátorvédelmi funkció feszültségváltós kettős csillagkapcsolású telepre

117. AA Megoldó Alfréd AA 117.

A sz.ot.ag. III. Magyar Számítógépes Nyelvészeti Konferencia december 8. Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 1/ 16

Számításelmélet. Második előadás

Mesterséges intelligencia 2. laborgyakorlat

Irányított TULAJDONSÁGRA IRÁNYULÓ Melyik minta sósabb?, érettebb?, stb. KEDVELTSÉGRE IRÁNYULÓ Melyik minta jobb? rosszabb?

Mohó algoritmusok. Példa:

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Algoritmusok és adatszerkezetek gyakorlat 07

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

Az alállomási kezelést támogató szakértői funkciók

Átírás:

Algoritmusok és Adatszerkezetek II. utolsó előadás Beszédtechnológiai algoritmusok (csak egy kis felszínkapargatás)

Beszédtechnológia Eredeti feladat: beszédfelismerés Input: beszédjel (mikrofonon át) Output: szöveges leirat (mit mondott?) Lehetőleg minél pontosabb Ma már tágabb a beszédtechnológia Pl. konfliktusfelismerés, orvosi diagnosztika (Alzheimer, Parkinson, EKZ) Egyéb paralingvisztikus ( nyelven túli ) információk kinyerése, pl. fizikai terhelés mértéke, anyanyelv meghatározása (akcentusfelismerés), őszinteség meghatározása (hazugságfelismerés), fogyasztott étel

Dinamikus idővetemítés (DTW) Dynamic Time Warping (DTW): felismerési megközelítés az ősidőkből (H. Sakoe & S. Chiba (1978): "Dynamic programming algorithm optimization for spoken word recognition." Transactions on ASSP 26: 43 49.) Izolált szavas megközelítés: nem szósorozatot akarunk felismerni, csak egy-egy szót (pl. parancsok) Minden felismerhető szóhoz eltárolunk egy példát A bemondott szót minden felismerhető szóval összehasonlítjuk (nem gyors, de kevés szónál akár jó is lehet )

Hogyan vetjük össze a két szót? Problémák: eltérő hosszú szavak lokális hasonlóság? Lokális összevetés: Spektrális felbontás (Fast Fourier Transformation, FFT) Adott ponton adott (audio)frekvencia mennyire erős Rövid (pl. 10ms), egyenlő hosszú darabokra vágjuk (frame) Ez durva (pontatlan) megközelítés, de most elég nekünk ez is Frame-szinten hasonlítunk c(i,j): egyik felvétel i. frame-e mennyire hasonlít a másik felvétel j. frame-ére? (c(i,j) 0; c(i,j)=0 a két frame megegyezik) Gépi tanulás (pl. GMM, ANN): majd Mest.Int-ből Négyzetes eltérés, euklideszi távolság, Manhattan-távolság

Spektrális felbontás

Hogyan vetjük össze a két szót? Tehát meg tudjuk mondani, hogy két frame (akár két különböző szóból is) mennyire hasonló De még mindig eltérő hosszú szavakat hasonlítunk! Frame-ben mérve is Ugyanazt a szót ugyanaz a beszélő egymás után is különbözőképpen ejti A rövidülés/hosszabbítás nem egyenletes Pl. egyes hangzókat megnyújtunk, hangsúlyozunk stb.

DTW (még mindig) DTW ötlete: az egyes részeket időben ( time ) megnyújtjuk ( warping ) Sőt, mint majd látjuk, dinamikusan is A kiejtett szó i. frame-jét az etalon felvétel j. framejével hasonlítjuk össze Nem össze-vissza: mindkét szóban csak előrefelé léphetünk vagy megállhatunk Frame-szintű távolság (c(i,j)) helyett az egész út összköltsége érdekes Minimális összköltségű utat keresünk Dinamikus algoritmus! Ld. 1. félév

Feltételek Monotonitás: az i és j indexek sosem csökkennek, csak nőnek vagy változatlanok maradnak Folytonosság: nem ugrunk át frame-et; tehát i és j max. 1-gyel nőhet Korlátosság (boundary): az utak az 1. frame-eknél kezdődnek és az utolsó frame-eknél fejeződnek be Ablakozás (window): egy jó útvonal az átló környékén marad (max. r távolságra) (az algoritmus gyorsítása) Emelkedés (slope): egy jó útvonal ne legyen túl meredek vagy lapos (k db. egyik irányba tett lépés után lépjünk a másik irányba is)

Algoritmus d(i,j): optimális út összhossza a felvételek elejétől az i., illetve j. frame-ig d(i,j) 0, 1 i n, 1 j m d(1,j) = Σc(1,k) for all 1 k j d(i,1) = Σc(k,1) for all 1 k i d(i, j) = c(i,j) + min(d(i, j-1), d(i-1, j), d(i-1,j-1)) d(n, m) az optimális út összköltsége Ebből optimális út: visszakeresés De ez most nem kell

A legjobb szó kiválasztása Minden felismerhető szóra megkaptuk a legrövidebb út összhosszát Ez alapján a szavak közül még nem tudunk választani! Hosszú szóra vett távolság várhatóan (sokkal) több lesz Megoldás: normalizálás Az utat elosztjuk a szó hosszával Szimmetrikus: a két szó hosszának összegével Aszimmetrikus: csak a bemondott szóéval

Illesztési távolság Illesztési távolság (edit distance vagy Levenshtein distance) Nem épp egy mai algoritmus Влади мир И. Левенштейн (1965). Двоичные коды с исправлением выпадений, вставок и замещений символов. Доклады Академий Наук СCCP 163 (4): 845 8. Levenshtein, Vladimir I. (February 1966). "Binary codes capable of correcting deletions, insertions, and reversals". Soviet Physics Doklady 10 (8): 707 710.

Alapprobléma Adott két string (szósorozat, proteinszekvencia, stb.) Tokenek (karakterek, proteinek, szavak stb.: véges! halmaz elemei) Nem feltétlenül azonos hosszúak! Mennyire hasonló a kettő egymáshoz? Pontosabban: milyen átalakításokkal kaphatjuk meg egyiket a másikból, ahol a megengedett lépések: Egy token (karakter, protein, szó) beszúrása Egy token törlése Egy token kicserélése egy másikra

Példa

Algoritmus Ez is standard dinamikus algoritmus (ld. 1. félév) X: x 1 x 2 x n, Y: y 1 y 2 y m, X-ből szeretnénk előállítani Y-t d(x i,y j ) = d(i,j) 0, 0 i n, 0 j m d(0, 0) = 0, d(i, 0) = i, d(0, j) = j d(i, j) = min(d(i, j-1) + 1, d(i-1, j) + 1, d(i-1, j-1) + (x i =y j )? 0 : 1) d(n, m) az optimális műveletsorozat összköltsége Ebből optimális műveletsorozat: visszakeresés

Kitöltött táblázat

Súlyozás Az eredeti algoritmusban a beszúrásnak, törlésnek, cserének nincs külön költsége De lehet: c i, c d, c s (insertion, deletion, substitution) Pl. 3/3/4, vagy 7/7/10 d(0, 0) = 0, d(i, 0) = ic d, d(0, j) = jc i d(i, j) = min(d(i, j-1) + c i, d(i-1, j) + c d, d(i-1, j-1) + (x i =y j )? 0 : c s )

Beszédfelismerési alkalmazás Mondatszintű (bemondásszintű) beszédfelismerést végzünk valamilyen módon (ld. Tóth László: Természetes nyelvi feldolgozás, beszédfelismerés c. MSc-tárgy) Ismert a mondat helyes (etalon) átirata A beszédfelismerő rendszerünknek is van egy szószintű kimenete (várhatóan nem pont ugyanannyi szóból áll) Kérdés: a kettő mennyire hasonlít? Mennyire pontosan találtuk el az etalon átiratot?

Beszédfelismerési alkalmazás Etalon: RÁADÁSUL AZ ELEMZŐK SZERINT EZ A KÜLÖNADÓ EGYÁLTALÁN NEM SEGÍTI MAJD AZ AMÚGY IS BAJBAN LÉVŐ KIS ÉS KÖZÉPVÁLLALKOZÁSOK PÉNZHEZ JUTÁSÁT Felismert: RÁADÁSUL AZ ELEMZŐ SZERINT EZ KÜLÖNADÓ EGYÁLTALÁN NEM SEGÍTI MAJD AZ AMÚGY IS BAJBAN LÉVŐ KIS ÉS KÖZÉPVÁLLALKOZÁSOK PÉNZHEZ JUTÁSÁT Accuracy = (N S D I) / N N: etalonban lévő szavak száma, S: cserék száma, D: törlések száma, I: beszúrások száma Most: N = 21, S = 1, D = 1, I = 0, Acc= 19 / 21 = 90,5%