1. In a dialog system for conducting a dialog in a natural language between a virtual agent and a user, a method comprising: receiving human-generated utterances in the form of speech or text; predicting a current dialog state based on the utterances; generating a semantic representation of a next utterance, based on the current dialog state, the semantic representation including a sequence of characters; and generating a target sequence in a natural language from the semantic representation, comprising: after generating the semantic representation, adapting a target background model, built from a vocabulary of words, to form an adapted background model, which accepts all subsequences of the semantic representation; representing the semantic representation as a sequence of character embeddings; with an encoder, encoding the character embeddings to generate a set of character representations; and with a decoder, generating a target sequence of characters, based on the set of character representations, wherein at a plurality of time steps, a next character in the target sequence is a function of a previously generated character of the target sequence and the adapted background model; and outputting the target sequence.