Contrata una cantidad infinita de monos. Además de las obras completas de Shakespeare, obtendrás un número infinito de Haikus.
Jon B
1
@Jon B: Pero eso llevaría muchísimo tiempo.
Bill the Lizard
+1 para la pregunta y los comentarios hasta ahora.
Michael Haren
1
@Bill, si tuvieras una cantidad infinita de tiempo, solo necesitarías contratar un mono muy saludable. Si contrata un número infinito de monos, su literatura se producirá a un ritmo limitado sólo por la velocidad de escritura de un mono particularmente brillante.
joeforker
1
@Darknight, bueno porque los Haikus, por definición, se componen de 17 moras y el número de moras (u ons) es finito. Por lo tanto, el número de combinaciones, que posiblemente sea menor que el número de Haikus reales, es número_de_moras ^ 17. Esto es solo en lo que respecta a la representación escrita del Haiku, no a su significado. (El número de significados podría ser infinito, incluso para un número mucho menor de haikus, sin embargo, no se solicitó escribir un programa que interprete un haiku, sino que solo lo escriba)
Unrazon
Respuestas:
19
No lo intentes La
poesía no se mezcla bien
Con metal y bits
Más en serio, un buen haiku (e incluso un mal haiku) se trata más de condensar significado e imágenes que de contar sílabas. Generalmente también se basa en temas extraídos de la naturaleza. La generación aleatoria de palabras y el recuento de sílabas te darán un galimatías medido, pero no poesía ...
No lo sé. La búsqueda de significado en la aleatoriedad parece profundamente humana. ¿Qué es un poema al que no se le ha dado ningún significado, sino sólo el significado que le ha quitado el lector? ¿Es un modelo de humanismo secular?
joeforker
"... contar sílabas te dará un galimatías mesurado, pero no poesía". ... pensé que decir la diferencia era de lo que se trataba "leer poesía".
Mizipzor
34
Medir las sílabas
Comprender el flujo semántico
Su objetivo se puede alcanzar
Hubiera sido mucho mejor sin tu comentario. Eso es un poco como recordando que "La última frase, ya sabes, que era el remate. ¿Lo tienes?"
Mizipzor
ok, bien, borraré el comentario si borras el tuyo
Jason S
(La mía de FWIW fue la primera respuesta inteligente, así que tenía cuidado de no ser votado)
Jason S
9
Los haikus son fáciles, notaré
Soluciones bien documentadas y funciones de memoria
Son exageradas y cursis
Codificación demasiado fácil
Codifícame con un limerick, luego votaré
En Haiku Village , tenemos la tecnología para hacer esto fácilmente de varias maneras. Una idea es simplemente leer el feed global de Twitter y detectar haikus involuntarios. Dado que el back-end también tiene un diccionario, sería posible producir haikus cuestionables, pero creo que faltaría calidad.
Creo que si tuviéramos un sistema de clasificación por estrellas, supongo que el aprendizaje automático podría usarse para decidir qué es "bueno".
@bobobobo - ¡incorporado para resolver el bucle infinito!
Fenton
2
"Transmitir el estado de ánimo de uno en diecisiete sílabas es muy difícil..." (El gran John Cooper Clarke Echa un vistazo a Beasley Street , una de mis favoritas)
¿Cuánto más difícil para una computadora? La lógica no conoce estados de ánimo :)
implementar un algoritmo genético para generar haikus extraídos de un diccionario anotado con recuentos de sílabas, luego pagar a las personas para que los lean y calificarlos como la función de aptitud [Mechanical Turk ayudaría]. Con el tiempo, su programa debería desarrollar algunos buenos.
EDITAR:
un GA que necesita
evoluciona a la velocidad de la CPU
si presta atención a la aptitud
Buscaría programación sintáctica y lingüística y trataría de encontrar bibliotecas para la estructura gramatical. A partir de ahí, debería ser un paso simple agregar las restricciones de conteo de palabras y conteo de sílabas.
Algunas personas sugirieron usar un diccionario y generar secuencias de palabras usando una cadena de Markov . Esa parece una solución teóricamente viable, especialmente si usa una cadena de Markov de alto orden (no bi o trigramas).
Pero creo que en la práctica funcionaría mejor si pudieras recopilar una base de datos de haikus existentes y cambiar selectivamente palabras individuales en ellas (por ejemplo, cambiar una palabra dada por otra palabra relacionada semánticamente). Los haikus existentes te dan algún tipo de estructura y cohesión, y solo necesitas (ex-) cambiar pequeñas partes en ellos para crear un nuevo haiku (una variación del anterior).
Por supuesto, no serán haikus completamente nuevos con este método, pero al menos serán algo agradables para los lectores.
Analice los haikus existentes en un orden relacional, como la palabra xx usada después de yy n veces. Entonces, al crear, la posibilidad de que xx venga después de yy será (n / suma del recuento de todas las palabras usadas después de yy). De esta manera, se aleatorizará de forma selectiva y aún puede ser un haiku válido.
Esa es una descripción decente de la idea detrás de las cadenas de Markov. Si la palabra y viene después de la palabra x el 75% del tiempo en la fuente, se elegirá y el 75% del tiempo en la salida.
joeforker
Sin embargo, funciona mejor con conjuntos de tres palabras: qué palabra sigue a estas dos palabras.
SOLO MI OPINIÓN correcta
1
Escriba su programa para generar Haiku en japonés. Será mucho más fácil medir el recuento de sílabas, ya que se mantendrá fiel al idioma original de la poesía. Si tiene flexibilidad con el proyecto, ¿por qué no hacer el japonés original? Luego, muestre la traducción literal en inglés palabra por palabra al lado. Se verá misterioso por decir lo menos.
De todos modos, solo una visión diferente del problema.
Mi haikufunción aquí se puede contraer a solo 2 líneas, sin contar las importaciones.
PaulMcG
0
Comenzaría con algún tipo de archivo de diccionario que contenga un recuento de sílabas de cada palabra. Luego elija palabras que sumen las sílabas / línea requeridas
En cuanto a hacerlo poesía, y no solo palabras al azar, no tengo idea.
Desde el sude semántico de la historia, use muestreo y transformación de Fourier. Elija partes significativas de una descripción detallada reducida en palabras simples y deje que un lector llene los espacios con su propia imaginación
Explique cómo se puede deconstruir una historia como una suma de ondas seno o coseno de varias frecuencias.
joeforker
bueno, ¿cuál es la idea de muestreo? muestrear la señal con una frecuencia que sea al menos el doble de la frecuencia más alta en el rango de interés. si tiene información discreta extraída de esta manera, puede reconstruir la entrada analógica sin ninguna pérdida (en el rango interesado)
Boris Pavlović
De manera análoga a esto, coge verbos, sustantivos y adjetivos significativos que son piedras angulares en alguna descripción y deja todo lo demás. componga estas palabras en matrices significativas y obtendrá haiku
Boris Pavlović
0
El algoritmo para hacer que una computadora genere un haiku de alta calidad funciona así:
Fase de configuración
loop:
find the email address of a world-renowned writer of haiku
confirm that this person is willing to generate haiku on demand
until sucker^H^H^H^H^H^Hwriter is found
Fase de ejecución
loop:
wait for a haiku request
when a haiku request is received, email the previously-stored master and ask for a haiku
wait for the haiku to return by reply
output haiku
Por supuesto, hay varias mejoras que se pueden realizar en esta arquitectura fundamental. Por ejemplo, la fase de configuración se puede extender para configurar un grupo de expertos en haiku. La fase de ejecución se puede utilizar para generar haiku durante los tiempos de inactividad y almacenarlos en caché contra la demanda futura. Los detalles de tales ajustes se dejan como ejercicio para el estudiante.
Amo esta pregunta Es muy imaginativo. Responda abajo.
Mucha gente ha sugerido cadenas de Markov, pero realmente no creo que sea posible. Necesitas saber inteligentemente si la sílaba es un FONEMAS, entonces tienes que saber dónde termina la sílaba.
Respuestas:
No lo intentes La
poesía no se mezcla bien
Con metal y bits
Más en serio, un buen haiku (e incluso un mal haiku) se trata más de condensar significado e imágenes que de contar sílabas. Generalmente también se basa en temas extraídos de la naturaleza. La generación aleatoria de palabras y el recuento de sílabas te darán un galimatías medido, pero no poesía ...
fuente
Medir las sílabas
Comprender el flujo semántico
Su objetivo se puede alcanzar
fuente
Primero, querrá mirar las cadenas de Markov , y segundo, hay un libro sobre poesía generada por computadora llamado Virtual Muse .
fuente
fuente
Los haikus son fáciles, notaré
Soluciones bien documentadas y funciones de memoria
Son exageradas y cursis
Codificación demasiado fácil
Codifícame con un limerick, luego votaré
// De hecho, me gustan los haikus
fuente
note
yvote
?No todos los haikus tienen el mismo número de sílabas, pero es un punto de partida.
En términos de elegir realmente las palabras, creo que las partes del discurso no serían el lugar donde comenzaría. En cambio, miraría las cadenas de Markov y entrenaría su vocabulario sobre los haikus existentes.
fuente
En Haiku Village , tenemos la tecnología para hacer esto fácilmente de varias maneras. Una idea es simplemente leer el feed global de Twitter y detectar haikus involuntarios. Dado que el back-end también tiene un diccionario, sería posible producir haikus cuestionables, pero creo que faltaría calidad.
Creo que si tuviéramos un sistema de clasificación por estrellas, supongo que el aprendizaje automático podría usarse para decidir qué es "bueno".
fuente
fuente
"Transmitir el estado de ánimo de uno en diecisiete sílabas es muy difícil..." (El gran John Cooper Clarke Echa un vistazo a Beasley Street , una de mis favoritas)
¿Cuánto más difícil para una computadora? La lógica no conoce estados de ánimo :)
fuente
Para hacerlo legible, separe el diccionario en Sustantivos, Verbos, Adjetivos, con el conteo de sílabas.
Crea algunas plantillas del formulario:
[Sustantivo] [Verbo] "s"
[Verbo] a (n) [Adjetivo] [Sustantivo]
[adjetivo] [sustantivo]
y recorta tus diccionarios a las hermosas palabras.
fuente
implementar un algoritmo genético para generar haikus extraídos de un diccionario anotado con recuentos de sílabas, luego pagar a las personas para que los lean y calificarlos como la función de aptitud [Mechanical Turk ayudaría]. Con el tiempo, su programa debería desarrollar algunos buenos.
EDITAR:
un GA que necesita
evoluciona a la velocidad de la CPU
si presta atención a la aptitud
fuente
Su programa debe asimilar las
metáforas y las imágenes
y ser creativo.
fuente
Buscaría programación sintáctica y lingüística y trataría de encontrar bibliotecas para la estructura gramatical. A partir de ahí, debería ser un paso simple agregar las restricciones de conteo de palabras y conteo de sílabas.
fuente
Algunas personas sugirieron usar un diccionario y generar secuencias de palabras usando una cadena de Markov . Esa parece una solución teóricamente viable, especialmente si usa una cadena de Markov de alto orden (no bi o trigramas).
Pero creo que en la práctica funcionaría mejor si pudieras recopilar una base de datos de haikus existentes y cambiar selectivamente palabras individuales en ellas (por ejemplo, cambiar una palabra dada por otra palabra relacionada semánticamente). Los haikus existentes te dan algún tipo de estructura y cohesión, y solo necesitas (ex-) cambiar pequeñas partes en ellos para crear un nuevo haiku (una variación del anterior).
Por supuesto, no serán haikus completamente nuevos con este método, pero al menos serán algo agradables para los lectores.
fuente
Analice los haikus existentes en un orden relacional, como la palabra xx usada después de yy n veces. Entonces, al crear, la posibilidad de que xx venga después de yy será (n / suma del recuento de todas las palabras usadas después de yy). De esta manera, se aleatorizará de forma selectiva y aún puede ser un haiku válido.
fuente
Escriba su programa para generar Haiku en japonés. Será mucho más fácil medir el recuento de sílabas, ya que se mantendrá fiel al idioma original de la poesía. Si tiene flexibilidad con el proyecto, ¿por qué no hacer el japonés original? Luego, muestre la traducción literal en inglés palabra por palabra al lado. Se verá misterioso por decir lo menos.
De todos modos, solo una visión diferente del problema.
fuente
Secuencias de Markov
Una base de datos silábica
Tres líneas de Python
fuente
haiku
función aquí se puede contraer a solo 2 líneas, sin contar las importaciones.Comenzaría con algún tipo de archivo de diccionario que contenga un recuento de sílabas de cada palabra. Luego elija palabras que sumen las sílabas / línea requeridas
En cuanto a hacerlo poesía, y no solo palabras al azar, no tengo idea.
fuente
Además de utilizar la idea de Ian sobre el conteo de sílabas, podrías categorizar las palabras por parte del discurso y generar frases.
fuente
Desde el sude semántico de la historia, use muestreo y transformación de Fourier. Elija partes significativas de una descripción detallada reducida en palabras simples y deje que un lector llene los espacios con su propia imaginación
fuente
El algoritmo para hacer que una computadora genere un haiku de alta calidad funciona así:
Fase de configuración
Fase de ejecución
Por supuesto, hay varias mejoras que se pueden realizar en esta arquitectura fundamental. Por ejemplo, la fase de configuración se puede extender para configurar un grupo de expertos en haiku. La fase de ejecución se puede utilizar para generar haiku durante los tiempos de inactividad y almacenarlos en caché contra la demanda futura. Los detalles de tales ajustes se dejan como ejercicio para el estudiante.
fuente
Amo esta pregunta Es muy imaginativo. Responda abajo.
Mucha gente ha sugerido cadenas de Markov, pero realmente no creo que sea posible. Necesitas saber inteligentemente si la sílaba es un FONEMAS, entonces tienes que saber dónde termina la sílaba.
Si alguna vez hicieras esto, me sorprendería.
fuente