  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.
