Поделиться через


Обнаружение и изменение личных сведений в тексте

Язык ИИ Azure — это облачная служба, которая применяет функции обработки естественного языка (NLP) к текстовым данным. Функция piI может оценивать неструктурированный текст, извлекать и редактировать конфиденциальную информацию (PII) и информацию о работоспособности (PHI) в тексте в нескольких предопределенных категориях.

Варианты разработки

Чтобы использовать обнаружение piI, вы отправляете текст для анализа и обрабатываете выходные данные API в приложении. Анализ выполняется как есть, без настройки модели, используемой в данных. Существует два способа использования обнаружения персонально идентифицируемой информации:

Вариант разработки Описание
Azure AI Foundry Azure AI Foundry — это веб-платформа, которая позволяет использовать личное обнаружение информации с помощью текстовых примеров с собственными данными при регистрации. Дополнительные сведения см. на веб-сайте Azure AI Foundry или документации по Azure AI Foundry.
REST API или клиентская библиотека (пакет SDK для Azure) Интеграция обнаружения PII в приложения с помощью REST API или клиентской библиотеки, доступной на различных языках. Дополнительные сведения см. в кратком руководстве по обнаружению PII.

Указание модели обнаружения персональных данных

По умолчанию эта функция использует последнюю доступную модель ИИ в тексте. Вы также можете настроить запросы API для использования определенной версии модели.

Языки ввода

При отправке входного текста для обработки можно указать, какие из поддерживаемых языков они написаны. Если язык не указан, извлечение по умолчанию используется на английском языке. API может возвращать смещения в ответе для поддержки различных многоязычных кодировок и эмодзи.

Политика редактирования (только версия 2024-11-5, предварительный просмотр)

В версии 2024-11-5-previewвы можете определить redactionPolicy параметр, чтобы отразить политику редактирования, которая будет использоваться при редактировании текста. Поле политики поддерживает три типа политик:

  • DoNotRedact
  • MaskWithCharacter (по умолчанию)
  • MaskWithEntityType

Политика DoNotRedact позволяет пользователю возвращать ответ без redactedText поля, то есть "Джон Доу получил звонок от 424-878-9192".

Политика MaskWithRedactionCharacter позволяет redactedText маскироваться символом (например, "*"), сохраняя длину и смещение исходного текста, то есть "******** получил вызов от ************". Это существующее поведение.

Есть также необязательное поле redactionCharacter, в котором можно ввести символ, который будет использоваться в редактировании, если вы используете политику MaskWithCharacter.

Политика MaskWithEntityType позволяет маскировать обнаруженный текст сущности PII с обнаруженным типом сущности, то есть "[PERSON_1] получил вызов из [PHONENUMBER_1]".

Выбор возвращаемых сущностей

API пытается определить определенные категории сущностей для заданного текстового языка ввода. Если вы хотите указать, какие сущности обнаружены и возвращаются, используйте необязательный piiCategories параметр с соответствующими категориями сущностей. Этот параметр также позволяет обнаруживать сущности, которые не включены по умолчанию для языка ввода текста. В примере ниже обнаруживается только Person. Можно указать один или несколько типов сущностей, которые необходимо вернуть.

Подсказка

Если вы не включаете default при указании категорий сущностей, API возвращает только указанные категории сущностей.

Входные данные:

Примечание.

В этом примере возвращается только тип сущности лица.

https://<your-language-resource-endpoint>/language/:analyze-text?api-version=2022-05-01

{
    "kind": "PiiEntityRecognition",
    "parameters": 
    {
        "modelVersion": "latest",
        "piiCategories" :
        [
            "Person"
        ]
    },
    "analysisInput":
    {
        "documents":
        [
            {
                "id":"1",
                "language": "en",
                "text": "We went to Contoso foodplace located at downtown Seattle last week for a dinner party, and we adore the spot! They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is John Doe) and he is super nice, coming out of the kitchen and greeted us all. We enjoyed very much dining in the place! The pasta I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their online menu at www.contosofoodplace.com, call 112-555-0176 or send email to order@contosofoodplace.com! The only complaint I have is the food didn't come fast enough. Overall I highly recommend it!"
            }
        ]
    },
    "kind": "PiiEntityRecognition", 
    "parameters": { 
        "redactionPolicy": { 
            "policyKind": "MaskWithCharacter"  
             //MaskWithCharacter|MaskWithEntityType|DoNotRedact 
            "redactionCharacter": "*"  
}

Выходные данные:


{
    "kind": "PiiEntityRecognitionResults",
    "results": {
        "documents": [
            {
                "redactedText": "We went to Contoso foodplace located at downtown Seattle last week for a dinner party, and we adore the spot! They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is ********) and he is super nice, coming out of the kitchen and greeted us all. We enjoyed very much dining in the place! The pasta I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their online menu at www.contosofoodplace.com, call 112-555-0176 or send email to order@contosofoodplace.com! The only complaint I have is the food didn't come fast enough. Overall I highly recommend it!",
                "id": "1",
                "entities": [
                    {
                        "text": "John Doe",
                        "category": "Person",
                        "offset": 226,
                        "length": 8,
                        "confidenceScore": 0.98
                    }
                ],
                "warnings": []
            }
        ],
        "errors": [],
        "modelVersion": "2021-01-15"
    }
}

Адаптация ПД к вашему домену

Для адаптации пользовательского словаря, используемого для идентификации сущностей (также известного как «контекст»), функция entitySynonyms позволяет клиентам определять свои собственные синонимы для конкретных типов сущностей. Цель этой функции заключается в том, чтобы помочь обнаружить сущности в контекстах, с которыми модель не знакома, но используется в входных данных клиента, гарантируя, что уникальные термины клиента распознаются и правильно связаны во время процесса обнаружения.

Этот valueExclusionPolicy вариант позволяет клиентам адаптировать службу piI для сценариев, когда клиенты предпочитают определенные термины не обнаруживаться и редактироваться, даже если эти термины попадают в категорию PII, которой они заинтересованы в обнаружении. Например, полицейский отдел может потребовать, чтобы личные идентификаторы редактировались в большинстве случаев, за исключением таких терминов, как "полицейский", "подозреваемый" и "свидетель".

Теперь клиенты могут адаптировать обнаружение службы PII, указав собственный regex с помощью файла конфигурации распознавания regex. Узнайте, как установить и запустить контейнеры для обнаружения персонально идентифицируемой информации (PII) в наших руководствах по контейнерам.

Более подробное руководство см. в руководстве по адаптации PII к вашему домену.

Отправка данных

Анализ выполняется при получении запроса. При синхронном использовании функции распознавания персональных данных состояние не сохраняется. Никакие данные в учетной записи не сохраняются, а все результаты немедленно возвращаются в ответе.

При асинхронном использовании этой функции результаты API доступны в течение 24 часов с момента приема запроса и указываются в ответе. По истечении этого периода результаты очищаются и больше не будут доступны для извлечения.

Получение результатов персональных данных

При получении результатов от функции распознавания персональных данных можно передать результаты в приложение в потоке или сохранить выходные данные в файл в локальной системе. Ответ API включает распознанные сущности, включая их категории и подкатегории, а также оценки достоверности. Строка текста с сущностями PII, редактированная, также возвращается.

Ограничения службы и данных

Сведения о размере и числе запросов, которые можно отправлять в минуту и секунду, см. в статье об ограничениях службы.

Дальнейшие действия

Обзор личных сведений (PII)