;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Ginzburgh and Sag (2002) Implementation ;;; Copyright (c) 2001-2002, John Beavers, Chris Callison Burch, and Ivan Sag ;;; see license.txt (distributed with LKB) for details ;;; ;;; Filename: constructions.tdl ;;; Purpose: Construction types, descendents of phrase, clausal types, ;;; branching types, etc. ;;; Last modified: 05/11/02 by John Beavers (JTB) ;;; Notes: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; <<< >>> Maximal Subtypes of Phrase ;;; Non-clausal phrases ;ncl-hd-comps-ph-0 := non-clause & hd-comp-ph-0 & unary-construction. ncl-hd-comps-ph-1 := non-clause & hd-comp-ph-1 & binary-construction. ncl-hd-comps-ph-2 := non-clause & hd-comp-ph-2 & ternary-construction. ;ncl-vb-ph-0 := non-clause & vb-ph-0 & unary-construction. ncl-vb-ph-1 := non-clause & vb-ph-1 & binary-construction. ncl-vb-ph-2 := non-clause & vb-ph-2 & ternary-construction. ncl-vb-ph-3 := non-clause & vb-ph-3 & quaternary-construction. ncl-ellip-vp-0 := non-clause & ellip-vp-0 & unary-construction. ncl-ellip-vp-1 := non-clause & ellip-vp-1 & binary-construction. ;ncl-ellip-vp-2 := non-clause & ellip-vp-2 & ternary-construction. cp-cl-1 := clause & cp-ph-1 & binary-construction. cp-cl-2 := clause & cp-ph-2 & ternary-construction. #| coordination-word := word & [ SS #1, DTRS < word & [ SS #1 & [ LOC.CAT [ HEAD.FORM #form, SPR #spr, SUBJ #subj, COMPS #comps & < [ ] ... > ], WH #wh, SLASH #slash ] ], word & [ ORTH ], word & [ SS [ LOC.CAT [ HEAD.FORM #form, SPR #spr, SUBJ #subj, COMPS #comps ], WH #wh, SLASH #slash ] ] > ]. coordination-phrase := ternary-construction & hd-ph & [ SS #1, DTRS < phrase & [ SS #1 & [ LOC.CAT [ HEAD.FORM #form, SPR #spr, SUBJ #subj, COMPS #comps ], WH #wh, SLASH #slash ] ], word & [ ORTH ], phrase & [ SS [ LOC.CAT [ HEAD.FORM #form, SPR #spr, SUBJ #subj, COMPS #comps ], WH #wh, SLASH #slash ] ] > ]. |# ;;; JTB 02/16/02 - Root-cl. root-cl-0 := root-cl & hd-only-ph & unary-construction & [ SS.LOC.CONT proposition & [ SOA.NUCL illoc-rel & [ MSG-ARG #1 ] ], HD-DTR [ SS.LOC.CAT.HEAD.IC true, SS.LOC.CONT #1 ] ]. root-cl-1 := root-cl & hd-punct-ph & binary-construction & [ SS.LOC.CONT #2 & [ SOA.NUCL.MSG-ARG #1 ], HD-DTR [ SS.LOC.CAT.HEAD.IC true, SS.LOC.CONT #1 ], DTRS < expression, punctuation & [ SS.LOC.CONT #2 ] > ]. ;;; Imperatives - again, these are roots. We want to prevent building ;;;non-root ns-imperatives because they start showing up as CPs in ;;;their own right, and we don't want that. subject imperatives of ;;;course get built as "declaratives" ns-imp-root-cl := imp-root-cl & hd-ph & [ SS.LOC [ CAT.SUBJ < >, CAT.HEAD.IC true ], SS.LOC.CONT proposition & [ SOA.NUCL.MSG-ARG.SOA #soa ], HD-DTR.SS.LOC [ CAT [ SUBJ < [ SLASH , LOC [ CAT.HEAD.AGR 2per, CONT.INDEX listener, P-STORE , Q-STORE ], WH ] >, HEAD [ IC false, FORM fin ] ], CONT #soa ] ]. ns-imp-root-cl-0 := ns-imp-root-cl & hd-only-ph & unary-construction. ns-imp-root-cl-1 := ns-imp-root-cl & hd-punct-ph & binary-construction & [ SS.LOC.CONT #2, DTRS < expression, punctuation & [ SS.LOC.CONT #2 ] > ]. ;;;JTB 02/02/02 - First stab at an imperative rule. Currently no rule ;;;for this because we made it all a root thing. ns-imp-cl := imp-cl & unary-construction & [ SS.LOC [ CAT.SUBJ < >, CAT.HEAD.IC true, CONT.SOA #soa ], HD-DTR.SS.LOC [ CAT [ SUBJ < [ SLASH , LOC [ CAT.HEAD.AGR 2per, CONT.INDEX listener, P-STORE , Q-STORE ], WH ] >, HEAD [ IC false, FORM fin ] ], CONT #soa ] ]. ;;; JTB 02/1602 - factive-cl. factive-cl-0 := factive-cl & hd-only-ph & unary-construction & [ SS.LOC.CONT.PROP #1, HD-DTR.SS.LOC.CONT #1 ]. ;;; Declarative clauses decl-hs-cl := decl-cl & hd-subj-ph & binary-construction & [ SS.LOC.CAT.HEAD [ FORM fin, INV false ] ]. decl-ns-cl := decl-cl & hd-only-ph & unary-construction & [ SS.LOC.CAT.SUBJ < noncanon-ss > ]. ;;; CCB - An earlier draft of the Basic Interrogative Constructions ;;;chapter called what I am calling "PARAMS" "INDICIES", I think that my ;;;change fits within the new semantics chapter, but better check on it. pol-int-cl := canon-int-cl & sai-ph & [ SS.LOC.CONT [ PARAMS , PROP [ SOA #1 ] ], HD-DTR.SS.LOC.CONT #1 ]. pol-int-cl-0 := pol-int-cl & sai-ph-0 & binary-construction. pol-int-cl-1 := pol-int-cl & sai-ph-1 & ternary-construction. pol-int-cl-2 := pol-int-cl & sai-ph-2 & quaternary-construction. ;;;JTB/IAS - 07/14/01 added SS.P-STORE empty on first daughter (the bagel) ; topicalized-clause (top-cl) top-cl := hd-fill-ph & core-cl & binary-construction & [ SS.LOC.CAT [ SUBJ < >, HEAD verb & [ INV false, IC true ] ], DTRS < [ SS.WH , SS.LOC.P-STORE , SS.LOC.CAT.HEAD topic ], expression > ]. ;;; CCB - do I need to enumerate more types for each of the sai-ph values? ;;; JTB - 07/29/01 Restricted inv-excl-cl to not allow P-STOREs in complements. ; inverted-exclamative-clause (inv-excl-cl) inv-excl-cl-1 := excl-cl & sai-ph-1 & ternary-construction & [ SS.LOC.CONT.PROP.SOA #1, HD-DTR.SS.LOC [ P-STORE , CAT.HEAD.IC true, CONT #1 ] ]. ; inverted-exclamative-clause (inv-excl-cl) inv-excl-cl-0 := excl-cl & sai-ph-0 & binary-construction & [ SS.LOC.CONT.PROP.SOA #1, HD-DTR.SS.LOC [ P-STORE , CAT.HEAD.IC true, CONT #1 ] ]. ;;; The SLASH value on inverted declarative clauses like "are you ;;;reading" from the sentence "Whose book are you reading?" is non-empty. ;;;JTB/IAS 7/14/01 - made slash singleton rather than < [ ], ... > ; inverted-declarative-clause (inv-decl-cl) ;;;JTB 07/25/01 - Making another one that is binary. This is to make ;;;stuff like "How happy is Kim" to parse as a subject aux inversion, but ;;;minus base verb. I'm not sure if that's how these analyze, so I ;;;should check with Ivan. inv-decl-cl-1 := decl-cl & sai-ph-1 & ternary-construction & [ SS [ LOC [ CAT.HEAD.IC true, CONT proposition & [ SOA #1 ] ], SLASH [ LIST < [ ] > ] ], HD-DTR.SS.LOC.CONT #1 ]. inv-decl-cl-2 := decl-cl & sai-ph-3 & binary-construction & [ SS [ LOC [ CAT.HEAD.IC true, CONT proposition & [ SOA #1 ] ], SLASH [ LIST < [ ] > ] ], HD-DTR.SS.LOC.CONT #1 ]. ;;; CCB - the semantics for wh-excl-cl is of type fact, and the Basic ;;;Interrogatives chapter says that its "PROP" value is coindexed with ;;;its head daughter's CONT. I only have PROP on type question in my ;;;semantic ontology. Check this out. ; wh-exclamative-clause (wh-excl-cl) wh-excl-cl := hd-fill-ph & excl-cl & binary-construction & [ SS.LOC [ CAT #cat & [ HEAD.INV false ], CONT.PROP.SOA [ QUANTS [ LIST < #1 >, LAST #A ], NUCL #2 ] ], HD-DTR.SS.LOC.CONT.SOA [ QUANTS [ LIST #A ], NUCL #2 ], DTRS < [ SS.WH ], sign & [ SS.LOC.CAT #cat ] > ]. ;;; CCB - 5/22/00 should the subject-wh-int-cl really be getting the ;;;filler daughter's LOC value from the gap-ss SUBJ? Or should it be ;;;drawing from the SLASH list? Is this what's causing problems for the ;;;"Who DID see Sandy?" examples? ; subject-wh-interrogative-clause (su-wh-int-cl) su-wh-int-cl := wh-int-cl & binary-construction & [ SS.LOC.CAT.SUBJ < >, HD-DTR.SS.LOC.CAT.SUBJ < gap-ss & [ LOC #1 ] >, DTRS < [ SS.LOC #1 ], expression > ]. ;;; CCB - Needs to have the subject be labeled list of pro-synsems. Why?... ; nonsubject-wh-interrogative-clause (ns-wh-int-cl) ns-wh-int-cl := wh-int-cl & binary-construction & [ HD-DTR.SS.LOC.CAT [ HEAD [ INV #1, IC #1 ] ] ]. ;;;JTB 07/16/01 - Reprises have REPRISABLE false, but the daughter ;;;must be true. reprise-in-situ-interrogative-clause (rep-int-cl) rep-int-cl := is-int-cl & unary-construction & [ SS.LOC.CONT [ PROP.SOA.NUCL.MSG-ARG #1, PROP.SOA.NUCL.ILLOCUTIONER prev-speaker, REPRISABLE false ], HD-DTR.SS [LOC.CONT #1 & [REPRISABLE true], SLASH *e-list-of-locals* ]]. ;;;JTB 07/17/01 - Direct in-situ are out for reprising. ; direct-interrogative-clause (dir-int-cl) dir-is-int-cl := is-int-cl & unary-construction & [ SS.LOC.CONT [ PROP #1, REPRISABLE false], SS.SLASH , HD-DTR.SS.LOC.CONT #1 & [ REPRISABLE true ] ]. ;;;JTB 07/19/01 - Constrainted P-STORE to be empty since it really ought ;;;to be for bare plurals. Should solve some parsing problems. ;;;JTB 10/22/01 - Why?? do we want this guy to be P-STORE empty? What ;;;about "I admired pictures of WHO?" ; bare-plural-np (bare-pl-np) bare-pl-np := hd-only-ph & unary-construction & [ SS.LOC [ CAT.SPR < >, CONT [ INDEX #index, RESTR #restr ] ], HD-DTR.SS.LOC [ CAT [ HEAD noun & [ AGR 3pl ], SPR < [ LOC [ CAT.HEAD det, CONT #cont & genr-rel & [ INDEX #index, RESTR #restr ], Q-STORE , P-STORE ], SLASH , WH ] > ] ] ]. ; P-STORE ] ]. ; bare-adj bare-adj-ph := hd-only-ph & unary-construction & [ SS [ LOC [ CAT [ SPR < >, HEAD.DEG #deg ], CONT.NUCL.EXTENT #ext ] ], HD-DTR.SS.LOC [ CAT [ HEAD adj, SPR < [ LOC [ CAT.HEAD det & [ DEG #deg & false ], CONT #cont & some-rel & [ INDEX #ext, RESTR < > ], Q-STORE , P-STORE ], SLASH , WH ] > ], P-STORE ] ]. ;;; JTB 07/25/01 - This is conflicting with the constraint on copula ;;; that its comp's soa and its soa be the same. It conflicts ;;; because the QUANTS values for each may be different (one ;;; amalgamates the subject, the other doesn't). So what if, instead, ;;; we inherit the Q-STORE as normal and let it amalg naturally into ;;; the quant of the SOA? pred-ph:= hd-ph & unary-construction & [ SS [ LOC [ CAT [ HEAD #head & noun & [ PRED true ], SUBJ < synsem & [ LOC.CONT.INDEX #index1 ] >, COMPS < >, SPR < > ], CONT soa & [ QUANTS #quants, NUCL be-rel & [ ARG1 #index1, ARG2 #index2 ] ], Q-STORE , P-STORE #pstore ], SLASH #slash, WH #wh ], DTRS < [ SS [ LOC [ CAT [ HEAD #head, SUBJ < >, COMPS < >, SPR < > ], CONT scope-obj & [ INDEX #index2 ], Q-STORE #quants, P-STORE #pstore ], SLASH #slash, WH #wh ] ] > ]. unary-construction := phrase & [ ORTH #first, DTRS < [ ORTH #first ] > ]. binary-construction := phrase & [ ORTH [ LIST #first, LAST #last ], DTRS < [ ORTH [ LIST #first, LAST #second ] ], [ ORTH [ LIST #second, LAST #last ] ] > ]. ternary-construction := phrase & [ ORTH [ LIST #first, LAST #last ], DTRS < [ ORTH [ LIST #first, LAST #second ] ], [ ORTH [ LIST #second, LAST #third ] ], [ ORTH [ LIST #third, LAST #last ] ] > ]. quaternary-construction := phrase & [ ORTH [ LIST #first, LAST #last ], DTRS < [ ORTH [ LIST #first, LAST #second ] ], [ ORTH [ LIST #second, LAST #third ] ], [ ORTH [ LIST #third, LAST #forth ] ], [ ORTH [ LIST #forth, LAST #last ] ] > ].