實體類型
重要
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 會將與任何清單中項目相符的項目,在回應中標示為實體。
比對清單實體會區分大小寫,且必須完全相符。 當符合清單實體時,也會使用標準化值。 例如:
標準化值 | 同義字 |
---|---|
Small | 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][?] |
pizza |
哪裡可以找到《大亨小傳》? | 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 |
---|---|---|
替我預訂「到紐約的航班」。 | 縣/市 | 預訂航班 |
替我預訂「主要會議室」。 | 會議室 | 預訂房間 |
以實體作為其他實體的特徵
您也可以使用實體作為其他實體是否存在的指標。 其中一個常見的範例是使用預建實體作為另一個 ML 實體的特徵。 如果您正在建置航班預訂系統,而且您的表達看起來像「替我預訂從開羅到西雅圖的航班」,您可能會有「出發城市」和「目的地城市」作為 ML 實體。 建議使用預建的 GeographyV2 實體作為這兩個實體的特徵。
如需詳細資訊,請參閱 GeographyV2 實體參考文章。
您也可以使用實體作為其他實體的必要特徵。 這有助於解析已擷取的實體。 例如,如果您要建立披薩訂購應用程式,而且您有 Size ML 實體,則可建立 SizeList 清單實體,並以其作為 Size 實體的必要特徵。 您的應用程式將會從表達傳回標準化值作為擷取的實體。
如需詳細資訊,請參閱特徵;若要深入了解您文化特性中可用的預建實體解析,請參閱預建實體。
來自實體的資料
大多數聊天機器人和應用程式都不僅僅只是需要意圖名稱。 這個額外的選擇性資料來自在語句中探索到的實體。 每個類型的實體會傳回與比對相關的不同資訊。
語句中的單一單字或片語可能會與多個實體相符。 在該情況下,系統會傳回每個相符的實體及其分數。
所有實體都會在端點回應的實體陣列中傳回
實體最佳做法
使用機器學習實體
機器學習實體是針對您的應用程式量身打造的,且需要加上標籤才能成功。 如果您使用的不是機器學習實體,您使用的可能是錯誤的實體。
機器學習實體可以使用其他實體作為特徵。 這些其他實體可以是自訂實體 (例如規則運算式實體或清單實體),或者您可以使用預先建置的實體作為特徵。
了解有效的機器學習實體。