【问题标题】:Dialogflow: Respond based on values and other conditional responsesDialogflow:根据值和其他条件响应进行响应
【发布时间】:2018-12-30 01:56:50
【问题描述】:

我从用户那里获得了$dinetype 变量。

但我想根据$dinetype 变量中设置的值给出响应。除了给出回应,我还需要设置相关的上下文。如何在 DialogFlow 中执行此操作?

if($Dinetype=='dineout') 
      ask ('which restaurant would you like to go to?')
      set_context ('awaiting-restaurant')
if($Dinetype=='takeaway') 
      ask ('When would you like to take away?')
      set_context ('awaiting-takeaway-time')

它是可编程的吗?或者是否有可能在 UI 中实现与上述相同的功能?

【问题讨论】:

    标签: if-statement dialogflow-es api-ai


    【解决方案1】:

    编辑:添加了一种更简单的方法来直接在 Dialogflow 中处理此问题


    (更新解决方案)后续意图:

    创建 Intent 后,您现在可以添加后续 Intent。
    Intents -> 创建 Intent [响应=提示条件响应]

    意图 -> 添加后续意图 -> 自定义/是/否

    然后将训练表扬设置为您想要有条件地响应的匹配实体

      

     


    旧的 HACKY 解决方案:


    回复晚了,但也许有人会觉得这很有用。

    如果条件响应只需要引用单个参数 价值,然后我想出你能做的就是利用实体的 “参考值”作为您要对特定的响应给出的响应 同义词集。

    所以你会有一个看起来像这样的实体:

    然后,像这样设置你的意图,回复$Dinetype

    那么最终的结果会是这样的:

    你可以从那里做出任何你需要的后续意图。

    缺点是 Dinetype 不会被重复使用。但我还是觉得 每次你需要一个简单的时候都写一个履行网络钩子 条件响应。

    【讨论】:

    • 这既绝妙又残酷。 {:
    • 绝对精彩。不错的解决方案!
    【解决方案2】:

    您不能直接在“响应”部分执行此操作。响应部分用于处理不需要大量逻辑的相当简单的响应。尽管您可以在响应中使用参数,但您不能根据参数的值给出不同的响应。因此,您可以设置对

    之类的响应
    I think $Dinetype is great food.
    

    但不是

    {{#if $Dinetype == "Thai"}}I think Thai food is too hot{{/if}}
    

    或类似的东西

    但是,您可以通过实现Fulfillment webhook 添加发送条件响应和上下文的代码。尽管您不能将每个 Intent 作为 Intent 编辑器屏幕的一部分执行此操作,但 Fulfillment 屏幕包含一个内置代码编辑器。

    【讨论】:

    • 仅根据值返回响应,我们不能使用“文本响应”字段怎么办?
    猜你喜欢
    • 2021-06-08
    • 2018-11-13
    • 1970-01-01
    • 2014-03-21
    • 2023-03-23
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多