【问题标题】:DialogFlow Fulfilment - How to get both original and default value for a parameterDialogFlow Fulfillment - 如何获取参数的原始值和默认值
【发布时间】:2018-12-26 17:54:00
【问题描述】:

我正在尝试从 $time 和 $time.original 的意图中获取时间值。我需要 $time 值对其进行一些处理,并且我需要 $time.original 将输出显示给用户。

例如,如果用户说“你明天营业吗?”,我想回答“是的,我们明天营业吗?”但在后端,我需要日期“明天”的值来进行处理。

任何帮助将不胜感激。

【问题讨论】:

    标签: dialogflow-es chatbot dialogflow-es-fulfillment


    【解决方案1】:

    首先,如果您想获取 tomorrow 等实体的值而不是 @sys.time,则需要 @sys.date 实体

    现在问题来了,直接提取参数值只会给我们解析的日期值,而不是原始值。
    但是,如果我们设置一个输出上下文,那么我们可以从该上下文中提取解析值和原始值。

    这是我们在 webhook 上获得的请求,我们可以通过解析我们在 Intent 中设置的输出上下文来获取日期和 date.original:

    {"responseId":"###","queryResult":{"queryText":"你打开了吗 明天","参数":{"date":"2018-12-28T12:00:00+05:30"},"allRequiredParamsPresent":true,"fulfillmentText":"","fulfillmentMessages":[{"text ":{"text":[""]}}],"outputContexts":[{"name":"projects/###/agent/sessions/###/contexts/time","lifespanCount":5 ,"参数":{"date":"2018-12-28T12:00:00+05:30","date.original":"明天"}}],"intent": {"name":"projects/###/agent/intents/###","displayName":"time-intent"},"intentDetectionConfidence":1,"languageCode":"en"}}

    【讨论】:

      【解决方案2】:

      我还没有尝试过,但我想你可以用它解析它系统实体Dialogflow system Entities 因为它们显示为@sys.date,并且示例与您需要的匹配。我猜它会将它处理成日期

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-22
        • 1970-01-01
        • 2013-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多