Действия

SMC. UPS руководство по работе с интерфейсом

Материал из Флора AI

SMC Классификатор

В главном меню UPS расположены кнопки для перехода в блоки (рисунок 1):

  1. классификатор,
  2. сущности,
  3. распознавание,
  4. биометрия,
  5. синтез,
  6. ЧаВО.
Рисунок 1 - Иконки начального экран UPS.

Рабочая область «Классификатора» включает в себя (рисунок 2):

  • панель управления,
  • кнопки переключения между версиями моделей,
  • блоки для работы с моделями и данными,
  • информация о текущей модели,
  • информацию об обучении и тестировании, для обученных и протестированных моделей,
  • информационные вкладки.
Рисунок 2 - Рабочая область блока «Классификатор»

В блоке интерфейса «Классификатор» есть 3 вкладки:

1. «Модели» – содержит все созданные модели SMC списком в алфавитном порядке,

2. «Данные» – содержит все корпуса данных SMC списком в алфавитном порядке.

3. «Метки» - содержит все словари меток SMC.

Функционал вкладки «Модели»

Во вкладке «Модели» доступен просмотр информации о модели, а именно:

  • название модели,
  • версия модели: черновик, рабочая, архив (таблица 1),
  • статус модели.
Рисунок 3 - Информационный блок о модели.
Таблица 1 – Версии модели
Иконка версии Наименование версии модели Описание
Черновик.png
Черновик это не примененная модель. Можно обучать, переобучать, тестировать, устанавливать и применять. Можно экспортировать и импортировать. Цвет акцента версии модели - серый. После применения (установки) модель (см. табл.2 «Установка») становится «Рабочей версией».
Рабочая нов.png
Рабочая это модель, которая уже используется в прод (англ. production – производство). Применённую модель нельзя установить заново или обучить. Можно провести ручное тестирование и проверить конкретные фразы (см. табл.2 «Ручная проверка»). Можно экспортировать модель.  Цвет акцента версии модели - зелёный. По нажатию кнопки «Архив»- «Рабочая» модель переходит в архивную версию.
Архив нов.png
Архивная это рабочая модель, которая переводится в архив (резервную копию) после применения черновика. Можно вернуть архивную модель в рабочую версию, нажав на кнопку «Откат». При этом рабочая версия также становится архивной, то есть рабочая и архивная версии меняются местами. Цвет акцента версии модели - синий.

Модель SMC имеет свойство «Статус» (рисунок 4), которые принимает следующие значения:

Рисунок 4 - Примеры статусов модели.
  • Пустая. Новая созданная модель. Пустую модель можно обучить (кнопка «Обучение» на панели управления см. табл. 2) на корпусе данных, а можно импортировать из файла (кнопка «Импорт» на панели управления см. табл. 2).
  • Обучение. Это модель, которая в данный момент обучается.
  • Обучена. Доступен просмотр информации о точности обучения, параметрах модели и матрица ошибок.
  • Тестирование. Это модель, которая в данный момент тестируется.
  • Протестирована. Появляются доп. кнопки «Обучение» и «Тест» (под матрицей ошибок см. рисунок 5), нажав на которые можно посмотреть матрицу обучения и тестирования соответственно.
  • Установлена. В этот статус модель переходит при нажатии кнопки «Установка». В этом статусе возможны Импорт, Экспорт, Обучение, Ручная проверка, Применение модели – по соответствующим кнопкам на панели управления.
  • Применена. В статус Применена модель переходит при нажатии кнопки «Применение». Для модели в статусе Применена возможны только – Ручная проверка конкретной фразой по кнопке «Ручная проверка» и экспорт (выгрузка) по кнопке «Экспорт» (см. табл. 2).
  • Ошибка. Информирует о сбое процессов импорта, обучения, тестирования, остановки обучения.


Возможны манипуляции с моделями SMC:

  • удаление модели,
  • добавление новой модели SMC возможно по нажатию на «Добавить новую модель».

Внимание! При удалении модели (красная иконка «Корзина» рядом с названием модели) – будут удалены ВСЕ версии модели.

