共用方式為


何時使用交談語言理解或協調工作流程應用程式

當您建立大型應用程式時,應考慮您的使用案例是否最適合使用單一交談應用程式 (一般結構) 或經過協調的多個應用程式來處理。

協調流程概觀

協調工作流程是一項功能,可讓您將不同專案與 LUIS交談語言理解,以及單一專案中的自訂問題解答連線。 然後,您可以在一個端點使用此專案進行預測。 協調流程專案會預測應該呼叫的子專案、自動路由傳送要求,並傳回其回應。

關鍵點是協調流程涉及兩個步驟:

  1. 預測要呼叫的子專案。
  2. 將語句路由傳送至目的地子應用程式,並傳回子應用程式的回應。

優點

  • 清除分解並加快開發速度:

    • 如果您的整體結構描述有大量的網域,協調流程方法可協助將應用程式分解成數個子應用程式 (每個子應用程式處理特定網域)。 例如,汽車交談應用程式可能有導航網域媒體網域等等。
    • 以平行方式開發每個網域應用程式會比較容易。 具有特定領域專業知識的人員和小組可以共同平行處理個別應用程式。
    • 由於每個網域應用程式都比較小,因此開發週期就會變得比較快。 規模較小的網域應用程式需要的定型時間比單一大型應用程式少得多。
  • 更有彈性的信賴度分數閾值

    • 因為使用不同的子應用程式處理不同的網域,所以可以為不同的子應用程式輕鬆設定個別閾值。
  • 在適當情況下的 AI 品質改善:

    • 某些應用程式要求某些實體有網域限制。 協調流程可讓您輕鬆做到這一點。 協調流程專案預測應該呼叫的子應用程式之後,就不會呼叫其他子應用程式。

    例如,如果您的應用程式含有 Person.Name 預建實體,請考慮在車輛問題的內容中使用「如何使用千斤頂?」語句。 在此內容中,千斤頂是一種汽車工具,不應當成人的名字。 使用協調流程,可以將此語句重新導向至為了回答這類問題而建立的子應用程式,該子應用程式不含 Person.Name 實體。

缺點

  • 子應用程式中的備援實體:
    • 如果您需要在所有語句中傳回與網域無關的特定預建實體,例如 Quantity.NumberGeography.Location,則無法將實體新增至協調流程應用程式 (因為是僅限意圖模型)。 您必須將它新增至所有個別子應用程式。
  • 效率:
    • 協調流程應用程式採用兩種模型推斷。 一種用於預測要呼叫的子應用程式,另一種用於子應用程式中的預測。 推斷時間通常比使用一般結構的單一應用程式長。
  • 協調器的定型/分組測試:
    • 定型協調流程應用程式不允許您精細分割測試和定型組合之間的資料。 例如,您無法定型按 90-10 分割的子應用程式 A,以及按 80-20 分割的子應用程式 B。這可能只是一個小問題,但請務必記住。

一般結構概觀

一般結構是開發交談應用程式的其他方法。 您不需要使用協調流程應用程式將語句傳送至多個子應用程式之一,而是開發單一 (或一般) 應用程式來處理語句。

優點

  • 簡單:
    • 對於小型應用程式或網域,協調器方法可能過於複雜。
    • 由於所有意圖和實體都位於相同的應用程式層級,因此一起變更會比較容易。
  • 較容易新增應一律傳回的實體:
    • 如果您想要所有語句傳回的特定預建或清單實體,您只需要在單一應用程式中將該實體與其他實體一起新增即可。 如果您使用協調流程,如上所述,則必須將該實體新增至每個子應用程式。

缺點

  • 大型應用程式的缺點:
    • 對於大型應用程式 (指 > 50 個意圖或實體),很難追蹤不斷演變的架構描述和資料集。 這在應用程式必須處理數個網域的情況下特別明顯。 例如,汽車交談應用程式可能有導航網域媒體網域等等。
  • 對實體比對的控制有限:
    • 在一般結構中,無法限制只在特定情況下傳回實體。 您可以將這些特定實體指派給特定子應用程式,以使用協調流程來達成此目的。

下一步