Допустим, я хочу реализовать этот вид диалога в WIT.AI:
.
- (1) Hi. I'm bot. What do you want?
- I want a cookie. [intent: cookie]
- (2) Are you sure you want a cookie?
- Yes [intent: yes]
Когда бот задает первый вопрос
- (1) Hi. I'm bot. What do you want?
Я не хочу, чтобы бот смог понять намерения "yes"
. Я хочу отключить это намерение от возможности быть обнаруженным, потому что мы не задавали пользователю никаких вопросов.
Когда бот задает (2) вопрос
- (2) Are you sure you want a cookie?
Единственное, что я хочу, чтобы бот понял , это намерения: "yes"
и "no"
. Это своего рода ветвь диалога, в которой пользователь, скорее всего, не скажет ничего, кроме «да» или «нет», поэтому я бы хотел отключить обнаружение других намерений для этого конкретного запроса.
Почему? Для того, чтобы оставить только необходимое в этом месте диалога, намерение быть обнаруженным, облегчая WIT.AI обнаружение правильного.
В диалоговом потоке это называется «входной контекст» . Если в запросе для этого намерения не задан входной контекст с конкретным значением, AI не будет пытаться обнаружить это намерение .
Это полезный трюк для выделения временно ненужных намерений для разных ветвей диалога, когда существуют сотни намерений для предотвращения ложного обнаружения.
Как разрешить обнаружение только части всех намерений в WIT.AI?