Tłumaczenie maszynowe, analiza i synteza mowy.



Podobne dokumenty
Parsery wykorzystywane w analizie języka naturalnego

Jerzy Nawrocki, Wprowadzenie do informatyki

Metody Kompilacji Wykład 3

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD IX: Agent przetwarza język naturalny

11 Probabilistic Context Free Grammars

Języki programowania zasady ich tworzenia

Wstęp do Językoznawstwa

Lokalizacja Oprogramowania

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

Metody Kompilacji Wykład 1 Wstęp

Analiza semantyczna. Gramatyka atrybutywna

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

NA PODSTAWIE PODRĘCZNIKA DAS IST DEUTSCH

System Korekty Tekstu Polskiego

Zasady Nazewnictwa. Dokumentów XML Strona 1 z 9

Algorytm. Krótka historia algorytmów

Uproszczony schemat działania kompilatora

Definiowanie języka przez wyrażenie regularne(wr)

Włączenie analizy leksykalnej do analizy składniowej jest nietrudne; po co więc jest wydzielona?

10. Translacja sterowana składnią i YACC

Przyszłe rozporządzenia UE

Matematyczne Podstawy Informatyki

Oprogramowanie typu CAT

Spis treści. ROZDZIAŁ 2 Wzajemne oddziaływanie między leksykonem a innymi środkami służącymi kodowaniu informacji... 67

Inteligentne systemy decyzyjne. Przetwarzanie języka naturalnego

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

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

Kryteria oceniania z języka angielskiego dla klasy 6

EDUKACJA POLONISTYCZNA

Umysł-język-świat 2012

Forma. Główny cel kursu. Umiejętności nabywane przez studentów. Wymagania wstępne:

Open Access w technologii językowej dla języka polskiego

Wiadomości wstępne dotyczące języka migowego.

Programowanie komputerów

Metody Kompilacji Wykład 7 Analiza Syntaktyczna

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

Analiza danych tekstowych i języka naturalnego

Uproszczony schemat działania kompilatora

Gramatyki atrybutywne

Plan wykładu. Kompilatory. Literatura. Translatory. Literatura Translatory. Paweł J. Matuszyk

REFERAT PRACY DYPLOMOWEJ

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 8: Structured PredicCon 2

1 Automaty niedeterministyczne

Laboratorium Sieci Komputerowe

Wprowadzenie do Prologa

0-0000, , , itd

Kryteria oceniania z języka angielskiego dla klas II-III

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

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

Wprowadzenie do analizy składniowej. Bartosz Bogacki.

PROCES TWORZENIA DOKUMENTU

Zapisywanie algorytmów w języku programowania

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

UNIWERSYTET ŚLĄSKI W KATOWICACH

WYMAGANIA EDUKACYJNE Z JĘZYKA POLSKIEGO NA POSZCZEGÓLNE OCENY DLA KLASY IV W ROKU SZKOLNYM 2015/2016 OCENA BARDZO DOBRA

Generatory analizatorów

Leksykon gramatyki kategorialnej dla języka polskiego

Rys. 7.1: Okno główne modułu Dia_Sta

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

PRZEWODNIK PO PRZEDMIOCIE RODZAJ ZAJĘĆ LICZBA GODZIN W SEMESTRZE WYKŁAD ĆWICZENIA LABORATORIUM PROJEKT SEMINARIUM 30

PISEMNY EGZAMIN DOJRZAŁOŚCI Z JĘZYKA GRECKIEGO KLASYCZNEGO 2002/2003 OPIS WYMAGAŃ

SZCZEGÓŁOWE WYMAGANIA EDUKACYJNE Z JĘZYKA ANGIELSKIEGO DLA KLASY 7 ROK SZKOLNY 2017/2018

Gramatyki wykorzystywane w analizie języka naturalnego

Wersje językowe w portalu

Informacja zwrotna język angielski szkoła podstawowa

Ocena celująca: Ocena bardzo dobra: Wymagania Edukacyjne, Klasa III Uczeń:

Perl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML

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

Szczegółowe kryteria oceniania uczniów z języka niemieckiego w klasie IV dostosowane do nowej podstawy programowej

Narzędzia do automatycznego wydobywania kolokacji

Struktury danych: stos, kolejka, lista, drzewo

