amrisi / amr-guidelines

246 stars 87 forks source link

Negative indefinite pronouns #18

Closed mgeorgescu closed 11 years ago

mgeorgescu commented 11 years ago

Stick to the negative pronoun or map it to the positive one with negative polarity? We tended to opt for the 2nd alternative.

nobody/ no one --> positive indefinite pronoun "anyone" OR "somebody" :polarity - ? nothing --> positive indefinite pronoun "anything" :polarity - ? none --> "one" OR "any" :polarity -

Could we try to clarify this in the guidelines as there has been some disagreement on this topic?

nschneid commented 11 years ago

I've wondered about this too. Another thing to consider is using :quant to separate out the quantifier, e.g. 'nobody/no one' as (o / one :quant (a / any) :polarity -).

uhermjakob commented 11 years ago

Under consensus, we have a few cases of nothing, none and nowhere as a concept. On the other hand we agreed to split never into ever :polarity -.

So I sympathize with annotators who transform

This is less superficial, but appears to be in the minority in current annotations.

Nathan's idea takes this a step further. Cool. But if we do this (possible in a future version of AMR), we have to be careful with types

And we will have to pay close attention to the tricky interaction between quant/any/polarity. I don't think that any is a :quant by itself (unless it's negated). So, (o / one :quant (a / any) :polarity -) is not as compositional as intended.

kevincrawfordknight commented 11 years ago

Presently, we are leaving quantifiers right on the noun phrases, and we are sticking with the surface pronouns. Hold your nose! (And your noise)

no one (nobody) is sleeping

(s / sleep-01 :arg0 (n / no-one))

i don't like anybody

(l / like-01 :arg0 (i / i) :arg1 (a / anybody) :polarity -)

there is nobody that i like

(n / nobody :arg1-of (l / like-01 :arg0 (i / i)))

everyone is sleeping

(s / sleep-01 :arg0 (e / everyone))

all people are sleeping

(s / sleep-01 :arg0 (p / person :quant all))

i don't like most people

(l / like-01 :arg0 (i / i) :polarity - :arg1 (p / person :quant (m / most)))

IDEALLY: "nobody is sleeping" = "there does not exist p such that sleep(p)" "everyone is sleeping" = "for all p, sleep(p)" "not everyone is sleeping" = ? "he never sleeps" = "there is no time t such that (s / sleep :arg0 he :time t)" "i don't like anybody" = "there does not exist p such that like(i, p)" "most people ..." "a few people ..."

"x / y" means "there exists an x, which is an instance of y" our support for first-order logic is weak.
quantifiers have scope, which logic captures with parenthesis. nobody should be equal to no one & sometimes equal to anybody...