Что заставляет историю запускаться в Wit.ai?

Я пытаюсь понять логику погодного бота в быстром запуске wit.ai. построить с намерением типажа (предположительно, что-то вроде «какая погода?»), и объявляется объект, чтобы добраться туда, где интересует погода. Итак, я думаю, что эта история срабатывает только тогда, когда запрашивается погода и указывается местоположение.

Это не так, поскольку иллюстрация прыжка/закладок чуть ниже этого первого шага относится к неустановленному местоположению.

Отсюда мой вопрос: как Wit.ai решает, какую историю запускать?


person François Perret    schedule 05.11.2016    source источник
comment
Может быть, мне следует объявить первое действие истории как нуждающееся в сущности wit/location, используя параметр only if ... на вкладке действий?   -  person François Perret    schedule 05.11.2016


Ответы (1)


На самом деле нет никакой разницы между:

What is the weather in Barcelona ? и What is the weather ?

от решения относительно следующего действия выбирать с точки зрения двигателя сообразительности. Для этой задачи важны предыдущие контексты и текущий контекст (и содержащийся ключ). Как говорится в быстром старте:

Только трейт-сущности имеют значение, влияющее на предсказание. Для сущностей, не являющихся признаками, значение игнорируется в отношении предсказания действия.

Мой совет по этому поводу — создать действие flushContext, которое возвращает пустой контекст, и запускать его каждый раз, когда заканчивается история.

person François Perret    schedule 06.11.2016
comment
Я вижу смысл в использовании 'flushContext', но некоторые истории могут зацикливаться, поэтому контекст должен быть сохранен. Кстати, решение относительно следующего действия, как вы сказали, принимает во внимание предыдущий и текущий контекст, но что, если намерение/черта (правильно идентифицированная остроумием) должна вызвать совершенно другую историю? У меня такая проблема, и я не знаю, как ее обойти... - person Carlos Araya; 07.11.2016
comment
и как работает слияние, когда у вас есть 2 или более историй, кстати, слияние устарело, просто просмотрите исходный код для node-wit, проверьте метод validateActions и не думаете ли вы, что очистка контекста в конце каждой истории - плохая идея - person PirateApp; 23.11.2016