0 просмотров

Создание системы искусственного интеллекта для классификации и обучения текстовых сообщений в реальном времени.

В этом сообщении блога я демонстрирую, как создать систему искусственного интеллекта (ИИ) для классификации и обучения текстовых сообщений в реальном времени с использованием Dynamic AI56. Пакет этой модели доступен в AWS Marketplace.

При обычном машинном обучении (ML) вы сначала обучаете свою модель, а затем развертываете ее, чтобы получить выводы на основе ваших данных. Динамический ИИ объединяет эти две задачи в одном работающем изображении. Таким образом, вы можете получать выводы для текстовых данных и одновременно проводить обучение.

Статья в тему:  Как далеко искусственный интеллект

Предпосылки

  • Активный аккаунт AWS
  • Базовые навыки Python
  • Базовое понимание технологии ML

В этом руководстве вы будете использовать технологию Jupyter Notebook. Записная книжка — это интерактивный веб-интерфейс для серверной части Python, также называемый ядром. Серверное ядро ​​обрабатывает все вычисления, а результаты визуализируются в режиме реального времени в разделах блокнота, называемых ячейками.Чтобы запустить ячейку, вы можете просто поместить курсор внутрь и нажать Shift+Enter. Вы можете сохранять записные книжки в файлы и при необходимости загружать их в Jupyter.

Как создать систему машинного обучения для классификации и обучения текстовых сообщений в реальном времени

Шаг 1: Подготовьте блокнот

1.1 Создайте экземпляр записной книжки

Откройте консоль Amazon SageMaker. В левой панели меню найдите раздел Блокнот и выберите Экземпляры ноутбуков. В правом верхнем углу выберите Создайте новый экземпляр Notebook. Откроется страница параметров создания экземпляра. Введите желаемое имя экземпляра, например динамическое AI-демо. Остальные настройки оставьте по умолчанию.

Прокрутите страницу вниз до Git-репозитории раздел. Выберите, чтобы развернуть его. Я подготовил для вас демонстрационный блокнот примеров для Amazon SageMaker с вспомогательным модулем. Для вашего удобства вы можете просто клонировать этот репозиторий при создании блокнота. Для этого под Репозиторий по умолчанию подраздел репозиториев Git, щелкните стрелку справа, чтобы изменить параметр «Репозиторий» с «Нет» на « Клонировать общедоступный репозиторий Git только в этот экземпляр записной книжки. Появится поле URL-адрес репозитория. Вставьте в поле следующий адрес репозитория Git: https://github.com/Dynamic-AI/aws-sagemaker-examples.git. См. следующий снимок экрана.

Статья в тему:  Что такое представление знаний в искусственном интеллекте

Скриншот репозитория git

В нижней части страницы нажмите Создать экземпляр блокнота. Появится список экземпляров. Найдите только что созданный экземпляр в таблице. Подождите несколько минут, пока статус вашего экземпляра не изменится с В ожидании InService. Обновляйте страницу, пока этот экземпляр не отобразится как В сервисе.

На странице Экземпляры записной книжки в столбце Действия выберите Открытый Юпитер. Это запускает новую вкладку браузера. Подождите несколько секунд, пока не увидите дерево файлов на вкладке Jupyter. Перейдите к папка src а затем v1 папка. Выберите Демо DynamicAI.ipynb файл, чтобы открыть записную книжку в новой вкладке браузера.

1.2. Разверните модель динамического ИИ на конечной точке Amazon SageMaker.

Чтобы пройти это руководство, вам необходимо подписаться на продукт Dynamic AI ML Model в AWS Marketplace. Для этого перейдите по этой ссылке на страницу продукта с демонстрационной моделью динамического ИИ. Продукт имеет 60-дневную бесплатную пробную версию, в течение которой не будет взиматься плата за программное обеспечение. В правом верхнем углу выберите Продолжить подписку. Выбирать Принять предложение.

Теперь вернитесь на вкладку Jupyter Notebook, которую вы открыли на шаге 1.1. Обратитесь к следующему снимку экрана.

Скриншот Юпитера

Эта ячейка сначала звонит get_model_package_arn() функция из вспомогательного модуля dynamic_ai.py, который находится в той же папке. Он используется для определения ARN пакета модели продукта Dynamic AI Demo для вашего текущего региона AWS. Потом идет звонок развернуть_модель() Функция, которая выполняет всю работу по запуску модели. Функция принимает два параметра:

  • model_arn – идентификатор продукта, который вы только что получили
  • instance_type — это тип экземпляра для развертывания модели. Просто сохраните тип по умолчанию «ml.m5.4xlarge».
Статья в тему:  Сколько времени нужно, чтобы изучить искусственный интеллект

