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

от автора

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

Как ни удивительно, простой метод даёт хорошие результаты. Например, если ищем следующую книгу чтоб почитать, можно ввести текст прочтённой книги или нескольких прочтённых книг как образец для поиска, и тогда для этого репозитория из 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

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

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

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


ссылка на оригинал статьи https://habr.com/post/422407/


Комментарии

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

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