Онлайн-разговоры широко распространены в современной жизни, охватывая различные отрасли от видеоигр до телекоммуникаций. Это привело к экспоненциальному росту объема данных онлайн-разговоров, что помогло в разработке современных систем обработки естественного языка (NLP), таких как чат-боты и модели генерации естественного языка (NLG). Со временем также развились различные методы НЛП для анализа текста. Это обуславливает потребность в полностью управляемой службе, которую можно интегрировать в приложения с помощью вызовов API без необходимости в обширных знаниях в области машинного обучения (ML). AWS предлагает предварительно обученные сервисы AWS AI, такие как Amazon Comprehend, который может эффективно обрабатывать варианты использования NLP, включая классификацию, обобщение текста, распознавание сущностей и многое другое, чтобы получать информацию из текста.
Кроме того, онлайн-разговоры привели к широко распространенному явлению нетрадиционного использования языка. Традиционные методы NLP часто плохо работают с этими текстовыми данными из-за постоянно развивающегося и специфичного для предметной области словаря, который существует на разных платформах, а также из-за значительных лексических отклонений слов от правильного английского языка, случайно или преднамеренно как форма состязательной атаки. .
В этом посте мы описываем несколько подходов машинного обучения для классификации текстов онлайн-разговоров с помощью инструментов и сервисов, доступных на AWS.
Предпосылки
Прежде чем углубляться в этот вариант использования, выполните следующие предварительные условия:
- Настроить Аккаунт AWS и создать пользователя IAM.
- Настройте Интерфейс командной строки AWS и SDK AWS.
- (Необязательно) Настройте свой IDE-среда Cloud9.
Dataset
Для этого поста мы используем Непреднамеренная систематическая ошибка Jigsaw в наборе данных классификации токсичности, эталон для конкретной проблемы классификации токсичности в онлайн-разговорах. Набор данных предоставляет метки токсичности, а также несколько атрибутов подгрупп, таких как непристойность, атака на личность, оскорбление, угроза и откровенно сексуальный характер. Метки предоставляются в виде дробных значений, которые представляют собой долю комментаторов-людей, которые считают, что атрибут применяется к данному фрагменту текста, которые редко бывают единодушны. Для создания двоичных меток (например, токсичных или нетоксичных) к дробным значениям применяется порог 0.5, а комментарии со значениями, превышающими пороговое значение, рассматриваются как положительный класс для этой метки.
Встраивание подслов и RNN
Для нашего первого подхода к моделированию мы используем комбинацию встраивания подслов и рекуррентных нейронных сетей (RNN) для обучения моделей классификации текста. Вложения подслов были введены Бояновский и др. в 2017 году как улучшение предыдущих методов встраивания на уровне слов. Традиционные модели Word2Vec с пропуском грамм обучаются для изучения статического векторного представления целевого слова, которое оптимально предсказывает контекст этого слова. Модели подслов, с другой стороны, представляют каждое целевое слово как набор n-грамм символов, составляющих слово, где n-грамма состоит из набора n последовательных символов. Этот метод позволяет модели встраивания лучше представлять лежащую в основе морфологию родственных слов в корпусе, а также вычислять вложения для новых слов, не входящих в словарь (OOV). Это особенно важно в контексте онлайн-разговоров, проблемной области, в которой пользователи часто допускают ошибки в написании слов (иногда намеренно, чтобы избежать обнаружения), а также используют уникальный, постоянно развивающийся словарный запас, который может быть не охвачен общим учебным корпусом.
Создатель мудреца Амазонки упрощает обучение и оптимизацию неконтролируемой модели встраивания подслов в ваш собственный корпус текстовых данных, специфичных для предметной области, с помощью встроенного Алгоритм BlazingText. Мы также можем загрузить существующие модели общего назначения, обученные на больших наборах данных онлайн-текста, таких как следующие: Модели английского языка доступны непосредственно из fastText. В экземпляре записной книжки SageMaker просто запустите следующую команду, чтобы загрузить предварительно обученную модель fastText:
Независимо от того, обучили ли вы свои собственные встраивания с помощью BlazingText или загрузили предварительно обученную модель, результатом будет сжатый двоичный файл модели, который вы можете использовать с библиотекой gensim для встраивания заданного целевого слова в виде вектора на основе составляющих его подслов:
После предварительной обработки данного сегмента текста мы можем использовать этот подход для создания векторного представления для каждого из составляющих слов (разделенных пробелами). Затем мы используем SageMaker и инфраструктуру глубокого обучения, такую как PyTorch, для обучения настроенной RNN с целью бинарной или многокомпонентной классификации, чтобы предсказывать, является ли текст токсичным или нет, и конкретный подтип токсичности на основе помеченных обучающих примеров.
Чтобы загрузить предварительно обработанный текст в Простой сервис хранения Amazon (Amazon S3), используйте следующий код:
Чтобы начать обучение масштабируемой модели с несколькими графическими процессорами с помощью SageMaker, введите следующий код:
В , мы определяем набор данных PyTorch, который используется train.py
подготовить текстовые данные для обучения и оценки модели:
Обратите внимание, что этот код предполагает, что vectors.zip
файл, содержащий ваши вложения fastText или BlazingText, будет храниться в .
Кроме того, вы можете легко развернуть предварительно обученные модели fastText самостоятельно на работающих конечных точках SageMaker, чтобы вычислять векторы встраивания на лету для использования в соответствующих задачах на уровне слов. См. следующее Пример GitHub Больше подробностей.
Трансформеры с обнимающим лицом
Для нашего второго подхода к моделированию мы переходим к использованию трансформаторов, представленных в статье. Внимание это все, что вам нужно. Преобразователи — это модели глубокого обучения, предназначенные для того, чтобы сознательно избегать ловушек RNN, полагаясь на механизм самоконтроля для построения глобальных зависимостей между вводом и выводом. Архитектура модели Transformer обеспечивает значительно лучшую распараллеливание и позволяет достичь высокой производительности за относительно короткое время обучения.
Основанный на успехе «Трансформеров», BERT представлен в газете. BERT: предварительная подготовка глубинных двунаправленных трансформаторов для понимания языка, добавлено двунаправленное предварительное обучение для языкового представления. Вдохновленный задачей Cloze, BERT предварительно обучен моделированию маскированного языка (MLM), в котором модель учится восстанавливать исходные слова для случайно замаскированных токенов. Модель BERT также предварительно обучена задаче прогнозирования следующего предложения (NSP), чтобы предсказать, находятся ли два предложения в правильном порядке чтения. С момента своего появления в 2018 году BERT и его варианты широко используются в задачах классификации текста.
В нашем решении используется вариант BERT, известный как RoBERTa, который был представлен в статье. Роберта: надежно оптимизированный подход к предварительной подготовке BERT. RoBERTa дополнительно повышает производительность BERT в различных задачах на естественном языке за счет оптимизированного обучения моделей, в том числе более длинных моделей обучения на 10-кратно большем корпусе, с использованием оптимизированных гиперпараметров, динамического случайного маскирования, удаления задачи NSP и многого другого.
Наши модели на базе RoBERTa используют Трансформеры с обнимающимися лицами библиотека, которая является популярной платформой Python с открытым исходным кодом, которая обеспечивает высококачественные реализации всех видов современных моделей Transformer для различных задач NLP. Hugging Face стала партнером AWS чтобы вы могли легко обучать и развертывать модели Transformer в SageMaker. Эта функция доступна через Обнимающее лицо Образы контейнера AWS Deep Learning Container, которые включают в себя библиотеки Transformers, Tokenizers и Datasets, а также оптимизированную интеграцию с SageMaker для обучения моделей и логических выводов.
В нашей реализации мы наследуем основу архитектуры RoBERTa от платформы Hugging Face Transformers и используем SageMaker для обучения и развертывания нашей собственной модели классификации текста, которую мы называем RoBERTox. RoBERTox использует кодирование пар байтов (BPE), представленное в Нейронный машинный перевод редких слов с подсловами, чтобы разбить входной текст на представления подслов. Затем мы можем обучить наши модели и токенизаторы на данных Jigsaw или на любом большом корпусе, относящемся к предметной области (например, на журналах чатов из конкретной игры), и использовать их для пользовательской классификации текста. Мы определяем наш пользовательский класс модели классификации в следующем коде:
Перед тренировкой мы подготавливаем наши текстовые данные и метки с помощью библиотеки наборов данных Hugging Face и загружаем результат в Amazon S3:
Мы начинаем обучение модели аналогично RNN:
Наконец, следующий фрагмент кода Python иллюстрирует процесс обслуживания RoBERTox через действующую конечную точку SageMaker для классификации текста в реальном времени для запроса JSON:
Оценка производительности модели: набор данных Jigsaw о непреднамеренном смещении
В следующей таблице приведены показатели производительности для моделей, обученных и оцененных на основе данных конкурса Jigsaw Unintended Bias in Toxicity Detection Kaggle. Мы обучали модели для трех разных, но взаимосвязанных задач:
- Двоичный случай – Модель была обучена на полном наборе обучающих данных для прогнозирования
toxicity
только этикетка - Мелкозернистый случай – Подмножество обучающих данных, для которых
toxicity>=0.5
был использован для прогнозирования других меток подтипа токсичности (obscene
,threat
,insult
,identity_attack
,sexual_explicit
) - Многозадачный кейс – Полный обучающий набор данных использовался для одновременного прогнозирования всех шести меток.
Мы обучили модели RNN и RoBERTa для каждой из этих трех задач, используя предоставленные Jigsaw дробные метки, которые соответствуют доле аннотаторов, считавших метку подходящей для текста, а также бинарные метки в сочетании с весами классов в сети. функция потерь. В схеме двоичной маркировки пропорции были ограничены порогом 0.5 для каждой доступной метки (1, если метка >= 0.5, 0 в противном случае), а функции потерь модели были взвешены на основе относительных пропорций каждой двоичной метки в обучающем наборе данных. Во всех случаях мы обнаружили, что непосредственное использование дробных меток приводит к лучшей производительности, указывая на дополнительную ценность информации, присущую степени согласия между аннотаторами.
Мы отображаем две метрики модели: среднюю точность (AP), которая дает сводку кривой точности-отзыва путем вычисления средневзвешенного значения точности, достигнутого на каждом пороге классификации, и площадь под кривой рабочей характеристики приемника (AUC). , который объединяет производительность модели по пороговым значениям классификации по отношению к частоте истинно положительных и ложноположительных результатов. Обратите внимание, что истинный класс для данного экземпляра текста в тестовом наборе соответствует тому, является ли истинная пропорция больше или равной 0.5 (1, если метка>=0.5, 0 в противном случае).
. | Встраивание подслов + RNN | РОБЕРТа | ||
. | Дробные метки | Двоичные метки + взвешивание классов | Дробные метки | Двоичные метки + взвешивание классов |
Двоичный | АП=0.746, ППК=0.966 | АП=0.730, ППК=0.963 | АП=0.758, ППК=0.966 | АП=0.747, ППК=0.963 |
Мелкозернистый | АП=0.906, ППК=0.909 | АП=0.850, ППК=0.851 | АП=0.913, ППК=0.913 | АП=0.911, ППК=0.912 |
Многозадачный | АП=0.721, ППК=0.972 | АП=0.535, ППК=0.907 | АП=0.740, ППК=0.972 | АП=0.711, ППК=0.961 |
Заключение
В этом посте мы представили два подхода к классификации текста для онлайн-разговоров с использованием сервисов AWS ML. Вы можете обобщить эти решения на платформах онлайн-коммуникаций, причем такие отрасли, как игры, особенно выиграют от улучшенной способности обнаруживать вредоносный контент. В будущих публикациях мы планируем дополнительно обсудить комплексную архитектуру для удобного развертывания моделей в вашей учетной записи AWS.
Если вам нужна помощь в ускорении использования машинного обучения в ваших продуктах и процессах, обратитесь в Лаборатория решений Amazon ML.
Об авторах
Райан Брэнд Специалист по анализу данных в лаборатории Amazon Machine Learning Solutions Lab. У него есть конкретный опыт применения машинного обучения для решения проблем здравоохранения и наук о жизни, а в свободное время он любит читать историю и научную фантастику.
Сурав Бхабеш является специалистом по данным в лаборатории решений Amazon ML. Он разрабатывает решения AI/ML для клиентов AWS в различных отраслях. Его специальность — обработка естественного языка (NLP), и он увлечен глубоким обучением. Помимо работы любит читать книги и путешествовать.
Лютонг Чжоу является прикладным ученым в лаборатории решений Amazon ML. Он создает индивидуальные решения AI/ML для клиентов AWS в различных отраслях. Он специализируется на обработке естественного языка (NLP) и увлечен мультимодальным глубоким обучением. Он лирический тенор и помимо работы любит петь оперы.
Сиа Голами — старший специалист по данным в лаборатории решений Amazon ML, где он создает решения AI/ML для клиентов из различных отраслей. Он увлечен обработкой естественного языка (NLP) и глубоким обучением. Вне работы Сия любит проводить время на природе и играть в теннис.
Дэниел Горовиц является менеджером по прикладному искусственному интеллекту. Он возглавляет группу ученых в Amazon ML Solutions Lab, которые работают над решением проблем клиентов и внедрением облачных технологий с помощью машинного обучения.
- Коинсмарт. Лучшая в Европе биржа биткойнов и криптовалют.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. БЕСПЛАТНЫЙ ДОСТУП.
- КриптоХок. Альткоин Радар. Бесплатная пробная версия.
- Источник: https://aws.amazon.com/blogs/machine-learning/text-classification-for-online-conversations-with-machine-learning-on-aws/
- '
- "
- 10
- 100
- 7
- a
- способность
- О нас
- ускоряющий
- Учетная запись
- Достигать
- достигнутый
- через
- добавленный
- Принятие
- ДОГОВОР
- AI
- Услуги искусственного интеллекта
- Все
- позволяет
- Amazon
- количество
- анализ
- API
- Приложения
- прикладной
- Применить
- Применение
- подхода
- подходы
- соответствующий
- архитектура
- ПЛОЩАДЬ
- Атрибуты
- доступен
- в среднем
- AWS
- сумка
- эталонный тест
- польза
- ЛУЧШЕЕ
- Лучшая
- между
- больший
- Книги
- строит
- встроенный
- призывают
- случаев
- случаев
- символы
- класс
- классификация
- облако
- код
- сочетание
- сочетании
- Комментарии
- Связь
- конкурс
- полный
- состоящие
- вычисление
- Вычисление
- вычисление
- последовательный
- постоянно
- обращайтесь
- Container
- содержит
- содержание
- Разговор
- Беседы
- Создайте
- кривая
- изготовленный на заказ
- клиент
- Клиенты
- данным
- ученый данных
- глубоко
- развертывание
- развертывание
- описывать
- предназначенный
- подробнее
- обнаружение
- Определять
- Разработка
- различный
- Размеры
- непосредственно
- обсуждать
- Дисплей
- скачать
- управлять
- в течение
- динамический
- каждый
- легко
- фактически
- включить
- впритык
- Конечная точка
- Английский
- Enter
- организация
- оценка
- развивается
- пример
- Примеры
- существующий
- опыт
- опыта
- обширный
- Лицо
- Мода
- Рассказы
- First
- после
- форма
- вперед
- найденный
- дробный
- Рамки
- Бесплатно
- от
- полный
- функция
- функциональность
- Функции
- далее
- будущее
- игра
- Игры
- игровой
- Общие
- общее назначение
- порождать
- поколение
- Глобальный
- большой
- Рост
- обрабатывать
- здравоохранение
- помощь
- помог
- High
- высококачественный
- история
- HTTPS
- человек
- Личность
- реализация
- важную
- улучшенный
- улучшение
- включают
- В том числе
- промышленности
- информация
- свойственный
- вход
- размышления
- вдохновленный
- пример
- обида
- интегрированный
- интеграции.
- IT
- Головоломка
- работа
- ключи
- известный
- лаборатория
- этикетка
- маркировка
- Этикетки
- язык
- большой
- больше
- слой
- Лиды
- УЧИТЬСЯ
- изучение
- привело
- Библиотека
- Медико-биологическая промышленность
- Вероятно
- жить
- загрузка
- машина
- обучение с помощью машины
- сделать
- ДЕЛАЕТ
- управляемого
- менеджер
- маска
- Маски
- Совпадение
- матрица
- механизм
- Память
- методы
- Метрика
- может быть
- ML
- модель
- Модели
- БОЛЕЕ
- с разными
- натуральный
- природа
- сеть
- сетей
- следующий
- ноутбук
- номер
- Предложения
- онлайн
- операционный
- Оптимизировать
- оптимизированный
- заказ
- оригинал
- Другие контрактные услуги
- в противном случае
- собственный
- бумага & картон
- особенно
- партнерство
- страстный
- производительность
- кусок
- Платформы
- игры
- пожалуйста
- Популярное
- положительный
- Блог
- предсказывать
- прогноз
- Подготовить
- предыдущий
- Проблема
- проблемам
- процесс
- Процессы
- обработка
- Продукция
- Проекция
- при условии
- приводит
- Reading
- реального времени
- Recover
- соответствующие
- удаление
- представлять
- представление
- представляющий
- запросить
- возвращают
- Возвращает
- Роли
- Run
- масштабируемые
- схема
- Наука
- НАУКА
- Ученый
- Ученые
- бесшовные
- сегмент
- обслуживание
- Услуги
- выступающей
- набор
- несколько
- Короткое
- значительный
- аналогичный
- просто
- с
- ШЕСТЬ
- Размер
- Решение
- Решения
- РЕШАТЬ
- Space
- пространства
- специализируется
- Специальные
- конкретный
- Расходы
- современное состояние
- Области
- диск
- успех
- системы
- цель
- задачи
- команда
- снижения вреда
- связь
- тестXNUMX
- Ассоциация
- три
- порог
- Через
- время
- раз
- Лексемы
- инструменты
- факел
- традиционный
- Train
- Обучение
- переход
- Переводы
- Путешествие
- под
- созданного
- использование
- пользователей
- Проверка
- ценностное
- разнообразие
- различный
- Видео
- видеоигры
- будь то
- КТО
- в
- без
- слова
- Работа
- работает
- ВАШЕ