Именованные сущности в запросах

После того, как пользователь произносит команду, Диалоги распознают ее текст и извлекают именованные сущности (named entities) — слова и фразы, которые описывают определенные объекты.

Сейчас Диалоги распознают:

Все извлеченные сущности включаются в запрос к навыку в свойстве request.nlu.entities.

Имя, фамилия, отчество

Диалоги распознают и связывают друг с другом имена, фамилии и отчества.

Примеры оформления имен в запросе к навыку:

Фраза «Антон Павлович Чехов»:

"type": "YANDEX.FIO",
"value": {
  "first_name": "антон",
  "patronymic_name": "павлович",
  "last_name": "чехов"
}

Фраза «Лев Толстой»:

"type": "YANDEX.FIO",
"value": {
  "first_name": "лев",
  "last_name": "толстой"
}

Фраза «Василий Иванович и Петька»:

{
  "type": "YANDEX.FIO",
  "value": {
    "first_name": "василий",
    "patronymic_name": "иванович"
  },
},
{
  "type": "YANDEX.FIO",
  "value": {
    "first_name": "петька"
  }
}

Местоположение

Диалоги распознают указания на место:

  • country — страна;
  • city — город;
  • street — улица;
  • house_number — номер дома;
  • airport — название аэропорта.

Примеры местоположения в запросе к навыку:

Фраза «Адрес — Россия, Москва, улица Льва Толстого, шестнадцать»:

"type": "YANDEX.GEO",
"value": {
  "country": "россия",
  "city": "москва",
  "street": "улица льва толстого",
  "house_number": "16"
}

Фраза «В аэропорту Внуково»:

"type": "YANDEX.GEO",
"value": {
  "airport": "аэропорт внуково",
}

Дата и время

Диалоги распознают упоминания даты и времени, а также относительную дату и время. Например, именованной сущностью станет как фраза «в 1968 году», так и фраза «40 лет назад»:

  • year — точный год;
  • year_is_relative — признак того, что в поле year указано относительное количество лет;
  • month — месяц;
  • month_is_relative — признак того, что в поле month указано относительное количество месяцев;
  • day — день;
  • day_is_relative — признак того, что в поле day указано относительное количество дней;
  • hour — час;
  • hour_is_relative — признак того, что в поле hour указано относительное количество часов;
  • minute — минута;
  • minute_is_relative — признак того, что в поле minute указано относительное количество минут.

Примеры даты и времени в запросе к навыку:

Фраза «в двадцать два часа тридцать минут пятнадцатого сентября тысяча девятьсот восемьдесят второго года»:

"type": "YANDEX.DATETIME",
"value": {
  "year": 1982,
  "month": 9,
  "day": 15,
  "hour": 22,
  "minute": 30,
}

Фраза «вчера вечером»:

"type": "YANDEX.DATETIME",
"value": {
  "day": -1,
  "day_is_relative": true
}

Число

Диалоги распознают целые и дробные числа:

  • integer — целое число;
  • float — десятичная дробь.

Примеры чисел в запросе к навыку:

Фраза «тридцать три попугая»:

"type": "YANDEX.NUMBER",
"value": 33

Фраза «четыре целых пять десятых»:

"type": "YANDEX.NUMBER",
"value": 4.5