Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Počítačové zpracování přirozeného jazyka Daniel Zeman

Podobné prezentace


Prezentace na téma: "Počítačové zpracování přirozeného jazyka Daniel Zeman"— Transkript prezentace:

1 Počítačové zpracování přirozeného jazyka Daniel Zeman

2 Předpoklady Žádné (téměř) Pouze: –Základní znalost programování v některém programovacím jazyku –Středoškolské znalosti mluvnice češtiny –Pasivní znalost angličtiny výhodou http://ufal.mff.cuni.cz/course/popj12

3 Zápočet Zápočet za domácí úkoly (Perl, Python, Java…) Počet odměněných řešitelů jedné úlohy může být omezen! Součástí úkolu je jeho prezentace před ostatními v prosinci http://ufal.mff.cuni.cz/course/popj13

4 Přehled aplikací a problémů počítačové lingvistiky 1 Vyhledat slovo v textu ve všech tvarech (morfologická analýza) http://ufal.mff.cuni.cz/course/popj14

5 Vyhledání slova ve všech tvarech Lze nechat vyhledat jen část slova, ale: -Internetové vyhledávače mají v indexu slova, ne jejich části. -Ovšem mnohé z nich už morfologii zvládají (Google). -Povolíme-li hledání částí, dostaneme i texty, které nás nezajímají: hledáme hodit, zadáme hod, dostaneme nejen hodit, hodím, hodil, nejen hod, hody, hodování, nejen přehodit, náhoda, přehodnotit, ale dokonce i chodit nebo schody. -Navíc nedostaneme hoď, hoďme, hoďte — to bychom museli hledat jenom ho, a to by bylo vůbec katastrofální. Zadat dotazy pro každý tvar zvlášť nejde, jsou jich desítky až stovky. -Některá slova mění i kmen (stůl – stolu; brát – beru – bral) http://ufal.mff.cuni.cz/course/popj15

6 Přehled aplikací a problémů počítačové lingvistiky 1 Vyhledat slovo v textu ve všech tvarech (morfologická analýza). Kontrola pravopisu (spell checking). Inteligentní pro češtinu: např. kontrola tvrdého a měkkého i v příčestí minulém. Kontrola gramatiky (grammar checking) a stylu http://ufal.mff.cuni.cz/course/popj16

7 Kontrola pravopisu -Prohledávání slovníku je jednoduché, jediná lingvistika je ten slovník. -Problém je rozumně vybrat podobná slova, která nabídneme jako náhradu. Jak měřit podobnost slov? Odhadnout podle kontextu, které z nich uživatel myslel? Gramatika může na daném místě požadovat sloveso, význam ostatních slov zase může napovědět, které sloveso je nejpravděpodobnější. -V češtině je prohledávání slovníku málo účinné, existuje řada koncovek, ale jen některé jsou možné v dané větě, chyby v tvrdém a měkkém i. Viz též kontrolu gramatiky. -Co zatím chybí: přepínač stylu (rozhodnu-li se pro koncovky typu –ej, je to jiná varianta jazyka a mělo by být vyžadováno držení jedné linie). -Zákaz dvou stejných slov za sebou: obecně ano, ale jsou výjimky, které by mohla rozpoznat kontrola gramatiky: Nesnese se se sestrou, snědl jí tu tu buchtu a teď jí jí její koláč http://ufal.mff.cuni.cz/course/popj17

8 Kontrola gramatiky a stylu -Ideální stav: kompletní syntaktická analýza vztahů ve větě. To je ale těžké. -Současná kontrola gramatiky v angličtině ve Wordu v sobě má i kontrolu stylu (bouří se proti dlouhým větám apod.) -Univerzální úkoly: velké písmeno na začátku věty, zakázat dvě mezery za sebou apod. -Úkoly v češtině: shoda podmětu s přísudkem (tvrdé a měkké i), shoda přívlastků s rozvíjenými podstatnými jmény, čárky kolem vnořených klauzí, interpunkce v uvozovkách http://ufal.mff.cuni.cz/course/popj18