Języki formalne i automaty Ćwiczenia 9

Algorytm. Krótka historia algorytmów

Raport po Ogólnopolskim Sprawdzianie Kompetencji Trzecioklasisty z dnia 10 kwietnia 2014 r. Klasa Język polski Matematyka

Typy danych, cd. Łańcuchy znaków

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

Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura

PRZEWODNIK PO PRZEDMIOCIE RODZAJ ZAJĘĆ LICZBA GODZIN W SEMESTRZE WYKŁAD ĆWICZENIA LABORATORIUM PROJEKT SEMINARIUM 30

JĘZYK ANGIELSKI POZIOM ROZSZERZONY

SZCZEGÓŁOWE WYMAGANIA EDUKACYJNE Z JĘZYKA ANGIELSKIEGODLA DLA KLASY 1 GM ROK SZKOLNY 2016/2017 MÓWIENIE: PISANIE:

Zadanie 1. Suma silni (11 pkt)

Technika mikroprocesorowa. Języki programowania mikrokontrolerów

SZCZEGÓŁOWE WYMAGANIA EDUKACYJNE Z JĘZYKA ANGIELSKIEGO DLA DLA KLASY II III GM ROK SZKOLNY 2017/2018 MÓWIENIE: PISANIE:

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Algorytmy i struktury danych

SZCZEGÓŁOWE WYMAGANIA EDUKACYJNE Z JĘZYKA ANGIELSKIEGODLA KLASY 1 GM ROK SZKOLNY 2015/16

Programowanie w języku Python. Grażyna Koba

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

CLARIN rozproszony system technologii językowych dla różnych języków europejskich

Wprowadzenie. Teoria automatów i języków formalnych. Literatura (1)

Kontrola i ocena pracy ucznia.

dr hab. Maciej Witek, prof. US MODELE UMYSŁU rok akademicki 2016/2017, semestr letni

Historia modeli programowania

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

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

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 9: Inference in Structured Prediction

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

Transkrypt:

Parsery języków naturalnych Arkadiusz Świerczek Piotr WłodekW

Parsery języka naturalnego należą do rozległej dziedziny informatyki zwanej NLP (Natural Language Processing). Główne zadania tej dziedziny to: wspomaganie prac z tekstami, tworzenie słowników, programów nauczających języki obce, dialog z komputerem w języku naturalnym (ludzkim), pisanym i mówionym; analiza sensu/gramatyki istniejących tekstów, streszczenia; komentowanie tekstu, wydobywanie informacji szukarki! Tłumaczenie maszynowe, analiza i synteza mowy.

Historia 1950, Wczesne wysiłki: identyfikacji słów kluczowych, prymitywne programy do tłumaczenia maszynowego. 1960, Usprawnienia: baza danych, indeksacja, dopasowanie do wzorców wypowiedzi, podstawowe analizy gramatyczne. 1970, Reprezentacja logiczna, analiza semantyczna, rola kontekstu, rozszerzone sieci semantyczne ATM. 1975, Systemy wykorzystujące bazy wiedzy, wnioskujące, rozumujące. 1980, Programowanie logiczne, gramatyki ograniczeń, modele planowania do rozumienia i generacji tekstu. 1990, Formalizacja sieci semantycznych, modele statystyczne, metody koneksjonistyczne, integracja mowy i tekstu, obszerne językowe bazy danych, pragmatyka języka. 2000, Gramatyki probabilistyczne (data oriented parsing)

Architektura systemów NLP

Język i wiedza

Kroki analizy Fonologiczna fonetyka zajmuje się strukturą dźwięków; fonemy, formantami istnieje międzynarodowy alfabet fonetyczny; fonologia zajmuje się organizacją fonemów w wypowiedziach. Morfologiczna struktura słów, fleksja, rdzenie, leksykony wykorzystujące regularności języka na poziomie słów. Syntaktyczna konstrukcja zdań, rozbiór gramatyczny -> gramatyki i parsery Semantyczna sens, jednoznaczność, wybór słów, zależnie od kontekstu; markery semantyczne i organizacja leksykonu. Pragmatyczna sposób użycia wyrazów, relacje zaimkifraza; relacje między frazami, relacje przyczynowe, rozumienie całości, założenia.

