Comments 7
Зачем все эти многабуков, если ваша техподдержка все тупее и тупее и медленнее становится? Мне на заявку с февраля ответить не можете...
Привет!
Спасибо за статью
Насколько я понял, в контексте Яндекс музыки в истории пользователя просто все прослушанные треки (прослушанные в плане, что они были активны какое-то время) и фидбек на них. Здесь понятен и позитивный (напр. лайк, прослушал до конца) и негативный (напр. дислайк, скипнул меньше чем через минуту) фидбек.
А как быть в кейсе Маркета? Можешь подсказать как у вас это работает? У меня в голове такая ситуация: там в/д с рекомендациями можно считать увиденную выдачу из 20 товаров, где пользователь, допустим кликнул только по одному товару. Получается в историю пользователя добавляется 20 товаров, 1 с позитивным (был клик при показе) 19 с негативным фидбеком (не было клика при показе)? Но встают следующие вопросы: 1. Как можно определить упорядоченность взаимодействия на этих 20 товарах в истории. 2. Не ведёт ли это к неконсистентности истории: например, если выбрал из рекомендаций, то добавим 20 элементов в последовательность, а если нашел сам, то только один с положительным фидбеком?
Привет! Отличный вопрос.
Действительно, музыка в этом плане очень удобный домен. Стриминговый. Легко учитывать весь фидбек, как негативный, так положительный.
В доменах с цельными выдачами, типа Маркета, мы как правило кладём не все показы, а сэмплируем. Берём все положительные, а из остальных сэмплируем. При сэмплировании можно пробовать разные эвристики - например, брать те показы, которые выше позитива или "вокруг" него
Добрый день. У нас в команде возник спор. Может ли ваш подход переносить знания между доменами? Контекст такой: у нас сервис рекомендаций изображений и видео, с лайками, дизлайками и длительностью просмотра. На данный момент у нас очень мало данных на проде, не хватит ни для какого обучения. При этом есть ваш датасет https://huggingface.co/datasets/yandex/yambda с большим количеством данных, но по музыке. Соответственно, встал вопрос: а можно ли обучить нейросеть, которая по общим паттернам поведения при прослушивании музыки сможет предсказывать паттерны при просмотре визуального контента? Проще говоря, можно ли построить нашу рекомендательную нейросеть на основе вашего датасета? :)
Говоря вашими предметными областями, может ли быть латентное пространство Лавки быть полезным для Маркета?
Привет! Интересный вопрос. Ваш случай отличается от сценария переноса знания между Лавкой и Маркетом тем, что пользователи не пересекаются. При пересечнии пользователей можно сделать прямо-таки единую модель, в которой анализируется совместная история из обоих источников - конкретно для Лавки и Маркета я не уверен, будет ли от этого какой-то профит, но точно есть другие пары доменов в экосистеме Яндекса, где это хорошо работает.
А в вашем случае нужно надеяться, что предобученный энкодер будет нести какую-то пользу. Если бы еще айтемы представлялись текстом в обоих доменах, то можно было бы попробовать текстовый энкодер тоже переиспользовать. Но в данном случае (на музыкальном домене) придётся все-таки учить новую матрицу эмбеддингов.
Мы сами в это сильно не забуривались, но был один конкретный случай, когда попробовали вот так вот перенести только энкодер между доменами. Это не дало никакого прироста качества. Но, как говорится, это было давно и неправда. У нас тогда модели по размеру были гораздо меньше, да и датасеты тоже :) По моей интуиции это должно работать, то есть должно быть возможным обучить такой энкодер над историей пользователя, чтобы он более-менее из коробки хорошо понимал много рекомендательных доменов. Но, возможно, здесь очень важно сделать этот энкодер большим по размеру
Првет! Спасибо за статью, интересно узнать какие трюки вы использовали в Яндексе, чтобы растит полноту на стадии кандидатогенерации
ARGUS: как масштабировать рекомендательные трансформеры