amrisi / amr-guidelines

250 stars 87 forks source link

More Connectives: Otherwise, unless, lest #116

Open timjogorman opened 10 years ago

timjogorman commented 10 years ago

I wanted to post examples for the next topic in the "discourse connectives" list of topics, in case we end up with spare time during the call. This is words like "otherwise", "unless", "lest, etc.

General discussion:

Most real-world examples of these often mean something like "if not X, Y":

We treat almost all of these using a combination of negation and conditionality already, but only for simple cases: for complicated issues, annotators tend to give up or get inventive, neither of which are good. I'd propose:

I'd propose to officially adopt the "anti-conditional" treatment, which many annotators have been doing anyways and which it pretty well supported in the lit:

"The game will be canceled unless the rain stops ."

(c / cancel-01
      :ARG1 (g / game)
      :condition (s / stop-01 :polarity -
            :ARG1 (r / rain-01)))

"Unless you stop, I will shoot" "You are stopping, otherwise I will shoot"

(s3 / shoot-01
      :ARG0 i
      :ARG2 (y2 / you)
      :condition (s4 / stop-01 :polarity -
            :ARG0 y))

Some alternatives are to treat them as "except" instances (which does make sense only for this tiny class of constructions like "otherwise intelligent people") or as complicated disjunctions ("you stop and I don't shoot or you don't stop and I shoot!"). Naturally we also have the alternative of making a frame for this, like otherwise-91.

A real AMR example:

Unless you meant something different, BP went back into profit only a few months after the Gulf of Mexico spill.

(g / go-19
      :ARG1 (c / company :name (n / name :op1 "BP"))
      :ARG2 (p / profit-01
            :ARG0 c)
      :time (a / after
            :op1 (s / spill
                  :mod (g2 / gulf :name (n2 / name :op1 "Gulf" :op2 "of" :op3 "Mexico")))
            :mod (o2 / only)
            :quant (f / few
                  :op1 (t / temporal-quantity :quant 1
                        :unit (m / month))))
      :condition (m2 / mean-01 :polarity -
            :ARG0 (y / you)
            :ARG1 (s2 / something
                  :ARG1-of (d / differ-02))))

(this is what we did already, I just propose keeping it and making the treatment official.)

Issue 1: Imperatives, modals, etc. (this is the vast majority of tricky cases)

Consider something like 'stop, otherwise I'll shoot!'. This is complicated because you want an imperative over the positive condition (your stopping), and then you want a conditional over the negation of that (if you don't stop, then..). These get ambiguous

'stop, otherwise I'll shoot!' (also for 'stop, lest I shoot', 'stop or I'll shoot')

I'd suggest that this is too ambiguous:
(s3 / shoot-01
      :ARG0 (i / i)
      :ARG2 (y2 / you)
      :condition (s4 / stop-01 :polarity - :mode imperative
            :ARG0 (y / you)))

This gets even harder to interpret with phrases like "you should stop, otherwise I'll shoot",

problematic:
(o / obligate-01
      :ARG2 (s4 / stop-01 :polarity -
            :ARG0 (y / you)
            :condition-of (s3 / shoot-01
                  :ARG0 (i / i)
                  :ARG2 (y2 / you))))

I think that this kind of thing should be made unambiguous using "and":

'stop, otherwise I'll shoot!' proposed

(a / and
      :op1 (s / stop-01 :mode imperative
            :ARG0 (y / you))
      :op2 (s2 / shoot-01
            :ARG0 (i / i)
            :ARG2 y
            :condition (h / have-polarity-91
                  :ARG1 s
                  :ARG2 -)))
(~"you should stop and I shoot if you don't stop")

Real examples of this kind of 'embedded' issue:

Health and safety and environmental horrors need to be regulated otherwise industries will not EVER do whats right for humanity. currently:

(h / have-condition-91
      :ARG1 (d / do-02
            :ARG0 (i / industry)
            :ARG1 (t / thing
                  :ARG1-of (r / right-42
                        :ARG2 (h2 / humanity)))
            :time (e / ever))
      :ARG2 (n / need-01
            :ARG0 (a / and
                  :op1 (h3 / horror
                        :mod (h4 / health))
                  :op2 (h5 / horror
                        :mod (s / safe-41))
                  :op3 (h6 / horror
                        :mod (e2 / environment)))
            :ARG1 (r2 / regulate-01
                  :ARG1 a)))

