Koneti
Koneti

Reputation: 106

Context aware recommendation engine

I am looking for context aware (location,time,companion) recommendation system.

I found bunch of good recommendation systems (mahout, PredictionIO, easyrec).

But unfortunately I am not convinced with any of those. On further googling I found CARSKit based on librec.

I am exactly looking for similar library. At the same time I am more interested to work with mahout only.

Though mahout is not suiting me but still we can ask for number of recommendations and output is also much understandable.

As per my understanding "Context awareness" is missing in mahout.

I will explain my dataset.

calendar_seq,user_id,date,dayofweek,timehh,timemm,location_name,location_lat,location_long,companion,event_name,is_recommended,is_accepted,show_in_cal
1,1,14/12/15,Monday,13,0,Office,1.1,2.2,Colleagues,lunch,true,true,true
2,1,14/12/15,Monday,18,0,Cinema,3.3,4.4,NA,Movie,false,true,true
3,1,15/12/15,Tuesday,13,0,Office,1.1,2.2,Colleagues,lunch,true,true,true
4,1,15/12/15,Tuesday,18,0,Meeting,3.3,4.4,Colleagues,meeting,false,true,true
5,1,16/12/15,Wednesday,13,0,Office,1.1,2.2,Colleagues,lunch,true,true,true

I will have above five rows in DB and will be given it as training data. Now I need recommendation for User 1 on 16/12/15 evening 18:00.

It can recommend Cinema or Meeting for 16/12. When I run recomender again for 17/12, based on previous day's recommendation all those events will become like training data. So again recomender can give recommendation based on location,time,companion etc..

Can any one suggest me best suited recommendation wrapper on top of Mahout or new library which will suit my requirement?

I prefer Java based solutions for my problem.

Upvotes: 2

Views: 484

Answers (1)

Ritesh Gupta
Ritesh Gupta

Reputation: 76

This may be similar to your question.
A quote from this link: "Your input file may have multiple features like age, location etc. R could help you in applying K-Means clustering on multiple features. Apache Mahout implementation overwrite features instead of applying multiple features. And when you apply clustering on these multiple features, clusters would be formed based on all features instead of one. However, I am not sure about the use-case, So I am just discussing technical feasibility here. You may need to apply based on your use-case."

Hope this helps.

Upvotes: 0

Related Questions