andyN это ни похожесть, и ни кластеризация, а это - СЕГМЕНТАЦИЯ.
Делается так: берется слово и ставится по всем необходимым типам веса.
Например, "президент":
[политика]:0.5
[закон]:0.5
[общество]: 0.4
[досуг]:0.1
[дети]:0.1
и т.д. для каждого КОРНЯ слова. Также, делается словарь синонимов, который будет линковать слова-синонимы к известным весам в таблице. Повторы КОРНЕЙ - не учитываем при суммировании веса.
После этого текст преобразуем по словарю синонимов и далее подсчитываем веса по каждой категории.
Профит!