Категориальная грамматика

редактировать

Категориальная грамматика - это термин, используемый для семейства формализмов в естественном языке синтаксисе мотивирован принципом композиционности и организован в соответствии с точкой зрения, согласно которой синтаксические составляющие обычно должны объединяться как функции или в соответствии с отношением функция-аргумент. Большинство версий категориальной грамматики анализируют структуру предложения с точки зрения составляющих (в отличие от зависимостей) и, следовательно, являются грамматиками структуры фраз (в отличие от грамматик зависимостей ).

Содержание
  • 1 Основы
  • 2 Исчисление Ламбека
    • 2.1 Связь с контекстно-независимыми грамматиками
    • 2.2 Обозначение
  • 3 Исторические заметки
  • 4 Некоторые определения
  • 5 Уточнения категориальной грамматики
    • 5.1 Характеристики и подкатегории
    • 5.2 Состав функций
    • 5.3 Соединение
    • 5.4 Разрывность
  • 6 См. Также
  • 7 Ссылки
  • 8 Дополнительная литература
  • 9 Внешние ссылки
Основы

Категориальная грамматика состоит из двух частей: словаря, который присваивает набор типов (также называемых категориями) каждому базовому символу, и некоторых правил вывода типа, которые определяют, как тип строки символов следует из типов составляющих символов. Его преимущество состоит в том, что правила вывода типов могут быть зафиксированы раз и навсегда, так что спецификация грамматики конкретного языка полностью определяется лексиконом.

Категориальная грамматика имеет общие черты с просто типизированным лямбда-исчислением. В то время как лямбда-исчисление имеет только один тип функции A → B {\ displaystyle A \ rightarrow B}A \ rightarrow B , категориальная грамматика обычно имеет два типа функций, один из которых применяется слева и один справа. Например, простая категориальная грамматика может иметь два типа функций: B / A {\ displaystyle B / A \, \!}B / A \, \! и A ∖ B {\ displaystyle A \ backslash B}.A \ backslash B . Первый, B / A {\ displaystyle B / A \, \!}B / A \, \! , является типом фразы, которая приводит к фразе типа B {\ displaystyle B \, \!}B \, \! , если за ним (справа) следует фраза типа A {\ displaystyle A \, \!}A\,\!. Второй, A ∖ B {\ displaystyle A \ backslash B \, \!}A \ обратная косая черта B \, \! , представляет собой тип фразы, в результате которой получается фраза типа B {\ displaystyle B \, \!}B \, \! , если ему предшествует (слева) фраза типа A {\ displaystyle A \, \!}A\,\!.

Нотация основана на алгебре. Умножение дроби на знаменатель (т. Е. Соединение) дает числитель. Поскольку конкатенация не является коммутативной, имеет значение, находится ли знаменатель слева или справа. Конкатенация должна быть на той же стороне, что и знаменатель, чтобы она сократилась.

Первый и самый простой вид категориальной грамматики называется базовой категориальной грамматикой или иногда AB-грамматикой (после Айдукевич и Бар-Гиллеля ). Учитывая набор примитивных типов Prim {\ displaystyle {\ text {Prim}} \, \!}{\ text {Prim}} \, \! , пусть Tp (Prim) {\ displaystyle {\ text {Tp}} ({\ text {Prim}}) \, \!}{\ text {Tp}} ({\ text {Prim}}) \, \! - набор типов, созданных из примитивных типов. В базовом случае это наименьший набор, такой что Prim ⊆ Tp (Prim) {\ displaystyle {\ text {Prim}} \ substeq {\ text {Tp}} ({\ text {Prim}})}{\ text {Prim}} \ substeq {\ text {Tp}} ({\ text {Prim}}) и если X, Y ∈ Tp (Prim) {\ displaystyle X, Y \ in {\ text {Tp}} ({\ text {Prim}})}X, Y \ in {\ text {Tp}} ({\ text {Prim}}) затем (X / Y), (Y ∖ X) ∈ Tp (Prim) {\ displaystyle (X / Y), (Y \ backslash X) \ in {\ text {Tp}} ({\ text {Prim }})}(X / Y), (Y \ обратная косая черта X) \ in {\ text {Tp}} ({\ text {Prim}}) . Думайте об этом как о чисто формальных выражениях, свободно генерируемых из примитивных типов; любая семантика будет добавлена ​​позже. Некоторые авторы предполагают фиксированный бесконечный набор примитивных типов, используемых всеми грамматиками, но, делая примитивные типы частью грамматики, вся конструкция сохраняется конечной.

