A modular adversarial approach to social recommendation