Andreev

12

description

 

Transcript of Andreev

Page 1: Andreev

Èçâëå÷åíèå ÊÑ-ãðàììàòèê èç ëîãè÷åñêèõ

ñïåöèôèêàöèé

Àðòåì Àíäðååâ

Èíñòèòóò ëèíãâèñòè÷åñêèõ èññëåäîâàíèé ÐÀÍ

[email protected]

26 ìàÿ 2012 ã.

Page 2: Andreev

Êîíòåêñòíî-ñâîáîäíûå ãðàììàòèêè

I ßâëÿåòñÿ ëè åñòåñòâåííûé ÿçûê êàê òàêîâîé

êîíòåêñòíî-ñâîáîäíûì � íå âïîëíå ïîíÿòíî

I Îäíàêî ñóùåñòâîâàíèå íåòðèâèàëüíîãî ÊÑ-ÿäðà î÷åâèäíî

Page 3: Andreev

Ñ òðóäîì îïèñûâàþòñÿ:

I ñâîáîäíûé ïîðÿäîê ñëîâ

I ðàçâèòàÿ ìîðôîëîãèÿ

Ðåøåíèå: ðàñøèðåíèå ôîðìàëèçìà; ïðèìåð � AGFL

Page 4: Andreev

Îäíàêî êîíòåêñòíî-ñâîáîäíûå ãðàììàòèêè:

I ãàðàíòèðîâàííî ýôôåêòèâíî ðàñïîçíàþòñÿ (O(n3))

I îáëàäàþò íåïðåâçîéäåííîé èíñòðóìåíòàëüíîé ïîääåðæêîé

(cf. yacc)

Íå-ÊÑ-ôîðìàëèçìû íå îáðàçóþò åäèíîé ñèñòåìû

Page 5: Andreev

Ïðåäëîæåíèå: èñïîëüçîâàòü ÊÑ-ãðàììàòèêè êàê ñâîåãî ðîäà

¾àññåìáëåð¿

 êà÷åñòâå âûñîêîóðîâíåâîãî ôîðìàëèçìà åñòåñòâåííî

èñïîëüçîâàòü ëîãèêó ïåðâîãî ïîðÿäêà

cf. èçâëå÷åíèå ïðîãðàìì èç ñïåöèôèêàöèé

Page 6: Andreev

ÊÑ-ãðàììàòèêè ýêâèâàëåíòíû ôðàãìåíòó ëîãèêè ïåðâîãî

ïîðÿäêà

NP VP → S NP(x) ∧ VP(y) → S(x _ y)

Page 7: Andreev

Ñïåöèôèêàöèÿ

Gov(x , y , z) → Val1(x , y)Gov(x , y , z) ∧ NP(x) → NP(z)Gov(x , y , z) ∧ Sg(x) → Sg(z)

Gov(x , y , z) ∧ Val2(x , t) → Val1(z , t)Coord(x , y , z) ∧ NP(x) → NP(y) ∧ NP(z)Coord(x , y , z) ∧ Sg(x) → Sg(z)

Page 8: Andreev

Îò ñïåöèôèêàöèè ê èíäóêòèâíûì òèïàì: óñòðàíåíèå n-ìåñòíûõ

ïðåäèêàòîâ

Val1(v(x , y)) ∧ NP(x) → NP(g(x , y))Val1(v(x , y)) ∧ Sg(x) → Sg(g(x , y))

Val2(v(x , t)) → Val1(v(g(x , y), t))NP(x) → NP(y) ∧ NP(c(x , y))Sg(x) → Sg(c(x , y))

Page 9: Andreev

Îò ñïåöèôèêàöèè ê èíäóêòèâíûì òèïàì: èíäóêòèâíûå öåïè

Val1(v(x , y)) ∧ NP(x) → NP(g(x , y))Val1(v(x , y)) ∧ Sg(x) → Sg(g(x , y))

Val2(v(x , t)) → Val1(v(g(x , y), t))NP(x) ∧ NP(y) → NP(c(x , y))

Sg(x) → Sg(c(x , y))

Page 10: Andreev

Îáúåäèíåíèå èíäóêòèâíûõ òèïîâ

Val1(v(x , y)) ∧ NPSg(x) → NPSg(g(x , y))Val2(v(x , t)) → Val1(v(g(x , y), t))

NPSg(x) ∧ NP(y) → NPSg(c(x , y))

Page 11: Andreev

Îáúåäèíåíèå èíäóêòèâíûõ òèïîâ 2

NPVal2Dat(x) ∧ NPSg(x)∧NPGen(y) ∧ NPDat(z) → NPSg(g(g(x , y), z))

NPSg(x) ∧ NP(y) → NPSg(c(x , y))

Page 12: Andreev

Îò èíäóêòèâíîãî òèïà ê ÊÑ-ãðàììàòèêå: ëèíåàðèçàöèÿ

NPSg NPGen → NPSgNPGen NPSg → NPSgNPSg NPSg → NPSg