Sean, Thank you for your suggestions. I also thought about Frequent Item Set Mining, but as far as I know, by extracting a list of "frequent item sets", the successor item for an item that is not popular enough won't be found.
In addition, I think taking only last item into account does not provide personalization. For example you and I may watch the same movie and like it, but our reasons to like the movie might be different. You may like the genre while I like the director. My next movie will be another movie of the director, yours will be another movie with the same genre. To make this distinction, the algorithm should know our history in addition to the last movie we watched. I want a recommendation algorithm that takes my history into account, and also efficiently use the *time* parameter. Those are why I didn't implement the system with one of the ways you have mentioned. Nonetheless, if I can't find another way, I will probably implement a frequent sequence mining algorithm with a low minimum support threshold to make the algorithm cover most of possible item sequences.(i.e. increase the percentage of items that algorithm may find a successor for.) On Tue, Jun 15, 2010 at 1:58 PM, Sean Owen <[email protected]> wrote: > I would strongly guess that it's the very last item purchased that > makes the most difference to the next item purchased. So it's probably > a fairly simple problem -- just look at chains of length 1. Count for > each item i, which item j came next. Then just return the > highest-count one. > > You could throw HMM at it but I suspect it's overkill. > > Frequent item set mining is also probably applicable here. Given 2 > items in a cart, which 3rd item is most probable? > > On Tue, Jun 15, 2010 at 11:38 AM, Gökhan Çapan <[email protected]> wrote: > > Hi, > > This is not a question specific to Mahout library. I hope you'll be > > interested. > > > > While recommending to a user, we take his ratings to items, or some > > implicit ratings like his purchase history, click history, etc. into > > account. Item based collaborative filtering techniques generally compute > > item-to-item similarities in a symmetrical way ( sim(item1,item2) = > > sim(item2,item1). This is the nature of a distance measure). > > > > What if we consider user's historical data as a sequence, and want to > > predict the successor item? For example, in an e-commerce domain, we may > > want to find the item to buy after buying some other items. For example, > if > > we have a user vector u, where uti is the item that user was interested > in > > time ti, what are the possible values of ucurrent? > > > > Considering active user's interest to items at a specific time as states, > > can we see predicting user's current interest as the unobserved state and > > the user data as an HMM? I do not know well HMM, do you think that point > of > > view to the problem seems reasonable? Do you have any ideas/suggestions > > about other solutions if it is not a good way? > > -- > > Gökhan Çapan > > > -- Gökhan Çapan
