Как реализовать систему «похожих предметов» для предметов, описываемых
набор тегов?
В моей базе данных у меня есть три таблицы: Article, ArticleTag и Tag. каждый
Статья связана с несколькими тегами через многие ко многим
отношения. Для каждой статьи я хочу найти пять самых похожих
статьи для реализации ", если вам нравится эта статья, вам понравятся эти
тоже "система".
Я знаком с Косинус сходства
и использование этого алгоритма работает очень хорошо. Но это способ замедлить. За
каждая статья, мне нужно перебрать все статьи, рассчитать
косинус сходство для пары статей, а затем выберите пять
статьи с наивысшим рейтингом сходства.
С 200 тыс. Статей и 30 тыс. Тегов у меня уходит пол минуты
рассчитать аналогичные статьи для одной статьи. Так мне нужно
другой алгоритм, который дает примерно такие же хорошие результаты, как косинус
Сходство, но это может быть запущено в режиме реального времени и которое не требует
мне перебирать весь корпус документа каждый раз.
Может быть, кто-то может предложить для этого готовое решение? Большинство
поисковые системы, на которые я смотрел, не позволяют подобие документа
поиск.