So che questa è una vecchia questione, ma come ho scoperto tramite Google penso che valga la pena menzionare qualcosa come Context Free Grammars oltre alle catene di Markov.
La mia comprensione delle catene di Markov è che creano il "prossimo" elemento in modo probabilistico solo in base a ciò che è l'elemento "corrente". Forse mi sbaglio, ma non vedo come ciò assicurerebbe che il risultato segua le regole grammaticali.
Per esempio, di solito vedo le catene di Markov suggerite come un modo di creare parole "suono inglese". Se crei una catena di Markov usando lettere da un set di dati di parole inglesi, l'output sarebbe una parola che suona inglese, ma non sarebbe necessariamente una parola reale. Credo che lo stesso valga per le frasi: puoi generare qualcosa che può sembrare ok, ma potrebbe non essere una frase grammaticalmente corretta.
Le grammatiche libere di contesto (o forse anche grammatiche regolari?) Potrebbero essere un candidato migliore, poiché generano frasi in base a un set di regole definito. E sarebbe facile popolarlo con le tue parole, come richiede la domanda originale. Il rovescio della medaglia è che è necessario definire queste regole da soli, piuttosto che fare affidamento su un set di dati. È passato molto tempo da quando ho usato una grammatica per generare una frase inglese, quindi non ricordo quanto fosse difficile ottenere risposte buone/varie.
nota a sé: invia la risposta prima di fare la ricerca su Google. –