9 Přehled aplikací a problémů počítačové lingvistiky 1 Vyhledat slovo v textu ve všech tvarech (morfologická analýza). Kontrola pravopisu (spell checking). Inteligentní pro češtinu: např. kontrola tvrdého a měkkého i v příčestí minulém. Kontrola gramatiky (grammar checking) a stylu. Háčkování: vrátit diakritiku do textu, ze kterého byla odstraněna. Obdobný úkol: doplnit samohlásky do arabského nebo hebrejského textu http://ufal.mff.cuni.cz/course/popj19

10 Háčkování -Háčkování a doplňování samohlásek, doplňování hranic slov (Asie) -Pouhé hledání ve slovníku nestačí, jak ukazují následující příklady: horka cokolada (horká / hořká), mala (malá / mála), udelana (udělána / udělaná), uspi (uspi / uspí), mami (mami / mámí), zadejte uhel (zadejte úhel / žádejte uhel), cesky (česky / český / Češky / čéšky), rad (rad / raď / rád / řad / řaď / řád) -Stejné problémy mají v řadě dalších jazyků, někde dokonce občas znaménka vynechávají, aniž by je k tomu tlačila neschopnost techniky (francouzština, rumunština) http://ufal.mff.cuni.cz/course/popj110

11 Problémy podobné háčkování Rozlišování malých a velkých písmen –Ve statistickém strojovém překladu bývá výhodné převést vstupní text na malá písmena. –Pak je ale nutné na výstupu odhadnout, kam patří velké písmeno. T9 v mobilech –Např. „852536“ může znamenat „tlakem“, „vlakem“, „vláken“, „vlčkem“ http://ufal.mff.cuni.cz/course/popj111

12 Doplňování krátkých samohlásek v arabštině a hebrejštině -Krátké samohlásky v semitských jazycích jsou podobný problém jako naše háčkování. -V dialektech se navíc samohlásky (ale i souhlásky) liší, přestože zápis arabským písmem je jen ten jeden! -جيب لي ثلاثة قحوة -HWHhQ HTh’LTh YL BYJ -jyb ly vlAvp qHwp (Buckwalterův přepis) -Jīb lī thlīthah qaħwah. (spisovná arabština) -žib lí tléta dil qahwa (mar) -žib lí thlétha qahwa (tun) -gib lí taláta ahwa (egy) -žib lí tléte ahwe (syr) -džib lí theláthe gahwe (irq) -přineste mi tři kávy (čsk) http://ufal.mff.cuni.cz/course/popj112

13 Arabské samohlásky: nejednoznačnosti -Nejednoznačnosti: nejen v dialektech, ale i v mluvnici. -ﺏﺎﺘﻛ = kitáb (kniha) -ﺐﺘﻛ = katab (psát), kutub (knihy) -ﺖﺒﺘﻛ = katabt (napsal jsem, napsala jsem, napsal jsi), katabti (napsala jsi), katabit (napsala) -Arabština umí zapisovat samohlásky pomocí diakritiky, ale Arabové to nedělají, vyskytuje se snad pouze v Koránu. -Zapisují se dlouhé samohlásky (Á = ’, Í = Y, Ú = W), proto cizí slova mívají všechny samohlásky dlouhé, aby Arab poznal, jak se vyslovují (Československo = Tšíkúslúfákijá). -Totéž platí pro hebrejštinu: v tóře bývají samohlásky zapsány, aby židé roztroušení po světě a hovořící jinými jazyky nezapomněli výslovnost, ale po Izraeli nic takového nenajdeme http://ufal.mff.cuni.cz/course/popj113

14 Segmentace -Doplňování hranic slov (asijské jazyky, zejména čínština). I to je trochu analogie k doplňování samohlásek či diakritiky. -Číňané nemají pojem slova, ale pro počítačové zpracování jazyka se tento pojem hodí. Znak (slabika) není vždy ideální ekvivalent. - 这个多少钱? -zhè ge duō shǎo qián ? (če ke tuo šao čchien?) -tenhle kus mnoho málo peníze ? -Zhège duōshǎo qián? -Tohle kolik peněz?... Kolik to stojí? http://ufal.mff.cuni.cz/course/popj114

15 Přehled aplikací a problémů počítačové lingvistiky 1 Vyhledat slovo v textu ve všech tvarech (morfologická analýza). Kontrola pravopisu (spell checking). Inteligentní pro češtinu: např. kontrola tvrdého a měkkého i v příčestí minulém. Kontrola gramatiky (grammar checking) a stylu. Háčkování: vrátit diakritiku do textu, ze kterého byla odstraněna. Obdobný úkol: doplnit samohlásky do arabského nebo hebrejského textu. Rozpoznávání naskenovaného písma (optical character recognition, OCR). Rozpoznávání řeči (speech recognition). Diktát se vrací ve smartphonech. Vyhledávání v nahrávkách (speech Google?) Strojový překlad z jednoho (přirozeného) jazyka do druhého. Generování textů (např. manuálů) v různých jazycích http://ufal.mff.cuni.cz/course/popj115

16 http://ufal.mff.cuni.cz/course/popj116 Přehled aplikací a problémů počítačové lingvistiky 2 Rozpoznat (převažující) jazyk, ve kterém je určitý dokument. Nalézt relevantní dokumenty v textové databázi (Google!). Nebo třeba: rozpoznat spam v mailu. Vytáhnout informace ze zpráv nebo článků s jistým tématem (např. všechny obchody s akciemi v daný den) Sumarizace textů (např. vytvořit třístránkové shrnutí tisícistránkového dokumentu). Dotazy na databázi v přirozeném jazyce (např. rezervace letenek). Automatická komunikace se zákazníkem po telefonu: Hlasové řízení stroje. Generování řeči strojem. Výukové systémy interagující se studentem, obecné systémy pro řešení konkrétních problémů.

17 Dílčí problémy Tokenizace (hranice slov a vět) Morfologická analýza (slovník + ohýbání) Zjednoznačňování, značkování (tagging), lemmatizace Rozlišení významu slov (word sense disambiguation) Zařazení slov do tříd podle použití (clustering) Synchronizace různojazyčných verzí téhož, párování vět a odst. Syntaktická analýza (parsing). Hledání základních jmenných frází (base noun phrase chunking) Zavěšování předložkových frází (prepositional phrase (PP) attachment) Slovesné rámce Hloubková analýza Základ a ohnisko (topic and focus), hloubkový slovosled. Doplnění chybějících členů Koreference Analýza diskurzu, anafora http://ufal.mff.cuni.cz/course/popj117

18 Předložkové skupiny „Přišel ten pán se sousedem odnaproti.“ http://ufal.mff.cuni.cz/course/popj118 Přišel ten pánse sousedem odnaproti.Přišel ten pán se sousedem odnaproti.Přišel ten pán se sousedem odnaproti.Přišel ten pánse sousedem odnaproti.

19 Předložkové skupiny Anglický příklad: –I saw the man with a telescope. 1.Viděl jsem ho dalekohledem. 2.Viděl jsem ho s dalekohledem http://ufal.mff.cuni.cz/course/popj119

20 Předložkové skupiny V období, kdy prudce poklesl zájem na domácím trhu, dokázala továrna část výroby exportovat http://ufal.mff.cuni.cz/course/popj120

21 Předložkové skupiny a syntaktické nejednoznačnosti V letech 1991 – 1993 jsem absolvovala kurzy řízení a marketingu na Collège Bart v kanadském Québecu. –absolvovala na Collège Bart –kurzy na Collège Bart –řízení a marketingu na Collège Bart –marketingu na Collège Bart –Collège Bart v Québecu –marketingu v Québecu http://ufal.mff.cuni.cz/course/popj121

22 Předložkové skupiny a syntaktické nejednoznačnosti „říjnové jednání OSN o klimatických změnách v Kodani“ (Události ČT, ) Otázka: Došlo ke klimatickým změnám v Kodani? http://ufal.mff.cuni.cz/course/popj122

23 Osnova Programovací jazyk PERL Korpusy, procházení webu, rozpoznávání jazyků Roviny popisu jazyka Vyhodnocování úspěšnosti Slovníky a morfologická analýza Odstraňování nejednoznačností, statistické metody Syntaktická analýza (metody založené na pravidlech) Syntaktická analýza (statistické metody, syntaktické korpusy – treebanky) http://ufal.mff.cuni.cz/course/popj123

