个人身份信息 (PII) 检测认知技能
“PII 检测”技能从输入文本中提取个人信息,并提供屏蔽该信息的选项。 此技能使用 Azure AI 语言中提供的检测模型。
注意
此技能绑定到 Azure AI 服务,并且对于每天每个索引器超过 20 个文档的事务,需要使用可计费资源。 执行内置技能将按现有的 Azure AI 服务标准预付费套餐价格收费。
@odata.type
Microsoft.Skills.Text.PIIDetectionSkill
数据限制
记录的最大大小应为 50,000 个字符,通过 String.Length
进行测量。 可以使用文本拆分技能进行数据分块。 将页面长度设置为 5000 以获得最佳结果。
技能参数
这些参数区分大小写并且都是可选的。
参数名称 | 说明 |
---|---|
defaultLanguageCode |
(可选)要应用到未显式指定语言的文档的语言代码。 如果未指定默认语言代码,英语 (en) 是默认语言代码。 请参阅支持的语言的完整列表。 |
minimumPrecision |
一个介于 0.0 和 1.0 之间的值。 如果置信度分数(在 piiEntities 输出中)低于所设置的 minimumPrecision 值,则不会返回或屏蔽该实体。 默认值为 0.0。 |
maskingMode |
一个参数,提供各种方法来屏蔽在输入文本中检测到的个人信息。 可以使用以下选项:
|
maskingCharacter |
当 maskingMode 参数设置为 replace 时用来屏蔽文本的字符。 支持以下选项:* (默认)。 如果 maskingMode 未设置为 replace ,则此参数只能为 null 。 |
domain |
(可选)字符串值(如果指定)将域设置为实体类别的子集。 可能的值包括:"phi" (仅检测机密运行状况信息)、"none" 。 |
piiCategories |
(可选)如要指定检测并返回哪些实体,请使用可选参数(定义为字符串列表)和相应的实体类别。 此参数还可以检测默认情况下未为文档语言启用的实体。 有关完整列表,请参阅支持的个人身份信息实体类别。 |
modelVersion |
(可选)指定调用个人身份信息检测时将使用的模型版本。 如果未指定,则默认为最新版本。 建议不要指定此值,除非必要。 |
技能输入
输入名称 | 说明 |
---|---|
languageCode |
表示记录的语言的字符串。 如果未指定此参数,将使用默认语言代码分析记录。 请参阅支持的语言的完整列表。 |
text |
要分析的文本。 |
技能输出
输出名称 | 说明 |
---|---|
piiEntities |
复杂类型的数组,包含以下字段:
有关完整列表,请参阅支持的个人身份信息实体类别。 |
maskedText |
此输出因 maskingMode 而异。 如果 maskingMode 为 replace ,则输出是对输入文本执行屏蔽后的字符串结果,如 maskingMode 所述。 如果 maskingMode 为 none ,则没有输出。 |
示例定义
{
"@odata.type": "#Microsoft.Skills.Text.PIIDetectionSkill",
"defaultLanguageCode": "en",
"minimumPrecision": 0.5,
"maskingMode": "replace",
"maskingCharacter": "*",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "piiEntities"
},
{
"name": "maskedText"
}
]
}
示例输入
{
"values": [
{
"recordId": "1",
"data":
{
"text": "Microsoft employee with ssn 859-98-0987 is using our awesome API's."
}
}
]
}
示例输出
{
"values": [
{
"recordId": "1",
"data" :
{
"piiEntities":[
{
"text":"859-98-0987",
"type":"U.S. Social Security Number (SSN)",
"subtype":"",
"offset":28,
"length":11,
"score":0.65
}
],
"maskedText": "Microsoft employee with ssn *********** is using our awesome API's."
}
}
]
}
在此技能的输出中,针对实体返回的偏移量直接从语言服务 API 返回,这意味着如果使用这些偏移量为原始字符串编制索引,则应使用 .NET 中的 StringInfo 类来提取正确的内容。 有关详细信息,请参阅语言服务功能中的多语言和表情符号支持。
错误和警告
如果文档的语言代码不受支持,则会返回警告,并且不提取任何实体。 如果文本为空,则返回警告。 如果文本大于 50,000 个字符,只会分析前 50,000 个字符,并会发出警告。
如果此技能返回警告,则输出 maskedText
可能为空,这可能会影响任何需要该输出的下游技能。 因此,在编写技能组定义时,一定要调查所有与缺少输出有关的警告。