Papers › Sapling Similarity: a performing and interpretable memory-based tool for recommendation
Sapling Similarity: a performing and interpretable memory-based tool for recommendation
Giambattista Albora, Lavinia Rossi-Mori, Andrea Zaccaria
Many bipartite networks describe systems where an edge represents a relation between a user and an item. Measuring the similarity between either users or items is the basis of memory-based collaborative filtering, a widely used method to build a recommender system with the purpose of proposing items to users. When the edges of the network are unweighted, the popular common neighbors-based approaches, allowing only positive similarity values, neglect the possibility and the effect of two users (or two items) being very dissimilar. Moreover, they underperform with respect to model-based (machine learning) approaches, although providing higher interpretability. Inspired by the functioning of Decision Trees, we propose a method to compute similarity that allows also negative values, the Sapling Similarity. The key idea is to look at how the information that a user is connected to an item influences our prior estimation of the probability that another user is connected to the same item: if it is reduced, then the similarity between the two users will be negative, otherwise, it will be positive. We show that, when used to build memory-based collaborative filtering, Sapling Similarity provides better recommendations than existing similarity metrics. Then we compare the Sapling Similarity Collaborative Filtering (SSCF, a hybrid of the item-based and the user-based) with state-of-the-art models using standard datasets. Even if SSCF depends on only one straightforward hyperparameter, it has comparable or higher recommending accuracy, and outperforms all other models on the Amazon-Book dataset, while retaining the high explainability of memory-based approaches.
Code
Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.
Code Syntology ran Syntology
Not run by Syntology. Nothing on this page verifies that the listed code works.
Tasks
Results from the paper archive 2025-07-28
| Task | Dataset | Model | Metric | Value | Rank at snapshot | Leaderboard | Report |
|---|---|---|---|---|---|---|---|
| Recommendation Systems | Amazon-Book | SSCF | Recall@20 | 0.0773 | #1 of 16 | Archive leaderboard | report |
| Recommendation Systems | Amazon-Book | SSCF | nDCG@20 | 0.0647 | #1 of 16 | Archive leaderboard | report |
| Recommendation Systems | Gowalla | SSCF | Recall@20 | 0.1775 | #11 of 13 | Archive leaderboard | report |
| Recommendation Systems | Gowalla | SSCF | nDCG@20 | 0.1390 | #11 of 13 | Archive leaderboard | report |
| Recommendation Systems | Yelp2018 | SSCF | NDCG@20 | 0.0542 | #9 of 11 | Archive leaderboard | report |
| Recommendation Systems | Yelp2018 | SSCF | Recall@20 | 0.0664 | #9 of 11 | Archive leaderboard | report |
Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.
Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections