use logging in recommendation module
fix requirements: numpy