Как наладить диалог между ботами и смешанными инициативами в RASA? [закрыто]

Я поделюсь здесь очень общим вопросом / просьбой о помощи относительно

  • как настроить чат-бота смешанной инициативы в RASA
  • помочь в разработке приложения для наблюдения за здоровьем / пациентами, над которым я работаю.

Разговоры со смешанными инициативами

Для диалогового бота со смешанной инициативой я имею в виду чат-бота, который одновременно

  • Реагирует на запросы пользователей. Это обычный способ создания приложения чата по инициативе пользователя (я плохо это называю: pull-mode).

  • Проактивное, инициирование нового нежелательного разговора / темы с пользователем (я называю это: push-режим). Бот "толкает" может быть чем-то вроде вопроса к пользователю или запроса обратной связи с получением некоторой информации:

    • Относится к предыдущему разговору (так "динамический" и зависит от контекста текущего диалога),

    • И / или часть «заданной» последовательности заранее заданных пошаговых высказываний бота (стимул / вопрос пользователю). В этом смысле я предполагаю, что решением может быть «статический» поток, созданный какой-то комбинацией правил / форм RASA (см. Ниже).

      Гамбиты Chatscript

      Этапы статических бот-инициативы являются одним из инструментов для разработки разговора в ChatScript хорошего старого Chatbot скриптового языка / двигателе. Это так называемые гамбиты . Это история, которую чат-бот хочет рассказать по теме, или беседа, в которую чат-бот пытается вовлечь пользователя . См. Определение / объяснение здесь:https://github.com/ChatScript/ChatScript/blob/master/WIKI/ChatScript-Basic-User-Manual.md#fast-overview-of-topic-files-sample-rawdataharrychildhoodtop

      Ниже приведен пример кода ChatScript, в котором бот начинает разговор на школьную тему:

                topic: ~school [school university learn]
      
      t: Where do you go to school?
      a: (Rochester) That's a great school.
      
      t: I go to Harvard.
      
      t: What is your major?
      
      t: I am studying finance. 
      

      Во время выполнения ( < это бот, > является пользователем):

                < Where do you go to school?
      > At liceo Leonardo Da Vinci in Genova,
      < I go to Harvard.
      > Wow! Super!
      < What is your major?
      > Electronic engineering...
      < I am studying finance. 
      
      

Как это реализовать в RASA?

как я могу реализовать такой диалог, управляемый ботами в RASA? Я немного запутался в том, как это сделать. Хорошо, правило RASA могло вызвать первое высказывание, а потом я мог бы спроектировать поток с примерами историй? Или с формой RASA?


Приложение для наблюдения за пациентами

Давайте сосредоточимся на конкретном приложении в сфере здравоохранения, которое я разрабатываю: я хочу создать диалог, управляемый ботами, для мониторинга пациентов / конечных пользователей COVID-19. Приложение «связывается» с конечным пользователем каждый день (1/3 раза в день), спрашивая о состоянии здоровья человека, собирая

  • Заявления пользователя в свободной форме о состоянии своего здоровья и сбор некоторых параметров:
  • температура тела
  • уровень насыщения кислородом
  • другие значения (например, объем дыхания)

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

Я хотел бы реализовать сценарий смешанной инициативы, где:

  • Каждый раз, когда любой пользователь может запросить у бота ответы на часто задаваемые вопросы / новости и т. Д. (Режим pull)
  • пациент (эксперт) может сам сообщить свой статус (режим вытягивания)
  • Но также боту необходимо собирать вышеупомянутую информацию (статус, медицинские параметры, явное задание вопроса пользователю (режим push). Я не понимаю, как это реализовать в RASA. Как закодировать диалог сбора информации без строгого / скучная последовательность переделки слотов в форме RASA?

Хорошо, я предполагаю, что событие crontab (внешнее), следуя предложению здесь https://rasa.com/docs/rasa/reaching-out-to-user, можно использовать для внедрения запланированного намерения, которое запускает сеанс разговора, используя RASA правило. Думаю, пока все хорошо.

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

Я знаю, что могу реализовать все это с помощью формы, но я считаю, что это решение является ограничивающим, потому что внутри формы последовательность вопросов (для сбора слотов) фиксирована. Если я не ошибаюсь. Может быть, я бы предпочел иметь более естественную очередь со смешанной инициативой, где пользователь мог бы взаимодействовать с ботом, спрашивая разные вещи и делать отступления, но бот будет собирать данные, явно запрашивая их на всякий случай.

Есть какие-нибудь предложения / подсказки о том, как все это делать в RASA?

Спасибо!
Джорджио

0 ответов

Другие вопросы по тегам