Система объединяет экспертный решатель на базе правил и отдельный ML-модуль. Экспертная классификация выполняется по методу опровержения гипотез, а ML-модель используется только по отдельному запросу пользователя через кнопку «Определить предполагаемый».
- режим редактора базы знаний;
- режим классификатора контейнеров;
- переобучение ML-модели при добавлении новых свойств;
- редактирование базы знаний: контейнеры, свойства, допустимые значения, описание свойств вида и значения для вида;
- проверка полноты базы знаний;
- классификация контейнеров по экспертным правилам без автоматического запуска ML;
- вывод объяснений: подходящие контейнеры и причины опровержения остальных гипотез;
- вывод оценки ML-модели.
Кнопка «Определить вид контейнера» запускает только экспертный решатель. Система сравнивает введённые свойства образца с описаниями контейнеров в базе знаний и формирует список подходящих видов.
Возможные результаты:
- не введены данные — система просит заполнить хотя бы одно свойство;
- есть ошибки ввода — система показывает, какое значение некорректно;
- нет подходящих контейнеров — все гипотезы опровергнуты;
- найден один подходящий контейнер — выводится однозначный результат;
- найдено несколько подходящих контейнеров — выводится список кандидатов, но ML автоматически не запускается.
Кнопка «Определить предполагаемый» запускает отдельную классификацию с точки зрения обученной модели. ML можно запросить в любом случае: при одном найденном экспертном варианте, при нескольких вариантах или просто после ввода признаков.
ML-результат не заменяет экспертный решатель. Он выводится отдельно как дополнительная оценка модели. В списке вероятностей отображаетый только самый вероятный кандидат.
Переобучение модели происходит после добавления новых свойств и нажатии на кнопку "Определить предполагаемый" после классификации
- Скопировать файл командой cp .env.example .env
- Заполнить новый .env файл данными
- Набрать в терминале команду docker-compose up --build -d
Проект использует Python 3.11+ и следующие библиотеки:
- streamlit
- psycopg2
Для проверки классификации можно использовать значения:
Длина: 20 фт
Высота: 8.6 фт
Тип перевозимого груза: генеральный
Вид погрузки: стандартный
Экспертный решатель должен найти подходящий контейнер на основе правил базы знаний. ML-модель можно запросить отдельно через кнопку «Определить предполагаемый.