IFテキストパーサーを別のゲームに埋め込みますか?


14

別のゲームまたはアプリケーションに埋め込むことができる既存のインタラクティブフィクションテキスト解析エンジンはありますか?

ライブラリとして何かを使用したいと考えています。利用可能なオブジェクトと動詞を自分の側から渡すことができます。ユーザーからの文を解析し、ユーザーが何を要求したかを記述する何らかの構造/ ASTを返します。その後、自分のコードがそのリクエストに基づいて行動できます。

SIRIレベルのものは必要ありません。現在のIFゲームがサポートする簡単な文とアクションは問題ありません。しかし、私はテキスト/文パーサー全体を自分で書くつもりはありません。

これはIfゲームではなく、Inform 7のようなインタラクティブなフィクション言語で完全に書くことはできません。そのエンジンの言語でのゲーム。


面白いアイデア。z-machineの埋め込みは不可能な作業ではないと思います(つまり、informを使用してif-partを記述することができます)-一部のz-machineのWindowsポートでは、z-machineはUIなので、あなたが望むもの(の一部)を既に実行しています。
ヤリコンパ

それは...あなたが実際にやりたいことは、仮想マシンのIF全体を埋め込むことなく行うことが容易であることを完全に可能だ、と述べているすべて
ヤリKomppa

ええ、独自のパーサーを作成する必要があるようです。
DragonFax

回答:


4

これは難しい質問です。汎用プログラミング言語(つまり、Informのようなものではない)で記述された多数のIFエンジンの1つからテキスト解析機能を抽出することができます。いくつかの可能性は、Pyf、および叔母と執事のエンジンかもしれません。検索を泥に拡張すると、さらに多くの選択肢があります(具体的には、オープンソースの泥Pythonの泥のリストです)。

しかし、トリッキーな部分、およびこれを理解するあなたの質問から、ゲームの世界の文脈で解析を解決しています。これは難しい部分であり、OpenNLPのようなものは残念ながらそこに到達しません。問題は、これらのIFエンジンと泥にはそれぞれ独自の方法があり、ワールドモデルの設計方法との調整が難しい場合があることです。

幸いなことに、効果的なパーサーとリゾルバーを作成するためのリソースはたくさんあります。私はあなたにいくつかのリンクを投げるつもりです、

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


ええ、私はプログラミング言語のパーサーを書いてきました。自然言語への取り組みを知るのは、別の獣です。
DragonFax

2
覚えておいてください、それは単なる自然言語の解析ではなく、あなたのすべての時間をかけるのは世界モデルの分析者です:)。
ジョージ

1

これはプロジェクトに役立ちますか?あなたが求めているのはNLPであり、IFは単なる特定のユースケースだと思います。

http://opennlp.apache.org/

まあ、名詞と動詞の正しい組み合わせが文で見つかり、構造、文法、その他の側面についてはあまりないことを確認したい場合:

これをダウンロードすることをお勧めしますhttp://wordnet.princeton.edu/wordnet/

これを使用して、基本的に、各単語の実行可能な同義語をすべて手動で入力することなく、文中の動詞と名詞の両方に同義語が存在するかどうかを確認できます。

最近リリースされたテキストアドベンチャーゲームのソースコードを表示したい場合は、ここでいくつかのゲームを見つけ(Ctrl + Fを押すだけ)、テキストを入力できます。

http://en.wikipedia.org/wiki/List_of_open-source_video_games

テキストアドベンチャーゲームエンジンのリストもここにあります。

http://en.wikipedia.org/wiki/Category:Text_adventure_game_engines

さらに何かが必要な場合は、詳しく説明してください。


適切なNLPは過剰に使用されているように見え、データサイエンスのタイプのものにも焦点を当てているようです。大規模なダンプ内の文が幸せか悲しいか、または人対物事に言及しているかどうかを特定したい場所。どこで私は1つの文を完全に解析したかったので、「ユーザーは動詞を名詞にすると言っています」にたどり着きました。たとえいくつかの異なる形式のみを解析する場合でも。
DragonFax

テキストアドベンチャーゲームエンジンへのリンクを追加しました。
wolfdawn

おかげで、私はNLTK(python)の本を読んできました。これはNLPの使用法の基本についての良いチュートリアルです。しかし、単一の文を「意味」に構文解析することは依然として重要なことです。
DragonFax
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.