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

Hasonló dokumentumok
A nyelvi kompetencia és a nyelvi performancia határán

A sz.ot.ag Optimalitáselmélet szimulált hıkezeléssel

Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben

Optimalitáselmélet formális megközelítésben

Optimalitáselmélet és analógia: tényleg kiengesztelhetetlen ellentét?

Ami megjelenik, és ami nem jelenik meg a beszédben Performanciahibák, fedett információ, nyelvi változás (toborzás)

Keresések Gregorics Tibor Mesterséges intelligencia

Dr. Schuster György február / 32

Számítógépes döntéstámogatás. Genetikus algoritmusok

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

Gépi tanulás a gyakorlatban. Lineáris regresszió

Bevezetés az informatikába

Véletlen sorozatok ellenőrzésének módszerei. dolgozat

angolul: greedy algorithms, románul: algoritmi greedy

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

értékel függvény: rátermettségi függvény (tness function)

Mesterséges Intelligencia I. (I602, IB602)

Nyelvtudományi irányzatok és módszerek a 20. században

Keresési algoritmusok, optimalizáció

Funkcionális Nyelvek 2 (MSc)

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21

Visszacsatolt (mély) neurális hálózatok

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

Táblázatok fontosabb műveletei 1

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

Searching in an Unsorted Database

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50

Ugrólisták. RSL Insert Example. insert(22) with 3 flips. Runtime?

Adatbányászati szemelvények MapReduce környezetben

Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet

Diszkrét Irányítások tervezése. Heurisztika Dr. Bécsi Tamás

2. Visszalépéses keresés

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

A digitális számítás elmélete

Intelligens Rendszerek Elmélete. Párhuzamos keresés genetikus algoritmusokkal

Gépi tanulás Gregorics Tibor Mesterséges intelligencia

Mintavételes szabályozás mikrovezérlő segítségével

2018, Funkcionális programozás

Programozási módszertan. Mohó algoritmusok

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

Megoldott feladatok. Informatika

Adattípusok. Max. 2GByte

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

XML adatkezelés. 11. témakör. Az XQuery nyelv alapjai. XQuery. XQuery célja egy imperatív lekérdező nyelv biztosítása. XQuery.

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

Optimalitáselmélet formális megközelítésben

Adattípusok. Max. 2GByte

Kifejezések. Kozsik Tamás. December 11, 2016

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

Genetikus algoritmusok

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Megújuló energia bázisú, kis léptékű energiarendszer

Tanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

ÖNJAVÍTÓ AGGREGÁLÁS SZENZORHÁLÓZATOKBAN ÉS AGGREGÁTOR NODE VÁLASZTÁS. Schaffer Péter. Tézisfüzet. Konzulens: Buttyán Levente, Ph.D.

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,...

Mesterséges Intelligencia MI

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

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

értékel függvény: rátermettségi függvény (tness function)

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

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

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

GEOSTATISZTIKA II. Geográfus MSc szak. 2019/2020 I. félév TANTÁRGYI KOMMUNIKÁCIÓS DOSSZIÉ

2018, Funkcionális programozás

A Számítástudomány alapjai

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus

Az első fájlos program

Neurális hálózatok.... a gyakorlatban

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

BABEŞ-BOLYAI TUDOMÁNYEGYETEM MATEMATIKA-INFORMATIKA KAR Felvételi verseny - minta Informatika írásbeli

Elektronika 2. TFBE1302

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

Algoritmuselmélet 1. előadás

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

Dinamikus modellek szerkezete, SDG modellek

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

Fordítás Kódoptimalizálás

Imperatív programozás

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

Tuesday, March 6, 12. Hasító táblázatok

Adatbázis Rendszerek II. 2. Gyakorló környezet

Algoritmusok vektorokkal keresések 1

Neurális hálózatok bemutató

Algoritmusok bonyolultsága

Debreceni Egyetem Informatikai Kar. Fazekas István. Neurális hálózatok

BASH SCRIPT SHELL JEGYZETEK

Fejlett programozási nyelvek C++ Iterátorok

A digitális számítás elmélete

2018, Diszkrét matematika

2. Visszalépéses stratégia

Algoritmizálás és adatmodellezés tanítása 1. előadás

Automaták és formális nyelvek

Számítógépes geometria (mester kurzus)

Átírás:

A sz.ot.ag Optimalitáselmélet szimulált hőkezeléssel Bíró Tamás Humanities Computing, CLCG University of Groningen, Hollandia valamint Eötvös Loránd Tudományegyetem, Budapest birot@let.rug.nl, birot@nytud.hu III. Magyar Számítógépes Nyelvészeti Konferencia 2005. december 8. Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 1/ 16

Optimalitáselmélet (Optimality Theory) Prince & Smolensky, 1993 / 2004 OT tábla: a legjobb jelölt megkeresése, lexikografikus rendezés alapján C N C N 1... C k+1 C k C k 1 C k 2... w 2 0 1 2 3 0 w 2 0 1 3! 1 2 w 3! 0 1 3 1 2 Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 2/ 16

Áttekintés Az alapprobléma: az optimális jelölt megtalálása: E(w) = ( ) C N (w), C N 1 (w),..., C 0 (w) SR(UR) = argopt w Gen(UR) E(w) N N+1 0 Szimulált hőkezelés (szimulált lehűtés, simulated annealing) OT + SA = SA-OT, ezért topológia bevezetése OT-ben A topológia szerepe: szótagolás, mint példa Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 3/ 16

