День добрый!
Возникла задача на одном проекте сравнивать тексты из БД.
Я попробовал similar_text но он оказался слишком прост для моей задачи. Попробую ее конкретизировать.
У меня есть, например 30 текстов. Они распределены по 5 категориям. Задача: сравнить все 30, чтобы объединить их в меньшее количество по схожести. Язык — php, база — mysql
Что лучше всего использовать?
Попробуйте сравнивать слова, а не символы. В общем это — Байесовская категоризация. Но если у Вас действительно ~30 текстов а не 30тыс, то это проще сделать руками :)
Может быть, если категории определены, то можно сделать карту объединения? Например мы знаем, что категории «томаты» и «капуста» нужно объединять в «овощи» и т.д.
Попробуйте что-то вроде similar_text() только для слов целиком, мне кажется должно сработать — разбиваете такст на слова и находите пересечение массивов слов. Однако если будет новсть про отставку президента, то все они могу объединиться: выборы + президент + выборы + отставка.