Sé que esto es una vieja pregunta, pero como he encontrado a través de Google, creo que vale la pena mencionar algo como Context Free Grammars, además de Markov Chains.
Mi comprensión de las Cadenas de Markov es que crean el "siguiente" elemento de forma probabilística solo según el elemento "actual". Quizás estoy equivocado, pero no veo cómo esto garantizaría que el resultado siguiera las reglas gramaticales.
Por ejemplo, generalmente veo las cadenas de Markov sugeridas como una forma de crear palabras que "suenan en inglés". Si crea una cadena de Markov utilizando letras de un conjunto de datos de palabras en inglés, la salida sería una palabra que suena en inglés, pero no necesariamente sería una palabra real. Creo que lo mismo podría decirse de las oraciones; puede generar algo que suene bien, pero puede no ser una oración gramaticalmente correcta.
Gramáticas de contexto libre (¿o posiblemente también gramáticas regulares?) Podría ser un mejor candidato, ya que generan oraciones de acuerdo con un conjunto de reglas definido. Y sería fácil llenarlo con sus propias palabras, como lo pide la pregunta original. La desventaja es que necesita definir estas reglas usted mismo, en lugar de confiar en un conjunto de datos. Ha pasado mucho tiempo desde que utilicé una gramática para generar una oración en inglés, así que no recuerdo lo difícil que fue obtener respuestas buenas/variadas.
nota para mí: envíe la respuesta antes de hacer la búsqueda en Google. –