"Hi, table for 2, please" missing parse with `discourse(greet, _)` and `_please_a`?

I expected the MRS for phrases of the shape “Hi, [fragment or phrase], please” to at least have one parse that represents the phrase as meaning: “Friendly greeting”, followed by phrase, with politeness indicated on the verb. I.e. it would have in its MRS:

  • discourse(i,h,h)
  • greet(c,i)
  • please_a_1(e,e)

I do find such a parse for all variations of

  • “hi/hello/howdy, [fragment]” such as “Hi, table for 2” (obviously missing the please_a_1)
  • “hi/hello/howdy, [phrase]” such as “Hi, I want a table for 2” (obviously missing the please_a_1)
  • “hi/hello/howdy, [phrase], please” such as “Hi, I want a table for 2, please”

But for this example, there are no parses that contain both _please_a and discourse(greet, _). Only one or the other:

  • “hi/hello/howdy, [fragment], please” such as “Hi, table for 2, please”

Bug or by design?

I’ve moved up to using the 2023 ERG grammar, and I’m still not seeing consistent handling for phrases of the form “[Greeting], phrase, [politeness]”. @Dan, is this a bug or feature request I should enter? Or is it something that can’t be fixed for some reason?

In the new grammar, my workarounds have shifted. I used to get MRSs that would handle “Hello” as a noun and treat “Howdy” and “Hi” as proper names, with the rest of the MRS being consistent.

Like this:

[ "Howdy, table for 2"
  TOP: h0
  INDEX: e2 [ e SF: prop-or-ques ]
  RELS: < [ unknown<0:18> LBL: h1 ARG: x4 [ x PERS: 3 NUM: sg IND: + ] ARG0: e2 ]
          [ appos<0:18> LBL: h1 ARG0: e5 [ e SF: prop TENSE: untensed MOOD: indicative PROG: - PERF: - ] ARG1: x4 ARG2: x6 [ x PERS: 3 NUM: sg IND: + ] ]
          [ udef_q<7:18> LBL: h7 ARG0: x6 RSTR: h8 BODY: h9 ]
          [ proper_q<0:6> LBL: h10 ARG0: x4 RSTR: h11 BODY: h12 ]
          [ named<0:5> LBL: h13 ARG0: x4 CARG: "Howdy" ]
          [ _table_n_1<7:12> LBL: h15 ARG0: x6 ]
          [ _for_p<13:16> LBL: h15 ARG0: e16 [ e SF: prop TENSE: untensed MOOD: indicative PROG: - PERF: - ] ARG1: x6 ARG2: x17 [ x PERS: 3 NUM: sg ] ]
          [ number_q<17:18> LBL: h18 ARG0: x17 RSTR: h19 BODY: h20 ]
          [ card<17:18> LBL: h21 ARG0: x17 ARG1: i23 CARG: "2" ] >
  HCONS: < h0 qeq h1 h8 qeq h15 h11 qeq h13 h19 qeq h21 > ]

But now phrases like “Howdy/Hi, …” have moved from being interpreted in apposition, to being interpreted as a compound:

[ "Howdy, table for 2"
  TOP: h0
  INDEX: e2 [ e SF: prop ]
  RELS: < [ unknown<0:18> LBL: h1 ARG: x4 [ x PERS: 3 NUM: sg IND: + ] ARG0: e2 ]
          [ udef_q<0:18> LBL: h5 ARG0: x4 RSTR: h6 BODY: h7 ]
          [ compound<0:12> LBL: h8 ARG0: e9 [ e SF: prop TENSE: untensed MOOD: indicative PROG: - PERF: - ] ARG1: x4 ARG2: x10 [ x PERS: 3 NUM: sg IND: + ] ]
          [ proper_q<0:6> LBL: h11 ARG0: x10 RSTR: h12 BODY: h13 ]
          [ named<0:5> LBL: h14 ARG0: x10 CARG: "Howdy" ]
          [ _table_n_1<7:12> LBL: h8 ARG0: x4 ]
          [ _for_p<13:16> LBL: h8 ARG0: e16 [ e SF: prop TENSE: untensed MOOD: indicative PROG: - PERF: - ] ARG1: x4 ARG2: x17 [ x PERS: 3 NUM: sg ] ]
          [ number_q<17:18> LBL: h18 ARG0: x17 RSTR: h19 BODY: h20 ]
          [ card<17:18> LBL: h21 ARG0: x17 ARG1: i23 CARG: "2" ] >
  HCONS: < h0 qeq h1 h6 qeq h8 h12 qeq h14 h19 qeq h21 > ]

Which is fine and workaroundable, but it is still a workaround. What I’m really hoping for was described in the initial post above…

I see that the 2023 grammar left those politeness phrases in an unsatisfactory state, sorry. The “trunk” version of the ERG now provides a more useful analysis of such expressions, if you’re willing to try it:
svn co - Revision 29447: /erg/trunk
I am aiming to produce a stable 2024 release of the ERG by June which will include those improvements, if you would rather wait for that.

1 Like

Perfect, thanks Dan!

OK, I finally tried out the latest trunk by using the following commands:

svn checkout http://svn.delph-in.net/erg/trunk
cd trunk/ace
ace -G grammar.dat -g ./config.tdl

And it does indeed fix my problem. all of these parses now have a parse alternative with: discourse(i,h,h), greet(c,i), please_a_1(e,e) in the MRS:

  • “hi/hello/howdy, [fragment]” such as “Hi, table for 2” (obviously missing the please_a_1)
  • “hi/hello/howdy, [phrase]” such as “Hi, I want a table for 2” (obviously missing the please_a_1)
  • “hi/hello/howdy, [phrase], please” such as “Hi, I want a table for 2, please”
  • “hi/hello/howdy, [fragment], please” such as “Hi, table for 2, please”

thanks Dan!

1 Like

Turns out if I compile this grammar on Ubuntu, it compiles but when I try to access it with ACE on Ubuntu I get:

ace -g erg-2024-daily-ubuntu-perplexity.dat
preprocessor: while compiling `{{IAST|([^}]+(?:}[^}]+)*)}}': Unmatched quantified repeat operator { or {.

any ideas?

Nevermind, I somehow didn’t use the grammar I compiled on ubuntu. Once I used the grammar compiled on the right platform it worked…