在Dialogflow中从购物车中添加和删除商品

时间:2018-11-22 02:30:20

标签: javascript artificial-intelligence dialogflow

我正在使用Dialogflow(Chatbot制造商)制作Food Ordering应用的原型,并陷入了这个问题。从技术上讲,在用户决定“向其订单中添加更多商品”并满足所有必需的参数Intent之后,我想保留从(itemName, quantity, [variants], [sauceType], ...)收集的数据。

聊天机器人应该能够处理包含多个项目及其相应数量的请求,但是我不确定是否可以对包含Entities数组的数据进行建模。就是使用基于会话的Webhook和我们的自定义Web服务使用持久性Fulfillment,例如:foodorder/api/order/123/items/add123是会话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"
        }
    ]
}

1 个答案:

答案 0 :(得分:0)

发现我正在寻找的是复合实体,并将其标记为列表。

详细的答案可以在此链接上找到: https://stackoverflow.com/a/47166123/2304737