API.AI. Можно ли установить целевое намерение перед отправкой запроса API.AI?

Я создаю мобильное приложение для заполнения формы. По сути, приложение состоит из множества экранов, и каждый экран можно заполнять голосом с помощью API.AI SDK. Таким образом, поскольку все экраны могут иметь схожие типы атрибутов/полей, такие как зарплата, сумма, имена, вопросы ДА/НЕТ, ежемесячные расходы, сумма аренды, ответ API будет очень неточным; иногда он смешивает намерение, которое должно быть для другого экрана - оно смешивает намерения.

Итак, мой вопрос: могу ли я установить/настроить запрос по экрану с целевым намерением? Пример:

ФИНАНСОВОЕ НАМЕРЕНИЕ - ФИНАНСОВЫЙ ЭКРАН 1000 - Заработная плата (API.AI ожидает только значение) 200 - Дополнительный доход (API.AI ожидает только значение)

РАСХОДЫ НАМЕРЕНИЕ - РАСХОДЫ НАМЕРЕНИЕ 200 - Аренда (API.AI ожидает только значение) 400 - Счета (API.AI ожидает только значение)

Итак, из моего кода я могу установить целевое намерение, например, финансовое намерение или что-то в этом роде, чтобы агент не запутался из-за схожих типов данных?

Спасибо за ваше время и всегда готовность помочь ребятам.


person KinGPinG    schedule 25.07.2017    source источник


Ответы (1)


Решением будет использование контекстов.

Контексты API.AI позволяют указать, в каком случае (контексте) может быть запущено намерение.

С такой формой, как:

  • #P4#
  • #P5#
  • #P6#

Вы можете направлять своего пользователя, устанавливая для каждого Intent входящий и исходящий контекст:

  • Name Intent:
    • context in: askedname
    • вне контекста: спросила зарплату
  • Salary Intent:
    • context in: askedsalary
    • вне контекста: askExpenses
  • Expenses Intent:
    • context in: askedExpenses
    • вне контекста: ...

Таким образом, вы гарантируете, что намерение имени не сработает, пока не появится контекст askedname, что намерение зарплаты не сработает, пока не появится контекст askedsalary, и т. д.

Дополнительные пояснения можно найти здесь: https://api.ai/docs/dialogs#non-linear_dialogs

person Maniae    schedule 26.07.2017
comment
Привет Maniae, большое спасибо за ваш ответ. Да, я понял, что решение может заключаться в использовании контекста. Я думал, что у API.AI может быть более простое решение для реализации этого. - person KinGPinG; 27.07.2017