knowledge base

Классификация текстов

Данный сценарий предполагает решение задачи бинарной классификации произведений по их авторов с использованием в качестве источника текстовых документов в формате .txt. 

Для решения задачи выполните следующие действия:

Загрузка данных на платформу. Набор данных состоит из четырех книг. Половина книг написана Булгаковым, а остальная половина – Клиффордом. Эти книги представляют собой текстовые документы в формате .txt.

  • Перейдите в раздел данные и нажмите кнопку «Создать».
  • В открывшейся в поле «Тип» выберите значение «Категория», в поле «Название» введите название новой группы, например «Данные для классификации текстов», и нажмите кнопку «Создать». 
  • Перейдите в созданную папку «Данные для классификации текстов» и аналогичным образом создайте две новые папки внутри – «Text Train» и «Text Test». В группу «Text Train» будут складываться данные для обучения будущей модели машинного обучения, а в группу «Text Test» – данные для  валидации или проверки ‘качества’ уже обученной модели. При этом для обучения модели необходимо использовать большее количество файлов, в нашем примере в обучающем текстовом файле содержится 5 книг, а в тестовом – 2.
  • В папке «Text Train» создайте еще две папки, которые и будут определять классы, –  «Clifford» и «Bulgakov». Количество классов равно двум, так как в данном сценарии решается задача бинарной классификации (для многоклассовой классификации создавалось бы больше двух классов). В класс «Clifford» загружается текстовый файл с произведениями Клиффорда, а в класс «Bulgakov» загружаются книги Булгакова. 
  • Для того чтобы загрузить файлы, перейдите в нужную папку и нажмите кнопку «Загрузить». Откроется окно загрузки файлов:
  • Для выбора файлов кликните в область окна «Выберите файлы» или перетащите их по технологии drag and drop (из окна папки на вашем ПК в окно браузера). Обратите внимание: за раз можно добавить максимум 10 файлов. Соответственно, если нужно загрузить больше файлов, нужно повторить выбор несколько раз.
  • После того, как все файлы выбраны, при необходимости вы можете удалить ненужные файлы, нажав на крестик в правой части строки с файлом, или нажать «Удалить все», если это требуется.
  • В нашем примере все произведения объединены в один текстовый файл. После его загрузки, нажмите кнопку «Загрузить»:

Выбранные файлы в окне загрузки

  • В результате загруженные файлы отобразятся в папке:

Загруженные файлы в папке

  • Вышеописанные действия повторяются для папки «Text Train» -> «Bulgakov».
  • Далее по аналогии создаются и заполняются папки «Text Test» -> «Clifford» и «Bulgakov», туда загружаются файлы для валидации модели.
  • Чтобы удалить группу/класс достаточно удалить соответствующую папку в разделе Данные, нажав на три точки в строке с этой папкой.
  1. После того, как обучающая и валидационная выборки собраны, для папок «Text Test» и «Text Train» добавляется параметр классификация. Для этого в строке с папкой нажмите на три точки и кликнуть на кнопку «Классификация», после этого содержимое папки будет готово для использования при построении модели:

Кнопка присвоения параметра Классификации папке

  • Обратите внимание: данное действие необходимо выполнить один раз. Даже если позже в папку будут добавлены новые файлы, они будут учтены при построении или запуске модели классификации.

Построение блок-схемы (блок-схему сценария см. в таблице 18.9 «Обучение модели классификации текстов»).

Создание новой рабочей области. Перейдите в раздел «Моделирование» -> Рабочая область. Нажав на в верхней части экрана, создайте новую рабочую область с названием «Тексты».

Блок запуск. Добавьте на рабочую область элемент «Запуск»:

Добавление элемента Запуск на рабочую область.

Дважды кликните на название элемента, чтобы переименовать его в «Классификация текстов»:

Блок Источник данных. Добавьте на рабочую область элемент «Источник данных» и в качестве функции выберите «Загрузка текстовых файлов для классификации».

  • В разделе «Группа обучающих текстов» выберите папку «Text Train», нажав на три точки в строке с ее наименованием и кликнув «Выбрать», в результате папка отобразится в нижней части списка:

Выбор папок для классификации

  • Аналогичным образом выберите папку «Text Test» в разделе ниже «Группа тестовых текстов»
  • В поле «Группа текстов для классификации» вы можете выбрать файл, который необходимо классифицировать с применением обученной модели. В нашем случае, для классификации будет использован тестовый файл из папки Клиффорд*

*Данное поле не является обязательным 

Выбор текста для классификации

  • Сохраните настройки блока
  • Переименуйте блок в «Загрузка текстов»
  • Соедините элементы блок схемы:

Соединение элементов блок схемы

Блок Процесс, Фильтрация шума. Добавьте на рабочую область три элемента процесс. Для каждого выберите функцию «Предобработка данных» -> «Фильтрация текстового шума». Не забывайте нажимать «Сохранить» каждый раз после изменения параметров блока процесс.

  • Переименуйте один блок процесс в «Фильтрация шума train», второй в – «Фильтрация шума test», третий в «Фильтрация шума Клиффорд»
  • Соедините элементы:

Соединение элементов блок схемы

Блок Процесс, Лемматизация. Добавьте на рабочую область три элемента процесс. Для каждого выберите функцию «Предобработка данных» -> «Лемматизация текста». Не забывайте нажимать «Сохранить» каждый раз после изменения параметров блока процесс.

  • Переименуйте один блок процесс в «Лемматизация train», второй в – «Лемматизация test», третий – в «Лемматизация Клиффорд»:
  • Соедините элементы:


Соединение элементов блок схемы

Блок Процесс, Автореферирование. Добавьте на рабочую область элемент процесс. Выберите функцию «Работа с текстом» -> «Автореферирования текста».

  • В параметрах блока в поле «Объем автореферата» укажите 200 (это максимальное количество символов, которое отобразится в качестве краткого содержания после применения функции).
  • Сохраните параметры блока.
  • Переименуйте блок в «Реферат»
  • Соедините элементы:

Соединение элементов блок схемы

Блок Процесс, Векторизация. Добавьте на рабочую область элемент процесс. Выберите функцию «Предобработка данных» -> «Векторизация текста».

В параметрах блока выберите «Метод векторизации»: Word to Vec; «Максимальная размерность текста» – 25000; «Количество признаков» – 25:

Параметры блока «Векторизация текста»

  • Сохраните параметры блока
  • Переименуйте блок в «Векторизация»
  • Соедините элементы:

Соединение элементов блок схемы

Блок Процесс, Классификация. Добавьте на рабочую область элемент процесс. Выберите функцию «Классификация» -> «Логистическая регрессия».

  • В параметрах блока выберите «Коэффициент регуляции»: 1; «Порог классификации» – 0,5; Не нужно устанавливать галочки в полях «Флаг возврата вероятности при прогнозе» и «Оптимизация гиперпараметров»:

Параметры блока «Логистическая регрессия»

  • Сохраните параметры блока
  • Переименуйте блок в «Классификация»
  • Соедините элементы:

Соединение элементов блок схемы

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

Визуализация результатов. После успешной отработки блок схемы на верхней панели активируются кнопки визуализации:

Нажав на иконку с таблицей, вы сможете выбрать из следующих  доступных визуализаций:

  • Отфильтрованные тестовые данные для каждого датасета:
  • Лемматризированные текстовые данные для каждого датасета
  • Краткое содержание после применения блока «Автореферирование»: