22
Parsery języka naturalnego Jakub Mikulski [email protected]

Parsery języka naturalnego

  • 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

Page 1: Parsery języka naturalnego

Parsery języka naturalnego

Jakub [email protected]

Page 2: Parsery języka naturalnego

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

Page 3: Parsery języka naturalnego

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]

Page 4: Parsery języka naturalnego

• 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? ;)

Page 5: Parsery języka naturalnego

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.

Page 6: Parsery języka naturalnego

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

Page 7: Parsery języka naturalnego

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).

Page 8: Parsery języka naturalnego

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.

Page 9: Parsery języka naturalnego

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

Page 10: Parsery języka naturalnego

Przykładowy słownik

Dla każdego słowa musi zostać spełnione dokładnie jedno łącze z każdej kropki.

Page 11: Parsery języka naturalnego
Page 12: Parsery języka naturalnego

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ą

Page 13: Parsery języka naturalnego

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

Page 14: Parsery języka naturalnego

• 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-’

Page 15: Parsery języka naturalnego

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.

Page 16: Parsery języka naturalnego

• 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.

Page 18: Parsery języka naturalnego

• 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

Page 19: Parsery języka naturalnego

• 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

Page 20: Parsery języka naturalnego

• 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)

Page 21: Parsery języka naturalnego

• 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)

Page 22: Parsery języka naturalnego

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