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

Ключ

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

Группа "Robin AI", подгруппа "Машинное обучение".

Image RemovedITRPA-14786 - ROBIN AI. Классификатор текста (step1). Машинное обучение - spec DONE

Описание

Действие обучает модель классификации текста. Альтернатива Preferentum по классификации текста.   Используется совместно с действием "Классифицировать текст". Является  альтернативой 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-файлу, содержащему словосочетания, которые при обучении модели важно не разделять на отдельные слова для сохранения смысла всей фразы. Каждое словосочетание должно быть записано на новой строке. 

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

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


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


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

Настройки               


Свойство

Описание

Тип данных

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

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

Примечание

Параметры




Данные для обучения

Название

Название (англ)

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

Описание

Описание (англ)

Тип данных

Примечание

Входные параметрыДанные для обученияThe path to the source folderДа
Путь к папке с данными для обучения модели классификации. Внутри папки содержатся подпапки, названия которых – это название класса. Внутри каждой подпапки должны быть txt-файлы с различными текстами, которые соответствуют классу.
The path to the data folder for training the classification model. Inside the folder there are subfolders whose names are the name of the class. Inside each subfolder there should be txt files with various texts that correspond to the class.

Robin.FolderPath


Да

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

там

файлы формата .txt.

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

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

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

Image Modified

в ней классы:

Image Modified

в классах:

Image Modified


Image Modifiedresult.zip

Папка с результатом
Path to the resulting folderДа

Путь к папке, в которую будет сохранена обученная модель классификации.

The path to the folder where the trained classification model will be saved.




Robin.FolderPath
Да

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

Метод
MethodДа

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

The method that will be used to train the classification model.

Robin.String
Да

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

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

SVC

RandomForest

GradientBoosting

AdaBoost

DecisionTree

KNeighboors

Naive Bayes


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

Перезаписать

OverwriteНет

Если значение "true", и в папке с результатом уже существует файл с таким же именем и расширением, то он будет перезаписан. Если "false", файл перезаписан не будет, и действие вернет ошибку.
If the value is "true", and a file with the same name and extension already exists in the folder with the result, then it will be overwritten. If "false", the file will not be overwritten, and the action will return an error.
Robin.Boolean
Нет

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

Стоп-слова

Custom Stop WordsНет

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

The path to the txt file that contains stop words that will not be taken into account when training the classification model. Each stop word must be written on a new line.

Robin.FilePath
Нет

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

Доброе утро!

Добрый день!

С уважением,

tel:

email:

Словосочетания
Word combinationНет
Путь к txt-файлу, содержащему словосочетания, которые при обучении модели важно не разделять на отдельные слова для сохранения смысла всей фразы. Каждое словосочетание должно быть записано на новой строке.
The path to the txt file containing phrases, which, when training the model, it is important not to divide into separate words in order to preserve the meaning of the entire phrase. Each phrase must be written on a new line.
Robin.FilePath
Нет

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

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

Выходные параметры
Результаты




Результат
Result
Процент точности обученной модели
.The percentage of accuracy of the trained model
.Robin.Numeric

Тестовая и тренировочная выборки сравниваются и получается процент

Возможные доработки

 

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

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

...

УсловиеИсключениеТекст сообщений об ошибках
Проверки для параметра "Путь к исходной папке"

Если в имени пути превышена допустимая длинаValidationErrorПревышено ограничение на длину имени пути "{folder_path}"
Если в имени пути используются недопустимые символыValidationErrorНедопустимые символы в имени пути "{folder_path}"
Если директория не найденаDirectoryNotFoundДиректория "{folder_path}" не найдена
Если путь не является директориейDirectoryNotFoundРесурс "{folder_path}" не является директорией
Если к папке нет доступаDirectoryNotAvailableОшибка доступа к "{folder_path}" для чтения
Проверки для параметра "Путь к папке с результатом"

