Штучний інтелект (AI) і машинне навчання (ML) отримали широке впровадження в корпоративних і державних організаціях. Обробка неструктурованих даних стала легшою завдяки прогресу в обробці природної мови (NLP) і зручним для користувача службам AI/ML, як-от Текст Amazon, Амазонська розшифровка та «Амазонка». Організації почали використовувати такі сервіси AI/ML, як Amazon Comprehend, для створення моделей класифікації за допомогою своїх неструктурованих даних, щоб отримати глибоке розуміння, якого вони не мали раніше. Незважаючи на те, що ви можете використовувати попередньо навчені моделі з мінімальними зусиллями, без належної обробки даних і налаштування моделі ви не зможете повністю реалізувати переваги моделей AI/ML.
У цій публікації ми пояснюємо, як створити та оптимізувати власну модель класифікації за допомогою Amazon Comprehend. Ми демонструємо це за допомогою спеціальної класифікації Amazon Comprehend для створення спеціальної моделі класифікації з кількома мітками та надаємо вказівки щодо того, як підготувати навчальний набір даних і налаштувати модель відповідно до таких показників продуктивності, як точність, точність, запам’ятовування та оцінка F1. Ми використовуємо артефакти результатів навчання моделі Amazon Comprehend, як-от матрицю плутанини, щоб налаштувати продуктивність моделі та допомогти вам покращити дані навчання.
Огляд рішення
Це рішення представляє підхід до створення оптимізованої спеціальної моделі класифікації за допомогою Amazon Comprehend. Ми проходимо кілька кроків, включаючи підготовку даних, створення моделі, аналіз показників ефективності моделі та оптимізацію висновків на основі нашого аналізу. Ми використовуємо Amazon SageMaker ноутбук і Консоль управління AWS щоб виконати деякі з цих кроків.
Ми також вивчаємо найкращі практики та методи оптимізації під час підготовки даних, побудови та налаштування моделі.
Передумови
Якщо у вас немає екземпляра блокнота SageMaker, ви можете створити його. Інструкції див Створіть екземпляр ноутбука Amazon SageMaker.
Підготуйте дані
Для цього аналізу ми використовуємо набір даних Класифікації токсичних коментарів від Згорнути. Цей набір даних містить 6 міток із 158,571 10 точкою даних. Проте кожна мітка містить лише менше 1% загальної кількості даних як позитивні приклади, а дві мітки мають менше XNUMX%.
Ми перетворюємо наявний набір даних Kaggle у Формат CSV із двома стовпцями Amazon Comprehend з мітками, розділеними вертикальною рискою (|). Amazon Comprehend очікує принаймні одну мітку для кожної точки даних. У цьому наборі даних ми зустрічаємо кілька точок даних, які не підпадають під жодну з наданих міток. Ми створюємо нову мітку під назвою clean і призначаємо будь-які точки даних, які не є токсичними, як позитивні з цією міткою. Нарешті, ми розділили підібрані набори даних на навчальні та тестові набори даних, використовуючи співвідношення 80/20 для кожної мітки.
Ми будемо використовувати зошит для підготовки даних. Наступні кроки використовують набір даних Kaggle і готують дані для нашої моделі.
- На консолі SageMaker виберіть Екземпляри ноутбуків у навігаційній панелі.
- Виберіть екземпляр блокнота, який ви налаштували, і виберіть Відкрийте Юпітер.
- на Нові меню, виберіть термінал.
- Виконайте такі команди в терміналі, щоб завантажити необхідні артефакти для цієї публікації:
- Закрийте вікно терміналу.
Ви повинні побачити три зошити і train.csv файли.
- Виберіть блокнот Data-Preparation.ipynb.
- Виконайте всі кроки в зошиті.
Ці кроки готують необроблений набір даних Kaggle, який буде використовуватися як підібрані навчальні та тестові набори даних. Підібрані набори даних зберігатимуться в блокноті та Служба простого зберігання Amazon (Amazon S3).
Зверніть увагу на наведені нижче вказівки з підготовки даних під час роботи з великомасштабними наборами даних із кількома мітками:
- Набори даних повинні містити щонайменше 10 зразків на етикетку.
- Amazon Comprehend приймає максимум 100 міток. Це м’який ліміт, який можна збільшити.
- Переконайтеся, що файл набору даних є правильно відформатований з відповідним роздільником. Неправильні роздільники можуть створити порожні мітки.
- Усі точки даних повинні мати мітки.
- Набори даних для навчання та тестування повинні мати збалансований розподіл даних за міткою. Не використовуйте випадковий розподіл, оскільки це може внести зміщення в навчальні та тестові набори даних.
Створіть спеціальну модель класифікації
Ми використовуємо підібрані навчальні та тестові набори даних, створені на етапі підготовки даних, щоб створити нашу модель. Виконайте наведені нижче кроки для створення спеціальної моделі класифікації Amazon Comprehend із кількома мітками:
- На консолі Amazon Comprehend виберіть Спеціальна класифікація у навігаційній панелі.
- Вибирати Створити нову модель.
- для назва моделі, введіть токсичну класифікаційну модель.
- для Назва версії, введіть 1.
- для Формат анотації та данихвиберіть Використання режиму кількох міток.
- для Набір тренінгових даних, введіть розташування підібраного набору навчальних даних на Amazon S3.
- Вибирати Набір тестових даних, наданий клієнтом і введіть розташування підібраних тестових даних на Amazon S3.
- для Вихідні дані, введіть розташування Amazon S3.
- для Роль IAMвиберіть Створіть роль IAM, вкажіть суфікс імені як “comprehend-blog”.
- Вибирати Створювати щоб розпочати навчання моделі спеціальної класифікації та створення моделі.
На наступному знімку екрана показано деталі спеціальної моделі класифікації на консолі Amazon Comprehend.
Налаштуйтеся на продуктивність моделі
На наступному знімку екрана показано показники продуктивності моделі. Він включає такі ключові показники, як точність, запам’ятовування, результат F1, точність тощо.
Після навчання та створення моделі буде створено файл output.tar.gz, який містить мітки з набору даних, а також матрицю помилок для кожної з міток. Щоб додатково налаштувати продуктивність передбачення моделі, ви повинні зрозуміти свою модель з ймовірностями передбачення для кожного класу. Для цього вам потрібно створити завдання аналізу, щоб визначити бали, призначені Amazon Comprehend для кожної з точок даних.
Щоб створити завдання аналізу, виконайте такі дії:
- На консолі Amazon Comprehend виберіть Роботи з аналізу у навігаційній панелі.
- Вибирати Створити роботу.
- для ІМ'Я, введіть
toxic_train_data_analysis_job
. - для Тип аналізувиберіть Спеціальна класифікація.
- для Класифікація моделей і маховиків, вкажіть
toxic-classification-model
. - для версія, вкажіть 1.
- для Вхідні дані S3 розташування, введіть розташування підібраного файлу навчальних даних.
- для Формат введеннявиберіть Один документ на рядок.
- для Розташування вихідних даних S3, введіть місце розташування.
- для Дозволи доступувиберіть Використовуйте наявну роль IAM і виберіть роль, створену раніше.
- Вибирати Створити роботу щоб почати аналіз.
- Виберіть Роботи з аналізу щоб переглянути деталі роботи. Будь ласка, зверніть увагу на ідентифікатор вакансії в розділі «Деталі вакансії». У наступному кроці ми будемо використовувати ідентифікатор вакансії.
Повторіть кроки до завдання запуску аналізу для підібраних тестових даних. Ми використовуємо прогнозовані результати наших аналізів, щоб дізнатися про ймовірності прогнозу нашої моделі. Будь ласка, зверніть увагу на ідентифікатори робочих місць з навчання та аналізу тестів.
Ми використовуємо Model-Threshold-Analysis.ipynb блокнот для перевірки результатів за всіма можливими пороговими значеннями та оцінювання результатів на основі ймовірності передбачення за допомогою scikit-learn precision_recall_curve
функція. Крім того, ми можемо обчислити оцінку F1 за кожним порогом.
Нам знадобляться ідентифікатори завдань аналізу Amazon Comprehend як вхідні дані для Модель-Пороговий аналіз блокнот. Ви можете отримати ідентифікатори вакансій з консолі Amazon Comprehend. Виконайте всі кроки в Модель-Пороговий аналіз зошит для спостереження за порогами для всіх класів.
Зверніть увагу на те, як точність зростає разом із підвищенням порогу, тоді як із пригадуванням відбувається зворотне. Щоб знайти баланс між ними, ми використовуємо оцінку F1, де на кривій є видимі піки. Піки оцінки F1 відповідають певному порогу, який може покращити продуктивність моделі. Зверніть увагу на те, що більшість міток опускається біля позначки 0.5 для порогового значення, за винятком мітки загрози, для якої порогове значення становить близько 0.04.
Потім ми можемо використовувати це порогове значення для певних міток, які мають низьку продуктивність із лише пороговим значенням за замовчуванням 0.5. Використовуючи оптимізовані порогові значення, результати моделі на тестових даних покращуються для загрози мітки з 0.00 до 0.24. Ми використовуємо максимальний показник F1 на пороговому значенні як еталон для визначення позитивного чи негативного для цієї мітки замість загального еталонного показника (стандартне значення, наприклад > 0.7) для всіх міток.
Робота з недостатньо представленими класами
Інший підхід, ефективний для незбалансованого набору даних передискретизации. Завдяки надмірній вибірці недостатньо представленого класу модель частіше бачить недостатньо представлений клас і підкреслює важливість цих вибірок. Ми використовуємо Oversampling-underrepresented.ipynb блокнот для оптимізації наборів даних.
Для цього набору даних ми перевірили, як змінюється продуктивність моделі на наборі даних оцінки, коли ми надаємо більше зразків. Ми використовуємо техніку передискретизації, щоб збільшити кількість недостатньо представлених класів для покращення продуктивності.
У цьому конкретному випадку ми протестували на 10, 25, 50, 100, 200 і 500 позитивних прикладах. Зауважте, що хоча ми повторюємо точки даних, ми за своєю суттю покращуємо продуктивність моделі, підкреслюючи важливість недостатньо представленого класу.
Коштувати
З Amazon Comprehend ви платите по мірі використання залежно від кількості оброблених символів тексту. Відноситься до Amazon Comprehend Pricing на фактичні витрати.
Прибирати
Коли ви закінчите експериментувати з цим рішенням, очистіть свої ресурси, щоб видалити всі ресурси, розгорнуті в цьому прикладі. Це допоможе уникнути постійних витрат у вашому обліковому записі.
Висновок
У цьому дописі ми надали найкращі практики та вказівки щодо підготовки даних, налаштування моделі з використанням імовірностей прогнозу та методи обробки недостатньо представлених класів даних. Ви можете використовувати ці найкращі практики та методи, щоб покращити показники продуктивності вашої спеціальної моделі класифікації Amazon Comprehend.
Для отримання додаткової інформації про Amazon Comprehend відвідайте веб-сайт Ресурси для розробників Amazon Comprehend щоб знайти відеоресурси та публікації в блогах, а також посилатися на них Поширені запитання AWS Comprehend.
Про авторів
Сатья Балакрішнан є старшим архітектором доставки клієнтам у групі професійних послуг AWS, спеціалізується на рішеннях для даних і машинного навчання. Він працює з федеральними фінансовими клієнтами США. Він захоплений прагматичними рішеннями для вирішення бізнес-проблем клієнтів. У вільний час любить дивитися фільми та гуляти з родиною.
Принц Малларі є NLP Data Scientist у групі професійних послуг AWS, спеціалізується на застосуванні NLP для клієнтів державного сектору. Він захоплено використовує ML як інструмент, який дозволяє клієнтам бути більш продуктивними. У вільний час він любить грати у відеоігри та розвивати їх разом зі своїми друзями.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/improve-prediction-quality-in-custom-classification-models-with-amazon-comprehend/
- : має
- :є
- :де
- $UP
- 1
- 10
- 100
- 200
- 24
- 25
- 50
- 500
- 7
- 9
- a
- МЕНЮ
- Приймає
- рахунки
- точність
- через
- фактичний
- Додатково
- Прийняття
- досягнення
- AI
- AI / ML
- ВСІ
- дозволяти
- Також
- хоча
- Amazon
- «Амазонка»
- Amazon SageMaker
- Amazon Web Services
- an
- аналіз
- та
- будь-який
- застосування
- Застосування НЛП
- підхід
- ЕСТЬ
- навколо
- AS
- Активи
- призначений
- At
- уникнути
- AWS
- Balance
- заснований
- BE
- оскільки
- ставати
- перед тим
- еталонний тест
- Переваги
- КРАЩЕ
- передового досвіду
- між
- зміщення
- Блог
- Повідомлення в блозі
- будувати
- Створюємо
- бізнес
- by
- званий
- CAN
- Може отримати
- випадок
- Зміни
- символи
- Вибирати
- клас
- класів
- класифікація
- клієнтів
- коментар
- загальний
- повний
- осягнути
- обчислення
- налаштувати
- замішання
- Консоль
- містить
- триває
- конвертувати
- витрати
- створювати
- створений
- створення
- Куратор
- курація
- крива
- виготовлений на замовлення
- клієнт
- Клієнти
- дані
- точки даних
- Підготовка даних
- вчений даних
- набори даних
- справу
- глибокий
- дефолт
- доставка
- демонструвати
- розгорнути
- деталі
- Визначати
- Розробник
- розвивається
- розподіл
- do
- документ
- Не знаю
- скачати
- під час
- кожен
- легше
- Ефективний
- зусилля
- підкреслює
- підкреслюючи
- Що натомість? Створіть віртуальну версію себе у
- підприємство
- оцінка
- приклад
- Приклади
- Крім
- виконувати
- існуючий
- чекає
- Пояснювати
- f1
- Падати
- сім'я
- Федеральний
- філе
- Файли
- в кінці кінців
- фінансовий
- знайти
- після
- для
- друзі
- від
- Повний
- функція
- далі
- Games
- породжувати
- отримати
- Go
- йде
- Уряд
- керівництво
- керівництво
- керівні вказівки
- обробляти
- Мати
- має
- he
- допомагає
- його
- Як
- How To
- Однак
- HTML
- HTTP
- HTTPS
- ID
- ідентифікувати
- ідентифікатори
- значення
- удосконалювати
- поліпшення
- in
- includes
- У тому числі
- Augmenter
- збільшений
- інформація
- за своєю суттю
- вхід
- розуміння
- екземпляр
- замість
- інструкції
- Інтелект
- в
- вводити
- IT
- робота
- Джобс
- просто
- ключ
- етикетка
- етикетки
- мова
- масштабний
- УЧИТЬСЯ
- вивчення
- найменш
- менше
- як
- МЕЖА
- розташування
- машина
- навчання за допомогою машини
- зробити
- управління
- позначити
- Матриця
- Макс
- максимальний
- Зустрічатися
- Меню
- метрика
- Метрика
- може бути
- мінімальний
- мінімальний
- ML
- модель
- Моделі
- більше
- найбільш
- кіно
- повинен
- ім'я
- Природний
- Обробка природних мов
- навігація
- Необхідність
- негативний
- Нові
- наступний
- nlp
- ноутбук
- Зверніть увагу..
- номер
- спостерігати
- виникнення
- of
- часто
- on
- ONE
- тільки
- оптимізація
- Оптимізувати
- оптимізований
- оптимізуючий
- організації
- наші
- вихід
- pane
- приватність
- пристрасний
- Платити
- для
- продуктивність
- вибирати
- труба
- plato
- Інформація про дані Платона
- PlatoData
- ігри
- будь ласка
- точка
- точок
- позитивний
- це можливо
- пошта
- Пости
- практики
- прагматичний
- Точність
- прогноз
- підготовка
- Готувати
- подарунки
- раніше
- проблеми
- Оброблено
- обробка
- продуктивний
- професійний
- правильний
- забезпечувати
- за умови
- громадськість
- якість
- випадковий
- співвідношення
- Сировина
- реалізувати
- послатися
- вимагається
- ресурси
- результати
- Роль
- мудрець
- вчений
- рахунок
- сектор
- побачити
- бачив
- бачить
- служити
- Послуги
- кілька
- Повинен
- Шоу
- простий
- М'який
- рішення
- Рішення
- ВИРІШИТИ
- деякі
- спеціалізується
- конкретний
- розкол
- standard
- старт
- почалася
- Крок
- заходи
- зберігання
- зберігати
- такі
- Приймати
- команда
- техніка
- методи
- термінал
- тест
- перевірений
- текст
- ніж
- Що
- Команда
- їх
- потім
- Ці
- вони
- це
- ті
- загроза
- три
- поріг
- через
- час
- до
- інструмент
- Усього:
- навчений
- Навчання
- два
- при
- недостатньо представлений
- розуміти
- us
- Федеральний США
- використання
- зручно
- використання
- значення
- Відео
- відеоігри
- вид
- видимий
- візит
- vs
- спостереження
- we
- Web
- веб-сервіси
- ДОБРЕ
- коли
- який
- в той час як
- широко поширений
- волі
- вікно
- з
- без
- працює
- Ти
- вашу
- зефірнет
- Zip