CGMH: Constrained Sentence Generation by Metropolis-Hastings Sampling