Как найти похожие тексты и отсортировать

Есть простой метод отсортировать набор текстов по похожести на заданный текст: по Эвклидову расстоянию между частотами слов в анализируемых текстах. В принципе, на этом алгоритм должен быть понятен, простую реализацию можно найти здесь.

Как ни удивительно, простой метод даёт хорошие результаты. Например, если ищем следующую книгу чтоб почитать, можно ввести текст прочтённой книги или нескольких прочтённых книг как образец для поиска, и тогда для этого репозитория из 10 книг получаем следующие результаты для книги «FAIRY TALES By The Brothers Grimm»:

0.0320757 Repo\THE ADVENTURES OF TOM SAWYER.txt 0.0363329 Repo\A TALE OF TWO CITIES - A STORY OF THE FRENCH REVOLUTION.txt 0.0388528 Repo\ALICEТS ADVENTURES IN WONDERLAND.txt 0.0440605 Repo\MOBY-DICK or, THE WHALE.txt 0.046679 Repo\THE ADVENTURES OF SHERLOCK HOLMES.txt 0.0472574 Repo\The Iliad of Homer.txt 0.0511793 Repo\The Romance of Lust.txt 0.053746 Repo\PRIDE AND PREJUDICE.txt 0.0543531 Repo\BEOWULF - AN ANGLO-SAXON EPIC POEM.txt 0.0557194 Repo\Frankenstein; or, the Modern Prometheus.txt 

Как видно из результатов, наиболее похожими обнаружены сказкоподобные книги, а наименее похожей — книга ужасов.

В коммерческих целях такую программу возможно использовать для того чтобы для заданной веб-страницы найти наиболее подходящую рекламу, сравнивая текст читаемой пользователем страницы с текстами страниц, куда ведут имеющиеся рекламные объявления.

Другое применение — в нахождении резюме из базы по примеру резюме кандидата, который подходит на данную позицию, но не желает присоединиться или уходит из компании. Поиск замены работнику — не такой уж и редкий бизнес-случай. Также можно отсортировать базу резюме по похожести на описание вакансии.

P.S. Кстати, Хабр в списке похожих статей выдаёт что-то не сильно похожее. Может Хабру тоже применить данный метод?

FavoriteLoadingДобавить в избранное
Posted in Без рубрики

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *