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" <[EMAIL PROTECTED]> 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. 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 <[EMAIL PROTECTED]> wrote: >> >> Hi, >> >> ... -------------------------- 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
