Komputerowa weryfikacja gramatyki Świdzińskiego

Podobne dokumenty
Jak się nie zgubić w lesie, czyli o wynikach analizy składniowej według gramatyki Świdzińskiego

Komputerowa weryfikacja gramatyki Świdzińskiego

Morfeusz 2 analizator i generator fleksyjny dla języka polskiego

Spis treści 0. Szkoła Tokarskiego Marcin Woliński Adam Przepiórkowski Korpus IPI PAN Inne pojęcia LXIII Zjazd PTJ, Warszawa

Programowanie komputerów

Korpusomat narzędzie do tworzenia przeszukiwalnych korpusów języka polskiego

Konstrukcje werbalne z aż w gramatyce Świdzińskiego

Definicje. Algorytm to:

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Posłowie redaktora. 1 Konwencje notacyjne

EGZAMIN MATURALNY 2012 INFORMATYKA

Wydobywanie reguł na potrzeby ujednoznaczniania morfo-syntaktycznego oraz płytkiej analizy składniowej tekstów polskich

Języki programowania zasady ich tworzenia

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

1. Analiza algorytmów przypomnienie

JAKIEGO RODZAJU NAUKĄ JEST

Wprowadzenie do złożoności obliczeniowej

Obliczenia inspirowane Naturą

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Złożoność obliczeniowa zadania, zestaw 2

Wstęp do Językoznawstwa

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

1 Narzędzia przetwarzania 2 tekſtów hiſtorycznych

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

KORBA Elektroniczny korpus tekstów polskich z XVII i XVIII w. (do 1772 r.)

Elektroniczny korpus tekstów polskich XVII i XVIII w. (do 1772 r.) prezentacja znakowania morfosyntaktycznego i możliwości wyszukiwarki

EGZAMIN MATURALNY 2011 INFORMATYKA

Semantyka i Weryfikacja Programów - Laboratorium 3

Wizualizacja wyników analizy syntaktycznej

Algorytm. a programowanie -

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Gramatyki regularne i automaty skoczone

Imię, nazwisko, nr indeksu

INFORMATYKA POZIOM ROZSZERZONY

INFORMATYKA POZIOM ROZSZERZONY

Włodzimierz Gruszczyński * Maciej Ogrodniczuk ** Marcin Woliński ** *IJP PAN **IPI PAN

Programowanie w Logice Gramatyki metamorficzne. Przemysław Kobylański na podstawie [CM2003] i [SS1994]

prawda symbol WIEDZA DANE komunikat fałsz liczba INFORMACJA (nie tyko w informatyce) kod znak wiadomość ENTROPIA forma przekaz

Marek Świdziński Elementy gramatyki opisowej języka polskiego Uniwersytet Warszawski * Wydział Polonistyki Seria szósta, T. XXXIII Warszawa 1997

OPIS PRZEDMIOTU, PROGRAMU NAUCZANIA ORAZ SPOSOBÓW WERYFIKACJI EFEKTÓW KSZTAŁCENIA. CZEŚĆ A * (opis przedmiotu i programu nauczania) OPIS PRZEDMIOTU

Analiza semantyczna. Gramatyka atrybutywna

Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd. Włodzimierz Bielecki WI ZUT

10. Translacja sterowana składnią i YACC

AUTOMATYKA INFORMATYKA

Składnia rachunku predykatów pierwszego rzędu

Matematyczne Podstawy Informatyki

EGZAMIN MATURALNY 2013 INFORMATYKA

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe.

EGZAMIN MATURALNY 2013 INFORMATYKA

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

Gramatyki wykorzystywane w analizie języka naturalnego Ciekawe zastosowania

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Architektura komputerów

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia

Języki formalne i automaty Ćwiczenia 1

11 Probabilistic Context Free Grammars

Języki formalne i automaty Ćwiczenia 8

GRAMATYKI BEZKONTEKSTOWE

Metoda generowania typowych scenariuszy awaryjnych w zakładach dużego i zwiększonego ryzyka - ExSysAWZ

Ogólne wymagania na poszczególne oceny z języka niemieckiego

Projektowanie. Projektowanie mikroprocesorów

Parsery LL(1) Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

Metody numeryczne Wykład 4

Bank częściowo ujednoznacznionych struktur LFG

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Wstęp do Informatyki dla bioinformatyków

Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Niestacjonarne (stacjonarne / niestacjonarne)

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Technologia informacyjna Algorytm Janusz Uriasz

