Resolver entidades para formatos padrão
Uma resolução é um formato padrão de uma entidade. As entidades podem ser expressas em várias formas, e as resoluções fornecem formatos previsíveis padrão para tipos quantificáveis comuns. Por exemplo, "oitenta" e "80" devem ambos ser resolvidos para o inteiro 80
.
Você pode usar resoluções NER para implementar ações ou recuperar mais informações. Por exemplo, seu serviço pode extrair entidades datetime para extrair datas e horas que serão fornecidas a um sistema de agendamento de reunião.
Importante
A partir da versão 2023-04-15-preview, o recurso de resolução de entidade é substituído por metadados de entidade
Observação
As respostas de resolução da entidade só têm suporte a partir de api-version=2022-10-01-preview e "modelVersion": "2022-10-01-preview".
Este artigo documenta os objetos de resolução retornados para cada categoria ou subcategoria de entidade.
Idade
Exemplos: "10 anos de idade", "23 meses de idade", "60 anos de idade".
"resolutions": [
{
"resolutionKind": "AgeResolution",
"unit": "Year",
"value": 10
}
]
Valores possíveis para a “unidade”:
- Ano
- Mês
- Semana
- Dia
Moeda
Exemplos: "30 libras egípcias", "77 USD"
"resolutions": [
{
"resolutionKind": "CurrencyResolution",
"unit": "Egyptian pound",
"ISO4217": "EGP",
"value": 30
}
]
Valores possíveis para "unidade" e "ISO4217":
Datetime
Datetime inclui vários subtipos diferentes que retornam objetos de resposta diferentes.
Data
Dias específicos.
Exemplos: "1º de janeiro de 1995", "12 de abril", "7 de outubro de 2022", "amanhã"
"resolutions": [
{
"resolutionKind": "DateTimeResolution",
"dateTimeSubKind": "Date",
"timex": "1995-01-01",
"value": "1995-01-01"
}
]
Sempre que uma data ambígua é fornecida, você recebe opções diferentes para a resolução dela. Por exemplo, "12 de abril" pode se referir a qualquer ano. A resolução fornece este ano e o próximo como opções. O valor XXXX
de timex
indica que nenhum ano foi especificado na consulta.
"resolutions": [
{
"resolutionKind": "DateTimeResolution",
"dateTimeSubKind": "Date",
"timex": "XXXX-04-12",
"value": "2022-04-12"
},
{
"resolutionKind": "DateTimeResolution",
"dateTimeSubKind": "Date",
"timex": "XXXX-04-12",
"value": "2023-04-12"
}
]
A ambiguidade pode ocorrer mesmo para um determinado dia da semana. Por exemplo, "segunda-feira" pode se referir à segunda-feira passada ou a esta segunda-feira. Novamente, o valor timex
indica que nenhum ano ou mês foi especificado e usa um dia do identificador de semana (W) para indicar o primeiro dia da semana.
"resolutions": [
{
"resolutionKind": "DateTimeResolution",
"dateTimeSubKind": "Date",
"timex": "XXXX-WXX-1",
"value": "2022-10-03"
},
{
"resolutionKind": "DateTimeResolution",
"dateTimeSubKind": "Date",
"timex": "XXXX-WXX-1",
"value": "2022-10-10"
}
]
Hora
Horários específicos.
Exemplos: "9:39:33 AM", "sete AM", "20:03"
"resolutions": [
{
"resolutionKind": "DateTimeResolution",
"dateTimeSubKind": "Time",
"timex": "T09:39:33",
"value": "09:39:33"
}
]
Datetime
Combinações de data e hora específicas.
Exemplos: "amanhã às 18:00", "3 de janeiro às 20:00", "1º de novembro às 19:30"
"resolutions": [
{
"resolutionKind": "DateTimeResolution",
"dateTimeSubKind": "DateTime",
"timex": "2022-10-07T18",
"value": "2022-10-07 18:00:00"
}
]
Assim como as datas, você pode ter entidades de datetime ambíguas. Por exemplo, "3 de maio ao meio-dia" pode se referir a qualquer ano. A resolução fornece este ano e o próximo como opções. O valor timex
XXXX indica que nenhum ano foi especificado.
"resolutions": [
{
"resolutionKind": "DateTimeResolution",
"dateTimeSubKind": "DateTime",
"timex": "XXXX-05-03T12",
"value": "2022-05-03 12:00:00"
},
{
"resolutionKind": "DateTimeResolution",
"dateTimeSubKind": "DateTime",
"timex": "XXXX-05-03T12",
"value": "2023-05-03 12:00:00"
}
]
Intervalos de datetime
Um intervalo de datetime é um período com uma data, hora ou datetime de início e término.
Exemplos: "de 3 de janeiro às 6:00 a 25 de abril às 20:00 de 2022", "entre a segunda a quinta-feira", "junho", "no fim de semana"
O parâmetro "duration" indica o tempo transcorrido em segundos (S), minutos (M), horas (H) ou dias (D). Esse parâmetro só é retornado quando um datetime de início e término explícito está na consulta. "Semana que vem" retornaria apenas com os parâmetros "begin" e "end" para a semana.
"resolutions": [
{
"resolutionKind": "TemporalSpanResolution",
"duration": "PT2702H",
"begin": "2022-01-03 06:00:00",
"end": "2022-04-25 20:00:00"
}
]
Definir
Um conjunto é um período de datetime recorrente. Os conjuntos não resolvem para valores exatos, pois não indicam uma data exata.
Exemplos: "todas as segundas-feiras às 18:00", "todas as quintas-feiras", "todos os fins de semana"
Para "todas as segundas-feiras às 18:00", o valor timex
não indica nenhum ano especificado com o XXXX inicial, e em seguida indica todas as segundas-feiras até WXX-1 para determinar o primeiro dia de cada semana e, finalmente, t18 para indicar 18:00.
"resolutions": [
{
"resolutionKind": "DateTimeResolution",
"dateTimeSubKind": "Set",
"timex": "XXXX-WXX-1T18",
"value": "not resolved"
}
]
Dimensões
Exemplos: "24 km/h", "44 metros quadrados", "sessenta e seis quilobytes"
"resolutions": [
{
"resolutionKind": "SpeedResolution",
"unit": "KilometersPerHour",
"value": 24
}
]
Valores possíveis para "resolutionKind" e seus respectivos valores de "unidade":
AreaResolution:
- SquareKilometer
- SquareHectometer
- SquareDecameter
- SquareMeter
- SquareDecimeter
- SquareCentimeter
- SquareMillimeter
- SquareInch
- SquareFoot
- SquareMile
- SquareYard
- Acre
InformationResolution:
- bit
- Kilobit
- Megabit
- Gigabit
- Terabit
- Petabit
- Byte
- Quilobyte
- Megabyte
- Gigabyte
- Terabyte
- Petabyte
LengthResolution:
- Quilômetro
- Hectômetro
- Decâmetro
- Medidor
- Decímetro
- Centímetro
- Milímetro
- Micrometer
- Nanômetro
- Picômetro
- Milha
- Jarda
- Polegada
- Pé
- Ano-luz
- Pt
SpeedResolution:
- MetersPerSecond
- KilometersPerHour
- KilometersPerMinute
- KilometersPerSecond
- MilesPerHour
- Knot
- FootPerSecond
- FootPerMinute
- YardsPerMinute
- YardsPerSecond
- MetersPerMillisecond
- CentimetersPerMillisecond
- KilometersPerMillisecond
VolumeResolution:
- CubicMeter
- CubicCentimeter
- CubicMillimiter
- Hectoliter
- Decaliter
- Liter
- Deciliter
- Centiliter
- Milliliter
- CubicYard
- CubicInch
- CubicFoot
- CubicMile
- FluidOunce
- Teaspoon
- Tablespoon
- Pint
- Quart
- Cup
- Gill
- Fixar
- FluidDram
- Barrel
- Minim
- Cord
- Peck
- Bushel
- Hogshead
WeightResolution:
- Quilograma
- Grama
- Miligrama
- Micrograma
- Gallon
- MetricTon
- Tonelada
- Libra
- Onça
- Grão
- Peso-centavo
- LongTonBritish
- ShortTonUS
- ShortHundredweightUS
- Stone
- Dracma
Número
Exemplos: "27", "cento e três", "38,5", "2/3", "33%"
"resolutions": [
{
"resolutionKind": "NumberResolution",
"numberKind": "Integer",
"value": 27
}
]
Valores possíveis para "numberKind":
- Integer
- Decimal
- Fraction
- Energia
- Porcentagem
Ordinal
Exemplos: "3º", "primeiro", "último"
"resolutions": [
{
"resolutionKind": "OrdinalResolution",
"offset": "3",
"relativeTo": "Start",
"value": "3"
}
]
Valores possíveis para "relativeTo":
- Iniciar
- End
Temperatura
Exemplos: "88 graus fahrenheit", "23 graus celsius"
"resolutions": [
{
"resolutionKind": "TemperatureResolution",
"unit": "Fahrenheit",
"value": 88
}
]
Valores possíveis para a “unidade”:
- Celsius
- Fahrenheit
- Kelvin
- Rankine