I'm want to a recommendation engine for one of the clients to recommend products to his customers. One of the requirement is that recommendations should be explainable. i.e. Why does the recommendation engine recommend certain products to a given customer, based on which features? I'm thinking of using either hybrid models (content based and collaborative filtering) or deep and wide models. However, I'm not sure whether there is any way to identify features which drive recommendations. Are there any other models in which results are more interpretable?
This is original paper by Yehuda Koren et.al. on recommenders for implicit feedback datasets. It implements collaborative filtering method in a novel way for implicit feedback case. Section 5 of this paper gives a method for implementing explanations.
Though you will have to build the implementation yourself from their explanation. To the best of my knowledge no library implementation has explanation part inbuilt.