Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Обучить модель классификации Версия 1 (Python)

Группа "Robin AI", подгруппа "Машинное обучение".Классификатор (ROBIN)"

...

Описание

Действие обучает модель классификации текста.  Используется совместно с действием "Классифицировать текст". Является  альтернативой Preferentum по классификации текста.

Входные параметры   

  • Данные для обучения         Путь к папке с данными для обучения модели классификации. Внутри папки содержатся подпапки с классами, названия которых – это название класса. Класс - это ........ Внутри каждой подпапки должны быть файлы формата .txt. с различными текстами, которые соответствуют классу.
  • Папка с результатом        Путь к папке, в которую будет сохранена обученная модель классификации. В указанной папке должно быть создано 2 файла: machine_model.pkl – модель машинного обучения, и tfidf_model.pk – сохранение словаря, токены.
  • Метод                                  Метод, который будет использоваться для обучения модели классификации. Используются следующие методы: 
            • Выбрать наиболее подходящий – Choose the most suitable
            • SVC
            • RandomForest
            • GradientBoosting
            • AdaBoost
            • nTree
            • KNeighboors
            • Naive Bayes
  • Перезаписать                   Если значение параметра  "true", и в папке с результатом уже существует файл с таким же именем и расширением, то он будет перезаписан. 

       Если значение параметра"false", файл перезаписан не будет, и действие вернет ошибку.  Файлы machine_model.pcl and tiff_model.pk должны быть уникальны в указанной папке.

  • Стоп-слова                       Путь к txt-файлу, который содержит стоп-слова, которые не будут учитываться при обучении модели классификации. Каждое стоп-слово должно быть записано на новой строке. Слова, несущие мало смысла для классификации, но                                                                          часто встречающиеся, например, в письмах:
  • Доброе утро!
  • Добрый день!
  • С уважением,
  • tel:
  • email:
  • Словосочетания             Путь к txt-файлу, содержащему словосочетания, которые при обучении модели важно не разделять на отдельные слова для сохранения смысла всей фразы. Каждое словосочетание должно быть записано на новой строке. 

                                     Словосочетания нужны для указания важности фразы целиком, без разделения по словам.

                                     Например: юридическое лицо, операция по чеку, чек по операции, срочный вопрос, группа компаний, стратегия развития.

Выходные параметры

  • Результат                 Результат показывает  процент точности обученной модели, полученный путем сравнения тестовой и тренировочной выборки  в процентном соотношении

Настройки               

Данное действие обучает модель классификации текста.

Задача классификации - определение типа объекта из двух или более существующих классов.
В зависимости от задачи классификации подбираются подходящие типы классификаторов. 
Более подробно о методах классификации можно посмотреть здесь: Обзор методов классификации в машинном обучении с помощью Scikit-Learn (tproger.ru)

Иконка действия

Image Added

Параметры и их настройка

СвойствоОписаниеТипПример заполненияОбязательность заполнения поля

Свойство

Описание

Тип данных

Пример заполнения

Обязательное

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

Robin.FolderPath

Да

каждой папке папка с классом.

там

Если встретится другой формат, не обрабатываем, пропускаем.

Пример дерева объектов:

исходная папка:

Image Removed

в ней классы:

Image Removed

в классах:

Image Removed

Image Removedresult.zip

Путь к папкеC:\Users\123\OneDrive\Рабочий стол\Папка с текстамиДа
Папка с результатомПуть к папке, в которую будет сохранена обученная модель классификации
.Robin.FolderPathДа
Путь к папкеC:\Users\123\OneDrive\Рабочий стол\ИндексацияДа
В указанной папке будет создано 2 файла: machine_model.pkl – модель машинного обучения, и tfidf_model.pk – сохранение словаря, токены.
МетодМетод, который будет использоваться для обучения модели классификации.
Robin.StringДа
Значение по умолчанию – RandomForest

Параметр содержит следующие методы: 

Список методов:

  1. Выбрать наиболее подходящий
– Choose the most suitable

SVC

RandomForest

GradientBoosting

AdaBoost

DecisionTree

KNeighboors

Naive Bayes

  1. SVC (Support Vector Machines) – метод опорных векторов 
  2. RandomForest – метод случайного леса
  3. GradientBoosting – градиентный бустинг
  4. AdaBoost (Adaptive Boosting) – адаптивный бустинг
  5. DecisionTree (Decision Tree Classifier) – классификатор дерева решений 
  6. KNeighboors (K-Nearest Neighbors) – метод k-ближайших соседей
  7. Naive Bayes – наивный байесовский метод
СтрокаAdaBoostДа
В списке при смене языка студии на английский "Выбрать наиболее подходящий" сменяется на "Choose the most suitable", остальные варианты остаются на английском.
ПерезаписатьЕсли значение
"true"
«true», и в папке с результатом уже существует файл с таким же именем и расширением, то он будет перезаписан. Если
"false"
«false», файл перезаписан не будет, и действие вернет ошибку
.
Логическийtrue
Robin.Boolean
Нет

