自然語言理解

適用于: SDK v4

Bot 可以使用各種交談樣式,從結構化和引導式到自由格式和開放式。 根據使用者所說的內容,您的 Bot 必須決定下一個對話流程中要執行的動作。 Azure AI 服務包含可協助這項工作的功能。 這些功能可協助 Bot 搜尋資訊、詢問問題或解譯使用者的意圖。

使用者與 Bot 通常會以自由形式進行互動,因此 Bot 需要了解自然語言及與內容相關的語言。 在開放式交談中,可能會有廣泛的使用者回復,而 Bot 可以提供更多或更少的結構或指引。 下表說明引導式和開放式問題之間的差異。

引導 開放式
我是旅行機器人 選取下列其中一個選項:尋找航班、尋找旅館、尋找出租汽車。 我可以協助您預訂旅行。 您想要做什麼?
您需要任何其他專案嗎? 按一下 [是] 或 [否]。 您需要任何其他專案嗎?

Azure AI 服務提供用來建置智慧型應用程式、網站和 Bot 的功能。 將這些功能新增至 Bot 可讓 Bot 更適當地回應開放式使用者輸入。

本文說明適用于 Azure AI 服務中某些可用功能的 Bot Framework SDK 支援。

一般方針

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。

如需詳細資訊,請參閱

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。

如需詳細資訊,請參閱

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 認知搜尋 建立有效率的索引,以便用來搜尋、Facet 及篩選資料存放區。

一起使用多個功能

若要建置瞭解多個交談主題的多用途 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 模型。

自訂邏輯

有兩個主要方式可以實作您自己的邏輯:

  1. 針對每個訊息,呼叫 Bot 支援的所有相關服務。 使用具有最佳信賴分數之服務的結果。 如果最佳分數模棱兩可,請要求使用者選擇想要的回應。
  2. 依慣用的順序呼叫每個服務。 使用具有足夠信賴分數的第一個結果。

提示

實作不同服務或功能類型的組合時,請測試每個工具的輸入,以判斷每個模型的臨界值分數。 服務和功能會使用不同的評分準則,因此跨這些工具產生的分數無法直接比較。

LUIS 和 QnA Maker 服務會將分數正規化。 因此,某個 LUIS 模型中的分數可能 不錯 ,但在另一個模型中則不太好。

移轉現有的語言專案

如需將資源從舊版服務遷移至 Azure AI 語言的相關資訊,請參閱:

其他資源

若要管理特定專案或資源:

如需特定功能或服務的檔: