實體辨識認知技能 (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""Quantity""Organization""Email""Skill""Event""Product""personType" 、、 "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 包含下欄欄位的複雜型別陣列:
  • category
  • 子類別
  • confidenceScore (較高的值表示實際實體更能成為實體)
  • length (此實體的長度(字元數)
  • offset (文字中找到的位置)
  • text (文字中顯示的實際機構名稱)

範例定義

  {
    "@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 類別來擷取正確的內容。 如需詳細資訊,請參閱 語言服務功能 中的多語系和表情符號支援。

警告案例

如果不支援檔的語言代碼,則會傳回警告,而且不會擷取任何實體。

另請參閱