个人身份信息 (PII) 检测认知技能
“PII 检测”技能从输入文本中提取个人信息,并提供屏蔽该信息的选项。 此技能使用 Azure AI 语言中提供的检测模型。
备注
此技能绑定到 Azure AI 服务,并且对于每天每个索引器超过 20 个文档的事务,需要使用可计费资源。 执行内置技能将按现有的 Azure AI 服务标准预付费套餐价格收费。
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
可能为空,这可能会影响任何需要该输出的下游技能。 因此,在编写技能组定义时,一定要调查所有与缺少输出有关的警告。