What is Content-Based Filtering?
How It Differs From Collaborative Filtering
Collaborative filtering finds users similar to you and recommends what they liked. It does not need to know anything about item content. Content-based filtering is the opposite: it does not need to know about other users. It only needs to understand item attributes and match them to your expressed preferences.
This distinction matters for cold start. A new item with zero interactions is invisible to collaborative filtering but perfectly visible to content-based systems. If the new item is an action movie, content-based immediately knows to recommend it to action movie fans.
Building A User Profile
The system learns what features you prefer by analyzing items you interacted with. If you rated 20 movies, extract their features: genres, directors, actors, keywords, production years. Aggregate these into a user profile vector. Simple approach: average the feature vectors of items you liked. More sophisticated: weight by rating strength or recency.
This profile becomes your preference fingerprint. To recommend, compare all candidate items to your profile. Items with high similarity get recommended. Cosine similarity is common: user_profile · item_features / (magnitudes).