Representation and Inference for Natural Language: A First Course in Computational Semantics (Studies in Computational Linguistics)