Группа "Robin AI", подгруппа "Машинное обучение".
ITRPA-14786 - ROBIN AI. Классификатор текста (step1). Машинное обучение - spec DONE
Описание
Действие обучает модель классификации текста. Альтернатива Preferentum по классификации текста. Используется совместно с действием "Классифицировать текст".
Входные параметры
Данные для обучения | The path to the source folder | Да | Путь к папке с данными для обучения модели классификации. Внутри папки содержатся подпапки, названия которых – это название класса. Внутри каждой подпапки должны быть 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. Если встретится другой формат, не обрабатываем, пропускаем. Пример дерева объектов: исходная папка: в ней классы: в классах: | |
Папка с результатом | 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", остальные варианты остаются на английском. | |
Перезаписать | 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 | Слова, несущие мало смысла для классификации, но часто встречающиеся, напр, в письмах:
| |
Словосочетания | 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 | Тестовая и тренировочная выборки сравниваются и получается процент |
Возможные доработки
Ошибки
Условие | Исключение | Текст |
---|---|---|
Проверки для параметра "Путь к исходной папке" | ||
Если в имени пути превышена допустимая длина | 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 | Ошибка входных данных: нет подходящих данных или данные пустые |
Данные для контракта действия:
Название | Название (англ) | Обязательное | Описание | Описание (англ) | Тип данных | Примечание | |
---|---|---|---|---|---|---|---|
Действие | Обучить модель классификации | Train a classification model | Действие обучает модель классификации текста. | The action trains the text classification model. | Используется совместно с действием "Классифицировать текст". | ||
Входные параметры | |||||||
Данные для обучения | 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. Если встретится другой формат, не обрабатываем, пропускаем. Пример дерева объектов: исходная папка: в ней классы: в классах: | |
Папка с результатом | 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", остальные варианты остаются на английском. | |
Перезаписать | 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 | Слова, несущие мало смысла для классификации, но часто встречающиеся, напр, в письмах:
| |
Словосочетания | 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 | Тестовая и тренировочная выборки сравниваются и получается процент |
Возможные доработки
Вместо действия реализовать графический интерфейс, по типу обновления драйверов для браузера.
Принимать .msg.
Use-cases
UC Действие "Обучить модель классификации"
Станьте первыми кому понравится это
Написать комментарий...
Обучить модель классификации / Train classification model
Группа действий: Robin AI