Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Sztuczna inteligencja i język naturalny Test Turinga (1950) A B Komputer Człowiek Gracz Alan Turing Przetwarzanie języka (2) Joseph Weizenbaum Program ELIZA (1966) User: Men are all alike. Eliza: In what way User: They re always bugging us about something or other. Eliza: Can you think of a specific example User: My boyfriend made me come here. Eliza: Your boyfriend made you come here Przetwarzanie języka (3) Cel wykładu Wprowadzić w problematykę automatycznego przetwarzania języka naturalnego. Przedstawić pojęcie gramatyki Przetwarzanie języka (4) Plan wykładu Dionizjusz Trak (170 90 pne) Wprowadzenie Części i wywód Notacja Backusa-Naura 8 (ang. part of speech, POS): Rzeczownik Czasownik Zaimek Przyimek Przysłówek Spójnik Imiesłów Przymiotnik Przedimek Przetwarzanie języka (5) http://www.uni-koeln.de/phil-fak/ifa/nrwakademie/papyrologie/pkoeln/pk5128v.jpg Przetwarzanie języka (6) Sztuczna inteligencja i język naturalny 1
Jerzy Nawrocki, Współczesna systematyka język ang. Rzeczownik Czasownik Zaimek Przyimek Przysłówek Spójnik Imiesłów Przedimek Część znacznik Penn Treebank: 45 znaczników Znaczniki C5: 61 znaczników Brown corpus: 87 znaczników Znaczniki C7: 146 znaczników (znacznik = ang. tag) Przetwarzanie języka (7) http://www.ims.uni-stuttgart.de/projekte/corpusworkbench/cqp-htmldemo/penntreebankts.html Znaczniki Penn Treebank CC Coordinating conjunction and CD Cardinal number one, two DT Determiner the EX Existential there there are FW Foreign word mea culpa IN Preposition or subordinating conjunction of, in, by JJ Adjective yellow JJR Adjective, comparative bigger NN Noun, singular or mass tiger NNS Noun, plural tigers VB Verb, base form eat VBD Verb, past tense ate Przetwarzanie języka (8) Oznaczanie Oznaczanie The grand jury commented on a number of other topics. Ciąg wyrazów Oznaczanie Wyrazy ze The/DT grand/jj jury/nn commented/vbd on/in a/dt number/nn of/in other/jj topics/nns./. (oznaczanie cz. = ang. tagging) Przetwarzanie języka (9) Przetwarzanie języka (10) Oznaczanie Główny problem Rozstrzyganie niejednoznaczności Book that flight. Book/VB that/dt flight/nn./. Book that flight. Book/VB/NN that/dt/cc flight/nn./. Inne możliwości: Book/NN Buy me that book. that/cc I thought that you knew. Przetwarzanie języka (11) Przetwarzanie języka (12) Sztuczna inteligencja i język naturalny 2
Jerzy Nawrocki, Rozstrzyganie niejednoznaczności Rozstrzyganie niejednoznaczności Book that flight. Book that flight. Reguła: Book/VB/NN that/dt/cc flight/nn./. Książka ten/dt lot. Książka, że/cc lot. Jeśli jest konflikt między czasownikiem (VB, VBD,..) a inną ą i w zdaniu nie ma innego czasownika, to należy uznać, że to jest czasownik. Przetwarzanie języka (13) Reguła: Book/VB/NN that/dt/cc flight/nn./. Zarezerwuj ten/dt lot. Zarezerwuj, że/cc lot. Jeśli jest konflikt między że/cc a inną ą i w zdaniu jest tylko jeden czasownik, to wariant że/cc należy odrzucić. Przetwarzanie języka (14) Regułowe oznaczanie Eliminowanie niejednoznaczności Ciąg wyrazów Wstępne oznaczanie Wyrazy z wieloma Reduktor reguł Wyrazy z pojedynczymi Podejście regułowe Podejście stochastyczne (ukryte modele Markowa HMM; pewne występują ej niż inne i widać to jeszcze bardziej, gdy uwzględni się kontekst, w którym występuje dany wyraz) System ENGTWOL: około 1100 reguł Przetwarzanie języka (15) Przetwarzanie języka (16) Plan wykładu Oznaczanie Wprowadzenie Części i wywód Notacja Backusa-Naura Ciąg wyrazów Oznaczanie Wyrazy ze Book/VB that/dt flight/nn./. The/DT man/nn took/vb the/dt book/nn./. Przetwarzanie języka (17) Przetwarzanie języka (18) Sztuczna inteligencja i język naturalny 3
Jerzy Nawrocki, Oznaczanie Składnia zdania Ciąg wyrazów Oznaczanie Wyrazy ze Book/VB that/dt flight/nn./. Dalsze przetwarz. Noam Chomsky S NP VP We + are smart The/DT man/nn took/vb the/dt book/nn./. Przetwarzanie języka (19) Przetwarzanie języka (20) Fraza rzeczownikowa NP Fraza czasownikowa VP NP Pronoun we VP Verb took Noam Chomsky ProperNoun New York Noam Chomsky Verb NP want + a flight Det Nominal a + flight Verb VerbBase take Nominal Noun degree VerbPast took Noun Nominal university degree Części : Noun (NN), ProperNoun (NNP), Det (NT), Pronoun Symbole nieterminalne ( zdania): NP, Nominal Przetwarzanie języka (21) Części : VerbBase (VB), VerbPast (VBD) Symbole nieterminalne ( zdania): VP, Verb, NP Przetwarzanie języka (22) Oznaczanie Noam Chomsky S NP VP NP Pronoun ProperNoun Det Nominal Nominal Noun Noun Nominal VP Verb Verb NP Verb VerbBase VerbPast Przetwarzanie języka (23) Ciąg wyrazów Oznaczanie Wyrazy ze Book/VB that/dt flight/nn./. The/DT man/nn took/vb the/dt book/nn./. Analiza składniowa Przetwarzanie języka (24) Sztuczna inteligencja i język naturalny 4
Jerzy Nawrocki, Drzewo rozbioru (parse tree) S NP VP NP Pronoun ProperNoun Det Nominal Nominal Noun Noun Nominal VP Verb Verb NP Verb VerbBase VerbPast The/DT man/nn took/vb the/dt book/nn./. The NP man Verb took S the VP NP book Przetwarzanie języka (25) Przetwarzanie języka (26) Oznaczanie Produkcje i wywód Ciąg wyrazów Oznaczanie Wyrazy ze Book/VB that/dt flight/nn./. The/DT man/nn took/vb the/dt book/nn./. Analiza składniowa Drzewo rozbioru Przetwarzanie języka (27) Symbol początkowy: Produkcje: (reguły zastępowania) 1+ = { 1, 11, 111,... } 1) 2) S S 1 S S 1 Wywód: 1: S 1 1 111: S 2 S 1 2 S 1 1 1 1 1 1 Przetwarzanie języka (28) Inne produkcje 1) 2) 3) 4) 5) Symbol początkowy Wywód: 10: S 1 A B 2 1 B 4 1 0 100: Przetwarzanie języka (29) Przetwarzanie języka (30) Sztuczna inteligencja i język naturalny 5
Jerzy Nawrocki, Symbol początkowy Symbole nieterminalne N = {S, A, B} Symbol początkowy Symbole nieterminalne N = {S, A, B} Symbole terminalne T = {0, 1} Przetwarzanie języka (31) Przetwarzanie języka (32) Plan wykładu Symbol początkowy Symbole nieterminalne N = {S, A, B} Symbole terminalne T = {0, 1} Produkcje Wprowadzenie Części i wywód Notacja Backusa-Naura Przetwarzanie języka (33) Przetwarzanie języka (34) Domknięcie relacji wywodu ciągów nad alfabetem 1) 2) 3) 4) 5) Wywód: S 1 A B 2 1 B 4 1 0 S + 1 0 Z S można wywieść 10 stosując 1 lub więcej produkcji Alfabet = symboli terminalnych T = {0, 1} ciągów nad alfabetem T*: wszystkich ciągów skończonych zbudowanych z elementów zbioru T. Jeśli T = {0, 1} to T* = {, 0, 1, 00, 01, 10, 11, 000,...} Jeśli T = {a, b, c} to T* = {, a, b, c, aa, ab, ac, ba, bb, bc,...} Przetwarzanie języka (35) Przetwarzanie języka (36) Sztuczna inteligencja i język naturalny 6
Jerzy Nawrocki, Język formalny Język formalny G = <S, N, T, P> S Symbol początkowy N symboli nieterminalnych T symboli terminalnych P produkcji Język formalny L zdefiniowany przez gramatykę G: L(G) = {x T*: S + x } Przetwarzanie języka (37) 1) 2) 3) 4) 5) S 1 B + L(G) = {x T*: S + x } S 1 A B 2 1 B Czy 1B należy do L(G) 11 T* Czy 11 należy do L(G) Przetwarzanie języka (38) Równoważność gramatyk Plan wykładu G1 i G2 są równoważne wtedy i tylko wtedy, gdy G1 L(G1) = L(G2) G2 S S 0 S A 0 G3 S 1 S S 1 A A 0 A 0 A Przetwarzanie języka (39) Wprowadzenie Części i wywód Notacja Backusa-Naura Przetwarzanie języka (40) Klasyfikacja Chomsky ego Klasyfikacja Chomsky ego Noam Chomsky klasy 0 kontekstowe Przetwarzanie języka (41) Przetwarzanie języka (42) Sztuczna inteligencja i język naturalny 7
Jerzy Nawrocki, Klasyfikacja Chomsky ego 1. S S b 2. S A b 3. A a 4. A A a Lewoliniowa a+ b+ 1. S a S 2. S a B 3. B b B 4. B b Prawoliniowa Twierdzenie. Dla każdego wyrażenia regularnego istnieje gramatyka lewoliniowa (prawoliniowa) opisująca ten sam język. Przetwarzanie języka (43) Przetwarzanie języka (44) bezkontekstowa bezkontekstowa Jeden nieterminal 1. W ( W ) 2. W 1 1. W S 2. W W + S 3. S C 4. S S * C 5. C L 6. C ( W ) 7. L 1 8. L 2 9. L 3 Jeden nieterminal Przetwarzanie języka (45) Przetwarzanie języka (46) potrafią więcej Język 0 n 1 n, gdzie n 1. 0011 OK. 0001 Error S 0 S 1 S 0 1 potrafią więcej Język 0 n 1 k, gdzie n, k 1. 0001 OK. 1000 Error S 0 S S 0 J J 1 J J 1 Przetwarzanie języka (47) Przetwarzanie języka (48) Sztuczna inteligencja i język naturalny 8
Jerzy Nawrocki, potrafią więcej Klasyfikacja Chomsky ego Język 0 n 1 n, gdzie n 1. kontekstowe Przetwarzanie języka (49) Przetwarzanie języka (50) kontekstowa Plan wykładu 1. S a X Y 2. S a S X Y 3. a X a b 4. b X b b 5. c X c c 6. b Y b c 7. c Y c c Wprowadzenie Części i wywód Notacja Backusa-Naura Przetwarzanie języka (51) Przetwarzanie języka (52) Rozszerzona notacja Backusa-Naura Przejście z EBNF na gramatyki Produkcje + wyrażenia regularne <C> ::= 0 1 2 3 4 5 6 7 8 9 <L> ::= <C> + <L> ::= <C> * <C> <S> ::= (<L> * ) * <L> <W> ::= (<S> + ) * <S> <J> ::= <A> * <B> J B J A J John Backus Przetwarzanie języka (53) Przetwarzanie języka (54) Sztuczna inteligencja i język naturalny 9
Jerzy Nawrocki, Przejście z EBNF na gramatyki <C> ::= 0 1 2 3 4 5 6 7 8 9 <L> ::= <C> * <C> <S> ::= (<L> * ) * <L> <W> ::= (<S> + ) * <S> Przejście z EBNF na gramatyki <C> ::= 0 1 2 3 4 5 6 7 8 9 <L> ::= <C> * <C> <S> ::= (<L> * ) * <L> <W> ::= (<S> + ) * <S> John Backus C 0 C 1 C 2... C 9 John Backus <J> ::= <A> * <B> J B J A J L C L C L Przetwarzanie języka (55) Przetwarzanie języka (56) Przejście z EBNF na gramatyki <C> ::= 0 1 2 3 4 5 6 7 8 9 <L> ::= <C> * <C> <S> ::= (<L> * ) * <L> <W> ::= (<S> + ) * <S> Przejście z EBNF na gramatyki <C> ::= 0 1 2 3 4 5 6 7 8 9 <L> ::= <C> * <C> <S> ::= (<L> * ) * <L> <W> ::= (<S> + ) * <S> <J> ::= <A> * <B> J B J A J <J> ::= <A> * <B> J B J A J John Backus S L S L * S John Backus W S W S + W Przetwarzanie języka (57) Przetwarzanie języka (58) Przykładowa budowa narzędzia NLP Podsumowanie Przetwarzanie języka (59) Tekst Podział tekstu na zdania Ciąg zdań Podział zdania na wyrazy Ciąg wyrazów Oznaczanie Wyrazy ze Lematyzer Dochodzi postać podst. wyrazów Analiza składniowa Drzewo rozbioru składniowego Przetwarzanie języka (60) Sztuczna inteligencja i język naturalny 10
Jerzy Nawrocki, Oznaczanie Lematyzer The grand jury commented on a number of other topics. The/DT grand/jj jury/nn commented/vbd on/in a/dt number/nn of/in other/jj topics/nns./. The/DT man/nn took/vb the/dt book/nn./. the man take the book. Przetwarzanie języka (61) Przetwarzanie języka (62) Drzewo rozbioru (parse tree) Podsumowanie S NP Verb VP NP Wreszcie! formalna Wywód zdania Notacja EBNF The man took the book Przetwarzanie języka (63) Przetwarzanie języka (64) Literatura Daniel Jurafsky, James Martin: Speech and Language Processing, Prentice-Hall, 2008. Przetwarzanie języka (65) Dziękuję za uwagę! Przetwarzanie języka (66) Sztuczna inteligencja i język naturalny 11