Как реализовать инкрементное обучение в НЛП

Мы создаем систему, в которой для начала у нас будет очень небольшое количество обученных данных. Задача состоит в том, чтобы классифицировать входящие данные (в нашем случае документ) на 2 категории: категории A и B. Данные являются документами, поэтому пользователю необходимо классифицировать документ как принадлежащий к категории A или B. Итак, с ограниченным объемом данных, мы создаем обученный набор данных и начинаем прогнозировать категорию следующего документа, используя обученный набор данных.

Теперь, если прогноз верен, пользователь переходит к следующему документу. Но если прогноз неверен, пользователь вводит правильную категорию (допустим, категория A была предсказана системой, при этом правильное назначение данных должно быть категорией B). Таким образом, теперь система должна использовать это обучение (категория B вместо категории A) для обогащения (обучения) себя почти в реальном времени.

Он должен обучать только добавленные данные, а не весь набор данных, который уже обучен. Так что это должно быть постепенное обучение. Для классификации мы будем применять наивную байесовскую классификацию.

Теперь вопрос:

  • Как реализовать инкрементное обучение, не обучая каждый раз весь набор данных?
  • Я знаю, что существуют библиотеки для дополнительного обучения, такие как Vowpal Wabbit &creme. Будет ли использование этой библиотеки хорошим решением для моего случая?

1 ответ

Отказ от ответственности: я один из основных разработчиков крема.

Крем кажется правильным решением вашей проблемы. Одна из целей крема - это как раз обучать наблюдению за наблюдением без обучения на всем наборе данных каждый раз.

Если вам нужен пример использования creme, когда набор данных изначально невелик и со временем увеличивается, вы можете найти его здесь.

Другие вопросы по тегам