你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
实体识别认知技能 (v2)
实体识别技能 (v2) 从文本中提取各种类型的实体。 此技能使用 Azure AI 服务中的文本分析提供的机器学习模型。
重要
实体识别技能 (v2) (Microsoft.Skills.Text.EntityRecognitionSkill) 现在已停用,替换为 Microsoft.Skills.Text.V3.EntityRecognitionSkill。 按照已弃用的技能中的建议,迁移到支持的技能。
注意
通过增大处理频率、添加更多文档或添加更多 AI 算法来扩大范围时,需要附加可计费的 Azure AI 服务资源。 调用 Azure AI 服务中的 API,以及在 Azure AI 搜索中的文档破解阶段提取图像时,会产生费用。 提取文档中的文本不会产生费用。
内置技能执行按现有 Azure AI 服务即用即付价格计费。 图像提取定价如 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 类来提取正确的内容。 此处提供了更多详细信息。
警告情况
如果文档的语言代码不受支持,则会返回警告,并且不提取任何实体。