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