你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

实体识别认知技能 (v2)

实体识别技能 (v2) 从文本中提取各种类型的实体。 此技能使用 Foundry Tools 中的 文本分析 提供的机器学习模型。

重要

实体识别技能 (v2) (Microsoft.Skills.Text.EntityRecognitionSkill) 现在已停用,替换为 Microsoft.Skills.Text.V3.EntityRecognitionSkill。 按照已弃用的技能中的建议,迁移到支持的技能。

注意

通过增加处理频率、添加更多文档或添加更多 AI 算法来扩展范围,需要 附加可计费Microsoft Foundry 资源。 在 Foundry 工具中调用 API 以及作为 Azure AI 搜索中文档破解阶段的一部分进行图像提取时,会产生费用。 提取文档中的文本不会产生费用。

执行内置技能按现有的 Foundry 工具标准价格收费。 图像提取定价如 Azure AI 搜索定价页所述。

@odata.type

Microsoft.Skills.Text.EntityRecognitionSkill

数据限制

记录的最大大小应为 50,000 个字符,通过 String.Length 进行测量。 如果在将数据发送到关键短语提取器之前需要拆分数据,请使用文本拆分技能。 如果你使用文本拆分技能,请将页面长度设置为 5000 以获得最佳性能。

技能参数

参数区分大小写,都是可选的。

参数名称 说明
categories 应提取的类别的数组。 可能的类别类型有:"Person""Location""Organization""Quantity""Datetime""URL""Email"。 如果不提供类别,则返回所有类型。
defaultLanguageCode 输入文本的语言代码。 支持以下语言:ar, cs, da, de, en, es, fi, fr, hu, it, ja, ko, nl, no, pl, pt-BR, pt-PT, ru, sv, tr, zh-hans。 并非所有实体类别都支持所有语言;请参阅下文中的说明。
minimumPrecision 一个介于 0 和 1 之间的值。 如果置信度分数(在 namedEntities 输出中)低于此值,则不会返回该实体。 默认值为 0。
includeTypelessEntities 如果要识别不符合当前类别的已知实体,请设置为 true。 识别出的实体将在 entities 复杂输出字段中返回。 例如,“Windows 10”是一个众所周知的实体(产品),但由于“产品”不是受支持的类别,因此,此实体将包含在实体输出字段中。 默认为 false

技能输入

输入名称 说明
languageCode 可选。 默认值为 "en"
text 要分析的文本。

技能输出

注意

并非所有实体类别都支持所有语言。 "Person""Location""Organization" 实体类别支持上面的完整语言列表。 只有 deenesfrzh-hans 支持 "Quantity""Datetime""URL""Email" 类型的提取。 有关详细信息,请参阅文本分析 API 的语言和区域支持

输出名称 说明
persons 一个字符串数组,其中,一个字符串表示一个人员名称。
locations 一个字符串数组,其中,一个字符串表示一个位置。
organizations 一个字符串数组,其中,一个字符串表示一个组织。
quantities 一个字符串数组,其中,每个字符串都表示一个数量。
dateTimes 一个字符串数组,其中,每个字符串都表示一个日期时间(因为它以文本形式显示)值。
urls 一个字符串数组,其中,每个字符串都表示一个 URL
emails 一个字符串数组,其中,每个字符串都表示一个电子邮件地址
namedEntities 复杂类型的数组,包含以下字段:
  • 分类
  • 值(实际实体名称)
  • 偏移(在文本中找到它的位置)
  • 置信度(值越高意味着它越有可能是一个真实的实体)
entities 一个复杂类型数组,包含有关从文本提取的实体的丰富信息,具有以下字段
  • name(实际的实体名称。这表示一个“规范化”形式)
  • wikipediaId
  • wikipediaLanguage
  • wikipediaUrl(实体的 Wikipedia 页面的链接)
  • bingId
  • type(识别的实体的类别)
  • subType(仅适用于某些类别,这提供实体类型的更精细视图)
  • matches(包含的复杂集合)
    • text(实体的原始文本)
    • offset(找到它的位置)
    • length(原始实体文本的长度)

示例定义

  {
    "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill",
    "categories": [ "Person", "Email"],
    "defaultLanguageCode": "en",
    "includeTypelessEntities": true,
    "minimumPrecision": 0.5,
    "inputs": [
      {
        "name": "text",
        "source": "/document/content"
      }
    ],
    "outputs": [
      {
        "name": "persons",
        "targetName": "people"
      },
      {
        "name": "emails",
        "targetName": "contact"
      },
      {
        "name": "entities"
      }
    ]
  }

示例输入

{
    "values": [
      {
        "recordId": "1",
        "data":
           {
             "text": "Contoso corporation was founded by John Smith. They can be reached at contact@contoso.com",
             "languageCode": "en"
           }
      }
    ]
}

示例输出

{
  "values": [
    {
      "recordId": "1",
      "data" : 
      {
        "persons": [ "John Smith"],
        "emails":["contact@contoso.com"],
        "namedEntities": 
        [
          {
            "category":"Person",
            "value": "John Smith",
            "offset": 35,
            "confidence": 0.98
          }
        ],
        "entities":  
        [
          {
            "name":"John Smith",
            "wikipediaId": null,
            "wikipediaLanguage": null,
            "wikipediaUrl": null,
            "bingId": null,
            "type": "Person",
            "subType": null,
            "matches": [{
                "text": "John Smith",
                "offset": 35,
                "length": 10
            }]
          },
          {
            "name": "contact@contoso.com",
            "wikipediaId": null,
            "wikipediaLanguage": null,
            "wikipediaUrl": null,
            "bingId": null,
            "type": "Email",
            "subType": null,
            "matches": [
            {
                "text": "contact@contoso.com",
                "offset": 70,
                "length": 19
            }]
          },
          {
            "name": "Contoso",
            "wikipediaId": "Contoso",
            "wikipediaLanguage": "en",
            "wikipediaUrl": "https://en.wikipedia.org/wiki/Contoso",
            "bingId": "349f014e-7a37-e619-0374-787ebb288113",
            "type": null,
            "subType": null,
            "matches": [
            {
                "text": "Contoso",
                "offset": 0,
                "length": 7
            }]
          }
        ]
      }
    }
  ]
}

请注意,在此技能的输出中,针对实体返回的偏移量是直接从文本分析 API 返回的,这意味着如果使用这些偏移量为原始字符串编制索引,则应使用 .NET 中的 StringInfo 类来提取正确的内容。 此处提供了更多详细信息。

警告情况

如果文档的语言代码不受支持,则会返回警告,并且不提取任何实体。

另请参阅