Alan Turing test To test który pozwala odpowiedzieć na niegdyś zadane przez Turinga pytanie: "Can a Machine Think?" Zakłada, że jeśli odpowiedzi maszyny będą nierozróżnialne od ludzkich, można nazwać maszynę myślącą. Co roku odbywa się międzynarodowy konkurs o nagrodę Loebner a w dziedzinie sztucznej inteligencji polegający na imitowaniu człowieka przez systemy NLP w rozmowie tekstowej z sędziami, którzy oceniają poziom człowieczeństwa systemu. Główna nagroda - $100 000 przypada systemowi, który oszuka sędziów.

CORPUS Gromadzenie wiedzy na temat języków corpus (duża kolekcja pisanego bądź mówionego języka do badań lingwistycznych) Próba usystematyzowania całego języka. Systemy takie na ogół wykorzystują gotowe teksty pisane literackie, prasowe itp. lub mówione. Systematyzacja składa się z kilku etapów (na przykładzie Penn TreeBank): - oznaczanie przez automatyczne systemy części języka (POS part of speech) poszczególnych wyrazów (np. noun, verb itp.) Proces zwany czasem tagowaniem - weryfikacja przez pracowników - analiza syntaktyczna i oznaczenie części zdań przez parser - ponowna weryfikacja danych przez pracowników Oto przykładowe corpus y języka angielskiego: - BNC (British National Corpus) - Brown Corpus - Penn Treebank - Susanne Corpus

W naszym referacie omówione zostaną parsery: Link Parser http://www.link.cs.cmu.edu/ MiniPar http://www.cs.ualberta.ca/~lindek/minipar.htm parser Charniak a ftp://ftp.cs.brown.edu/pub/nlpparser

Link Grammar Parser

Link Grammar Parser 4.0 jest parserem języka angielskiego opartym na Link Grammar Dokonuje rozbioru gramatycznego podanego zdania etykietując powiązane wyrazy Został napisany w C. Dostępny jest na wszystkie platformy gdzie dostępny jest kompilator C, w szczególności dla Windows i Unix Można korzystać z wersji zamieszczonej na stronie WWW Dostępne są nakładki graficzne dla wygodniejszego korzystania Projekt oparty jest na licencji umożliwiającej wykorzystanie komercyjne

Link Grammar idea i notacja Słowa to bloki z których wychodzą konektory różnych rodzajów w dwie strony lewo i prawo. Konektor wiążący od lewej (-) może być przyłączony do konektora tego samego typu wiążącego od prawej (+). Dwa konektory połączone ze sobą tworzą link. Wszystkie słowa mają reguły opisujące ich konektory i to jak mogą się one łączyć z innymi. Poprawne zdanie to takie w którym żadne reguły konektorów nie są naruszone.

the word. Link Grammar idea i notacja Przykładowe słowa: a, the, cat, snake, Mary, ran, chased O D D S O S S S O a the cat snake Mary ran chased O O D D S S D D the cat chased a snake

Word rules Wszystkie konektory posiadają nazwy pisane z dużej litery, są zapisane w słowniku w którym każdy wyraz może się pojawić dokładnie raz. Przykład: blah: A+; Oznacza to, że jeśli użyjemy słowa blah w jakimś zdaniu, musi ono formować A link, czyli po jego prawej stronie musi stać wyraz posiadający konektor A-.

Przykład cd: blah: A+ & B+; Oznacza to, że blah musi tworzyć A link po prawej stronie oraz B link także po prawej stronie. Ważna jest kolejność, a więc słowo tworzące A link musi wystąpić przed słowem tworzącym B link. Dzieje się tak dla tego ze konektory są skierowane w tym samym kierunku. Gdyby były skierowane w przeciwnym kierunku, kolejność mogłaby być dowolna.

Niektóre konektory mogą być opcjonalne, zapisuje się je wtedy pomiędzy { i }. Przykład: blah: A+ & {B+}; Oznacza to że blah musi tworzyć A link po prawej i może dodatkowo tworzyć B link. Nazwę konektora można poprzedzić @ co będzie oznaczać, że dany konektor może wystąpić więcej niż jeden raz. Przykład: blah: A+ & {@B+}; Oznacza to że blah musi tworzyć A link po prawej i może dodatkowo tworzyć po prawej dowolną ilość B linków.

