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