Запустите эту ячейку, поместив в нее курсор и нажав Shift+Enter. Выполнение операции может занять несколько минут. На следующем изображении показана первая ячейка с предыдущими параметрами, введенными после завершения.

первая ячейка с предыдущими параметрами

1.3. Подтвердите, что динамический ИИ работает

Чтобы убедиться, что система динамического ИИ запущена и работает, запустите следующую, нажав Shift+Ввод в этом. Дополнительные сведения о работе с ячейками см. в руководстве по Jupyter, указанному в разделе «Предварительные условия». На следующем изображении показана эта успешная функция и положительный результат True в разделе Out [2].

положительный результат True Under Out

Если ваш результат не Истинный, просто подождите минуту и ​​повторно запустите ячейку, пока не получите результат Истинный.

Шаг 2: Добавьте свои сообщения

2.1. Отправка сообщений в систему

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

уникальный идентификатор сообщения

Вы также можете добавить несколько сообщений в кучу, вызвав добавить сообщение() функция несколько раз, передавая различный текст. Я сделал это в соседней камере. я добавил «Еще одно простое тестовое сообщение», «И еще одно простое тестовое сообщение», а также «Последнее простое тестовое сообщение» в поле кода Python ячейки. Обратитесь к следующему снимку экрана.

Статья в тему:  Как робот с искусственным интеллектом kiko.893 продолжает учиться

несколько сообщений

2.2. Проверка ваших сообщений

Чтобы убедиться, что ваши сообщения были добавлены в систему, используйте список_сообщений() функция. Он вернет вам словарь с идентификаторами и соответствующими текстами добавленных сообщений.

Для этого я вошел dynai.list_message() в поле кода Python следующей ячейки, а затем выберите значок запуска слева. Я получил список из четырех сообщений, которые я ввел на предыдущих шагах в разделе Выход[5], как показано на следующем снимке экрана.

скриншот списка сообщений

Обратите внимание, что текст сообщения сохраняется только на стороне клиента и будет стерт при перезапуске ядра Jupyter.

Поздравляем! Вы успешно добавили текстовые данные в систему динамического ИИ. Теперь с ним можно сделать что-нибудь полезное.

Шаг 3. Добавьте и определите категории в наборе данных.

Организация известных сообщений по категориям позволяет прогнозировать категории для новых, неизвестных входящих текстов, ранее невидимых для системы. На этом шаге я покажу, как использовать добавить сообщение() а также set_category() функции для создания простого набора данных, состоящего из одной категории с четырьмя сообщениями. Одной из отличительных особенностей системы Dynamic AI является возможность работы даже с таким небольшим набором сообщений.

3.1. Использование функции set_category()

Чтобы пометить сообщение как член определенной пользовательской категории, используйте кнопку set_category() функция. Эта функция принимает два параметра. Первый — это идентификатор сообщения, а второй — произвольное имя категории.Они будут служить входными данными для классификатора динамического ИИ. Чтобы использовать set_category() функции, сначала установите категорию для всех текстовых сообщений, которые вы ранее добавили на шаге 2. Добавьте свои сообщения, как показано в следующей ячейке. Функция должна вернуть Истинный, что свидетельствует об успехе.

Статья в тему:  Что, если искусственный интеллект робота

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

На следующем снимке экрана показана эта успешная функция и повторение ее с другими тремя примерами сообщений.

успешная функция установки категории и повторение

3.2. Использование функции predict_category()

Чтобы использовать систему динамического ИИ для прогнозирования категории ранее неизвестного сообщения, вы используете две функции. Во-первых, используйте добавить сообщение() функция добавления нового сообщения. Затем используйте предсказать_категорию() функцию, чтобы предсказать его категорию на основе обучения, которое вы сделали в предыдущем разделе, Использование set_category() функция.

Когда вы вызываете предсказать_категорию() функция, она возвращает следующие значения:

  • категория – прогнозируемое название категории
  • точность – предполагаемая точность предсказания
  • одобрено – логический флаг; Истинный означает, что прогноз системы проверен и надежен (с точностью до предполагаемой точности). Ниже приводится краткое объяснение.

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

предсказание категории

Этот последний флаг (одобрено) — это уникальная функция динамического ИИ, которая показывает, насколько система уверена в выставленной ею оценке точности. Он основан на анализе семантического подобия, обеспечиваемом запатентованной технологией Dynamic AI, и зависит от предыдущих входных данных и классификаций, сделанных системой. Если вы попробуете тот же метод с совершенно другим сообщением, вы получите другой результат.

Например, в следующей ячейке я ввел dynai.add_message('Эй, вот и я — совершенно другое сообщение') и получил результат («категория»: нет, «точность»: 0,0, «is_approved»: ложь). Результат категории Никто указывает, что это сообщение не принадлежит ни к одной известной категории, что верно. См. следующий снимок экрана.

