Entity Metadata
The Entity Metadata object captures optional additional information about detected entities, providing resolutions specifically for numeric and temporal entities. This attribute is populated only when there's supplementary data available, enhancing the comprehensiveness of the detected entities. The Metadata component encompasses resolutions designed for both numeric and temporal entities. It's important to handle cases where the Metadata attribute may be empty or absent, as its presence isn't guaranteed for every entity.
Currently, metadata components handle resolutions to a standard format for an entity. Entities can be expressed in various forms and resolutions provide standard predictable formats for common quantifiable types. For example, "eighty" and "80" should both resolve to the integer 80
.
You can use NER resolutions to implement actions or retrieve further information. For example, your service can extract datetime entities to extract dates and times that are provided to a meeting scheduling system.
Note
Entity Metadata are only supported starting from api-version=2023-04-15-preview. For older API versions, you may check the Entity Resolutions article.
This article documents the resolution objects returned for each entity category or subcategory under the metadata object.
Numeric Entities
Age
Examples: "10 years old", "23 months old", "sixty Y.O."
"metadata": {
"unit": "Year",
"value": 10
}
Possible values for "unit":
- Year
- Month
- Week
- Day
Currency
Examples: "30 Egyptian pounds", "77 USD"
"metadata": {
"unit": "Egyptian pound",
"ISO4217": "EGP",
"value": 30
}
Possible values for "unit" and "ISO4217":
Datetime/Temporal entities
Datetime includes several different subtypes that return different response objects.
Date
Specific days.
Examples: "January 1 1995", "12 april", "7th of October 2022", "tomorrow"
"metadata": {
"dateValues": [
{
"timex": "1995-01-01",
"value": "1995-01-01"
}
]
}
Whenever an ambiguous date is provided, you're offered different options for your resolution. For example, "12 April" could refer to any year. Resolution provides this year and the next as options. The timex
value XXXX
indicates no year was specified in the query.
"metadata": {
"dateValues": [
{
"timex": "XXXX-04-12",
"value": "2022-04-12"
},
{
"timex": "XXXX-04-12",
"value": "2023-04-12"
}
]
}
Ambiguity can occur even for a given day of the week. For example, saying "Monday" could refer to last Monday or this Monday. Once again the timex
value indicates no year or month was specified, and uses a day of the week identifier (W) to indicate the first day of the week.
"metadata" :{
"dateValues": [
{
"timex": "XXXX-WXX-1",
"value": "2022-10-03"
},
{
"timex": "XXXX-WXX-1",
"value": "2022-10-10"
}
]
}
Time
Specific times.
Examples: "9:39:33 AM", "seven AM", "20:03"
"metadata": {
"timex": "T09:39:33",
"value": "09:39:33"
}
Datetime
Specific date and time combinations.
Examples: "6 PM tomorrow", "8 PM on January 3rd", "Nov 1 19:30"
"metadata": {
"timex": "2022-10-07T18",
"value": "2022-10-07 18:00:00"
}
Similar to dates, you can have ambiguous datetime entities. For example, "May 3rd noon" could refer to any year. Resolution provides this year and the next as options. The timex
value XXXX indicates no year was specified.
"metadata": {
"dateValues": [
{
"timex": "XXXX-05-03T12",
"value": "2022-05-03 12:00:00"
},
{
"timex": "XXXX-05-03T12",
"value": "2023-05-03 12:00:00"
}
]
}
Datetime ranges
A datetime range is a period with a beginning and end date, time, or datetime.
Examples: "from january 3rd 6 AM to april 25th 8 PM 2022", "between Monday to Thursday", "June", "the weekend"
The "duration" parameter indicates the time passed in seconds (S), minutes (M), hours (H), or days (D). This parameter is only returned when an explicit start and end datetime are in the query. "Next week" would only return with "begin" and "end" parameters for the week.
"metadata": {
"duration": "PT2702H",
"begin": "2022-01-03 06:00:00",
"end": "2022-04-25 20:00:00"
}
Set
A set is a recurring datetime period. Sets don't resolve to exact values, as they don't indicate an exact datetime.
Examples: "every Monday at 6 PM", "every Thursday", "every weekend"
For "every Monday at 6 PM", the timex
value indicates no specified year with the starting XXXX, then every Monday through WXX-1 to determine first day of every week, and finally T18 to indicate 6 PM.
"metadata": {
"timex": "XXXX-WXX-1T18",
"value": "not resolved"
}
Dimensions
Examples: "24 km/hr", "44 square meters", "sixty six kilobytes"
"metadata": {
"unit": "KilometersPerHour",
"value": 24
}
Possible values for the "unit" field values:
For Measurements:
- SquareKilometer
- SquareHectometer
- SquareDecameter
- SquareMeter
- SquareDecimeter
- SquareCentimeter
- SquareMillimeter
- SquareInch
- SquareFoot
- SquareMile
- SquareYard
- Acre
For Information:
- Bit
- Kilobit
- Megabit
- Gigabit
- Terabit
- Petabit
- Byte
- Kilobyte
- Megabyte
- Gigabyte
- Terabyte
- Petabyte
For Length, width, height:
- Kilometer
- Hectometer
- Decameter
- Meter
- Decimeter
- Centimeter
- Millimeter
- Micrometer
- Nanometer
- Picometer
- Mile
- Yard
- Inch
- Foot
- Light year
- Pt
For Speed:
- MetersPerSecond
- KilometersPerHour
- KilometersPerMinute
- KilometersPerSecond
- MilesPerHour
- Knot
- FootPerSecond
- FootPerMinute
- YardsPerMinute
- YardsPerSecond
- MetersPerMillisecond
- CentimetersPerMillisecond
- KilometersPerMillisecond
For Volume:
- CubicMeter
- CubicCentimeter
- CubicMillimiter
- Hectoliter
- Decaliter
- Liter
- Deciliter
- Centiliter
- Milliliter
- CubicYard
- CubicInch
- CubicFoot
- CubicMile
- FluidOunce
- Teaspoon
- Tablespoon
- Pint
- Quart
- Cup
- Gill
- Pinch
- FluidDram
- Barrel
- Minim
- Cord
- Peck
- Bushel
- Hogshead
For Weight:
- Kilogram
- Gram
- Milligram
- Microgram
- Gallon
- MetricTon
- Ton
- Pound
- Ounce
- Grain
- Pennyweight
- LongTonBritish
- ShortTonUS
- ShortHundredweightUS
- Stone
- Dram
Ordinal
Examples: "3rd", "first", "last"
"metadata": {
"offset": "3",
"relativeTo": "Start",
"value": "3"
}
Possible values for "relativeTo":
- Start
- End
Temperature
Examples: "88 deg fahrenheit", "twenty three degrees celsius"
"metadata": {
"unit": "Fahrenheit",
"value": 88
}
Possible values for "unit":
- Celsius
- Fahrenheit
- Kelvin
- Rankine