Link Grammar - Instytut Informatyki
Transkrypt
Link Grammar - Instytut Informatyki
Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Link Grammar Inne przykłady Algorytm Siła wyrazu Jakub Michaliszyn Instytut Informatyki Uniwersytetu Wrocławskiego 25 marca 2007 Informacje o parserze Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Informacje o parserze Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu The Link Grammar Parser Najpopularniejszy parser Link Grammar można znaleźć pod adresem http://www.link.cs.cmu.edu/link/. Informacje o parserze Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu The Link Grammar Parser Najpopularniejszy parser Link Grammar można znaleźć pod adresem http://www.link.cs.cmu.edu/link/. Posiada on gotowy słownik dla języka angielskiego. Informacje o parserze Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu The Link Grammar Parser Najpopularniejszy parser Link Grammar można znaleźć pod adresem http://www.link.cs.cmu.edu/link/. Posiada on gotowy słownik dla języka angielskiego. Niestety, nie obsługuje polskich znaków. Informacje o parserze Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu The Link Grammar Parser Najpopularniejszy parser Link Grammar można znaleźć pod adresem http://www.link.cs.cmu.edu/link/. Posiada on gotowy słownik dla języka angielskiego. Niestety, nie obsługuje polskich znaków.Jest on rozpowszechniany na licencji zbliżonej do GPL, w szczególności w sieci dostępny jest jego kod źródłowy. Język an b n Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Język an b n Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Słownik: a: G+; b: {B-} & G- & {B+} ; Język an b n Link Grammar Jakub Michaliszyn Słownik: a: G+; b: {B-} & G- & {B+} ; Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu linkparser> a a a a a b b b b b ++++Time 0.00 seconds (0.00 total) Found 1 linkage (1 had no P.P. violations) Unique linkage, cost vector = (UNUSED=0 DIS=0 AND=0 LEN=20) +--------G--------+ | +------G------+ | | | +----G----+ | | | | | +--G--+ | | | | | | | +G+B+B+B+B+ | | | | | | | | | | a a a a a b b b b b Pominięcie znaku Link Grammar Jakub Michaliszyn Słownik: a: G+; b: {B-} & G- & {B+} ; Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady linkparser> a a a a b b b No complete linkages found. ++++Time 0.02 seconds (0.02 total) Found 3 linkages (3 had no P.P. violations) at null count 1 Algorytm Linkage 1, cost vector = (UNUSED=1 DIS=0 AND=0 LEN=7) Siła wyrazu +------G------+ | +--G--+ | | | +G+B+B+ | | | | | | a [a] a a b b b Press RETURN for the next linkage . Zapobieganie pomijaniu Link Grammar Jakub Michaliszyn Słownik: a: G+; b: {B-} & G- & {B+} ; Przykłady Wstęp Język an b n Algorytm linkparser> b b b a a a No complete linkages found. ++++Time 0.00 seconds (0.02 total) Found 1 linkage (1 had no P.P. violations) at null count 5 Unique linkage, cost vector = (UNUSED=6 DIS=0 AND=0 LEN=0) Siła wyrazu [b] [b] [b] [a] [a] [a] Używanie kosztów Inne przykłady Zapobieganie pomijaniu Link Grammar Jakub Michaliszyn Słownik: a: G+; b: {B-} & G- & {B+} ; Przykłady Wstęp Język an b n Algorytm linkparser> b b b a a a No complete linkages found. ++++Time 0.00 seconds (0.02 total) Found 1 linkage (1 had no P.P. violations) at null count 5 Unique linkage, cost vector = (UNUSED=6 DIS=0 AND=0 LEN=0) Siła wyrazu [b] [b] [b] [a] [a] [a] Używanie kosztów Inne przykłady linkparser> !null Null links turned off. linkparser> b b b a a a No complete linkages found. ++++Time 0.00 seconds (0.02 total) System kosztów Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Słownik: slonce: S+ or O- or [S-] or [O+]; pokonal: (S- & O+) or (S+ & O-); cien: S+ or O- or [S-] or [O+]; System kosztów Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Słownik: slonce: S+ or O- or [S-] or [O+]; pokonal: (S- & O+) or (S+ & O-); cien: S+ or O- or [S-] or [O+]; Siła wyrazu linkparser> slonce pokonal cien Found 2 linkages (2 had no P.P. violations) Linkage 1, cost vector = (UNUSED=0 DIS=0 AND=0 LEN=0) +---S--+---O--+ | | | slonce pokonal cien System kosztów Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Słownik: slonce: S+ or O- or [S-] or [O+]; pokonal: (S- & O+) or (S+ & O-); cien: S+ or O- or [S-] or [O+]; Siła wyrazu linkparser> slonce pokonal Found 2 linkages (2 had no Linkage 1, cost vector = +---S--+---O--+ | | | slonce pokonal cien Linkage 2, cost vector = +---O--+---S--+ | | | slonce pokonal cien cien P.P. violations) (UNUSED=0 DIS=0 AND=0 LEN=0) (UNUSED=0 DIS=2 AND=0 LEN=0) The party last week was a big success Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Obserwacja Nie zawsze najkrótsze łączenie jest najlepsze. The party last week was a big success Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Obserwacja Nie zawsze najkrótsze łączenie jest najlepsze. Algorytm Siła wyrazu Linkage 1, cost vector = (UNUSED=0 DIS=1 AND=0 LEN=15) +---------Ss---------+------Ost------+ +------Mpn-----+ | +----Dsu----+ +--Ds-+ +--DTi-+ | | +---A---+ | | | | | | | | the party.n last.a week.t was.v a big.a success.n Linkage 2, cost vector = (UNUSED=0 DIS=2 AND=0 LEN=14) +------Ost------+ +---------Ss---------+ +----Dsu----+ +--Ds-+ +--DTi-+--E--+ | +---A---+ | | | | | | | | the party.n last.a week.t was.v a big.a success.n NLP is cool Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Obserwacja Dołączony słownik języka angielskiego nie jest bez wad. NLP is cool Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Obserwacja Dołączony słownik języka angielskiego nie jest bez wad. Algorytm Siła wyrazu linkparser> Natural Language Processing is cool Linkage 1, cost vector = (UNUSED=0 DIS=2 AND=0 LEN=8) +---------A---------+ | +----G----+---Ss--+--Pa-+ | | | | | natural.a Language Processing is.v cool.a Linkage 2, cost vector = (UNUSED=0 DIS=3 AND=0 LEN=8) +---------GN--------+ | +----G----+---Ss--+--Pa-+ | | | | | natural.n Language Processing is.v cool.a Użycie LEFT-WALL Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu linkparser> Paint the sky with stars Linkage 1, cost vector = (UNUSED=0 DIS=0 AND=0 LEN=8) +-------MVp------+ +----Os----+ | +---Wi---+ +-Dmu+ +--Jp-+ | | | | | | LEFT-WALL paint.v the sky.n with stars.n Linkage 2, cost vector = (UNUSED=0 DIS=1 AND=0 LEN=6) +----Os----+ +---Wi---+ +-Dmu+--Mp-+--Jp-+ | | | | | | LEFT-WALL paint.v the sky.n with stars.n Postawowe informacje Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Postawowe informacje Link Grammar Jakub Michaliszyn Przykłady Wstęp n Język a b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Opis algorytmu Algorytm wykładniczy – sprawdzanie wszystkich możliwych połączeń dla wszystkich dyzjunktów. Postawowe informacje Link Grammar Jakub Michaliszyn Przykłady Wstęp n Język a b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Opis algorytmu Algorytm wykładniczy – sprawdzanie wszystkich możliwych połączeń dla wszystkich dyzjunktów. Algorytm wielomianowy – dodanie spamiętywania do algorytmu wykładniczego. Postawowe informacje Link Grammar Jakub Michaliszyn Przykłady Wstęp n Język a b n Używanie kosztów Opis algorytmu Algorytm wykładniczy – sprawdzanie wszystkich możliwych połączeń dla wszystkich dyzjunktów. Algorytm wielomianowy – dodanie spamiętywania do algorytmu wykładniczego. Inne przykłady Algorytm Siła wyrazu Szczegóły Daniel D. K. Sleator, Davy Temperley, Parsing English with a Link Grammar, strony 27-31: http://www.link.cs.cmu.edu/link/ftp-site/link-grammar/ LG-tech-report.pdf Postawowe informacje Link Grammar Jakub Michaliszyn Przykłady Wstęp n Język a b n Używanie kosztów Opis algorytmu Algorytm wykładniczy – sprawdzanie wszystkich możliwych połączeń dla wszystkich dyzjunktów. Algorytm wielomianowy – dodanie spamiętywania do algorytmu wykładniczego. Inne przykłady Algorytm Siła wyrazu Szczegóły Daniel D. K. Sleator, Davy Temperley, Parsing English with a Link Grammar, strony 27-31: http://www.link.cs.cmu.edu/link/ftp-site/link-grammar/ LG-tech-report.pdf Koszt O(N 3 ) Categorial Link Grammars Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Categorial Link Grammars Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Bezkontekstowość Okazuje się, że Link Grammars są równoważne gramatykom bezkontekstowym. Categorial Link Grammars Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Bezkontekstowość Okazuje się, że Link Grammars są równoważne gramatykom bezkontekstowym. Formalny dowód jest nieco żmudny, więc go pominiemy. Categorial Link Grammars Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Bezkontekstowość Okazuje się, że Link Grammars są równoważne gramatykom bezkontekstowym. Formalny dowód jest nieco żmudny, więc go pominiemy. Można natomiast „elegancko”pokazać równoważność między Link Grammars bez cykli a Categorial Grammars, wykorzystując formalizm pośredni, zwany Categorial Link Grammars. Categorial Link Grammars Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Bezkontekstowość Okazuje się, że Link Grammars są równoważne gramatykom bezkontekstowym. Formalny dowód jest nieco żmudny, więc go pominiemy. Można natomiast „elegancko”pokazać równoważność między Link Grammars bez cykli a Categorial Grammars, wykorzystując formalizm pośredni, zwany Categorial Link Grammars. Szczegóły: Erwan Moreau, From link grammars to categorial grammars http://www.sciences.univ-nantes.fr/info/perso/ permanents/moreau/publis/moreau_cg04.pdf NDPA Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Szkic dowodu bezkontekstowości NDPA Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Szkic dowodu bezkontekstowości Dla danej grmatyki budujemy niedeterministyczny automat skończony. NDPA Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Szkic dowodu bezkontekstowości Dla danej grmatyki budujemy niedeterministyczny automat skończony. Taki automat niedeterministycznie wybiera dyzjunkt, następnie ściąga symbole oznaczone minusem (czyli „linki wychodzące w lewo”) ze stosu i wkłada nań symbole oznaczone plusem. NDPA Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Szkic dowodu bezkontekstowości Dla danej grmatyki budujemy niedeterministyczny automat skończony. Taki automat niedeterministycznie wybiera dyzjunkt, następnie ściąga symbole oznaczone minusem (czyli „linki wychodzące w lewo”) ze stosu i wkłada nań symbole oznaczone plusem.Trzeba też „ jakoś”dbać o zasadę wykluczania, np. oznaczając na stosie dodatkowo zerami i jedynkami, czy symbol pochodzi z tego samego słowa. NDPA Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Szkic dowodu bezkontekstowości Dla danej grmatyki budujemy niedeterministyczny automat skończony. Taki automat niedeterministycznie wybiera dyzjunkt, następnie ściąga symbole oznaczone minusem (czyli „linki wychodzące w lewo”) ze stosu i wkłada nań symbole oznaczone plusem.Trzeba też „ jakoś”dbać o zasadę wykluczania, np. oznaczając na stosie dodatkowo zerami i jedynkami, czy symbol pochodzi z tego samego słowa. Nasz automat akceptuje przy pustym stosie. Jeśli pusty stos jest otrzymany po jakimś słowie przed końcem zdania, to automat nie akceptuje zdania (bo budowany graf jest niespójny). NDPA Link Grammar Jakub Michaliszyn Przykłady Wstęp Język an b n Używanie kosztów Inne przykłady Algorytm Siła wyrazu Szkic dowodu bezkontekstowości Dla danej grmatyki budujemy niedeterministyczny automat skończony. Taki automat niedeterministycznie wybiera dyzjunkt, następnie ściąga symbole oznaczone minusem (czyli „linki wychodzące w lewo”) ze stosu i wkłada nań symbole oznaczone plusem.Trzeba też „ jakoś”dbać o zasadę wykluczania, np. oznaczając na stosie dodatkowo zerami i jedynkami, czy symbol pochodzi z tego samego słowa. Nasz automat akceptuje przy pustym stosie. Jeśli pusty stos jest otrzymany po jakimś słowie przed końcem zdania, to automat nie akceptuje zdania (bo budowany graf jest niespójny). Pełen dowód Daniel D. K. Sleator, Davy Temperley, Parsing English with a Link Grammar, strony 86-90: http://www.link.cs.cmu.edu/link/ftp-site/link-grammar/ LG-tech-report.pdf