Другим способом создания речей с помощью Spark является метод поисковой системы. Это в основном рекомендация cooccurrence, поданная Solr или Elasticsearch. Сравнение факторизованного с cooccurrence выходит за рамки этого вопроса, поэтому я просто опишу последний.
Вы передаете взаимодействия (идентификатор пользователя, идентификатор объекта) в файл spark-itemsimilarity
Махута. Это создает список аналогичных элементов для каждого элемента, отображаемого в данных взаимодействия. Он будет отображаться по умолчанию как csv и поэтому может быть сохранен в любом месте. Но он должен быть проиндексирован поисковой системой.
В любом случае, когда вы хотите получить реквизиты, вы используете историю пользователя в качестве запроса, вы возвращаете упорядоченный список элементов в качестве реквизитов.
Одним из преимуществ этого метода является то, что индикаторы могут быть рассчитаны для максимально возможного количества действий пользователя. Любые действия, которые пользователь предпринимает, которые коррелируют с тем, что вы хотите порекомендовать, могут быть использованы. Например, если вы хотите порекомендовать покупку, но также записываете представления продукта. Если вы рассматривали виды продуктов так же, как и покупки, вы, вероятно, получите худшие рецензии (я пробовал это). Однако, если вы рассчитываете индикатор для покупок и другой (фактически перекрестный) показатель для просмотров продукта, они одинаково предсказывают покупки. Это приводит к увеличению количества данных, используемых для рецентов. То же самое можно сделать с пользовательскими местоположениями, чтобы вставить информацию о местоположении в реквизиты покупки.
Вы также можете отклонить свои реквизиты в зависимости от контекста. Если вы находитесь в разделе «Электроника» каталога, вы можете захотеть, чтобы ребра были перекошены в сторону электроники. Добавьте электронику в запрос к полю метаданных категории, и дайте ему толчок в запросе, и у вас есть предвзятые реплики.
Поскольку в запросе происходит все смещение и смешение индикаторов, он делает двигатель ретранслятора легко настроенным на несколько контекстов, сохраняя при этом только один многополевой запрос, созданный с помощью поисковой системы. Мы получаем масштабируемость от Solr или Elasticsearch.
Другим преимуществом либо факторизации, либо метода поиска является то, что совершенно новые пользователи и новая история могут быть использованы для создания речей, в которых старшие рекомендации по маоу могут рекомендовать пользователям и взаимодействиям, когда они были известны при выполнении задания.
Описания здесь:
Спасибо за отличное и подробное объяснение! Я попробую Oryx :) – shihpeng