Я так понимаю, что категории у тебя собственные, не такие, как у авторов нейросетей?
Мне кажется (могу ошибаться) тебе следует набрать ключевые слова для каждой категории. По этим ключевым словам получаем вектор на предобученной модели (запоминать среднеарифметический вектор?). Не исключено, что придется какие-то категории разбить на подкатегории (для более однородных векторов ключевых слов).
Для искомого слова также получаем вектор, затем вычисляем расстояние (эвклидово, косинусное и т.п.). С какой категорией расстояние минимально - то наше.
В fastText есть возможность классифицировать текст или перевести слова в вектор.
https://gosha20777.github.io/tutorial/2018/04/12/f... вроде там вполне доходчиво. Как я вижу там нужно самому учить классификатор (я так понимаю ты хочешь использовать что-то предобученное?). Ну и ещё почитать
https://sysblok.ru/nlp/kak-rabotaet-fasttext-i-gde...
И если ничего не получается, то ищем автора
https://habr.com/ru/post/489474/