Переименовывать модель нельзя.

Панель управления вкладки «Модели» SMC

В правом верхнем углу экрана располагается панель управления для вкладки «Модели». На ней располагаются кнопки из таблицы 2. Цвет кнопок указывает на доступность действия для данной модели: синий означает, что кнопка активна, а голубой - что она неактивна.

Таблица 2 – Описание функционала панели управления на вкладке «Модели»
Иконка кнопки Наименование кнопки Описание
Экспорт нов.png
Экспорт позволяет экспортировать(выгрузить) модель SMC или данные корпуса SMC.
Импорт нов.png
Импорт позволяет импортировать (добавить) модель SMC или данные корпуса SMC.
Обучение.png
Обучение позволяет обучить модель SMC, выбрав данные для обучения из выпадающего списка. И затем следует выбрать метод обучения — по корпусу или по меткам (подробнее см. разд. Функционал вкладки Метки).
Обновление групп.png
Обновление групп в модели позволяет обновить группы в модели SMC. При нажатии на кнопку – открывается форма для указания корпуса.
Тестирование.png
Тестирование позволяет протестировать модель SMC корпусом данных. При нажатии на кнопку – открывается форма для указания корпуса, с помощью которого нужно протестировать модель.
Ручная проверка.png
Ручная проверка1 позволяет протестировать модель SMC конкретной фразой, увидеть величину достоверности каждого класса, определенного системой.
Установка обработчика в рабочую версию модели.png
Установка обработчика в рабочую версию модели позволяет перезаписать обработчик на применяемой модели без перевода из тестового режима, если изменился только обработчик, а корпус остался прежним.
Установка.png
Установка переводит модель SMC в статус установлена. После чего кнопка меняется на кнопку «Применение»Primenenie.png . Пока модель не применена (не используется), можно ее обучить, протестировать, экспортировать или импортировать данные. После того как модель начинает использоваться, возможность ее обучения или изменения исчезает. Остается возможность экспорта и ручной проверки модели.
Откат.png
Откат позволяет перевести архивную версию модели SMC обратно в рабочую.
Меню пользователя.png
Меню пользователя отображает меню пользователя (имя, смена пароля, выход из системы)
Рисунок 5 - Диалоговое окно режима «Ручная проверка».

1 Режим «Ручная проверка».

Как описано в таблице 2 этот режим позволяет протестировать модель SMC конкретной фразой. При нажатии на кнопку открывается диалоговое окно со следующими вкладками:

  • классификация,
  • сжатие,
  • прочее.


Вкладка классификация содержит поля:

  • текст - в это поле записывается фраза для проверки;
  • порог доверия - показатель, отражающий степень уверенности в принадлежности новой фразы к конкретному классу (рисунок 6). Другими словами, пороговое значение указывает, при какой минимальной вероятности полагаем, что фраза относится к определённому классу.


Есть галочка расширенный режим - позволяет обратиться сразу к нескольким моделям SMC. После нажатия на кнопку классифицировать, выводится результат - метки классов, которые модель смогла распознать.

Рисунок 6 - Функционал вкладки Классификация.


Классификатор (SMC) также выводит следующую информацию:

1.  Классы: здесь отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.

2.  Группы: отображается название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т.е. чем полнее группа, тем выше ее позиция в списке).

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


Сжатие - позволяет выделить основной смысл фразы. Во вкладке сжатие имеется два поля:

  • текст - в это поле записывается фраза для проверки;
  • порог сжатия - означает процент сжатия фразы, например, порог сжатия 100 - выводит всю фразу в окно результата.

Вкладка прочее SMC Классификатора включает в себя несколько опций: анализ на эмоциональность, пунктуация и коррекция ошибок. Все эти манипуляция можно производить с фразой в блоке - текст.

Информационные вкладки SMC: Сервер, Ошибки, Логи, Постобработка

