Irv*_*tes 5 chatbot dialogflow-es
我正在尝试使用 DialogFlow 创建一个聊天机器人来处理我们的用户注册过程。现在,我遇到了 $sys.given-name 实体的问题。它似乎无法解析具有多个标记的给定名称(即 Peter Paul、Tommy Lee 等)。
Dialogflow 支持实体列表,您可以使用它来解决您的问题。
在用户说的短语中输入名称,例如“Tommy Lee”。您会看到这被检测为名字和姓氏。
现在,选择当前突出显示为 的“Lee”部分@sys.last-name。然后,您可以使用 UI 将其重新分类为@sys.given name:given-name。标记:参数名称,因此这是一个@sys.given-name具有参数名称的实体given-name。
两个名称部分现在都分配给参数 name given-name。因此,given-name参数现在是一个列表。您可以在下面的用户界面中看到这一点;“IS LIST”框被选中。
现在,您可以提供任意一组名字,系统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"
}
Run Code Online (Sandbox Code Playgroud)
这里的一个问题是,如果您$given-name在响应中使用,Dialogflow 会将该项视为列表 - 因此对于 Tommy Lee,“您的名字是 $given-name”将被插入为“您的名字是 Tommy 和 Lee”。您可以通过使用履行并在 Webhook 中自行进行插值来解决此问题。
| 归档时间: |
|
| 查看次数: |
5047 次 |
| 最近记录: |