  Recently, graph collaborative filtering methods have been proposed as an
effective recommendation approach, which can capture users' preference over
items by modeling the user-item interaction graphs. In order to reduce the
influence of data sparsity, contrastive learning is adopted in graph
collaborative filtering for enhancing the performance. However, these methods
typically construct the contrastive pairs by random sampling, which neglect the
neighboring relations among users (or items) and fail to fully exploit the
potential of contrastive learning for recommendation. To tackle the above
issue, we propose a novel contrastive learning approach, named
Neighborhood-enriched Contrastive Learning, named NCL, which explicitly
incorporates the potential neighbors into contrastive pairs. Specifically, we
introduce the neighbors of a user (or an item) from graph structure and
semantic space respectively. For the structural neighbors on the interaction
graph, we develop a novel structure-contrastive objective that regards users
(or items) and their structural neighbors as positive contrastive pairs. In
implementation, the representations of users (or items) and neighbors
correspond to the outputs of different GNN layers. Furthermore, to excavate the
potential neighbor relation in semantic space, we assume that users with
similar representations are within the semantic neighborhood, and incorporate
these semantic neighbors into the prototype-contrastive objective. The proposed
NCL can be optimized with EM algorithm and generalized to apply to graph
collaborative filtering methods. Extensive experiments on five public datasets
demonstrate the effectiveness of the proposed NCL, notably with 26% and 17%
performance gain over a competitive graph collaborative filtering base model on
the Yelp and Amazon-book datasets respectively. Our code is available at:
https://github.com/RUCAIBox/NCL.
