Domanda

Sono visto molti esempi di utilizzo di Markov Cains per generare parole casuali basate sui dati di origine , Ma spesso sembrano un po 'eccessivamente meccanici e astratti a me. Sto cercando di sviluppare uno migliore.

Credo che parte del problema sia che si affidano interamente all'esame statistico generale delle coppie e ignorano la tendenza delle parole per iniziare e finire in determinati modi. Ad esempio, se si utilizzano i primi 1000 nomi dei bambini come dati di origine, la lettera J è relativamente rara nel complesso, tuttavia è la seconda lettera più comune per i nomi a avvio con. Oppure, se stai usando i dati della sorgente latina, le finestre di parole come -um e -us sarebbero comuni terminazioni , ma non così comuni se si considerano tutte le coppie uguali.

Quindi, sto fondamentalmente cercando di mettere insieme un generatore di parole a base di catena di Markov che tiene conto del modo in cui le parole iniziano e finiscono nei dati di origine.

Concettualmente, ciò ha senso per me, ma non riesco a capire come implementarlo da una prospettiva del software. Sto cercando di mettere insieme un piccolo strumento PHP che ti consente di abbandonare i dati di origine (ad esempio un elenco di 1000 parole) da cui generarà una varietà di parole casuali con avviamenti realistici, mediocre e terminazioni. (Al contrario della maggior parte dei generatori di parole basati su Markov, che sono solo basati sulla verifica statistica delle coppie in generale.)

Mi piacerebbe anche farlo con la lunghezza della parola determinata dai dati di origine, se possibile; I.e., la rottura della lunghezza delle parole generate casualmente dovrebbe essere all'incirca come la rottura della lunghezza dei dati di origine.

Qualsiasi idea sarebbe molto apprezzata! Grazie.

È stato utile?

Soluzione

La parte del non rispettare i principi comuni e i terminazioni non è effettivamente true se si considera "lo spazio tra le parole" per essere un simbolo - gli inizi comuni avranno alte frequenze dopo "spazio tra le parole" e le terminazioni comuni avranno alte frequenzeprecedendo "spazio tra le parole".La lunghezza corretta della parola si risolve anche da quella più o meno naturalmente - il numero medio di lettere che si omettiene prima di passare a uno "spazio tra parole" il simbolo dovrebbe essere uguale al numero medio di lettere per parola nei dati di formazione, anche se qualcosa inLa parte posteriore della mia mente mi sta dicendo che la distribuzione potrebbe essere spenta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top