The Bayesian Case Model: A Generative Approach for Case-Based Reasoning and Prototype Classification