为什么我应该在Google Node.js客户端库中的Actions中的actionsdk()之上使用dialogflow()

时间:2018-07-10 10:43:34

标签: node.js actions-on-google

基于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?'); });

在第一种情况(对话框流)中,您用意图的名称来表示意图,而在第二种情况(actionSdk)中,您从动作名称中识别出它。

为什么我要一个又一个地使用?每种方法的优点和局限性是什么?

1 个答案:

答案 0 :(得分:5)

这两个库都将传递您Action用户所说的内容。您使用哪个库取决于您打算如何理解文本-理解文本并做出相应反应。如果您打算以定制的方式对其进行解析,或者您拥有自己的自然语言处理器(又名NLP / NLU),则可以使用Actions SDK。如果不这样做,则可以将Dialog Flow用作NLP及其库。