;;; Hey, emacs(1), this is -*- Mode: TDL; Package: LKB; Encoding: utf-8 -*- got it? ;;; ;;; Underspecifiy noun noun compounds to the supertype of ;;; A B, A's B, B of A ;;; ;; the lifting of the beef import ban ; _the_q_rel-def_q_rel := quantifier_mtr & ; [ INPUT.RELS < [PRED _the_q_rel, ARG0 #x & [MARK test] ] >, ; OUTPUT.RELS < [ PRED def_q_rel, ARG0 #x & [MARK complete] ] >]. ; ;; ; def_explicit_q_rel-def_q_rel := quantifier_mtr & ; [INPUT.RELS <[PRED def_explicit_q_rel, ARG0 #x & [MARK test] ]>, ; OUTPUT.RELS <[ PRED def_q_rel, ARG0 #x & [MARK complete] ] >]. ; ;; The zoo of the elephant ==> The elephant's zoo ; _of_p_rel-of_p_rel := preposition_mtr & ; [INPUT.RELS <[PRED _of_p_rel, ARG0 #x & [TENSE untensed, MARK test] ]>, ; OUTPUT.RELS <[PRED of_p_rel, ARG0 #x & [MARK complete]]>]. ; ;; poss_rel := of_q_rel. ; ;; The tree's apples ==> The apples of the tree ; poss_rel-of_p_rel := preposition_mtr & ; [INPUT.RELS < [ PRED poss_rel, ARG0 #x & [MARK test] ] >, ; OUTPUT.RELS < [PRED of_p_rel, ARG0 #x & [MARK complete]]>]. ; ;; The inquiry group's leader ==> The inquiry group leader [Buggy] ; ;; NOTE: the rels are not supes so no loops ; ;; original ; ;;poss_rel-compound_rel := preposition_omtr & ; ;;[INPUT.RELS < [ PRED poss_rel, ARG0 #x & [MARK test]] >, ; ;; OUTPUT.RELS < [PRED compound_rel, ARG0 #x & [MARK complete]]>]. ; defq_rel_x2_poss_rel-udef_rel_compound_rel := monotonic_mtr & ; [CONTEXT.RELS < [ PRED def_q_rel, ARG0 #hn ] >, ; INPUT.RELS < [LBL #h2, PRED def_q_rel, ARG0 #cn, RSTR #h12 ], ; [LBL #h1, PRED poss_rel, ARG0 #x & [MARK test], ARG1 #hn, ARG2 #cn]>, ; OUTPUT.RELS <[LBL #h1, PRED compound_rel, ARG0 #x & [MARK complete], ARG1 #hn, ARG2 #cn], ; [LBL #h2, PRED udef_q_rel, ARG0 #cn, RSTR #h12 ]>]. ; ;; The inquiry group leader ==> The inquiry group's Leader ; ;; if head noun is definite or make head noun definite ; ; dq_rel_compound_rel_uq_rel-poss_rel_duaq_rel := monotonic_mtr & ; ; [ CONTEXT.RELS < [ PRED def_q_rel, ARG0 #hn ] >, ; ; INPUT.RELS < [LBL #h1, PRED compound_rel, ARG0 #x & [MARK test], ARG1 #hn, ARG2 #cn], ; ; [LBL #h2, PRED udef_q_rel, ARG0 #cn]>, ; ; OUTPUT.RELS < [LBL #h1, PRED compound_or_prep_rel, ARG0 #x & [MARK complete], ARG1 #hn, ARG2 #cn], ; ; [LBL #h2, PRED def_udef_a_q_rel, ARG0 #cn & [NUM NO_NUMBER]] >]. ;;; FIXME -- have to fiddle with both quantifiers ;; (mt::parse-interactively "The cat's dog barks.") ;; (mt::parse-interactively "The dog of the cat barks.") ;; (mt::parse-interactively "The cat dog barks.") ;; underspecify_compound_mtr := monotonic_mtr & [ INPUT.RELS < [LBL #h1, PRED compound_or_prep_rel, ARG0 #x & [MARK test], ARG1 #hn, ARG2 #cn], [LBL #h2, PRED def_udef_a_q_rel, ARG0 #cn, RSTR #hr, BODY #hb]>, OUTPUT.RELS < [LBL #h1, PRED compound_or_prep_rel, ARG0 #x & [MARK complete], ARG1 #hn, ARG2 #cn], [LBL #h2, PRED def_udef_a_q_rel, ARG0 #cn, RSTR #hr, BODY #hb ] >].