Stabler - Lx 185/209 2003 7.2.2 Collecting trees: a better perspective (12) We can make tree collecti<strong>on</strong> easier by putting additi<strong>on</strong>al informati<strong>on</strong> into the chart, so that the chart can be regarded as a “packed forest” <strong>of</strong> subtrees from which any successful derivati<strong>on</strong>s can easily be extracted. We call the forest “packed” because a single item in the chart can participate in many (even infinitely many) trees. One versi<strong>on</strong> <strong>of</strong> this idea was proposed by Tomita (1985), and Billot and Lang (1989) noticed the basic idea menti<strong>on</strong>ed in the introducti<strong>on</strong>: that what we want is a certain way <strong>of</strong> computing the intersecti<strong>on</strong> between a regular language (represented by a finite state machine) and a c<strong>on</strong>text free language (represented by ac<strong>on</strong>textfreegrammar). (13) We can implement this idea as follows: in each item, we indicate which rule was used to create it, and we also indicate the “internal” positi<strong>on</strong>s: /* ckypSWI.pl * E Stabler, Feb 2000 * CKY parser, augmented with rules for 0,3,4,5,6-tuples */ :- op(1200,xfx,:˜). % this is our object language "if" :- [’closure-swi’]. % defines closure/2, uses inference/4 %verbose. % comment to reduce verbosity <strong>of</strong> chart c<strong>on</strong>structi<strong>on</strong> computeClosure(Input) :lexAxioms(0,Input,Axioms), closure(Axioms, Chart), nl, portray_clauses(Chart). computeClosure(Input,Chart) :lexAxioms(0,Input,Axioms), closure(Axioms, Chart). lexAxioms(_Pos,[],L) :bag<strong>of</strong>0(((X,X):(A:˜[])),(A :˜ []),L). lexAxioms(Pos,[W|Ws],[((Pos,Pos1):(W:˜[]))|Axioms]) :- Pos1 is Pos+1, lexAxioms(Pos1,Ws,Axioms). inference(reduce1, [ (Pos,Pos1):(W:˜_) ], ((Pos,Pos1):(A:˜[W])), [(A :˜ [W])] ). inference(reduce2, [ ((Pos,Pos1):(B:˜_)), ((Pos1,Pos2):(C:˜_))], ((Pos,Pos2):(A:˜[B,Pos1,C])), [(A :˜ [B,C])] ). inference(reduce3, [ ((Pos,Pos1):(B:˜_)), ((Pos1,Pos2):(C:˜_)), ((Pos2,Pos3):(D:˜_))], (Pos,(A:˜[B,Pos1,C,Pos2,D]),Pos3), [(A :˜ [B,C,D])] ). inference(reduce4, [ ((Pos,Pos1):(B:˜_)), ((Pos1,Pos2):(C:˜_)), ((Pos2,Pos3):(D:˜_)), ((Pos3,Pos4):(E:˜_))], ((Pos,Pos4):(A:˜[B,Pos1,C,Pos2,D,Pos3,E])), [(A :˜ [B,C,D,E])] ). inference(reduce5, [ ((Pos,Pos1):(B:˜_)), ((Pos1,Pos2):(C:˜_)), ((Pos2,Pos3):(D:˜_)), ((Pos3,Pos4):(E:˜_)), ((Pos4,Pos5):(F:˜_))], ((Pos,Pos5):(A:˜[B,Pos1,C,Pos2,D,Pos3,E,Pos4,F])), [(A :˜ [B,C,D,E,F])] ). inference(reduce6, [ ((Pos,Pos1):(B:˜_)), ((Pos1,Pos2):(C:˜_)), ((Pos2,Pos3):(D:˜_)), ((Pos3,Pos4):(E:˜_)), ((Pos4,Pos5):(F:˜_)), ((Pos5,Pos6):(F:˜_))], ((Pos,Pos6):(A:˜[B,Pos1,C,Pos2,D,Pos3,E,Pos4,F,Pos5,G])), [(A :˜ [B,C,D,E,F,G])] ). portray_clauses([]). portray_clauses([C|Cs]) :- portray_clause(C), portray_clauses(Cs). bag<strong>of</strong>0(A,B,C) :- bag<strong>of</strong>(A,B,C), !. bag<strong>of</strong>0(_,_,[]). 111
Stabler - Lx 185/209 2003 (14) With this parsing strategy, we can avoid all blind alleys in collecting a tree. /* ckypCollect.pl * E Stabler, Feb 2000 * collect a tree from a CKY parser chart */ :- op(1200,xfx,:˜). % this is our object language "if" ckypCollect(Chart,N,S,S/STs) :- collectTree(Chart,0,S,N,S/STs). collectTree(Chart,I,A,J,A/ATs) :- member(((I,J):(A:˜L)),Chart), collectTrees(L,Chart,I,J,ATs). collectTree(Chart,I,W,J,W/[]) :- member(((I,J):(W:˜[])),Chart). collectTrees([],_,I,I,[]). collectTrees([A],Chart,I,J,[A/ATs]) :- collectTree(Chart,I,A,J,A/ATs). collectTrees([A,K|As],Chart,I,J,[A/ATs|Ts]) :- collectTree(Chart,I,A,K,A/ATs), collectTrees(As,Chart,K,J,Ts). (15) We have sessi<strong>on</strong>s like this: 7 ?- [g1,ckypSWI,pp_tree]. % g1 compiled 0.00 sec, 672 bytes % chart compiled 0.00 sec, 0 bytes % agenda compiled 0.00 sec, 0 bytes % items compiled 0.00 sec, 0 bytes % m<strong>on</strong>itor compiled 0.01 sec, 0 bytes % driver compiled 0.00 sec, 0 bytes % utilities compiled 0.00 sec, 0 bytes % closure-swi compiled 0.01 sec, 0 bytes % ckypSWI compiled 0.01 sec, 0 bytes % pp_tree compiled 0.00 sec, 1,692 bytes Yes 8 ?- computeClosure([the,idea,will,suffice]). ’.’’.’’.’’.’:’.’:’.’:’.’:’.’::’.’::’.’:’.’:’.’:’.’:’.’:’.’::’.’: (0, 1): (d0:˜[the]). (0, 1): (the:˜[]). (0, 2): (d1:˜[d0, 1, np]). (0, 2): (dp:˜[d1]). (0, 4): (ip:˜[dp, 2, i1]). (1, 2): (idea:˜[]). (1, 2): (n0:˜[idea]). (1, 2): (n1:˜[n0]). (1, 2): (np:˜[n1]). (2, 3): (i0:˜[will]). (2, 3): (will:˜[]). (2, 4): (i1:˜[i0, 3, vp]). (3, 4): (suffice:˜[]). (3, 4): (v0:˜[suffice]). (3, 4): (v1:˜[v0]). (3, 4): (vp:˜[v1]). Yes 9 ?- [ckypCollect]. % ckypCollect compiled 0.00 sec, 1,764 bytes Yes 10 ?- computeClosure([the,idea,will,suffice],Chart),nl,ckypCollect(Chart,4,ip,T),pp_tree(T). ’.’’.’’.’’.’:’.’:’.’:’.’:’.’::’.’::’.’:’.’:’.’:’.’:’.’:’.’::’.’: ip /[ dp /[ d1 /[ d0 /[ the /[]], np /[ n1 /[ n0 /[ idea /[]]]]]], i1 /[ i0 /[ will /[]], vp /[ v1 /[ v0 /[ suffice /[]]]]]] Chart = [ (0, 1): (d0:˜[the]), (0, 1): (the:˜[]), (0, 2): (d1:˜[d0, 1, np]), (0, 2): (dp:˜[d1]), (0, 4): (ip:˜[dp, 2|...]), (1, 2): (idea:˜[]), (1, 2): (n0:˜[...]), (... T = ip/[dp/[d1/[d0/[the/[]], np/[... /...]]], i1/[i0/[will/[]], vp/[v1/[...]]]] Yes 11 ?- Exercise: What grammar is the intersecti<strong>on</strong> <strong>of</strong> g1.pl and the finite state language with just <strong>on</strong>e string, {the idea will suffice}. 112
- Page 1 and 2:
Notes on computati
- Page 3 and 4:
Stabler - Lx 185/209 2003 Linguisti
- Page 5 and 6:
Stabler - Lx 185/209 2003 1 Setting
- Page 7 and 8:
Stabler - Lx 185/209 2003 1.2 Propo
- Page 9 and 10:
Stabler - Lx 185/209 2003 (8) Pitfa
- Page 11 and 12:
Stabler - Lx 185/209 2003 In fact,
- Page 13 and 14:
Stabler - Lx 185/209 2003 10. Call
- Page 15 and 16:
Stabler - Lx 185/209 2003 compute s
- Page 17 and 18:
Stabler - Lx 185/209 2003 (11) Pred
- Page 19 and 20:
Stabler - Lx 185/209 2003 1.6 The l
- Page 21 and 22:
Stabler - Lx 185/209 2003 L0 and L1
- Page 23 and 24:
Stabler - Lx 185/209 2003 Exercises
- Page 25 and 26:
Stabler - Lx 185/209 2003 3 more ex
- Page 27 and 28:
Stabler - Lx 185/209 2003 2 Recogni
- Page 29 and 30:
Stabler - Lx 185/209 2003 (8) Then
- Page 31 and 32:
Stabler - Lx 185/209 2003 (13) The
- Page 33 and 34:
Stabler - Lx 185/209 2003 Exercises
- Page 35 and 36:
Stabler - Lx 185/209 2003 Problem (
- Page 37 and 38:
Stabler - Lx 185/209 2003 1 ?- [col
- Page 39 and 40:
Stabler - Lx 185/209 2003 lex(’th
- Page 41 and 42:
Stabler - Lx 185/209 2003 2 ?- ([
- Page 43 and 44:
Stabler - Lx 185/209 2003 (3) Dalry
- Page 45 and 46:
Stabler - Lx 185/209 2003 3.3 Recog
- Page 47 and 48:
Stabler - Lx 185/209 2003 (22) Supp
- Page 49 and 50:
Stabler - Lx 185/209 2003 (27) With
- Page 51 and 52:
Stabler - Lx 185/209 2003 (31) tcl/
- Page 53 and 54:
Stabler - Lx 185/209 2003 A c-comma
- Page 55 and 56:
Stabler - Lx 185/209 2003 (46) Does
- Page 57 and 58:
Stabler - Lx 185/209 2003 m. The id
- Page 59 and 60:
Stabler - Lx 185/209 2003 4 Brief d
- Page 61 and 62: Stabler - Lx 185/209 2003 (50) Nem
- Page 63 and 64: Stabler - Lx 185/209 2003 5 Trees,
- Page 65 and 66: Stabler - Lx 185/209 2003 children(
- Page 67 and 68: Stabler - Lx 185/209 2003 5.3 Movem
- Page 69 and 70: Stabler - Lx 185/209 2003 a. d e c
- Page 71 and 72: Stabler - Lx 185/209 2003 children(
- Page 73 and 74: Stabler - Lx 185/209 2003 adjoin_no
- Page 75 and 76: Stabler - Lx 185/209 2003 (37) With
- Page 77 and 78: Stabler - Lx 185/209 2003 Mates’
- Page 79 and 80: Stabler - Lx 185/209 2003 81. ((A
- Page 81 and 82: Stabler - Lx 185/209 2003 6.2 LR pa
- Page 83 and 84: Stabler - Lx 185/209 2003 6.3 LC pa
- Page 85 and 86: Stabler - Lx 185/209 2003 (20) Like
- Page 87 and 88: Stabler - Lx 185/209 2003 6.4 All t
- Page 89 and 90: Stabler - Lx 185/209 2003 (26) GLC
- Page 91 and 92: Stabler - Lx 185/209 2003 (33) GLC
- Page 93 and 94: Stabler - Lx 185/209 2003 The secon
- Page 95 and 96: Stabler - Lx 185/209 2003 6.5.2 Bot
- Page 97 and 98: Stabler - Lx 185/209 2003 6.6 Asses
- Page 99 and 100: Stabler - Lx 185/209 2003 (56) Stru
- Page 101 and 102: Stabler - Lx 185/209 2003 6.6.4 A d
- Page 103 and 104: Stabler - Lx 185/209 2003 1. Downlo
- Page 105 and 106: Stabler - Lx 185/209 2003 It is ess
- Page 107 and 108: Stabler - Lx 185/209 2003 inference
- Page 109 and 110: Stabler - Lx 185/209 2003 1 (’SBA
- Page 111: Stabler - Lx 185/209 2003 7.2 Tree
- Page 115 and 116: Stabler - Lx 185/209 2003 /* earley
- Page 117 and 118: Stabler - Lx 185/209 2003 8 Stochas
- Page 119 and 120: Stabler - Lx 185/209 2003 8.1.1 Cor
- Page 121 and 122: Stabler - Lx 185/209 2003 to punctu
- Page 123 and 124: Stabler - Lx 185/209 2003 jane aust
- Page 125 and 126: Stabler - Lx 185/209 2003 where usu
- Page 127 and 128: Stabler - Lx 185/209 2003 0.1 0.09
- Page 129 and 130: Stabler - Lx 185/209 2003 We get al
- Page 131 and 132: Stabler - Lx 185/209 2003 Word leng
- Page 133 and 134: Stabler - Lx 185/209 2003 8.1.4 Pro
- Page 135 and 136: Stabler - Lx 185/209 2003 8.1.5 Ran
- Page 137 and 138: Stabler - Lx 185/209 2003 Matrix ar
- Page 139 and 140: Stabler - Lx 185/209 2003 (65) To a
- Page 141 and 142: Stabler - Lx 185/209 2003 octave:18
- Page 143 and 144: Stabler - Lx 185/209 2003 added pro
- Page 145 and 146: Stabler - Lx 185/209 2003 P(q1 ...q
- Page 147 and 148: Stabler - Lx 185/209 2003 c. Finall
- Page 149 and 150: Stabler - Lx 185/209 2003 This is p
- Page 151 and 152: Stabler - Lx 185/209 2003 (100) Abn
- Page 153 and 154: Stabler - Lx 185/209 2003 3. If des
- Page 155 and 156: Stabler - Lx 185/209 2003 It will b
- Page 157 and 158: Stabler - Lx 185/209 2003 Entropy (
- Page 159 and 160: Stabler - Lx 185/209 2003 One indir
- Page 161 and 162: Stabler - Lx 185/209 2003 4. the fu
- Page 163 and 164:
Stabler - Lx 185/209 2003 8.2.3 Ass
- Page 165 and 166:
Stabler - Lx 185/209 2003 (142) We
- Page 167 and 168:
Stabler - Lx 185/209 2003 8.4 Next
- Page 169 and 170:
Stabler - Lx 185/209 2003 9.1 “Mi
- Page 171 and 172:
Stabler - Lx 185/209 2003 (4) More
- Page 173 and 174:
Stabler - Lx 185/209 2003 This is a
- Page 175 and 176:
Stabler - Lx 185/209 2003 (7) Let
- Page 177 and 178:
Stabler - Lx 185/209 2003 (9) Let
- Page 179 and 180:
Stabler - Lx 185/209 2003 dP3 maria
- Page 181 and 182:
Stabler - Lx 185/209 2003 The 4 Eng
- Page 183 and 184:
Stabler - Lx 185/209 2003 9.1.4 Fou
- Page 185 and 186:
Stabler - Lx 185/209 2003 (21) The
- Page 187 and 188:
Stabler - Lx 185/209 2003 :- [’pp
- Page 189 and 190:
Stabler - Lx 185/209 2003 9.2.2 Som
- Page 191 and 192:
Stabler - Lx 185/209 2003 who laugh
- Page 193 and 194:
Stabler - Lx 185/209 2003 Kayne ass
- Page 195 and 196:
Stabler - Lx 185/209 2003 (32) Vari
- Page 197 and 198:
Stabler - Lx 185/209 2003 dP t 3 v
- Page 199 and 200:
Stabler - Lx 185/209 2003 10 Toward
- Page 201 and 202:
Stabler - Lx 185/209 2003 We can en
- Page 203 and 204:
Stabler - Lx 185/209 2003 Head move
- Page 205 and 206:
Stabler - Lx 185/209 2003 D which w
- Page 207 and 208:
Stabler - Lx 185/209 2003 CP C’ C
- Page 209 and 210:
Stabler - Lx 185/209 2003 CP C’ C
- Page 211 and 212:
Stabler - Lx 185/209 2003 that::=T
- Page 213 and 214:
Stabler - Lx 185/209 2003 T t C C S
- Page 215 and 216:
Stabler - Lx 185/209 2003 10.3.4 AP
- Page 217 and 218:
Stabler - Lx 185/209 2003 T t C C C
- Page 219 and 220:
Stabler - Lx 185/209 2003 10.3.6 Co
- Page 221 and 222:
Stabler - Lx 185/209 2003 10.4 Modi
- Page 223 and 224:
Stabler - Lx 185/209 2003 10.5 Summ
- Page 225 and 226:
Stabler - Lx 185/209 2003 10.5.1 Re
- Page 227 and 228:
Stabler - Lx 185/209 2003 Exercises
- Page 229 and 230:
Stabler - Lx 185/209 2003 10.6.3 Mu
- Page 231 and 232:
Stabler - Lx 185/209 2003 10.6.5 Pi
- Page 233 and 234:
Stabler - Lx 185/209 2003 CP C’ C
- Page 235 and 236:
Stabler - Lx 185/209 2003 but also
- Page 237 and 238:
Stabler - Lx 185/209 2003 And if yo
- Page 239 and 240:
Stabler - Lx 185/209 2003 sentence:
- Page 241 and 242:
Stabler - Lx 185/209 2003 Example:
- Page 243 and 244:
Stabler - Lx 185/209 2003 15.1 Mono
- Page 245 and 246:
Stabler - Lx 185/209 2003 Example:
- Page 247 and 248:
Stabler - Lx 185/209 2003 16 Harder
- Page 249 and 250:
Stabler - Lx 185/209 2003 A first,
- Page 251 and 252:
Stabler - Lx 185/209 2003 non-demon
- Page 253 and 254:
Stabler - Lx 185/209 2003 16.4 Scop
- Page 255 and 256:
Stabler - Lx 185/209 2003 16.5 Infe
- Page 257 and 258:
Stabler - Lx 185/209 2003 Extra cre
- Page 259 and 260:
Stabler - Lx 185/209 2003 CP C’ C
- Page 261 and 262:
Stabler - Lx 185/209 2003 (5) In su
- Page 263 and 264:
Stabler - Lx 185/209 2003 (7) Anoth
- Page 265 and 266:
Stabler - Lx 185/209 2003 17.2.1 A
- Page 267 and 268:
Stabler - Lx 185/209 2003 Exercises
- Page 269 and 270:
Stabler - Lx 185/209 2003 Reference
- Page 271 and 272:
Stabler - Lx 185/209 2003 Cornell,
- Page 273 and 274:
Stabler - Lx 185/209 2003 Hale, Joh
- Page 275 and 276:
Stabler - Lx 185/209 2003 Kraft, L.
- Page 277 and 278:
Stabler - Lx 185/209 2003 Pollock,
- Page 279 and 280:
Stabler - Lx 185/209 2003 Stabler,
- Page 281 and 282:
Index (x, y), openintervalfromx to
- Page 283 and 284:
Stabler - Lx 185/209 2003 Herbrand,
- Page 285:
Stabler - Lx 185/209 2003 Seki, Hir