Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tdunning/551e23c7f0771fa889b7d675628e4f8a to your computer and use it in GitHub Desktop.
Save tdunning/551e23c7f0771fa889b7d675628e4f8a to your computer and use it in GitHub Desktop.
The idea of content-based recommendation is that instead of looking purely at a history of
how users interact with items where both users and items are considered as things we know
nothing about (other than their interactions), we can consider the features of the items.
By content here, we might consider actual textual descriptions, but we might also consider
more structured information about the objects like their color or whether they are shoes,
books or music.
If we look at the content associated with items, we can restate the user x item history as
a user x content-feature history. That is to say that we can look at what content features
our users interacted with as opposed to which items. Essentially, we are recommending features
by showing a list of items that have those recommended features.
The benefit here is that many features are shared across many items. This means that we can
make recommendations for new items that no user has ever interacted as long as these items share
features with other items that have a history. This provides a partial solution to the item
cold start problem.
We can turn this about as well and consider features of users instead of users. Such features
might be the location of the user, their preferred language, what browser they are using and so on.
This can allow us to partially solve the user cold start problem, although we have to be careful
that this doesn't just turn into automated stereotyping of users.
In both forms, content or feature-based recommendation is usually not as effective as more specific
methods so as a user or an item develops a history of interactions, it is important to transition
to other, more specific, techniques.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment