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

Podobné prezentace


Prezentace na téma: "Počítačové zpracování přirozeného jazyka"— 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

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.

4 Přehled aplikací a problémů počítačové lingvistiky 1
Vyhledat slovo v textu ve všech tvarech (morfologická analýza). Vyhledat slovo ve všech tvarech Lze nechat vyhledat jen část slova, ale: Internetové vyhledávače mají v indexu slova, ne jejich části. 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). 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áč. 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. 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) Domácí úkol: soutěž o nejzajímavější a nejmnohočetnější háčkovací nejednoznačnost. Každý pošle své návrhy mailem, čímž získám jeho adresu, a podepíše se, čímž získám jeho úplné jméno, ročník a obor. 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). Obdobný problém: samohlásky v semitských jazycích. ﺓﻮﺤﻗ ﺔﺛﻼﺛ ﻰﻟ ﺐﻴﺟ = HWHhQ HTh’LTh YL BYJ = Jíb lí thlíthah qahhwah. (spisovná arabština). 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: ž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) 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. Doplňování hranic slov (asijské jazyky, zejména čínština) 这个多少钱? zhe ge duo shao qian ? tenhle kus mnoho málo peníze ? Zhege duoshao qian? Tohle kolik peněz? ... Kolik to stojí?

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).

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. Vyhledat slovo ve všech tvarech Lze nechat vyhledat jen část slova, ale: Internetové vyhledávače mají v indexu slova, ne jejich části. 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). 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áč. 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. 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) Domácí úkol: soutěž o nejzajímavější a nejmnohočetnější háčkovací nejednoznačnost. Každý pošle své návrhy mailem, čímž získám jeho adresu, a podepíše se, čímž získám jeho úplné jméno, ročník a obor. 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). Obdobný problém: samohlásky v semitských jazycích. ﺓﻮﺤﻗ ﺔﺛﻼﺛ ﻰﻟ ﺐﻴﺟ = HWHhQ HTh’LTh YL BYJ = Jíb lí thlíthah qahhwah. (spisovná arabština). 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: ž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) 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. Doplňování hranic slov (asijské jazyky, zejména čínština) 这个多少钱? zhe ge duo shao qian ? tenhle kus mnoho málo peníze ? Zhege duoshao qian? Tohle kolik peněz? ... Kolik to stojí?

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áč.

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.

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. Vyhledat slovo ve všech tvarech Lze nechat vyhledat jen část slova, ale: Internetové vyhledávače mají v indexu slova, ne jejich části. 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). 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áč. 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. 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) Domácí úkol: soutěž o nejzajímavější a nejmnohočetnější háčkovací nejednoznačnost. Každý pošle své návrhy mailem, čímž získám jeho adresu, a podepíše se, čímž získám jeho úplné jméno, ročník a obor. 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). Obdobný problém: samohlásky v semitských jazycích. ﺓﻮﺤﻗ ﺔﺛﻼﺛ ﻰﻟ ﺐﻴﺟ = HWHhQ HTh’LTh YL BYJ = Jíb lí thlíthah qahhwah. (spisovná arabština). 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: ž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) 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. Doplňování hranic slov (asijské jazyky, zejména čínština) 这个多少钱? zhe ge duo shao qian ? tenhle kus mnoho málo peníze ? Zhege duoshao qian? Tohle kolik peněz? ... Kolik to stojí?

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).

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“.

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)

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.

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í?

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. Vyhledat slovo ve všech tvarech Lze nechat vyhledat jen část slova, ale: Internetové vyhledávače mají v indexu slova, ne jejich části. 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). 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áč. 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. 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) Domácí úkol: soutěž o nejzajímavější a nejmnohočetnější háčkovací nejednoznačnost. Každý pošle své návrhy mailem, čímž získám jeho adresu, a podepíše se, čímž získám jeho úplné jméno, ročník a obor. 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). Obdobný problém: samohlásky v semitských jazycích. ﺓﻮﺤﻗ ﺔﺛﻼﺛ ﻰﻟ ﺐﻴﺟ = HWHhQ HTh’LTh YL BYJ = Jíb lí thlíthah qahhwah. (spisovná arabština). 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: ž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) 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. Doplňování hranic slov (asijské jazyky, zejména čínština) 这个多少钱? zhe ge duo shao qian ? tenhle kus mnoho málo peníze ? Zhege duoshao qian? Tohle kolik peněz? ... Kolik to stojí?

16 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.

18 Předložkové skupiny „Přišel ten pán se sousedem odnaproti.“ 7.10.1999

19 Předložkové skupiny Anglický příklad: I saw the man with a telescope.
Viděl jsem ho dalekohledem. Viděl jsem ho s dalekohledem.

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.

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...

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?

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)

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.

25 Daniel Zeman http://ufal.mff.cuni.cz/~zeman/
Počítačové zpracování přirozeného jazyka Zápočtové úlohy Daniel Zeman

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.

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é.

28 Třídy úloh Pouze vlastní výtvor v Perlu Práce s cizím softwarem
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

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.

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.

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)

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)

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č)

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

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

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ř. <div class=“cena”> obsahuje cenu zboží.

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

38 Pojmenované entity 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

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)

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

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


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

Podobné prezentace


Reklamy Google