Detecting and explaining unfairness in consumer contracts through memory networks