2

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

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

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

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

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

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

4

3 回答 3

6

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

于 2011-10-10T04:55:36.400 回答
2

从概念上讲,我认为您可能会发现将所有单词放在同一位置上会很有成效。让您的字典将您的词汇中的任何单词作为键,并且该值以数字方式对解释或指导上下文解释的信息进行编码。

于 2011-10-10T06:29:51.173 回答
0

它也适用于 OS X http://cutecoder.org/programming/introduction-cocoa-nslinguistictagger-nsbrief-podcast-72/并查看https://github.com/adib/ColorizeWords

于 2013-05-24T15:14:56.137 回答