Группа "Robin AI", подгруппа "Машинное обучение".
Данное действие обучает модель классификации текста. Задача классификации - определение типа объекта из двух или более существующих классов. В зависимости от задачи классификации подбираются подходящие типы классификаторов. Используется совместно с действием "Классифицировать текст".
Более подробно о методах классификации можно посмотреть здесь: Обзор методов классификации в машинном обучении с помощью Scikit-Learn (tproger.ru)
Свойство | Описание | Тип данных | Пример заполнения | Обязательное |
---|---|---|---|---|
Параметры | ||||
Данные для обучения | Путь к папке с данными для обучения модели классификации. Внутри папки содержатся подпапки, названия которых – это название класса. Внутри каждой подпапки должны быть txt-файлы с различными текстами, которые соответствуют классу. | Robin.FolderPath | C:\Классификатор\Классификатор\result | Да |
Папка с результатом | Путь к папке, в которую будет сохранена обученная модель классификации. | Robin.FolderPath | C:\Классификатор\Классификатор\model | Да |
Метод | Метод, который будет использоваться для обучения модели классификации. | Robin.String | выбирается из выпадающего списка | Да |
Перезаписать | Если значение "true", и в папке с результатом уже существует файл с таким же именем и расширением, то он будет перезаписан. Если "false", файл перезаписан не будет, и действие вернет ошибку. | Robin.Boolean | отметка галочкой | Нет |
Стоп-слова | Путь к txt-файлу, который содержит стоп-слова, которые не будут учитываться при обучении модели классификации. Каждое стоп-слово должно быть записано на новой строке. | Robin.FilePath | C:\Классификатор\Классификатор\stopwords.txt | Нет |
Словосочетания | Путь к txt-файлу, содержащему словосочетания, которые при обучении модели важно не разделять на отдельные слова для сохранения смысла всей фразы. Каждое словосочетание должно быть записано на новой строке. | Robin.FilePath | C:\Классификатор\Классификатор\combinations.txt | Нет |
Результаты | ||||
Результат | Процент точности обученной модели. | Robin.Numeric |
В списке методов обучения параметра "Метод" при смене языка студии на английский название метода "Выбрать наиболее подходящий" сменяется на название "Choose the most suitable", остальные варианты остаются на английском.
При невыполнении условий проверки параметров робот будет выдавать следующие сообщения об ошибках:
Условие | Исключение | Текст сообщений об ошибках |
---|---|---|
Проверки для параметра "Путь к исходной папке" | ||
Если в имени пути превышена допустимая длина | 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} |
У входного файла расширение не .txt | ValidationError | Файл по пути {list_words_path} имеет неверное расширение. Допустимые значения: .txt |
Проверка для параметра "Словосочетания" | ||
Если в имени пути превышена допустимая длина | ValidationError | Превышено ограничение на длину имени пути "{folder_path}" |
Если в имени пути используются недопустимые символы | ValidationError | Недопустимые символы в имени пути "{folder_path}" |
Если файл не найден | FileNotFound | Файл "{file_path}" не найден |
Если путь не является файлом | FileNotFound | Ресурс "{folder_path}" не является файлом |
Если у файла нет доступа | FileNotAvailable | Ошибка доступа к "{folder_path}" для чтения |
Ошибка чтения файла, например неправильная кодировка | ValidationError | Ошибка чтения .txt файла по пути {filepath}: {ex} |
У входного файла расширение не .txt | ValidationError | Файл по пути {list_words_path} имеет неверное расширение. Допустимые значения: .txt |
Если после прохода по папкам и очистки текстов нет ни одного текста для обучения | ValidationError | Ошибка входных данных: нет подходящих данных или данные пустые |
1. Все параметры настроены верно:
"Данные для обучения" - Папка с результатом с необходимой структурой данных,
"Папка с результатом" - существующая папка.
Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;
Корректно настроить параметры действия;
Запустить робота.
Результат: Робот сохранит обученную модель в указанной папке,
2. Указаны неверные пути в:
"Данные для обучения";
"Папка с результатом";
"Стоп-слова";
"Словосочетания".
Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;
Корректно настроить параметры действия;
Запустить робота.
Результат: Робот выдаст ошибку, связанную с несуществующим адресом папки/файла.
3. Указаны неверные форматы файлов в:
"Стоп-слова";
"Словосочетания".
Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;
Корректно настроить параметры действия;
Запустить робота.
Результат: Робот вернет ошибку, так как не может прочитать файлы.
4. Обученная модель (файлы) уже существует в указанном пути "Папка с результатом", но выключено "Перезаписать":
Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;
Корректно настроить параметры действия. Не включать "Перезаписать";
Запустить робота.
Результат: Робот выдаст ошибку, так как не может записать файлы.
5. В папке "Данные для обучения" нет файлов для обучения:
Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;
Корректно настроить параметры действия.
Запустить робота.
Результат: Робот выдаст ошибку.
Обучить модель классификации.
Воспользоваться действием "Обучить модель классификации".
1.Для задания параметров модели обучения Пользователю необходимо создать данные для обучения:
данные для обучения - дерево объектов, состоящее из двух папок:
Исходная папка:
в ней классы:
В каждой папке папка с классом:
Подготовить словосочетания.
txt-файл, содержащий словосочетания, которые при обучении модели важно не разделять на отдельные слова для сохранения смысла всей фразы. Каждое словосочетание должно быть записано на новой строке, указывать фразы надо целиком, без разделения по словам, например: операции по чеку
Подготовить стоп-слова.
txt-файл, который содержит стоп-слова, которые не будут учитываться при обучении модели классификации. Каждое стоп-слово должно быть записано на новой строке, например:
2. Перенести на рабочую область действие "Обучить модель классификации".
3. Настроить параметры действия " Обучить модель классификации".
4.. Нажать на кнопку "Старт" в верхней панели.
Программный робот отработал успешно.