I guess I should elaborate a little more on what I am looking for. I already have a hybrid approach working where batch processing informs and improves the ALS models and these models are stored in memory to do some (Near)real time recommendations. The attractive bit about using something like Solr is that the user behavior on the app/front-end is easily modeled in terms or query parameters that could help serve better recommendations and also improve the model. It also seems to be the most commonly used approach based on what I have seen. I am wondering if there are other ways of doing this. In the broader sense, I guess my question is what are the next steps to build on this basic recommendation system? What is a good way to serve recommendations based on user behavior in near-real time and how do these systems take feedback to improve the models.
Not quite what I am asking. I am looking for system architecture not specific algorithms.Btw, We do use annoy and various other algorithms for our recommendations.
Would you mind sharing this information? I live in south bay and have struggled to find a good therapist/MD and have had very little success finding any recommendations.
Wow, thanks for all the responses. I think I would like to share more of what troubles me the most. I usually back away when the task seems even slightly complex. For example, I need to try to join 2 collections in mongo and want to try out map-reduce on it and see how long it takes.. I am just postponing it although I know if I stay with it, I will probably get it done in an hour or two. My mind refuses to start anything that seems complex. I get overwhelemed and anxious and delay everything to the last minute and then work in panic mode and do a half-assed job sometimes. Even though I have evidence that when I just start and stay with the problem, I more often than not do it well, I can't seem to internalize this and repeat this. What do you do when you have to do something seemingly complex. I always have trouble breaking it down into smaller tasks unless I have someone to talk to.. then somehow it gets very easy.. I have found that when I work in a group or in pairs, I am way more effective and my speed goes up tremendously. So much so that others often need time to catch up to what I saying. What advice would you give for someone struggling to work on his own?
I remember being in an applied crypto class with you at CMU taught by Virgil Gligor if I am not mistaken and was thoroughly impressed with your knowledge of cryptosystems. I am happy for you! Way to go.