實體類型

重要

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

實體是與使用者意圖相關的項目或元素。 實體會定義可從表達中擷取的資料,而且對於完成使用者的必要動作而言不可或缺。 例如:

表達 預測的意圖 已找出實體 說明
哈囉,您好嗎? 問候 - 未找出任何項目。
我想要訂購一份小披薩 orderPizza 'small' 擷取的 'Size' 實體為 'small'。
關閉臥室電燈 turnOff 'bedroom' 擷取的 'Room' 實體為 'bedroom'。
查看尾碼為 4406 的存款帳戶餘額 checkBalance 'savings'、'4406' 擷取的 'accountType' 實體為 'savings',而擷取的 'accountNumber' 實體為 '4406'。
購買 3 張到紐約的機票 buyTickets '3'、'New York' 擷取的 'ticketsCount' 實體為 '3',而擷取的 'Destination' 實體為 'New York'。

實體是選擇性的,但建議使用。 您不需要為應用程式中的每個概念建立實體,只需在下列情況下建立:

  • 用戶端應用程式需要資料,或
  • 實體要作為另一個實體或意圖的提示或訊號。 若要深入了解如何以實體作為特徵,請移至以實體作為特徵

實體類型

若要建立實體,您必須指定其名稱和類型。 LUIS 中有數種類型的實體。

清單實體

清單實體代表一組固定的封閉式相關字組及其同義字。 您可以使用清單實體辨識多個同義字或變化,然後擷取其標準化輸出。 使用 [建議] 選項,以根據目前的清單查看適用於新字組的建議。

清單實體未採用機器學習,這表示 LUIS 不會探索清單實體的其他值。 LUIS 會將與任何清單中項目相符的項目,在回應中標示為實體。

比對清單實體會區分大小寫,且必須完全相符。 當符合清單實體時,也會使用標準化值。 例如:

標準化值 同義字
小型 sm, sml, tiny, smallest
md, mdm, regular, average, middle
大型 lg, lrg, big

如需詳細資訊,請參閱清單實體參考文章

RegEx 實體

規則則運算式實體會根據您所提供的規則運算式模式來擷取實體。 這會忽略大小寫並忽略文化特性變體。 規則運算式實體最適合用於結構化文字,或是預先定義之一連串必須採用特定格式的英數值。 例如:

實體 規則運算式 範例
航班編號 flight [A-Z]{2} [0-9]{4} flight AS 1234
信用卡號碼 [0-9]{16} 5478789865437632

如需詳細資訊,請參閱 RegEx 實體參考文章

預先建置的實體

LUIS 包含一組預先建置的實體,用於辨識常見的資訊類型,例如日期、時間、數字、計量及貨幣。 預先建置的實體支援會因 LUIS 應用程式的文化特性而異。 如需 LUIS 所支援預先建置實體的完整清單,包括文化特性支援的實體在內,請參閱預先建置的實體參考

當應用程式中包含預先建置的實體時,其預測會包含在已發佈的應用程式中。 預先建置實體的行為已預先定型且無法修改。

預建實體 範例值
PersonName James、Bill、Tom
DatetimeV2 2019-05-02, May 2nd, 8am on May 2nd 2019

如需詳細資訊,請參閱預建實體參考文章

Pattern.Any 實體

Pattern.Any 實體是僅用於模式範本表達的可變長度預留位置,用來標記實體開始及結束的位置。 其遵循特定規則或模式,最適用於具有固定語彙結構的句子。 例如:

範例語句 模式 實體
我可以點一份漢堡嗎? Can I have a {meal} [please][?] 漢堡
我可以點一份披薩嗎? Can I have a {meal} [please][?] 披薩
哪裡可以找到《大亨小傳》? Where can I find {bookName}? 大亨小傳

如需詳細資訊,請參閱 Pattern.Any 實體參考文章

已採用機器學習 (ML) 的實體

