Could you say anything more about the ML portion? I'm curious how you account for the temporal/chaining aspect of actions, what kinds of learners worked well, etc. On the implementation side, did you find a usable ML library for PHP or roll your own implementations?