Connector subscripts Konektory mogą się łączyć jeżeli są tego samego typu. Mogą także formować linki wykorzystując connector subscripts. CS to napis złożony z małych liter następujący po nazwie konektora, np. Sap+. Ten konektor może łączyć się z S-, Sa- oraz Sap- ale nie z Sb- czy Spa-.

Global rules Poza zasadami dla słów określającymi konektory, definiowanymi w słowniku wyróżniamy dwie globalne zasady które muszą być spełnione przez parsowane zdanie. żadne linki nie mogą się krzyżować wszystkie wyrazy w zdaniu muszą być niebezpośrednio ze sobą połączone D D O O O S S S the Mary chased cat

Link Parser - uruchomienie Interfejs tekstowy daje dodatkowe możliwośći Interfejs graficzny nakładka, zwiększa wygodę używania Interfejs WWW dostępny pod adresem http://www.link.cs.cmu.edu/link/submitsentence-4.html

Przykład działania Parsowane zdanie: The black dog has gone. Parsowane zdanie: The dog chased the cat.

Przykład działania cd. Parsowane zdanie: The quick brown fox jumped over the lazy dog.

Podstawowe rodzaje linków D łączy determiners z rzeczownikami np.: some birds, the dog, a cat A łączy przymiotniki z rzeczownikami S łączy podmiot z czasownikiem PP łączy czasowniki formułujące past participle O łączy czasowniki z obiektami MV łączy czasowniki z przysłówkami, wyrażeniami czasowymi, itp. J łączy przyimki ze słowami przez nie określanymi

Najważniejsze pliki Słownik w nim zdefiniowane są wszystkie reguły dla wyrazów i powiązanych z nimi konektorów. Pojedynczy wyraz może w słowniku wystąpić dokładnie raz, dlatego też wprowadza się word subscripts określające rodzaj słowa np.: run.v i run.n. W słowniku są zdefiniowane także makra. Służą one do zapisywania skomplikowanych wyrażeń dla konektorów i późniejszego wielokrotnego wykorzystania.

Najważniejsze pliki cd. Pliki z wyrazami w nich zapisane jest całe słownictwo. Pliki zawierające wyrazy mogą być logicznie podzielone ze względu na rodzaj słów w nich zawartych. Pliki wykorzystywane są w makrach do definiowania konektorów dla całych grup wyrazów.

MiniPar

MiniPar Jest oparty o tzw. dependency grammar (gramatyka zależności). Gramatyka taka przedstawia powiązania między słowami w postaci binarnej niesymetrycznej relacji zależności. - Head (governor, parent) głowa relacji. Każdy wyraz może być głową wielu relacji - Modifier (dependent, daughter) to drugi element relacji. Każde słowo może modyfikować tylko co najwyżej jedno inne słowo. Słowo, które nie modyfikuje żadnego innego to korzeń (root) drzewa wszystkich relacji - Category to kategoria językowa, do której należy słowo - Type typ relacji

Na bazie tych relacji konstruuje się drzewo zależności. Przykład obok. Wiedzę syntaktyczną o danym języku można zapisać jako tablicę zależności, która określa, jaka kategoria słów (POS part of speech) może być w danej relacji z inną. Ze względu na praktyczną nieefektywność takiego zapisu danych w parsingu tablicę taką przekształca się do tablicy parsingu. Tablica parsingu jest używana na podobnej zasadzie jak tablica w parserze shift/reduce, czyli dla [stan parsera, kategoria słowa wejściowego] określa, jaka operacja ma zostać podjęta. [PRED chased V [< SUBJ dog N [> DIROBJ cat N [< DET the Det] [< ATTR big Adj]] [< DET the Det]]] Znak < w polu Head oznacza, że głową jest pierwsze na prawo wystąpienie słowa z pola Head. >> oznaczałoby, że słowo Head jest drugim na lewo wystąpieniem danego słowa z pola Head. Przykładowo, zapis pokazanej poniżej relacji między book i is w polu Head to << is.

