Фильтрация на основе контента использует функции элемента, чтобы рекомендовать другие элементы, похожие на то, что нравится пользователю, на основе его предыдущих действий или явных отзывов.
Чтобы продемонстрировать фильтрацию на основе контента, давайте вручную разработаем некоторые функции для магазина Google Play. На следующем рисунке показана матрица функций, где каждая строка представляет приложение, а каждый столбец — функцию. Функции могут включать категории (например, «Образование», «Повседневный отдых», «Здоровье»), издателя приложения и многие другие. Для упрощения предположим, что эта матрица функций является двоичной: ненулевое значение означает, что приложение имеет эту функцию.
Вы также представляете пользователя в том же пространстве функций. Некоторые функции, связанные с пользователем, могут быть явно предоставлены пользователем. Например, пользователь выбирает в своем профиле «Развлекательные приложения». Другие функции могут быть неявными в зависимости от ранее установленных приложений. Например, пользователь установил другое приложение, опубликованное Science R Us.
Модель должна рекомендовать элементы, имеющие отношение к этому пользователю. Для этого сначала необходимо выбрать показатель сходства (например, скалярное произведение). Затем вы должны настроить систему для оценки каждого элемента-кандидата в соответствии с этим показателем сходства. Обратите внимание, что рекомендации относятся только к этому пользователю, поскольку модель не использовала никакой информации о других пользователях.
Использование скалярного произведения в качестве меры сходства
Рассмотрим случай, когда пользователь, внедряющий \(x\) , и приложение, внедряющее \(y\) являются двоичными векторами. Поскольку\(\langle x, y \rangle = \sum_{i = 1}^d x_i y_i\)функция, появляющаяся как в \(x\) , так и \(y\) добавляет к сумме 1. Другими словами, \(\langle x, y \rangle\) — это количество признаков, которые активны в обоих векторах одновременно. Тогда более высокое скалярное произведение указывает на большее количество общих признаков и, следовательно, на большее сходство.
Попробуй сам!
Вычислите скалярное произведение для каждого приложения в предыдущей задаче. Затем используйте эту информацию, чтобы ответить на вопрос ниже: