Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty PLIN037 Sémantika a počítače OP VK Mezi bohemistikou a informatikou www.projekt-inova.cz Zuzana Nevěřilová xpopelk@fi.muni.cz Centrum zpracování přirozeného jazyka, B203 Fakulta informatiky, Masarykova univerzita 4. prosince 2014 Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty PLIN037 Sémantika a počítače Předmět PLIN037 Sémantika a počítače je podpořen projektem OP VK Mezi bohemistikou a informatikou. Inovace vysokoškolské výuky češtiny v kontextu počítačového zpracování přirozeného jazyka (INOVA.CZ). www.projekt-inova.cz Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Úspěšnost jazykových nástrojů a zdrojů Jak měřit? Porovnáním se správnými výsledky: • ve shodě se “zdravým rozumem” • ve shodě s experty • rozdělení dat na trénovací a testovací • zlatý standard Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Testování modelů v kolika případech došlo ke shodě modelu s informace od učitele? Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Testování modelů v kolika případech došlo ke shodě modelu s informace od učitele? křížová validace (cross validation): můžeme použít pro klasifikační úlohy (kde máme dost dat) 1. rozdělíme data náhodně v poměru 1:10 až 1:6 2. větší část je trénovací ⇒ natrénujeme klasifikátor 3. menší část je testovací 4. výsledkem trénování je model 5. změříme chybu trénovacích dat 6. změříme chybu testovacích dat 7. proces je možné opakovat s jiným rozdělením dat Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Testování modelů matice záměn (confusion matrix): můžeme použít pro klasifikační úlohy o dvou třídách co určil systém správná klasifikace + − + true positive false negative − false positive true negative Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Testování modelů: příklad Program se učí určovat slovní druhy: pes 1 kost 1 ležet 5 stát 5 rychle 6 hodný 2 jako 6 jak 1 Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Testování modelů: příklad Program se učí určovat slovní druhy: pes 1 1 kost 1 1 ležet 5 5 stát 5 1 rychle 6 6 hodný 2 2 jako 6 8 jak 1 8 Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Testování modelů: příklad Program se učí určovat slovní druhy: pes 1 1 ok kost 1 1 ok ležet 5 5 ok stát 5 1 ne rychle 6 6 ok hodný 2 2 ok jako 6 8 ne jak 1 8 ne Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Testování modelů: příklad Program se učí určovat slovní druhy: pes 1 1 ok kost 1 1 ok ležet 5 5 ok stát 5 1 ne rychle 6 6 ok hodný 2 2 ok jako 6 8 ne jak 1 8 ne Umí systém určovat správně podstatná jména? co určil systém správná klasifikace + − + 2 1 − 1 4 Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Co říká matice záměn? Umí systém určovat správně podstatná jména? co určil systém správná klasifikace + − + 2 1 − 1 4 Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Co říká matice záměn? Umí systém určovat správně podstatná jména? co určil systém správná klasifikace + − + 2 1 − 1 4 Otázka ANO/NE ⇒ skóre (reálné číslo) Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Co říká matice záměn? Umí systém určovat správně podstatná jména? co určil systém správná klasifikace + − + 2 1 − 1 4 Otázka ANO/NE ⇒ skóre (reálné číslo): na 6 otázek z 8 odpověděl systém správně na 2 otázky z 8 odpověděl systém špatně Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Co říká matice záměn? Umí systém určovat správně podstatná jména? co určil systém správná klasifikace + − + 2 1 − 1 4 Otázka ANO/NE ⇒ skóre (reálné číslo): na 6 otázek z 8 odpověděl systém správně na 2 otázky z 8 odpověděl systém špatně celková správnost (overall accuracy):Acc = TP+TN TP+TN+FP+FN celková chyba (overall error):Err = FP+FN TP+TN+FP+FN Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Skóre co určil systém správná klasifikace + − + true positive false negative − false positive true negative celková správnost (overall accuracy):Acc = TP+TN TP+TN+FP+FN celková chyba (overall error):Err = FP+FN TP+TN+FP+FN Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Skóre co určil systém správná klasifikace + − + true positive false negative − false positive true negative celková správnost (overall accuracy):Acc = TP+TN TP+TN+FP+FN celková chyba (overall error):Err = FP+FN TP+TN+FP+FN přesnost (precision): TP TP+FP pokrytí/úplnost (recall): TP TP+FN Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Skóre co určil systém správná klasifikace + − + true positive false negative − false positive true negative celková správnost (overall accuracy):Acc = TP+TN TP+TN+FP+FN celková chyba (overall error):Err = FP+FN TP+TN+FP+FN přesnost (precision): TP TP+FP pokrytí/úplnost (recall): TP TP+FN průměr: P+R 2 míra F1 (F1 score): 2PR P+R Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Skóre a vyváženost tříd (skewed classes) Příklad: rozložení tříd: 3:97 Systém bude vždy klasifikovat 0 Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Skóre a vyváženost tříd (skewed classes) Příklad: rozložení tříd: 3:97 Systém bude vždy klasifikovat 0 co určil systém správná klasifikace 1 0 1 0 3 0 0 97 Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Kde je pravda? více anotací, shoda (Interannotation Agreement): Cohen Kappa, Fleiss Kappa Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Význam promluvy Psí granule a kafe. Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Význam promluvy Psí granule a kafe. • Co si přejete? • Co se to tady vysypalo? • Co máte nejraději? • Cos dnes jedl? • Co po tobě ten pes chtěl? • Co po tobě ten člověk chtěl? • Co po tobě ten člověk mrštil? • . . . Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Analýza promluvy: krabicový model A: Už jsi ten motor smontoval? – Provleč lano tím okem na horní straně motoru. – Jo, mimochodem, koupils už ten benzín? B: Jasně, koupil, když jsem sháněl disk do sekačky. – Zapomněl jsem vzít kanystr, tak jsem koupil nový. A: Byl drahý? B: Ne, ale bude se mi hodit do auta. A: Fajn. – Už to máš provlečené? Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Prostředky koherence • časová souslednost (jednota času, místa a děje) • porušení časové souslednosti je vyjádřeno explicitně: „ještě předtím“ • výrazy jako „Nejprve . . . , potom . . . “, „Oproti tomu . . . “, „také“ • elipsa: Koupila jsem si auto a Marie [si koupila auto] taky. Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Elipsa, výpustka (ellipsis) • Petr šel na večírek, kde [Petr] potkal Pavlu. • Koupila jsem si auto a Marie [si koupila auto] taky. • Mám zavolat já tobě, nebo ty [máš zavolat] mně? • [Mám vám dát na ty brambory] máslo? • Nevím proč [bych měla tuhle knížku číst]. Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Promluvové objekty seznam objektů promluvy (promluvový objekt, PO; discourse entity): • množina prvků znalostní báze (knowledge base, KB), které byly zmíněny a mohou být odkazovány pomocí zájmen • pokud prvek nebyl zmíněn, a přesto může být odkazován, byl evokován jmenná fráze typicky vyjadřuje nějaký PO Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Promluvové objekty seznam objektů promluvy (promluvový objekt, PO; discourse entity): • množina prvků znalostní báze (knowledge base, KB), které byly zmíněny a mohou být odkazovány pomocí zájmen • pokud prvek nebyl zmíněn, a přesto může být odkazován, byl evokován jmenná fráze typicky vyjadřuje nějaký PO Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Promluvové objekty seznam objektů promluvy (promluvový objekt, PO; discourse entity): • množina prvků znalostní báze (knowledge base, KB), které byly zmíněny a mohou být odkazovány pomocí zájmen • pokud prvek nebyl zmíněn, a přesto může být odkazován, byl evokován jmenná fráze typicky vyjadřuje nějaký PO Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Promluvové objekty seznam objektů promluvy (promluvový objekt, PO; discourse entity): • množina prvků znalostní báze (knowledge base, KB), které byly zmíněny a mohou být odkazovány pomocí zájmen • pokud prvek nebyl zmíněn, a přesto může být odkazován, byl evokován jmenná fráze typicky vyjadřuje nějaký PO Karlovii někdo ukradl autoj, kteréj [on]i měl zaparkované před domemk. [on]i Zavolal na policiil , [oni]l přijeli, [oni]l sepsali tom. Za měsíc mui [oni]l napsali, že [oni]l případm odkládají. Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Odkazy v diskurzu exofora (odkaz mimo text) Co je to? endofora (odkaz do textu) v takovém případě anafora (zpětný odkaz) – antecedent (dříve evokovaný PO) Anežka na sebe hodila kabát a vyrazila. katafora (dopředný odkaz) Protože [on] byl chytrý, vydal se David nejprve za svým šéfem. koreference: Václav Klaus, Klaus, bývalý prezident, on, čórlpero druhy anafor: • deixe: Petr si ukrojil chleba a pak ho snědl. • synonymum: Petr si ukrojil chleba a pak krajíc snědl. Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. Karel Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. auto Karel Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. auto Karel Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. Karel auto Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. dům Karel auto Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. Karel? dům? auto Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. policie Karel? dům? auto Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. policie Karel? dům? auto Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. policie Karel? dům? auto Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. ? policie Karel? dům? auto Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. ? Karel? dům? policie auto Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. policie ? Karel? dům? auto Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. policie ? Karel? dům? auto Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Rozpoznání anafor, rezoluce anafor (anaphora resolution, AR): základní algoritmus 1. objekty promluvy (PO): promluvový zásobník (history list) 2. při každé zmínce objektu se PO posune na vrchol zásobníku 3. každý odkaz se nahradí PO, který je nejblíž vrcholu zásobníku a obsahuje gram. shodu (číslo, příp. rod) 4. v jedné klauzi se PO vyskytuje jen jednou Karlovi někdo ukradl auto, které [on] měl zaparkované před domem. [on] Zavolal na policii, [oni] přijeli, [oni] sepsali to. Za měsíc mu [oni] napsali, že [oni] případ odkládají. případ? Karel? dům? policie auto Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Promluvové objekty a znalost světa Karlovii někdo ukradl autoj, kteréj [on]i měl zaparkované před domemk. [on]i Zavolal na policiil , [oni]l přijeli, [oni]l sepsali tom. Za měsíc mui [oni]l napsali, že [oni]l případl odkládají. Jak poznáme, že tom =případm? Jak poznáme, že [oni]l =policie? Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty Promluvové objekty a znalost světa Karlovii někdo ukradl autoj, kteréj [on]i měl zaparkované před domemk. [on]i Zavolal na policiil , [oni]l přijeli, [oni]l sepsali tom. Za měsíc mui [oni]l napsali, že [oni]l případl odkládají. Jak poznáme, že tom =případm? Jak poznáme, že [oni]l =policie? Potřebujeme znalost o světě. Úspěšnost jazykových nástrojů Kde je pravda? Anafory Prostředky koherence Promluvové objekty