AloneCoder
@AloneCoder
[object Object]

Помогите с алгоритмом по сравнению предложений

Коллеги, обращаюсь к вам за помощью. Имеем несколько тысяч предложений, среди них необходимо сгруппировать схожие по семантике. Как я вижу это сейчас: я разбиваю все предложения на слова, убираю служебные части речи, стемматизирую их и нахожу для каждого ключ soundex. Далее по этим кодам как-то нужно найти наиболее схожие предложения. Именно с последним этапом у меня сложности. Голова кипит. Буду рад подсказке куда копать дальше или другим идеям для реализации этого
  • Вопрос задан
  • 3521 просмотр
Пригласить эксперта
Ответы на вопрос 4
DemiurgeOrion
@DemiurgeOrion
Хм, я не специалист, но возможно вам поможет поиск нечетких дубликатов текстов?
habrahabr.ru/post/65944/
Ответ написан
AterCattus
@AterCattus
Люблю быстрый backend
Не подскажу с советом, но отвечающим наверняка было бы полезно знать на каком языке исходные предложения. И что насчет возможных синонимов.
Ответ написан
Комментировать
@Urevic
То, что вы хотите называется кластеризацией. Есть много разных статей про методы кластеризации — погуглите. Я как-то делал нечто похожее на основе байесовской теоремы, но для этого надо вручную выделить категории документов и обучить фильтр на какой-то выборке — работало неплохо.

В использовании soundex что-то я особого смысла не вижу, вы же не слова похожие ищите, а тексты. Можно считать crc32 от слов — точность не сильно снижает, а расчеты ускоряются очень хорошо.
Ответ написан
sergeypid
@sergeypid
Попробуйте просто k-means кластеризацию по вашим ключам. Только надо задать априори количество классов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы