Hi all, but especially @sweaglesw!
I’m gearing up for the Ling 567 MMT extravaganza next week and have turned up a mystery (which feels kind of familiar, but I couldn’t quickly find any prior records of discussing it, either). When I have sentences with multiple clause embedding argument roles, something about the transfer step breaks a connection such that any clause is allowed in any of those spots:
ubuntu@lkb:~/mmt$ echo “Dogs sleep because cats eat” | ace -TF1 -g grammars/eng/eng.dat | ace -e -g grammars/eng/eng.dat
NOTE: 1 readings, added 223 / 119 edges to chart (40 fully instantiated, 35 actives used, 28 passives used) RAM: 994k
NOTE: parsed 1 / 1 sentences, avg 994k, time 0.01597s
Because cats eat dogs sleep
Dogs sleep because cats eat
NOTE: 109 passive, 576 active edges in final generation chart; built 131 passives total. [2 results]NOTE: generated 1 / 1 sentences, avg 6013k, time 0.03843s
NOTE: transfer did 4 successful unifies and 6 failed ones
ubuntu@lkb:~/mmt$ echo “Dogs sleep because cats eat” | ace -g grammars/eng/eng.dat | ace -g tm/eng/eng.dat 2>/dev/null | ace -g grammars/eng/eng.dat -e --disable-subsumption-test 2>/dev/null | more
NOTE: 1 readings, added 223 / 119 edges to chart (40 fully instantiated, 35 actives used, 28 passives used) RAM: 994k
NOTE: parsed 1 / 1 sentences, avg 994k, time 0.01779s
Because dogs sleep cats eat
Because cats eat dogs sleep
Cats eat because dogs sleep
Dogs sleep because cats eat
Starting at the MRSes output from parsing (which when used directly as generator input doesn’t have this problem) v. transfer, I can’t see what might be causing this. Any ideas?
SENT: The dog sleeps because the cat eats
Parser output:
[ LTOP: h0 INDEX: e2 [ e SF: prop-or-ques TENSE: present ASPECT: aspect MOOD: mood ] RELS: < [ “exist_q_rel”<-1:-1> LBL: h4 ARG0: x5 [ x SPECI: bool COG-ST: uniq+fam+act PER: third NUM: sg ] RSTR: h6 BODY: h7 ] [ “_dog_n_rel”<-1:-1> LBL: h8 ARG0: x5 ] [ “_sleep_v_rel”<-1:-1> LBL: h9 ARG0: e2 ARG1: x5 ] [ “_because_subord_rel”<-1:-1> LBL: h1 ARG0: i10 ARG1: h11 ARG2: h12 ] [ “exist_q_rel”<-1:-1> LBL: h13 ARG0: x14 [ x SPECI: bool COG-ST: uniq+fam+act PER: third NUM: sg ] RSTR: h15 BODY: h16 ] [ “_cat_n_rel”<-1:-1> LBL: h17 ARG0: x14 ] [ “_eat_v_rel”<-1:-1> LBL: h18 ARG0: e19 [ e SF: prop-or-ques TENSE: present ASPECT: aspect MOOD: mood ] ARG1: x14 ARG2: x20 [ x SPECI: bool COG-ST: type-id ] ] > HCONS: < h0 qeq h1 h6 qeq h8 h11 qeq h9 h12 qeq h18 h15 qeq h17 > ICONS: < > ]
Transfer output:
[ LTOP: h0 INDEX: e1 [ e TENSE: present ASPECT: aspect SF: prop-or-ques ] RELS: < [ “exist_q_rel”<-1:-1> LBL: h2 ARG0: x3 [ x PER: third NUM: sg COG-ST: uniq+fam+act ] RSTR: h4 BODY: h5 ] [ “_dog_n_rel”<-1:-1> LBL: h6 ARG0: x3 ] [ “_sleep_v_rel”<-1:-1> LBL: h7 ARG0: e1 ARG1: x3 ] [ “_because_subord_rel”<-1:-1> LBL: h8 ARG0: i9 ARG1: h10 ARG2: h11 ] [ “exist_q_rel”<-1:-1> LBL: h12 ARG0: x13 [ x PER: third NUM: sg COG-ST: uniq+fam+act ] RSTR: h14 BODY: h15 ] [ “_cat_n_rel”<-1:-1> LBL: h16 ARG0: x13 ] [ “_eat_v_rel”<-1:-1> LBL: h17 ARG0: e18 [ e TENSE: present ASPECT: aspect SF: prop-or-ques ] ARG1: x13 ARG2: x19 [ x COG-ST: type-id ] ] > HCONS: < h0 qeq h8 h4 qeq h6 h10 qeq h7 h11 qeq h17 h14 qeq h16 > ICONS: < > ]
Because the dog sleeps the cat eats
Because the cat eats the dog sleeps
The cat eats because the dog sleeps
The dog sleeps because the cat eats
Something analogous happens with the input sentence I think that you know that dogs sleep, where “I think” and “you know” can swap positions.