[英]IBM Watson Assistant - how to use input.text inside Slots
我正在將 IBM Watson Assistant 用於聊天機器人。 我有一個帶有兩個插槽的對話節點。 第一個插槽工作正常。 節點被觸發並且機器人請求第一個插槽,因為它不存在。
然后我想讓機器人要求第二個插槽。 給出的答案應該存儲在一個 $variable 中。 我試圖用input.text
來實現這一點,因為我想存儲那里給出的每一種輸入。
但是,機器人並沒有要求第二個插槽,而是跳過它並將插槽一中給出的答案存儲在插槽二 $variable 中。 我猜這是因為機器人還會檢查input.text
是否存在於插槽一中。 為了清楚起見,我沒有激活“提示一切”選項。
我該如何克服呢?
我相信我的測試環境的這些屏幕截圖會讓一切變得更加清晰:
這是因為input.text
作為檢查匹配所有輸入,所以無論您輸入什么,您的第二個插槽將始終得到滿足。
插槽的工作方式是,以什么順序給出信息或給出多少信息都無關緊要。
例如:假設我有一個查找“產品”、“數量”和“交貨日期”的訂購系統
請求“我想要 2 月 3 日的勺子”
然后兩個槽“產品”和“交貨日期”得到滿足,output 響應將提示缺少“數量”槽。
在您的情況下,您需要確定您要收集哪些信息。 是否存在將唯一匹配輸入的實體或意圖。 如果是這樣,那么您可以使用插槽。 作為蠻力匹配,您可以使第二個插槽的條件更復雜。
例如,在查找訂單確認時,您可以添加條件,該條件僅在上述所有槽都完成時觸發,並且您正在尋找確認您是否正確收集了指令。
(#yes || #no) && slot_in_focus
如果這種方法不適合您的應用程序,那么您應該在插槽節點之后收集此信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.