捕捉错过的话语

时间:2018-12-04 18:13:31

标签: amazon-web-services aws-sdk amazon-cloudwatch amazon-lex

有人知道是否完全有可能捕获错过的话语?我没有看到错过的用户登录到CloudWatch。我知道您可以在24小时后在Lex Console中查看它们,但是我正在尝试使用附加到它们的数据来捕获它们。

到目前为止,控制台仅向您提供遗漏的语音内容,被说出的次数以及上次被说出的时间。我希望将其余的“数据”附加到这些遗漏的语音中;例如客户所说的话。

有人知道使用AWS或当前具有lambda或类似名称的SDK(.NET)是否可行?

1 个答案:

答案 0 :(得分:1)

缺少的插槽输入可以被捕获并登录到您的Lambda中。
我建议使用sessionAttributes来跟踪last_elicit之类的内容,然后您可以确定该插槽是否未满,然后以任意方式记录来自inputTranscript的未输入内容。

我经常强行用inputTranscript中的内容填充插槽,然后自己处理,因为我发现Lex有时会忽略合法的插槽输入。


缺失的意图输入由Lex处理并自动响应。

您在Lex中唯一可以处理错过的Intent输入的控件是自定义响应。转到您的Lex Console,在“编辑器”标签下,在左下方查看“错误处理”,

enter image description here

打开该菜单,您将看到: enter image description here

Lex准备这些“澄清提示”之一,并在不将任何内容传递给Lambda函数的情况下返回。

这就是为什么您无法使用Lex的基本设置来记录有关遗漏意图言语的任何信息。因此,这是使用两个Lambda函数进行的更复杂的设置:

enter image description here

此“ Pre-Lex Lambda”充当用户和Lex机器人之间的代理。这意味着您不使用Lex的内置Channel设置,而必须在Channels与“ Pre-Lex Lambda”之间建立自己的集成。

然后,您还需要使用PostContentPostText来将用户的输入传递给Lex机器人。

设置好之后,您最终将能够捕获其中一个澄清提示的Lex响应,然后记录自己有关丢失的意图输入的详细信息。


有用的参考文献
AWS SDK for .NET
SDK .NET API Docs for Lex
SDK .NET API Docs for Lambda
Example setting up a Lambda using SDK(.NET)