języka naturalnego
Dariusz Banasiak
NLP – Natural Language Processing (przetwarzanie języka naturalnego)
Głównym celem prac prowadzonych w tej dziedzinie jest opracowanie modeli opisujących strukturę języka oraz poznanie mechanizmów rozumienia i formułowania wypo- wiedzi.
Zrozumienie zasad budowy i posługiwania się językiem naturalnym możliwe jest dzięki wspólnym wysiłkom bada- czy z wielu dyscyplin naukowych:
lingwistyki, logiki, filozofii, psychologii, neurofizjologii oraz informatyki.
Definicja NLP
NLP to dział AI zajmujący się poszukiwaniem metod for- malnego opisu języka naturalnego oraz reprezentacji wiedzy 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 automatycznego tłumaczenia tekstów rozpoczęto w roku 1946 w Birkbeck College w Londynie.
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
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)
U podstaw procesu porozumiewania się za pomocą języka naturalnego leżą bardzo złożone mechanizmy związane z percepcją 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
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ć" )
wieloznaczność syntaktyczna na poziomie fraz (lub zdań)
(John) (sent) (a package) (to New York) (John) (booked) (a flight to New York)
problem odniesień anaforycznych
The 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.
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)
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)
Schemat blokowy systemu dialogowego (wg MIT):
synteza mowy
rozpoznanie mowy
zrozumienie wypowiedzi (języka) kontekst
dialogu
generowanie wypowiedzi
rama semantyczna
układ
sterujący baza danych
Pytanie Odpowiedź
Przykład dialogu w systemie Merkury:
S: Welcome to the initial development version of the 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 name.
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... <keyed in>
S: Welcome, Joe. You have successfully logged onto mercury. How may I help you?
U: I want to fly to San Francisco the first Sunday in November and return the following Thursday.
S: Okay, flights from Boston to San Francisco on Sunday November 5.
Can you provide the approximate departure time or airline preference?
U: Are there any flights in the morning?
S: Okay, flights from Boston to San Francisco departing between 5 a.m.
and 12 p.m. on Sunday November 5. One moment please. ... Can you provide a departure or arrival time? I have flights on American,
Frontier, America West, Nordic East Airways, Northwest, and United.
The earliest nonstop United flight leaves at 7 a.m. and arrives at 10:20 a.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 itinerary. You depart
Boston at 9 a.m. and arrive in San Francisco at 12:40 p.m. Shall I help you with the return flight now?
U: Yes, please.
Analiza syntaktyczna
Dla "zrozumienia" zdania języka naturalnego konieczna jest 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.
Proces analizy syntaktycznej nazywany jest parsowaniem, a program realizujący ten proces parserem.
Zadaniem parsera jest transformacja liniowego zapisu tekstu na pewną strukturę, która zawiera informację o związkach i zależnościach pomiędzy wyrazami i częściami zdania.
Wprowadzenie przez Chomskiego w latach pięćdziesiątych naszego wieku pojęcia gramatyki generatywnej stanowiło przełom w lingwistyce, i uważane jest za jedno z ważniej- szych wydarzeń w tej dziedzinie.
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ń.
Gramatykę definiuje się jako "czwórkę" <T, V, P, S>:
T – zbiór terminali (symbole końcowe np. słowa języka naturalnego)
V – zbiór nieterminali (kategorie syntaktyczne np.
<zdanie>, <fraza rzeczownikowa>, itd.)
P – zbiór produkcji (reguły tworzenia zdań np.
S → NP VP )
S – wyróżniony symbol początkowy
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 (γ ≠ ε)
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
Postać reguł produkcji decyduje o mocy danej gramatyki.
Przez moc gramatyki rozumie się liczbę typów konstrukcji językowych przez nią generowanych. Najmniejszą moc ma gramatyka regularna, największą gramatyka rekurencyjnie policzalna.
Chomsky pokazał, że do opisu języka angielskiego (i wielu innych języków naturalnych) niezbędna jest gramatyka kontekstowa.
W praktyce, w wielu zastosowaniach używana jest grama- tyka bezkontekstowa (nie można opisać wszystkich kon- strukcji, ale istnieją efektywne algorytmy).
Gramatyka bezkontekstowa dla języka angielskiego (fragment):
S → NP VP
VP → vi (vi – czasownik nieprzechodni np. „spać”)
VP → vt NP (vt – czasownik przechodni np. "widzieć„)
VP → vt NP PP NP → n
NP → det n
NP → pron (pron – zaimek)
NP → det adj n
PP → prep NP (PP – grupa przyimkowa)
Analiza zdania:
They visit friends in Egypt
pron vt n prep n
Drzewo struktury frazowej:
S
NP VP
pron vt NP PP
n prep NP
in visit
they friendst Egypt
n
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.
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 symbolom gramatyki 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.
Problemy występujące podczas analizy syntaktycznej:
wieloznaczność syntaktyczna
(Poszedłem) (po proszek) (do sklepu) (Poszedłem) (po proszek do prania)
nieciągłość fraz
Dziewczynki będą dziś wieczorem rysowały
swobodny szyk wyrazów
Ewa 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
Rodzaje gramatyk spotykane w literaturze:
gramatyki transformacyjne gramatyki Montague
gramatyki struktur frazowych gramatyki funkcyjne
gramatyki logiczne
gramatyki składania drzew gramatyki unifikacyjne
...
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)] .
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).
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óżnionym w toku analizy zdania, można przypisać znaczenie na pod- stawie ich relacji w stosunku do innych jednostek danego systemu językowego.
Znaczenie wyrazu definiują relacje z wyrazami sąsiednimi
Podejście składnikowe:
znaczenie może być zdefiniowane przez rozkład na prostsze (elementarne) komponenty semantyczne.
mężczyzna = człowiek + męski + dorosły kobieta = 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
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
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.
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
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.
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.
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 - ATRANS
aktor - Janek aktor - Maria
obiekt - jabłko obiekt - jabłko kierunek DO - Maria kierunek DO - Maria
OD - Janek OD - Janek
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