Базовая категориальная грамматика - это кортеж (Σ, Prim, S, ◃) {\ displaystyle (\ Sigma, {\ text {Prim}}, S, \ треугольникleft)}(\ Sigma, {\ text {Prim}}, S, \ triangleleft) где Σ {\ displaystyle \ Sigma \, \!}\ Sigma \, \! - конечный набор символов, Prim {\ displaystyle {\ text {Prim}} \, \!}{\ text {Prim}} \, \! - конечный набор примитивных типов, а S ∈ Tp (Prim) {\ displaystyle S \ in {\ text {Tp}} ({\ text {Prim}})}S \ in {\ text {Tp}} ({\ text {Prim}}) .

отношение ◃ {\ displaystyle \ треугольникleft}\ треугольникleft - это лексикон, который связывает типы с символами (◃) ⊆ Tp (Prim) × Σ {\ displaystyle (\ Triangleleft) \ substeq {\ текст {Tp}} ({\ text {Prim}}) \ times \ Sigma}(\ треугольник слева) \ substeq {\ text {Tp}} ({\ text {Prim}}) \ times \ Sigma . Поскольку лексика конечна, ее можно указать, перечислив набор пар, например ТИП ◃ символ {\ displaystyle TYPE \ треугольникleft {\ text {symbol}}}ТИП \ треугольникleft { \ text {symbol}} .

Такая грамматика для английского языка может иметь три основных типа (N, NP и S) {\ displaystyle (N, NP, {\ text {and}} S) \, \!}(N, NP, {\ text {и }} S) \, \! , присваивая count существительным введите N {\ displaystyle N \, \!}N \, \! , завершите именные фразы типа NP {\ displaystyle NP \, \!}NP \, \! и предложите тип S {\ Displaystyle S \, \!}S\,\!. Тогда прилагательное может иметь тип N / N {\ displaystyle N / N \, \!}N / N \, \! , потому что если за ним следует существительное, то вся фраза существительное. Точно так же определитель имеет тип N P / N {\ displaystyle NP / N \, \!}NP/N\,\!, потому что он образует полную именную фразу, за которой следует существительное. Непереходные глаголы имеют тип NP ∖ S {\ displaystyle NP \ backslash S}NP \ backslash S , а переходные глаголы имеют тип (NP ∖ S) / NP {\ displaystyle (NP \ обратная косая черта S) / NP}(NP \ обратная косая черта S) / NP . Тогда строка слов является предложением, если она имеет общий тип S {\ displaystyle S \, \!}S\,\!.

Например, возьмем строку «плохой мальчик сделал этот беспорядок». Теперь «the» и «that» являются определяющими, «мальчик» и «беспорядок» - существительные, «bad» - прилагательное, а «made» - переходный глагол, поэтому лексикон будет {NP / N ◃ {\ displaystyle NP / N \ треугольникleft {\ text {the}}}NP / N \ треугольникleft {\ text {the}} , NP / N ◃ that {\ displaystyle NP / N \ треугольникleft {\ text {that}}}NP / N \ треугольникleft {\ text {that}} , N ◃ мальчик {\ displaystyle N \ треугольникleft {\ текст {мальчик}}}N \ triangleleft {\ text {boy}} , N ◃ беспорядок {\ displaystyle N \ треугольникleft {\ text {mess}}}N \ треугольник слева {\ text {mess}} , N / N ◃ плохо {\ displaystyle N / N \ треугольникleft {\ text { bad}}}N / N \ треугольникleft {\ text {bad}} , (NP ∖ S) / NP ◃ made {\ displaystyle (NP \ backslash S) / NP \ треугольникleft {\ text {made}}}(NP \ обратная косая черта S) / NP \ треугольникleft {\ text {made}} }.