Справа на экране располагаются информационные вкладки (рисунок 7)

  • «Серверы» – отображает информацию о серверах и процессах,
  • «Ошибки разметки» – в этот раздел попадают фразы и метки, предположительно с ошибкой разметки, то есть те, что вызвали сложности у модели. Это может быть связано с недостаточным количеством данных с этими метками в корпусе (так называемые «слабые данные»), либо наиболее часто встречающаяся - с действительной проблемой в процессе разметки данных (то есть, недостающая метка или избыточная),
  • «Ошибки обучения» – отображает информацию об ошибках обучения для модели в состоянии «Обучена», те фразы, которыми модель так и не обучилась. Также можно, находясь на вкладке «Ошибки обучения» использовать метод «Ручная проверка»,
  • «Ошибки тестирования» – доступны для модели в состоянии Протестирована – отображает информацию об ошибках тестирования. Можно выгрузить ошибки в файл с помощью кнопки «Экспорт». Есть возможность преобразовать ошибки в данные корпуса (рисунок 8),
  • «Логи» – отображают логи процессов обучения, тестирования, точности обучения на разных этапах обучения,
  • «Постобработка» – редактор для написания кода handler.py.
    Рисунок 7 - Рабочая область блока «Классификатор»
Рисунок 8 - Интерфейс раздела «Классификатор»: Информационные вкладки для протестированной модели.

Функционал вкладки «Данные» SMC

Вкладка «Данные» SMC (рисунок 9) содержит список всех доступных корпусов данных. При выборе различных корпусов данных можно просмотреть информацию о них (рисунок 10):

Название корпуса: можно изменить с помощью иконки «Карандаш». Можно удалить корпус с помощью иконки «Корзина» (см. рисунок 10).

Количество строк – общее количество фраз в корпусе.

Количество классов – общее количество классов в корпусе.

Количество групп – отображает общее количества групп в корпусе данных (подробнее см. раздел «Описание подготовки и этапов разметки корпуса данных SMC»).

Рисунок 9 - Интерфейс вкладки данные.
Рисунок 10 - Информация о корпусе данных

Под информационным блоком о корпусе данных SMC есть список классов, в котором содержатся названия классов и информация о количестве фраз в каждом классе. Можно удалять и добавлять классы. В самом низу списка есть меню для Экспорт списка классов в формате csv. Есть возможность скрыть блок с корпусами данных, нажав на стрелочку между блоком корпусов и информационным блоком корпуса (см. рисунок 11). Существует три вида (ранга) классов (меток):

  1. Обычный класс — это класс, который не относится ни к одному из родительских классов.
  2. Родительский класс — это класс, который включает в себя другие классы. Например, родительский класс «Паспорт» включает в себя два класса-потомка: «паспорт рф_о» и «загранпаспорт_о».
  3. Класс-потомок — это класс, который относится к какому-либо родительскому классу.

Чтобы преобразовать обычный класс в родительский, нужно выбрать его в списке классов и нажать на самую правую иконку в виде папки (рисунок 11), которая говорит «Сделать класс родительским». Чтобы добавить метку в родительский класс, нужно нажать правой кнопкой мыши на метку и выбрать нужный родительский класс из появившегося списка. После этого появится диалоговое окно, подтверждающее действие, и изменения вступят в силу (см. рисунок 12). Метка станет классом-потомком.

Рисунок 11 - Создание родительского класса
Рисунок 12 - Перемещение метки в родительский класс.


Удалить родительскую метку, в отличие от обычной, просто так нельзя. Сначала ее нужно вернуть в статус обычной, нажав на иконку «Сделать класс обычным» напротив нужного класса (рисунок 13). После этого она будет расформирована и ее можно будет удалить.

Рисунок 13 - Сделать родительский класс обычным.

Чтобы создать новый корпус данных SMC, на вкладке «Данные» нажмите «Добавить новый корпус», затем выберите «Из файла», дайте имя, выберите файл и нажмите «Добавить».

Если есть данные реальных запросов моделям SMC - можно выгрузить логи SMC в корпус данных:

  • добавьте новый корпус,
  • выберите источник данных – «Логи из модели», сформируется корпус данных из логов рабочей версии и моделей-черновиков.

