文字游戏命令解析?

时间:2011-05-15 23:03:56

标签: python nlp

我有兴趣编写一个解析引擎,例如Inform中的解析引擎,它非常强大。

我尝试了几种不同的方法:

  • 正则表达式。对于正则表达式,我只能匹配{verb} {noun1 optional-noun2} {optional-preposition} {indirect-noun1 optional-indirect-noun2}这不能很好地工作。
  • 预定义动词列表及其匹配的介词和名词。这种方法过于复杂,因为必须有大量的预定义数据。
  • 分成不同的单词并通过字典映射运行它们。由于某些词语的模糊性,例如“look”或“put(on,out)”,这太复杂而且不实用

我知道语言处理虽然我实际上不知道如何开始,但有些东西太复杂了。 (没有CS背景,我现在只是自己学习)。

我有一些想法:

  • 正如我所说,自然语言处理。
  • 设计一个解析类似于SQL的解析器。

还有其他想法吗?我将如何设计和实施它们?

注意我使用Python作为我的语言。如果你错过了它,我不是设计一种编程语言,我只是在解析用户命令,比如“go north”或复杂的东西,比如“把毯子拿出来”

1 个答案:

答案 0 :(得分:2)

除了提到的pyparsing,它看起来非常合适(我只使用了一点点),你应该考虑使用nltk。它是一系列用于自然语言处理的工具,甚至还有book