Gibt es interaktive Textanalyse-Engines, die ich in ein anderes Spiel oder eine andere Anwendung einbetten kann?
Ich möchte etwas als Bibliothek benutzen. Ich kann ihm die verfügbaren Objekte und Verben von meiner eigenen Seite übergeben. Es analysiert die Sätze des Benutzers und gibt mir eine Art Struktur / AST zurück, die beschreibt, wonach der Benutzer gefragt hat. Dann kann mein eigener Code auf diese Anfrage reagieren.
Ich brauche kein SIRI-Level. Die einfachen Sätze und Aktionen, die aktuelle IF-Spiele unterstützen, sind in Ordnung. Aber ich möchte selbst keinen ganzen Text- / Satz-Parser schreiben.
Dies ist kein If-Spiel und ich kann es nicht vollständig in einer interaktiven Fiktionssprache wie inform 7 schreiben. Leider kann ich anscheinend keine Beispiele für jemanden finden, der die Textanalysefunktionen dieser Engines verwendet, ohne das gesamte zu schreiben Spiel in der Sprache dieser Engine.
quelle
Antworten:
Das ist eine knifflige Frage. Es ist möglich, die Funktion zum Parsen von Text aus einer Reihe von IF-Modulen zu extrahieren, die in allgemeinen Programmiersprachen (also nicht so etwas wie Inform) geschrieben sind. Einige Möglichkeiten könnten Pyf und der Motor von Tante und Butler sein . Wenn Sie Ihre Suche auf Schlämme ausweiten, haben Sie eine Größenordnung mehr Auswahlmöglichkeiten (hier sind Listen von Open-Source-Schlämmen und speziell von Python-Schlämmen ).
Wie auch immer, der schwierige Teil, und aus Ihrer Frage, die Sie verstehen, besteht darin, die Analyse im Kontext der Spielwelt aufzulösen. Dies ist der schwierige Teil, und so etwas wie OpenNLP bringt Sie leider nicht dorthin. Das Problem ist, dass diese ZF-Motoren und Schlämme jeweils ihre eigene Vorgehensweise haben und es schwierig sein kann, sich mit dem Design Ihres Weltmodells abzustimmen.
Glücklicherweise gibt es viele Ressourcen, um einen effektiven Parser und Resolver zu schreiben. Ich werde nur ein paar Links auf dich werfen,
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
quelle
Wäre dies für Ihr Projekt nützlich? Ich glaube, Sie fordern NLP und IF ist nur ein konkreter Anwendungsfall.
http://opennlp.apache.org/
Nun, wenn Sie überprüfen möchten, ob im Satz die richtige Kombination aus einem Substantiv und einem Verb gefunden wurde und nicht so sehr mit Struktur, Grammatik und anderen Aspekten:
Ich schlage vor, diese http://wordnet.princeton.edu/wordnet/ herunterzuladen
Sie können damit im Grunde prüfen, ob ein Synonym für das gesuchte Verb und das gesuchte Substantiv in einem Satz vorhanden ist, ohne alle verfügbaren Synonyme für jedes Wort manuell eingeben zu müssen.
Wenn Sie den kürzlich veröffentlichten Quellcode eines Text-Abenteuerspiels sehen möchten, finden Sie hier einige Spiele (drücken Sie einfach Strg + F) und geben Sie Text ein
http://en.wikipedia.org/wiki/List_of_open-source_video_games
Hier finden Sie auch eine Liste der Text Adventure-Spiele-Engines:
http://en.wikipedia.org/wiki/Category:Text_adventure_game_engines
Wenn Sie etwas mehr benötigen, erläutern Sie dies bitte.
quelle