и последовательность типов в строке

NP / N, плохой N / N, мальчик N, сделано (NP ∖ S) / NP, это NP / N, беспорядок N {\ displaystyle {{\ text {the}} \ atop {NP / N,}} {{\ text {bad}} \ atop {N / N,}} {{\ text {boy}} \ atop {N,}} { {\ text {made}} \ atop {(NP \ backslash S) / NP,}} {{\ text {that}} \ atop {NP / N,}} {{\ text {mess}} \ atop {N }}}{{\ text {the}} \ atop {NP / N,}} {{\ text {bad}} \ atop {N / N,}} {{\ text {boy}} \ atop {N,}} {{\ text {made}} \ atop {(NP \ backslash S) / NP,}} {{\ text {that}} \ atop {NP / N,}} {{\ text {беспорядок }} \ atop {N}}

теперь найдите функции и соответствующие аргументы и уменьшите их в соответствии с двумя правилами вывода X ← X / Y, Y {\ displaystyle X \ leftarrow X / Y, \; Y }X \ leftarrow X / Y, \; Y и X ← Y, Y ∖ X {\ displaystyle X \ leftarrow Y, \; Y \ backslash X}X \ leftarrow Y, \; Y \ обратная косая черта X :

. NP / N, N / N, N, (NP ∖ S) / NP, NP / N, N ⏟ {\ displaystyle. \ Qquad NP / N, \; N / N, \; N, \; (NP \ обратная косая черта S) / NP, \; \ underbrace {NP / N, \; N}}. \ Qquad NP / N, \; N / N, \; N, \; (NP \ обратная косая черта S) / NP, \; \ underbrace {NP / N, \; N} . . NP / N, N / N, N, (NP ∖ S) / NP, NP ⏟ {\ displaystyle. \ Qquad NP / N, \; N / N, \; N, \; \ underbrace {(NP \ обратная косая черта S) / NP, \ quad NP}}. \ Qquad NP / N, \; N / N, \; N, \; \ underbrace {(NP \ обратная косая черта S) / NP, \ quad NP} . . NP / N, N / N, N ⏟, (NP ∖ S) {\ Displaystyle. \ Qquad NP / N, \; \ underbrace {N / N, \; N}, \ qquad (NP \ обратная косая черта S)}. \ qquad NP / N, \; \ underbrace {N / N, \; N}, \ qquad (NP \ backslash S) . . N п / N, N ⏟, (N п ∖ S) {\ displaystyle. \ Qquad \ underbrace {NP / N, \; \ quad N}, \; \ qquad (NP \ backslash S)}. \ qquad \ underbrace {NP / N, \; \ quad N}, \; \ qquad (NP \ backslash S) . . N п, (N п ∖ S) ⏟ {\ displaystyle. \ Qquad \ qquad \ underbrace {NP, \; \ qquad (NP \ backslash S)}}. \ qquad \ qquad \ underbrace {NP, \; \ qquad (NP \ backslash S)} . . S {\ displaystyle. \ Qquad \ qquad \ qquad \ quad \; \; \; S}.\qquad \ qquad \ qquad \ quad \; \; \; S

Тот факт, что результат S {\ displaystyle S \, \!}S\,\!означает что строка является предложением, а последовательность сокращений показывает, что она должна быть проанализирована как (((плохой мальчик)) (сделал (тот беспорядок))).

Категориальные грамматики этой формы (имеющие только правила применения функций) эквивалентны по порождающей способности контекстно-свободным грамматикам и поэтому часто считаются неадекватными для теорий синтаксиса естественного языка. В отличие от CFG, категориальные грамматики лексикализованы, что означает, что используется лишь небольшое количество (в основном не зависящих от языка) правил, а все другие синтаксические явления происходят из лексических статей определенных слов.

Еще одним привлекательным аспектом категориальных грамматик является то, что часто легко назначить им композиционную семантику, сначала назначив все базовые категории, а затем связав все производные категории с соответствующими функция типов. Тогда интерпретация любой составляющей - это просто значение функции в качестве аргумента. С некоторыми модификациями для обработки интенсиональности и количественной оценки этот подход можно использовать для охвата большого разнообразия семантических явлений.