Статья в тему:  Какой mba предлагает искусственный интеллект ИИ mba

несвязанный результат категории сообщений

Шаг 4: Работа с большими наборами данных

Если у вас есть большие наборы данных, рекомендуется автоматизировать процесс, чтобы сэкономить время и ресурсы. Вот как это сделать с помощью динамического ИИ и примера набора данных.

Для этого урока я использую свой образец набора данных в GitHub. Это сложный пример использования, включающий малый корпус для аренды автомобиля. Это обычный текстовый файл, содержащий одно сообщение в строке вместе с соответствующими категориями. Он имеет три категории и содержит около 100 сообщений. Вы также можете запустить свою собственную пробную версию с моим полным набором услуг по аренде автомобилей с семью категориями и большим количеством сообщений.

4.1. Импорт образца набора данных

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

результат набора данных

4.2. Тестирование системы классификации

Образец набора данных имеет три категории:

  • Авария – все о авариях
  • Отмена — запросы на отмену и вопросы о политике отмены компании.
  • Счет-фактура – ​​вопросы и запросы, связанные со счетами-фактурами

Для проверки я просто добавляю в систему новые сообщения и анализирую категории, которые возвращает функция классификации. Для этого в следующей ячейке следуйте инструкциям из раздела «Использование функции predict_category()» из шага 3.2. Значение Истинный за одобрено Поле ответа указывает на точную классификацию.

Статья в тему:  Когда появится сингулярность искусственного интеллекта

Я проверил это, введя три сообщения. В следующих нескольких ячейках я сделал это для двух фраз:Уважаемая компания Rent-A-Car, я потерял свой счет, не могли бы вы выслать мне его еще раз?’, ‘Привет! Мои планы изменились, не могли бы вы отменить мою бронь, пожалуйста?’ и получили правильные результаты, как показано на следующем снимке экрана.

результат категоризации тестового сообщения

Эти две фразы были успешно классифицированы системой как принадлежащие Счет а также Отмена категории, это правильно.

Чтобы увидеть результат добавления сообщения, не относящегося к трем ранее определенным категориям, вы делаете следующее. В следующей ячейке используйте ту же конструкцию, но для предложения, совершенно не связанного с категориями, известными системе. Я ввел фразу «Здравствуйте, не могли бы вы продать мне корову?». Вы должны получить результат о том, что это сообщение не принадлежит ни к одной из доступных категорий, как показано на следующем снимке экрана.

несвязанный результат категории сообщений

На этом этапе я показал, как использовать предварительно определенный категоризированный корпус для запуска классификации сообщений с помощью динамического ИИ и проверки результатов для новых входящих сообщений. Ваш следующий шаг — попробовать это, используя свой собственный корпус и категории, чтобы увидеть, как это работает для вашего бизнес-кейса.

Очистка

Чтобы выполнить очистку после этой демонстрации, необходимо удалить конечную точку модели и экземпляр ноутбука в Amazon SageMaker. Перейдите в последнюю ячейку блокнота и запустите ее, нажав Shift+Ввод. Он вызовет неисправность() вспомогательная функция, которая заботится о завершении конечной точки модели. Обратитесь к следующему снимку экрана.

Статья в тему:  Как искусственный интеллект задержал водителей в Колораде

функция отключения

Затем закройте все открытые вкладки Jupyter, одну для блокнота, а другую для файлового навигатора. Теперь вернитесь к консоли Amazon SageMaker и нажмите N.экземпляры otebook на левой панели меню. Найдите свой экземпляр записной книжки в таблице и выберите Останавливаться от Действия раскрывающийся список в правом верхнем углу. После остановки экземпляра ноутбука выберите Удалить из того же Действия падать.

Кроме того, рекомендуется вручную проверять модели и конечные точки в консоли Amazon SageMaker и удалять те, которые не используются, чтобы гарантировать, что с вашей учетной записи не будет взиматься плата в конце пробного периода.

Следующие шаги

Код и набор данных, которые мы использовали в этом руководстве, доступны на GitHub. Не стесняйтесь играть с ним и использовать его, чтобы начать создавать приложение для вашего варианта использования.

Вывод

В этой записи блога я показал, как использовать продукт Dynamic AI56 из Amazon SageMaker Marketplace для создания системы ИИ для классификации и обучения текстовых сообщений в реальном времени. Я показал, как можно сочетать добавление и классификацию сообщений в рамках одного сеанса. Эта возможность позволяет вам расширять свои категории в режиме реального времени и переназначать сообщения на разные категории на лету.

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

голоса
Рейтинг статьи
Статья в тему:  Какой mba предлагает искусственный интеллект ИИ mba
Ссылка на основную публикацию
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
Adblock
detector