Implementing a simple web-log based recommender system

I’ve now implemented such a system as an extension to Catalyst, the open source Perl web framework. The system isn’t yet ready for general distribution, but I’d like to share my approach.

First, I’ve gathered ten years of web access logs from WormBase, a generic model organism database where I work as the project manager.

Next, I correlated IP addresses with requests and tried to trace browsing patterns from one object to the next. This isn’t an exact science since we haven’t historically tried to uniquely identify users.

Data is loaded into a simple MySQL schema with object and object2related tables. Expediently simple.

Installing Catalyst on Leopard

I’ve been working with the <a href=”http://www.catalystframework.org/”>Catalyst Web Framework</a> most of the summer. I just did a clean install of my system with Leopard. It’s good to flush out the pipes now and again as I’m a chronic shareware user and abuser. In the past, I’ve installed Catalyst by:

 

 $perl -MCPAN -e ‘install Task::Catalyst’

 

 $perl -MCPAN -e ‘install Catalyst::Devel’

 

This works well if you have a mature system and lots of modules already installed. This go around, I thought I’d try out Matt Trout’s <a href=”http://www.shadowcat.co.uk/static/cat-install”>Perl installation script</a>. Note that you should already have suitable CPAN configuration in place. Then:

 

 sudo perl cat-install

 

The documentation suggests stepping out for a cup of tea. Might I suggest instead coffee. And…it seems to have worked!