amrisi / amr-guidelines

240 stars 86 forks source link

Yes-No questions #193

Open kevincrawfordknight opened 7 years ago

kevincrawfordknight commented 7 years ago

Since ":mode interrogative" is pretty syntacticky, how about this for yes-no questions:

Did the boy sing?
(s / sing-01
  :arg0 (b / boy)
  :polarity amr-unknown))

Comments?

I mentioned this to Tim, and he suggested extending it to "whether/if" clauses, in order to eliminate another class of ":mode interrogative".

Can't remember what Tim meant exactly, just guessing here:

I don't know whether the boy sang.
(k / know-01
  :arg0 (i / i)
  :polarity -
  :arg1 (t / thing
              :polarity-of (s / sing-01
                                   :arg0 (b / boy))))

Comments?

nschneid commented 7 years ago

What about yes-no questions with negation: "Did he not sing?" Do we want to claim that's equivalent in meaning to "Did he sing?" (I think the former indicates a presumption that he did sing.)

I am in favor of reviewing interrogatives generally, though, and reducing :mode interrogative where possible. See also #185 which introduces amr-choice for multiple-choice questions.

uhermjakob commented 7 years ago

I would normally understand a question like "Did he not sing?" to mean something like "He sang, didn't he?" which we would annotate as

(s / sing-01
  :ARG0 (h / he)
  :ARG1-of (r / request-confirmation-91))

AMR Dict: http://www.isi.edu/~ulf/amr/lib/amr-dict.html#tag%20question

nschneid commented 7 years ago

Oh good, then as long as that's documented as similar to a tag question, I can only think of a syntactic objection to :polarity amr-unknown for neutral yes-no questions: that amr-unknown is usually a concept rather than a constant. (And AFAIK there are no constants that contain both alphabetic characters and hyphens, so this might break compatibility for AMR readers.) Maybe call it :polarity 0?

kevincrawfordknight commented 7 years ago
nschneid commented 7 years ago

Maybe:

I don't know whether the boy sang.
(k / know-01
  :arg0 (i / i)
  :polarity -
  :arg1 (s / sing-01
            :polarity (a / amr-unknown)
            :arg0 (b / boy)))
kiragrif commented 7 years ago

What about the following (in analogy with ":wiki ?"):

I don't know whether the boy sang.
(k / know-01
  :arg0 (i / i)
  :polarity -
  :arg1 (s / sing-01
            :polarity ?
            :arg0 (b / boy)))
nschneid commented 7 years ago

đź‘Ť

nschneid commented 7 years ago

Did the boy sing?

(s / sing-01
  :polarity ?
  :arg0 (b / boy))

No :mode interrogative.

kevincrawfordknight commented 7 years ago

Let's get rid of ":mode interrogative". Here's how:

Did the boy sing?

(s / sing-01
  :arg0 (b / boy)
  :polarity (a / amr-unknown)))
I don't know whether the boy sang.
I don't know if the boy sang.
What I don't know is if the boy sang or not.

(k / know-01
  :arg0 (i / i)
  :polarity -
  :arg1 (t / truth-value
              :polarity-of (s / sing-01
                                   :arg0 (b / boy))))
We have no information on whether users are at risk.

(i / inform-01
  :arg1 (w / we)
  :arg2 (r / risk-01
          :arg2 (u / user))
  :polarity -)
We must decide whether resistance is futile.

(d / decide-01
  :arg0 (w / we)
  :arg1 (t / truth-value
          :polarity-of (f / futile
                         :domain (r / resist-01
                                   :arg0 w))))
We are debating whether to purchase a machine.
We are debating the purchase of a machine.

(d / debate-01
  :arg0 (w / we)
  :arg1 (p / purchase-01
          :arg0 w
          :arg1 (m / machine)))
Did the boy not sing?
The boy sang, didn't he?

(s / sing-01
  :ARG0 (h / he)
  :ARG1-of (r / request-confirmation-91))
nschneid commented 7 years ago

I'm not sure that the :polarity on sing needs to be different for

Did the boy sing?

versus

I don't know whether the boy sang. I don't know if the boy sang. What I don't know is if the boy sang or not.

Consider: "Did the boy sing? I don't know." (Seems equivalent to the above, it we were to give it one AMR.)

I take it that @kiragrif's proposal was to use :polarity ? in all these cases. I like the conciseness of that—is there a reason we would need an additional concept to refer back to?

kevincrawfordknight commented 7 years ago

no need to have both "?" and "amr-unknown", and have AMR-consuming programs deal with them separately. "amr-unknown" consistently means "here is a slot whose value the speaker would like to know", regardless of whether the speaker realizes this request syntactically by a yes-no question, a wh-question, or some other mechanism.

kevincrawfordknight commented 7 years ago

definitely might be interesting to also represent "i don't know if X" with "amr-unknown". in this case, the contrast is that the speaker doesn't necessarily want to know the truth-value of X ... they might just be stating that they don't know it.

nschneid commented 7 years ago

the contrast is that the speaker doesn't necessarily want to know the truth-value of X ... they might just be stating that they don't know it.

That seems like a difference between speech acts that are declarative vs. interrogative, which is not entirely the same as the status of truth value itself (it seems to me). Maybe we're better off keeping :mode interrogative to capture the utterance-level speech act, and marking unknown :polarity in addition.

But I'm not an expert on the semantics/pragmatics of questions. I'm sure the formal semantics literature has a lot to say here.

kevincrawfordknight commented 7 years ago

i think we're trying to get those in context. so "can you pass the salt?" should be an imperative (perhaps with polite +), not a request to fill a slot value. we may have to judge "i don't know if X" in context. it might be a simple statement of fact about the speaker's lack of knowledge, or it might be a request for information -- we can represent either in AMR. if it's something else (e.g., "i don't know if you should do that" ~ "you shouldn't do that"), our goal should be to cover such stuff (use "recommend-01"), but to go with literal meaning short of that.

let's remove all ":mode interrogative" through mechanisms we already have. the corpus sentences above with "information", "futile", and "purchase" can be handled with different existing AMR mechanisms (not necessarily "amr-unknown").

timjogorman commented 7 years ago

I wanted to chime in in support of Kevin's proposal; I think that this :polarity amr-unknown trick really improves our treatment of questions. Currently, if someone were to ask me "how do I tell whether this AMR is a question?", the answer might be embarrassingly complicated, and wouldn't be 100% accurate, since we get AMRs like:

So I ask do you think drugs can be good for some people?
(c / cause-01 
      :ARG1 (a / ask-01 
            :ARG0 (i / i) 
            :ARG1 (t / think-01 :mode interrogative 
                  :ARG0 (y / you) 
                  :ARG1 (p / possible-01 
                        :ARG1 (g / good-04 
                              :ARG1 (d / drug) 
                              :ARG2 (p2 / person 
                                    :mod (s / some))))))) 
(this is presumably the same AMR as the declarative "therefore, I asked whether you thought that it was possible for drugs to be good for some people.")

As for the "whether" complements; the proposed new model gives us clean treatments for things that are pretty ugly for :mode interrogative, like "I don't know whether the boy sang, but John claims that he did":

(a3 / and
      :op1 (k / know-01 :polarity -
            :ARG0 i
            :ARG1 (t2 / truth-value
                  :polarity-of (s2 / sing-01)))
      :op2 (c / claim-01
            :ARG0 (p4 / person :name (n2 / name :op1 "John"))
            :ARG1 s2))