Improving Chess Commentaries by Combining Language Models with Symbolic Reasoning Engines