--- published:true --- # Spracovanie prirodzeného jazyka Ing. Daniel Hládek PhD. daniel.hladek@tuke.sk --- Rastie potreba spracovávať veľké množstvo človekom vytvoreného textu alebo hovorenej reči --- Čo je spracovanie prirodzeného jazyka Natural Language Processing (NLP) --- Kombinácia viacerých techník z oblasti: - Teórie formálnych jazykov - Štatistiky - Strojového učenia - Lingvistiky - Psychológie --- Spracovanie prirodzeného jazyka získavaním znalostí pomáha pri bežných činnostiach. --- dáta => informácie => znalosti text => príznaky => zistenia --- ## Znalosť je užitočná informácia (dá sa premeniť na peniaze). --- Typické úlohy NLP --- Motivačný príklad: Alexa, WolframAlpha, Siri Počítač "porozumie" ľudskej komunikácii --- Každý Váš deň: Google, Facebook, Apple --- Porozumenie otázke : Google, počítačové hry, WolframAlpha (Siri) Fulltextové vyhľadávanie: Google Cielenie reklamy: AdSense, eTarget --- Ohodnotenie sentimentu a detekcia nevhodných alebo podozrivých príspevkov: Facebook , LinkedIn Strojový preklad: Googe Translate Detekcia spamu: Spam Assasin, Gmail --- Získavanie informácií (Information Retrieval) Vyhľadávanie na webe napr. Vyhľadanie stránok súvisiacich s “natural language processing” Monitoring médií Čo všetko sa napíše alebo odvysiela v televízii alebo v rádiu o mojej spoločnosti? --- Cielenie reklamy Analýza sentimentu na sociálnych sieťach Dolovanie v dátach a získavanie znalostí Aká je priemerná cena hamburgeru v Južnej Amerike? --- Prepis textu (Machine Translation): Strojový preklad. Napr. Ako sa povie “Dnes je pekný deň” po japonsky? Parafrázovač. Napr. Akým iným spôsobom sa dá povedať “Mám rád bryndzové halušky” Porozumenie jazyku (Natural Language Understanding) --- Chatboty, Umelý psychiater. “Umelá inteligencia” - počítač na lodi Enterpise, ktorý rozumie slovným príkazom kapitána a vie mu odpovedať na jeho požiadavky Morfologická analýza (hľadanie gramatickej a sémantickej funkcie slova) --- Prirodzený jazyk je veľmi neurčitý (ambiguity) --- - To isté vieme povedať rôznymi spôsobmi - Jedna výpoveď môže mať veľa rôznych významov - Často pri komunikácii prenášame aj neverbálnu informáciu: - Pocity - Gestá - Prízvuk a štýl reči --- Homonymá: Práve sedím v škole. Nevyznám sa v občianskom práve. To auto stojí 10000 eúr. Auto stojí na kraji cesty. --- Synonymá: Išiel som do Bratislavy. Išiel som do Blavy. --- Neurčité poradie slov vo vete: Dnes je pekný deň. Pekný deň je dnes. Deň je dnes pekný. --- Neurčitý význam slov: „Po tráve sa nechodí, po tráve sa smeje” --- Novotvary a slangové výrazy: Vygoogli si to a potom to postni na fb. --- Emócie a spoločenské konvencie: Pane! Pekne ste sa doriadil! --- Preklepy a brepty: Viď prednašku. --- Počítačový jazyk je jednoznačný Potrebujeme metódy pre prácu s neurčitosťou --- Práca s neurčitosťou v NLP - Klasifikácia kontextov alebo ich postupností - Prepisovanie postupnosti symbolov --- Klasifikácia kontextov Mapovanie: c => S - C: kontext: Veta,Dokument - S: symbol: Morfologická značka, léma, vetný člen... --- Využitie - detekcia sentimentu - detekcia spamu - identifikácia pomenovaných entít --- Pri klasifikácii nám pomáha, ak vieme ktorá časť kontextu je dôležitá pre klasifikáciu. - Slovo - Koncovka, Koreň slova - Predchádzajúce slovo, Nasledujúce slovo - Typ prvého písmena --- ## Príznaková funkcia Taká binárna funkcia kontextu, ktorá je pravdivá iba v prípade výskytu daného príznaku v kontexte. Vhodná sada príznakových funkcií nám pomáha riešiť problém. --- ## Príznaková funkcia Mapovanie Symbol => jednotkový vektor dnes => 0000100001 --- ## Klasifikátor kontextov Extrakcia príznakov, klasifikácia symbol=> príznakový vektor => trieda --- ## Klasifikátor kontextov - Ľudskú znalosť vo forme pravidiel - Štatistické informácie z trénovacích korpusov - Kombináciu oboch prístupov --- ## Pravidlá - Slovníky - Formálna gramatika - Regulárne výrazy --- ## Štatistické prístupy - HMM - N-gram model - Umelá neurónová sieť --- ## Hlboké neurónové siete - LSTM, Konvolučné siete, Transformery Výpočtovo náročné --- ## Prepisovanie postupnosti symbolov Mapovanie: postupnosť => iná postupnosť --- ## Prepisovanie postupnosti symbolov - strojový preklad - korekcia preklepov a gramatiky - dialógové systémy --- ## Enkóder-Dekóder Enkóder: symboly => príznaky => významový vektor Dekóder: model a významový vektor => výstupné symboly --- ## Enkóder Dekóder Hlboké neurónové siete --- # Aj vy môžte robiť NLP --- ## Všeobecný programovací jazyk Python --- ## Všeobecné knižnice pre strojové učenie - keras - pytorch --- ## Všeobecné knižnice pre NLP - Spacy - Flair --- ## Strojový preklad - fairseq --- ## Extrakcia sémantických príznakov - glove - fasttext - word2vec --- ## Získavanie informácií a spracovanie logov Elasticsearch --- ## Dialógové systémy a porozumenie jazyku RASA --- ## Bibliografia Jurafsky, Martin: Natural Language Processing Christopher Manning: Natural Language Processing, Stanford University Online Video Lectures