Teoria kategorii i parsery - potrzebne referencje


Odpowiedzi:


9

Jednym z pierwszych zastosowań teorii kategorii w temacie spoza geometrii algebraicznej było parsowanie! Kluczowymi słowami, które chcesz przeprowadzić przy wyszukiwaniu, są „rachunek Lambka” i „gramatyka kategoryczna”.

Współcześnie Joachim Lambek wynalazł nieprzemienną logikę liniową w celu modelowania struktury zdań. Podstawową ideą jest to, że możesz podać podstawowe części mowy jako posiadające typy, a następnie (powiedzmy) przypisać angielskie przymiotniki rodzaj funkcji, używając wyrażeń rzeczownikowych do wyrażeń rzeczownikowych. (np. „zielony” jest postrzegany jako funkcja przenoszenia rzeczowników do rzeczowników, co oznacza, że ​​„zielone jajka” są dobrze wpisane, ponieważ „jajka” to rzeczownik).

ABBAB/ABAABAB

Okazuje się, że gramatyki Lambek są równoważne z językami bezkontekstowymi, choć najwyraźniej jest to dość trudny wynik - pokazanie CFG stanowią podzbiór gramatyki Lambek jest łatwe, ale inny kierunek został ustanowiony dopiero w 1991 roku przez Pentusa.

Dobrym ćwiczeniem ^ H ^ H ^ Publikacja dla czytelnika (tj. Nie próbowałem tego, ale myślę, że fajnie byłoby spróbować) polega na użyciu rachunku Lambka do przeformułowania prezentacji Valiant analizy CYK za pomocą mnożenia macierzy logicznej , w kategoriach warunki. Jako motywację przytaczam artykuł Lambka z 1958 r. Matematyka struktury zdań :

Rachunek przedstawiony tutaj jest formalnie identyczny z rachunkiem skonstruowanym przez GD Findlay i obecnego autora w celu omówienia odwzorowań kanonicznych w algebrze liniowej i wieloliniowej.


1
Ponowne odtworzenie interpretacji Vailanta w postaci mnożenia macierzy CFG-parsowania w języku gramatyki Lambek jest prawdopodobnie czymś więcej niż tylko ćwiczeniem ...
Martin Berger

1
@MartinBerger: czy to jest lepsze? :)
Neel Krishnaswami,

Jest tylko jeden sposób, aby się przekonać!
Martin Berger,

2
Umm, ale „gramatyka kategorialna” odnosi się do lingwistycznego pojęcia kategorii ( en.wikipedia.org/wiki/Syntactic_category ), nie obejmuje teorii kategorii matematyków. Więc odpowiedź nie ma nic wspólnego z pytaniem.
Emil Jeřábek

2
Rachunek Lambka (który jest jednym z głównych formalizmów gramatyki kategorialnej) jest rzeczywiście kategoryczny w sensie teorii kategorii - jest to syntaktyczna teoria podwójnie ułożonych kategorii monoidalnych, a Lambek był tego świadomy. W języku teorii dowodu kategorie językoznawstwa dają „twierdzenia atomowe” rachunku Lambka.
Neel Krishnaswami,

4

Wydaje się, że (bez kontekstu) parsowanie a la Parsec jest naturalnie wyrażone w kategoriach klasy typu aplikacyjnego . Z kolei klasę tę dobrze opisują tak zwane mocne luźne funktory monoidalne , o których mowa w tym bardzo ładnym pytaniu o cstheory i tym miłym pytaniu o przepełnienie stosu .

Mówiąc bardziej ogólnie, parsery Parsec to monady , które są tak dobrze znane zarówno w teorii CS, jak i teorii kategorii, że nie zamierzam podawać referencji, chyba że zostanie o to poproszony.


3
Czy wiele mówi, że pojęcie w obliczeniach to monada? Prawie wszystko można wyrazić jako monadę.
Martin Berger,

Zgadzam się, że niewiele, ale daje odpowiedź na pierwotne żądanie.
cody
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.