Oto przykładowe zdanie przeparsowane za pomocą MiniPar: The above evaluation ignores the labels assigned to the dependency relationships label word base wtype ref pos gov antecedent E0 fin C * 1 The ~ Det 3 det evaluation 2 above ~ A 3 mod evaluation 3 evaluation ~ N 4 s ignore 4 ignores ignore V E0 i fin E2 evaluation N 4 subj ignore 3 5 the ~ Det 6 det label 6 labels label N 4 obj ignore 7 assigned assign V 6 vrel label E3 label N 7 obj assign 6 8 to ~ Prep 7 mod assign 9 the ~ Det 11 det relationship 10 dependency ~ N 11 nn relationship 11 relationships relationship N 8 pcomp-n to Oto link do parsera online http://141.225.14.229/minipar/webform1.aspx

Twórca MiniPar Dekang Lin przeprowadził testy skuteczności swojego parsera w porównaniu z frazami z Susanne Corpus. Parser wykazał się 89% precyzji w znajdowaniu właściwych relacji.

Charniak s Parser

Probabilistic Parsers Probabilistic parsers Lexicalized Acts on individual words Exhaustive lexicon and rules not so easy to build Data sparsity problem rampant Unlexicalized Acts on word categories Easier to build Computational costs low Data sparsity problem is less rampant

Obliczanie prawdopodobieństw w prostym parserze Prawdopodobieństwo użycia produkcji r(c) : to prawdopodobieństwo rozwinięcia składnika c z użyciem produkcji r(c) w porównaniu do innych możliwych produkcji Prawdopodobieństwo użycia ciągu produkcji π: obliczane jako iloczyn prawdopodobieństw wszystkich użytych produkcji r(c) p( s, π ) = Π p( r( c)) c sentence parse Multiplying the rule probabilities

Oto przykład prostego drzewa wywodu dla zdania: Corporate profits rose. W każdym węźle nie będącym liściem drzewa oprócz nieterminala zapisany jest head, czyli główne słowo tej produkcji, np. dla vp głową jest rose. Znajdowanie head ma bardzo istotne znaczenie dla parsera Charniaka, gdyż head wpływa na obliczanie prawdopodobieństw danych produkcji.

Rozszerzenie - Leksykalizacja Zamiast rozważać POS (części mowy) - rozważajmy konkretne wyrazy Problemem może być sparsowalność, gdyż nie wszystkie kombinacje słów jesteśmy w stanie wprowadzić do reguł parsera Rozwiązanie: Użycie head najważniejszego słowa frazy Użycie produkcji biorąc pod uwagę jedynie zawartość head zamiast wszystkich słów produkcji NP boy DT the ADJ good N boy the good boy the good boy may not be in corpus. But, boy will be there. Only combinations to be considered heads of phrases and subphrases : (boy, the), (boy, good) & (boy, boy)

Potrzebne dane statystyczne P(rule head) : Reguła (produkcja) użyta dla frazy opiera się również na głowie frazy prawdopodobieństwo warunkowe użycia reguły rule pod warunkiem że głową frazy jest head P(head head of mother phrase, type of subphrase) głowa frazy jest powiązana z głową frazy nadrzędnej oraz typem frazy NP boy The rule used should expand NP with N boy in its last position DET the ADJ good N boy the good boy What is the probability that boy is the head of N, given that boy is the head of the mother phrase and the type is N?

Przykład VP read Find P( head of phrase = book head of mother phrase = read & type of phrase is NP) VBD read NP book NP book PP in Find P(Rule is NP NP PP head of phrase is book ) P( sentence, parse ): obliczane jako iloczyn tych dwóch prawdopodobieństw we wszystkich użytych produkcjach P(rule head) P(head head of mother phrase, type of subphrase)

Trenowanie parsera - korzystamy z pewnego corpus a zawierającego zbiór przeparsowanych fraz danego języka - wczytujemy bezkontekstową gramatykę z corpus a - przetwarzamy zdania z corpus a aby obliczyć odpowiednie prawdopodobieństwa produkcji

Parser deterministyczny a probabilistyczny Deterministyczny parser dokonuje domyślnych wyborów podczas parsingu Probabilistyczny parser dokonuje wyborów na podstawie prawdopodobieństw Deterministyczny parser zwraca pierwszy znaleziony poprawny ciąg produkcji Probabilistyczny parser zwraca najbardziej prawdopodobny wynik spośród wszystkich poprawnych wyników Deterministyczny parser nie rozwiązuje problemu syntaktycznej niejednoznaczności Probabilistyczny parser używa statystyk do rozwiązania tego problemu