24 Literatura James Allen: Natural Language Understanding. Benjamin/Cummings 1994, ISBN Adolf Erhart: Základy jazykovědy. Státní pedagogické nakladatelství; Praha, 1990 Christopher D. Manning, Hinrich Schütze: Foundations of Statistical Natural Language Processing. The MIT Press 1999, ISBN Mé prezentace a další odkazy na webu http://ufal.mff.cuni.cz/course/popj124

25 Zápočtové úlohy Daniel Zeman Počítačové zpracování přirozeného jazyka

26 Zápočtové úlohy Rezervace prostřednictvím webového formuláře: zeman/zapoctaky/rezervace_ukolu.pl Podrobná zadání rovněž na webu, zde jen nástin a vysvětlení některých pojmů. Součástí zadání jsou někdy data v konkrétním jazyce, ne vždy českém http://ufal.mff.cuni.cz/course/popj126

27 Proč cizí jazyky? Řada úkolů je zadána pro konkrétní cizí jazyk, často takový, který nejspíš neovládáte. Větší pestrost úkolů: dva lidé nedělají na stejných datech. Uvědomte si, že k práci s daty v cizím jazyce nemusíte tento jazyk umět! –U analýzy tvarosloví či větných vztahů je ovšem výhodou, pokud rozumíte chybám, který váš program dělá. –U některých úloh přímo navrhujete jazyková pravidla, pak samozřejmě pracujete s češtinou nebo jiným jazykem, který umíte. Naopak, vaše programy by měly být v maximální možné míře jazykově nezávislé http://ufal.mff.cuni.cz/course/popj127

28 Třídy úloh Pouze vlastní výtvor v Perlu –Jeden nebo více skriptů v Perlu Práce s cizím softwarem –Stáhnout a rozchodit –Připsat vlastní skripty v Perlu jako interface, pro převod datových formátů, analýzu výsledků apod. Gramatika apod. –Tvorba jazykových pravidel, s jejichž pomocí cizí software analyzuje jazyk –Vlastní skripty v Perlu mohou být potřeba např. pro extrakci slovníku z textového korpusu http://ufal.mff.cuni.cz/course/popj128

29 Práce s cizím softwarem Část úloh bude spočívat ve stažení cizího softwaru a experimentování s ním. Méně vlastního programování –Typicky skripty pro konverzi dat do správného formátu, pro rozbor výsledků a jako obálka na volání cizího programu Možnost zkusit věci, které byste sami napsat nestihli. Více nároků na architekturu, kterou máte k dispozici http://ufal.mff.cuni.cz/course/popj129

30 Práce s cizím softwarem PC-Kimmo (morfologická analýza) –Umí pracovat se slovníkem a s pravidly tvoření slov pro daný jazyk. Vy musíte: Vytvořit pravidla Poloautomaticky vytáhnout slovník z korpusu Taggery („značkovače“) –Na základě kontextu přiřadit slovu správné lemma a značku. –Nejdříve naučit na trénovacích datech Parsery (větný rozbor) –Identifikovat ve větě fráze nebo závislosti. –Nejdříve naučit na trénovacích datech http://ufal.mff.cuni.cz/course/popj130

31 Morfologie: taggery Úkol taggeru: přiřadit slovu morfologickou značku (slovní druh, rod, číslo, pád…) Může a nemusí předcházet slovníková morfologická analýza. K dispozici morfologicky anotovaný korpus. Brillův tagger (Eric Brill) TreeTagger (Helmut Schmid) Featurama (Miroslav Spousta) http://ufal.mff.cuni.cz/course/popj131

32 Syntax: parsery Úkol parseru: přiřadit větě stromovou strukturu (vztahy mezi větnými členy). Typicky předchází morfologická analýza a tagging. K dispozici morfologicky a syntakticky anotovaný korpus (treebank). Malt parser (Joakim Nivre) MST parser (Ryan McDonald) Charniakův parser (Eugene Charniak) Collinsův parser (Michael Collins, Dan Bikel) Stanfordský parser (Chris Manning) DOP (Rens Bod) http://ufal.mff.cuni.cz/course/popj132

33 Další C4.5 (rozhodovací stromy, později) Giza++ (párování paralelních korpusů pro strojový překlad) Moses (strojový překladač) Joshua (strojový překladač) http://ufal.mff.cuni.cz/course/popj133

