Share via


使用 Azure AI 服務搭配自然語言處理 (NLP) 來擴充 Bot 交談

注意

QnA Maker 服務即將於 2025 年 3 月 31 日淘汰。 現在,Azure AI 語言提供較新版本的問題和解答功能。 如需瞭解語言服務內的問題解答功能,請參閱問題解答。 從 2022 年 10 月 1 日開始,您將無法建立新的 QnA Maker 資源。 如需將現有的 QnA Maker 知識庫移轉至問題解答的相關資訊,請參閱移轉指南

Azure AI 服務提供兩個自然語言處理服務,Language UnderstandingQnA Maker,各有不同的用途。 了解使用每項服務的時機及彼此之間如何互補。

自然語言處理 (NLP) 允許您的用戶端應用程式 (例如聊天機器人) 使用自然語言來與使用者一同工作。 使用者可輸入句子或片語。 使用者的文字可能會有錯誤的文法、拼字和標點符號。 Azure AI 服務仍然可透過使用者句子運作,傳回聊天機器人需要協助使用者的資訊。

使用 NLP 的 Azure AI 服務

Language Understanding (LUIS) 和 QnA Maker 均提供 NLP。 用戶端應用程式會提交自然語言文字。 此服務會取得文字、加以處理,並傳回結果。

使用每個服務的時機

Language Understanding (LUIS) 和 QnA Maker 可解決不同的問題。 LUIS 會判斷使用者文字的意圖 (稱為表達),而 QnA Maker 會判斷使用者文字的答案 (稱為查詢)。

若要挑選正確的服務,您必須瞭解來自用戶端應用程式的使用者文字,以及用戶端應用程式需要從 Azure AI 服務取得哪些資訊。

如果您的聊天機器人收到文字 How do I get to the Human Resources building on the Seattle North campus?,請使用下列圖表來了解每個服務如何處理文字。

服務 用戶端應用程式判斷
LUIS 判斷使用者對文字的意向 - 服務不會傳回問題的答案。 例如,此文字會分類為符合 FindLocation 意圖。
QnA Maker 從自訂知識庫傳回問題的答案。 例如,此文字會判斷為具有 Get on the #9 bus and get off at Franklin street 靜態文字答案的問題。

判斷何時使用 LUIS 及何時使用 QnA Maker 的資訊圖表

何時使用 LUIS?

當您需要知道聊天機器人在處理過程中使用該語句的意圖時,請使用 LUIS。 使用範例文字 How do I get to the Human Resources building on the Seattle North campus? 繼續,當您知道使用者的意向是尋找位置之後,就可以將有關表達的詳細資料 (利用實體提取出來) 傳遞到另一個服務 (例如運輸伺服器) 來取得答案。

您不需要合併 LUIS 和 QnA Maker 來判斷意圖。

如果聊天機器人需要根據意向和實體 (使用 LUIS) 來處理文字,以及尋找特定的靜態文字答案 (使用 QnA Maker),您可能要針對此表達合併這兩個服務。

何時使用 QnA Maker?

當您有答案的靜態知識庫時,請使用 QnA Maker。 此知識庫是依據需求所自訂的,且您已使用 PDF 和 URL 等文件建置完成。

使用範例表達 How do I get to the Human Resources building on the Seattle North campus? 繼續,將文字當作查詢傳送至已發佈的 QnA Maker 服務,並獲得最佳答案。

您不需要合併 LUIS 和 QnA Maker 來判斷問題的答案。

如果聊天機器人需要根據意向和實體 (使用 LUIS) 來處理文字,以及尋找答案 (使用 QnA Maker),您可能要針對此表達合併這兩個服務。

當知識庫未完成時使用這兩個服務

如果您正在建置 QnA Maker 知識庫,但知道主體網域正在變更 (例如及時資訊),您就能合併 LUIS 和 QnA Maker 服務。 這可讓您使用知識庫中的資訊,但也可以使用 LUIS 來判斷使用者的意向。 一旦用戶端應用程式具有意向,就可以要求來自另一個來源的相關資訊。

您的用戶端應用程式需要監視 LUIS 和 QnA Maker 回應來獲取分數。 如果 QnA Maker 的分數低於某個任意閾值,請使用從 LUIS 傳回的意圖和實體資訊,將資訊傳遞至協力廠商服務。

使用範例文字 How do I get to the Human Resources building on the Seattle North campus? 繼續,假設 QnA Maker 傳回低信賴分數。 使用從 LUIS、FindLocation 與任何擷取的實體 (例如 Human Resources buildingSeattle North campus) 傳回的意圖,將此資訊傳送至對應或搜尋服務,以取得其他答案。

您可以向使用者呈現此協力廠商答案以進行驗證。 當您取得使用者的核准之後,就可以回到 QnA Maker 來新增資訊,以拓展您的知識。

當聊天機器人需要更多資訊時使用這兩個服務

如果聊天機器人所需的資訊超過任一個服務所提供的資訊,若要繼續進行決策樹,請使用這兩個服務,並在用戶端應用程式中處理這兩個回應。

使用 Bot Framework 分派 CLI 工具,來協助建置使用這兩個服務的流程。 此工具會建置意圖的熱門 LUIS 應用程式,以在 LUIS 和 QnA Maker 之間分派為子應用程式。 深入了解如何整合 LUIS、QnA Maker 與 Bot Framework。

C#Node.js,使用 Bot Builder 範例分派 NLP 來實作此類型的聊天機器人。

最佳作法

針對每個服務實作最佳做法:

另請參閱

下一步