item similarity by bipartite graph dispersion by Mat Kelcey.
From the post:
the basis of most recommendation systems is the ability to rate similarity between items. there are lots of different ways to do this.
one model is based the idea of an interest graph where the nodes of the graph are users and items and the edges of the graph represent an interest, whatever that might mean for the domain.
if we only allow edges between users and items the graph is bipartite.
As Mat says, there are lots of ways to judge similarity.
How “similar” two subject representatives need be to represent the same subject is also wide open.
For reliable interchange, however, it is best that you declare (disclose) your similarity measure and what happens when it is met.
The Topic Maps Data Model declares similarity based on matching IRIs within sets of IRIs and prescribes what follows when matches are found. If you need an example of disclosure.