Исчисление Ламбека

Грамматика Ламбека - это развитие этой идеи, в которой есть оператор конкатенации для типов и несколько других правил вывода. Мати Пентус показал, что у них все еще есть порождающая способность контекстно-свободных грамматик.

Для исчисления Ламбека существует оператор конкатенации типов ⋆ {\ displaystyle \ star \, \!}\ star \, \! , так что Prim ⊆ Tp (Prim) { \ displaystyle {\ text {Prim}} \ substeq {\ text {Tp}} ({\ text {Prim}})}{\ text {Prim}} \ substeq {\ text {Tp}} ({\ text {Prim}}) и если X, Y ∈ Tp (Prim) {\ displaystyle X, Y \ in {\ text {Tp}} ({\ text {Prim}})}X, Y \ in {\ text {Tp}} ({\ text {Prim}}) , затем (X / Y), (X ∖ Y), (X ⋆ Y) ∈ Tp (Prim) {\ displaystyle (X / Y), (X \ backslash Y), (X \ star Y) \ in {\ text {Tp}} ({\ text {Prim}})}(X / Y), (X \ обратная косая черта Y), (X \ звездочка Y) \ in {\ text {Tp}} ({\ text {Prim}}) .

Ламбек исчисление состоит из нескольких правил вывода, которые определяют, как утверждения включения типов могут быть получены. В следующих правилах заглавные латинские буквы обозначают типы, а прописные греческие буквы - последовательность типов. Последовательность вида X ← Γ {\ displaystyle X \ leftarrow \ Gamma}X \ leftarrow \ Gamma может быть прочитана: строка имеет тип X {\ displaystyle X \, \!}X \, \! , если он состоит из конкатенации строк каждого из типов в Γ {\ displaystyle \ Gamma \, \!}\ Gamma \, \! . Если тип интерпретируется как набор строк, то ← {\ displaystyle \ leftarrow}\ leftarrow может интерпретироваться как ⊇ {\ displaystyle \ supseteq \, \!}\ supseteq \, \! , то есть «включает как подмножество». Горизонтальная линия означает, что включение выше линии подразумевает включение ниже линии.

Процесс начинается с правила Аксиомы, которое не имеет антецедентов и просто говорит, что любой тип включает себя.

(A x i o m) X ← X {\ displaystyle (Axiom) \ quad {{} \ over X \ leftarrow X}}(Аксиома) \ quad {{} \ over X \ leftarrow X}

Правило Cut гласит, что включения могут быть составлены.

(C ut) Z ← Δ Икс Δ ′ X ← Γ Z ← Δ Γ Δ ′ {\ displaystyle (Cut) \ quad {Z \ leftarrow \ Delta X \ Delta '\ qquad X \ leftarrow \ Gamma \ over Z \ leftarrow \ Delta \ Gamma \ Delta '}}(Cut)\quad {Z\leftarrow \Delta X\Delta '\qquad X\leftarrow \Gamma \over Z\leftarrow \Delta \Gamma \Delta '}

Остальные правила идут парами, по одной паре для каждого оператора построения типа, каждая пара состоит из одного правила для оператора в цели, одного правила в источнике стрелки. Имя правила состоит из оператора и стрелки, причем оператор находится со стороны стрелки, на которой он встречается в заключении.

