設計知識 Bot
適用于: SDK v4
您可以設計幾乎涵蓋任何主題的知識 Bot。 不論知識 Bot 的設計使用案例為何,其基本目標一律相同:尋找並傳回使用者透過搜尋資料主體所要求的資訊。
例如,一個知識 Bot 可能會回答有關「此會議中有哪些 Bot 事件?」、「下一個 Reggae show 的時機?」或「神秘 Tame Impala?另一個可能會回答 IT 相關問題,例如「如何?更新我的作業系統?」或「我要在哪裡重設密碼?」。 然而,另一個可能回答有關連絡人的問題,例如「神秘是 John Doe? 或 」Jane Doe 的電子郵件地址是什麼?
本文涵蓋您可以新增至 Bot 的一些 AI 功能,例如讓使用者搜尋資訊、詢問問題或與資訊互動。 Bot Framework SDK 支援哪些 Azure AI 服務,請參閱 自然語言理解 。
提示
Azure AI 服務包含不斷演進的技術。 本文說明較新的和較舊的功能。
關於信賴分數
某些功能可讓 Bot 從知識庫或語言模型傳回信息,以符合使用者問題或查詢。
例如,如果使用者向音樂知識 Bot 詢問有關 「impala」 的資訊(而不是樂隊的完整名稱 「Tame Impala」),Bot 可以回應最有可能與該輸入相關的資訊。 同樣地,語言理解功能可以使用語言模型,從使用者輸入擷取可能 意圖 。 例如,如果使用者要求旅行社 Bot「預訂房間三天」,Bot 可能會擷取「保留房間」意圖,然後收集詳細資料。
搜尋和意圖辨識都會傳回信賴分數,這表示引擎具有特定結果正確信賴等級。 使用信賴分數來排序結果,或根據答案的整體信賴度,以不同的方式回應。
注意
當您將不同的服務或功能類型組合在一起時,請測試每個工具的輸入,以判斷每個模型的臨界值分數。 服務和功能會使用不同的評分準則,因此跨這些工具產生的分數無法直接比較。 例如,QnA Maker 服務使用信賴範圍 0 到 100,而問答功能則使用 0.0 到 1.0 的範圍。
- 如果信賴度很高,您的 Bot 可能會回應「以下是最符合您搜尋的事件」或「我可以協助您保留會議室」,並提供最上層答案或開始詢問後續問題。
- 如果信賴度很低,您的 Bot 可能會回應「Hmm...」,您是否正在尋找任何這些事件?或「我可以協助您處理下列事項」,並提供可能答案或選項的清單。
篩選主題
您可以設計知識 Bot 來協助使用者縮小搜尋範圍並精簡搜尋。 在交談中,Bot 可以詢問厘清問題、呈現選項,以及驗證結果,以基本搜尋無法的方式。
例如,事件 Bot 可以藉由詢問一系列問題,找出使用者感興趣的事件種類。 請考慮下列交換:
- 使用者,「事件」。
- Bot,「您對此有何興趣? 音樂,喜劇,電影...。
- 使用者「音樂」。
- Bot,「您感興趣的音樂類型為何? 任何,搖滾/流行,嘻哈/說唱,...。
- 使用者,「Rock/Pop」。
- Bot,「您想要看到搖滾/流行哪一天? 星期五、星期六、星期日、任何」。
- 使用者,「星期六」。
- Bot,「以下是星期六的搖滾/流行節目:」,其中已找到的節目清單。
藉由在每一個步驟中處理使用者的輸入,並呈現相關選項,Bot 會將使用者引導至他們正在搜尋的資訊。 Bot 傳遞該資訊之後,也可以提供未來尋找類似資訊的更有效率方式的指引。
順便說一句,您也可以只輸入 「Rock friday」 或依名稱搜尋活動。
如需相關 Azure 服務的相關資訊,請參閱 自然語言理解 概念文章中的 搜尋 。
回答問題
您可以設計知識 Bot 來回答常見問題。 支援問答功能的服務通常可讓您或 Bot:
- 管理和定型知識庫。
- 將資訊匯入知識庫,例如從資料檔案或網頁。
- 猜猜哪一個答案最能對應到使用者的問題。
- 詢問使用者後續問題,以協助找出他們正在尋找的答案。
如需相關 Azure 服務的相關資訊,請參閱 自然語言理解 概念一文中的 問題和解答 。
解譯意圖
某些知識 Bot 需要自然語言處理 (NLP) 功能,以便分析使用者的訊息,以判斷使用者的意圖和其他重要資訊。
例如,在音樂播放 Bot 中,使用者可能會訊息「播放 Reggae」、「播放 Bob Marley」或「播放一個愛」。 您可以定型語言模型,將每則訊息對應至意圖 「playMusic」,而不需使用每個演出者、內容類型和歌曲名稱進行定型。
您的語言模型可能無法理解要播放的專案、 實體 、是內容類型、演出者或歌曲。 不過,您的 Bot 可以使用這項資訊搜尋該實體,然後從該處繼續進行。
如需相關 Azure 服務的相關資訊,請參閱 自然語言理解概念文章中的 語言理解 。
整合多個功能
每個 NLP 功能都是其本身的強大工具。 不過,您的 Bot 可以結合這些功能和其他功能,為使用者提供更流暢且自然的體驗。 使用信賴分數來判斷哪一個功能最能對應至使用者的訊息,並在最不明確的相符專案時詢問後續問題。
例如,這類 Bot 可以讓使用者:
- 尋找他們有興趣參加的節目。
- 取得演出者、場地和活動的相關資訊。
- 購買票證或註冊未來事件的通知。
如需相關 Azure 服務的相關資訊,請參閱 自然語言理解 概念一文中的 多個功能 。
探索範例
Bot Framework 範例 存放庫有幾個範例 Bot 示範語言理解功能:
範例 | 範例名稱 | 描述 |
---|---|---|
11 | QnA Maker (簡單) | 使用 QnA Maker 回答一系列 單回合 交談的問題。 |
13 | 核心 Bot | 使用 LUIS 解譯使用者的意圖。 |
14 | 具有分派的 NLP | 使用 Orchestrator 將使用者訊息分派至 LUIS 或 QnA Maker。 |
49 | QnA Maker (進階) | 在 QnA Maker 中使用多回合和主動式學習功能回答問題。 |
注意
Azure AI QnA Maker 將于 2025 年 3 月 31 日淘汰。 從 2022 年 10 月起,您將無法建立新的 QnA Maker 資源或知識庫。 較新版的問題和解答功能現在隨附於 Azure AI 語言。
自訂問題解答是 Azure AI 語言的一項功能,是 QnA Maker 服務的更新版本。 如需 Bot Framework SDK 中問答支援的詳細資訊,請參閱 自然語言理解 。
注意
Language Understanding (LUIS) 將于 2025 年 10 月 1 日淘汰。 從 2023 年 4 月 1 日起,您將無法建立新的 LUIS 資源。 新版的語言理解現在已提供作為 Azure AI 語言的一部分。
對話式語言理解(CLU)是 Azure AI 語言的一項功能,是 LUIS 的更新版本。 如需 Bot Framework SDK 中語言理解支援的詳細資訊,請參閱 自然語言理解 。
適用于 .NET 的 Azure SDK 和 適用于 Python 的 Azure SDK 存放庫也有一些範例:
功能 | 範例讀我檔案 |
---|---|
問題解答 | C# 、 Python |
對話式語言理解,協調流程工作流程 | C# 、 Python |