mahout-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grant Ingersoll <gsing...@apache.org>
Subject Re: Taste ?'s
Date Mon, 10 Nov 2008 13:54:24 GMT

On Nov 10, 2008, at 8:32 AM, Sean Owen wrote:

> The web service bit won't work without Axis but yes I think the rest
> does. The Axis .jars should be added into lib/axis as I recall. I
> believe the build file prompts you to do this? at least my build file
> does. I don't have it in front of me.

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 have this odd tendency to produce similar
> recommendations for relatively dense data sets. I haven't really
> thought it through or discussed with the creator of this algorithm but
> I should.
>
> Top-rated items independent of user -- yes this could be added fairly
> easily. It is not really part of a recommender API but something
> computable from the data. It... may or may not really explain the
> recommendations in general. It *shouldn't*. In the case of slope-one
> it sort of does but that is not so desirable.
>
> The explanation is kind of algorithm-specific. For example for
> user-based recommenders the explanation relies on the user
> neighborhoods that were computed. For slope-one it kind of depends on
> item-item rating differences over the whole data set. I am not so sure
> yet how to expose that cleanly and consistently. The API methods
> needed are all there, but nothing more is done to someone craft an
> explanation of some kind.
>

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.
and
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  
> <gsingers@apache.org> wrote:
>> Hi,
>>
>> I'm integrating the build and demo into the main workflow, and have  
>> a couple
>> of questions about Taste.  See
>> https://issues.apache.org/jira/browse/MAHOUT-94
>>
>> 1.  What should we do about the Axis jars required for the  
>> AxisServlet stuff
>> in the example WAR?  For now, I've commented out the dependency and  
>> the rest
>> seems to work fine.  Is there a pointer to where these live?
>>
>> 2. Is there a way to get the top rated items in the demo without a  
>> user?  I
>> think that would be useful.  For pretty much every user I've  
>> entered in the
>> demo, it recommends "Song of Freedom", and I'm curious as to why.   
>> One thing
>> that would be cool is an "explain" method like Lucene has for  
>> explaining
>> search results.
>>
>> -Grant
>>

--------------------------
Grant Ingersoll
Lucene Boot Camp Training Nov. 3-4, 2008, ApacheCon US New Orleans.
http://www.lucenebootcamp.com


Lucene Helpful Hints:
http://wiki.apache.org/lucene-java/BasicsOfPerformance
http://wiki.apache.org/lucene-java/LuceneFAQ










Mime
View raw message