si-wykład12 [tryb zgodności]dariusz.banasiak.staff.iiar.pwr.wroc.pl/si/si_wyklad12.pdfautor:...
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