Correlated discrete data generation using adversarial training