API.ai bot使用与用户相同的措辞

时间:2017-09-26 09:30:00

标签: chatbot dialogflow

我是api.ai的新手,并试图让机器人适应用户的词汇量。例如,如果首先机器人询问用户是否想要说话,用户会说是/是/好/好等等,我想再次使用该答案给用户。我可以这样做吗?谢谢!

1 个答案:

答案 0 :(得分:2)

  1. 创建yesaffirmative API.AI entity。在实体中包含所有同义词值(例如您所描述的yes / yep / okay / ok)。
  2. 使用用户可能首先说出的所有用户查询的示例创建一个intent(您可能需要在多个意图中包含yes实体)。
  3. 创建一个webhook(fulfillment getting started guide here)。在webhook中检查webhook request中的yes参数,如果它存在,则在数据库中记录值以及用户标识符(由您选择的平台提供,如Google AssistantSlack)以便稍后在对用户的响应中进行检索。
  4. 下面是一些使用Cloud Functions for Firebase执行API.AI代理和the Firebase Realtime Database的非工作代码,用于存储用户数据,这将是您实现的良好起点:

    const functions = require('firebase-functions');
    const admin = require("firebase-admin");
    const db = admin.database();
    const ref = db.ref("your/firebase/database/here");
    
    exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
      const parameters = request.body.result.parameters;
      if (parameters['yes']){
        var usersRef = ref.child("users");
        usersRef.set({
          userId: {
            yes: parameters['yes']
          }
        });
      }
    });