Когнитивный навык обнаружения личных сведений (PII)
Навык Обнаружение PII извлекает личную информацию из вводимого текста и дает вам возможность замаскировать ее. Этот навык использует модели обнаружения, предоставляемые на языке ИИ Azure.
Примечание.
Этот навык привязан к службам ИИ Azure и требует оплачиваемого ресурса для транзакций, превышающих 20 документов на индексатор в день. За выполнение встроенных навыков взимается плата за существующие службы ИИ Azure по мере использования.
@odata.type
Microsoft.Skills.Text.PIIDetectionSkill
Ограничения данных
Максимальный размер записи — 50 000 знаков по оценке String.Length
. Вы можете использовать навык разделения текста для фрагментирования данных. Задайте длину страницы в 5000, чтобы получить наилучшие результаты.
Параметры навыков
Параметры чувствительны к регистру и не являются обязательными.
Наименование параметра | Description |
---|---|
defaultLanguageCode |
(Необязательно.) Код языка применяется к документам, в которых не указан язык явным образом. Если языковой код по умолчанию не указан, английский (en) является языковым кодом по умолчанию. Полный список поддерживаемых языков. |
minimumPrecision |
Значение от 0.0 до 1.0. Если оценка достоверности (в piiEntities выходных данных) ниже заданного minimumPrecision значения, сущность не возвращается или маскируется. Значение по умолчанию — 0,0. |
maskingMode |
Параметр, который предоставляет различные способы маскировки личной информации, обнаруженной во входном тексте. Поддерживаются следующие параметры:
|
maskingCharacter |
Символ, используемый для маскирования текста, если параметр maskingMode имеет значение replace . Поддерживается следующий вариант: * (по умолчанию). Этот параметр может быть null только в том случае, если maskingMode не задано replace значение . |
domain |
(Необязательно) Строковое значение, если указано, задает домен подмножество категорий сущностей. Возможные значения: "phi" (только для обнаружения конфиденциальных сведений о работоспособности), "none" . |
piiCategories |
(Необязательно) Если вы хотите указать, какие сущности обнаружены и возвращаются, используйте этот необязательный параметр (определенный как список строк) с соответствующими категориями сущностей. Этот параметр также позволяет обнаруживать сущности, которые не активны по умолчанию для языка документа. Полный список см . в категориях сущностей "Поддерживаемые личные сведения". |
modelVersion |
(Необязательно) Указывает версию модели , которую следует использовать при вызове личных данных обнаружения. По умолчанию используется последняя версия, если она не указана. Мы рекомендуем не указывать это значение, если это не необходимо. |
Входные данные навыков
Ввод имени | Description |
---|---|
languageCode |
Строка, указывающая язык записей. Если этот параметр не указан, код языка по умолчанию используется для анализа записей. Полный список поддерживаемых языков. |
text |
Текст для анализа. |
Выходные данные навыка
Имя вывода | Description |
---|---|
piiEntities |
Массив сложных типов, содержащий следующие поля:
Полный список см . в категориях сущностей "Поддерживаемые личные сведения". |
maskedText |
Эти выходные данные зависят от maskingMode . В противном maskingMode случае выходные данные являются строковым результатом маскирования, выполняемого по входному тексту, как описано в разделе maskingMode .replace Если 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-интерфейсов языковой службы, что означает, что если вы используете их для индексирования в исходной строке, следует использовать класс StringInfo в .NET для извлечения правильного содержимого. Дополнительные сведения см. в разделе "Поддержка многоязычных и эмодзи" в функциях языковой службы.
Ошибки и предупреждения
Если код языка для документа не поддерживается, возвращается предупреждение и сущности не извлекаются. Если ваш текст пуст, возвращается предупреждение. Если размер текста превышает 50 000 символов, будут проанализированы только первые 50 000 символов, и выводится предупреждение.
Если навык возвращает предупреждение, выходные данные maskedText
могут быть пустыми, что может повлиять на любые последующие навыки, ожидающие выхода. По этой причине обязательно изучите все предупреждения, связанные с отсутствием вывода, при написании определения своей квалификационной группы.