Az alapprobléma: az optimális jelölt megtalálása Meglehetősen nehéz feladat lehet (NP-teljes, Eisner 1997), különösen nagy vagy végtelen halmazon. Dinamikus programozás (dynamic programing, Tesar & Smolensky, 2000; Kuhn, 2000: LFG-OT) chart parsing; Véges állapotú automaták (FSA: Ellison, 1994; Karttunen, 1998; Frank & Satta, 98; Gerdemann & van Noord, 2000; Jäger, 2002; Bíró) Genetikus algoritmus (GA: Turkel, 1994) De vajon kell-e tökéletes megoldásra törekedni? Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 4/ 16

Szimulált hőkezelés (Szimulált lehűtés, simulated annealing, SA) Egy függvény globális minimumát keressük. SA: elterjedt algoritmus, ötlet a statisztikus fizikából (termodinamikából) P (w w ) = 8 < 1 ha E(w ) E(w) : e E(w ) E(w) kt ha E(w ) > E(w) Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 5/ 16

Gradient descent w := w_init ; Repeat Randomly select w from the set Neighbours(w); Delta := E(w ) - E(w) ; if Delta < 0 then w := w ; else do nothing end-fi Until stopping condition = true Return w # w is an approximation to the optimal solution Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 6/ 16

Szimulált hőkezelés w := w_init ; t := t_max ; Repeat Randomly select w from the set Neighbours(w); Delta := E(w ) - E(w) ; if Delta < 0 then w := w ; else generate random r uniformly in range (0,1) ; if r < exp(-delta / t) then w := w ; end-fi t := alpha(t) Until stopping condition = true # decrease t Return w # w is an approximation to the optimal solution Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 7/ 16

OT + SA = SA-OT véletlen bolyongás az jelöltek halmazán Neighbours(w): szomszédsági struktúra (topológia) lokális optimumok, amelyekbe beragadhat az algoritmus az algoritmus pontossága függ az algoritmus sebességétől. Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 8/ 16

Az SA-OT algoritmus w := w_init ; for K = K_max to K_min step K_step for t = t_max to t_min step t_step CHOOSE random w in Neighbours(w) ; COMPARE w to w: C := fatal constraint d := C(w ) - C(w); if d <= 0 then w := w ; else w := w with probability end-for end-for return w P(C,d;K,t) = 1, if C < K = exp(-d/t), if C = K = 0, if C > K Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 9/ 16

Példa: szótagolás (1) Szótag: (onset)+nukleusz+(kóda) ; Szó: szótag + Az OT modell (Prince & Smolensky 1993/2004): Bemeneti sztring (UR): pl. anta Szótagszerkezet, alulelemzés (törlés, underparsing), túlelemzés (epentézis, overparsing) Jelöltek halmaza (reguláris): pl. N[a]D[n]O[t]N[a], O[ ]N[a]X[n]D[t]X[a], O[ ]N[a]X[n]D[t]X[a]N[ ], O[ ]N[ ]D[ ]N[a]X[n]D[t]O[ ]N[a]. Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 10/ 16

Példa: szótagolás (2) Constraint-ek: Onset: a szótagkezdettel nem rendelkező szótagok száma. NoCoda: a kódával rendelkező szótagok száma Parse: az alulelemzett szegmentumok száma. FillNucleus: a túlelemzett szótagmagok száma. FillOnset: a túlelemzett szótagkezdetek száma. Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 11/ 16

Az SA-OT algoritmus (ismétlés) w := w_init ; for K = K_max to K_min step K_step for t = t_max to t_min step t_step CHOOSE random w in Neighbours(w) ; COMPARE w to w: C := fatal constraint d := C(w ) - C(w); if d <= 0 then w := w ; else w := w with probability end-for end-for return w P(C,d;K,t) = 1, if C < K = exp(-d/t), if C = K = 0, if C > K Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 12/ 16

A topológia definíciója CHOOSE random w in Neighbours(w) ; w-ből w -be pontosan egy elemi lépés vezet: P reparse valószínűséggel 1 szótaghatár elmozdul (onset-ből kóda vagy kódából onset) 1 P reparse valószínűséggel epentézis vagy törlés (50 50%). + P postproc valószínűséggel törlünk egy O[ ]N[ ]-t; vagy összevonunk egy N[ ]X[a]-t vagy egy X[a]N[ ]-t N[a]- vá, ill. egy O[ ]X[t]-t vagy X[t]O[ ]-t O[t]-vé. Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 13/ 16

Előzetes eredmények P rep % P rep % 0.00 15 0.60 20 0.10 15 0.70 15 0.20 15 0.80 14 0.30 16 0.90 9 0.40 14 1.00 3 0.50 17 P postp % P postp % P postp % 0.00 19 0.35 19 0.70 14 0.05 11 0.40 15 0.75 15 0.10 8 0.45 12 0.80 16 0.15 10 0.50 13 0.85 14 0.20 14 0.55 11 0.90 16 0.25 18 0.60 11 0.95 21 0.30 14 0.65 14 1.00 25 A helyes output (O[ ]N[a]D[t]O[t]N[a]) gyakorisága (%), egy-egy paraméter függvényében (miközben a másik paraméterre átlagoltunk). Az input anta volt, a hierarchia: Onset FillNucleus Parse FillOnset NoCoda. Minden (P reparse, P postproc ) paraméterpár 10-szer futott. Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 14/ 16

Összefoglalás: Optimalitáselmélet kibővítése topológiával + paraméterekkel. A topológia paraméterei befolyásolják a kimenetet Lokális optimumok = performanciahibák Kipróbálható demo: http://www.let.rug.nl/ birot/sa-ot/ Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 15/ 16

Köszönöm a figyelmet! Bíró Tamás birot@let.rug.nl, birot@nytud.hu Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 16/ 16