已採用機器學習的實體會使用內容,根據標記的範例來擷取實體。 這是慣用於建置 LUIS 應用程式的實體。 其依賴機器學習演算法,並需要為您的應用程式成功量身訂做標記。 使用 ML 實體可識別不一定正確格式化但具有相同意義的資料。

範例語句 已擷取的「產品」實體
我想要買一本書。 'book'
我可以買這些鞋嗎? 'shoes'
將這些短褲新增至我的購物籃。 'shorts'

如需詳細資訊,請參閱機器學習的實體

具有結構的 ML 實體

ML 實體可以由較小的子實體組成,每個實體都可以有自己的屬性。 例如,Address實體可能具有下列結構:

  • 地址:4567 Main Street, NY, 98052, USA
    • 門牌號碼:4567
    • 街道名稱:Main Street
    • 州:NY
    • 郵遞區號:98052
    • 國家/地區:USA

建置有效的 ML 實體

若要有效建置採用機器學習的實體,請遵循下列最佳做法:

  • 如果您有採用機器學習並包含子實體的實體,請確定不同順序和變化的實體和子實體會呈現在標記的表達中。 標記的範例表達應包含所有有效格式,並包含表達中出現和缺少的實體,同時也會在表達中重新排序。
  • 請避免將實體過度擬合為固定的集合。 當模型未妥善一般化時,就會發生過度擬合,這是機器學習模型中的常見問題。 這表示應用程式無法適當地處理新的範例類型。 接著,您應該改變標記的範例表達,讓應用程式可以超過您提供的有限範例進行一般化。
  • 您的標記應在不同的意圖之間保持一致。 這甚至包括您在包含此實體的 None 意圖中提供的表達。 否則,模型將無法有效判斷順序。

以實體作為特徵

實體的另一項重要功能是可作為其他意圖或實體的特徵或顯著特徵,讓您的系統觀察並透過這些實體學習。

以實體作為意圖的特徵

您可以使用實體作為意圖的訊號。 例如,表達中的特定實體是否存在,可以區別其所屬的意圖。

範例語句 實體 Intent
替我預訂「到紐約的航班」。 City 預訂航班
替我預訂「主要會議室」。 會議室 預訂房間

以實體作為其他實體的特徵

您也可以使用實體作為其他實體是否存在的指標。 其中一個常見的範例是使用預建實體作為另一個 ML 實體的特徵。 如果您正在建置航班預訂系統,而且您的表達看起來像「替我預訂從開羅到西雅圖的航班」,您可能會有「出發城市」和「目的地城市」作為 ML 實體。 建議使用預建的 GeographyV2 實體作為這兩個實體的特徵。

如需詳細資訊,請參閱 GeographyV2 實體參考文章

您也可以使用實體作為其他實體的必要特徵。 這有助於解析已擷取的實體。 例如,如果您要建立披薩訂購應用程式,而且您有 Size ML 實體,則可建立 SizeList 清單實體,並以其作為 Size 實體的必要特徵。 您的應用程式將會從表達傳回標準化值作為擷取的實體。

如需詳細資訊,請參閱特徵;若要深入了解您文化特性中可用的預建實體解析,請參閱預建實體

來自實體的資料

大多數聊天機器人和應用程式都不僅僅只是需要意圖名稱。 這個額外的選擇性資料來自在語句中探索到的實體。 每個類型的實體會傳回與比對相關的不同資訊。

語句中的單一單字或片語可能會與多個實體相符。 在該情況下,系統會傳回每個相符的實體及其分數。

所有實體都會在端點回應的實體陣列中傳回

實體最佳做法

使用機器學習實體

機器學習實體是針對您的應用程式量身打造的,且需要加上標籤才能成功。 如果您使用的不是機器學習實體,您使用的可能是錯誤的實體。

機器學習實體可以使用其他實體作為特徵。 這些其他實體可以是自訂實體 (例如規則運算式實體或清單實體),或者您可以使用預先建置的實體作為特徵。

了解有效的機器學習實體

後續步驟