實體辨識認知技能 (v3)
實體辨識技能 (v3) 會從文字擷取不同類型的實體。 這些實體屬於14個不同的類別,範圍從人員和組織到URL和電話號碼。 此技能會使用 Azure AI 語言所提供的具名實體辨識機器學習模型。
注意
此技能會繫結至 Azure AI 服務,並且每個索引子每天超過 20 個文件的交易需要可計費資源。 內建技能的執行會依現有的 Azure AI 服務預付型方案價格收費。
@odata.type
Microsoft.Skills.Text.V3.EntityRecognitionSkill
資料限制
記錄的大小上限應該是 50,000 個字元 (以 String.Length
為測量單位)。 如果您需要在將數據傳送至 EntityRecognition 技能之前中斷數據,請考慮使用 文字分割技能。 使用分割技能時,請將頁面長度設定為5000,以獲得最佳效能。
技能參數
參數會區分大小寫,而且都是選擇性的。
參數名稱 | 描述 |
---|---|
categories |
應擷取的類別數位。 可能的類別類型:"Person" 、"Location" 、"DateTime" "URL" "Email" "Quantity" "Organization" 、"Skill" "Product" "personType" "Event" 、、 "phoneNumber" "ipAddress" "Address" 如果未提供任何類別,則會傳回所有類型。 |
defaultLanguageCode |
輸入文字的語言代碼。 如果未指定預設語言代碼,則會使用英文 (en) 作為預設語言代碼。 查看支援語言的完整清單。 並非所有語言都支援所有實體類別;請參閱下方的附註。 |
minimumPrecision |
介於 0 和 1 之間的值。 如果信賴分數 (在輸出中 namedEntities ) 低於此值,則不會傳回實體。 預設值是 0。 |
modelVersion |
(選擇性)指定 呼叫實體辨識 API 時要使用的模型 版本。 如果未指定,則會預設為最新的可用。 除非有必要,否則建議您不要指定此值。 |
技能輸入
輸入名稱 | 描述 |
---|---|
languageCode |
字串,表示記錄的語言。 如果未指定此參數,則會使用預設語言程式代碼來分析記錄。 查看支援語言的完整清單。 |
text |
要分析的文字。 |
技能輸出
注意
並非所有語言都支援所有實體類別。 請參閱 支援的具名實體辨識 (NER) 實體類別 ,以瞭解您將使用的語言支援哪些實體類別。
輸出名稱 | 描述 |
---|---|
persons |
字串陣列,其中每個字串都代表人員的名稱。 |
locations |
字串陣列,其中每個字串都代表位置。 |
organizations |
字串陣列,其中每個字串都代表組織。 |
quantities |
字串數位,其中每個字串都代表數量。 |
dateTimes |
字串陣列,其中每個字串都代表DateTime(如文字中所示) 值。 |
urls |
字串數位,其中每個字串都代表URL |
emails |
字串數位,其中每個字串都代表電子郵件 |
personTypes |
字串陣列,其中每個字串都代表PersonType |
events |
字串數位,其中每個字串都代表事件 |
products |
字串數位,其中每個字串都代表產品 |
skills |
字串數位,其中每個字串都代表技能 |
addresses |
字串陣列,其中每個字串都代表位址 |
phoneNumbers |
字串數位,其中每個字串都代表電話號碼 |
ipAddresses |
字串數位,其中每個字串都代表IP位址 |
namedEntities |
包含下列欄位的複雜型別數組:
|
範例定義
{
"@odata.type": "#Microsoft.Skills.Text.V3.EntityRecognitionSkill",
"context": "/document",
"categories": [ "Person", "Email"],
"defaultLanguageCode": "en",
"minimumPrecision": 0.5,
"inputs": [
{
"name": "text",
"source": "/document/content"
},
{
"name": "languageCode",
"source": "/document/language"
}
],
"outputs": [
{
"name": "persons",
"targetName": "people"
},
{
"name": "emails",
"targetName": "emails"
},
{
"name": "namedEntities",
"targetName": "namedEntities"
}
]
}
範例輸入
{
"values": [
{
"recordId": "1",
"data":
{
"text": "Contoso Corporation was founded by Jean Martin. They can be reached at contact@contoso.com",
"languageCode": "en"
}
}
]
}
範例輸出
{
"values": [
{
"recordId": "1",
"data" :
{
"people": [ "Jean Martin"],
"emails":["contact@contoso.com"],
"namedEntities":
[
{
"category": "Person",
"subcategory": null,
"length": 11,
"offset": 35,
"confidenceScore": 0.98,
"text": "Jean Martin"
},
{
"category": "Email",
"subcategory": null,
"length": 19,
"offset": 71,
"confidenceScore": 0.8,
"text": "contact@contoso.com"
}
],
}
}
]
}
此技能輸出中實體傳回的位移會直接從 語言服務 API 傳回,這表示如果您使用它們來編製原始字串的索引,則應該使用 .NET 中的 StringInfo 類別來擷取正確的內容。 如需詳細資訊,請參閱 語言服務功能中的多語系和表情符號支援。
警告案例
如果不支援文件的語言代碼,則會傳回警告,而且不會擷取任何實體。