我建立這個應用程序的Mac OS X v10.6中簡單的自然語言解析器在Objective-C
我建立一個基於文本的冒險,我創建了一個非常簡單的自然語言解析器,可以處理用戶輸入的命令。到目前爲止,它很好,可以解析句子,如:「拿劍」或「在框中查找」
我想要做的是創建一個不同的單詞的別名列表,使打字命令不那麼嚴格。因此,例如「採取」可以有一個別名的「搶」或「去」可以有別名「移動,走路或旅行」
我試過創建一個NSDictionary,其中的關鍵是單詞和值是一個NSArray的別名。問題是,當確定輸入的命令是否與可用的命令匹配時,我將不得不使用用於該密鑰的單詞來引用別名。
我想能夠使用任何別名來引用任何其他別名。有誰知道這樣做的好方法嗎?
我有另一種想法(但它似乎效率低下)是將每組別名存儲在一個數組中。解析時,我會找到包含我想匹配的單詞的數組,並嘗試將該數組中的所有其他單詞與它匹配。
我不完全理解你的意思:「並且數值上編碼解釋或指導解釋的信息在上下文中。」 –
該值可能是一些枚舉值。一個例子是,單詞take,grab和get可能最初被鎖定到一個OBTAIN值,但是你可以修改get的值,因此它既可以用作take(獲得劍)的同義詞,也可以用作move(get到門)。 –
這是一個好主意!我會試着設置它。謝謝。 –