Я изучаю механизмы рекомендаций, и я просмотрел статью , которая определяет, как Новости Google генерируют рекомендации для пользователей по новостям, которые могут представлять их интерес, на основе совместной фильтрации.
Одна интересная техника, которую они упоминают, это Minhashing. Я прошел через то, что он делает, но я уверен, что то, что у меня есть, является нечеткой идеей, и есть большая вероятность, что я ошибаюсь. Вот что я могу из этого сделать: -
- Соберите набор всех новостей.
- Определить хеш-функцию для пользователя. Эта хеш-функция возвращает индекс первого элемента из новостей, которые просматривал этот пользователь, в списке всех новостей.
- Соберите, скажите «n» количество таких значений и представьте пользователя с этим списком значений.
- На основе количества сходств между этими списками мы можем рассчитать сходство между пользователями как количество общих элементов. Это значительно уменьшает количество сравнений.
- На основе этих мер сходства группируйте пользователей в разные кластеры.
Это как раз то, что я думаю. На шаге 2 вместо определения постоянной хеш-функции может оказаться возможным изменить хеш-функцию таким образом, чтобы она возвращала индекс другого элемента. Таким образом, одна хеш-функция может возвращать индекс первого элемента из списка пользователя, другая хеш-функция может возвращать индекс второго элемента из списка пользователя и так далее. Таким образом, природа хеш-функции, удовлетворяющей условию минус-независимых перестановок , звучит как возможный подход.
Может ли кто-нибудь подтвердить, что я считаю правильным? Или часть рекомендаций Новостей Google, функционирующая как-то иначе? Я новичок во внутренних реализациях рекомендаций. Любая помощь очень ценится.
Спасибо!