Блок для работы с данными корпуса (справа от блоков о Корпусе и Списка классов) позволяет изменять корпус и работать с ним. Есть возможность проверить корпус на дубликаты, с помощью галочки «Показать дубликаты фраз» в правом верхнем углу рабочей области.

Можно фильтровать (рисунок 14):

1. по названию класса,

2.  по фразе или слову,

3.  для более точной фильтрации можно использовать переключатель «и», «или», «кроме».

Рисунок 14 - Возможности фильтрации

Есть возможность редактировать фразу в корпусе: вносить изменения в поле с фразой и сохранять изменения (кнопка «Дискета» на панели управления). Можно дополнять корпус данных по кнопке «Импорт» на панели управления (подробнее см. описание функций панели управления). Удаление фраз из корпуса возможно как по одной, так и сразу несколько, для этого нужно выделить необходимые для удаления фразы и нажать на красную иконку «Корзина» в правом нижнем углу блока работы с данными.

Можно вручную добавлять фразы в корпус по одной или сразу несколько (каждая фраза с новой строки, enter в конце каждой фразы)(рисунок 15), записав их в поле «Фразы» в нижней части блока для работы с данными. Можно назначить или изменить классы (метки) для фразы, указав новый в поле «Класс» или выбрав существующий класс из выпадающего списка. Метки классов могут быть больше чем одна на одну фразу (мультиклассовая классификация). Рассмотрим пример разметки новой фразы. Допустим мы хотим добавить вручную две фразы:

  1. «Здравствуйте, у меня возникли неполадки, возникающие во время установки SBS. Помогите решить проблему. Заранее спасибо.»
  2. «Добрый день, у меня появляется ошибка при установке биометрии. Заранее благодарю за ответ.»

Разметка производится исходя из того «о чем эта фраза?», задача разметки в том, чтобы помочь модели понять суть фразы. Например, во фразах выше говорится об ошибках во время установки сервиса биометрии, так же присутствует благодарность и приветствие, соответственно метки будут: SBS, ошибка, установка_ПО, благодарность, приветствие.

Рисунок 15 - Добавление и разметка фраз


