没有任何数据可供显示
开源项目社区 | 当前位置 : |
|
www.trustie.net/open_source_projects | 主页 > 开源项目社区 > posetbasedrecommender |
posetbasedrecommender
|
0 | 0 | 8 |
贡献者 | 讨论 | 代码提交 |
A recommender made in Java that uses a partially ordered set of preferences rather than stars, thumbs ups, etc.
Current Under-specified GoalsItems and users will be in many different multi-dimensional spaces. Each space will correspond to a property. The distance between an item and a person will be meaningless on its own, but the distance compared to other distances from the same user indicate relative strength of the property in the item as the user sees it. So if A is closer to me in the X space than B, then we can infer that: I think A is more X than B. You can then define your own X properties. An important common one will be "Good", but could be "Difficult", if comparing levels in a game, or "Cheesy" if comparing movies.
An interface can then be made where someone can search for items based on properties and combinations of properties. I'm imagining a series of dials where, for instance, I can turn up the "scary", "funny", "magical", and "good" dials, and turn down the "confusing", "sad", and "sucky" dials. This will give widely different answers for different people based on how they are using the word. You could also do multiuser queries in the same way. For instance, find a movie that each person in a family will like, but especially the kids.
Benefits of using Posets1) Can extract preference orders from star rating, thumbs ups, etc.
2) Allows users to stay agnostic to the order of items that have been compared to others. For instance, say you like the bands:
Explosions in the Sky (ES), Cyann and Ben (CB), HORSE the band (HB), and Dethklok (DK). It may be difficult to compare across genres yet you might have clear ranking within genres.
With a poset of preferences you can say: ES betterThan CB, HB betterThan DK
But with star ratings, you are forced to put all 4 on a line, fully ordered.
3) Different rating styles/criterions don't effect the results. So if you rate easier than me, only the actual ordering is taken into account.
Interesting Side-effectGiven a regular rectangular space, if we try to put all the points at distances that satisfy the user poset we get a problem-like situation. If we predict by "most good" we will get different answers than "least bad". This inconsistency seems to be a problem. A solution is to have the nodes exist in the surface of a ball instead. I can hopefully explain this better later (and on a different page) but it has to do with the fact that there is a furthest away position in a sphere, but there are still no boundaries. The unfortunate consequence is that the math gets much much more difficult, which will almost definitely slow things down even more.
Some helpful sites for dealing with multidimensional spheres. Please tell me if you know others.
http://en.wikipedia.org/wiki/N-sphere http://www.geomidpoint.com/calculation.html