I am building a recommender system, in which for one system there will be only one user. So we cannot use something like user-user data. Recommendation is an item which contains 10-15 attributes ie categorical values. And user can like/dislike the item. Dataset looks like below table, only it has 10-15 attributes.
Someone please suggest me how to implement this or share your ideas. Recommender system should be like if user likes an item, it should recommend similar item and also building his/her user profile at the same time based on like/dislike. So eventually it will build a user profile and the items recommended by the system should be closer to past liked one and at the same time distant from disliked one. Also is there any way i can get due to which attributes user has liked/disliked that item among 10-15 attributes.
Currently I am doing :
- Recommending a random items
- Get user feedback like/dislike
- If user liked- calculating Jaccard's similarity and recommending the next most similar item to the user.
- If user disliked- I don't want to recommend completely different item, so recommending item which has 2nd most Jaccard's similarity.
- Finally I have the data of user like and dislike. Now I need to personalized the recommendation, where I stuck.
Can I use Association rule mining, or only content based algo is enough, or how to use collaborative filtering? Please share your views.