Optimizing top-n collaborative filtering via dynamic negative item sampling | Synapse