gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 00:49:01 25 4
gpt4 key购买 nike

我正在尝试使用 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/

25 4 0