Обзор поколения кандидатов

Генерация кандидатов – это первый этап рекомендации. По запросу система генерирует набор подходящих кандидатов. В следующей таблице показаны два распространенных подхода к генерации кандидатов:

Тип Определение Пример
фильтрация на основе контента Использует сходство между элементами, чтобы рекомендовать элементы, похожие на то, что нравится пользователю. Если пользователь А просматривает два милых видеоролика с котиками, система может порекомендовать этому пользователю видеоролики с милыми животными.
совместная фильтрация Одновременно использует сходство между запросами и элементами для предоставления рекомендаций. Если пользователь А похож на пользователя Б, а пользователю Б нравится видео 1, то система может порекомендовать видео 1 пользователю А (даже если пользователь А не видел видео, похожее на видео 1).

Встраивание пространства

Как фильтрация на основе контента, так и совместная фильтрация сопоставляют каждый элемент и каждый запрос (или контекст) с вектором внедрения в общем пространстве внедренияE=Rd. Обычно пространство внедрения является малоразмерным (то есть d намного меньше размера корпуса) и фиксирует некоторую скрытую структуру элемента или набора запросов. Похожие элементы, например видеоролики YouTube, которые обычно просматривает один и тот же пользователь, в конечном итоге оказываются близко друг к другу в пространстве встраивания. Понятие «близость» определяется мерой сходства.

Меры сходства

Мерой сходства является функция s:E×ER , которая принимает пару вложений и возвращает скаляр, измеряющий их сходство. Вложения можно использовать для генерации кандидатов следующим образом: по запросу, встраивающему qE, система ищет встраивания элементовxE , которые близки к q, то есть вложения с высоким сходством s(q,x).

Чтобы определить степень сходства, большинство рекомендательных систем полагаются на один или несколько из следующих факторов:

  • косинус
  • скалярное произведение
  • Евклидово расстояние

Косинус

Это просто косинус угла между двумя векторами, s(q,x)=cos(q,x)

Скалярное произведение

Скалярное произведение двух векторов — этоs(q,x)=q,x=i=1dqixi. Он также задается s(q,x)=xqcos(q,x) (косинус угла, умноженный на произведение норм). Таким образом, если вложения нормализованы, то скалярное произведение и косинус совпадают.

Евклидово расстояние

Это обычное расстояние в евклидовом пространстве, s(q,x)=qx=[i=1d(qixi)2]12. Меньшее расстояние означает большее сходство. Обратите внимание, что когда вложения нормализованы, квадрат евклидова расстояния совпадает со скалярным произведением (и косинусом) с точностью до константы, поскольку в этом случае 12qx2=1q,x.

Изображение, показывающее двумерное пространство внедрения, содержащее внедрение запроса и три элемента-кандидата.

Сравнение мер сходства

Рассмотрим пример на рисунке справа. Черный вектор иллюстрирует внедрение запроса. Остальные три вектора внедрения (элемент A, элемент B, элемент C) представляют элементы-кандидаты. В зависимости от используемой меры сходства ранжирование элементов может быть разным.

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

Как ты это сделал?

Пункт A имеет наибольшую норму и имеет более высокий рейтинг в соответствии со скалярным произведением. Элемент C имеет наименьший угол с запросом и, таким образом, занимает первое место по сходству косинусов. Элемент B физически ближе всего к запросу, поэтому ему благоприятствует евклидово расстояние.

Изображение, показывающее различия в рейтинге, вызванные каждой мерой сходства.

Какая мера сходства?

По сравнению с косинусом сходство скалярного произведения чувствительно к норме вложения. То есть, чем больше норма встраивания, тем выше сходство (для предметов с острым углом) и тем больше вероятность того, что предмет будет рекомендован. Это может повлиять на рекомендации следующим образом:

  • Элементы, которые очень часто появляются в обучающем наборе (например, популярные видео на YouTube), как правило, имеют встраивания с большими нормами. Если сбор информации о популярности желателен, вам следует отдать предпочтение скалярному произведению. Однако, если вы не будете осторожны, популярные товары могут оказаться в списке рекомендаций. На практике можно использовать и другие варианты меры сходства, в которых меньше внимания уделяется норме предмета. Например, определитеs(q,x)=qαxαcos(q,x) для некоторого α(0,1).

  • Элементы, которые появляются очень редко, могут не часто обновляться во время обучения. Следовательно, если они инициализированы с большой нормой, система может рекомендовать редкие предметы вместо более релевантных. Чтобы избежать этой проблемы, будьте осторожны при внедрении инициализации и используйте соответствующую регуляризацию. Мы подробно рассмотрим эту проблему в первом упражнении.