KARTA PRZEDMIOTU. M2/2/7 w języku polskim Gramatyka opisowa 2 w języku angielskim Descriptive grammar 2 USYTUOWANIE PRZEDMIOTU W SYSTEMIE STUDIÓW

Budowa Mikrokomputera

Efektywna analiza składniowa GBK

Rozdział 8 PROGRAMOWANIE SIECIOWE

Korpusowe badania składniowe

Matematyczne Podstawy Informatyki

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Wprowadzenie do składni

Chomsky. Syntactic Structures

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Narzędzia do automatycznego wydobywania słowników kolokacji i do oceny leksykalności połączeń wyrazowych

Zadania badawcze prowadzone przez Zakład Technik Programowania:

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Poprawność semantyczna

Aproksymacja funkcji a regresja symboliczna

Programowanie deklaratywne



Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

Uwaga: Akceptowane są wszystkie odpowiedzi merytorycznie poprawne i spełniające warunki zadania.

Gramatyka opisowa języka polskiego Kod przedmiotu

Wymagania edukacyjne. Opracowano na podstawie planu wynikowego nauczania języka włoskiego w szkole ponadgimnazjalnej na

Porównanie czasu wykonania wybranych przekształceń przestrzennych dla programów GIS: ArcGIS i QGIS

ALGORYTMY I PROGRAMY

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.

PRZEWODNIK PO PRZEDMIOCIE

Z punktu widzenia kognitywisty: język naturalny

Transkrypt:

Marcin Woliński Komputerowa weryfikacja gramatyki Świdzińskiego 12 maja 2005 j INSTYTUT PODSTAW INFORMATYKI POLSKIEJ AKADEMII NAUK ul. J. K. Ordona 21, 01-237 Warszawa

Automatyczna analiza składniowa Niniejsza praca dotyczy automatycznej analizy składniowej wypowiedzeń w języku polskim. Celem automatycznej analizy składniowej jest sprawdzenie, czy wypowiedzenie (dane jako napis) jest akceptowane przez daną gramatykę formalną, i określenie jego struktury.

Automatyczna analiza składniowa Niniejsza praca dotyczy automatycznej analizy składniowej wypowiedzeń w języku polskim. Celem automatycznej analizy składniowej jest sprawdzenie, czy wypowiedzenie (dane jako napis) jest akceptowane przez daną gramatykę formalną, i określenie jego struktury. W wypadku niejednoznaczności interpretacji powinny zostać określone wszystkie struktury mogące odpowiadać danemu wypowiedzeniu.

Gramatyka Świdzińskiego (GFJP) Marek Świdziński Gramatyka formalna języka polskiego Wydawnictwa Uniwersytetu Warszawskiego, 1992 stworzona przez lingwistę możliwość realizacji komputerowej nie była celem Autora składnia powierzchniowa (bez semantyki) największa i najbardziej szczegółowa gramatyka formalna polszczyzny (460 reguł)

Cel pracy efektywna realizacja komputerowa pełnej gramatyki Świdzińskiego, weryfikacja opisu zbadanie zgodności reguł z intencjami Autora (wyrażonymi poprzez podanie zestawu zdań, które powinny być akceptowane/nieakceptowane).

Program Świgra Zasadniczym wynikiem pracy jest napisany przeze mnie program komputerowy Świgra. Program ten, zrealizowany w Prologu, jest analizatorem składniowym działającym według reguł gramatyki Świdzińskiego.

Formalizm gramatyczny Gramatyki metamorficzne prologowy formalizm gramatyczny zaproponowany przez Colmerauera: Alain Colmerauer Metamorphosis grammars W: L. Bolc (ed.), Natural Language Communication with Computers. Lecture Notes in Computer Science 63. Springer-Verlag 1978, pp. 133 189. Obecnie bardziej znany w wariancie Definite Clause Grammars (DCG).

Przykładowe reguły zr(wf, A, C, T, Rl, O, Neg0, I, Z) (r8) zsz(wf, A, C, T, Rl, O, Neg, I, Z), przec, spoj(rc, Oz, ni), zsz(wf, A1, C1, T1, Rl1, 3, Neg1, ni, Z), { równe(z, [byxx, choćby, czyżby, gdyby, jakby, jakoby, żeby]), oblneg(oz, Neg0, Neg, Neg1) }. znakkońca(p) [? ]. morfagl(f, Rl, O) [F ], { słow(f, morfagl, Rl, O) }. (int1) (jel1)

