簡體   English   中英

Alexa自定義意圖接受未存儲在可能的插槽中的值。應該觸發它的值

[英]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值中不是一個可能的無線電名稱。

所以我有兩個問題:

  1. 僅當用戶提供的slot.value有效時,才會觸發使用使用插槽的意圖嗎?
  2. 為什么Alexa接受“ What the Movie”而不是“ aenjaejfn”,畢竟它們都不是radio_name,因此一開始就不應觸發意圖。

創建自定義插槽類型時,要理解的關鍵概念是這是Alexa NLP(自然語言處理)的訓練數據。 您提供的值不是嚴格的枚舉或數組,它限制了用戶可以說的內容。 這有兩個含義

1)不在您的廣告位值中的單詞和短語會傳遞給您,

2)如果未知,您的代碼需要執行所需的任何驗證。

由於您知道該插槽的可接受值,因此請始終對代碼執行插槽值驗證。 這樣,當您收到類似“ aenjaejfn”之類的內容或不支持的內容時,您總是可以禮貌地回覆

“對不起,我聽不懂,你能再說一遍嗎”

要么

“很抱歉,我們的清單中沒有aenjaejfn。能否請您從[提供清單中的一些示例]中進行選擇?”

更多信息在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM