На сколько я знаю абсолютно готовых реализаций нет.
Вы правильно написали, что можно работать без семантики(хотя с ней круче конечно).
Могу посоветовать только готовые библиотеки для кластеризации и машинного обучения. Например
библиотека для python
В принципе задача не сложная, надо только правильно подготовить признаки.
И конечно, очень большая зависимость от корпуса для обучения. Мне кажется, что он должен быть достаточно крупным.