Wstęp do przetwarzania języka naturalnego Wykład 1 Zagadnienia
Transkrypt
Wstęp do przetwarzania języka naturalnego Wykład 1 Zagadnienia
Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Wstęp do przetwarzania języka naturalnego Wykład 1 Zagadnienia wstępne i podstawowe przetwarzanie regułowe Wojciech Czarnecki 9 października 2013 Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Section 1 Kurs Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Formuła zajęć Na wykładzie omawiane będą modele i metody, których używać będziemy na ćwiczeniach Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Formuła zajęć Na wykładzie omawiane będą modele i metody, których używać będziemy na ćwiczeniach Pominiemy dużo matematyki (głównie dowody) Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Formuła zajęć Na wykładzie omawiane będą modele i metody, których używać będziemy na ćwiczeniach Pominiemy dużo matematyki (głównie dowody) Ale od niej nie uciekniemy Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Formuła zajęć Na wykładzie omawiane będą modele i metody, których używać będziemy na ćwiczeniach Pominiemy dużo matematyki (głównie dowody) Ale od niej nie uciekniemy Egzamin pisemny (ocena z przedmiotu to średnia ocen z egzaminu i ćwiczeń) Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Formuła zajęć Na wykładzie omawiane będą modele i metody, których używać będziemy na ćwiczeniach Pominiemy dużo matematyki (głównie dowody) Ale od niej nie uciekniemy Egzamin pisemny (ocena z przedmiotu to średnia ocen z egzaminu i ćwiczeń) Możliwe jest zwolnienie z egzaminu dla osób o najlepszych wynikach z ćwiczeń Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Materiały Pegaz http://pegaz.uj.edu.pl Książki Daniel Jurafsky and James H. Martin (2008). Speech and Language Processing, 2nd edition . Pearson Prentice Hall. ISBN 978-0-13-187321-6. Steven Bird, Ewan Klein, and Edward Loper (2009). Natural Language Processing with Python . O’Reilly Media. ISBN 978-0-596-51649-9. Oprogramowanie Python http://python.org NLTK http://nltk.org scikit-learn http://scikit-learn.org Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Section 2 NLP Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Czym jest NLP? Wszystko zaczęło się w 1950 od ”Computing Machinery and Intelligence” Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Test Turinga Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne 61 lat później 59.3% vs. 63.3% Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne WATSON http://www.youtube.com/watch?v=YLR1byL0U8M Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne WATSON 2880 rdzeni 15 TB RAM 4 TB tekstu (włącznie z całą wikipedią). Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Główne zagadnienia Ekstrakcja informacji Hi Jake, lets meet tomorrow at 10 for a lunch! Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Główne zagadnienia Ekstrakcja informacji Hi Jake, lets meet tomorrow at 10 for a lunch! calendar entry date: 4th October time: 10:00 what: lunch Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Analiza sentymentu Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Tłumaczenie automatyczne Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Pozostałe Wykrywanie spamu Rozpoznawanie części mowy NER Korekcja tekstu Koreferencje i anafory WSD Parsing Parafrazowanie Sumaryzacja tekstu QA Dialogowanie Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Czemu to jest trudne? Nawet segmentacja tekstu jest nietrywialna I was born in the New York-and so I like hot-dogs Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Czemu to jest trudne? Nawet segmentacja tekstu jest nietrywialna I was born in the New York-and so I like hot-dogs I # was # born # in # the # New York # - # and # so # I # like # hot-dogs Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Czemu to jest trudne? Idiomy i wieloznaczność as cool as cucumber - cool, jak ogórek (google), jako chłód jako ogórek (translatica) Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Czemu to jest trudne? Idiomy i wieloznaczność as cool as cucumber - cool, jak ogórek (google), jako chłód jako ogórek (translatica) he is such a dog - My dog likes bones Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Czemu to jest trudne? Wymaga wiedzy o świecie i języku Pracujemy na olbrzymich zasobach danych Brak ścisłej struktury Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Jak trudne? 1 Dane liczbowe Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Jak trudne? 1 Dane liczbowe 2 Obrazy Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Jak trudne? 1 Dane liczbowe 2 Obrazy 3 Dźwięk Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Jak trudne? 1 Dane liczbowe 2 Obrazy 3 Dźwięk 4 Język naturalny Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Język naturalny Język = syntaktyka + semantyka Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Język naturalny Język = syntaktyka + semantyka Gdzie jest semantyka? 1 Liczby, obrazy - względnie proste do zdefiniowania 2 Dźwięki - trudne, ale już dość dobrze rozwiązane 3 Język naturalny - bardzo trudne, bardzo dużo podejść, stosunkowo słabe efekty (mimo kilku dużych sukcesów) Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Jak się to z zasady robi? Budując systemy regułowe wykryto datę w tekście → utwórz wpis w kalendarzu Budując modele probabilistyczne P(dog = pies) = 0.9 P(dog = kot) = 0.1 Budując modele statystyczne Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Perspektywy Samsung: Engineer – Natural Language Processing (NLP) ; Inżynier - Text Mining / Web Mining; Inżynier rozpoznawania mowy; Inżynier Języka Naturalnego Google Inne Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Kurs Analizujemy język angielski Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Kurs Analizujemy język angielski Skupiamy się na metodach statystycznych Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Kurs Analizujemy język angielski Skupiamy się na metodach statystycznych Metody regułowe Naive Bayes Statystyczne modelowanie języka naturalnego Modele Markova i modele maksymalnej entropii Wektoryzacja języka naturalnego Miary podobieństwa tekstów Maszyna Wektorów Nośnych One leap forward - metody state of the art i przyszłość Parsing Parsing probabilistyczny Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Section 3 Przetwarzanie regułowe - wyrażenia regularne Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Wyrażenia regularne Formalny sposób opisu tekstu Jak możemy w prosty sposób sformułować zapytanie pasujące do następujących słów: dog Dog DOG dogs dog’s Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Wyrażenia regularne - alternatywa Wyliczenia w nawiasach kwadratowych [] [dD]og d[io]g [0123456789] dog; Dog dog; dig cyfra Zakresy w nawiasach kwadratowych [A-Z] [A-Z] [a-z] [0-9] [A-Za-z0-9] [a-c] [-a-c] wielka litera mała litera cyfra znak alfanumeryczny ’a’,’b’,’c’ ’a’,’b’,’c’ lub ’-’ Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Wyrażenia regularne - negacja Negacja [ˆA-Z] [ˆa-z] [ˆab] [ˆaˆ] a\ˆb nie wielka litera nie mała litera nie ’a’ ani nie ’b’ nie ’a’ ani nie ˆ ’a’,ˆ a potem ’b’ Oh Oh cab aˆb x=aˆb Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Wyrażenia regularne - alternatywy Alternatywy cd. | dog|puppy a|b|c|d [dD]og|[pP]uppy dog; puppy a; b; c; d; =[abcd] dog; Dog; puppy; Puppy Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Wyrażenia regularne - operatory Podstawowe operatory ?.+* dogs? oo*h o+h d.g o[ao]*h poprzednie dop. nie wymagane poprzednie dop. dowolnie wiele razy poprzednie dop. co najmniej raz dowolny znak oh; ooh; oah; ooaoaoah; ... Wojciech Czarnecki WPJN - Wykład 1 dog; dogs oh; ooh; oo...oh oh; ooh; oo...oh dig; dog; dXg; ... Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Wyrażenia regularne - kotwice Kotwice $ˆ ˆ[A-Z] [a-z]$ początek tekstu koniec tekstu Dog Dog Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Wyrażenia regularne - znaki specjalne Znaki spacjalne \ .$ \.$ \[[0-9]\] ostatni znak kropka na końcu cyfra w nawiasach Wojciech Czarnecki Dog Dog. [8] WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Wyrażenia regularne - grupowanie Grupowanie i ograniczenia liczności (){} d{3} d{1,5} d{3,} a (dog ){1,2} a (dog )+ (dog|cat) and \1 ddd d; dd; ddd; dddd; ddddd ddd; dddd; ddddd, ... a dog ; a dog dog a dog ; a dog dog ; a dog dog dog ... dog ; dog and dog; cat and cat Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Wyrażenia regularne - zachłanne/leniwe Dopasowanie zachłanne o.*h .+h oohooh oohooh Dopasowanie leniwe o.*?h .+?h oohooh oohooh Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Przykład Chcemy dopasować przedimki ’a, an, the’ a|an|the Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Przykład Chcemy dopasować przedimki ’a, an, the’ a|an|the a,an,the,A,... Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Przykład Chcemy dopasować przedimki ’a, an, the’ a|an|the a,an,the,A,... [aA]n?|[tT]he Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Przykład Chcemy dopasować przedimki ’a, an, the’ a|an|the a,an,the,A,... [aA]n?|[tT]he a,an,the,A,An,The,Arbuz,... Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Przykład Chcemy dopasować przedimki ’a, an, the’ a|an|the a,an,the,A,... [aA]n?|[tT]he a,an,the,A,An,The,Arbuz,... (ˆ|[ˆa-zA-Z0-9])([aA]n?|[tT]he)([ˆa-zA-Z0-9]|$) Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Przykład - analiza Komplikowanie wyrażenia było spowodowane dwoma rodzajami błędów: Nie dopasowywaliśmy słów, które chcieliśmy (a,an,the,A) Dopasowywaliśmy słowa, których nie chcieliśmy (Arbuz) Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Przykład - analiza Komplikowanie wyrażenia było spowodowane dwoma rodzajami błędów: Nie dopasowywaliśmy słów, które chcieliśmy (a,an,the,A) False negatives (FN) Dopasowywaliśmy słowa, których nie chcieliśmy (Arbuz) False positives (FP) Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Budowanie modeli W NLP zajmujemy się głównie budową pewnych modeli. Naszym celem jest zazwyczaj: Maksymalizacja accuracy bądź precision (minimalizacja FP) Maksymalizacja coverage bądź recall (minimalizacja FN) Te dwie wartości są antagonizmami Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Po co nam wyrażenia regularne? Mimo swej prostoty i zdawałoby się toporności, wyrażenia regularne są podstawą NLP, niezależnie od złożoności systemu, na którymś etapie niemal każdy ich używa. Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Po co nam wyrażenia regularne? Mimo swej prostoty i zdawałoby się toporności, wyrażenia regularne są podstawą NLP, niezależnie od złożoności systemu, na którymś etapie niemal każdy ich używa. Tak, google też Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne UWAGA Wyrażenia regularne (NLP) to nie języki regularne/wyrażenia regularne (Teoria języków)! Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne W odniesieniu do teorii języków Jeśli z powyższych reguł usuniemy operator referencji, kotwice oraz zignorujemy zachłanność/leniwość ewaluacji to zdegenerujemy się do języków regularnych Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Automaty skończone Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Quiz (wart +1 pkt z aktywności) ˆa?$|ˆ(aa+?)\1+$ Wojciech Czarnecki WPJN - Wykład 1 Kurs NLP Przetwarzanie regułowe - wyrażenia regularne Następny wykład Więcej o wstępnym preprocessingu tekstu Twierdzenie Bayesa i wnioskowanie Bayesowskie w NLP Wojciech Czarnecki WPJN - Wykład 1