mahout-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Owen" <>
Subject Re: Taste ?'s
Date Mon, 10 Nov 2008 17:05:31 GMT

Fine by me, I had always distributed it myself. I pulled it out here by 
request I think in order to reduce the number of dependencies. 

I would rather not remove working, plausibly useful functionality just to 
avoid a dependency - web services are definitely in that category. At worst 
just make it a dependency you have to add, which is what I did here (same 
for EJB though not sure anyone actually uses that). Obviously I have no 
issue going the other way and including Axis. 

On explanation - I like the idea. I am struggling to think of any 
commonality between explanations across all algorithms. That may argue 
against a generic Explanation object but not against specific 
implementations tailored for particular algorithms.

I am then trying to imagine what the explanation is like. For user-based 
recommenders it is really a neighborhood of users that explains it. Do you 
return that? In an object that tells you stuff like how much a given item is 
liked by the group?

I like the idea... when I dig in I am having trouble thinking of just what 
an explanation looks like. I can imagine reporting interesting figures (e.g. 
most popular items in neighborhood) that don't really explain things. 
Perhaps it is good to think of real-world examples like amazon's 
'recommended because' function. That I already expose - in the algorithm for 
which it makes any sense that is. For instance there would be no such notion 
of this in slope-one. 

An interesting item to mull over indeed. It is a way a recommender system 
could add real insight and value. 

On 10 Nov 2008, 1:54 PM, "Grant Ingersoll" <> wrote:

On Nov 10, 2008, at 8:32 AM, Sean Owen wrote: > The web service bit won't 
work without Axis but ye...
Yep, it does.  Axis is ASF, so we can just put them in where they need to 
be.  Either that, or let's not support Web Services.

> > > You hit on an interesting feature of the slope-one recommender used in 
> the demo. It does h...
Right, the same is true for Lucene.  We have an abstract "explain" method 
that gets implemented by the various scoring pieces.   So, for Taste, we 
could probably add it to the Recommender class, something like:

abstract Explanation explain(Item, Item, ???);  //Given a source item, 
explain why the recommended Item was chosen.
abstract Explanation explain(User, User, Item, ???);  //Given a source user, 
explain why the item was recommended for the target user.

> On Mon, Nov 10, 2008 at 1:21 PM, Grant Ingersoll <> 
wrote: >> >> Hi, >> >> ...
Grant Ingersoll
Lucene Boot Camp Training Nov. 3-4, 2008, ApacheCon US New Orleans.

Lucene Helpful Hints:

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message