Hi; new here, I hope this is appropriate for this forum.

I want to include an Amazon-style recommendation feature to a site I'm currently working on. The site has a large number of academic articles, and I'd like the system to maintain a list of articles the user has read (and possibly rated highly), and then recommend some relevant pages that he or she hasn't read.

I've got a vague idea how to do this - associate a set of categories with each article, weight those categories according to which articles the user has previously viewed and liked - but I was wondering if anyone had any firm advice?