amrisi / amr-guidelines

246 stars 87 forks source link

Deleting one ancestor of a reentrant variable causes loss of dependent information #6

Open nschneid opened 11 years ago

nschneid commented 11 years ago
(s / say-01
      :ARG0 (p / prince
            :mod (l / little)
            :ARG0-of (t / turn-01
                  :ARG1 p
                  :purpose (g2 / give-01
                        :ARG0 p
                        :ARG2 (s2 / side
                              :part-of (p2 / planet)
                              :mod (o / other)))
                  :purpose (g / glance-01
                        :ARG0 p
                        :ARG1 s2
                        :quant (x / 1
                              :mod (m / more)))))
      :ARG1 (c / contrast-01
            :ARG2 (l2 / look-01
                  :ARG0 p
                  :time (a2 / already))))

== del g2 ==>

(s / say-01
      :ARG0 (p / prince
            :mod (l / little)
            :ARG0-of (t / turn-01
                  :ARG1 p
                  :purpose (g / glance-01
                        :ARG0 p
                        :ARG1 (s2 / side)
                        :quant (x / 1
                              :mod (m / more)))))
      :ARG1 (c / contrast-01
            :ARG2 (l2 / look-01
                  :ARG0 p
                  :time (a2 / already))))

The concept side is correctly moved to the s2 under g, but its modifiers (:part-of p2 and :mod o) disappear.

uhermjakob commented 11 years ago

OK, I see. Probably not the most desirable effect in this case.

Short-term advice: "manually" rescue sub-structure before deleting super-structure.

nschneid commented 11 years ago

Similarly:

(s / say-01
      :ARG0 (h / he)
      :ARG1 (p / possible
            :domain (g / give-01
                  :ARG0 (p2 / person :name (n / name :op1 "Your" :op2 "Majesty"))
                  :ARG1 h)
            :condition (w / wish-01
                  :ARG0 p2
                  :ARG1 (o2 / obey-01
                        :ARG1 p2
                        :manner (p3 / prompt)))
            :domain (o / order-01
                  :ARG0 p2
                  :ARG1 h
                  :ARG2 (t / thing
                        :mod (r2 / reasonable)))))

== del p2 ==>

(s / say-01
      :ARG0 (h / he)
      :ARG1 (p / possible
            :domain (g / give-01
                  :ARG1 h)
            :condition (w / wish-01
                  :ARG0 (p2 / person)
                  :ARG1 (o2 / obey-01
                        :ARG1 p2
                        :manner (p3 / prompt)))
            :domain (o / order-01
                  :ARG0 p2
                  :ARG1 h
                  :ARG2 (t / thing
                        :mod (r2 / reasonable)))))

(now none of the p2 uses have a concept)

uhermjakob commented 11 years ago

Actually, in your example above, the first of the three remaining p2 (:ARG0 of wish-01) does pick up the concept "person", as designed.

nschneid commented 11 years ago

Ah yes, what I should have said is that the name is lost.

uhermjakob commented 11 years ago

There are several alternatives as to what in a graph a delete operation should apply to. The AMR Editor will not always be able to predict what deletion scope the annotator has in mind. The current policy is:

A more minimum deletion of just a node or link would be an alternative. But if the annotator wants to delete a more substantial part of the AMR, he/she might have to perform several deletions.

Example: "He lost his leg in an accident."

(l / lose-02
   :ARG0 (h / he)
   :ARG1 (l2 / leg
              :part-of h)
   :ARG1-of (c / cause-01
                 :ARG0 (a / accident)))

== del l2 ==>

(l / lose-02
   :ARG0 (h / he)
   :ARG1-of (c / cause-01
               :ARG0 (a / accident)))

== instead, hypothetical "minimal" del l2 ==>

(l / lose-02
   :ARG0 (h / he
             :part (l2 / leg))
   :ARG1-of (c / cause-01
                :ARG0 (a / accident)))
nschneid commented 11 years ago

I think I'd prefer the more conservative behavior. But under the current behavior, how would I move the dependent information before deleting the variable? In the Your Majesty case, I can't say p2 :name n- because n is already under p2, right?