自然語言理解
適用于: SDK v4
Bot 可以使用各種交談樣式,從結構化和引導式到自由格式和開放式。 根據使用者所說的內容,您的 Bot 必須決定下一個對話流程中要執行的動作。 Azure AI 服務包含可協助這項工作的功能。 這些功能可協助 Bot 搜尋資訊、詢問問題或解譯使用者的意圖。
使用者與 Bot 通常會以自由形式進行互動,因此 Bot 需要了解自然語言及與內容相關的語言。 在開放式交談中,可能會有廣泛的使用者回復,而 Bot 可以提供更多或更少的結構或指引。 下表說明引導式和開放式問題之間的差異。
引導 | 開放式 |
---|---|
我是旅行機器人 選取下列其中一個選項:尋找航班、尋找旅館、尋找出租汽車。 | 我可以協助您預訂旅行。 您想要做什麼? |
您需要任何其他專案嗎? 按一下 [是] 或 [否]。 | 您需要任何其他專案嗎? |
Azure AI 服務提供用來建置智慧型應用程式、網站和 Bot 的功能。 將這些功能新增至 Bot 可讓 Bot 更適當地回應開放式使用者輸入。
本文說明適用于 Azure AI 服務中某些可用功能的 Bot Framework SDK 支援。
- 如需如何將這些功能設計到 Bot 的秘訣,請參閱 設計知識 Bot 。
- 如需 Azure AI 服務的詳細資訊,請參閱 Azure AI 服務檔 。
一般方針
Azure AI 服務包含不斷演進的技術。 Azure AI Language 整合了先前實作為個別服務的各種功能。 本文說明較新的和較舊的功能和服務,以及在哪裡尋找每個功能與服務的詳細資訊。
案例 | 指引 |
---|---|
新的 Bot 開發 | 請考慮使用 Power Virtual Agents,其設計目的是支援成員混合技能與專業領域的小組。 如需詳細資訊,請參閱 Power Virtual Agents 和 啟用進階 AI 功能 。 |
現有 Bot Framework SDK Bot 的新語言專案 | 請考慮使用 Azure AI 語言服務的功能,例如交談式語言理解(CLU)和回答問題。 |
具有現有語言專案的現有 Bot | 您的語言專案會繼續運作,但請考慮移轉至 Azure AI 語言。 如需詳細資訊,請參閱本文稍後的 移轉現有語言專案 一節。 |
語言理解
自然語言理解功能可讓您建置自訂的自然語言理解模型,以預測使用者訊息的整體意圖,並從中擷取重要資訊。
服務或功能 | 描述 |
---|---|
交談語言理解 (CLU) | Azure AI 語言服務的功能。 |
Language Understanding (LUIS) | Azure AI 服務。 (CLU 是 LUIS 的更新版本。 LUIS 將于 2025 年 10 月 1 日淘汰。 |
交談語言理解 (CLU)
對話式語言理解 (CLU) 可讓使用者建立自訂自然語言理解模型,以預測傳入語句的整體意圖,並從中擷取重要資訊。 CLU 僅提供智慧來瞭解用戶端應用程式的輸入文字,而且不會自行執行任何動作。
若要在 Bot 中使用 CLU,請建立語言資源和交談專案、定型和部署語言模型,然後在 Bot 中實作遙測辨識器 ,以將要求轉送至 CLU API。
如需詳細資訊,請參閱
- 什麼是對話式語言理解?
- C#/.NET 或 JavaScript/node.js 的 遙測辨識器 介面參考
- 適用于 .NET 的 Azure 認知語言服務交談用戶端程式庫
Language Understanding (LUIS)
注意
Language Understanding (LUIS) 將于 2025 年 10 月 1 日淘汰。 從 2023 年 4 月 1 日起,您將無法建立新的 LUIS 資源。
LUIS 會將自訂機器學習智慧套用至使用者的交談式自然語言文字,以預測整體意義,並提取相關的詳細資訊。
若要在 Bot 中使用 LUIS,請建立、定型和發佈 LUIS 應用程式,然後將 LUIS 辨識器 新增 至 Bot。
如需詳細資訊,請參閱
問題和回答
問答功能可讓您建置知識庫來回答使用者問題。 知識庫代表半結構化的內容,例如在常見問題、手冊和檔中找到的內容。
服務或功能 | 描述 |
---|---|
問題解答 | Azure AI 語言服務的功能。 |
QnA Maker | Azure AI 服務服務。 (問答是 QnA Maker 的更新版本。 Azure AI QnA Maker 將于 2025 年 3 月 31 日淘汰。 |
問題解答
問答提供雲端式自然語言處理 (NLP),可讓您建立資料的自然對話層。 其可用來從資訊的自訂知識庫為任何輸入尋找最適當的答案。
若要在 Bot 中使用問答,請建立並部署問答專案,然後在 Bot 中實作 QnA Maker 用戶端 ,以將要求轉送至問題解答 API。
如需詳細資訊,請參閱
- 使用問答來回答問題
- 什麼是問題解答?
- 適用于 .NET 的 Azure 認知語言服務問題解答用戶端程式庫簡介
- C#/.NET 或 JavaScript/node.js 的 QnA Maker 用戶端 介面參考
- 適用于 .NET 的 Azure 認知語言服務問題解答用戶端程式庫
QnA Maker
注意
Azure AI QnA Maker 將于 2025 年 3 月 31 日淘汰。 從 2022 年 10 月起,您將無法建立新的 QnA Maker 資源或知識庫。
QnA Maker 具有從現有常見問題網站擷取問題和解答的內建功能,也可讓您手動設定自己的自訂問題和解答清單。 QnA Maker 具有自然語言處理能力,讓其甚至可以提供與預期略有不同之措辭的問題解答。 不過,它沒有語意語言理解能力,因此無法判斷小狗是一種狗,例如。
若要在 Bot 中使用 QnA Maker,請建立 QnA Maker 服務、發佈您的知識庫,並將 QnA Maker 物件新增 至 Bot。
如需詳細資訊,請參閱
搜尋
Azure 認知搜尋可協助 Bot 為使用者提供豐富的搜尋體驗,包括 Facet 和篩選資訊的能力。
- 您可以使用 Azure 認知搜尋 作為 Azure AI Language 中的功能。
- 您可以直接使用Azure 認知搜尋服務。
Azure 認知搜尋
您可以使用 Azure 認知搜尋 建立有效率的索引,以便用來搜尋、Facet 及篩選資料存放區。
- 如需如何在 Azure AI 語言中設定認知搜尋,請參閱 設定已啟用自訂問題解答的資源 。
- 如需認知搜尋服務的相關資訊,請參閱 什麼是Azure 認知搜尋? 。
一起使用多個功能
若要建置瞭解多個交談主題的多用途 Bot,請從個別支援每個函式開始,然後將它們整合在一起。 Bot 可能會結合多個功能的案例包括:
- 提供一組功能的 Bot,其中每個功能都有自己的語言模型。
- 搜尋多個知識庫以尋找使用者問題的解答的 Bot。
- 整合不同類型的功能的 Bot,例如語言理解、回答問題及搜尋。
下表說明您可以整合多個功能的不同方式。
服務或功能 | 描述 |
---|---|
協調流程工作流程 | Azure AI 語言服務的一項功能,可讓您同時使用多個問答、CLU 和 LUIS 專案。 |
Bot Framework 協調器 | 僅限意圖的辨識引擎,可用來判斷哪個 LUIS 模型或 QnA Maker 知識庫可以處理指定的訊息。 |
自訂 | 您可以實作自己的邏輯,以決定如何處理使用者的要求。 |
使用協調流程工作流程
協調流程工作流程會套用機器學習智慧,讓您建置協調流程模型,以連接對話式語言理解(CLU)元件、問答專案和 LUIS 應用程式。
若要在 Bot 中使用協調流程工作流程,請建立協調流程工作流程專案、建置架構、定型和部署模型,然後查詢模型 API 以取得意圖預測。
如需詳細資訊,請參閱
協調器
注意
Azure AI QnA Maker 將于 2025 年 3 月 31 日淘汰。 從 2022 年 10 月起,您將無法建立新的 QnA Maker 資源或知識庫。
Language Understanding (LUIS) 將于 2025 年 10 月 1 日淘汰。 從 2023 年 4 月 1 日起,您將無法建立新的 LUIS 資源。
Bot Framework Orchestrator 是僅限意圖的辨識引擎。 Bot Framework CLI 包含工具,可從 QnA Maker 知識庫 和 LUIS 語言模型的集合產生 Orchestrator 的語言模型。 接著,您的 Bot 可以使用 Orchestrator 來判斷哪些服務可以最能回應使用者的輸入。
Bot Framework SDK 提供 LUIS 和 QnA Maker 的內建支援。 這可讓您以最少的設定來觸發對話方塊,或使用 LUIS 和 QnA Maker 自動回答問題。
如需詳細資訊,請參閱 搭配 Orchestrator 使用多個 LUIS 和 QnA 模型。
自訂邏輯
有兩個主要方式可以實作您自己的邏輯:
- 針對每個訊息,呼叫 Bot 支援的所有相關服務。 使用具有最佳信賴分數之服務的結果。 如果最佳分數模棱兩可,請要求使用者選擇想要的回應。
- 依慣用的順序呼叫每個服務。 使用具有足夠信賴分數的第一個結果。
提示
實作不同服務或功能類型的組合時,請測試每個工具的輸入,以判斷每個模型的臨界值分數。 服務和功能會使用不同的評分準則,因此跨這些工具產生的分數無法直接比較。
LUIS 和 QnA Maker 服務會將分數正規化。 因此,某個 LUIS 模型中的分數可能 不錯 ,但在另一個模型中則不太好。
移轉現有的語言專案
如需將資源從舊版服務遷移至 Azure AI 語言的相關資訊,請參閱:
其他資源
若要管理特定專案或資源:
- 若要管理 Azure 資源,請移至 Azure 入口網站 。
- 若要管理 Azure AI 語言專案,請移至 Language Studio 入口網站 。
- 若要管理 LUIS 應用程式,請移至 Language Understanding (LUIS) 入口網站 。
- 若要管理 QnA Maker 知識庫,請移至 QnA Maker 入口網站 。
如需特定功能或服務的檔: