Kantor.AI

@kantor_ai · active

Subscribers 12.2K tracking since 13 Nov
Reach per post (ERR) 26.5%3.2K avg views
Posting 6.5/week last 17 hours ago
Reactions per 1K views 6.8 ❤ 🔥 👍

Про перетаскивание методов из NLP в RecSys и обратно: часть 1 Я как-то один или два раза уже писал здесь, что NLP и RecSys как области применения ML часто оказывались полезными друг-другу, в этом посте раскрою чуть подробнее эту историю. Началось это еще с матричных разложений - в рекомендательных системах еще в доисторическую эпоху во времена Netflix Prize начали обучать для юзеров и рекомендуемых объектов числовые векторы, скалярное произведение которых хорошо приближает оценку объекта пользователем. Метод использовался и в текстах - в частности в виде LSA (Latent Semantic Analysis), NMF (Non-negative Matrix Factorization), а зачем и в вероятностной постановке - PLSA (Probabilistic LSA), который позже, упакованный в байесовский вывод, выродился в LDA (Latent Dirichlet Allocation). Что общего было у рекомендаций и текстов, что привело к использованию похожего семейства методов? Матрица user-item и матрица term-document обе были разреженные и в некотором смысле с пропусками: как фильм человек мог не видеть, но это не значит, что он нравится или не нравится, так и слово могло не войти в документ просто потому, что сформулирована мысль была немного иначе (или просто использован синоним). Дальше, когда в NLP появились эмбеддинги из word2vec, сразу начали появляться разные способы приспособить word2vec к рекомендациям. Почему так? Word2vec оказался тоже матричным разложением, но уже не матрицы term-document, а матрицы word-context. В рекомендациях это тоже имело смысл: какой товар вы ожидаете увидеть в известном контексте, тот товар и логично "докинуть" в рекомендации. В экспериментах выяснялось ужасное: каким-нибудь doc2vec порой удавалось побить в рекомендациях переранжирование кандидатов каким-нибудь градиентным бустингом. Плюсом для применения word embedding'ов в рекомендациях было то, что последовательность просмотров и покупок товаров, даже если ее развернуть из набора id-шников в набор параметров просмотренных товаров все равно была очень простым и искусственным языком. Те методы, которые работали даже на естественном языке, на логах рекомендаций обучались достаточно быстро. Кстати, в матричных разложениях применительно к рекомендациям была еще одна фишка - baseline predictors, когда прогноз оценки от пользователя фильму считался не просто по скалярному произведению их векторов, а с добавлением базовой оценки пользователя ("строгость пользователя"), фильма ("качество фильма в целом") и некого "среднего" ("к какой оценке в среднем склоняются пользователи"). Если погружаться в детали, это интуитивное объяснение бейзлайн предикторов немного искаженное - т.к. к "среднему" все равно еще будет большая добавка, то это уже не "среднее", а просто поправка на среднюю температуру по больнице, но не будем тут еще больше занудствовать. Так вот в какой-то момент была еще одна вариация word2vec для текстов - GloVe, и там эту идею притащили еще и в тексты.

Views over time

01K2K3K1 Nov 11:5413 Nov 03:112.4K1 Nov 11:54: 0 views13 Nov 03:11: 2,380 views
Snapshots we took after posting.
WhenViews
1 Nov 2026, 11:540
13 Nov 2026, 03:112.4K

Who shared this post

Posts in other channels we index that link to this one. (Forwards with a hidden source can't be traced.)

Nobody yet.