¿Existen motores de análisis de texto de ficción interactivos existentes que pueda insertar en otro juego o aplicación?
Estoy buscando usar algo como una biblioteca. Puedo pasarle los objetos y verbos disponibles desde mi propio lado. Analizará las oraciones del usuario y me devolverá algún tipo de estructura / AST que describa lo que solicitó el usuario. Entonces mi propio código puede actuar sobre esa solicitud.
No necesito algo de nivel SIRI. Las oraciones y acciones simples que soportan los juegos IF actuales están bien. Pero no estoy buscando escribir un analizador de texto / oración completo.
Este no es un juego If y no puedo escribirlo completamente en un lenguaje de ficción interactiva como inform 7. Desafortunadamente, parece que no puedo encontrar ningún ejemplo de alguien que use las capacidades de análisis de texto de estos motores sin escribir todo juego en el lenguaje de ese motor.
fuente
Respuestas:
Esta es una pregunta difícil. Es posible extraer la funcionalidad de análisis de texto de uno de varios motores IF escritos en lenguajes de programación de uso general (es decir, no como Inform). Algunas posibilidades pueden ser Pyf y el motor de tía y mayordomo . Si amplía su búsqueda a lodos, tendrá un orden de magnitud más opciones (aquí hay listas de lodos de código abierto y específicamente de lodos de Python ).
Sin embargo, la parte difícil, y desde tu pregunta, entiendes esto, es resolver el análisis en el contexto del mundo del juego. Esta es la parte difícil y, desafortunadamente, algo como OpenNLP no lo llevará allí. El problema es que estos motores y lodos IF tienen su propia forma de hacerlo y puede ser difícil conciliar con la forma en que está diseñado su modelo mundial.
Afortunadamente, hay muchos recursos para escribir un analizador y un solucionador efectivos. Solo voy a arrojarte algunos enlaces,
http://www.mudbytes.net/topic-1838
http://www.mudbytes.net/topic-2962
http://www.mudbytes.net/topic-2038
http://www.mud.co.uk/richard/commpars.htm
http://groups.google.com/group/rec.arts.int-fiction/msg/f545963efb72ec7b?dmode=source
http://www.intfiction.org/forum/viewtopic.php?f=38&t=4205#p30260
http://www.tads.org/t3doc/doc/libref/source/parser.t.html
http://www.tads.org/t2doc/doc/prsseq.htm
http://www.dnd.utwente.nl/~krimud/Docs/NMAdmin/Parser/
https://groups.google.com/forum/?fromgroups#!searchin/rec.arts.int-fiction/writing $ 20a $ 20parser / rec.arts.int-fiction / VpsWZdWRnlA / 2mf5y25xk7MJ
https://groups.google.com/forum/?fromgroups#!searchin/rec.arts.int-fiction/writing $ 20a $ 20parser / rec.arts.int-fiction / EfxdLAc5Tmo / Fn5CEQvZCGsJ
http://ifwiki.org/index.php/Past_raif_topics:_Development:_part_2#Parsing
https://groups.google.com/forum/?fromgroups#!topic/rec.arts.int-fiction/HJPrqQ8l9u0
http://www.kotancode.com/2012/02/15/scalamud-scala-java-nlp/
https://groups.google.com/forum/?fromgroups#!topic/rec.arts.int-fiction/to4Ut4r_qCs
http://effbot.org/zone/simple-top-down-parsing.htm
http://www.skotos.net/articles/dawnof09.shtml
http://www.skotos.net/articles/dawnof22.shtml
http://discworld.starturtle.net/lpc/playing/documentation.c?path=/concepts/parser
http://disinterest.org/resource/MUD-Dev/1999q2/010160.html
fuente
¿Sería esto útil para su proyecto? Creo que lo que está pidiendo es PNL e IF es solo un caso de uso específico.
http://opennlp.apache.org/
Bueno, si desea comprobar que se encontró la combinación correcta de un sustantivo y un verbo en la oración y no tanto sobre la estructura, la gramática y otros aspectos:
Sugiero descargar este http://wordnet.princeton.edu/wordnet/
Podría usarlo para verificar básicamente si existe un sinónimo tanto para el verbo como para el sustantivo que está buscando en una oración sin tener que escribir manualmente todos los sinónimos viables para cada palabra.
Si desea ver el código fuente del juego de aventura de texto que se lanzó recientemente, puede encontrar algunos juegos aquí (simplemente presione Ctrl + F) y escriba texto
http://en.wikipedia.org/wiki/List_of_open-source_video_games
También hay una lista de motores de juegos de Text Adventure aquí:
http://en.wikipedia.org/wiki/Category:Text_adventure_game_engines
Si necesita algo más, por favor explique.
fuente