I don't think they're identical, no.

The concepts must both exist in the API or it would be unintelligible.
Or, UserSimilarity and ItemSimilarity might be unifiable into
ThingSimilarity but I wonder whether that would start to get hard to
understand. If that's what you mean, yes you can argue that's
duplicative but I think it's necessary.

Some of the asymmetry exists for performance reasons. The framework
does not demand that both ideas be on exact equal footing since this
would require, for instance, maintaining things like indices both ways
where only one may be otherwise used.

(I'm sure some asymmetry or duplication exists that can be fixed too,
though I can't think of much.)

Being a Collaborative Filtering framework, nothing need be known about
users or items but their identity. In that sense they are
interchangeable. I can feed item IDs as user IDs and vice versa to
recommend users to items (or users to users, or whatever). But that
doesn't mean the framework needs to think of users and items
identically, and be able to go either way in one single instance.

But maybe you can say what you think is duplicative, and I can say why
it either should be as-is or we can open a JIRA to track the edits.


On Tue, Aug 31, 2010 at 7:53 AM, Lance Norskog <[email protected]> wrote:
> It seems like Users and Items are isomorphic concepts. (Or rather
> enantiomorphs?) Yes, there are different strategies for user-user v.s.
> item-item, but the core abstractions seem the same.
>
> If so, there's a lot of duplicated code in Taste.
>
> --
> Lance Norskog
> [email protected]
>

Reply via email to