Файлы machine_model.pcl and tiff_model.pk должны быть уникальны в указанной папке.

Стоп-словаПуть к txt-файлу, который содержит стоп-слова, которые не будут учитываться при обучении модели классификации. Каждое стоп-слово должно быть записано на новой строке
.Robin.FilePathНет

Слова, несущие мало смысла для классификации, но часто встречающиеся, напр, в письмах:

Доброе утро!

Добрый день!

С уважением,

tel:

email:

Путь к файлуC:\Users\123\OneDrive\Рабочий стол\Стоп-слова.txtНет
СловосочетанияПуть к txt-файлу, содержащему словосочетания, которые при обучении модели важно не разделять на отдельные слова для сохранения смысла всей фразы. Каждое словосочетание должно быть записано на новой строке
.Robin.FilePathНет

Словосочетания нужны указания важности фразы целиком, без разделения по словам.

Путь к файлуC:\Users\123\OneDrive\Рабочий стол\Словосочетания.txtНет
Например: юридическое лицо, операция по чеку, чек по операции, срочный вопрос, группа компаний, стратегия развития.
Результаты
РезультатПроцент точности обученной модели
.
Robin.NumericТестовая и тренировочная выборки сравниваются и получается процент
Число

Особые условия использования

  1. В списке при смене языка студии на английский "Выбрать наиболее подходящий" сменяется на "Choose the most suitable", остальные варианты остаются на английском.
  2. При невыполнении условий проверки параметров робот будет выдавать следующие сообщения об ошибках:

...

Особых условий нет.

Пример использования

Задача

Имеется исходная папка "result":
Image Added

В папке расположены подпапки-классы для обучения классификатора:
Image Added

В каждой папке расположены txt-файлы с различными текстами, которые соответствуют классу:
Image Added

Также имеются текстовые файлы со стоп-словами.
Image Added

и со словосочетаниями.
Image Added

Необходимо обучить модель классификации на имеющихся данных, сохранить обученную модель классификации в папку "Модель классификации"
и вывести процент точности обученной модели в переменной "Результат" через диалоговое окно.

Решение

Воспользоваться действиями  "Обучить модель классификации" и "Сообщение".

Реализация

  1. Создать переменную "Результат" с типом "Число".
    Image Added
  2. Перетащить на рабочую область действие "Обучить модель классификации".
    Image Added
  3. Заполнить параметры действия "Обучить модель классификации". 
    Добавить в соответствующие поля параметров пути к папкам и файлам и выбрать метод.
    В результат добавить переменную "Результат":
    Image Added
  4. Перетащить на рабочую область действие "Сообщение".
    Image Added
  5. Заполнить параметры действия "Сообщение".
    Image Added
  6. Нажать на кнопку "Старт" в верхней панели.

Результат

Программный робот отработал успешно.

Создана модель классификации, включающая в себя 2 файла: machine_model.pkl – модель машинного обучения и tfidf_model.pk – сохранение словаря, токены.Image Added

Процент точности обученной модели записан в переменную "Результат" и выведен в диалоговое окно.
Image Added

Image Added

...

 Более подробно о методах обучения модели классификации можно посмотреть тут:   

 

Примеры использования

каждой папке папка с классом.

там

Если встретится другой формат, не обрабатываем, пропускаем.

Пример  параметра "Для обучения" - дерево объектов:

Исходная папка:

Image Removed

в ней классы:

Image Removed

в классах:

Image Removed

Image Removedresult.zip

UC Действие "Обучить модель классификации"  

Все параметры настроены верно:

  • "Данные для обучения" - Папка с результатом с необходимой структурой данных,
  • "Папка с результатом" - существующая папка.
  1. Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;

  2. Корректно настроить параметры действия;
  3. Запустить робота.

Результат: Робот сохранить обученную модель в указанной папке,

Указаны неверные пути в:

  • "Данные для обучения";
  • "Папка с результатом"; 
  • "Стоп-слова";
  • "Словосочетания".
  1. Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;

  2. Корректно настроить параметры действия;
  3. Запустить робота.

Результат: Робот вернет ошибку, связанную с несуществующим адресом папки/файла.

Указаны неверные форматы файлов в:

  • "Стоп-слова";
  • "Словосочетания".
  1. Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;

  2. Корректно настроить параметры действия;
  3. Запустить робота.

Результат: Робот вернет ошибку, так как не может прочитать файлы.

Обученная модель (файлы) уже существует в указанном пути "Папка с результатом", но выключено "Перезаписать":

  1. Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;

  2. Корректно настроить параметры действия. Не включать "Перезаписать";
  3. Запустить робота.

Результат: Робот вернет ошибку, так как не может записать файлы.

В папке "Данные для обучения" нет файлов для обучения:

  1. Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;

  2. Корректно настроить параметры действия.
  3. Запустить робота.

Результат: Робот вернет ошибку.