ЦельИсточник
(∖ ←) Y ← X Γ X ∖ Y ← Γ {\ displaystyle (\ backslash \ leftarrow) \ quad {Y \ leftarrow X \ Gamma \ over X \ backslash Y \ leftarrow \ Gamma}}(\ backslash \ leftarrow) \ quad {Y \ leftarrow X \ Gamma \ over X \ backslash Y \ leftarrow \ Gamma} (← ∖) Z ← Δ Y Δ ′ X ← Γ Z ← Δ Γ (X ∖ Y) Δ ′ {\ displaystyle (\ leftarrow \ backslash) \ quad {Z \ leftarrow \ Delta Y \ Delta '\ qquad X \ leftarrow \ Gamma \ over Z \ leftarrow \ Delta \ Gamma (X \ backslash Y) \ Delta'}}(\leftarrow \backslash)\quad {Z\leftarrow \Delta Y\Delta '\qquad X\leftarrow \Gamma \over Z\leftarrow \Delta \Gamma (X\backslash Y)\Delta '}
(/ ←) Y ← Γ XY / X ← Γ {\ displaystyle (/ \ leftarrow) \ quad {Y \ leftarrow \ Gamma X \ over Y / X \ leftarrow \ Gamma}}(/ \ leftarrow) \ quad {Y \ leftarrow \ Gamma X \ over Y / X \ leftarrow \ Gamma} (← /) Z ← Δ Y Δ ′ X ← Γ Z ← Δ (Y / X) Γ Δ ′ {\ displaystyle (\ leftarrow /) \ quad {Z \ leftarrow \ Delta Y \ Delta '\ qquad X \ leftarrow \ Gamma \ over Z \ leftarrow \ Delta (Y / X) \ Gamma \ Delta'}}(\leftarrow /)\quad {Z\leftarrow \Delta Y\Delta '\qquad X\leftarrow \Gamma \over Z\leftarrow \Delta (Y/X)\Gamma \Delta '}
(⋆ ←) Икс ← Γ Y ← Γ ′ X ⋆ Y ← Γ Γ ′ {\ displaystyle (\ star \ leftarrow) \ quad {X \ leftarrow \ Gamma \ qquad Y \ leftarrow \ Gamma '\ over X \ star Y \ leftarrow \ Gamma \ Gamma '}}(\star \leftarrow)\quad {X\leftarrow \Gamma \qquad Y\leftarrow \Gamma ' \over X\star Y\leftarrow \Gamma \Gamma '}(← ⋆) Z ← Δ XY Δ ′ Z ← Δ (X ⋆ Y) Δ ′ {\ displaystyle (\ leftarrow \ star) \ quad {Z \ leftarrow \ Delta XY \ Delta '\ over Z \ leftarrow \ Delta (X \ star Y) \ Delta '}}(\leftarrow \star)\quad {Z\leftarrow \Delta XY\Delta ' \over Z\leftarrow \Delta (X\star Y)\Delta '}

Например, вот вывод от «повышения типа», который говорит, что (B / A) ∖ B ← A {\ displaystyle (B / A) \ обратная косая черта B \ leftarrow A}(B / A) \ обратная косая черта B \ leftarrow A . Справа указаны названия правил и используемые замены.

