Идея метода item-based аналогична идее вышеописанного метода user-based, однако сходство уже ищется по признакам, то есть по предметам. Введем обозначения: u0 — «целевой» пользователь, u0I — предметы, которые он оценивал, sim(i,j) — сходство товара i с товаром j. Определим соседство для предмета i аналогично тому, как определяли его для целевого пользователя:
.
Это top-k ближайших к i товаров, top-k определяет. Чтобы предсказать оценку целевому пользователю, нужно сравнивать те предметы, которые он оценивал, с теми, которые нет. Поэтому «уточним» формулу для соседства в отношении к целевому пользователю:
.
Обозначим оценку предмета i пользователем u, таким образом, итоговая формула имеет вид:
.
Далее ранжируем оценки по убыванию и выдаем первые n в качестве рекомендаций.
Преимущества этому методу дает тот факт, что обычно на сайтах онлайновой торговли количество пользователей постоянно увеличивается, в то время как новые предметы добавляются не так часто. Поэтому вычисление сходства пользователей каждый раз при формировании рекомендации может занимать много времени, а сходство предметов можно посчитать заранее в режиме офлайн, и потом использовать эту матрицу.
У этих методов есть ряд недостатков, например, в случае «холодного старта», когда нам ничего неизвестно о новом клиенте, такие системы не смогут ничего порекомендовать, но они успешно справляются со своей задачей, когда известна история пользователя.