Доставка данных и идей практически в реальном времени позволяет компаниям быстро реагировать на потребности своих клиентов. Данные в режиме реального времени могут поступать из различных источников, включая социальные сети, устройства IoT, мониторинг инфраструктуры, мониторинг колл-центра и многое другое. Из-за большого объема данных, получаемых из различных источников, предприятия ищут решения для защиты конфиденциальности своих клиентов и предотвращения доступа к конфиденциальным данным из конечных систем. Ранее вам приходилось полагаться на механизмы правил для информации, позволяющей установить личность (PII), которые могли помечать ложные срабатывания или пропускать данные, или вам приходилось создавать и поддерживать пользовательские модели машинного обучения (ML) для идентификации PII в ваших потоковых данных. Вам также необходимо было внедрить и поддерживать инфраструктуру, необходимую для поддержки этих механизмов или моделей.
Чтобы упростить этот процесс и сократить расходы, вы можете использовать Amazon Comprehend, службу обработки естественного языка (NLP), которая использует машинное обучение для поиска идей и отношений, таких как люди, места, настроения и темы в неструктурированном тексте. Теперь вы можете использовать возможности Amazon Comprehend ML для обнаружения и редактирования PII в электронных письмах клиентов, запросах в службу поддержки, обзорах продуктов, социальных сетях и т. д. Опыт ML не требуется. Например, вы можете анализировать запросы в службу поддержки и статьи базы знаний, чтобы обнаруживать объекты PII и редактировать текст перед индексированием документов. После этого документы освобождаются от объектов PII, и пользователи могут использовать данные. Редактирование объектов PII помогает вам защитить конфиденциальность ваших клиентов и соблюдать местные законы и правила.
В этом посте вы узнаете, как внедрить Amazon Comprehend в свои потоковые архитектуры для редактирования объектов PII почти в реальном времени с помощью Пожарный шланг данных Amazon Kinesis AWS Lambda.
Этот пост посвящен редактированию данных из выбранных полей, которые загружаются в архитектуру потоковой передачи с помощью Kinesis Data Firehose, где вы хотите создавать, хранить и поддерживать дополнительные производные копии данных для использования конечными пользователями или нижестоящими приложениями. Если вы используете Потоки данных Amazon Kinesis или иметь дополнительные варианты использования вне редактирования PII, см. Переводите, редактируйте и анализируйте потоковые данные с помощью функций SQL с помощью Amazon Kinesis Data Analytics, Amazon Translate и Amazon Comprehend., где мы покажем, как вы можете использовать Студия аналитики данных Amazon Kinesis питание от Апач Цеппелин и Apache Flink для интерактивного анализа, перевода и редактирования текстовых полей в потоковых данных.
Обзор решения
На следующем рисунке показан пример архитектуры для редактирования PII потоковых данных в режиме реального времени с использованием Простой сервис хранения Amazon (Амазон С3), Преобразование данных Kinesis Data Firehose, Amazon Comprehendи AWS Lambda. Кроме того, мы используем AWS SDK для Python (Boto3) для лямбда-функций. Как показано на диаграмме, необработанная корзина S3 содержит неотредактированные данные, а отредактированная корзина S3 содержит отредактированные данные после использования Amazon Comprehend. DetectPiiEntities
API внутри лямбда-функции.
Затраты
В дополнение к расходам на Kinesis Data Firehose, Amazon S3 и Lambda, это решение будет нести расходы на использование от Amazon Comprehend. Сумма, которую вы платите, зависит от общего количества записей, содержащих PII, и символов, которые обрабатываются функцией Lambda. Для получения дополнительной информации см. Цены на Amazon Kinesis Data Firehose, Amazon понимают ценыи Цены на AWS Lambda.
В качестве примера предположим, что у вас есть 10,000 500 записей журналов, а значение ключа, из которого вы хотите удалить PII, составляет 10,000 символов. Из 50 XNUMX записей журнала XNUMX идентифицированы как содержащие PII. Детали стоимости следующие:
Содержит стоимость PII:
- Размер каждого ключевого значения = 500 символов (1 единица = 100 символов)
- Количество единиц (100 символов) в записи (минимум 3 единицы) = 5
- Всего единиц = 10,000 5 (записей) x 1 (единиц на запись) x 50,000 (запросов Amazon Comprehend на запись) = XNUMX XNUMX
- Цена за единицу = 0.000002 $
- Общая стоимость идентификации записей журнала с помощью PII с помощью ContainsPiiEntities API = 0.1 доллара США [50,000 0.000002 единиц x XNUMX доллара США]
Изменить стоимость PII:
- Всего единиц, содержащих PII = 50 (записей) x 5 (единиц на запись) x 1 (запросов Amazon Comprehend на запись) = 250
- Цена за единицу = 0.0001 $
- Общая стоимость определения местоположения PII с помощью DetectPiiEntities API = [количество единиц] x [цена за единицу] = 250 x 0.0001 USD = 0.025 USD
Общая стоимость идентификации и редактирования:
- Общая стоимость: 0.1 доллара США (проверка, если поле содержит персональные данные) + 0.025 доллара США (удаление полей, содержащих персональные данные) = 0.125 доллара США.
Разверните решение с помощью AWS CloudFormation
Для этого поста мы предоставляем AWS CloudFormation потоковое редактирование данных шаблон, который предоставляет полную информацию о реализации для обеспечения повторяющихся развертываний. При развертывании этот шаблон создает две корзины S3: одну для хранения необработанных выборочных данных, полученных из генератора данных Amazon Kinesis (KDG), и одну для хранения отредактированных данных. Кроме того, он создает поток доставки Kinesis Data Firehose с DirectPUT
в качестве входных данных и функцию Lambda, которая вызывает Amazon Comprehend СодержитPiiEntities и ОбнаружитьPiiEntities API для идентификации и редактирования данных PII. Функция Lambda полагается на пользовательский ввод в переменных среды, чтобы определить, какие ключевые значения необходимо проверить на наличие PII.
Функция Lambda в этом решении имеет ограниченный размер полезной нагрузки до 100 КБ. Если предоставляется полезная нагрузка, в которой текст превышает 100 КБ, функция Lambda пропустит ее.
Чтобы развернуть решение, выполните следующие действия:
- Запуск стека CloudFormation на востоке США (Северная Вирджиния)
us-east-1
: - Введите имя стека и оставьте другие параметры по умолчанию.
- Выберите Я признаю, что AWS CloudFormation может создавать ресурсы IAM с пользовательскими именами.
- Выберите Создать стек.
Развертывание ресурсов вручную
Если вы предпочитаете создавать архитектуру вручную, а не с помощью AWS CloudFormation, выполните действия, описанные в этом разделе.
Создайте корзины S3
Создайте корзины S3, выполнив следующие действия:
- На консоли Amazon S3 выберите Ведра в навигационной панели.
- Выберите Создать ведро.
- Создайте одно ведро для необработанных данных и одно для отредактированных данных.
- Обратите внимание на имена только что созданных сегментов.
Создайте лямбда-функцию
Чтобы создать и развернуть функцию Lambda, выполните следующие шаги:
- На лямбда-консоли выберите Создать функцию.
- Выберите Автор с нуля.
- Что касается Имя функции, войти
AmazonComprehendPII-Redact
. - Что касается Время выполнения, выберите Python 3.9.
- Что касается Архитектура, наведите на x86_64.
- Что касается Роль исполнения, наведите на Создайте новую роль с разрешениями Lambda.
- После создания функции введите следующий код:
- Выберите Развертывание.
- На панели навигации выберите Конфигурация.
- Перейдите в Переменные среды.
- Выберите Редактировать.
- Что касается Основные , войти
keys
. - Что касается Значение, введите ключевые значения, из которых вы хотите удалить PII, разделенные запятой и пробелом. Например, введите
Tweet1
,Tweet2
если вы используете образцы тестовых данных, представленные в следующем разделе этого поста. - Выберите Сохранить.
- Перейдите в Общая конфигурация.
- Выберите Редактировать.
- Измените значение Истек до 1 минуты.
- Выберите Сохранить.
- Перейдите в Разрешения....
- Выберите имя роли под Роль исполнения.
Вы перенаправлены на Управление идентификацией и доступом AWS (IAM) консоль. - Что касается Добавить разрешения, выберите Прикрепить политики.
- Enter
Comprehend
в строку поиска и выберите политикуComprehendFullAccess
. - Выберите Прикрепить политики.
Создайте поток доставки Firehose
Чтобы создать поток доставки Firehose, выполните следующие действия:
- На консоли Kinesis Data Firehose выберите Создать поток доставки.
- Что касается Источник, наведите на Прямой ПУТ.
- Что касается Направление, наведите на Amazon S3.
- Что касается Название потока доставки, войти
ComprehendRealTimeBlog
. - Под Преобразование исходных записей с помощью AWS Lambda, наведите на Включено.
- Что касается Лямбда-функция AWS, введите ARN для созданной функции или перейдите к функции
AmazonComprehendPII-Redact
. - Что касается Размер буфера, установите значение 1 МБ.
- Что касается Буферный интервал, оставьте значение 60 секунд.
- Под Настройки назначения, выберите корзину S3, которую вы создали для отредактированных данных.
- Под Настройки резервного копирования, выберите корзину S3, которую вы создали для необработанных записей.
- Под Разрешение, либо создайте или обновите роль IAM, либо выберите существующую роль с соответствующими разрешениями.
- Выберите Создать поток доставки.
Разверните решение для потоковой передачи данных с помощью Kinesis Data Generator
Вы можете использовать Kinesis Data Generator (KDG), чтобы загрузить образцы данных в Kinesis Data Firehose и протестировать решение. Чтобы упростить этот процесс, мы предоставляем функцию Lambda и шаблон CloudFormation для создания Амазон Когнито пользователя и назначьте соответствующие разрешения для использования KDG.
- На Страница генератора данных Amazon Kinesis, выберите Создайте пользователя Cognito с помощью CloudFormation.Вы будете перенаправлены в консоль AWS CloudFormation для создания стека.
- Укажите имя пользователя и пароль для пользователя, с которым вы входите в KDG.
- Оставьте остальные настройки по умолчанию и создайте свой стек.
- На Выходы выберите ссылку пользовательского интерфейса KDG.
- Введите имя пользователя и пароль для входа.
Отправка тестовых записей и проверка редактирования в Amazon S3
Чтобы протестировать решение, выполните следующие действия:
- Войдите в систему по URL-адресу KDG, который вы создали на предыдущем шаге.
- Выберите регион, в котором был развернут стек AWS CloudFormation.
- Что касается Поток/поток доставки, выберите созданный вами поток доставки (если вы использовали шаблон, он имеет формат
accountnumber-awscomprehend-blog
). - Остальные настройки оставьте по умолчанию.
- Для шаблона записи вы можете создать свои собственные тесты или использовать следующий шаблон. Если вы используете приведенный ниже образец данных для тестирования, вы должны иметь обновленные переменные среды в
AmazonComprehendPII-Redact
Лямбда-функция дляTweet1
,Tweet2
. При развертывании через CloudFormation обновите переменные среды доTweet1
,Tweet2
внутри созданной лямбда-функции. Пример данных испытаний приведен ниже: - Выберите Отправить данныеи подождите несколько секунд, пока записи будут отправлены в ваш поток.
- Через несколько секунд остановите генератор KDG и проверьте свои корзины S3 на наличие доставленных файлов.
Ниже приведен пример необработанных данных в необработанном сегменте S3:
Ниже приведен пример отредактированных данных в отредактированном сегменте S3:
Конфиденциальная информация была удалена из отредактированных сообщений, что дает уверенность в том, что вы можете поделиться этими данными с конечными системами.
уборка
Когда вы закончите экспериментировать с этим решением, очистите свои ресурсы с помощью консоли AWS CloudFormation, чтобы удалить все ресурсы, развернутые в этом примере. Если вы следовали инструкциям вручную, вам нужно будет вручную удалить два сегмента, AmazonComprehendPII-Redact
функции, ComprehendRealTimeBlog
поток, группа журналов для ComprehendRealTimeBlog
поток и любые созданные роли IAM.
Заключение
В этом посте показано, как интегрировать редактирование PII в вашу потоковую архитектуру почти в реальном времени и сократить время обработки данных, выполняя редактирование во время полета. В этом сценарии вы предоставляете отредактированные данные своим конечным пользователям, а администратор озера данных защищает необработанную корзину для последующего использования. Вы также можете создать дополнительную обработку с помощью Amazon Comprehend для определения тона или тональности, идентификации сущностей в данных и классификации каждого сообщения.
Мы предоставили отдельные шаги для каждой службы в рамках этого поста, а также включили шаблон CloudFormation, который позволяет вам предоставлять необходимые ресурсы в вашей учетной записи. Этот шаблон следует использовать только для проверки концепции или тестовых сценариев. Обратитесь к руководствам разработчика для Amazon Comprehend, Лямбдаи Пожарный шланг Kinesis Data для любых лимитов обслуживания.
Чтобы начать работу с идентификацией и редактированием PII, см. Информация, позволяющая установить личность (PII). Используя пример архитектуры в этом посте, вы можете интегрировать любой из API-интерфейсов Amazon Comprehend с данными почти в реальном времени, используя преобразование данных Kinesis Data Firehose. Чтобы узнать больше о том, что вы можете построить с помощью данных, получаемых практически в реальном времени, с помощью Kinesis Data Firehose, см. Руководство разработчика Amazon Kinesis Data Firehose. Это решение доступно во всех регионах AWS, где доступны Amazon Comprehend и Kinesis Data Firehose.
Об авторах
Джо Моротти является архитектором решений в Amazon Web Services (AWS), помогая корпоративным клиентам на Среднем Западе США. Он занимал множество технических должностей и с удовольствием демонстрировал клиентам искусство возможного. В свободное время он любит проводить время со своей семьей, исследуя новые места и анализируя результаты своей спортивной команды.
Шрихарш Адари является старшим архитектором решений в Amazon Web Services (AWS), где он помогает клиентам работать в обратном направлении от бизнес-результатов для разработки инновационных решений на AWS. На протяжении многих лет он помогал множеству клиентов в преобразовании платформ данных в различных отраслевых вертикалях. Его основная область знаний включает технологическую стратегию, аналитику данных и науку о данных. В свободное время он любит играть в теннис, смотреть сериалы и играть в таблу.
- AI
- ай искусство
- генератор искусств ай
- искусственный интеллект
- Амазонка Кинезис
- аналитика
- искусственный интеллект
- сертификация искусственного интеллекта
- искусственный интеллект в банковском деле
- робот с искусственным интеллектом
- роботы с искусственным интеллектом
- программное обеспечение искусственного интеллекта
- Машинное обучение AWS
- блокчейн
- конференция по блокчейну
- Coingenius
- разговорный искусственный интеллект
- криптоконференция ИИ
- дал-и
- глубокое обучение
- google ai
- Средний (200)
- Пожарный шланг Kinesis Data
- обучение с помощью машины
- Платон
- Платон Ай
- Платон Интеллектуальные данные
- Платон игра
- ПлатонДанные
- платогейминг
- масштаб ай
- синтаксис
- зефирнет