AWS LEX

0

Hi all,
I have a requirement. While I am serving an intent in LEX, if I type utterence of other matching intent, LEX is calling the latter intent. Instead I need to ask for confirmation like ' Do you quit existing service {intentName}?'

How this can be achieved?

Devaki
已提問 4 年前檢視次數 343 次
1 個回答
1

Hi Devaki,

The behaviour you are expecting can be achieved by responding with ConfirmIntent dialogAction from your Initialization and validation code hook Lambda.
One of the ways to achieve this is by checking if the previous intent is completed, by looking at the fulfillmentState of the first intent in the list of recentIntentSummaryView in the event received by lambda.
If the fulfillmentState on this intent is not of these: Fulfilled, Failed or ReadyForFulfillment. It means that the intent was not completed and user tried to switch intents.

At this point, you can respond back with ConfirmIntent to confirm if your customer really want to switch the intents.
Here is an pseudo code showing how this can be achieved:

previousIntent = event[“recentIntentSummaryView”][0]
 
if previousIntent[“fulfillmentState”] != “Fulfilled” && previousIntent[“fulfillmentState”] == “Failed” && previousIntent[“fulfillmentState”] == “ReadyForFulfillment” {
                // previous intent is not completed, user is trying to switch intents mid conversation
}
已回答 4 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南