Upload
huslu
View
54
Download
1
Embed Size (px)
DESCRIPTION
Jakub Mikulski [email protected]. Parsery języka naturalnego. O co chodzi?. Odyseja Kosmiczna 2001 : „I’m sorry Dave, I’m afraid I can’t do that” - PowerPoint PPT Presentation
Citation preview
Parsery języka naturalnego
Jakub [email protected]
O co chodzi?
• Odyseja Kosmiczna 2001: „I’m sorry Dave, I’m afraid I can’t do that”
• Przetwarzanie języka naturalnego (Natural Language Processing, NLP) - cel: umożliwić komputerom korzystanie z języka ludzkiego jako wejścia i wyjścia
Dlaczego rozumienie języka ludzkiego przedstawia problem?
• Hasło reklamowe McDonnell-Douglas z roku 1985:At last, a computer that understands you like your mother.
• Komputer rozumie mnie tak dobrze jak moja matka?• Komputer rozumie mnie tak dobrze jak moją matkę?• Komputer rozumie, że lubię moją matkę?• mother 1. A female parent; 2. A cask or vat used in
vinegar-making. [Oxford English Dictionary]
• Przykładowa komenda systemu obsługi szpitala: Copy the local patient files to disk.
• Lokalny jest pacjent czy pliki?• A może pliki są cierpliwe? ;)
Rozumienie tekstu opiera się na posiadanej przez nas wiedzy o świecie, którego ten tekst
dotyczy; dzięki tej wiedzy instynktownie odrzucamy zdania semantycznie niepoprawne
bądź mało prawdopodobne, wybierając te, które autor miał na myśli.
Początki NLP
• Lata 40. i 50. XX wieku - podejście empiryczno-statystyczne, analiza tekstu na podstawie wiedzy zgromadzonej w czasie poprzednich analiz
• „You shall know a word by the company it keeps”, J.R. Firth• r. 1941 - statystycy Mosteller i Williams podejmują próbę
ustalenia autorstwa anonimowego zbioru esejów The Federalist Papers na podstawie wzorców słownych występujących w tekście
• r. 1949 - Warren Weaver proponuje potraktowanie problemu translacji języków jako zastosowania kryptografii - jeden język stanowi zaszyfrowaną formę drugiego
W roku 1957 lingwista Noam Chomsky zauważył,że ani zdanie „Colorless green ideas sleep furiously”, ani też jego odwrotność („Furiously sleep ideas green colorless”) prawdopodobnie w żadnym z angielskich
tekstów nie występują. Empiryczno-statystyczne podejście do NLP skazane jest na zatem na klęskę
(sparse data problem). W zamian Chomsky zaproponował skoncentrowanie się na zasadach rządzących gramatykami języków naturalnych
(knowledge-based approach).
Nawrót do metod empiryczno-statystycznych nastąpił w latach 80. za sprawą sukcesów odnoszonych przez grupę rozpoznawania mowy w IBM. Obecnie oba podejścia są
stosowane w szerokim zakresie.
Link Grammar - założenia
• planarność - linie (łącza) narysowane nad powiązanymi ze sobą słowami nie krzyżują się
• spójność - łącza wiążą ze sobą wszystkie występujące w zdaniu słowa
• poprawność - łącza spełniają odpowiednie warunki dla każdego słowa w zdaniu
Przykładowy słownik
Dla każdego słowa musi zostać spełnione dokładnie jedno łącze z każdej kropki.
Notacja łączy• a the: D+• snake cat: D- & (O- or S+)• Mary: O- or S+• ran: S-• chased: S- & O+
• ‘+’ oznacza łącze prawostronne, ‘-’ lewostronne• ‘&’ oznacza koniunkcję warunków - oba muszą zostać
spełnione• ‘or’ oznacza alternatywę wykluczającą
Link Parser
• wejście:the quick brown fox jumped over the lazy dog
• wyjście:
+---------Ds---------+ +-------Js------+ | +-------A------+ | +-----Ds----+ | | +---A--+---Ss--+--MVp-+ | +--A--+ | | | | | | | | |
the quick.a brown.a fox.n jumped.v over the lazy.a dog.n
• kategorie łącz: http://www.link.cs.cmu.edu/link/dict/summarize-links.html
• podkategorie - oznaczane są małymi literami dodawanymi do nazw kategorii (duże litery)
• ‘Ss+’ może połączyć się z ‘S-’ lub ‘Ss-’, ale nie z ‘Sp-’• ‘Spa+’ może połączyć się z ‘S-’, ‘Sp-’ lub ‘Spa-’,
ale nie z ‘Ss-’, ‘Ssa-’ ani ‘Spb-’• asterisk ‘*’ zastępuje jeden znak podkategorii:
‘S*a+’ łączy się z ‘S-’, ‘Ss-’, ‘Sp-’ lub ‘Ssa-’,ale nie z ‘Ssb-’
Przykłady• Zdania zaznaczone gwiazdką są przez parser
odrzucane. Zdania nieoznaczone są akceptowane.• The fact/*event that she smiled at me gives me hope.• I still remember the day/*room I kissed her.• But my efforts/*presents to win her heart have failed.• Failure/*Absence to comply may result in dismissal.• Last week/*dog I saw a great movie.• The party that night/*house was a great success.
• She is the kind/*character of person who would do that.• John, who is an expert on dogs, helped me choose one.• John, an expert on dogs, helped me choose one.• *John who is an expert on dogs helped me choose one.• The dog that we eventually bought was very expensive.• *The dog, that we eventually bought, was very expensive.• *The dog, we eventually bought, was very expensive.• Have you ever seen the/*a Pacific?• The boys’/*boys’s bedrooms will be enlarged.• My uncle’s mother’s cousin is visiting us.• *John’s my cousin is visiting us.
Memory-Based Shallow Parser
• http://ilk.kub.nl/cgi-bin/tstchunk/demo.pl• składa się z 4 modułów• parsery płytkie kładą nacisk na semantykę;
dzielą zdanie na zasadzie „KTO CO zrobiłZ KIM, KIEDY, JAK etc.”
• tokenizer - oddziela znaki przestankowe od słów• tagger - przydziela każdemu słowu oznaczenie
części mowy• chunker - dzieli zdanie na sekwencje blisko
powiązanych ze sobą wyrazów• subject/object detector - określa, która
sekwencja rzeczownikowa stoi w jakiej relacji do danej sekwencji czasownikowej
• wejście:the quick brown fox jumped over the lazy dog
• tagger:the/DT quick/JJ brown/JJ fox/NN jumped/VBD over/IN the/DT lazy/JJ dog/NN
• DT - determiner• JJ - adjective• NN - noun (liczba pojedyncza lub rzeczownik
niepoliczalny)• VBD - verb (czas przeszły)• IN - preposition / subordinating conjunction
• chunker:[NP the/DT quick/JJ brown/JJ fox/NN NP][VP jumped/VBD VP]{PNP [Prep over/IN Prep][NP the/DT lazy/JJ dog/NN NP] PNP}
• NP - sekwencja rzeczownikowa (noun chunk), od początku frazy rzeczownikowej do rzeczownika głównego
• VP - sekwencja czasownikowa (verbal chunk); składa się z czasownika głównego, wszystkich jego czasowników modalnych i pomocniczych oraz związanych przysłówków
• PNP - sekwencja przyimkowa, przyimek wraz z przynajmniej jedną sekwencją rzeczownikową
• Prep - przyimek (preposition)
• subject/object detector:[NP1
Subject the/DT quick/JJ brown/JJ fox/NN NP1
Subject] [VP1 jumped/VBD VP1]{PNP [P over/IN P] [NP the/DT lazy/JJ dog/NN NP] PNP}
• sekwencje rzeczownikowe wiązane są z odpowiadającymi im sekwencjami czasownikowymi
• NP oznaczane są numerem wspólnym z właściwym VP, wraz ze sprecyzowaniem, czy NP stanowi podmiot (subject) czy też dopełnienie (object)
Ciekawe linki
• http://www.link.cs.cmu.edu/link/index.htmlLink Grammar
• http://ilk.kub.nl/cgi-bin/tstchunk/demo.plMemory-Based Shallow Parser
• http://www.cs.brown.edu/people/ec/Eugene Charniak’s Home Page
• http://oak.colorado.edu/assert/Automatic Statistical SEmantic Role Tagger
• http://www.cs.technion.ac.il/~gabr/resources/pointers.htmlodnośniki do stron o tematyce NLP