Страница 1 из 40

Контексты в шаблонах поведения

Добавлено: Пн мар 10, 2014 5:12 pm
sergejey
Всем привет.

В панели управления имеется раздел "Шаблоны поведения". Если в кратце о разделе, то он позволяет настроить реакцию системы на последовательность сообщений в чате -- от пользователя либо собственных уведомлений. В самом простом случае, это реакция на заданную фразу, указанную в шаблоне.

Так вот, я немного расширил этот модуль, введя такое конятие как "контекст" и древовидную структуру шаблонов.

Проще объяснить на примерах. Итак, возьмём вот такой пример набора шаблонов:

Изображение

Если ввести в окно команд "поговорим о погоде", то в ответ получим "В каком городе хотите узнать погоду?", потому как сработал первый шаблон. Кроме того, в настройках шаблона указано, что этот шаблон является котнекстом, т.е. в дальнейшем система будет ожидать команд из тех, которые являются дочерними по отношению к данному.
Вот как настроен этот шаблон:
Изображение

Время ожидание указывает на то, что будет происходить, если не получено ни одной команды из доступных в контексте. А именно, будет выбран другой контекст (либо сброшен на пустой как в данном случае), выполнен какой-то код.

Если взять настройку дочерней команды "в минске", то она выглядит так:
Изображение

Указано, что данный шаблон доступен в родительском контексте, а так же то, что при совпадении текущий контекст будет снова установлен в "поговорим о погоде".

Вторая команда "в москве" действует точно так же, кроме того, что в ней задано, что при совпадении контекст будет установлен пустым:
Изображение

Вот пример диалога:
- поговорим о погоде?
- В каком городе хотите узнать погоду?
- в минске
- О погоде в Минске
- в москве
- О погоде в Москве
- в минске
- Неизвестная команда...
В последнем случае неизвестная команда была из-за того, что шаблон "в москве" сбросил контекст на начальный и "в минске" уже не могло быть распознано.

Таким образом, с помощью системы шаблонов и контекста можно строить диалоги с пользователем. Если в системе несколько пользователей, то активный контекст распостраняется только на того, от лица которого был начат диалог.

P.S. Если обратили внимание, то теперь поле "шаблон" является не обязательным и он берётся из названия, если не задан

Re: Контексты в шаблонах поведения

Добавлено: Пн мар 10, 2014 8:32 pm
Alex
Эх, где мой стакан?.. Чувствуется, что вещь хорошая, но я всё никак не врублюсь.

Кто с кем беседовал? И о чём? И как это применить на практике?

Нужен не абстрактный пример, а конкретный. А сама механика контекста понятна. Непонятно как её применить на практике.

Re: Контексты в шаблонах поведения

Добавлено: Пн мар 10, 2014 9:43 pm
sergejey
Alex писал(а):Эх, где мой стакан?.. Чувствуется, что вещь хорошая, но я всё никак не врублюсь.
Кто с кем беседовал? И о чём? И как это применить на практике?
Нужен не абстрактный пример, а конкретный. А сама механика контекста понятна. Непонятно как её применить на практике.
В примере я беседовал с системой. Смысл в возможности создания схем диалогов с ветвлением возможных запросов/ответов. Например, можно создать распознание фразы: "скажи прогноз погоды" с реакцией в виде "Прогноз погоды на завтра (что-то там). Хотите услышать прогноз на неделю?" и два "дочерних" варианта (да/нет).

Понимаю, что задумка достаточно сложная и раскроется на практических примерах, так что постараюсь делиться примерами по мере реализации.

В перспективе думаю реализовать в каком-то виде поддержку "облачных" диалогов, когда система будет обращаться к внешнему серверу, который будет со временем развиваться и дополняться моделями диалогов, так что Алиса будет "умнеть" сама по себе без дополнительного программирования. Но это уже в отдалённой перспективе...

Re: Контексты в шаблонах поведения

Добавлено: Вт мар 11, 2014 4:32 am
Galakart
Отличная вещь!
sergejey писал(а):позволяет настроить реакцию системы на последовательность сообщений в чате -- от пользователя либо собственных уведомлений.
Только не понял, как настроить чтобы Алиса не реагировала на ключевые слова в собственных уведомлениях?

Re: Контексты в шаблонах поведения

Добавлено: Вт мар 11, 2014 3:06 pm
kostya77
Настроил как у Вас описано ,все работало ..но через пару минут System state restored to Green
перегрузил не помогло ((
Постирал в Шаблоне поведение все что в вел и перегрузился ( система восстановила работу )
Снова повторил настройки как у вас описано ... Алиса не реагирует на команды ((
По каким то причинам перестало работать.
Где копать ?

Re: Контексты в шаблонах поведения

Добавлено: Вт мар 11, 2014 3:22 pm
sergejey
kostya77 писал(а):Настроил как у Вас описано ,все работало ..но через пару минут System state restored to Green
перегрузил не помогло ((
Постирал в Шаблоне поведение все что в вел и перегрузился ( система восстановила работу )
Снова повторил настройки как у вас описано ... Алиса не реагирует на команды ((
По каким то причинам перестало работать.
Где копать ?
В первую очередь в логах -- возможно какие-то ошибки полезли в связи с обновлением.

Re: Контексты в шаблонах поведения

Добавлено: Вт мар 11, 2014 3:23 pm
sergejey
Galakart писал(а):Отличная вещь!
sergejey писал(а):позволяет настроить реакцию системы на последовательность сообщений в чате -- от пользователя либо собственных уведомлений.
Только не понял, как настроить чтобы Алиса не реагировала на ключевые слова в собственных уведомлениях?
Боюсь, что это задача на будущее. Сейчас нельзя фильтровать на какие (от кого) сообщения реагировать.

Re: Контексты в шаблонах поведения

Добавлено: Вт мар 11, 2014 4:14 pm
kostya77
debmes пуст

Re: Контексты в шаблонах поведения

Добавлено: Вт мар 11, 2014 6:46 pm
kostya77
откатил систему на 9 марта - до обновления .
заново обновился через панель управления ...и снова не работает (
Кто нибудь проверьте работает (( или это у меня только ?

Re: Контексты в шаблонах поведения

Добавлено: Вт мар 11, 2014 7:07 pm
Galakart
у меня всё работает