你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
实体识别技能 (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" 实体类别支持上面的完整语言列表。 只有 de、en、es、fr 和 zh-hans 支持 "Quantity"、"Datetime"、"URL" 和 "Email" 类型的提取。 有关详细信息,请参阅文本分析 API 的语言和区域支持。
| 输出名称 | 说明 |
|---|---|
persons |
一个字符串数组,其中,一个字符串表示一个人员名称。 |
locations |
一个字符串数组,其中,一个字符串表示一个位置。 |
organizations |
一个字符串数组,其中,一个字符串表示一个组织。 |
quantities |
一个字符串数组,其中,每个字符串都表示一个数量。 |
dateTimes |
一个字符串数组,其中,每个字符串都表示一个日期时间(因为它以文本形式显示)值。 |
urls |
一个字符串数组,其中,每个字符串都表示一个 URL |
emails |
一个字符串数组,其中,每个字符串都表示一个电子邮件地址 |
namedEntities |
复杂类型的数组,包含以下字段:
|
entities |
一个复杂类型数组,包含有关从文本提取的实体的丰富信息,具有以下字段
|
示例定义
{
"@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 类来提取正确的内容。 此处提供了更多详细信息。
警告情况
如果文档的语言代码不受支持,则会返回警告,并且不提取任何实体。