Собственно, о задаче - потребуется визуальное редактирование сценария чатбота, который будет запущен на api.ai (кстати, а не велосипежу ли я? Нагуглить не смог, но вдруг).
Далее - почему именно граф :
- есть (в терминах api.ai) "намерения" - грубо говоря, каждое из них представляет 1 реакцию бота на сообщения, схожие с указанными примерами
- есть возможность задать для "намерения" контекст, в который бот переключится по его срабатыванию
- есть возможность задать контекст, являющийся необходимым условием срабатывания "намерения".
Вроде бы задача идеально ложится на графы. "Намерения" - узлы, контексты задают рёбра. Возможно - на практике стоит ограничиться деревьями, но не хотелось бы (хотя бы потому что теоретически возможен переход в один контекст из нескольких "намерений").
То есть хотелось бы завести в своей софтине визуальный редактор графов (ну и да - с возможностью получить объект, привязанный к выбранному пользователем узлу). Ну и конечно, хотелось бы минимальной степени велосипедостроения.
Что до языков/тулкитов, с которыми уже хоть немного знаком :
- немного C#, но использовал лишь WinForms
- Python и PyQt
- C++/Qt
- javascript - тут я даже уже нашёл
gojs.net/latest/samples/flowchart.html (да и другие варианты). Впрочем, хотелось бы подыскать варианты для одного из 3 первых, если такие есть.