Мое требование, вероятно, близко к тому, что можно ожидать от "Экспертной системы". И ищу простейшее решение, которое может дать мне вывод в реальном времени или почти в реальном времени, с некоторыми автономными (не в реальном времени) возможностями обучения.
Чтобы уточнить, моя проблема -
Смотрите журнал, который обновляется в режиме реального времени, и классифицируйте каждую запись как Красный, Зеленый и Синий.
Классификация на красный, зеленый, синий основана на логике, кодифицированной как правила производства (как я себе это представляю сегодня).
Точка, где это становится сложным -
1) Записи в журнале, помеченные синим, в конечном итоге должны быть помечены красным / зеленым, основываясь на последующих записях в журнале, где мы надеемся получить более подробную информацию, поэтому необходимо немного вспомнить. Точная продолжительность ожидания заранее неизвестна, но есть максимальный предел. Конечно, в любой данный момент времени может быть несколько сотен тысяч записей, помеченных синим.
2) Правила, которые определяют красный и зеленый, не идеальны, поэтому иногда случаются ошибки с маркировкой. Так что случайный ручной аудит выявляет эти ошибки. Моя главная задача - посмотреть, смогу ли я автоматизировать некоторую часть обновления правил с минимальными затратами на программирование.
Мое (продолжающееся исследование) показывает, что механизм правил на основе алгоритма RETE может служить моей классификации и маркировке, включая повторную маркировку. Если это сработает, мне все еще нужно подумать, как автоматизировать часть «обучения на ошибках»? Можно ли использовать статистический подход - с.а. Байесовская классификация? Кроме того, можно было бы взять байесовскую классификацию полностью в отличие от Rules-Engine, для первоначальной классификации s.t. Я вручную обучил систему достаточно? Байесовский подход, по-видимому, «затупляет» задачу поддержания правильного набора правил с помощью подхода «доверять статистике», особенно в связи с периодическими ручными проверками.
PS> Мое основное приложение написано на C ++ (если это имеет значение).