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

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Пн мар 10, 2014 5:12 pm

Всем привет.

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

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

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

Изображение

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

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

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

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

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

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

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

P.S. Если обратили внимание, то теперь поле "шаблон" является не обязательным и он берётся из названия, если не задан
За это сообщение автора sergejey поблагодарили (всего 3):
alexsmol (Пт окт 10, 2014 9:08 pm) • Князь (Вс мар 08, 2020 3:35 pm) • Bagir (Ср авг 03, 2022 12:41 pm)
Рейтинг: 3.49%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

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

Сообщение Alex » Пн мар 10, 2014 8:32 pm

Эх, где мой стакан?.. Чувствуется, что вещь хорошая, но я всё никак не врублюсь.

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

Нужен не абстрактный пример, а конкретный. А сама механика контекста понятна. Непонятно как её применить на практике.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Пн мар 10, 2014 9:43 pm

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

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

В перспективе думаю реализовать в каком-то виде поддержку "облачных" диалогов, когда система будет обращаться к внешнему серверу, который будет со временем развиваться и дополняться моделями диалогов, так что Алиса будет "умнеть" сама по себе без дополнительного программирования. Но это уже в отдалённой перспективе...
За это сообщение автора sergejey поблагодарили (всего 2):
Samir77 (Вт янв 05, 2021 1:38 am) • odinvolk (Сб сен 23, 2023 7:06 am)
Рейтинг: 2.33%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Galakart
Сообщения: 66
Зарегистрирован: Вт авг 06, 2013 3:49 pm
Откуда: Новокузнецк
Благодарил (а): 0
Поблагодарили: 7 раз

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

Сообщение Galakart » Вт мар 11, 2014 4:32 am

Отличная вещь!
sergejey писал(а):позволяет настроить реакцию системы на последовательность сообщений в чате -- от пользователя либо собственных уведомлений.
Только не понял, как настроить чтобы Алиса не реагировала на ключевые слова в собственных уведомлениях?
Linux, Raspberry pi
Мой профиль в CONNECT
MajorDroid
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm
Благодарил (а): 2 раза
Поблагодарили: 8 раз

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

Сообщение kostya77 » Вт мар 11, 2014 3:06 pm

Настроил как у Вас описано ,все работало ..но через пару минут System state restored to Green
перегрузил не помогло ((
Постирал в Шаблоне поведение все что в вел и перегрузился ( система восстановила работу )
Снова повторил настройки как у вас описано ... Алиса не реагирует на команды ((
По каким то причинам перестало работать.
Где копать ?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Вт мар 11, 2014 3:22 pm

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

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Вт мар 11, 2014 3:23 pm

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

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm
Благодарил (а): 2 раза
Поблагодарили: 8 раз

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

Сообщение kostya77 » Вт мар 11, 2014 4:14 pm

debmes пуст
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm
Благодарил (а): 2 раза
Поблагодарили: 8 раз

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

Сообщение kostya77 » Вт мар 11, 2014 6:46 pm

откатил систему на 9 марта - до обновления .
заново обновился через панель управления ...и снова не работает (
Кто нибудь проверьте работает (( или это у меня только ?
Galakart
Сообщения: 66
Зарегистрирован: Вт авг 06, 2013 3:49 pm
Откуда: Новокузнецк
Благодарил (а): 0
Поблагодарили: 7 раз

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

Сообщение Galakart » Вт мар 11, 2014 7:07 pm

у меня всё работает
Linux, Raspberry pi
Мой профиль в CONNECT
MajorDroid
Ответить