为什么我应该在 Google Nodejs 客户端库的 Actions 中使用 dialogflow() 而不是 actionssdk()
Why should I used dialogflow() over actionssdk() in Actions on Google Nodejs client Library
基于 V1 到 V2 Node.js 客户端库 Migration guide 有两种收听对话的方式
所以下面的代码来自 V1
const {DialogflowApp } = require('actions-on-google');
const actionMap = new Map();
actionMap.set('input.welcome', app => { app.ask('How are you?'); });
...
可以替换为 dialogflow 模块
const { dialogflow } = require('actions-on-google');
const app = dialogflow();
app.intent('Default Welcome Intent', conv => { conv.ask('How are you?'); });
或 Actions SDK 模块
const { actionssdk } = require('actions-on-google');
const app = actionssdk();
app.intent('actions.intent.MAIN', conv => { conv.ask('How are you?'); });
在第一种情况(dialogflow)中,您通过名称识别 Intent,但在第二种情况(actionSdk)中,您通过操作名称识别它。
为什么我应该使用一种而不是另一种?每种方法的优点和局限性是什么?
这两个库都会提供您的 Action 用户所说内容的转录。您使用哪个库取决于您打算如何理解文本 - 理解它并做出相应的反应。如果您打算以定制的方式解析它,或者如果您有自己的自然语言处理器(又名 NLP/NLU),您可以使用 Actions SDK。如果你不这样做,你可以使用 Dialog Flow 作为 NLP 及其库。
基于 V1 到 V2 Node.js 客户端库 Migration guide 有两种收听对话的方式
所以下面的代码来自 V1
const {DialogflowApp } = require('actions-on-google');
const actionMap = new Map();
actionMap.set('input.welcome', app => { app.ask('How are you?'); });
...
可以替换为 dialogflow 模块
const { dialogflow } = require('actions-on-google');
const app = dialogflow();
app.intent('Default Welcome Intent', conv => { conv.ask('How are you?'); });
或 Actions SDK 模块
const { actionssdk } = require('actions-on-google');
const app = actionssdk();
app.intent('actions.intent.MAIN', conv => { conv.ask('How are you?'); });
在第一种情况(dialogflow)中,您通过名称识别 Intent,但在第二种情况(actionSdk)中,您通过操作名称识别它。
为什么我应该使用一种而不是另一种?每种方法的优点和局限性是什么?
这两个库都会提供您的 Action 用户所说内容的转录。您使用哪个库取决于您打算如何理解文本 - 理解它并做出相应的反应。如果您打算以定制的方式解析它,或者如果您有自己的自然语言处理器(又名 NLP/NLU),您可以使用 Actions SDK。如果你不这样做,你可以使用 Dialog Flow 作为 NLP 及其库。