Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben Biró Tamás Eötvös Loránd Tudományegyetem KöMaL Ifjúsági Ankét, 2015. október 28. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 1
Hogyan működik az emberi agyban a nyelvi app? Mi zajlik az emberi agyban? Behaviorizmus az 1950-es évekig: az emberi agy, mint fekete doboz. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 2
Hogyan működik az emberi agyban a nyelvi app? Mi zajlik az emberi agyban? Kognitív fordulat az 1960-as években: az emberi agy, mint számítógép. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 3
Hogyan működik az emberi agyban a nyelvi app? Mi zajlik az emberi agyban? Kognitív fordulat az 1960-as években: az emberi agy, mint számítógép. A nyelvészet, mint reverse engineering. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 4
Áttekintés 1 Optimalitáselmélet: egy nyelvészeti modell 2 Az Optimalitáselmélet matematizálása 3 Az Optimalitáselmélet implementálása 4 Összefoglalás és tanulságok Amire ma nem térek ki: számítógépes nyelvészet, mint nyelvtechnológia. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 5
Áttekintés 1 Optimalitáselmélet: egy nyelvészeti modell 2 Az Optimalitáselmélet matematizálása 3 Az Optimalitáselmélet implementálása 4 Összefoglalás és tanulságok Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 6
Egy (leegyszerűsített) nyelvészeti tipológia T.f.h. a világ nyelvei három típusba sorolhatók: Szóhangsúly az első szótagon (pl. hókuszpokusz). Szóhangsúly az utolsó szótagon (pl. hokuszpokúsz). Szóhangsúly az utolsó előtti szótagon (pl. hokuszpókusz). Nincs nyelv, amelyben a második szótagon (pl. hokúszpokusz). Nulladik közelítésben igaz. Első közelítésben nagyon sok nyelv ennél komplikáltabb hangsúlyrendszerrel rendelkezik. Az igaz, hogy második szótagos nyelv alig létezik. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 7
OT: a tipológia egy lehetséges modellje 1 Bemenet (szó hangsúly nélkül) kimenet (szó hangsúllyal). 2 Bevezetünk három függvényt (a.k.a. constraint, megszorítás, korlát): EARLY: hangsúly minél hamarabb. = szó eleje és hangsúlyos szótag közti szótagok száma. LATE: hangsúly minél később. = hangsúlyos szótag és szó vége közti szótagok száma. NONFINAL: utolsó szótag ne legyen hangsúlyos. = az utolsó szótagon lévő hangsúlyok száma (0 vagy 1). 3 Gen generátor-függvény: a bemenethez tartozó lehetséges kimenetelek halmaza. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 8
OT: a tipológia egy lehetséges modellje 1 Bemenet (szó hangsúly nélkül) kimenet (szó hangsúllyal). 2 Bevezetünk három függvényt (a.k.a. constraint, megszorítás, korlát): EARLY: hangsúly minél hamarabb. = szó eleje és hangsúlyos szótag közti szótagok száma. LATE: hangsúly minél később. = hangsúlyos szótag és szó vége közti szótagok száma. NONFINAL: utolsó szótag ne legyen hangsúlyos. = az utolsó szótagon lévő hangsúlyok száma (0 vagy 1). 3 Gen generátor-függvény: a bemenethez tartozó lehetséges kimenetelek halmaza. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 8
OT: a tipológia egy lehetséges modellje 1 Bemenet (szó hangsúly nélkül) kimenet (szó hangsúllyal). 2 Bevezetünk három függvényt (a.k.a. constraint, megszorítás, korlát): EARLY: hangsúly minél hamarabb. = szó eleje és hangsúlyos szótag közti szótagok száma. LATE: hangsúly minél később. = hangsúlyos szótag és szó vége közti szótagok száma. NONFINAL: utolsó szótag ne legyen hangsúlyos. = az utolsó szótagon lévő hangsúlyok száma (0 vagy 1). 3 Gen generátor-függvény: a bemenethez tartozó lehetséges kimenetelek halmaza. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 8
OT: a tipológia egy lehetséges modellje Gen(σσσσ) = {[suuu], [usuu], [uusu], [uuus]}. /σσσσ/ EARLY LATE NONFINAL [s u u u ] 0 3 0 [u s u u ] 1! 2 0 [u u s u ] 2! 1 0 [u u u s ] 3! 0 1 SF(σσσσ) =[suuu] Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 9
OT: a tipológia egy lehetséges modellje Gen(σσσσ) = {[suuu], [usuu], [uusu], [uuus]}. /σσσσ/ LATE EARLY NONFINAL [s u u u ] 3! 0 0 [u s u u ] 2! 1 0 [u u s u ] 1! 2 0 [u u u s ] 0 3 1 SF(σσσσ) =[uuus] Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 10
OT: a tipológia egy lehetséges modellje Gen(σσσσ) = {[suuu], [usuu], [uusu], [uuus]}. /σσσσ/ NONFINAL LATE EARLY [s u u u ] 0 3! 0 [u s u u ] 0 2! 1 [u u s u ] 0 1 2 [u u u s ] 1! 0 3 SF(σσσσ) =[uusu] Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 11
OT: a tipológia egy lehetséges modellje Az Optimalitáselmélet helyesen modellezi a nyelvtipológiát: Szóhangsúly az első szótagon: EARLY LATE, NONFINAL, NONFINAL EARLY LATE Szóhangsúly az utolsó szótagon: LATE EARLY, NONFINAL Szóhangsúly az utolsó előtti szótagon: NONFINAL LATE EARLY Nincs nyelv, amelyben a második szótagon: A három függvény hat permutációja közül egyik sem állítja elő ezt a nyelvtípust. valamint Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 12
Áttekintés 1 Optimalitáselmélet: egy nyelvészeti modell 2 Az Optimalitáselmélet matematizálása 3 Az Optimalitáselmélet implementálása 4 Összefoglalás és tanulságok Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 13
Hogyan működik az emberi agyban a nyelvi app? U: szókincs (vagy gondolat, vagy bármi más) Bemenet: u U. Kimenet: SF(u) Gen(u). Adott u-hoz nyelvtípusonként más SF(u). Hogyan határozzuk meg SF(u)-t? Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 14
Formalizáljuk az OT-t Adott U. Bemenet: u U. Adott Gen. Kimenet: SF(u) Gen(u). Adott függvények (constraint-ek) véges halmaza: C = {C 1, C 2,..., C n }. Az egyszerűség kedvéért t.f.h. i {1,... n}-re C i : Gen(u) N 0. Nyelvtan: rendezés C-n. Ez a rendezés nyelvtípusonként változik. T.f.h.C 1 C 2... C n. SF(u) legyen Gen(u) optimális eleme az adott nyelvtan szerint. Hogyan értsük ezt? Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 15
Formalizáljuk az OT-t Adott U. Bemenet: u U. Adott Gen. Kimenet: SF(u) Gen(u). Adott függvények (constraint-ek) véges halmaza: C = {C 1, C 2,..., C n }. Az egyszerűség kedvéért t.f.h. i {1,... n}-re C i : Gen(u) N 0. Nyelvtan: rendezés C-n. Ez a rendezés nyelvtípusonként változik. T.f.h.C 1 C 2... C n. SF(u) legyen Gen(u) optimális eleme az adott nyelvtan szerint. Hogyan értsük ezt? Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 15
OT: a tipológia egy lehetséges modellje (emlékeztető) Gen(σσσσ) = {[suuu], [usuu], [uusu], [uuus]}. /σσσσ/ EARLY LATE NONFINAL [s u u u ] 0 3 0 [u s u u ] 1! 2 0 [u u s u ] 2! 1 0 [u u u s ] 3! 0 1 SF(σσσσ) =[suuu] Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 16
Formalizáljuk az OT-t (példa) SF(u) = arg opt c Gen(u) H(c) u = σσσσ és Gen(σσσσ) = {[suuu], [usuu], [uusu], [uuus]}. Magyar nyelvtan: C 1 = EARLY C 2 = LATE C 3 = NONFINAL. Vegyük észre, hogy a táblázat minden sora egy vektor: H([suuu]) = (0, 3, 0), H([usuu]) = (1, 2, 0), H([uusu]) = (2, 1, 0), H([uuus]) = (3, 0, 1). Vektorok lexikografikus rendezése: a b a.cs.a. ha létezik i, hogy (1) minden j < i-re a j = b j, és (2) a i < b i. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 17
Formalizáljuk az OT-t SF(u) = arg opt c Gen(u) H(c) Optimalitáselmélet: H(c) = ( C 1 (c), C 2 (c),..., C n (c) ) nyelvtan: a C 1 C 2... C n rendezés. opt: lexikografikus rendezés R n -n. Harmónianyelvtan: H(c) = n i=1 w i C i (c) nyelvtan: a C i -khez tartozó w i súlyok. opt: min az R-n értelmezett < reláció szerint. ( Elvek és paraméterek: H(c) = i=1 n (w i C i (c)) nyelvtan: a C i -khez tartozó w i kapcsolók. opt: a hamis optimálisabb mint az igaz. ) Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 18
Áttekintés 1 Optimalitáselmélet: egy nyelvészeti modell 2 Az Optimalitáselmélet matematizálása 3 Az Optimalitáselmélet implementálása 4 Összefoglalás és tanulságok Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 19
Formalizáltuk az OT-t SF(u) = arg opt c Gen(u) H(c) Felmerülő komputációs kérdések: 1 Generálás: adott u és Gen(u). Adott (C, ). Vagyis adott H(c) minden c Gen(u)-ra. Hogyan találjuk meg Gen(u) optimális elemét (C, ) szerint? 2 Tanulás: adott u és Gen(u). Adott C, de rendezés nélkül. Adott egy sor ( u r, SF(u r ) ) tanulóadat. Hogyan találjuk meg azt a rendezést (nyelvtant), amely a tanulóadatokat reprodukálni tudja? Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 20
Formalizáltuk az OT-t SF(u) = arg opt c Gen(u) H(c) Felmerülő komputációs kérdések: 1 Generálás: adott u és Gen(u). Adott (C, ). Vagyis adott H(c) minden c Gen(u)-ra. Hogyan találjuk meg Gen(u) optimális elemét (C, ) szerint? 2 Tanulás: adott u és Gen(u). Adott C, de rendezés nélkül. Adott egy sor ( u r, SF(u r ) ) tanulóadat. Hogyan találjuk meg azt a rendezést (nyelvtant), amely a tanulóadatokat reprodukálni tudja? Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 20
Formalizáltuk az OT-t SF(u) = arg opt c Gen(u) H(c) Generálás: adott u és Gen(u). Adott (C, ). Vagyis adott H(c) minden c Gen(u)-ra. Hogyan találjuk meg Gen(u) optimális elemét (C, ) szerint? Nézzük végig Gen(u) minden elemét! És ha Gen(u) végtelen (vagy praktikus szempontból túl nagy) halmaz? Több megoldást is javasoltak már. Javaslatom: vegyük észre, hogy az emberi agy is gyakran hibázik! Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 21
Formalizáltuk az OT-t SF(u) = arg opt c Gen(u) H(c) Generálás: adott u és Gen(u). Adott (C, ). Vagyis adott H(c) minden c Gen(u)-ra. Hogyan találjuk meg Gen(u) optimális elemét (C, ) szerint? Nézzük végig Gen(u) minden elemét! És ha Gen(u) végtelen (vagy praktikus szempontból túl nagy) halmaz? Több megoldást is javasoltak már. Javaslatom: vegyük észre, hogy az emberi agy is gyakran hibázik! Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 21
Szimulált hőkezelés (szimulált lehűtés) (Eddig matematika és informatika. Most statisztikus fizika.) Véletlen bolyongás a jelöltek halmazán: szomszédról szomszédra. Épp w 1 -en állok. Átlépjek-e w 2 -re? Átlépés valószínűsége (Boltzmann-eloszlás T hőmérséklet mellett): { 1 ha w 2 w 1 P(w 1 w 2 T ) = e H(w 2 ) H(w 1 ) T egyébként Heurisztikus/közelítő optimalizáció: ha elég hosszan bolyongok, jó valószínűséggel megtalálom a (globális) minimumot. De néha lokális minimumba beragadhatok. A sebesség ára a hibázás! Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 22
Szimulált hőkezelés (szimulált lehűtés) Álljon meg a menet! Ha H(w) vektor, akkor mi a szösz e H(w 2 ) H(w 1 ) T? H(w 2 ) H(w 1 ) vektor. Legyen T is vektor, és definiáljuk két vektor hányadosát! Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 23
Szimulált hőkezelés (szimulált lehűtés) Álljon meg a menet! Ha H(w) vektor, akkor mi a szösz e H(w 2 ) H(w 1 ) T? H(w 2 ) H(w 1 ) vektor. Legyen T is vektor, és definiáljuk két vektor hányadosát! Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 23
Hogyan definiáljuk két vektor hányadosát? Adott két vektor, a és b R n. Legyen b pozitív vektor, azaz (0, 0,..., 0) b a lexikografikus rendezés szerint. Ekkor: a := sup{r R rb a} b Két vektor hányadosa kb. az a legnagyobb valós szám, amellyel megszorozva az osztót, még az osztandónál lexikografikusan nem nagyobb vektort kapunk. Pontosabban, a hányados ezen számok halmazának a felső korlátja. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 24
Hogyan definiáljuk két vektor hányadosát? Néhány érdekesség: a := sup{r R rb a} b Ha ugyanannyi nullával kezdődnek, akkor az eredmény az első nem nulla komponensek hányadosa: (0, 0, 9, 6, 2)/(0, 0, 3, 1, 1) = 3, de (0, 0, 9, 1, 2)/(0, 0, 3, 6, 1) = 3 is. Ha az osztó több nullával kezdődik, mint a pozitív osztandó, akkor a hányados + : (0, 0, 9, 1, 2)/(0, 0, 0, 9, 8) = +. Ugyanebben az esetben, ha az osztandó negatív: (0, 0, 9, 1, 2)/(0, 0, 0, 9, 8) =. Ha az osztó kevesebb nullával kezdődik, mint az osztandó, akkor a hányados mindig 0: (0, 0, 9, 1, 2)/(0, 2, 0, 9, 8) = 0. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 25
Szimulált hőkezelés (szimulált lehűtés) Álljon meg a menet! Ha H(w) vektor, akkor mi a szösz e H(w 2 ) H(w 1 ) T? H(w 2 ) H(w 1 ) vektor. Legyen T is vektor, és definiáljuk két vektor hányadosát! Ez a hányados valós szám, vagy ±. Ilyen kitevőre emelhető e, és valós számot kapunk. Jól lehet szimulálni megfigyelt adatokat, például hangsúly holland gyorsbeszédben. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 26
Példa: hangsúly holland gyorsbeszédben fo.to.toe.stel uit.ge.ve.rij stu.die.toe.la.ge per.fec.tio.nist fényképező kiadó ösztöndíj perfekcionista susu ssus susuu usus fó.to.tòe.stel ùit.gè.ve.ríj stú.die.tòe.la.ge per.fèc.tio.níst fast: 0.82 fast: 0.65 / 0.67 fast: 0.55 / 0.38 fast: 0.49 / 0.13 slow: 1.00 slow: 0.97 / 0.96 slow: 0.96 / 0.81 slow: 0.91 / 0.20 fó.to.toe.stèl ùit.ge.ve.ríj stú.die.toe.là.ge pèr.fec.tio.níst fast: 0.18 fast: 0.35 / 0.33 fast: 0.45 / 0.62 fast: 0.39 / 0.87 slow: 0.00 slow: 0.03 / 0.04 slow: 0.04 / 0.19 slow: 0.07 / 0.80 Szimulált / megfigyelt (Schreuder) gyakoriságok. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 27
Áttekintés 1 Optimalitáselmélet: egy nyelvészeti modell 2 Az Optimalitáselmélet matematizálása 3 Az Optimalitáselmélet implementálása 4 Összefoglalás és tanulságok Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 28
Összefoglalás Hogyan jön össze a nyelv a matematikával és az informatikával? A nyelvészeti modellek matematikai alakra hozhatóak. Ezek a modellek algoritmikusan implementálhatóak: a nyelv kiszámítása az agyban és a nyelvtechnológiában. És a fizikával? A fizika a természet jelenségeit írja le a matematika nyelvén. A formális nyelvészet (matematikai nyelvészet) a nyelv jelenségeit írja le a matematika nyelvén. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 29
Összefoglalás Hogyan jön össze a nyelv a matematikával és az informatikával? A nyelvészeti modellek matematikai alakra hozhatóak. Ezek a modellek algoritmikusan implementálhatóak: a nyelv kiszámítása az agyban és a nyelvtechnológiában. És a fizikával? A fizika a természet jelenségeit írja le a matematika nyelvén. A formális nyelvészet (matematikai nyelvészet) a nyelv jelenségeit írja le a matematika nyelvén. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 29
Összefoglalás Hogyan jön össze a nyelv a matematikával és az informatikával? A nyelvészeti modellek matematikai alakra hozhatóak. Ezek a modellek algoritmikusan implementálhatóak: a nyelv kiszámítása az agyban és a nyelvtechnológiában. És a fizikával? A fizika a természet jelenségeit írja le a matematika nyelvén. A formális nyelvészet (matematikai nyelvészet) a nyelv jelenségeit írja le a matematika nyelvén. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 29
Összefoglalás Hogyan jön össze a nyelv a matematikával és az informatikával? A nyelvészeti modellek matematikai alakra hozhatóak. Ezek a modellek algoritmikusan implementálhatóak: a nyelv kiszámítása az agyban és a nyelvtechnológiában. És a fizikával? A fizika a természet jelenségeit írja le a matematika nyelvén. A formális nyelvészet (matematikai nyelvészet) a nyelv jelenségeit írja le a matematika nyelvén. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 29
Kutatási lehetőségek Érdeklődő középiskolás számos nyelvészeti kutatásba kapcsolódhatnak be: A nyelvelsajátítás és a nyelvváltozás modelljei. Az OTKit programcsomag továbbfejlesztése. Kísérletes adatgyűjtés, majd a megfigyelt jelenség számítógépes nyelvészeti modellezése. Stb. stb. stb. Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 30
Köszönöm a figyelmet! Biró Tamás: biro.tamas@btk.elte.hu http://birot.web.elte.hu/ http://www.birot.hu/ Tools for Optimality Theory http://www.birot.hu/otkit/ Biró Tamás Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben 31