我正在使用Dialogflow(Chatbot制造商)制作Food Ordering应用的原型,并陷入了这个问题。从技术上讲,在用户决定“向其订单中添加更多商品”并满足所有必需的参数Intent
之后,我想保留从(itemName, quantity, [variants], [sauceType], ...)
收集的数据。
聊天机器人应该能够处理包含多个项目及其相应数量的请求,但是我不确定是否可以对包含Entities
数组的数据进行建模。就是使用基于会话的Webhook和我们的自定义Web服务使用持久性Fulfillment
,例如:foodorder/api/order/123/items/add
和123
是会话ID。但是这种方法需要更多的工作,并且生成的模型可能很难在Dialoflow Console中进行转换。
我想到的第二个解决方案是利用名为Action and Parameters
的Intent属性,在该属性中将Entity
标记为List
,但是使用这种方法,数量不会得到附加到商品本身。
我的问题是,如何使用类似于以下内容的Dialogflow建模数据:
{
"givenName": "Dummy User",
"order": [
{
"itemName": "Burger",
"quantity": 2
},
{
"itemName": "6 piece Chicken Nuggets",
"quantity": 1,
"sauceType": "Tangy Barbeque"
},
{
"itemName": "Coke",
"quantity": 1,
"size": "Small"
}
]
}
答案 0 :(得分:0)
发现我正在寻找的是复合实体,并将其标记为列表。
详细的答案可以在此链接上找到: https://stackoverflow.com/a/47166123/2304737