Если в имени пути превышена допустимая длинаValidationErrorПревышено ограничение на длину имени пути "{folder_path}"
Если в имени пути используются недопустимые символыValidationErrorНедопустимые символы в имени пути "{folder_path}"
Если директория не найденаDirectoryNotFoundДиректория "{folder_path}" не найдена
Если путь не является директориейDirectoryNotFoundРесурс "{folder_path}" не является директорией
Если у папки нет доступаDirectoryNotAvailableОшибка доступа к "{folder_path}" для записи
Проверка для файла machine_model.pkl, который будет сохранен в "Путь к папке с результатом"

Если файл уже существует и не выбран параметр "Перезаписать"FileAlreadyExistsФайл по пути: {result_file_path} уже существует
Проверка для файла tfidf_model.pk, который будет сохранен в "Путь к папке с результатом"

Если файл уже существует и не выбран параметр "Перезаписать"FileAlreadyExistsФайл по пути: {result_file_path} уже существует
Проверка для параметра "Пользовательские стоп-слова"

Если в имени пути превышена допустимая длинаValidationErrorПревышено ограничение на длину имени пути "{folder_path}"
Если в имени пути используются недопустимые символыValidationErrorНедопустимые символы в имени пути "{folder_path}"
Если файл не найденFileNotFoundФайл "{file_path}" не найден
Если путь не является файломFileNotFoundРесурс "{folder_path}" не является файлом
Если у файла нет доступаFileNotAvailableОшибка доступа к "{folder_path}" для чтения
Ошибка чтения файла, например неправильная кодировкаValidationErrorОшибка чтения .txt файла по пути {filepath}: {ex}
У входного файла расширение не .txtValidationErrorФайл по пути {list_words_path} имеет неверное расширение. Допустимые значения: .txt
Проверка для параметра "Словосочетания"

Если в имени пути превышена допустимая длинаValidationErrorПревышено ограничение на длину имени пути "{folder_path}"
Если в имени пути используются недопустимые символыValidationErrorНедопустимые символы в имени пути "{folder_path}"
Если файл не найденFileNotFoundФайл "{file_path}" не найден
Если путь не является файломFileNotFoundРесурс "{folder_path}" не является файлом
Если у файла нет доступаFileNotAvailableОшибка доступа к "{folder_path}" для чтения
Ошибка чтения файла, например неправильная кодировкаValidationErrorОшибка чтения .txt файла по пути {filepath}: {ex}
У входного файла расширение не .txtValidationErrorФайл по пути {list_words_path} имеет неверное расширение. Допустимые значения: .txt
Другие ошибки



Если после прохода по папкам и очистки текстов нет ни одного текста для обученияValidationErrorОшибка входных данных: нет подходящих данных или данные пустые

Данные для контракта действия: 

...

Название

...

Название (англ)

...

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

...

Описание

...

Описание (англ)

...

Тип данных

...

Примечание

...

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

...

Да

...

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

 

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

...

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

там

...

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

...

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

...

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

Image Modified

в ней классы:

Image Modified

в классах:

Image Modified


Image Modifiedresult.zip

...

Путь к папке, в которую будет сохранена обученная модель классификации.

...

The path to the folder where the trained classification model will be saved.

...

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

...

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

...

The method that will be used to train the classification model.

...

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






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. Запустить робота.

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

  • Выбрать наиболее подходящий – Choose the most suitable
  • SVC
  • RandomForest
  • GradientBoosting
  • AdaBoost
  • DecisionTree
  • KNeighboors
  • Naive Bayes

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

...

Перезаписать

...

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

...

Стоп-слова

...

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

...

The path to the txt file that contains stop words that will not be taken into account when training the classification model. Each stop word must be written on a new line.

...

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

  • Доброе утро!
  • Добрый день!
  • С уважением,
  • tel:
  • email:

...

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

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

...

Возможные доработки

Вместо действия реализовать графический интерфейс, по типу обновления драйверов для браузера.

Принимать .msg.

Use-cases

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

Написать комментарий...

Atlassian

Обучить модель классификации / Train classification model

Группа действий: Robin AI






...