mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Owen <>
Subject Re: PlusAnonymousUserDataModel usage?
Date Sat, 18 Sep 2010 09:14:46 GMT
Sounds like a clean fix. Really, the semantics should be tightened up.
Until temp prefs are set, the "temp user" should not exist and the
facade should behave accordingly. The temp prefs can't be null or
empty, and there should be a way to un-set them too. I can add that
for your consideration.

What issue do you think you see with walking temp prefs? at second
glance I don't see an issue. Which method?

To answer other questions: yes it's my view that Recommenders should
be thread-safe and they are. However PAUDM throws a ratchet in the
works since it by definition can only host one anonymous user at a
time. It should be viewed as a convenient hack rather than standard.
You have to synchronize access to the recommender as a result -- not
complicated, but not ideal on multi-core machines. In some contexts
that's fine.

I suppose a better answer is to extend this convenient hack to handle
n simultaneous anonymous users. It's probably not hard if not trivial.

The real answer is to make the anonymous users first-class users in
the model. While correct and all that may have practical performance

On Sat, Sep 18, 2010 at 7:21 AM, Lance Norskog <> wrote:
> I found the problem: PlusAnon.... always includes the anonymous user when
> you ask it for the User iterator:   getUserIDs();
> However, if you don't have your pref array poked into it,
> getPreferencesFromUser() for the anonymous user returns null instead of an
> empty preference list.
> MemoryDiffStorage walks the preferences at startup. This includes the
> anonymous user, it gets a null, and throws a NullPointerException.  If
> PlusAnon... must always include the anonymous user (and I think it should),
> it should return a zero-length PreferenceArray rather than a null pointer.
> That is, the anonymous user has no opinions.
> Would this screw up various recommender algorithms?
> Lance Norskog wrote:
>> Does anyone have an example of successfully using
>> PlusAnonymousUserDataModel? There are no unit tests for it. I'm playing
>> around and finding one problem after another in various classes; they do
>> things that don't fit with how PAUDM works.
>> Lance

View raw message