Objective-C中的简单自然语言解析器

时间:2011-10-10 04:43:19

标签: objective-c nlp adventure text-based

我正在为Mac OS X v10.6构建此应用程序

我正在构建一个基于文本的冒险,我创建了一个非常简单的自然语言解析器,可以处理用户键入的命令。到目前为止它工作得很好并且可以解析句子,例如:“拿剑”或“在盒子里看”

我要做的是为不同的单词创建一个别名列表,使输入命令不那么严格。所以例如“take”可能有别名“grab”或“go”可能有别名“移动,步行或旅行”

我已经尝试创建一个NSDictionary,其中键是单词,值是一个别名的NSArray。问题是,在确定输入的命令是否与可用命令匹配时,我将不得不使用用于密钥的单词来引用别名。

我希望能够使用任何别名来引用任何其他别名。有谁知道这样做的好方法?

我的另一个想法(但似乎效率低下)是将每组别名存储在一个数组中。在解析时,我会找到包含我想要匹配的单词的数组,并尝试将该数组中的所有其他单词与其匹配。

3 个答案:

答案 0 :(得分:6)

检查NSLinguisticTagger课程(iOS 5中的新功能)

答案 1 :(得分:2)

从概念上讲,我认为你可能会发现在同一个基础上处理所有单词很有成效。让你的词典中包含你词汇中的任何单词作为关键词,并且该值在数字上编码指导语境中解释的解释或信息。

答案 2 :(得分:0)