In this
post, I am going to discuss about user similarity and item similarity concepts.
Later posts explain various implementations for both Item similarity and user
similarity.
User similarity
It is also
known as user-user collaboration filtering. It is a collaborative filtering
systems based on rating similarity between users. For example news articles
sites, build user profile based on your past browsing history and map to
particular user bucket. After that recommend news articles for you by computing
user similarity metrics.
There are
some problems with user-to-user collaborative filtering.
a.
Systems
performed poorly when they had many items but comparatively few ratings
b.
Computing
similarities between all pairs of users was expensive
c.
User
profiles changed quickly and the entire system model had to be recomputed
Mahout
provides following implementations for user-to-user collaborative filtering.
Following classes implements UserSimilarity interface. UserSimilarity finds
similarity between two users.
d.
GenericUserSimilarity
Item similarity
Item-item
models use rating distributions per item, not per user. Suppose there are more
users than items, each item tends to have more ratings than each user, so an
item's average rating usually doesn't change quickly.
Mahout
provides following implementations for item-to-item collaborative filtering. Following
classes implements ItemSimilarity interface. ItemSimilarity finds similarity
between two items.
d.
FileItemSimilarity
e.
GenericItemSimilarity
No comments:
Post a Comment