1

我问一个关于如何在 RASA 中设置混合主动聊天机器人的问题/帮助请求

对于混合主动对话机器人,我的意思是一个聊天机器人,它允许两者

  • 用户主动:机器人只是简单地回复用户请求(我也称之为:拉模式)。

  • Bot-initiative:机器人是“主动的”,与用户发起新的主动对话/话题(我称之为:push-mode)。机器人“推送”可能类似于向用户提出的问题或获取某些信息的用户反馈请求:

    • 与之前的对话流程相关(如此“动态”并且依赖于当前对话的上下文),
    • 和/或预先固定的逐步机器人话语的“脚本化”序列的一部分(对用户的刺激/问题)。从这个意义上说,我猜一个解决方案可能是由某种 RASA 规则/表单组合构成的“静态”流路径(见下文)。

Gambits:ChatScript 机器人主动方法

bot-initiative 静态步骤是用ChatScript旧好的聊天机器人脚本语言/引擎设计对话的工具之一。这些被称为策略是聊天机器人想要讲述的关于某个主题的故事,还是聊天机器人试图引导用户进入的对话请参阅此处的定义/解释。

下面是一个 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 中实现 ChatScript 策略?

如何在 RASA 中实现这种机器人驱动的对话?我对如何操作有点困惑。好的,RASA 规则可以触发第一个话语,然后我可以用故事示例设计流程?还是使用 RASA 表格?


我想实现一个混合倡议方案,其中:

  • 每次任何用户都可以向机器人询问常见问题解答/新闻等(拉模式)
  • (专家)患者能够传达自己的状态(拉模式)
  • 但机器人还需要收集一些提到的信息(填充插槽,例如在患者监控医疗保健应用程序中,医疗相关参数,明确向用户提问(推送模式)。

我对如何在 RASA 中实现这一点感到困惑。如何在没有以 RASA 形式进行严格/无聊的插槽序列处理的情况下编写信息收集对话框?

也许一个 crontab(外部)事件,按照这里的建议https://rasa.com/docs/rasa/reaching-out-to-user可用于注入触发会话会话的预定意图,使用 RASA 规则。到目前为止,一切都很好。

我不清楚的是如何以自然的对话方式管理类似“槽位填充”的数据收集,这可能允许用户自发地向用户提供一些数据或机器人向用户询问数据的混合倡议,如果(某些)会话数据丢失。

我知道我可以用 RASA 表格大致实现所有这些,但我相信这个解决方案是有限制的,因为在表格内,问题的顺序(收集插槽)是固定的。也许我更喜欢有一个更自然的混合主动轮流,用户可以与机器人交互询问东西和离题,但机器人会收集数据以明确询问以防万一。

关于如何在 RASA 中完成这一切的任何建议/帮助?

谢谢!
乔治奥

4

0 回答 0