Estoy trabajando en un generador de historias simple y estoy buscando algoritmos y patrones de creación de historias para usar en mi diseño. Alguien tiene algunas buenas recomendaciones?Story telling/building algorithms?
Respuesta
Roger Schank y sus alumnos (Wendy Lehnert, Robert Wilensky) hicieron un gran trabajo en la comprensión y generación de historias del lenguaje natural en Yale a fines de la década de 1970 y principios de la década de 1980 en un contexto de inteligencia artificial.
Una buena y reciente lista de obras está en http://xenia.media.mit.edu/~mueller/storyund/storyres.html
antropólogos y la gente de literatura comparada han intentado derivar "gramáticas de la historia" para la gente lleva por todo el mundo. No puedo proporcionar ninguna cita a este cuerpo de trabajo, pero parece que la lista MIT nombra algunos libros.
Tenga en cuenta que la gente de Yale tenía grandes problemas con la idea de las gramáticas de la historia.Un excelente resumen del argumento es Wilensky "Story Grammars or Story Points" Behavior and Brain Sciences 1983 vol 6 no 4. No puedo encontrarlo en línea de forma gratuita, pero si estás en una universidad decente, tu bibliotecario de referencia debería poder para encontrarlo para ti.
También encontré http://www.rehabmed.ualberta.ca/spa/enni/story_grammar.htm que parece interesante.
Finalmente, es posible que desee hacer una búsqueda de "Ficción interactiva". En el pasado, la Sociedad de Ficción Interactiva tenía personas trabajando en esta área. No tengo idea si alguno de ellos todavía está por aquí.
Esto puede no ser lo que estás buscando, pero ¿has pensado en uno de esos mecanismos para contar historias que te permiten elegir qué sucederá después en una historia? Su tipo de un patrón y hace que sea más divertido para el usuario :)
Knuth, El Arte de la Programación de Computadoras, Volumen 2, Seminumerical Algoritmos. Sección 3.6, Resumen. Ejercicio 5, "Escritura creativa por computadora". Páginas 158-160.
Lea la literatura que define claramente qué elementos se pueden encontrar en una historia. Rompe el problema desde allí.
Por ejemplo, podría hacer un "generador de introducción", "generador de parte media" y "generador de final". En cada uno de estos generadores podrías usar otros subgeneradores.
Ejemplo:
- generador de secuencias de acción
- Descripción Medio Ambiente generador
- generador de drama
Que sea guión basado modo que usted puede personalizar sus patrones sin recompilar.
carga texto de archivos de datos, etc, etc
La lista sigue y sigue =)
Alternativamente, usted podría mirar a algunos paradigmas de AI- realidad material de alta tecnología.
Mire Petri nets.
Si utiliza un enfoque basado en objetivos, en el que cada segmento potencial de una historia tiene que cumplirse para que tenga sentido y los objetivos que produce el segmento, puede escribir un algoritmo para recombinarlos en formas significativas
¿Cuál es la moraleja de la historia? ;-) Y en serio, ¿en qué basas la historia? Natural Language Generation es un tema fascinante. Ehud Reiter ha escrito a book al respecto. Para aplicaciones simples, puede usar un Hidden Markov Model o un Stochastic CFG.
Usted probablemente querrá echar un vistazo a, por ejemplo, Propps narrathemes u otras estructuras narrativas, escribir diferentes secciones y combinarlas aleatoriamente como this fairy tale generator
Desafortunadamente, el enlace al generador de cuento de hadas está roto. :-( –
se ha hecho un enlace a un archivo de trabajo –
Para tener una idea de uno de los enfoques que se ha desarrollado a lo largo de varios años , eche un vistazo al trabajo de Chris Crawford al Storytron y lea su libro Chris Crawford sobre la narración interactiva online at Safari.
gracias! Es un sistema muy interesante. Algo parecido a lo que estoy probando –
El List of Story Generator Algorithms (2013) tiene una buena visión general del sistema histórico y una tipología de enfoques.
Gran parte del trabajo en esta área ha sido académico, y el código fuente es difícil de obtener (en mi experiencia).
- 1. Hadoop Map Reduce: Algorithms
- 2. DSP Algorithms Book
- 3. Cómo cambiar para usar Story Points para estimaciones en Scrum
- 4. ¿Por qué usar HTTP PUT y DELETE métodos en lugar de POST?
- 5. ZEND, Editar formulario
- 6. ¿Qué hace una O exclusiva de bit a bit en Java?
- 7. Cómo adjuntar datos a jquery tmpl
- 8. ¿Cómo verificar si un DateTime ocurre hoy?
- 9. ¿Por qué git-svn dcommit deja commits duplicados en mi git repo? ¿Puedo detenerlo haciendo eso?
- 10. Entity Framework: evitar la inserción de duplicados
- 11. ¿Puede jQuery. Cargar agregar en lugar de reemplazar?
- 12. Paperclip (3.0) y barandas (3.2): f.file_field pierde ruta del archivo en el 'nuevo' acción después de un error de validación
- 13. Símbolos matemáticos en los listados
- 14. ¿Cómo eliminar las entradas duplicadas de una matriz?
- 15. mapeo @ManyToOne no puede guardar ID padres
- 16. Falta la palabra clave_end en el procesamiento de la plantilla parcial de haml
- 17. PHP carga XML en el objeto
- 18. Cambiar valor de elemento de nodo XML en PHP y guardar el archivo
- 19. Adición de HTML a mi feed RSS/Atom en Rails
- 20. Resolución de instancias con delegados en la unidad
- 21. ¿Cómo puedo adivinar un algoritmo de suma de comprobación?
- 22. Selección del campo de nombre de autor de la fuente Atom utilizando LINQ (C#)
- 23. Cakephp Guardar con una tabla donde la clave principal no es 'id'
- 24. Cabal Actualizar y del paquete Errores de instalación
- 25. Pros y contras del uso de guiones gráficos
- 26. ¿Hay alguna biblioteca C de código abierto con estructuras de datos comunes?
- 27. lista Mover elemento al final de STL
- 28. ¿Qué es más costoso, comparación o asignación?
- 29. atributo desconocido: USER_ID
- 30. ¿Cómo puedo hacer una verificación de tipo en MongoDB?
¿Has llegado a algún lado con tu generador? –