如何新增模式以改善預測準確度

重要

LUIS 將於 2025 年 10 月 1 日淘汰,而自 2023 年 4 月 1 日開始,您將無法建立新的 LUIS 資源。 建議移轉 LUIS 應用程式交談語言理解,以享有產品持續支援和多語言功能的優點。

在 LUIS 應用程式收到端點語句之後,請使用模式,以針對在字組順序和字組選擇中顯露模式的語句,改善預測準確度。 模式會使用特定的語法來指出實體、實體角色和選擇性文字的位置。

注意

  • 在您新增、編輯、移除或重新指派模式之後,訓練發佈您的應用程式,您的變更才會影響端點查詢。
  • 模式只包含機器學習實體父系,而非子實體。

使用正確的語法新增範本語句

  1. 登入 LUIS 入口網站,然後選取您的 [訂用帳戶] 和 [撰寫資源],以查看指派給該撰寫資源的應用程式。

  2. 在 [我的應用程式] 頁面上選取應用程式名稱,以開啟應用程式。

  3. 在 [改善應用程式效能] 下,選取左側面板中的 [模式]。

  4. 選取模式的正確意圖。

  5. 在範本文字方塊中,輸入範本語句並選取 Enter。 當您想要輸入實體名稱時,請使用正確的模式實體語法。 實體語法的開頭為 {。 實體清單隨即顯示。 選取正確的實體。

    模式的實體螢幕擷取畫面

    如果您的實體在實體名稱之後包含一個角色 (以一個冒號 : 表示該角色),例如 {Location:Origin}。 實體的角色清單會顯示在清單中。 選取角色,然後選取 Enter。

    實體與角色的螢幕擷取畫面

    在您選取正確的實體之後,完成模式輸入,然後選取 Enter。 當您輸入好模式時,請訓練您的應用程式。

    包含兩種實體類型的已輸入模式螢幕擷取畫面

建立 Pattern.any 實體

Pattern.any 實體只有在模式中有效,在意圖範的例語句中無效。 這類型的實體可協助 LUIS 尋找變動長度與文字選項的實體結尾。 由於此實體會在模式中使用,因此,LUIS 就能得知實體結尾是在語句範本中的何處。

  1. 登入 LUIS 入口網站,然後選取您的 [訂用帳戶] 和 [撰寫資源],以查看指派給該撰寫資源的應用程式。

  2. 在 [我的應用程式] 頁面上選取應用程式名稱,以開啟應用程式。

  3. 從 [建置] 區段,選取左側面板中的 [實體],然後選取 [+ 建立]。

  4. 在 [選擇實體類型] 對話方塊中,於 [名稱] 方塊中輸入實體名稱,選取 [Pattern.Any] 做為 [類型],然後選取 [建立]。

    當您使用此實體建立模式語句之後,就會使用結合的機器學習和文字比對演算法來擷取該實體。

將範例語句新增為模式

如果您想要新增實體的模式,最簡單的方式是從 [意圖詳細資料] 頁面建立模式。 這可確保您的語法符合範例語句。

  1. 登入 LUIS 入口網站,然後選取您的 [訂用帳戶] 和 [撰寫資源],以查看指派給該撰寫資源的應用程式。

  2. 在 [我的應用程式] 頁面上選取應用程式名稱,以開啟應用程式。

  3. 在 [意圖] 清單頁面上,選取您要建立範本語句的目標範例語句意圖名稱。

  4. 在 [意圖詳細資料] 頁面上,選取您要用來做為範本語句的範例語句列,然後從內容工具列中選取 [+ 新增為模式]。

    [意圖詳細資料] 頁面上選取範例表達做為範本模式的螢幕擷取畫面。

    語句必須包含實體,才能從語句建立模式。

  5. 在快顯方塊中,選取 [確認模式] 頁面上的 [完成]。 您不需要定義實體的子實體或功能。 您只需要列出機器學習實體。

    [意圖詳細資料] 頁面上確認範例表達做為範本模式的螢幕擷取畫面。

  6. 如果您需要編輯範本 (例如,將文字選取為選用),並使用 [] (正方形) 括弧,則必須從 [模式] 頁面進行此編輯。

  7. 在頂端導覽列中,選取 [定型],使用新的模式來定型應用程式。

使用 OR 運算子和群組

使用群組 "( )" 和 OR "|" 語法,可以將下列兩個模式合併成單一模式。

意圖 包含選用文字和預先建置實體的語句範例
OrgChart-Manager "who will be {EmployeeListEntity}['s] manager [[in]{datetimeV2}?]"
OrgChart-Manager "who will be {EmployeeListEntity}['s] manager [[on]{datetimeV2}?]"

新的範本語句會是:

"who ( was | is | will be ) {EmployeeListEntity}['s] manager [([in]|[on]){datetimeV2}?]"

這會使用 group 圍住必要的動詞時態,以及使用選用的 'in' 和 'on' (兩者之間有 or 垂直線)。

範本語句

由於人力資源主指網域的本質,因此會有一些常見的方式來詢問組織中的員工關係。 例如下列範例語句:

  • "Who does Jill Jones report to?"
  • "Who reports to Jill Jones?"

這些語句太相似,以致若不提供許多語句範例,便無法判斷各個語句中內容相關的唯一性。 藉由為意圖新增模式,不須提供許多其他語句範例,LUIS 便可學習意圖的常見語句模式。

秘訣

您可以從檢閱清單中刪除每個語句。 刪除後,它就不再出現於清單中。 即使使用者從端點輸入相同意圖,情況也是如此。

此意圖的範本語句範例會包括:

範本語句的範例 語法意義
Who does {EmployeeListEntity} report to[?] interchangeable: {EmployeeListEntity}
ignore: [?]
Who reports to {EmployeeListEntity}[?] interchangeable: {EmployeeListEntity}
ignore: [?]

"{EmployeeListEntity}" 語法會標示實體在範本語句內的位置以及是哪一個實體。 選用的語法 "[?]" 會標記選用的字組或標點符號。 LUIS 會比對語句,並略過括號內的選擇性文字。

重要事項

雖然語法看起來像是規則運算式,但它不是規則運算式。 只支援大括號 "{ }" 和方括號 "[ ]" 語法。 它們的巢狀結構最多可以有兩個層級。

為了讓模式符合語句,語句內的實體必須符合範本語句中的實體。 這表示在具有實體的模式成功之前,實體必須在範例語句中有足夠的範例並具有高程度的預測。 不過,範本無助於預測實體。 範本只會預測意圖。

注意

當模式可讓您提供較少的範例語句時,如果偵測不到實體,模式就不會進行比對。

將片語清單新增為功能

功能協助 LUIS 的方式是提供某些字組和片語屬於某個應用程式網域詞彙的提示。

  1. 登入 LUIS 入口網站,然後選取您的 [訂用帳戶] 和 [撰寫資源],以查看指派給該撰寫資源的應用程式。
  2. 在 [我的應用程式] 頁面上選取應用程式名稱,以開啟應用程式。
  3. 選取 [組建],接著選取位於應用程式左側面板中的 [功能]。
  4. 「功能」 頁面上,選取 [+ 建立]。
  5. 在 [建立新的片語清單功能] 對話方塊中,輸入名稱,例如 Pizza Toppings。 在 [值] 方塊中,輸入配料的範例,例如 Ham。 您可以一次輸入一個值,或輸入一組以逗號分隔的值,然後按 Enter

顯示如何新增功能 (片語清單) 城市的螢幕擷取畫面

  1. 如果片語可以交替使用,請將 [這些值可交換使用] 選取器保持啟用。 可交換的片語清單功能可作為定型訓練的同義字清單。 不可交換的片語清單可作為定型訓練的個別功能 (這表示它們的功能很類似,但當您將片語交換時,意圖也會跟著變更)。
  2. 片語清單可以套用至具有 [全域] 設定的整個應用程式,或套用至特定模型 (意圖或實體)。 如果您建立片語清單做為意圖或實體的功能,則此切換項目將不會自動設定為全域。 在此情況下,該切換會指定此功能只在本機對該模型適用,而非全域適用整個應用程式。
  3. 選取 [完成]。 新的功能會新增至「ML 功能」頁面。

注意

  • 您可以從「ML 功能」頁面上的關聯式工具列刪除或停用片語清單。
  • 片語清單應套用至其所要協助的意圖或實體,但有時可能會將片語清單套用至整個應用程式做為全域功能。 在 Machine Learning 功能頁面上,選取片語清單,然後在頂端的內容工具列中選取 [設為全域]。

新增實體作為意圖的特徵

若要將實體新增為一個意圖的功能,請從「意圖」頁面選取意圖,然後選取內容工具列上方的 [+ 新增功能]。 此清單會包含所有可套用為特徵的片語清單和實體。

若要將實體新增為另一個實體的功能,您可以在「意圖詳細資料」頁面上使用實體選擇區來新增此功能,也可以在「實體詳細資料」頁面上加入此功能。

後續步驟