Я даже не знаю какие критерии могут быть. Сейчас я сравниваю по ключевым словам мол если есть совпадения двух ключей то я говорю что текст схож. В таком подходе просто гиганское количество ошибочных результатов --- Добавлено --- Тестил и similar_text и левенштейна не то
Есть два текста text_1 = "В Москве началась настоящая зима, идёт снег и на улице мороз", text_2 = "В Россию пришла зима с настоящими морозами, в Москве идёт снег". Вот это два одинаковых текста по смыслу но только слова переставлены. --- Добавлено --- При анализе по ключевым словам я определю но если добавить например третий текст. text_3 = "Этой зимой в из-за обилия снега в Москве не смотря на мороз будут строить различные горки".. Ключи использованы теже самые но текст совершенно другой. Москва, снег, мороз, зима
Проблема что я в этом ни чего не понимаю. Пытался когда то прикрутить PHP ML но так и не понял что к чему. Такой вариант самый логичный был бы для меня. Я в базе ищу совпадения по ключам, если нахожу совпадение отправляю например по API эти два текста что бы проверить совпадают они или нет. Но не могу найти ни чего подходящего
для сравнения не подскажу, на морфологический разбор (если то поможет) поищи на пхпклабе, там чел что-то могучее выкладывал и поддерживал долгое время когда-то.
Целый день гуглил по машинному обучению. Чуток подразобрался в итоге родилась такая идея. Есть вот такая мысль сравнивать сначала первый текст со вторым по словам если есть вхождение слова то присваивать +1 если нету то -1 потом местами поменять и проделать тоже самое, после чего тупо всё сложить. Если в итоге сумма больше 0 это похожий текст если сумма меньше 0 то это новый текст. Есть у кого нить мысли по этому поводу.
На примере опять же 2 теста. 1. Я иду домой = - 8 2. Я иду в магазин - 9 Итоговая сумма минус 17 что меньше 0 следовательно текст разный --- Добавлено --- или вычитать из большего текста меньший и смотреть ни тяговую разность