Differentiable Open-Ended Commonsense Reasoning