說得清用戶說我創造Dialogflow意圖AskForFruit
:Dialogflow:如何限制的動作參數的允許值之一
I want an apple
蘋果被分配到PARAM fruit
我想將fruit
的值限制爲'apple','orange'和'banana'
如果用戶說'桃子',代理將以'請選擇在蘋果,橙子和香蕉之間'
如何限制fruit
的價值僅限於這3種水果?
說得清用戶說我創造Dialogflow意圖AskForFruit
:Dialogflow:如何限制的動作參數的允許值之一
I want an apple
蘋果被分配到PARAM fruit
我想將fruit
的值限制爲'apple','orange'和'banana'
如果用戶說'桃子',代理將以'請選擇在蘋果,橙子和香蕉之間'
如何限制fruit
的價值僅限於這3種水果?
有兩件事情你需要:如果沒有
fruit
應該被分配到自定義實體類型自定義實體
你會選擇右側的Entity
菜單項創建自定義實體,然後創建實體。
你會在這個實體可以採取的可能值輸入。如果需要,您還可以爲某些實體添加別名。
當你去創造你的意圖,你要確保輸入的短語強調一個詞,實體類型正確選擇了這個詞。 (而且,正如在評論@Ido筆記,你可能想說的是所需要的參數。)
回退意向
當用戶說的一個,處理的情況下有效的水果。但是無效水果呢?你如何處理這取決於你正在談論的其他事情。
最簡單的解決方案是創建一個回退意圖,如果沒有其他匹配項,這是最後一招的意圖。如果您使用上下文,則可以爲特定上下文創建回退意圖,這是跟蹤您在對話中的位置的好方法。
在任何一種情況下,您都會編輯您的回覆,告訴他們可以選擇哪些有效的成果。
但是,如果你想,如果他們問你不想要的東西很明確迴應,你可以創建一個低優先級的意圖,如果沒有更好的匹配,將匹配。如果您有很多對話部分並且沒有使用上下文(但您應該使用上下文),或者希望爲更常規的消息保留回退意向,則此功能非常有用。
您可以通過單擊意圖名稱旁邊的點來更改意圖的優先級。因此,例如,如果您有一個AskForSomethingElse
意圖可以匹配更通用的@ sys.any類型,那麼您可以讓它使用有效類型進行響應。
在你想使您創建所需的實體「askForFruit的意圖,不是嗎? –
好點 - 可能。奇怪的是,在這種情況下,如果你沒有指定一個有效的水果,它會貫穿到'AskForSomethingElse'意圖,所以最終的結果差不多。但這不是很好的做法。我已經更新了答案。謝謝! – Prisoner
酷!謝謝! –