首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RASA核心中的响应生成是如何工作的?

RASA核心中的响应生成是如何工作的?
EN

Stack Overflow用户
提问于 2018-08-04 06:03:52
回答 1查看 2.2K关注 0票数 1

我对聊天机器人非常陌生,并开始使用RASA作为框架。并想知道RASA采用哪种方法作为响应生成技术。(非NLG)

从理论上讲,有两种非NLG技术:

  1. 模板驱动NLG
  2. 改进的神经网络与ML

那么,他们用的是什么方法呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-04 13:24:19

RASA堆栈足够灵活,可以支持这两个用例。

您的问题的文档(v: 0.10.3)可以在:http://www.rasa.com/docs/core/responses/找到

TL;DR

RASA提供了一个内置模板的 NLG。但是,它还允许您连接到NLG的外部HTTP服务器。在服务器上发生的事情取决于您,它可能是一个基于神经网络的 NLG服务器,但这需要由您来完成。

模板驱动NLG

从医生那里:

默认格式是,将话语包含到您的域文件中。然后,该文件包含对所有自定义操作、可用实体、插槽和意图的引用。

域文件的一个部分将包括一个模板部分。下面是文档中的一个示例:

代码语言:javascript
复制
templates:
  utter_greet:
    - "hey there {name}!"    # variable will be filled by slot with the same name or by custom code
  utter_goodbye:
    - "goodbye "
    - "bye bye "              # multiple templates will allow the bot to randomly pick from them
  utter_default:
    - "default message"

改进的神经网络与ML

从医生那里:

对机器人进行再培训,仅仅为了更改文本副本,对于某些工作流来说可能不是最优的。这就是为什么Core还允许您将响应生成外包,并将其与对话学习分离开来。 机器人仍将学习根据过去的对话预测动作和对用户输入作出反应,但是它发送给用户的响应是在Rasa Core之外生成的。 如果bot想向用户发送消息,它将使用POST请求调用外部HTTP服务器。要配置此端点,需要创建一个endpoints.yml并将其传递给运行脚本或服务器脚本。

核心将与您的服务器与对话的信息,包括用户的发言,意图和插槽填补。然后,您的服务器将有一个基于神经网络的NLG (由您开发),它将返回机器人应该向用户显示的文本。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51682957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档