si-wykład12 [tryb zgodności]dariusz.banasiak.staff.iiar.pwr.wroc.pl/si/si_wyklad12.pdfautor:...

37
Przetwarzanie języka naturalnego Dariusz Banasiak Katedra Informatyki Technicznej (K30W04D03) Wydzial Elektroniki

Upload: others

Post on 13-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • Przetwarzaniejęzyka naturalnego

    Dariusz BanasiakKatedra Informatyki Technicznej (K30W04D03)

    Wydział Elektroniki

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 2

    Przetwarzanie języka naturalnego

    NLP – Natural Language Processing (przetwarzanie języka naturalnego)

    Głównym celem prac prowadzonych w tej dziedzinie jestopracowanie modeli opisujących strukturę języka orazpoznanie mechanizmów rozumienia i formułowania wypo-wiedzi.

    Zrozumienie zasad budowy i posługiwania się językiemnaturalnym możliwe jest dzięki wspólnym wysiłkom bada-czy z wielu dyscyplin naukowych:lingwistyki, logiki, filozofii, psychologii, neurofizjologii oraz informatyki.

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 3

    Przetwarzanie języka naturalnego

    Definicja NLP

    NLP to dział AI zajmujący się poszukiwaniem metod for-malnego opisu języka naturalnego oraz reprezentacjiwiedzy zawartej w tekstach.

    Początki zainteresowania przetwarzaniem języka natural-nego związane są z problemem automatycznego tłuma-czenia tekstów z jednego języka na inny.Pierwszy projekt badawczy dotyczący automatycznegotłumaczenia tekstów rozpoczęto w roku 1946 w BirkbeckCollege w Londynie.

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 4

    Przetwarzanie języka naturalnego

    Zastosowanie systemów NLP:

    � rozpoznawanie i synteza mowy� interfejsy w języku naturalnym (HCI z j. ang. human -

    computer interfaces)� rozumienie i generowanie tekstów, (np. inteligentne

    wyszukiwania informacji, dokonywanie streszczeń, tworzenie bazy wiedzy, itd.)

    � prowadzenie dialogu człowiek-komputer � automatyczne tłumaczenie tekstów (np. system

    JANUS-II)� inteligentne edytory tekstów� nauka języków obcych

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 5

    Przetwarzanie języka naturalnego

    Zalety stosowania systemów NLP:

    � korzystanie z komputera przez osoby bez specjalistycznego przygotowania

    � szybkość (klawiatura 0,5 słowa/s; profesjonalna maszynistka 1.5-2.5 słowa/s; spontaniczna mowa 2.5-3.6 słowa/s)

    � zwolnienie rąk użytkownika (równoległe wykonywanie innych czynności)

    � komunikacja z komputerem w nietypowym środowisku (pod wodą, w statku kosmicznym)

    � zmniejszenie czasu reakcji (szybsza reakcja werbalna niż manualna np. wyłączenie urządzenia w przypadku awarii)

    � korzystanie z komputerów przez osoby niepełnosprawne

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 6

    Przetwarzanie języka naturalnego

    U podstaw procesu porozumiewania się za pomocą językanaturalnego leżą bardzo złożone mechanizmy związane zpercepcją i wytwarzaniem wypowiedzi. Wyróżnia się nastę-pujące poziomy analizy języka naturalnego:

    � akustyczny – rytm i intonacja języka� fonologiczny – badanie struktury dźwiękowej języka � morfologiczny – badanie struktury słów (rdzenie,

    końcówki) � syntaktyczny – analiza gramatyczna zdania � semantyczny – opis znaczenia wyrazów i zdań � pragmatyczny – badanie znaczenia w zależności od

    kontekstu wypowiedzi

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 7

    Przetwarzanie języka naturalnego

    Podstawowe problemy analizy języka naturalnego:

    � złożoność problemu (bogate słownictwo, różnorodne struktury, itd.)

    � wieloznaczność syntaktyczna wyrazów (np. wyraz "work" może oznaczać rzeczownik "praca"lub czasownik "pracować" )

    � wieloznaczność semantyczna wyrazów (np. czasownik "order" może posiadać jedno ze znaczeń: "rozkazać", "zamówić", "uporządkować" )

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 8

    Przetwarzanie języka naturalnego

    � wieloznaczność syntaktyczna na poziomie fraz (lub zdań) (John) (sent) (a package) (to New York)

    (John) (booked) (a flight to New York)

    � problem odniesień anaforycznychThe airline bought the plane because it had already decided to do so earlier

    � problem zakresu kwantyfikatorów i negacji Nie wszyscy chłopcy i dziewczynki poszli do kina

    � wystąpienie w zdaniu nieznanych słów.

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 9

    Przetwarzanie języka naturalnego

    Przykładowe realizacje systemów NLP:

    � SAD-SAM (R. Lindsay, 1963) – system odpowiadający na pytania dotyczące stopnia pokrewieństwa

    � BASEBALL (B. Green i inni, 1963) – system bazy danych, odpowiadający na pytania dotyczące spotkań baseballowych

    � LUNAR (W. A. Woods, 1972) – system do wyszukiwania danych na temat próbek gruntu księżycowego pobranych przez Apollo 11

    � LADDER (G. Hendrix, 1978) – system dialogowego dostępu do rozproszonych baz danych

    � HAM-ANS (1981-86) i WISBER(1986-89) – systemy prowadzące dialog na temat rezerwacji hotelowej (w języku niemieckim)

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 10

    Przetwarzanie języka naturalnego

    � ORBIS (A. Colmerauer, 1983) – system bazy danych, odpowiadający na pytania dotyczące planet układu słonecznego

    Projekty Massachusetts Institute of Technology (MIT):

    � JUPITER – system informacji o pogodzie, dostęp przez telefon (około 500 miast)

    � MERCURY – system rezerwacji lotów (dostęp przez telefon)� PEGASUS – system informacji o lotach (odloty, przyloty)� VOYAGER – system informacji o ruchu drogowym, pomoc

    w nawigacji (dotyczy Bostonu)

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 11

    Przetwarzanie języka naturalnego

    Schemat blokowy systemu dialogowego (wg MIT):

    syntezamowy

    rozpoznaniemowy

    zrozumieniewypowiedzi (języka)

    kontekstdialogu

    generowaniewypowiedzi

    rama semantyczna

    układsterujący baza danych

    Pytanie

    Odpowiedź

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 12

    Przetwarzanie języka naturalnego

    Przykład dialogu w systemie Merkury:S: Welcome to the initial development version of th e MIT air travel

    information system. This call is being recorded for system development. You may hang up or ask for help at any time. For enrolled users please say your first and last na me. Otherwise, say ‘new user.’

    U: Joe Polifroni

    S: Please speak the month and day you registered as your password, as in ‘May first.’

    U: I want to key in my password.

    S: Okay, Please enter your four digit date password ...

    S: Welcome, Joe. You have successfully logged onto mercury. How may Ihelp you?

    U: I want to fly to San Francisco the first Sunday in November and return thefollowing Thursday.

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 13

    Przetwarzanie języka naturalnego

    S: Okay, flights from Boston to San Francisco on Su nday November 5.Can you provide the approximate departure time or a irline preference?

    U: Are there any flights in the morning?S: Okay, flights from Boston to San Francisco depar ting between 5 a.m.

    and 12 p.m. on Sunday November 5. One moment please . ... Can youprovide a departure or arrival time? I have flights on American,Frontier, America West, Nordic East Airways, Northw est, and United.The earliest nonstop United flight leaves at 7 a.m. and arrives at 10:20a.m.

    U: I don’t want to fly on United.S: I have a nonstop American flight leaving at 9 a. m. arriving at 12:40

    p.m. Would that work?U: Yes, I’ll take that one.S: American flight 195 has been added to your itine rary. You depart

    Boston at 9 a.m. and arrive in San Francisco at 12: 40 p.m. Shall I helpyou with the return flight now?

    U: Yes, please....

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 14

    Przetwarzanie języka naturalnego

    Analiza syntaktyczna

    Dla "zrozumienia" zdania języka naturalnego koniecznajest nie tylko znajomość znaczenia użytych w nim wyrazów,ale również informacja o ich wzajemnym układzie i powią-zaniach.

    Opisem reguł budowy zdań z wyrazów zajmuje się syntaktyka . Termin "syntaksa" wywodzi się z greckiego wyrazu "syntaktis" (zestawienie, uszeregowanie).

    Zbiór reguł syntaktycznych dla danego języka nazywamy gramatyką tego języka.

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 15

    Przetwarzanie języka naturalnego

    Proces analizy syntaktycznej nazywany jest parsowaniem , a program realizujący ten proces parserem .

    Zadaniem parsera jest transformacja liniowego zapisutekstu na pewną strukturę, która zawiera informację ozwiązkach i zależnościach pomiędzy wyrazami i częściamizdania.

    Wprowadzenie przez Chomskiego w latach pięćdziesiątychnaszego wieku pojęcia gramatyki generatywnej stanowiłoprzełom w lingwistyce, i uważane jest za jedno z ważniej-szych wydarzeń w tej dziedzinie.

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 16

    Przetwarzanie języka naturalnego

    Podstawowe pojęcia dotyczące gramatyk

    Alfabetem nazywamy skończony zbiór symboli występują-cych w danym języku. Dla języka naturalnego są to wyrazy.

    Słowem nazywamy skończony ciąg symboli należących do alfabetu. Dla języka naturalnego są to zdania.

    Językiem nazywamy zbiór słów nad pewnym alfabetem. Język naturalny jest więc zbiorem zdań.

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 17

    Przetwarzanie języka naturalnego

    Gramatykę definiuje się jako "czwórkę" :

    � T – zbiór terminali (symbole końcowe np. słowa języka naturalnego)

    � V – zbiór nieterminali (kategorie syntaktyczne np. , , itd.)

    � P – zbiór produkcji (reguły tworzenia zdań np.

    S → NP VP )

    � S – wyróżniony symbol początkowy

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 18

    Przetwarzanie języka naturalnego

    Postać reguł produkcji stanowi podstawę klasyfikacji gramatyk na cztery typy (wg Chomskiego):

    � typ 0 – gramatyki rekurencyjnie przeliczalne (bez ograniczeń – dowolny ciąg symboli terminalnych i nieterminalnych można zastąpić innym ciągiem tych symboli): α → β, α, β - dowolne (α ≠ ε)

    � typ 1 – gramatyki kontekstowe (ciąg symboli po lewej stronie można zastąpić innym ciągiem co najmniej o tej samej długości): α A β → α γ β, A – symbol nieterminalny

    α, β, γ - dowolne (γ ≠ ε)

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 19

    Przetwarzanie języka naturalnego

    � typ 2 – gramatyki bezkontekstowe (po lewej stronie reguły może wystąpić wyłącznie jeden symbol nieterminalny, prawa strona jest dowolna):

    A → α, A – symbol nieterminalny, α - dowolne

    � typ 3 – gramatyki regularne (jeden symbol nieterminalny można zastąpić jednym symbolem terminalnym lub połączeniem symbolu nieterminalnego i terminalnego):A → a lub A → a B, A, B – symbole nieterminalne,

    a – symbol terminalny

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 20

    Przetwarzanie języka naturalnego

    Postać reguł produkcji decyduje o mocy danej gramatyki.Przez moc gramatyki rozumie się liczbę typów konstrukcjijęzykowych przez nią generowanych. Najmniejszą moc magramatyka regularna, największą gramatyka rekurencyjniepoliczalna.

    Chomsky pokazał, że do opisu języka angielskiego (i wieluinnych języków naturalnych) niezbędna jest gramatykakontekstowa.

    W praktyce, w wielu zastosowaniach używana jest grama-tyka bezkontekstowa (nie można opisać wszystkich kon-strukcji, ale istnieją efektywne algorytmy).

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 21

    Przetwarzanie języka naturalnego

    Gramatyka bezkontekstowa dla języka angielskiego (fragment):

    S → NP VPVP → vi (vi – czasownik nieprzechodni np. „spać”)VP → vt NP (vt – czasownik przechodni np. "widzieć„)VP → vt NP PPNP → nNP → det n NP → pron (pron – zaimek)NP → det adj nPP → prep NP (PP – grupa przyimkowa)

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 22

    Przetwarzanie języka naturalnego

    Analiza zdania: They visit friends in Egypt pron vt n prep n

    Drzewo struktury frazowej:

    S

    NP VP

    pron NP PPvt

    n NPprep

    invisitthey friendst Egypt

    n

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 23

    Przetwarzanie języka naturalnego

    Każda gramatyka powinna spełniać dwa kryteria: � generować wszystkie poprawne zdania danego języka � generować wyłącznie zdania tego języka (nie może

    generować zdań niepoprawnych).

    Przykład

    1. Chłopiec czyta książkę.2. Chłopiec je ciastko. 3. Chłopiec czytają książkę.4. Chłopiec czyta książka. 5. Chłopiec czyta ciastko. 6. Chłopiec je książkę.

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 24

    Przetwarzanie języka naturalnego

    Gramatyka powinna w swoich regułach uwzględniać rów-nież konieczność uzgadniania form fleksyjnych wyrazów(istotne dla języków fleksyjnych np. j. polskiego).Problem ten można rozwiązać przez przypisanie symbolomgramatyki dodatkowych atrybutów (np. osoby, liczby, rodza-ju, przypadku itd.):

    S → NP(case, gender, nb, person) VP(gender, nb, person)NP(case,gender,number) → Noun(case,gender,number)

    Warunkiem zastosowania danej reguły jest wówczas dodat-kowo zgodność wartości odpowiadających sobie atrybutów.

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 25

    Przetwarzanie języka naturalnego

    Problemy występujące podczas analizy syntaktycznej:

    � wieloznaczność syntaktyczna (Poszedłem) (po proszek) (do sklepu)(Poszedłem) (po proszek do prania)

    � nieciągłość frazDziewczynki będą dziś wieczorem rysowały

    � swobodny szyk wyrazówEwa dała jabłko Adamowi (możliwe 24 permutacje)

    � konstrukcje współrzędnie złożone� elipsy i konstrukcje z elementami domyślnymi

    John wants [John] to dance

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 26

    Przetwarzanie języka naturalnego

    Rodzaje gramatyk spotykane w literaturze:

    � gramatyki transformacyjne � gramatyki Montague � gramatyki struktur frazowych � gramatyki funkcyjne � gramatyki logiczne � gramatyki składania drzew � gramatyki unifikacyjne� ...

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 27

    Przetwarzanie języka naturalnego

    Gramatyka dla języka polskiego (wg Szpakowicza):

    � jednostki elementarne (klasy wyrazów) - 20� wyrazy funkcyjne (spójniki i zaimki) - około 100 � jednostki składniowe (nieterminale) - około 100� reguły - około 270

    Przykładowa reguła:

    ZDANIEELEM (1, r, l, o, tr, cz, neg) = [SZFRZ(r, l, o) SZFCZ(OSOB, r, l, o, tr, cz, neg)] .

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 28

    Przetwarzanie języka naturalnego

    Analiza semantyczna

    Semantyka zajmuje się opisem znaczenia. Wyróżnia siętrzy poziomy analizy semantycznej: opis znaczenia wyra-zów, zdań oraz tekstów.Cele analizy semantycznej: � sprawdzenie poprawności zdania pod względem

    zrozumiałości i sensowności (np. odrzucenie zdań nielogicznych)

    � usunięcie niejednoznaczności w strukturze zdania (np. właściwa interpretacja wyrazów, wybór właściwego rozbioru gramatycznego zdania),

    � określenie reprezentacji znaczenia zdania (np. opis znaczenia zdania w celu dalszej analizy).

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 29

    Przetwarzanie języka naturalnego

    Zagadnienie semantyki pojawiło się stosunkowo późno w polu zainteresowania lingwistów (lata 60-te XX wieku).

    Dwa podejścia stosowane do opisu semantyki: � strukturalne (relacyjne) � składnikowe.

    Podejście strukturalne: jednostkom języka (głoskom, wyrazom itp.), wyróżnionymw toku analizy zdania, można przypisać znaczenie na pod-stawie ich relacji w stosunku do innych jednostek danegosystemu językowego.Znaczenie wyrazu definiują relacje z wyrazami sąsiednimi (bliskoznacznymi) i opozycyjnymi (np. WORDNET).

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 30

    Przetwarzanie języka naturalnego

    Podejście składnikowe: znaczenie może być zdefiniowane przez rozkład na prostsze (elementarne) komponenty semantyczne.

    mężczyzna = człowiek + męski + dorosłykobieta = człowiek + żeński + dorosły chłopiec = człowiek + męski + młodociany

    Znaczenie czasownika "dać" można zdefiniować za pomocą czasowników elementarnych "powodować" i "mieć":

    X daje Y-owi Z = X powoduje, Y ma Z

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 31

    Przetwarzanie języka naturalnego

    Kazimierz Polański – „Słownik syntaktyczno-generatywny czasowników polskich”:

    [+ Abstr] – abstrakcyjność [- Abstr] – konkretność [+ Anim] – żywotność [- Anim] – nieżywotność [+ Hum] – osobowość [- Hum] – nieosobowość, [Coll] – zbiorowość [Elm] – żywioł[Fl] – roślina [Instit] – instytucja [Instr] – narzędzie [Liqu] – płyn, [Mach] – maszyna [Mat] – materiał[Pers] – część

    Cechy te mogą tworzyć różne kombinacje np.: [- Abstr, - Anim] – obiekt materialny nieożywiony np. kamień, szkło [+ Hum, Pars] – część ciała ludzkiego np. ręka, głowa, ząb

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 32

    Przetwarzanie języka naturalnego

    Podstawowe teorie semantyczne w systemach NLP: � gramatyki semantyczne (ang. semantic grammars) � teoria zależności pojęciowych Schanka

    (ang. Conceptual Dependancy Theory) � gramatyka przypadków głębokich Fillmore'a

    (ang. case grammar)

    Gramatyki semantyczne łączą opis składniowy zdania z informacją semantyczną zawartą w zdaniu (np. gramatyka bezkontekstowa, w której symbole nieterminalne repre-zentują pewne pojęcia semantyczne). Podstawowe zastosowanie: systemy umożliwiające dostęp do baz danych w języku naturalnym.

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 33

    Przetwarzanie języka naturalnego

    Reguły analizy pytań w systemie LADDER:

    S → QUERY the SHIP_PROP of SHIP ? QUERY → what is | [can you] tell me SHIP_PROP → speed | length | beam | type | class SHIP → the SHIP_NAME | SHIP_NAME | the fastest SHIP2 | SHIP2 SHIP_NAME → Kennedy | Enterprise | Lafayette | ... SHIP2 → COUNTRY SHIP3 | SHIP3 SHIP3 → SHIP_TYPE LOC | SHIP_TYPE SHIP_TYPE → carrier | submarine COUNTRYS → American | British LOC → in the Pacific | in the Atlantic

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 34

    Przetwarzanie języka naturalnego

    Teoria zależności pojęciowych Schanka (teoria CD)

    Teoria CD Schanka wykorzystuje zjawisko "pojęciowego" podobieństwa czasowników. Podstawą reprezentacji informacji zawartych w zdaniu jest struktura, która przed-stawia wzajemne relacje między pojęciami stanowiącymi główne elementy danego zdarzenia, takimi jak:� czynność, � sprawca czynności, � obiekt podlegający czynności, � cel czynności � ...

    Struktura ta nazywana jest formułą CD.

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 35

    Przetwarzanie języka naturalnego

    W zapisie formuł zastosowano uproszczenia dotyczące nazywania czynności. W tym celu zostały wprowadzone tzw. akcje elementarne, które w formułach pełnią funkcję czasowników.

    Schank zaproponował jedenaście akcji elementarnych:

    � MTRANS � ATRANS � PTRANS� PROPEL � INGEST� MBUILT

    � ATTEND� SPEAK� MOVE� GRASP� EXPEL.

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 36

    Przetwarzanie języka naturalnego

    Przykład

    Janek dał Marii jabłko. Maria wzięła od Janka jabłko.

    Zdania te będą miały następującą reprezentację w postaci formuł CD:

    akcja - ATRANS akcja - ATRANSaktor - Janek aktor - Maria obiekt - jabłko obiekt - jabłko kierunek DO - Maria kierunek DO - Maria

    OD - Janek OD - Janek

  • Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 37

    Przetwarzanie języka naturalnego

    Nagroda Loebnera (od 1990 roku)

    Nagroda ufundowana dla programisty, który zdoła napisać program, który skutecznie przejdzie test Turinga.Nagroda ta obejmuje przyznanie złotego medalu oraz 100 000 USD dla programu prowadzącego konwersację, który zdoła skutecznie zmylić wszystkich sędziów.

    http://www.loebner.net/Prizef/loebner-prize.html