34 Vlastní tvorba Pavouk (stahování korpusu z webu) –Zahrnuje rozpoznávání jazyků, analýzu a odstraňování HTML. Minoritní jazyky (varianta pavouka) Třídění jazyků Hranice slov a vět Háčkování Kontrola pravopisu Pojmenované entity Segmentace slov na morfémy Chart parser –Morfologická gramatika pro chart parser Jednoduchý statistický tagger Dobývání informací z webu http://ufal.mff.cuni.cz/course/popj134

35 Pavouk a rozpoznávání jazyků Stahování jazykových dat z webu –Zahrnuje rozpoznávání jazyků, analýzu a odstraňování HTML. Varianta: Minoritní jazyky –Robot musí komunikovat s vyhledávačem. Třídění jazyků –Máme spoustu dokumentů v různých jazycích, chceme je roztřídit do složek. Viz pzpj03-prvni_ukoly.ppt http://ufal.mff.cuni.cz/course/popj135

36 Dobývání informací z webu Sledujete informace o určitých druzích zboží napříč internetovými obchody –cena, dodací lhůta, kontakt na prodejce atd. Primitivní porozumění textu stránek (klíčová slova, regulární výrazy apod.) –Závislost na jazyku: ano (čeština) –Závislost na druhu zboží: ne! Rozpoznávání podobných řetězců –Totéž zboží může být v různých obchodech pojmenováno různě. K přidání nového obchodu stačí zadat jeho adresu –Nechceme nejdříve rozebírat zdrojáky jeho stránek a někam si zapisovat, že např. obsahuje cenu zboží http://ufal.mff.cuni.cz/course/popj136

37 Další jednoduché úlohy Hranice slov a vět –Kromě tokenizace nutnost naučit se, kde větu nezalomit, i když je tam tečka. Háčkování, T9, obnova velkých písmen –Jednoduché statistické modely. Kontrola pravopisu –Tyto úlohy lze většinou pochopit i bez znalosti látky, která bude náplní semestru. Viz pzpj03-prvni_ukoly.ppt Viz pzpj10a-pravopis.ppt http://ufal.mff.cuni.cz/course/popj137

38 Pojmenované entity –Různé definice –Dobrá aproximace: vlastní jména –Hlavně osoby, místa, firmy, výrobky Úkolem je naučit se automaticky rozpoznávat pojmenované entity v textu Viz pzpj03-prvni_ukoly.ppt http://ufal.mff.cuni.cz/course/popj138

39 Segmentace slov na morfémy Rozdělit slovo na předponu, kmen a příponu Nemáme k dispozici morfologický slovník –K danému jazyku neexistuje nebo je drahý Program dostane seznam slov a jejich četností v korpusu. Všímá si opakujících se koncovek, předpon apod. Situaci komplikují změny souhlásek na konci kmene (matka – matce – matčin) http://ufal.mff.cuni.cz/course/popj139

40 Chart parser Úkolem parseru je rozebrat text na hierarchii složek. –Rozbor slova na morfémy, zjištění vztahu mezi aktuálním a základním tvarem slova. –Rozbor věty na větné členy (slova), zjištění vztahů mezi nimi. Bezkontextová gramatika –Soubor přepisovacích pravidel Chart parser –Načte bezkontextovou gramatiku a snaží se aplikovat její pravidla na analyzovaný text. Viz pzpj08-morfologie-cfg.ppt http://ufal.mff.cuni.cz/course/popj140

41 Tagger Tagger (značkovač) má pro dané slovo na základě kontextu vybrat správné lemma a značku. Lemma = základní tvar slova (slovníkové heslo) Značka = zakódované informace o slovním druhu, rodě, čísle, pádu atd. Vstup: posloupnost slov, pro každé slovo množina dvojic [lemma, značka], které připouští slovník Výstup: na základě kontextu vybraná jedna dvojice [lemma, značka], ostatní vyhodit Metoda: Naučit se jednoduchý statistický model z korpusu, ve kterém jsou správné dvojice označené ručně. Viz pzpj10-znackovani.ppt http://ufal.mff.cuni.cz/course/popj141


Stáhnout ppt "Počítačové zpracování přirozeného jazyka Daniel Zeman"

Podobné prezentace


Reklamy Google