使用dialogflow.ai/api.ai和Microsoft Bot Builder

时间:2017-11-09 12:15:30

标签: botframework chatbot dialogflow

我正在使用给定的技术堆栈构建机器人:

  1. Microsoft Bot Builder
  2. Node.js的
  3. Dialogflow.ai(api.ai)
  4. 我们使用瀑布模型来实现匹配的intent Dialog,其中包含一些处理函数和提示。在遵循这个场景之后,我需要识别内部处理函数内的实体,用于用户输入。

    例如:

    Bot:你想在哪里飞?

    用户:新加坡。 (为此我们添加了像SIN - Singapore,SIN(同义词)这样的实体,所以我需要将值解析为SIN)

    非常感谢您对此方案的任何帮助。

1 个答案:

答案 0 :(得分:0)

这是一篇帖子Using api.ai with microsoft bot framework,您可以参考您的要求,以及https://github.com/GanadiniAkshay/weatherBot/blob/master/api.ai/index.js的样本。此示例中使用的天气API密钥已过期,但瀑布和识别器api密钥仍在运行。

一般来说:

  • 使用api-ai-recognizer
  • 实例化apiairecognizer并利用builder.IntentDialog加入recognizer

     var recognizer = new apiairecognizer("<api_key>");
     var intents = new builder.IntentDialog({
         recognizers: [recognizer]
     });
    
  • IntentDialog中,使用builder.EntityRecognizer.findEntity(args.entities,'<entity>');识别意图实体。