chatbot - 对话流 : handling given-names with multiple segments

标签 chatbot dialogflow-es

我正在尝试使用 DialogFlow 制作一个聊天机器人来处理我们的用户注册过程。现在,我遇到了 $sys.given-name 实体的问题。它似乎无法解析具有多个标记的给定名称(即 Peter Paul、Tommy Lee 等)。

It can parse "Mary", but if I enter "Peter Paul", it only parses "Peter"

最佳答案

Dialogflow 支持 列表 实体,您可以使用它来解决您的问题。

在您的用户说短语中输入名称,例如“汤米李”。您会看到这被检测为名字和姓氏。

Dialogflow UI

现在,选择当前突出显示为 @sys.last-name 的“Lee”部分。 .然后,您可以使用 UI 将其重新分类为 @sys.given name:given-name . :标记参数名称,所以这是一个 @sys.given-name具有参数名称 given-name 的实体.

Dialogflow UI

两个名称部分现在都分配给参数名称 given-name .正因为如此,given-name参数现在是一个列表。您可以在下面的 UI 中看到这一点;选中“IS LIST”框。

Dialogflow UI

现在,您可以提供任何一组名字和 given-name将是一个填充所有这些的列表。如果您在控制台中尝试此操作,您将看到 JSON 将包含在 given-name 下的名称数组。 .

{
  "id": "cd91e7a1-be53-422e-a3f9-cb1feb3f49bb",
  "timestamp": "2018-01-25T00:13:13.948Z",
  "lang": "en",
  "result": {
    "source": "agent",
    "resolvedQuery": "Tommy Lee",
    "action": "",
    "actionIncomplete": false,
    "parameters": {
      "given-name": [
        "Tommy",
        "Lee"
      ]
    },
    "contexts": [],
    "metadata": {
      "intentId": "80b4d66b-ae95-43fd-afee-c590f049a123",
      "webhookUsed": "false",
      "webhookForSlotFillingUsed": "false",
      "intentName": "Multiple names"
    },
    "fulfillment": {
      "speech": "Your name is Tommy and Lee",
      "messages": [
        {
          "type": 0,
          "speech": "Your name is Tommy and Lee"
        }
      ]
    },
    "score": 1
  },
  "status": {
    "code": 200,
    "errorType": "success",
    "webhookTimedOut": false
  },
  "sessionId": "d1053c3e-4009-4556-8560-3b9fd23eefe5"
}

这里的一个问题是,如果您使用 $given-name在您的回复中,Dialogflow 会将项目视为列表 - 因此对于 Tommy Lee,“您的名字是 $given-name”将被插入为“您的名字是 Tommy and Lee”。您可以通过使用实现并在 webhook 中自己进行插值来解决此问题。

关于chatbot - 对话流 : handling given-names with multiple segments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48394297/

相关文章:

node.js - 如何将 INTENT_CONFIDENCE 断言者作为全局变量放入 Botium

node.js - 我如何验证用户的输入?

.net - 使用 Bot Framework 在 Facebook Messenger 中的轮播布局中实现自适应卡片

python - Google App Engine : from six. 移动导入 http_client 没有名为移动的模块

node.js - 将 webhook 连接到 Facebook Messenger 机器人时遇到问题

javascript - 聊天机器人应答/响应时间 js 中的代码

android - 基于 DialogFlow 语音的应用程序数据库搜索(iOS 和 Android)

java - DialogFlow Google Assistant 的正确履行消息格式

python-2.7 - httplib.ResponseNotReady 与 api.ai

python - JWT 从断言解码 - Google 登录