Я создаю это приложение для Mac OS X v10.6
Я создаю текстовое приключение и создал очень простой анализатор естественного языка, который может обрабатывать команды, которые вводит пользователь. Пока он отлично работает и может анализировать такие предложения, как: «возьми меч» или «посмотри в коробку»
Я пытаюсь создать список псевдонимов для разных слов, чтобы сделать команды ввода менее строгими. Так, например, «take» может иметь псевдоним «grab» или «go», может иметь псевдонимы «move», «walk» или «travel»
Я пытался создать NSDictionary, где ключом было слово, а значением - NSArray псевдонимов. Проблема заключалась в том, что при определении, соответствует ли введенная команда доступной команде, мне пришлось бы ссылаться на псевдонимы словом, которое использовалось для ключа.
Я хочу иметь возможность использовать любой из псевдонимов для ссылки на любой из других псевдонимов. Кто-нибудь знает хороший способ сделать это?
Еще одна мысль, которая у меня была (но она кажется неэффективной), заключается в том, чтобы хранить каждый набор псевдонимов в массиве. При разборе я бы нашел массив, содержащий слово, которое я хочу сопоставить, и попытался бы сопоставить все остальные слова в этом массиве с ним.