Analiza morfologiczna Analizator składniowy nie pracuje na wypowiedzeniu w formie napisu, ale na jego wstępnie zinterpretowanej postaci podzielonej na segmenty, które zostały zanalizowane morfologicznie (fleksyjnie).

Analiza morfologiczna Analizator składniowy nie pracuje na wypowiedzeniu w formie napisu, ale na jego wstępnie zinterpretowanej postaci podzielonej na segmenty, które zostały zanalizowane morfologicznie (fleksyjnie). Ściślej rzecz biorąc, każdemu segmentowi przypisywane są wszystkie możliwe interpretacje jako wykładnika pewnych form pewnych leksemów.

Analizator morfologiczny Morfeusz W programie Świgra wstępne przetwarzanie tekstu wykonuje analizator morfologiczny Morfeusz, także mojego autorstwa. Program operuje systemem znaczników opracowanym na potrzeby Korpusu IPI PAN. Dane lingwistyczne pochodzą z prac Tokarskiego i Saloniego. Dane są reprezentowane w postaci automatów skończonych. Nie jest wykonywana analiza kontekstu (program nie jest tzw. tagerem).

Analizator morfologiczny Morfeusz Wynik analizy morfologicznej jest reprezentowany w postaci grafu acyklicznego: wierzchołki odpowiadają pozycjom w tekście (pomiędzy segmentami), krawędzie są etykietowane interpretacjami morfologicznymi. Ala AL subst:sg:gen.acc:m1 ma MIEĆ fin:sg:ter:imperf kota KOT subst:sg:gen.acc:m2 Ala ALA subst:sg:nom:f ma MÓJ adj:sg:nom:f:pos kota KOTA subst:sg:nom:f.. interp

Analiza morfologiczna a GFJP W gramatyce Świdzińskiego brak reguł opisujących część jednostek najniższego poziomu (realizowanych przez pojedyncze słowa). Dopisałem około 50 reguł gramatycznych (ponad 30 dla form czasownikowych).

Analiza składniowa Problemy uniemożliwiające bezpośrednią realizację GFJP jako gramatyki metamorficznej: rozszerzenie formalizmu o permutacje, niektóre z warunków, którymi opatrzone są reguły gramatyczne, wymagały przeformułowania w celu zapewnienia ich poprawnego obliczania, jałowa rekursja (cykle złożone z nieterminali, które można dowolnie przepisywać na siebie wzajemnie), reguły opisujące zdanie elementarne wymagały daleko idącej reinterpretacji. Zmiany wprowadzałem w taki sposób, aby nie naruszyć lingwistycznej warstwy opisu.

Algorytm analizy składniowej Prologowe sformułowanie algorytmu analizy składniowej w programie Świgra jest mojego autorstwa. Stosowana jest analiza wstępująca (dla polskiego bardziej efektywna od zstępującej). Analizator buduje upakowany las analiz (pozwalający przechować wykładniczą liczbę drzew w wielomianowej pamięci). Reguły gramatyki są kompilowane do klauzul programu (a nie interpretowane w czasie wykonania).

Algorytm analizy składniowej Mój algorytm jest bardziej efektywny niż algorytm Matsumoto (BUP, Matsumoto 1983), który nie zabezpiecza przed wielokrotnym wykonywaniem pewnych obliczeń. W porównaniu z typowym analizatorem tablicowym w moim algorytmie krawędzie nieaktywne są ukryte w stosie wywołań procedur i znikają, gdy nie są już potrzebne (mniejsze zapotrzebowanie na pamięć). Mój algorytm ma gorsze pesymistyczne oszacowanie złożoności czasowej (O(n k+1 ), gdzie k jest największą długością prawej strony reguły) niż analizator tablicowy (O(n 3 )). Stosunkowo prosto można to jednak poprawić.

