如何新增模式以改善預測準確度
重要
LUIS 將於 2025 年 10 月 1 日淘汰,而自 2023 年 4 月 1 日開始,您將無法建立新的 LUIS 資源。 建議移轉 LUIS 應用程式至交談語言理解,以享有產品持續支援和多語言功能的優點。
在 LUIS 應用程式收到端點語句之後,請使用模式,以針對在字組順序和字組選擇中顯露模式的語句,改善預測準確度。 模式會使用特定的語法來指出實體、實體角色和選擇性文字的位置。
使用正確的語法新增範本語句
登入 LUIS 入口網站,然後選取您的 [訂用帳戶] 和 [撰寫資源],以查看指派給該撰寫資源的應用程式。
在 [我的應用程式] 頁面上選取應用程式名稱,以開啟應用程式。
在 [改善應用程式效能] 下,選取左側面板中的 [模式]。
選取模式的正確意圖。
在範本文字方塊中,輸入範本語句並選取 Enter。 當您想要輸入實體名稱時,請使用正確的模式實體語法。 實體語法的開頭為
{
。 實體清單隨即顯示。 選取正確的實體。如果您的實體在實體名稱之後包含一個角色 (以一個冒號
:
表示該角色),例如{Location:Origin}
。 實體的角色清單會顯示在清單中。 選取角色,然後選取 Enter。在您選取正確的實體之後,完成模式輸入,然後選取 Enter。 當您輸入好模式時,請訓練您的應用程式。
建立 Pattern.any 實體
Pattern.any 實體只有在模式中有效,在意圖範的例語句中無效。 這類型的實體可協助 LUIS 尋找變動長度與文字選項的實體結尾。 由於此實體會在模式中使用,因此,LUIS 就能得知實體結尾是在語句範本中的何處。
登入 LUIS 入口網站,然後選取您的 [訂用帳戶] 和 [撰寫資源],以查看指派給該撰寫資源的應用程式。
在 [我的應用程式] 頁面上選取應用程式名稱,以開啟應用程式。
從 [建置] 區段,選取左側面板中的 [實體],然後選取 [+ 建立]。
在 [選擇實體類型] 對話方塊中,於 [名稱] 方塊中輸入實體名稱,選取 [Pattern.Any] 做為 [類型],然後選取 [建立]。
當您使用此實體建立模式語句之後,就會使用結合的機器學習和文字比對演算法來擷取該實體。
將範例語句新增為模式
如果您想要新增實體的模式,最簡單的方式是從 [意圖詳細資料] 頁面建立模式。 這可確保您的語法符合範例語句。
登入 LUIS 入口網站,然後選取您的 [訂用帳戶] 和 [撰寫資源],以查看指派給該撰寫資源的應用程式。
在 [我的應用程式] 頁面上選取應用程式名稱,以開啟應用程式。
在 [意圖] 清單頁面上,選取您要建立範本語句的目標範例語句意圖名稱。
在 [意圖詳細資料] 頁面上,選取您要用來做為範本語句的範例語句列,然後從內容工具列中選取 [+ 新增為模式]。
語句必須包含實體,才能從語句建立模式。
在快顯方塊中,選取 [確認模式] 頁面上的 [完成]。 您不需要定義實體的子實體或功能。 您只需要列出機器學習實體。
如果您需要編輯範本 (例如,將文字選取為選用),並使用
[]
(正方形) 括弧,則必須從 [模式] 頁面進行此編輯。在頂端導覽列中,選取 [定型],使用新的模式來定型應用程式。
使用 OR 運算子和群組
使用群組 "( )" 和 OR "|" 語法,可以將下列兩個模式合併成單一模式。
Intent | 包含選用文字和預先建置實體的語句範例 |
---|---|
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 便可學習意圖的常見語句模式。
提示
您可以從檢閱清單中刪除每個語句。 刪除後,它就不再出現於清單中。 即使使用者從端點輸入相同意圖,情況也是如此。
此意圖的範本語句範例會包括:
範本語句的範例 | 語法意義 |
---|---|
{EmployeeListEntity} 向誰報告[?] | interchangeable: {EmployeeListEntity} ignore: [?] |
Who reports to {EmployeeListEntity}[?] | interchangeable: {EmployeeListEntity} ignore: [?] |
"{EmployeeListEntity}" 語法會標示實體在範本語句內的位置以及是哪一個實體。 選用的語法 "[?]" 會標記選用的字組或標點符號。 LUIS 會比對語句,並略過括號內的選擇性文字。
重要
雖然語法看起來像是規則運算式,但它不是規則運算式。 只支援大括號 "{ }" 和方括號 "[ ]" 語法。 它們的巢狀結構最多可以有兩個層級。
為了讓模式符合語句,語句內的實體必須先符合範本語句中的實體。 這表示在具有實體的模式成功之前,實體必須在範例語句中有足夠的範例並具有高程度的預測。 不過,範本無助於預測實體。 範本只會預測意圖。
注意
當模式可讓您提供較少的範例語句時,如果偵測不到實體,模式就不會進行比對。
將片語清單新增為功能
功能協助 LUIS 的方式是提供某些字組和片語屬於某個應用程式網域詞彙的提示。
- 登入 LUIS 入口網站,然後選取您的 [訂用帳戶] 和 [撰寫資源],以查看指派給該撰寫資源的應用程式。
- 在 [我的應用程式] 頁面上選取應用程式名稱,以開啟應用程式。
- 選取 [組建],接著選取位於應用程式左側面板中的 [功能]。
- 在「功能」 頁面上,選取 [+ 建立]。
- 在 [建立新的片語清單功能] 對話方塊中,輸入名稱,例如 Pizza Toppings。 在 [值] 方塊中,輸入配料的範例,例如 Ham。 您可以一次輸入一個值,或輸入一組以逗號分隔的值,然後按 Enter。
- 如果片語可以交替使用,請將 [這些值可交換使用] 選取器保持啟用。 可交換的片語清單功能可作為定型訓練的同義字清單。 不可交換的片語清單可作為定型訓練的個別功能 (這表示它們的功能很類似,但當您將片語交換時,意圖也會跟著變更)。
- 片語清單可以套用至具有 [全域] 設定的整個應用程式,或套用至特定模型 (意圖或實體)。 如果您建立片語清單做為意圖或實體的功能,則此切換項目將不會自動設定為全域。 在此情況下,該切換會指定此功能只在本機對該模型適用,而非全域適用整個應用程式。
- 選取完成。 新的功能會新增至「ML 功能」頁面。
注意
- 您可以從「ML 功能」頁面上的關聯式工具列刪除或停用片語清單。
- 片語清單應套用至其所要協助的意圖或實體,但有時可能會將片語清單套用至整個應用程式做為全域功能。 在 Machine Learning 功能頁面上,選取片語清單,然後在頂端的內容工具列中選取 [設為全域]。
新增實體作為意圖的特徵
若要將實體新增為一個意圖的功能,請從「意圖」頁面選取意圖,然後選取內容工具列上方的 [+ 新增功能]。 此清單會包含所有可套用為特徵的片語清單和實體。
若要將實體新增為另一個實體的功能,您可以在「意圖詳細資料」頁面上使用實體選擇區來新增此功能,也可以在「實體詳細資料」頁面上加入此功能。
下一步
- 改善後定型和測試您的應用程式。