Pregunta

Soy visto muchos ejemplos de uso Las cadenas de Markov para la generación aleatoria de palabras basado en los datos de origen, pero a menudo se parecen un poco demasiado mecánico y abstracto para mí.Estoy tratando de desarrollar una mejor.

Creo que parte del problema es que se basan totalmente en el conjunto de la estadística de aparición de pares, y de ignorar la tendencia de las palabras de inicio y de fin en ciertas maneras.Por ejemplo, si utiliza el top 1000 nombres para el bebé como fuente de datos, la letra J es relativamente rara en general, sin embargo, es el segundo más común de la letra de los nombres de inicio con.O, si usted está utilizando latina fuente de datos, las terminaciones de las palabras como -um y nos sería común terminaciones, pero no es tan común si se tienen en cuenta todos los pares de la misma.

Por lo tanto, estoy básicamente tratando de armar una cadena de Markov basado palabra generador que tiene en cuenta la manera en palabras de inicio y de fin en la fuente de datos.

Conceptualmente, que tiene sentido para mí, pero no puedo averiguar cómo implementar esto desde un punto de vista del software.Estoy tratando de armar un poco de PHP herramienta que le permite colocar en la fuente de datos (por ejemplo, una lista de 1000 palabras) a partir de la cual se generará entonces una variedad de palabras al azar, con el realista se inicia, intermedios y finales.(En contraposición a la mayoría de Markov basado en la palabra de los generadores, que son, sólo se basa en la estadística de la ocurrencia de los pares en general.)

También me gustaría hacer esto con la palabra de longitud determinada por la fuente de datos, si es posible;es decir, la longitud de la ruptura de los generados al azar de las palabras debe ser aproximadamente la misma que la longitud de ruptura de la fuente de datos.

Cualquier idea será enormemente apreciada!Gracias.

¿Fue útil?

Solución

La parte acerca de no respetar el común de los comienzos y los finales no es realmente cierto si se considera "espacio entre las palabras" ser un símbolo -- puntos de partida comunes se tienen las frecuencias altas después de "el espacio entre las palabras" y terminaciones común tendrá las frecuencias altas anterior a "el espacio entre las palabras".Corregir la longitud de la palabra también se asienta fuera de que más o menos naturalmente, la media del número de letras que de salida antes de la transición a un "espacio entre las palabras" símbolo debe ser igual a la media del número de letras por palabra en los datos de entrenamiento, aunque algo en el fondo de mi mente me está diciendo que la distribución puede estar apagado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top