B ← BA ← AB ← (B / A), A (B / A) ∖ B ← A (Аксиомы) (← /) [Z = Y = B, X = A, Γ = (A), Δ Знак равно Δ ′ = ()] (∖ ←) [Y = B, X = (B / A), Γ = (A)] {\ displaystyle {\ dfrac {{\ dfrac {} {B \ leftarrow B}} \ qquad {\ dfrac {} {A \ leftarrow A}}} {\ dfrac {B \ leftarrow (B / A), \; \; A} {(B / A) \ backslash B \ leftarrow A}}} \ qquad {\ begin {matrix} {\ t_dv {(Axioms)}} \ qquad \ qquad \ qquad \ qquad \ qquad \ qquad \ qquad \ qquad \ qquad {} \\ {(\ leftarrow /) \, \, [Z = Y = B, X = A, \ Gamma = (A), \ Delta = \ Delta '= ()]} \\ {(\ backslash \ leftarrow) \, \, [Y = B, X = (B / A), \ Gamma = (A)]} \ qquad \ qquad \ qquad {} \\\ end {matrix}}}{\dfrac {{\dfrac {}{B\leftarrow B}}\qquad {\dfrac {}{A\leftarrow A}}}{{\dfrac {B\leftarrow (B/A),\;\;A}{(B/A)\backslash B\leftarrow A}}}}\qquad {\begin{matrix}{\t_dv{(Axioms)}}\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad {}\\{(\leftarrow /)\,\,[Z=Y=B,X=A,\Gamma =(A),\Delta =\Delta '=()]}\\{(\backslash \leftarrow)\,\,[Y=B,X=(B/A),\Gamma =(A)]}\qquad \qquad \qquad {}\\\end{matrix}}

Отношение к контекстно-свободным грамматикам

Напомним, что контекст- свободная грамматика представляет собой кортеж из четырех:

G = (V, Σ, :: =, S) {\ displaystyle G = (V, \, \ Sigma, \, :: =, \, S) }G = (V, \, \ Sigma, \, :: =, \, S) где

1. V {\ displaystyle V \,}V \, - конечный набор нетерминалов или переменных.

2. Σ {\ displaystyle \ Sigma \,}\ Sigma \, - конечный набор терминальных символов.

3. :: = {\ displaystyle :: = \,}: : = \, - конечный набор производственных правил, то есть конечное отношение (:: =) ⊆ V × (V ∪ Σ) ∗ {\ displaystyle (:: =) \ substeq V \ times (V \ cup \ Sigma) ^ {*}}(:: =) \ substeq V \ times (V \ cup \ Sigma) ^ {*} .

4. S {\ displaystyle S \,}S \, - начальная переменная.

С точки зрения категориальных грамматик контекстно-свободную грамматику можно рассматривать как исчисление с набором аксиом специального назначения для каждого языка, но без операторов построения типов и правил вывода, кроме Cut.

В частности, учитывая неконтекстную грамматику, как указано выше, определите категориальную грамматику (Prim, Σ, ◃, S) {\ displaystyle ({\ text {Prim}}, \, \ Sigma, \, \ треугольникleft, \, S)}({\ text {Prim}}, \, \ Sigma, \, \ треугольникleft, \, S) где Prim = V ∪ Σ {\ displaystyle {\ text {Prim}} = V \ cup \ Sigma}{\ text {Prim}} = V \ cup \ Sigma , и Tp (Prim) = Prim {\ displaystyle {\ text {Tp}} ({\ text {Prim}}) = {\ text {Prim}} \, \!}{\ text {Tp}} ({\ text {Prim}}) = {\ text {Prim}} \, \! . Пусть существует аксиома x ← x {\ displaystyle {x \ leftarrow x}}{x \ leftarrow x} для каждого символа x ∈ V ∪ Σ {\ displaystyle x \ in V \ cup \ Sigma}x \ in V \ cup \ Sigma , аксиома X ← Γ {\ displaystyle {X \ leftarrow \ Gamma}}{X \ leftarrow \ Gamma} для каждого производственного правила X :: = Γ {\ displaystyle X :: = \ Gamma \, \!}X :: = \ Gamma \, \! , словарная статья s ◃ s {\ displaystyle {s \ треугольникleft s}}{s \ triangleleft s} для каждого терминального символа s ∈ Σ {\ displaystyle s \ in \ Sigma}s \ in \ Sigma и Cut для единственного правила. Эта категориальная грамматика генерирует тот же язык, что и данный CFG.

Конечно, это не базовая категориальная грамматика, поскольку в ней есть особые аксиомы, которые зависят от языка; т.е. не лексикализован. Кроме того, он вообще не использует непримитивные типы.

Чтобы показать, что любой контекстно-свободный язык можно сгенерировать с помощью базовой категориальной грамматики, вспомним, что любой контекстно-свободный язык может быть сгенерирован с помощью контекстно-свободной грамматики в нормальной форме Грейбаха.

грамматика находится в нормальной форме Грейбаха, если каждое продукционное правило имеет вид A :: = s A 0… AN - 1 {\ displaystyle A :: = sA_ {0} \ ldots A_ {N-1}}A :: = sA_ {0} \ ldots A _ {{N-1}} , где заглавные буквы - переменные, s ∈ Σ {\ displaystyle s \ in \ Sigma}s \ in \ Sigma и N ≥ 0 {\ displaystyle N \ geq 0}N \ geq 0 , то есть правая часть продукции представляет собой один конечный символ, за которым следует ноль или более (нетерминальных) переменных.

Теперь, имея CFG в нормальной форме Грейбаха, определите базовую категориальную грамматику с примитивным типом для каждой нетерминальной переменной Prim = V {\ displaystyle {\ text {Prim}} = V \, \!}{\ text {Prim}} = V \, \! , и с записью в лексиконе A / AN - 1 /… / A 0 ◃ s {\ displaystyle A / A_ {N-1} / \ ldots / A_ {0 } \ треугольникleft s}A / A _ {{N-1}} / \ ldots / A_ {0} \ треугольникleft s , для каждого производственного правила A :: = s A 0… AN - 1 {\ displaystyle A :: = sA_ {0} \ ldots A_ {N-1}}A :: = sA_ {0} \ ldots A _ {{N-1}} . Довольно легко увидеть, что эта базовая категориальная грамматика генерирует тот же язык, что и исходный CFG. Обратите внимание, что лексика этой грамматики обычно присваивает несколько типов каждому символу.

Та же конструкция работает для грамматик Ламбека, поскольку они являются расширением базовых категориальных грамматик. Необходимо убедиться, что дополнительные правила вывода не изменяют сгенерированный язык. Это может быть сделано и показывает, что каждый контекстно-свободный язык генерируется некоторой грамматикой Ламбека.

Показать обратное, что каждый язык, созданный грамматикой Ламбека, является контекстно-независимым, намного сложнее. Это была открытая проблема в течение почти тридцати лет, с начала 1960-х годов до примерно 1991 года, когда это было доказано Пентусом.

Основная идея с учетом грамматики Ламбека: (Prim, Σ, ◃, S) {\ displaystyle ({\ text {Prim}}, \, \ Sigma, \, \ треугольникleft, \, S)}({\ text {Prim}}, \, \ Sigma, \, \ треугольникleft, \, S) построить контекстно-свободную грамматику (V, Σ, :: =, S) {\ displaystyle (V, \, \ Sigma, \, :: =, \, S)}(V, \, \ Sigma, \, :: =, \, S) с тем же набором терминальных символов, тем же начальным символом, с переменными некоторых (не всех) типов V ⊂ Tp (Prim) {\ displaystyle V \ subset {\ text {Tp }} ({\ text {Prim}}) \, \!}V \ subset {\ text {Tp}} ({\ text {Prim} }) \, \! и с производственным правилом T :: = s {\ displaystyle T :: = {\ text {s}} \, \!}T :: = {\ text {s}} \, \! для каждой записи T ◃ s {\ displaystyle T \ треугольникleft {\ text {s}}}T \ треугольникleft {\ text {s}} в лексиконе и производственных правил T :: = Γ {\ displaystyle T :: = \ Gamma \, \!}T :: = \ Gamma \, \! для определенных секвенций T ← Γ {\ displaystyle T \ leftarrow \ Gamma}T \ leftarrow \ Gamma , которые выводимы в исчислении Ламбека.

Конечно, существует бесконечно много типов и бесконечно много выводимых секвенций, поэтому для создания конечной грамматики необходимо ограничить размер необходимых типов и секвенций. Суть доказательства Пентуса - показать, что существует такая конечная граница.

Обозначение

Обозначение в этом поле не стандартизировано. Обозначения, используемые в формальной теории языка, логике, теории категорий и лингвистике, противоречат друг другу. В логике стрелки указывают на более общее от более частное, то есть на вывод из гипотез. В этой статье соблюдается это соглашение, т.е. цель стрелки - более общий (включающий) тип.

В логике стрелки обычно указывают слева направо. В этой статье это соглашение изменено на обратное для согласования с обозначением контекстно-свободных грамматик, где единственный нетерминальный символ всегда находится слева. Мы используем символ :: = {\ displaystyle :: =}:: = в производственном правиле, как в форме Бэкуса-Наура. Некоторые авторы используют стрелку, которая, к сожалению, может указывать в любом направлении, в зависимости от того, считается ли грамматика генерирующей или распознающей язык.

Некоторые авторы категориальных грамматик пишут B ∖ A {\ displaystyle B \ backslash A}B \ обратная косая черта A вместо A ∖ B {\ displaystyle A \ backslash B}A \ backslash B . Используемое здесь соглашение следует Ламбеку и алгебре.

Исторические заметки

Основные идеи категориальной грамматики восходят к работе Казимежа Айдукевича (в 1935 году) и Иегошуа Бар-Гилеля (в 1953 году).). В 1958 году Иоахим Ламбек представил синтаксическое исчисление, которое формализовало конструкторы типа function вместе с различными правилами для комбинирования функций. Это исчисление является предшественником линейной логики в том смысле, что это субструктурная логика. Грамматика Монтегю использует специальную синтаксическую систему для английского языка, основанную на принципах категориальной грамматики. Хотя работа Монтегю иногда считается синтаксически неинтересной, она помогла поддержать интерес к категориальной грамматике, связав ее с очень успешной формальной обработкой семантики естественного языка . Недавние исследования категориальной грамматики были сосредоточены на улучшении синтаксического охвата. Одним из формализмов, который привлек значительное внимание в последние годы, является Стидман и Сабольчи комбинаторно-категориальная грамматика, основанная на комбинаторной логике, изобретенная Моисей Шёнфинкель и Хаскелл Карри.

