[英]Alexa custom intent accepts values which are not stored in the possible slot.values that should trigger it
如果用戶要求Alexa播放我在JSON文件中為Alexa控制台上的{radio}
插槽提供的電台之一,就會觸發我的意圖。 但是,如果用戶要求Alexa播放“ random_english_words”,則該意圖也有效。
為簡化起見,將發生以下情況:
-User: Alexa play A better radio
-Alexa: I will play A better radio
=> Alexa does her job just fine.
-User: Alexa play what the Movie
-Alexa: I will play what the Movie
Alexa應該發送錯誤,因為在radio_slot
值中“ what the Movie”不是一個可能的無線電名稱。 但是等等,這變得更加奇怪。
User: Alexa play aenjaejfn
Alexa: There was a problem with the requested skill's response
Alexa的工作很好,因為aenjaejfn在radio_slot值中不是一個可能的無線電名稱。
所以我有兩個問題:
創建自定義插槽類型時,要理解的關鍵概念是這是Alexa NLP(自然語言處理)的訓練數據。 您提供的值不是嚴格的枚舉或數組,它限制了用戶可以說的內容。 這有兩個含義
1)不在您的廣告位值中的單詞和短語會傳遞給您,
2)如果未知,您的代碼需要執行所需的任何驗證。
由於您知道該插槽的可接受值,因此請始終對代碼執行插槽值驗證。 這樣,當您收到類似“ aenjaejfn”之類的內容或不支持的內容時,您總是可以禮貌地回覆
“對不起,我聽不懂,你能再說一遍嗎”
要么
“很抱歉,我們的清單中沒有aenjaejfn。能否請您從[提供清單中的一些示例]中進行選擇?”
更多信息在這里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.