5. AB-исчисление (Айдукевич, Бар-Хиллел)
Синтаксис описывается категориями и правилами.
Категории (приписаны к каждому слову в словаре):
Атомарные категории: s (предложение), np (именная группа), . . .
Составные категории: функции над категориями.
Две операции для построения составных категорий.
— «аргумент слева».
/ — «аргумент справа».
Пример: (snp)/np — категория переходного глагола.
Правила:
(X /Y ) Y
→> X
Y (X Y ) →< X
Дмитрий Тимофеев (СПбГПУ)
CCG
20 февраля 2014 года
5 / 25
7. Композиционная семантика
К каждому слову вместе с категорией можно приписать λ-терм.
“John
:= np : john
“Mary
:= np : mary
“loves
:= (snp)/np : λx.λy .love(y , x)
Композиция этих термов задается правилами:
(X /Y ) : f Y : x
Y : x (X Y ) : f
John
np : john
→> X : f (x)
→< X : f (x)
loves
Mary
np : mary
(snp)/np : λx.λy .love(y , x)
>
snp : λy .love(y , mary )
<
s : love(john, mary )
Дмитрий Тимофеев (СПбГПУ)
CCG
20 февраля 2014 года
7 / 25
8. Complex argument
“John promised Mary to go”
“John persuaded Mary to go”
“promised
“persuaded
“to
“go
:= ((snp)/(sinf np))/np : λx.λP.λy .promise(y , x, P y )
:= ((snp)/(sinf np))/np : λx.λP.λy .persuade(y , x, P x)
:= (sinf np)/(sbase np) : λP.P
:= sbase np : λx.go(x)
Дмитрий Тимофеев (СПбГПУ)
CCG
20 февраля 2014 года
8 / 25
9. John promised Mary to go
promised
John
Mary
to
go
((snp)/(sinf np))/np
λx.λP.λy .promise(y ,x,P y )
np
mary
(sinf np)/(sbase np)
λP.P
sbase np
λx.go(x)
(snp)/(sinf np)
λP.λy .promise(y ,mary ,P y )
(sinf np)
λx.go(x)
snp
λy .promise(y ,mary ,(λx.go(x)) y )
np
john
s
promise(john,mary ,go(john))
Дмитрий Тимофеев (СПбГПУ)
CCG
20 февраля 2014 года
9 / 25
10. John persuaded Mary to go
persuaded
John
np
john
Mary
to
go
((snp)/(sinf np))/np
λx.λP.λy .persuade(y ,x,P x)
np
mary
(sinf np)/(sbase np)
λP.P
sbase np
λx.go(x)
(snp)/(sinf np)
λP.λy .persuade(y ,mary ,P mary )
(sinf np)
λx.go(x)
snp
λy .persuade(y ,mary ,(λx.go(x)) mary )
s
persuade(john,mary ,go(mary ))
Дмитрий Тимофеев (СПбГПУ)
CCG
20 февраля 2014 года
10 / 25
11. Ограничения AB-исчисления
Некоторые грамматические конструкции в AB-исчислении описать
невозможно.
Из-за отсутствия ассоциативности:
Подъем правого узла (right-node raising):
“((John cooked) and (Mary ate)) the beans”
Актуальное членение:
“(Ed saw) Ted” и “Ed (saw Ted)”
Из-за отсутствия коммутативности:
Перестановка слов:
“(Ed saw) yesterday (his tall old friend Ted)”
Дмитрий Тимофеев (СПбГПУ)
CCG
20 февраля 2014 года
11 / 25
12. Комбинаторная категориальная грамматика
Каждой синтаксической категории можно сопоставить
семантический тип.
Тип λ-термов, соответствующих элементам категории.
Категория np — тип e (сущности).
Категория s — тип t (истинностные значения высказываний).
Операциям / и соответствуют функции.
Семантическому типу et (то же самое, что e → t) соответствуют
категории snp и s/np.
Семантический тип не зависит от конкретного порядка слов, но с
точки зрения синтаксиса это надо учесть.
Дмитрий Тимофеев (СПбГПУ)
CCG
20 февраля 2014 года
12 / 25
13. Комбинаторная категориальная грамматика
λ-термы можно строить из других λ-термов с помощью
комбинаторов (функций без свободных переменных).
Идея:
Выберем подходящий набор комбинаторов, которые позволяют
из одних термов строить другие.
Типу аргумента (исходного терма) сопоставляется новый тип, тип
значения.
Добавим к AB-исчислению правила, которые будут по тем же
законам преобразовывать синтаксические категории.
Дмитрий Тимофеев (СПбГПУ)
CCG
20 февраля 2014 года
13 / 25
14. Комбинаторы
Подъем типа (type-raising):
T x ≡ λf .f x
Композиция функций (function composition):
B f g ≡ λx.f (g x)
Подстановка (substitution):
S f g ≡ λx.f x (g x)
В различных вариантах CCG используются разные наборы
дополнительных комбинаторов.
Дмитрий Тимофеев (СПбГПУ)
CCG
20 февраля 2014 года
14 / 25
15. Подъем типа
Tσ((στ )τ ) xσ ≡ λfστ .f x
T Maxe ≡ λPet .P Max
Правила:
X : a →>T
X : a →<T
Дмитрий Тимофеев (СПбГПУ)
Y /(Y X ) : λf .f a
Y (Y /X ) : λf .f a
CCG
20 февраля 2014 года
15 / 25
16. Композиция функций
B(στ )((
σ)( τ )) fστ
g
“Max eats”:
σ
≡ λx .f (g x)
B (λP.P Max) (λy .λz.eat(z, y ))
≡
λx.(λP.P Max) ((λy .λz.eat(z, y )) x)
→ λx.(λP.PMax) (λz.eat(z, x))
→ λx.(λz.eat(z, x)) Max
→ λx.eat(Max, x)
Дмитрий Тимофеев (СПбГПУ)
CCG
20 февраля 2014 года
16 / 25
17. Композиция функций
Правила (гармоническая композиция, harmonic composition):
(X /Y ) : f (Y /Z ) : g
(Y /Z ) : g (X Y ) : f
Дмитрий Тимофеев (СПбГПУ)
→>B
→<B
CCG
X /Z : λx.f (g x)
X Z : λx.f (g x)
20 февраля 2014 года
17 / 25
18. Композиция функций
John
np : john
loves
Mary
np : mary
(snp)/np : λx.λy .love(y , x)
>
snp : λy .love(y , mary )
<
s : love(john, mary )
John
np : john
loves
>T
s/(snp) : λP.P john
(snp)/np : λx.λy .love(y , x)
>B
s/np : λx.love(john, x)
s : love(john, mary )
Дмитрий Тимофеев (СПбГПУ)
CCG
Mary
np : mary
20 февраля 2014 года
>
18 / 25
19. Композиция функций
Перекрестная композиция, crossed composition:
(X /Y ) : f (Y Z ) : g
(Y /Z ) : g (X Y ) : f
Ed
np
→>B×
→< B ×
X Z : λx.f (g x)
X /Z : λx.f (g x)
today
saw
(snp)(snp)
(snp)/np
<B ×
(snp)/np
snp
<
s
Дмитрий Тимофеев (СПбГПУ)
CCG
his tall friend Ted
np
>
20 февраля 2014 года
19 / 25
20. Подстановка
S(σ(τ
))(στ )σ
fσ(τ
)
gστ xσ ≡ (f x (g x))
“. . . filed without reading”
S (λz.λQet .λy .[Q y ∧ (without(read(y , z)))]) (λz.λy .[file(y , z)])
→
Правило:
λz.λy .file(y , z) ∧ (without(read(y , z)))]
(Y /Z ) (X Y )/Z ) →<S×
Дмитрий Тимофеев (СПбГПУ)
CCG
X /Z
20 февраля 2014 года
20 / 25
21. Подстановка
“[articles] which Ed filed without reading”
which
(nn)/(s/np)
Ed
np
>T
s/(snp)
filed
(snp)/np
s/np
without reading
((snp)(snp))/np
< S×
(snp)/np
>B
nn
Дмитрий Тимофеев (СПбГПУ)
CCG
20 февраля 2014 года
21 / 25
22. Модальности
Из-за неограниченного применения правил можно допустить
синтаксически некорректные предложения.
Варианты ограничений:
Запретить применять конкретные правила для конкретных
языковых конструкций.
Неудобно (грамматики зависят и от правил, и от словаря).
Включить ограничения на контекст применения правил в сами
правила.
Общепринятая сегодня практика.
Модальности операторов / и (Baldridge and Kruijff):
— неассоциативный, некоммутативный оператор.
— ассоциативный, некоммутативный оператор.
× — неассоциативный, коммутативный оператор.
∙ — ассоциативный, коммутативный оператор.
Дмитрий Тимофеев (СПбГПУ)
CCG
20 февраля 2014 года
22 / 25
23. Синтаксический анализ
Эффективные алгоритмы:
CKY
Shift-Reduce
Статистический парсинг на основе логарифмических моделей.
Проблема — ложная неоднозначность.
Мы сами этого добивались: “Ed (saw Ted)” и “(Ed saw) Ted”.
Ed
np
saw
Ted
(snp)/np
np
>
snp
<
s
Ed
np
saw
>T
s/(snp)
(snp)/np
>B
s/np
s
Дмитрий Тимофеев (СПбГПУ)
CCG
Ted
np
>
20 февраля 2014 года
23 / 25
24. Литература
Jason Baldridge and Frederick Hoyt.
Categorial grammar.
In Tibor Kiss and Artemis Alexiadou, editors, Handbook of Syntax. de
Gruyter, Berlin.
To appear.
http://www.jasonbaldridge.com/papers/baldridge_cg_
handbook_syntax.pdf.
Mark Steedman and Jason Baldridge.
Combinatory categorial grammar.
In Non-Transformational Syntax: Formal and Explicit Models of
Grammar, pages 181–224. 2011.
http://www.inf.ed.ac.uk/teaching/courses/nlg/readings/
SteedmanBaldridgeCCG.pdf.
Дмитрий Тимофеев (СПбГПУ)
CCG
20 февраля 2014 года
24 / 25