В лингвистике существует ряд связанных формализмов такого рода, например и.

Некоторые определения
Деривация
Деривация - это двоичное дерево, которое кодирует доказательство.
Дерево синтаксического анализа
Дерево синтаксического анализа отображает производное, показывающая синтаксическую структуру предложения.
Функтор и аргумент
В приложении правой (левой) функции узел типа A \ B (B / A) называется функтором, а узел типа A называется аргументом.
Функтор – структура аргумента
Уточнения категориальной грамматики

Для улучшения синтаксического покрытия было предложено множество изменений категориальной грамматики. Некоторые из наиболее распространенных из них перечислены ниже.

Функции и подкатегории

Большинство систем категориальной грамматики подразделяют категории. Наиболее распространенный способ сделать это - пометить их тегами функций, например человек, пол, число и . напряженный. Иногда таким образом помечаются только атомарные категории. В грамматике Монтегю традиционно разделяют категории функций с помощью соглашения о множественных косых чертах, поэтому A / B и A // B будут двумя разными категориями функций, применяемых слева, которые принимают одни и те же аргументы, но могут различаться другими функциями. принимая их как аргументы.

Функциональная композиция

Правила функциональной композиции включены во многие категориальные грамматики. Примером такого правила может быть правило, позволяющее объединить компонент типа A / B с одним из типов B / C, чтобы создать новый компонент типа A / C. Семантика такого правила будет просто включать состав задействованных функций. Функциональная композиция важна в категориальных отчетах о соединении и извлечении, особенно в связи с такими явлениями, как подъем правого узла. Введение функциональной композиции в категориальную грамматику приводит ко многим видам деривационной двусмысленности, которые бессмысленны в том смысле, что они не соответствуют семантическим двусмысленностям.

