Если нет шансов, что в будущем вы захотите провести еще 500 классификаций, я не уверен, что выберу подход к машинному обучению.
Если категории не очень похожи ("еда" и "итальянская еда", чтобы взять пример), я думаю, что довольно наивная эвристика может сработать очень хорошо.
Для каждой категории составьте таблицу общих слов (для продуктов питания: «картофель», «еда», «повар», «помидор», «ресторан», ...) и для каждого текстового подсчета какая категория получила больше всего совпадения слов.
Вместо того, чтобы создавать словарь вручную, вы можете взять образец (скажем, 100) текстов, классифицировать их вручную, а затем позволить алгоритму выбрать слова, а затем убедиться, что удалены слова, которые являются общими для всех наборов (так как они не предоставлять никакой информации). По сути, это очень простая «обучающая» система.
Если вам действительно нужна система машинного обучения, существует ряд методов для классификации. Недостатком является то, что, хотя большинство методов довольно просты в реализации, сложная часть заключается в выборе хорошего метода, правильных функций и хороших параметров.