proposed:

(a2 / and
      :op1 (n / need-01
            :ARG0 (a / and
                  :op1 (h3 / horror
                        :mod (h4 / health))
                  :op2 (h5 / horror
                        :mod (s / safe-41))
                  :op3 (h6 / horror
                        :mod (e2 / environment)))
            :ARG1 (r2 / regulate-01
                  :ARG1 a))
      :op2 (h7 / have-condition-91
            :ARG1 (d / do-02 :polarity -
                  :ARG0 (i / industry)
                  :ARG1 (t / thing
                        :ARG1-of (r / right-42
                              :ARG2 (h2 / humanity)))
                  :time (e / ever))
            :ARG2 (h8 / have-polarity-91
                  :ARG1 r2
                  :ARG2 -)))

I only do it after a shave because otherwise the facial hair stops it from melting into the skin properly. currently

(d / do-02
      :ARG0 (i / i)
      :ARG1 (i2 / it)
      :mod (o / only)
      :time (a / after
            :op1 (s / shave-01))
      :ARG1-of (c / cause-01
            :ARG0 (s2 / stop-03
                  :ARG0 (h / hair
                        :location (f / face))
                  :ARG1 i2
                  :ARG2 (m / melt-01
                        :ARG1 i2
                        :destination (s3 / skin)
                        :manner (p / proper)))
            :mod (o2 / otherwise)))

proposed


(d / do-02
      :ARG0 (i / i)
      :ARG1 (i2 / it)
      :mod (o / only)
      :time (a / after
            :op1 (s / shave-01))
      :ARG1-of (c / cause-01
            :ARG0 (h2 / have-condition-91
                  :ARG2 (h3 / have-polarity-91
                        :ARG1 d
                        :ARG2 -)
                  :ARG1 (s2 / stop-03
                        :ARG0 (h / hair
                              :location (f / face))
                        :ARG1 i2
                        :ARG2 (m / melt-01
                              :ARG1 i2
                              :destination (s3 / skin)
                              :manner (p / proper))))))

Issue 2: This gets even more complicated if the negated item is already negated:

Of course, don't go over the top with it lest you go in completely the opposite direction.

Currently:

(g / go-01 :polarity -
      :ARG1 (y / you)
      :ARG2 (t / top
            :mod (o / over))
      :prep-with (i / it)
      :mod (o3 / of-course)
      :purpose (g2 / go-01 :polarity -
            :ARG1 y
            :direction (d / direction
                  :ARG1-of (o2 / opposite-41
                        :degree (c / complete)))))

You can explicitly encode double negatives but that seems painful:

(g3 / go-01
      :ARG1 y2
      :direction (d / direction
            :ARG1-of (o2 / opposite-41
                  :degree (c / complete)))
      :condition (h3 / have-polarity-91
            :ARG1 (g4 / go-01 :polarity - :mode imperative
                  :ARG1 (y2 / you)
                  :ARG2 (t / top
                        :mod (o / over))
                  :prep-with (i / it)
                  :mod (o3 / of-course))
            :ARG2 -))

I'd suggest, again, just adding "and" and treating these as "dont go over the top and if you do, you'll go in the wrong direction"

(a2 / and
      :op1 (h4 / have-polarity-91 :mode imperative
            :ARG1 (g4 / go-01
                  :ARG1 (y2 / you)
                  :ARG2 (t / top
                        :mod (o / over))
                  :prep-with (i / it)
                  :mod (o3 / of-course))
            :ARG2 -)
      :op2 (g3 / go-01
            :ARG1 y2
            :direction (d / direction
                  :ARG1-of (o2 / opposite-41
                        :degree (c / complete)))
            :condition g4))

