Классифицировать текст Версия 1 (python)
Группа "Robin AI", подгруппа "Машинное обучение"
Описание
Действие определяет класс, к которому относится текст, на основе обученной модели классификации, т.е. показывает вероятность отношения текста к определенному классу, соответствующему рубрике на основе обученного метода классификации.
Целью выполнения действия является определение той рубрики, к которой ближе всего относится текст, то есть должна быть определена рубрика с наибольшим процентом точности, чтобы позволить принять решение о дальнейших действиях с этим текстом.
Параметры
Входные параметры
- Текст для классификации - текст, класс которого необходимо определить. Язык может быть любой. Если будет язык отличный от языка обучающей выборки, то процент определения класса будет близким к нулю.
- Обученная модель - путь к папке, которая содержит обученную модель классификации. В папке должно содержаться два файла: machine_model.pkl и tfidf_model.pk. Отсутствие какого-то файла или изменение имени папки на другое может привести к ошибке.
Выходные параметры
- Результат - словарь, где ключ - название класса, а значение - процент вхождения в данный класс. Сортировка в словаре производится по проценту вхождения в класс.
Настройки
Свойство | Описание | Тип | Пример заполнения | Обязательность заполнения поля |
Параметры | ||||
Текст для классификации | Текст для классификации | Robin.String | Да | |
Обученная модель | Путь к папке, которая содержит обученную модель. | Robin.FolderPath | C:\doc\img | Да |
Результаты | ||||
Результат | Словарь, где Ключ - рубрика, а Значение - процент вхождения в данную рубрику. Сортировка в словаре по проценту вхождения в рубрику. | Robin.Dictionary |
Особые условия использования
1.В папке, которая содержит обученную модель, должно содержаться два файла. Файлы предоставляются заказчику по требованию. Данные файлы представляют из себя запакованную модель машинного обучения.
2.Если какого-то файла нет/другое название, то это приведет к ошибке при работе действия.
3.Робот выдаст ошибку, если:
- в поле "Обученная модель" указан неверный путь/не содержит обученную модель (один или два файла изменены);
- в поле "Текст для классификации" указана пустая строка или действие не смогло определить класс.
4.Робот не выдаст ошибку, если:
- подан текст не на языке обученной модели, при этом % совпадения с классом будет небольшой.
5. Существующую обученную модель нельзя "дообучать", при необходимости добавления классов, необходимо заново запустить действие по обучению модели
6. Для сведения обученная модель на 20000 записей классифицирует текст за 2-3 минуты.
Дополнительная информация о теории классификации текста:
https://vas3k.blog/blog/machine_learning/
https://www.edureka.co/blog/classification-in-machine-learning/
Пример использования
Задача
Классифицировать текст на основе обученной модели.
Решение
Воспользоваться действием "Классифицировать текст".
Реализация
- Перенести действие "Классифицировать текст" на рабочую область.
- Заполнить параметры действия "Классифицировать текст".
В поле "Текст для классификации" указать следующий текст:
3. Указать путь к папке, которая содержит обученную модель.
4. Нажать на кнопку "Старт" в верхней панели.
Результат
Программный робот отработал успешно. Получен словарь , где Ключ - рубрика, а Значение - процент вхождения в данную рубрику. Сортировка в словаре по проценту вхождения в рубрику.
В результате получился словарь с названием категории и с точностью принадлежности к данной категории.
При необходимости получения рубрики к которой текст относится в наибольшей степени необходимо воспользоваться действием "Получить коллекцию ключей", потому что в значениях % указаны, а сами рубрики-категории в ключах. Далее, нужно получить коллекцию ключей и нулевой элемент этой коллекции - это та рубрика, к которой скорее всего относится текст (действие "Получить значение по индексу").