Google对话流小谈话问题

时间:2018-06-18 09:48:56

标签: node.js nlp google-cloud-platform actions-on-google dialogflow

我正在使用谷歌对话框流程开发聊天机器人应用程序。我正在使用节点js客户端https://github.com/dialogflow/dialogflow-nodejs-client-v2来访问我的聊天机器人的数据。我从对话框流程控制台启用了小谈话,当我从对话框流程网络演示或控制台中使用它时,它可以正常工作

enter image description here

对于同一个聊天应用程序,我已经使用dialogflow node js client实现了api。

 if (req.body.text) {
        query = req.body.text;
    }
    // Get the city and date from the request
    var request = {
        session: sessionPath,
        queryInput: {
            text: {
                text: query,
                languageCode: languageCode,
            },
        },
    };
    // Send request and log result
    sessionClient
        .detectIntent(request)
        .then(responses => {
            console.log('Detected intent');
            const result = responses[0].queryResult;
            console.log(`  Query: ${result.queryText}`);
            console.log(`  Response: ${result.fulfillmentText}`);
            if (result.intent) {
                res.json({ "text": result.fulfillmentText });
            } else {
                res.json({ 'fulfillmentText': "No intent matched" });
                console.log(`  No intent matched.`);
            }
        })
        .catch(err => {
            console.error('ERROR:', err);
        }); 

那里我没有得到我想要的结果。相反,它会转向不同的意图

enter image description here

我在这里做错了什么..

1 个答案:

答案 0 :(得分:1)

Dialogflow代理程序的Small Talk部分中定义的查询将没有关联的意图。如果存在匹配意图,那么您不应该将该查询真正添加到Small Talk中。因此,由于没有匹配意图,Dialogflow节点库将返回不匹配的意图。