(I'm not sure if ":mode imperative" over have-polarity-91 is at all legit, however)

Issue 3: "Justification" sentences

In the past tense, "P otherwise Q" goes from meaning "If not P, Q" to meaning something along the lines of "P, since !Q and !P -> Q", as in

"The rain stopped (otherwise we would have cancelled the game)."

(a / and
      :op1 (s4 / stop-01
            :ARG1 (r2 / rain))
      :op2 (h3 / have-condition-91
            :ARG1 (c4 / cancel-01
                  :ARG0 (w / we)
                  :ARG1 (g / game))
            :ARG2 (h4 / have-polarity-91
                  :ARG1 s4
                  :ARG2 -)))

I'd propose that we just annotate these using conditionality and negation like all the rest. I'd welcome other proposals on that issue, however, as they do imply a some sort of inference or justification, and some have proposed that they be treated separately.

Real Example

Having a new leader every 4 years doesn't make a country unstable (otherwise Irans single leader would be highly stable). (note: I think the current AMR means "having a new leader every 4 years does make a country unstable, but Iran's singular leader is very stable", which is the exact opposite of what we want.)

(c3 / contrast-01
      :ARG1 (m / make-02
            :ARG0 (h / have-03
                  :ARG1 (p / person
                        :ARG0-of (l / lead-02)
                        :mod (n / new))
                  :frequency (r / rate-entity-91
                        :ARG3 (t / temporal-quantity :quant 4
                              :unit (y / year))))
            :ARG1 (s2 / stable :polarity -
                  :domain (c / country)))
      :ARG2 (s / stable
            :mod (o / otherwise)
            :degree (h2 / high)
            :domain (p2 / person
                  :ARG0-of (l2 / lead-02
                        :ARG1 (c2 / country :name (n2 / name :op1 "Iran")))
                  :mod (s3 / single))))

Proposed: Having a new leader every 4 years doesn't make a country unstable (otherwise Irans single leader would be highly stable).

(a / and
      :op1 (h3 / have-polarity-91
            :ARG1 (m / make-02
                  :ARG0 (h / have-03
                        :ARG1 (p / person
                              :ARG0-of (l / lead-02)
                              :mod (n / new))
                        :frequency (r / rate-entity-91
                              :ARG3 (t / temporal-quantity :quant 4
                                    :unit (y / year))))
                  :ARG1 (s2 / stable :polarity -
                        :domain (c / country)))
            :ARG2 -)
      :op2 (h4 / have-condition-91
            :ARG1 (s / stable
                  :degree (h2 / high)
                  :domain (p2 / person
                        :ARG0-of (l2 / lead-02
                              :ARG1 (c2 / country :name (n2 / name :op1 "Iran")))
                        :mod (s3 / single)))
            :ARG2 m))

Issue 4: As a connective

When this occurs as a sentence-initial connective, I'd propose to just treat the clause as :arg1 of have-condition-91, as some annotators already do:

Otherwise, I just don't think you'd really be able to see it the way I do.

(h / have-condition-91
      :ARG1 (t / think-01 :polarity -
            :ARG0 (i / i)
            :ARG1 (p / possible
                  :domain (s / see-01
                        :ARG0 (y / you)
                        :ARG1 (i2 / it)
                        :ARG1-of (r2 / resemble-01
                              :ARG2 (w / way
                                    :manner-of (s2 / see-01
                                          :ARG0 i))))
                  :mod (r / really))
            :mod (j / just)))
Issue 5, Exceptions: "otherwise" as a manner or exception adverb

There's a thin long tail of cases where 'otherwise' doesn't do anything conditional, but is either similar to "differently", or has an exception function ("otherwise delicious" means "delicious except for X").

I'd propose treating these as ":manner differ-02" or using "except-00" for these, as in:

Some people said that it borrowed the easterly wind of the Olympics. However, I think otherwise.

current:

(m / multi-sentence
      :snt1 (s / say-01
            :ARG0 (p / person
                  :quant (s2 / some))
            :ARG1 (b / borrow-01
                  :ARG0 (i / it)
                  :ARG1 (w / wind
                        :source (e / east)
                        :poss (g / game :wiki "Olympic_Games"
                              :name (n / name :op1 "Olympics")))))
      :snt2 (c / contrast-01
            :ARG2 (t / think-01
                  :ARG0 i
                  :ARG1 (o / otherwise))))

proposed:

(m / multi-sentence
      :snt1 (s / say-01
            :ARG0 (p / person
                  :quant (s2 / some))
            :ARG1 (b / borrow-01
                  :ARG0 (i / it)
                  :ARG1 (w / wind
                        :source (e / east)
                        :poss (g / game :wiki "Olympic_Games" :name (n / name :op1 "Olympics")))))
      :snt2 (c / contrast-01
            :ARG2 (t / think-01
                  :ARG0 i
                  :manner (d / differ-02))))

I see otherwise intelligent people convincing themselves of the scientific equivelant of the sun rising in the West simply because they wish to avoid any more changes in the lives, and the way that they live. current:

(s / see-01
      :ARG0 (i / i)
      :ARG1 (c / convince-01
            :ARG0 (p / person
                  :ARG1-of (i2 / intelligent-41
                        :concession (o / otherwise)))
            :ARG1 p
            :ARG2 (e / equal-01
                  :ARG2 (r / rise-01
                        :ARG1 (s3 / sun)
                        :location (w4 / west))
                  :mod (s2 / science))
            :ARG1-of (c2 / cause-01
                  :ARG0 (w / wish-01
                        :ARG0 p
                        :ARG1 (a / avoid-01
                              :ARG0 p
                              :ARG1 (c3 / change-01
                                    :ARG1 (a3 / and
                                          :op1 (l / life)
                                          :op2 (w2 / way
                                                :manner-of (l2 / live-01
                                                      :ARG0 p)))
                                    :quant (a2 / any
                                          :op1 (m2 / more)))))
                  :mod (s4 / simple))))

Proposed:

(s / see-01
      :ARG0 (i / i)
      :ARG1 (c / convince-01
            :ARG0 (p / person
                  :ARG1-of (i2 / intelligent-41
                        :ARG2-of (e2 / except-00
                              :ARG1 c)))
            :ARG1 p
            :ARG2 (e / equal-01
                  :ARG2 (r / rise-01
                        :ARG1 (s3 / sun)
                        :location (w4 / west))
                  :mod (s2 / science))
            :ARG1-of (c2 / cause-01
                  :ARG0 (w / wish-01
                        :ARG0 p
                        :ARG1 (a / avoid-01
                              :ARG0 p
                              :ARG1 (c3 / change-01
                                    :ARG1 (a3 / and
                                          :op1 (l / life)
                                          :op2 (w2 / way
                                                :manner-of (l2 / live-01
                                                      :ARG0 p)))
                                    :quant (a2 / any
                                          :op1 (m2 / more)))))
                  :mod (s4 / simple))))
nschneid commented 10 years ago

The basic idea looks good, but I have a beef with the analysis for

"Unless you meant something different, BP went back into profit only a few months after the Gulf of Mexico spill."

As I read it, the "Unless" clause is not placing a condition on the truth of the main clause; rather, it is metalinguistically qualifying the relevance of the main clause to the discourse. The circumstances might have been like "If I understand your question, (answer to perceived question)."

I don't know how to encode this pragmatics, but it seems like it would require attaching the condition to some sort of "discourse-response" speech act frame (we could just use respond-01?). The implication would be that if the condition fails, the main clause would no longer be a valid response. That way the discourse condition has no bearing on the truth value of the assertion in the main clause.

uhermjakob commented 10 years ago

Good and helpful analysis. Thanks!

If or-else threats are common enough, would it make sense to create a special frame to ease the cognitive load with all these negations?

(t / threaten-91
      :ARG0 agent
      :ARG1 demand, typically with :mode imperative or obligate-01
      :ARG2 action threatened if demand is not met)

Stop or I'll shoot!
(s / stop-01 :mode imperative
  :ARG0 (y / you)
  :ARG1-of (t / threaten-91
             :ARG2 (s2 / shoot-02
                     :ARG0 (i / i)
                     :ARG1 y)))

Possible shortcut: :or-else-threat

Issue 3: "Justification" sentences

Could these be slightly simplified as follows?

The rain stopped (otherwise we would have cancelled the game).
(a / and
  :op1 (s / stop-01
         :ARG1 (r / rain-01))
  :op2 (c / cancel-01
         :ARG0 (w / we)
         :ARG1 (g / game)
         :condition (h / have-polarity-91
                      :ARG1 s
                      :ARG2 -)))

Issue 4: As a connective

Would it make senses to preserve the negative polarity of otherwise as follows?

Otherwise we would have cancelled the game.
(c / cancel-01
  :ARG0 (w / we)
  :ARG1 (g / game)
  :condition (h / have-polarity-91
               :ARG2 -))