On Wed, Sep 9, 2009 at 1:39 AM, Sean Owen <[email protected]> wrote: > > My focus in the past has always been to produce recs really fast > (sometimes > > hundreds per second). As is generally the case, doing as much > computation > > ahead of time is a great way to get fast response. > > What about incorporating new information at runtime? For example, > thinking of the case of the first-time user who rates 3 things and > then... waits until the next run of the offline process? That's my > concern, along these lines.
If you look back at the original formulation, r = (A' A) h where A is the user-item matrix and h is the (current) user's history, only the A'A part is computed off-line. If user history h is updated as you say, then the recommendations r are also updated without needing the off-line computation. In practice, as you say there are some more tweaks to be had, especially in the UI. I find, for instance, that it is important to rotate the recommendations relatively frequently. I usually accomplish that by (partially) randomized jittering. -- Ted Dunning, CTO DeepDyve
