NeuPSL: Neural Probabilistic Soft Logic