Классифицировать текст Версия 1 (python)

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


Описание

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

Целью выполнения действия является определение той рубрики, к которой ближе всего относится текст, то есть должна быть определена рубрика с наибольшим процентом точности, чтобы позволить принять решение о дальнейших действиях с этим текстом. 

Параметры

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

  1. Текст для классификации - текст, класс которого необходимо определить. Язык может быть любой. Если будет язык отличный от языка обучающей выборки, то процент определения класса будет близким к нулю.
  2. Обученная модель - путь к папке, которая содержит обученную модель классификации. В папке должно содержаться два файла: machine_model.pkl и tfidf_model.pk.  Отсутствие какого-то файла или изменение имени папки на другое может привести к ошибке.

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

  1. Результат  - словарь, где ключ - название класса, а значение - процент вхождения в данный класс. Сортировка в словаре производится по проценту вхождения в класс.

Настройки

Свойство

Описание

Тип

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

Обязательность заполнения поля

Параметры

Текст для классификации

Текст для классификации

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/

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

Задача

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

Решение

Воспользоваться действием "Классифицировать текст". 

Реализация

  1. Перенести действие "Классифицировать текст" на рабочую область. 

  2. Заполнить параметры действия "Классифицировать текст". 
    В поле "Текст для классификации" указать следующий текст: 

          

        3. Указать путь к папке, которая содержит обученную модель. 

4. Нажать на кнопку "Старт" в верхней панели.  

Результат 

Программный робот отработал успешно. Получен словарь , где Ключ - рубрика, а Значение - процент вхождения в данную рубрику. Сортировка в словаре по проценту вхождения в рубрику.

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

При необходимости получения рубрики к которой текст относится в наибольшей степени необходимо воспользоваться действием "Получить коллекцию ключей", потому что в значениях % указаны, а сами рубрики-категории в ключах. Далее, нужно получить коллекцию ключей и нулевой элемент этой коллекции - это та рубрика, к которой скорее всего относится текст (действие "Получить значение по индексу").