Quantities (AMR annotation guidance) |
Example: "ten miles"
(d / distance-quantity :quant 10
:unit (m / mile))
Example: "3,794,100 square miles"
(a / area-quantity :quant 3794100
:unit (s2 / square-mile))
Example: "20 Canadian dollars"
(m / monetary-quantity :quant 20
:unit (d / dollar
:mod (c / country :wiki "Canada"
:name (n / name :op1 "Canada"))))
Example: "The plane crash occurred 50 miles east of Moscow."
(c / crash-01
:ARG1 (p / plane)
:location (r / relative-position
:op1 (c2 / city :wiki "Moscow"
:name (n / name :op1 "Moscow"))
:quant (d / distance-quantity :quant 50
:unit (m / mile))
:direction (e / east)))
Example: The woman bought two gallons of milk.
(b / buy-01
:ARG0 (w / woman)
:ARG1 (m / milk
:quant (v / volume-quantity :quant 2
:unit (g / gallon))))
Note that milk is the (semantic) head of two gallons of milk.
Example: "7.9 on the Richter scale"
(s / seismic-quantity :quant 7.9
:scale (r / richter))
Note that :scale is used (instead of :unit) in quantities where a :quant 0 value does not represent a 0-quantity.
Note that we use weight-quantity, volume-quantity etc. only for "scientific" quantities, but not in cases such as the two examples below:
Example: "He carried a sack of rice ."
(c / carry-01
:ARG0 (h / he)
:ARG1 (r / rice
:quant (s / sack)))
Example: "He drank a lot of beer ."
(d / drink-01
:ARG0 (h / he)
:ARG1 (b / beer
:quant (l / lot)))
Here is a complete list of quantity types (monetary-quantity, distance-quantity, ...).
Example: The performance will take between 45 minutes and an hour.
(p / perform-01
:duration (b / between
:op1 (t / temporal-quantity :quant 45
:unit (m / minute))
:op2 (t2 / temporal-quantity :quant 1
:unit (h / hour))))
Note that the non-exact concept heads the precise quantities. One reason for that is because such a concept can take more than one argument, as in the case of between. The concept operates over quantities (45 minutes, 1 hour) rather than numbers (45, 1), because the units of the quantities can differ.
Example: more than $10
(m / more-than
:op1 (m2 / monetary-quantity :quant 10
:unit (d / dollar)))
It can also be argued that "modifiers" such as more than don't make an entity more specific in the way that blue ball is more specific than ball or in that He ate an apple is more specific than eat .
more than $10 is not more specific than $10. Rather, it is a non-exact quantity being compared to $10 as a reference, which, in our notation, is taken as an argument.
This is somewhat similar to syntactic modals such as can being raised to semantically govern their erstwhile syntactic heads as possible.
The list of fuzzy operator concepts that can go on top of precise quantities includes: about, above, almost, approximately, around, at-least, at-most, below, between (with roles :op1 and :op2), close-to, couple, few, less-than, lot, many, more-than, multiple, nearly, no-more-than, number, over, roughly, several, some, under, up-to
Example: He retired more than five years ago .
(r / retire-01
:ARG0 (h / he)
:time (b / before
:op1 (n / now)
:quant (m / more-than
:op1 (t / temporal-quantity :quant 5
:unit (y / year)))))
Example: about 10 miles
(a / about
:op1 (d / distance-quantity :quant 10
:unit (m / mile)))
Modifiers such as several and even plurals are handled in a similar way as more than and about.
Example: He is likely to serve on the court for several decades .
(l / likely-01
:ARG1 (s / serve-01
:ARG0 (h / he)
:ARG2 (c / court)
:duration (s2 / several
:op1 (t / temporal-quantity :quant 1
:unit (d / decade)))))
Example: America was discovered several hundred years ago.
(d / discover-01
:ARG1 (c / continent :wiki "Americas"
:name (n / name :op1 "America"))
:time (b / before
:op1 (n2 / now)
:quant (s / several
:op1 (t / temporal-quantity :quant 100
:unit (y / year)))))
Example: "He retired years ago ."
(r / retire-01
:ARG0 (h / he)
:time (b / before
:op1 (n / now)
:quant (m / multiple
:op1 (t / temporal-quantity :quant 1
:unit (y / year)))))
Example: "The symptoms showed up decades later ."
(s / show-up-02
:ARG1 (s2 / symptom)
:time (a / after
:quant (m2 / multiple
:op1 (t / temporal-quantity :quant 1
:unit (d / decade)))))
Example: "40,000 boys"
(b / boy :quant 40000)
Example: "a billion and half atoms"
(a / atom :quant 1500000000)
Example: between four and five thousand boys
(b / boy
:quant (b2 / between :op1 4000 :op2 5000))
Example: several hundred boys
(b / boy
:quant (s / several :op1 100))
Example: "hundreds of boys"
(b / boy
:quant (m / multiple :op1 100))
Note that in simple numerical quantities, we do not annotate for plurals:
Example: "The boys ran away ."
(r / run-02
:ARG0 (b / boy)
:direction (a / away))