Предварительно созданная сущность datetimeV2 для приложения LUIS
Внимание
LUIS будет прекращена 1 октября 2025 г. и с 1 апреля 2023 г. вы не сможете создать новые ресурсы LUIS. Мы рекомендуем перенести приложения LUIS в понимание общения, чтобы воспользоваться продолжением поддержки продуктов и многоязычными возможностями.
Предварительно созданная сущность datetimeV2 извлекает значения даты и времени. Эти значения имеют стандартный формат, за счет чего их могут использовать клиентские программы. Если во фразе указана неполная дата или время, LUIS возвращает в ответе конечной точки прошедшие и будущие значения. Так как эта сущность уже обучена, добавлять примеры фраз, содержащие сущность datetimeV2 в приложение, не нужно.
Типы сущностей datetimeV2
Управление сущностью datetimeV2 выполняется из репозитория GitHub Recognizers-text.
Пример JSON
Ниже показан речевой фрагмент и его частичный ответ в формате JSON.
8am on may 2nd 2019
"entities": {
"datetimeV2": [
{
"type": "datetime",
"values": [
{
"timex": "2019-05-02T08",
"resolution": [
{
"value": "2019-05-02 08:00:00"
}
]
}
]
}
]
}
Подтипы сущности datetimeV2
Предварительно созданная сущность datetimeV2 имеет следующие подтипы (примеры каждого из них приведены в таблице ниже):
date
time
daterange
timerange
datetimerange
Значения разрешения
- Массив содержит один элемент, если дата или время во фразе полностью указаны и однозначны.
- Массив содержит два элемента, если значение datetimeV2 неоднозначное. Неоднозначность означает отсутствие года, времени и диапазона времени. Примеры см. в разделе Неоднозначные даты. Если время указано неоднозначно (не понятно, до или после полудня), включаются оба значения.
- Массив содержит четыре элемента, если фраза содержит два неоднозначных элемента. Эта неоднозначность включает элементы, имеющие следующие элементы:
- в дате или диапазоне дат указан неоднозначно год;
- неоднозначно указано время или диапазон времени (не понятно, до или после полудня). Например 3 апреля 3:00.
Ниже приведены поля, которые может иметь каждый элемент массива values
.
Имя свойства | Описание свойства |
---|---|
timex | Время, дата или диапазон дат, выраженные в формате TIMEX, который соответствует стандарту ISO 8601, и в атрибутах TIMEX3 заметки с помощью языка TimeML. |
mod | термин, описывающий использование значения, например, before , after . |
type | Подтипом может быть один из следующих элементов: datetime , date , time , daterange , timerange , datetimerange , duration , set . |
значение | Необязательно. Объект datetime в формате гггг-мм-дд (дата), чч:мм:сс (время), гггг-мм-дд чч:мм:сс (дата и время). В противном type duration случае значение — это количество секунд (длительность) Используется, только если свойство type имеет значение datetime или date , time или `duration. |
Допустимые значения даты
Сущность datetimeV2 поддерживает даты в следующих диапазонах:
Min | Max |
---|---|
1 января 1900 г. | 31 декабря 2099 г. |
Неоднозначные даты
Если дата может быть в прошлом или будущем, LUIS предоставляет оба значения. В качестве примера можно привести фразу с датой и месяцем без года.
Например, для следующего речевого фрагмента:
May 2nd
- Если сегодня 3 мая 2017 года, LUIS возвращает два значения: 2017-05-02 и 2018-05-02.
- Если сегодня 1 мая 2017 года, LUIS возвращает два значения: 2016-05-02 и 2017-05-02.
В следующем примере показано разрешение сущности "may 2nd". Это разрешение предполагает, что сегодняшняя дата — это дата между 2 мая 2017 г. и 1 мая 2018 г.
Поля с X
в поле timex
— это части даты, которые явно не указаны во фразе.
Пример разрешения даты
Ниже показан речевой фрагмент и его частичный ответ в формате JSON.
May 2nd
"entities": {
"datetimeV2": [
{
"type": "date",
"values": [
{
"timex": "XXXX-05-02",
"resolution": [
{
"value": "2019-05-02"
},
{
"value": "2020-05-02"
}
]
}
]
}
]
}
Примеры разрешения диапазона числовых дат
Сущность datetimeV2
извлекает диапазоны дат и времени. Поля start
и end
определяют начало и конец диапазона. Если имеется фраза May 2nd to May 5th
, LUIS выводит значения daterange за текущий и будущий год. В поле timex
значения XXXX
указывают неоднозначность года. Значение P3D
указывает на трехдневный период времени.
Ниже показан речевой фрагмент и его частичный ответ в формате JSON.
May 2nd to May 5th
"entities": {
"datetimeV2": [
{
"type": "daterange",
"values": [
{
"timex": "(XXXX-05-02,XXXX-05-05,P3D)",
"resolution": [
{
"start": "2019-05-02",
"end": "2019-05-05"
},
{
"start": "2020-05-02",
"end": "2020-05-05"
}
]
}
]
}
]
}
Примеры разрешения диапазона дат для дня недели
В следующем примере показано, как с помощью сущности datetimeV2 LUIS обрабатывает фразу Tuesday to Thursday
. В этом примере ниже текущей датой является 19 июня. LUIS включает значения daterange обоих диапазонов дат перед и после текущей даты.
Ниже показан речевой фрагмент и его частичный ответ в формате JSON.
Tuesday to Thursday
"entities": {
"datetimeV2": [
{
"type": "daterange",
"values": [
{
"timex": "(XXXX-WXX-2,XXXX-WXX-4,P2D)",
"resolution": [
{
"start": "2019-10-08",
"end": "2019-10-10"
},
{
"start": "2019-10-15",
"end": "2019-10-17"
}
]
}
]
}
]
}
Неоднозначное время
Массив значений имеет два элемента времени, если время или диапазон времени неоднозначны. Если время указано неоднозначно, возвращаются оба значения: до и после полудня.
Пример разрешения диапазона времени
В API версии 3 изменен ответ DatetimeV2 JSON. В следующем примере показано, как с помощью сущности datetimeV2 LUIS обрабатывает фразу с диапазон времени.
Изменения в API версии 2:
- свойство
datetimeV2.timex.type
больше не возвращается, так как оно возвращается на родительском уровнеdatetimev2.type
. - Свойство
datetimeV2.value
было переименовано наdatetimeV2.timex
.
Ниже показан речевой фрагмент и его частичный ответ в формате JSON.
from 6pm to 7pm
Следующий JSON имеет параметр verbose
, установленный на false
:
"entities": {
"datetimeV2": [
{
"type": "timerange",
"values": [
{
"timex": "(T18,T19,PT1H)",
"resolution": [
{
"start": "18:00:00",
"end": "19:00:00"
}
]
}
]
}
]
}
Пример разрешения времени
Ниже показан речевой фрагмент и его частичный ответ в формате JSON.
8am
"entities": {
"datetimeV2": [
{
"type": "time",
"values": [
{
"timex": "T08",
"resolution": [
{
"value": "08:00:00"
}
]
}
]
}
]
}
Устаревшая предварительно созданная сущность datetime
Устаревшая предварительно созданная сущность datetime
заменяется сущностью datetimeV2.
Чтобы заменить сущность datetime
на datetimeV2
в приложении LUIS, сделайте следующее:
- Откройте область Сущности веб-интерфейса LUIS.
- Удалите предварительно созданную сущность datetime.
- Выбор предварительно созданной сущности
- Выберите datetimeV2 и нажмите кнопку Сохранить.