Коллеги, обращаюсь к вам за помощью. Имеем несколько тысяч предложений, среди них необходимо сгруппировать схожие по семантике. Как я вижу это сейчас: я разбиваю все предложения на слова, убираю служебные части речи, стемматизирую их и нахожу для каждого ключ soundex. Далее по этим кодам как-то нужно найти наиболее схожие предложения. Именно с последним этапом у меня сложности. Голова кипит. Буду рад подсказке куда копать дальше или другим идеям для реализации этого
То, что вы хотите называется кластеризацией. Есть много разных статей про методы кластеризации — погуглите. Я как-то делал нечто похожее на основе байесовской теоремы, но для этого надо вручную выделить категории документов и обучить фильтр на какой-то выборке — работало неплохо.
В использовании soundex что-то я особого смысла не вижу, вы же не слова похожие ищите, а тексты. Можно считать crc32 от слов — точность не сильно снижает, а расчеты ускоряются очень хорошо.
Согласен, с упомянутым выше, методом кластеризации. Но хотелось бы немного больше информации: в каком виде у вас хранятся эти предложения? Предложения направлены на одну предметную область?