Страницы

Поиск по вопросам

суббота, 30 ноября 2019 г.

Как определить степень схожести двух текстов?

#алгоритм #сравнение #wavelet #текст


Допустим, взяли исходный текст, три абзаца. В его копии убрали полностью последнее
предложение, поменяли адрес ссылки где-то в тексте, заменили пару предлогов, и заменили
пару слов на синонимы.
Каков алгоритм, чтобы определить "эти тексты сходны на 65%. Скорее всего, общий первоисточник"?
Есть ли что-то вроде вэйвлет анализа для текстов?     


Ответы

Ответ 1



В биоинформатике подобные вопросы - определение схожести двух разных последовательностей нуклеиновых кислот или протеинов (читай - текстов) - составляют основную проблему. Решается она с помощью разных алгоритмов выравнивания. В вашем случае можно применить метод глобального выравнивания - самого простого из них. Подробнее о нем читай по указанной ссылке. Если будет непонятно, порекомендую литературу.

Ответ 2



Алгоритм шинглов. Алгоритм шинглов — алгоритм, разработанный для поиска копий и дубликатов рассматриваемого текста в веб-документе, мощный инструмент, призванный бороться с проявлениями плагиата в интернете.

Ответ 3



Скорее шутка и очень простой ответ. Подозреваю что автору не подойдет. Надо вычесть из единицы отношение длины вывода утилиты diff к сумме длин текстов. Конечно, diff сравнивает по строкам, но это можно обойти довольно просто, выводя каждое слово в отдельной строке.

Комментариев нет:

Отправить комментарий