Имеется функция «Добавить общий класс». С ее помощью можно присвоить одну или несколько общих меток сразу нескольким выбранным из списка фразам (рисунок 16 (а), если была допущена ошибка при разметке фраз. Для изменения набора меток у одной фразы нужно всего лишь один раз щелкнуть на список классов и добавить нужную метку из выпадающего списка или навести курсор на лишнюю метку и, также щелкнув, удалить ее. Если необходимо удалить сразу несколько меток с фразы или нескольких фраз под кнопкой «Добавить общий класс», есть кнопка «Удалить классы» (рисунок 16 (б). Сначала выделите нужные фразы, а затем выберите класс (классы) которые вы хотите удалить из выпадающего списка, и кликните по кнопке «Удалить классы».

Рисунок 16(а) - Добавление общего класса
Рисунок 16(б) - Удаление нескольких классов

Кроме того, существует еще одна полезная функция для работы в корпусе данных SMC - «объединить метки». Для лучшего понимания рассмотрим пример. Предположим, у вас есть две метки с одинаковым названием - «версия» и «версия», но в одном случае название содержит английскую «е», а в другом - русскую (классы отображаются в алфавитном порядке, метка с английскими буквами будет нарушать его). И этими метками уже помечены некоторые фразы. Чтобы решить эту проблему, можно воспользоваться функцией «объединения». Необходимо скопировать название правильной метки из списка меток («карандаш» - выделить название), затем нажать на «карандаш» напротив неправильной метки и заменить ее названием корректной метки. После этого метки объединятся и останется только корректная метка. Если эти метки принадлежат какой-либо группе, то замена произойдет и в ней. Возможность объединения групп так же предусмотрена и осуществляется по такому же алгоритму. Однако, есть некоторые особенности работы этой функции при работе с классами-потомками. Функция работает только в том случае, если вы хотите объединить метки в пределах одного родительского класса. То есть нельзя объединить классы разных рангов, например, родитель - потомок, в этом случае, появится сообщение об ошибке и невозможности объединить две метки из разных родительских классов (рисунок 17).

Рисунок 17 - Объединение меток разных родительских классов.

Панель управления вкладки «Данные» сервиса SMC

Панель управления на вкладке «Данные» отличается своими функциями. В таблице 3 представлен список кнопок.

Таблица 3 – Описание функционала панели инструментов вкладки «Данные»
Иконка кнопки Наименование кнопки Описание
Экспорт нов.png
Экспорт позволяет экспортировать (выгрузить) корпус данных
Импорт нов.png
Импорт Позволяет импортировать (добавлять) данные из файла или из корпуса, который уже существует в UPS.

Если выбран вариант «Из файла», нужно выбрать файл для загрузки. Поддерживаемые форматы файлов: csv, txt. Кодировка - UTF-8.

Затем можно выбрать действие: добавить или заменить. Если выбрано «добавить», данные текущего корпуса будут дополнены данными из файла или корпуса.

Если выбрано «заменить», данные текущего корпуса будут полностью заменены данными из файла или корпуса.

Авторазметка (2).png Авторазметка позволяет автоматически разметить корпус по словарю меток (подробнее см. разд Функционал вкладки Метки). В диалоговом окне необходимо заполнить поля с названием задачи, выбрать из списка нужный словарь меток. Из выпадающего списка Метки выбрать либо замену меток, либо дополнение. И запустить авторазметку.

После этого автоматически размеченный корпус будет доступен для обычного редактирования разметки.

Копировать.png
Копировать позволяет скопировать корпус данных
Сохранить.png
Сохранить сохранение изменений
Меню пользователя.png
Меню пользователя отображает меню пользователя (имя, смена пароля, выход из системы)

Описание подготовки и этапов разметки корпуса данных SMC

Классификатор применяет мультиклассовый подход к классификации, то есть каждая фраза может принадлежать одному или нескольким классам одновременно. Процесс разметки данных (подробнее см. раздел Функционал вкладки «Данные») состоит из двух этапов (допускается пропуск одного из этапов):

Маркировка данных (вкладка «Данные»). При добавлении новых данных (новой фразы), им необходимо присвоить класс(ы) из существующих и/или новые.  Если метка (класс) уже существует, она может быть выбрана из выпадающего списка Классы. Так же можно создать новую метку просто написав ее название в окне Класс и нажав на «Добавить новый класс».

Группировка классов (вкладка «Группы»). По сути, это работа с итоговым результатом модели (пост-обработка). После формирования корпуса данных и обучения, модель SMC должна корректно отдать все найденные по фразе метки. Этап группировки подразумевает под собой подбор минимального количества наиболее подходящих меток для создания вопросно - ответной пары.


Группировка классов помогает модели SMC без дополнительного обучения определить, к какой группе классов может принадлежать новая (ранее неизвестная) фраза.

Интерфейс вкладки «Группы» сервиса SMC аналогичен интерфейсу «Данные», описание панели управления см. в таблице 3. Здесь есть поля для ввода названий новых групп и входящих в них классов. Как уже созданные, так и новые группы отображаются в окне Список групп.

В результате получаются группы, которые отвечают на вопросы, исходя из классов (меток), которые в неё входят. Есть возможность отфильтровать данные по группам и классам. Также справа можно настроить более точную фильтрацию, для этого можно использовать переключатель «и», «или», «кроме» (рисунок 18). Поддерживается импорт и экспорт корпусов. При необходимости можно посмотреть дубликаты в группах, для этого включите галочку в правом верхнем углу (под панелью управления) «Показать дубликаты классов».


Если вам нужно добавить или удалить общий класс сразу для нескольких групп, просто выделите их галочками. После этого внизу появится меню, в котором вы сможете выбрать нужные классы для добавления или удаления из списка. Также есть функция «Копировать», которая позволяет скопировать группу или несколько групп в трех режимах (рисунок 18):

  • простое копирование;
  • копирование с добавлением классов: скопирует выделенные группы и добавит в копию выбранный из списка класс;
  • копирование с удалением классов: скопирует выделенные группы и удалит в копии выбранный из списка класс.
Рисунок 18 - Возможности фильтрации групп.


На панели управления есть кнопка «Обновление групп в модели» , которая позволяет, если нужно, дообучить модель Классификатора SMC, на основании изменений внесенных в группы, не обучая модель повторно.

Если нужно, вы можете переименовать группу. Для этого в Списке групп, рядом с названием группы, кликните на карандашик, а затем сохраните изменения (нажмите на зеленую галочку). После того как вы переименуете группу, вам нужно будет обновить группы в модели. Это делается с помощью кнопки «Обновление групп» в модели на панели управления (см. табл. 2).

Функционал вкладки Метки

Работа с ошибками SMC

Во время работы с классификатором, вы можете столкнуться с 3-мя видами ошибок:

  • ошибки разметки;
  • ошибки обучения;
  • ошибки тестирования.


Как описано выше в разделе «Информационные вкладки: Сервер, Ошибки, Логи, Постобработка» - «ошибки разметки» – раздел куда попадают фразы и метки, предположительно с ошибкой разметки, то есть те, что вызвали сложности у модели. Это может быть связано с недостаточным количеством данных с этими метками в корпусе (так называемые «слабые данные»), либо наиболее часто встречающаяся - с действительной проблемой в процессе разметки данных (то есть, недостающая метка или избыточная). Вкладка «ошибки обучения» – отображает информацию об ошибках обучения для модели в состоянии «Обучена», те фразы, которыми модель так и не обучилась.

Рисунок 27 - Иллюстрация ошибки тестирования первого типа.

«Ошибки тестирования» являются наиболее сложными и делятся на два основных типа:

  1. нехватка данных, тогда необходимо обогатить корпус данных фразами и разметкой;
  2. нехватка комбинаций меток для группы.


Пример ошибки типа 1. Нехватка данных.

Есть фраза «Директор МФЦ иркутской области» - модель классифицирует ее неправильно, на скриншоте (см. рисунок 27) этой фразе присвоены метки: Иркутская область_о, как_в, губернатор_о Это происходит из-за того, что директор и губернатор - имеют семантическое сходство, так как являются руководителями. Но в связке с Иркутской областью - упоминания директора в корпусе не было. Поэтому модель исходя из имеющихся у нее данных - определила для этой фразы  - метку губернатор_о. Группа: кто является губернатором иркутской области района.

Если мы отфильтруем корпус данных по слову директор, то увидим, что в корпусе отсутствуют фразы где и директор и иркутская область упоминались бы одновременно, а так же не была определена метка мфц_о, следовательно фразы директор мфц (дополнительно добавленная выделенная фраза) тоже не хватало (см. рисунок 27). Нужно добавить эти фразы в корпус, сохранить изменения, переобучить модель, так как вносились изменения в данные, и ошибка будет устранена.

Рисунок 28 - Обогащение корпуса данных.
Рисунок 29 - Иллюстрация ошибки тестирования второго типа.

Пример ошибки типа 2. Нехватка комбинаций меток для группы.

Имеется фраза «а какие документы нужно подать для оформления путевки инвалиду». Проводим тестирование в ручном режиме и видим, что этой фразе не присвоена ни одна группа, а значит нет конечной точки, которой бы соответствовал полученный от модели набор меток. (см. рисунок 29).

Переходим во вкладку Данные, выбираем нужный корпус данных, идем во вкладку Группы. Далее фильтруем группы по Классам: инвалидность_о, путевка в санаторий_о переводим переключатель справа в положение «и» (см. рисунок 30) и смотрим, что у нас отсутствует комбинация меток: с подачей документов. Добавляем еще одну комбинацию (см. рисунок 30), сохраняем изменения, переходим во вкладку Модели, кликаем на кнопку Обновление групп.png «Обновление групп», в диалоговом окне выбираем модель и нажимаем кнопку обновить - ошибка устранена. Переобучать модель не нужно, кнопка «Обновление групп» позволяет внести изменения без переобучения.

Рисунок 30 - Добавление новой комбинации меток для группы.