Existe-t-il des moteurs d'analyse de texte de fiction interactifs que je peux intégrer dans un autre jeu ou application?
Je cherche à utiliser quelque chose comme bibliothèque. Je peux lui passer les objets et les verbes disponibles de mon côté. Il analysera les phrases de l'utilisateur et me rendra une sorte de structure / AST décrivant ce que l'utilisateur a demandé. Ensuite, mon propre code peut alors donner suite à cette demande.
Je n'ai pas besoin de quelque chose de niveau SIRI. Les phrases et actions simples que les jeux IF actuels prennent en charge sont correctes. Mais je ne cherche pas à écrire un analyseur de texte / phrase entier moi-même.
Ce n'est pas un jeu If et je ne peux pas l'écrire entièrement dans un langage de fiction interactif comme Inform 7. Malheureusement, je ne trouve aucun exemple de personne utilisant les capacités d'analyse de texte de ces moteurs sans écrire l'intégralité jeu dans le langage de ce moteur.
la source
Réponses:
C'est une question délicate. Il est possible d'extraire la fonctionnalité d'analyse de texte d'un des nombreux moteurs IF écrits dans des langages de programmation à usage général (c'est-à-dire pas quelque chose comme Inform). Certaines possibilités pourraient être Pyf , et le moteur de la tante et du majordome . Si vous étendez votre recherche aux boues, vous aurez un ordre de grandeur plus de choix (voici les listes des boues open source et des boues Python en particulier).
Cependant, la partie délicate, et d'après votre question, vous comprenez cela, est de résoudre l'analyse dans le contexte du monde du jeu. C'est la partie difficile, et quelque chose comme OpenNLP ne vous y arrivera malheureusement pas. Le problème est que ces moteurs IF et ces boues ont chacun leur propre façon de le faire et il peut être difficile de se réconcilier avec la façon dont vous avez conçu votre modèle mondial.
Heureusement, il existe de nombreuses ressources pour écrire un analyseur et un résolveur efficaces. Je vais juste vous jeter des liens,
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
la source
Serait-ce utile à votre projet? Je crois que ce que vous demandez est la PNL et IF n'est qu'un cas d'utilisation spécifique.
http://opennlp.apache.org/
Eh bien, si vous souhaitez vérifier que la combinaison correcte d'un nom et d'un verbe a été trouvée dans la phrase et pas tant sur la structure, la grammaire et d'autres aspects:
Je suggère de télécharger ce http://wordnet.princeton.edu/wordnet/
Vous pouvez l'utiliser pour vérifier s'il existe un synonyme pour le verbe et le nom que vous recherchez dans une phrase sans avoir à saisir manuellement tous les synonymes viables pour chaque mot.
Si vous souhaitez voir le code source du jeu d'aventure texte qui a été récemment publié, vous pouvez trouver des jeux ici (appuyez simplement sur Ctrl + F) et tapez du texte
http://en.wikipedia.org/wiki/List_of_open-source_video_games
Il existe également une liste de moteurs de jeu Text Adventure ici:
http://en.wikipedia.org/wiki/Category:Text_adventure_game_engines
Si vous avez besoin de quelque chose de plus, veuillez préciser.
la source