【问题标题】:Dialogflow not triggering prompt for required parametersDialogflow 未触发所需参数的提示
【发布时间】:2018-04-26 14:06:10
【问题描述】:

我有一个问题,即我为意图中所需的参数定义的提示在缺少参数时根本不会触发。如果参数丢失,模拟器会以“对不起,我没听清”响应。

一个例子:

使用dialogflow-fulfillment nodejs 库的函数代码:

function test(agent) {
    let age = agent.parameters.age.amount;
    let conv = agent.conv();
    conv.ask('This is from the backend: ' + age);
    return agent.add(conv);
}

Dialogflow 的意图:

模拟器:

【问题讨论】:

    标签: actions-on-google dialogflow-es


    【解决方案1】:

    问题在于您使用的训练短语包含一个数字,因此机器学习将模式视为大致类似于“如果该人说'测试'后跟一个数字,则触发此意图。”

    但是在测试时,我们只是使用了一个短语“test”。模式检测没有将数字视为短语的一部分,因此它认为它与该意图不匹配。

    为了解决这个问题,您可以添加“测试”的训练短语而不给它一个参数。这将匹配短语,但仍需要确保“年龄”参数有一个值,因此它会提示输入它。

    【讨论】:

    • 我明白了,我一直认为有必要包含它。例如。在您询问人名是什么的意图中,您还必须包含“我的名字”作为触发器,后面没有实际值,这对我来说似乎很奇怪。
    • 这样想。为什么一个人在谈话中会说“我的名字是”。如果他们真的这么说......你会感到困惑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    • 2019-01-15
    • 1970-01-01
    • 2023-02-15
    • 2017-02-17
    相关资源
    最近更新 更多