Классификация текста с использованием Python и Scikit-learn |
||||||||||||||||||||||||||
|
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2024-05-14 12:08 Из этого туториала вы узнаете, как быстро построить модель классификации текста с помощью Python и Scikit-learn. Классификация текста — это задача автоматического присвоения меток частям текста, например статьям, сообщениям в блогах или обзорам. Многие предприятия используют алгоритмы классификации текста, чтобы сэкономить время и деньги за счет сокращения объема ручного труда, необходимого для организации и анализа текстовых данных. Эти алгоритмы являются чрезвычайно мощными инструментами при правильном использовании. Модели классификации текста защищают вашу электронную почту от спама, помогают авторам обнаруживать плагиат и помогают программе проверки грамматики понимать различные части речи. Если вы хотите создать классификатор текста, у вас есть множество вариантов на выбор. Вы можете использовать традиционные методы, такие как пакет слов, продвинутые методы, такие как Word2Vec , или передовые подходы, такие как BERT или GPT-3. Но если ваша цель — быстро и бесплатно запустить что-то, вам следует построить модель классификации текста с помощью Python и Scikit-learn. Я покажу вам, как это сделать, в этом уроке. Итак, давайте начнем! Предварительные условия Прежде чем мы начнем, вам необходимо установить несколько библиотек. Лучший способ сделать это — создать новую виртуальную среду и установить туда пакеты. Если вы используете Если вы используете Вот и все! Эти команды создадут виртуальную среду, активируют ее и установят необходимые пакеты. Наконец, запустите сеанс Jupyter Notebook, выполнив Импортируйте необходимые библиотеки Первым шагом, как всегда, является импорт необходимых библиотек. Создайте новую ячейку в блокноте, вставьте в нее следующий код и запустите ячейку: Этот код импортирует необходимые библиотеки. Вот почему они вам нужны:
Далее вы прочитаете и обработаете данные. Прочтите данные Начните с чтения данных. Вы будете использовать набор данных, включенный в Создайте новую ячейку и вставьте этот код, чтобы прочитать данные: Этот код считывает набор данных из 20 групп новостей. Вот как это работает:
Вот и все. Теперь вы немного очистите данные. Подготовьте данные Прежде чем создавать модель классификации текста, вам необходимо подготовить данные. Вы сделаете это в три этапа: очистите текстовый столбец, создадите разделения для обучения и тестирования и создадите набор слов из документов. Очистите текстовый столбец Используйте этот код для очистки текста. Он удалит знаки препинания и несколько соседних пробелов: Этот код преобразует текст в нижний регистр, удаляет все знаки препинания и повторяющиеся пробелы и сохраняет результаты в новом столбце с именем Разделите данные на обучающие и тестовые наборы Далее вы разделите набор данных на обучающий и тестовый набор:
Далее вы будете использовать эти наборы данных для обучения и оценки своей модели. Создать мешок слов Модели машинного обучения не могут напрямую обрабатывать текстовые функции. Чтобы обучить модель, сначала необходимо преобразовать текст в числовые характеристики. Один из популярных подходов к этому называется « мешок слов» , и именно его вы будете использовать в этом примере. В подходе «мешок слов» каждый документ представляется в виде строки в матрице, где каждое слово или токен отображается в документе в виде столбца. Например, рассмотрим эти два предложения:
Простейшее представление набора слов для этих двух предложений будет выглядеть так:
Получив это числовое представление, вы можете передать этот набор данных в свою модель машинного обучения. Это то, что вы сделаете с документами в наборе данных 20 групп новостей. Имейте в виду, что, поскольку в наборе данных очень много документов, в итоге вы получите матрицу с гораздо большим количеством столбцов, чем в примере выше. Чтобы создать набор слов в формате
Далее вы обучите свою модель классификации текста. Обучите и оцените модель Наконец, вы можете обучить модель, запустив этот код: В строках 1 и 2 вы обучаете полиномиальную наивную байесовскую модель. Эта простая вероятностная модель обычно используется в случаях с дискретными функциями, такими как количество слов. Затем в строках 4 и 5 вы оцениваете результаты модели, вычисляя показатели точности, полноты и f1 . После запуска кода вы получите результат, который будет выглядеть примерно так: ![]() Вы обучили модель и получили соответствующие показатели оценки. Вы набрали 0,83 f1, что неплохо! Далее вы узнаете, как сохранить и загрузить модель, чтобы использовать ее для вывода. Сохранение и загрузка модели Если вы хотите сохранить модель на будущее, вы можете использовать Вы можете использовать следующий код для сохранения артефактов модели: Если вы хотите повторно использовать свою модель позже, просто прочитайте ее и используйте для классификации новых образцов данных следующим образом: Приведенный выше код прочитает ранее сохраненные артефакты в файлы Вот и все! Вы узнали, как использовать Python и Scikit-learn для обучения модели классификации текста. Позвольте мне предложить несколько советов о том, что вы могли бы сделать дальше. Следующие шаги Если вы хотите поднять свои навыки моделирования на новый уровень, вот несколько идей для изучения:
Кроме того, учитывая последние достижения в области обработки естественного языка (НЛП), подходы на основе преобразователей становятся подходящим вариантом для решения многих задач, в которых используются функции текста. Хорошей отправной точкой является курс НЛП от Huggingface . Заключение В машинном обучении классификация текста — это задача маркировки фрагментов текста с помощью автоматизированных методов. В этом руководстве показано, как создать свою первую модель классификации текста с помощью Python и Scikit-learn. Источник: dylancastillo.co Комментарии: |
|||||||||||||||||||||||||