Przykładowe drzewo analizy wypowiedzenie zr(os, nd, ter, ozn, żeń/poj, 3, nie, ni, np, 0) ze(os, nd, ter, ozn, żeń/poj, 3, [np(mian)], nie, ni, np, br, 4) fw(np(mian), 1, nd, ter, żeń/poj, 3, nie, ni, np) knoatr(mian, żeń/poj, 3, nie, ni, np, rzecz, 5) fpt(mian, żeń/poj, row, 2, ni, np, zaim, 0) zaimprzym(ten, mian, żeń/poj) Ta TEN knoink(mian, żeń/poj, 3, nie, ni, np, rzecz, 4) formarzecz(mian, żeń/poj) poza POZA ff(os, nd, ter, ozn, żeń/poj, 3, [np(mian)], 1, nie, ni, np, br) kweneg(os, nd, ter, ozn, żeń/poj, 3, [np(mian)], 1, nie, ni, np) partykula(nie) nie NIE kweink(os, nd, ter, ozn, żeń/poj, 3, [np(mian)], 1, ni, np) formaczas1(n, os, nd, ter, ozn, żeń/poj, 3, [np(mian)], 1) wychodzi WYCHODZIĆ znakkonca(np)!! (w1) (r1) (e5) (wy1) (no27) (pt1) (jel6) (no40) (n rz) (fi1) (we21e) (jel2) (we26) (n cz4) (int2)

Inne drzewo dla tego samego zdania wypowiedzenie zr(os, nd, ter, ozn, żeń/poj, 3, tak, ni, np, 0) ze(os, nd, ter, ozn, żeń/poj, 3, [np(mian)], tak, ni, np, br, 4) fw(np(mian), 0, nd, ter, żeń/poj, 3, tak, ni, np) fw1(np(mian), 0, nd, ter, żeń/poj, 3, tak, ni, np) zaimprzym(ten, mian, żeń/poj) Ta TEN fl(nd, ter, żeń/poj, 3, tak, ni, np) fpm(poza, bier, tak, ni, np, os) przyimek(poza, bier) poza POZA fno(bier, nmo/mno, 3, tak, ni, np, os, 0) zaimos(bier, nmo/mno, 3) nie ON ff(os, nd, ter, ozn, żeń/poj, 3, [np(mian)], 0, tak, ni, np, br) formaczas1(n, os, nd, ter, ozn, żeń/poj, 3, [np(mian)], 0) wychodzi WYCHODZIĆ znakkonca(np)!! (w1) (r1) (e5) (wy4) (wy8) (jel6) (lu1) (pm1) (jel3) (no1) (n zo3) (fi1) (n cz4) (int2)

Wyniki eksperymentów poprawnych niepoprawnych akc. nieakc. akc. nieakc. liczba przykładów 515 145 469 46 34 111 91% 9% 23% 77% przeciętnie drzew 10 14 przeciętny czas (s) 0,26 0,36 0,20 0,15 przec. l. kroków 267 905 273 601 201 369 183 400 Wyniki przetworzenia 660 zdań ilustrujących książkę Świdzińskiego. Czas mierzony na komputerze z procesorem Pentium 1,8 GHz pod systemem Linux. Długości zdań wynoszą 3 do 27 segmentów (ponad połowa w zakresie 7 16).

Przykład akceptowanego zdania niepoprawnego * Ona nie czytała książkę.

Przykład akceptowanego zdania niepoprawnego (?) *? Ona nie czytała książkę. Ona nie czytała godzinę.

Podsumowanie Gramatyka Świdzińskiego okazała się poddawać realizacji komputerowej. Uzyskany program komputerowy wykazuje dużą zgodność z intencjami Autora GFJP. Konieczne ulepszenia gramatyki: frazy liczebnikowe, koordynacja wewnątrz fraz (rzeczownikowych, przymiotnikowych,... ), ograniczenie liczby nadmiarowych drzew (frazy luźne!).

Podsumowanie Opracowany przeze mnie algorytm analizy dla gramatyk metamorficznych zapewnia efektywne przetwarzanie zdań polskich. Zawarte w programie Świgra środowisko obliczeniowe dla gramatyk logicznych można wykorzystać z innymi gramatykami tego typu. Niebagatelne znaczenie dla wygody eksperymentów z gramatykami ma gotowy moduł analizy morfologicznej i przejrzysta postać graficzna uzyskiwanych drzew analizy. W zestawieniu z bogatym repertuarem konstrukcji składniowych uwzględnionym w gramatyce Świdzińskiego otwiera to interesujące możliwości automatycznego przetwarzania tekstów polskich.