Конъюнкция

Многие категориальные грамматики включают типичное конъюнкцию правило общего вида X CONJ X → X, где X - категория. Конъюнкция обычно может применяться к нестандартным составляющим, возникающим в результате повышения типа или композиции функций.

Разрыв

Грамматика расширена для обработки языковых явлений, таких как прерывистые идиомы, пробелы и извлечение.

См. Также
Ссылки
Дополнительная литература
  • Майкл Мортгат, Логика категориального типа, глава 2 в книге Дж. Ван Бентема и А. тер Мейлена (ред.) Справочник по логике и языку. Elsevier, 1997, ISBN 0-262-22053-9
  • Войцех Бушковский, Математическая лингвистика и теория доказательств, Глава 12 в J. van Benthem и A. ter Meulen (ред..) Справочник по логике и языку. Эльзевир, 1997, ISBN 0-262-22053-9
  • Герхард Ягер (2005). Анафора и типовая логическая грамматика. Springer. ISBN 978-1-4020-3904-1.
  • Глин Моррилл (2010). Категориальная грамматика: логический синтаксис, семантика и обработка. Издательство Оксфордского университета. ISBN 978-0-19-958986-9.
  • Ричард Мут; Кристиан Реторе (2012). Логика категориальных грамматик: дедуктивный учет синтаксиса и семантики естественного языка. Springer Verlag. ISBN 978-3-642-31554-1.
Внешние ссылки
Последняя правка сделана 2021-05-14 12:07:09
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте