Back

Explore Courses Blog Tutorials Interview Questions
0 votes
1 view
in Machine Learning by (19k points)
edited by

I am wondering what algorithm would be clever to use for a tag driven e-commerce enviroment:

Each item has several tags. IE:

Item name: "Metallica - Black Album CD", Tags: "metallica", "black-album", "rock", "music"

Each user has several tags and friends(other users) bound to them. IE:

Username: "testguy", Interests: "python", "rock", "metal", "computer-science" Friends: "testguy2", "testguy3"

I need to generate recommendations to such users by checking their interest tags and generating recommendations in a sophisticated way.

Ideas:

A Hybrid recommendation algorithm can be used as each user has friends.(mixture of collaborative + context based recommendations).

Maybe using user tags, similar users (peers) can be found to generate recommendations.

Maybe directly matching tags between users and items via tags.

Any suggestion is welcome. Any python based library is also welcome as I will be doing this experimental engine on python language.

1 Answer

0 votes
by (33.1k points)

The following steps might clear your question well:

1) Weight your tags.

Tags fall into several groups of interest:

  • My tags that none of my friends share

  • Tags a number of my friends share, but I don't

  • My tags are shared by a number of my friends.

Identify all tags in which the person or the person's friends have in interests, and attach a weight to the tags for this individual. 

There is one simple possible formula for tag weight:

(tag_is_in_my_list) * 2 + (friends_with_tag)/(number_of_friends)

2) Weight your items

For any item that has any of the tags in your list, just add up all of the weighted values of the tags. A higher value = more interest.

3) Apply a threshold.

Simply show the top n results.

Hope this answer helps. 

Welcome to Intellipaat Community. Get your technical queries answered by top developers!

28.4k questions

29.7k answers

500 comments

94.1k users

Browse Categories

...