【问题标题】:Access the user input/utterance from Lex in python Lambda function在 python Lambda 函数中从 Lex 访问用户输入/话语
【发布时间】:2017-06-25 19:50:14
【问题描述】:

我正在寻找一种方法来访问用户在 Python Lambda 函数代码中对 Lex 提出的实际问题(或话语)。当我在lambda_handler(event, context) 中打印event 参数时,我看到打印了以下内容:

input_request={'messageVersion': '1.0', 'invocationSource': 'FulfillmentCodeHook', 'userId': 'user1', 'sessionAttributes': None, 'bot': {'name': 'bot_name', 'alias': None, 'version': '$LATEST'}, 'outputDialogMode': 'Text', 'currentIntent': {'name': 'bo1', 'slots': {'Time': '10:00','Date': '2017-06-20'}, 'confirmationStatus': 'Confirmed'}, 'inputTranscript': 'yes'}

我没有看到任何选项来访问用户提出的实际问题,甚至没有看到与该特定问题相匹配的话语。万一我错过了,有什么办法吗?

【问题讨论】:

    标签: python lambda aws-lambda amazon-lex


    【解决方案1】:

    我可以确认 ddperdue 的答案,inputTranscript 持有话语

    所以你可以从中提取它

    事件['inputTranscript']

    【讨论】:

      【解决方案2】:

      用户的话语可以在inputTranscript 键中找到。在您发布的示例中,它是“是”。

      【讨论】:

        【解决方案3】:

        您需要创建插槽类型和意图。只有这样currentIntent 才能被用户输入/话语填充。

        事件输入格式此时没有话语。

        您可以获得list of utterances to your bot 并对其进行处理以获取插槽类型的最新话语。

        参考:

        【讨论】:

        • 我在Lex 控制台和currentIntent 上创建了intentsslots,我得到的只是意图名称、插槽名称和值。我没有看到引发这种意图的话语或最初的问题。在我上面的帖子中,我更新了我的currentIntent
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-01-11
        • 1970-01-01
        • 1970-01-01
        • 2018-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多