Help:XSvacer:AIAssistant

From Svacer Wiki
Данная функциональность входит в набор расширений XSvacer

Поддержка ИИ-ассистента для разметки предупреждений

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

ИИ-ассистент предназначен для разметки предупреждений статусами Confirmed и False Positive, которые были предсказаны моделью машинного обучения.

Все данные предупреждений хранятся в Svacer и получаются ИИ-ассистентом с помощью REST API.

Описание интерфейса ИИ-ассистента

Разметка одного маркера

Чтобы разметить один маркер с помощью ИИ-ассистента:

1. Нажмите кнопку на правой панели или в виджете маркера на вкладке с исходным кодом.
Правая панель. Переход к ИИ-разметке
Виджет маркера на вкладке с исходным кодом. Переход к ИИ-разметке
2. В открывшемся окне разметки:
а) Выберите модель AI, с помощью которой ИИ-ассистент рассчитает статус разметки.
Спрогнозированный статус и уровень доверия прогнозу отобразятся в этом же окне.
Если маркер уже размечен и его статус совпадает с прогнозным, то в окне отобразится сообщение об этом и дальнейшая разметка станет недоступна.
б) Введите комментарий.
в) Нажмите кнопку Применить.
  • Окно ИИ-разметки

    Окно ИИ-разметки

  • Окно ИИ-разметки. Прогнозный статус совпадает с существующим

    Окно ИИ-разметки. Прогнозный статус совпадает с существующим


  • Статус, установленный с помощью ИИ-ассистента, отобразится в верхней части правой панели и в виджете маркера на вкладке с исходным кодом с отметкой . Также этой иконкой будет отмечен статус в комментарии, добавленном при разметке, который дополнительно содержит информацию о проведенной разметке: время, имя модели машинного обучения, уровень доверия прогнозу.
    Дополнительная информация также отображается при наведении курсора на иконку .


    Виджет элемента трассы. Результат ИИ-разметки

    Групповая разметка маркеров

    Чтобы разметить несколько маркеров с помощью ИИ-ассистента одновременно:

    1. Если планируется разметить большое количество маркеров, то для ускорения составления прогноза запустите предварительный рассчет (опционально) – на вкладке Информация о снимке центральной панели нажмите кнопку Проанализировать с AI.
    Расчет прогнозируемого статуса для каждого маркера запустится в фоновом режиме. В это время на месте кнопки будет отображаться анимированная иконка ожидания.
    Информация о снимке. Кнопка перехода к предварительному расчету статусов маркеров
    2. Выберите маркеры для разметки – установите флажки в строках таблицы.
    3. Нажмите кнопку (доступна, если выбраны маркеры в таблице).
    4. В открывшемся окне разметки:
    а) Выберите модель AI, с помощью которой ИИ-ассистент рассчитает статус разметки.
    Спрогнозированные статусы и уровни доверия прогнозу отобразятся в этом же окне в таблице маркеров. При этом размеченные ранее маркеры окрашены в цвет, соответствующий выставленному статусу.
    В таблице доступна сортировка значений в столбцах Детектор, Файл, Строка и Уровень доверия, а в столбце Статус разметки доступна фильтрация по значению прогнозируемого статуса.
    б) Введите комментарий.
    в) Выберите маркеры, которые требуется разметить, – установите флажки в столбце Статус разметки.
    Если маркер уже размечен и его статус совпадает с прогнозным, то он недоступен для установки флажка.
    г) Нажмите кнопку Применить.
    Окно групповой ИИ-разметки
    Прогресс разметки отображается в соответствующем окне. Запущенный процесс можно полностью отменить нажатием кнопки Отмена.
    Окно прогресса разметки

    Фильтрация маркеров по режиму разметки

    По умолчанию в таблице маркеров отображаются все маркеры: как размеченные вручную, так и размеченные с помощью ИИ-ассистента. Чтобы отобразить маркеры только с одним режимом разметки, воспользуйтесь пользовательскими фильтрами:

    • для отображения только маркеров, размеченных вручную, выберите фильтр Режим разметкиВручную;
    • для отображения только маркеров, размеченных с помощью ИИ-ассистента, выберите фильтр Режим разметкиС помощью ИИ.
    Пользовательские фильтры. Режимы разметки

    Описание модели xgb.joblib ИИ-ассистента

    Модель обучена на базе 50000+ размеченных предупреждений.

    Для предсказания статуса разметки нами используются:

    1. языковая модель codebert-base для получения эмбеддингов кода;
    2. метод градиентного бустинга (xgboost) для решения задачи классификации.