簡體   English   中英

IBM Watson Assistant:如何允許從具有非條件子節點的對話節點離題?

[英]IBM Watson Assistant: How to allow digressions from dialog node with a non-conditional child node?

我創建了一個聊天機器人來回答我網站上的一些幾何問題。 使用 IBM 課程中關於如何使其對用戶友好的示例,我有一個歡迎節點詢問用戶名,然后在子節點中讀取該用戶名,該子節點始終為真(“如果助手識別:”真)使用

<? input.text.substring(0, 1).toUpperCase() + input.text.substring(1)?>

然后我看到大多數用戶忽略了歡迎節點中詢問他們姓名的問題,並直接跳入提問。 我想為回答問題的節點啟用題外話,但在對話生成器中,父節點不允許題外話,因為

“此節點的子節點阻止離題 - 此節點的子節點條件為 any_else 或 true,因此它始終會在離題發生之前觸發。”

在子節點中,沒有啟用離題,因為

“這個節點沒有子節點如果一個節點沒有子節點,因為流程已經結束,所以不可能離題。”

有什么辦法嗎?

如果您要詢問用戶的姓名,插槽是最佳選擇。 如果未提供,以下是提示用戶輸入姓名的方法

在使用 Slots 之前,我建議您創建一個實體 (@name) 和一個可選意圖 (#ask-for-name)。 查看本文以獲取有關使用 IBM Watson Assistant 檢測名稱和位置的更多信息

  • 在歡迎節點上,單擊Customize並啟用Slots 這會向您的節點添加一個新部分。
  • check for ,輸入實體@name。 將響應保存在上下文變量 ($name) 中。
  • 如果回復中沒有姓名,則提示問題Please provide your name before asking a Geometry Q 在此處輸入圖像描述

現在,當您嘗試時。 這是您看到的內容,當您單擊Manage Context時,您可以看到響應中的名稱已分配給$name ,現在您可以在任何其他節點中使用 $name 來解決此人的問題

在此處輸入圖像描述

暫無
暫無

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

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