簡體   English   中英

Watson Assistent 中的對話節點和意圖問題

[英]Problem with dialog nodes and intents in Watson Assistent

我正在使用 IBM Watson Assistant 創建聊天機器人。 我正在使用帶有意圖、實體和對話流|樹的 Web 界面(我不知道它是如何調用的,我只是將其稱為 Web 界面)。 我有四個問題,希望有人能幫忙解決。

  1. 我創建了兩個 Intens:#how_are_you 和一個例子“你好嗎?” 和意圖#feeling_good 示例“我很好”。 當然,我有更多關於這兩個意圖的例子。 在對話框中,我現在有一個尋找#feeling_good 的父節點和一個尋找#how_are_you 的子節點(跳過中間的用戶輸入)。 當用戶現在輸入句子“我很好。你好嗎?” 那么只有#feeling_good 被觸發,而不是#how_are_you。 如何僅用一個用戶輸入觸發兩個意圖?

  2. 我希望對話框中有一個節點等待 100 秒,然后向用戶發送另一條消息。 等待沒有問題(使用暫停)但是如果用戶在等待期間沒有發送另一條消息,我怎么能做到在 100 秒后只發送一條消息? 這意味着當用戶發送消息時,應該取消等待節點。

  3. 我有一個檢查特定意圖的節點。 當意圖不匹配時,我將跳回到父節點。 問題是來自父節點的文本每次都會重復。 跳回時如何防止這種重復?

  4. 最后一個問題可能有點棘手。 我想定義一個數字數組 [1,2,3,4,5]。 然后一個節點應該從該數組(例如2)中采樣一個沒有替換的隨機數,即剩余的數組是[1,3,4,5]。 一段時間后,另一個節點應該從數組中隨機選擇另一個數字(比如 4)。 等等。 如何實施? 我知道變量(例如 $var),但我不知道如何表示數組和樣本隨機數。

非常感謝您提前回答。 並祝大家新年快樂。

1) 在 Watson Assistant 中,始終首先使用具有最高置信度的意圖。 因此,處理由一個句子觸發的多個意圖是很棘手的。 “最佳”解決方案是使用復合意圖 - #HELLO_HOW_ARE_YOU。 或者,您可以創建條件來檢查返回的前兩個意圖是否是 #HELLO 和 #HOW_ARE_YOU 的組合

2) 由於不活動而等待和發送消息最好由在您的界面中實現聊天控制台的客戶端處理。 WA 不太適合這些類型的操作,雖然有一些支持,但更好的處理方法是讓您的客戶端應用程序 - 當檢測到不活動時 - 發送一些將映射到 #INACTIVITY_INTENT 的內容,WA 將響應您的消息加上那個意圖。

3)不要跳轉到節點而是跳轉到該節點的第一個子節點並使用wait for user input

4)這是可能的。 WA 表達式語言支持獲取隨機數、獲取數組的大小和從數組中刪除元素。 例如<? $array.remove(new Random().nextInt(3))?> <? $array.remove(new Random().nextInt(3))?>

暫無
暫無

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

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