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