It sounds like you have substantially a search problem. You know the
user's attributes, you know the items' attributes, and are just
finding the closest match. That by itself doesn't need a recommender
at all; it would just be extra complexity and fiddling to make it look
like a recommender problem. Just do exactly as you say instead: find
the closest match according to some definition of close. Recommenders
are more for when you don't know these attributes.

On Sat, Mar 10, 2012 at 7:29 PM, Alex Geller <a...@alicanto.com> wrote:
> Yep, filtering is really what I need in this case, I'll give IDRescorer a
> look.
>
> Regarding the "perfect item" (simplified for the sake of example) - let's
> assume I have the info that the user is a 20 y.o. woman who likes the color
> red, and it's going to be christmas in a week's time. So if she's looking
> at greeting cards, I'll create a "perfect" card which has parameters of
> {'christmas','dominating color - red','for women','for youngsters'} and
> look for the card that most closely matches that perfect card (ignore the
> fact that she's probably buying the card for someone else, again that's
> just an example).Might use filtering here to only consider chrsitmas cards
> since others are probably irrelevant even if they get a high score on other
> parameters. So I guess Item-Based similarity and filtering using IDRescorer
> should suffice.
>
> Since I'll probably want to integrate User-based recommendation as well at
> a later point - is there any existing Recommender implementation which
> blends both item-based and user-based recommendations?
>
> On Sat, Mar 10, 2012 at 9:06 PM, Sean Owen <sro...@gmail.com> wrote:
>
>> It really depends on what you mean by "based on time", as it could
>> mean many things. I'm assuming you mean that an item's seasonality
>> should somehow boost its importance, and boost its perceived value, by
>> some multiplier.
>>
>> The useful application of that idea is in fact what you get in
>> IDRescorer. I could imagine you also use that boost in similarity
>> computations, though I don't think it would make much difference.
>>
>> IDRescorer is for filtering as well as boosting. No, it is not a tool
>> for reordering per se, but altering scores, which of course could
>> affect ordering. From what you say I think it really is what you want,
>> or at least 80% of it.
>>
>> You can create a 'perfect item' but how then does the user come into
>> play for recommendations -- what about that is affected by user prefs.
>>
>>
>> On Sat, Mar 10, 2012 at 6:49 PM, Alex Geller <a...@alicanto.com> wrote:
>> > By "time-based" I meant something that supports recommendation by time of
>> > year (#2 on my list).
>> >
>> > IDRescorer looks interesting, but (correct me if I'm wrong, I'm a
>> complete
>> > newbie with Mahout and generally in this field) it seems more like a tool
>> > to refine the order of recommended items after the initial recommendation
>> > logic was applied. What I need is for the recommendation logic itself to
>> be
>> > based on time and user-item similarity (I probably won't have relevant
>> > user-user information anyway). So, for example, I'm able to recommend
>> > christmas-related items only a week before christmas, and not just give
>> > them a boost using Rescorer.
>> >
>> > If that isn't possible I'm considering creating a virtual "perfect item"
>> > from the data I have (time of year and user data) and running an
>> > ItemBasedRecommender to find the items that most closely match this
>> perfect
>> > item. Do you think that would be a feasible solution?
>> >
>> > On Sat, Mar 10, 2012 at 6:25 PM, Sean Owen <sro...@gmail.com> wrote:
>> >
>> >> If by #3 you mean you have preferences for many users, this is of
>> >> course the standard input for a recommender, yes. If you also have
>> >> some user-user similarity info beyond that, you can implement
>> >> UserSimliarity and use GenericUserBasedRecommender to incorporate
>> >> that.
>> >>
>> >> If you want to boost items according to some logic, like time (#2),
>> >> use IDRescorer.
>> >>
>> >> It sounds like you have a priori understanding of what items are best
>> >> for what users (#1). That's not something you can use directly, but I
>> >> suppose you could simply use this info as a multiplier (again with
>> >> IDRescorer), or perhaps the basis of a separate set of recommendations
>> >> you blend.
>> >>
>> >> What's a time-based recommender?
>> >>
>> >>
>> >> On Sat, Mar 10, 2012 at 2:51 PM, Alex Geller <a...@alicanto.com> wrote:
>> >> > Hi,
>> >> >
>> >> > I want to write a recommendation system which recommends items to
>> >> customers
>> >> > based on the following parameters (and some others):
>> >> >
>> >> >   - User-item similarity (for example recommend items which target
>> >> certain
>> >> >   gender,age etc. to users which meet these criteria)
>> >> >   - Time of year (recommend items with a holiday theme before a major
>> >> >   holiday)
>> >> >   - Preferences of similar users
>> >> >
>> >> > I know Mahout supports User-User and Item-Item similarity, but how
>> can I
>> >> > implement User-Item similarity?
>> >> > Also, is there any support for time-based recommendations?
>> >> >
>> >> >
>> >> > Thanks,
>> >> >
>> >> > Alex
>> >>
>>

Reply via email to