开发者

Text Game Commands Parsing?

I'm interested in writing a parsing engine such as the ones in Inform, which is very robust.

I've tried a couple of different approach:

  • regex. For regex, I can only match {verb} {noun1 optional-noun2} {optional-preposition} {indirect-noun1 optional-indirect-noun2} This doesn't work that well.
  • list of predefined verbs and their matched preposition and nouns. This approach is too complex, since there has to be A LOT of predefined data.
  • splitting into different words and run them through a dictionary maps. Again this is too complex and not practical due to the amiguity of certain words such as "look" or "put (on, out)"

I know about language processing though I have actually no idea how to start and some of the stuff are too complicated. (No CS background, I'm just learning on my own right now).

Some ideas I have:

  • As I've said, natural language processing.
  • Design a parser that parses something similar to SQL.

Is there any other ideas? How would I go about design and implementing them?

Note I'm using Python as my language. and in case you missed it, I'm no开发者_如何转开发t design a programming language, I'm just parsing user command such as "go north" or complex stuff, like "put the fire out with the blanket"


Besides the mentioned pyparsing, which looks very appropriate (I've only used it a tiny bit), you should look into using nltk. It's a great collection of tools for natural language processing, and there's even a book.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