Простой анализатор естественного языка в Objective-C - PullRequest
2 голосов
/ 10 октября 2011

Я создаю это приложение для Mac OS X v10.6

Я создаю текстовое приключение и создал очень простой анализатор естественного языка, который может обрабатывать команды, которые вводит пользователь. Пока он отлично работает и может анализировать такие предложения, как: «возьми меч» или «посмотри в коробку»

Я пытаюсь создать список псевдонимов для разных слов, чтобы сделать команды ввода менее строгими. Так, например, «take» может иметь псевдоним «grab» или «go», может иметь псевдонимы «move», «walk» или «travel»

Я пытался создать NSDictionary, где ключом было слово, а значением - NSArray псевдонимов. Проблема заключалась в том, что при определении, соответствует ли введенная команда доступной команде, мне пришлось бы ссылаться на псевдонимы словом, которое использовалось для ключа.

Я хочу иметь возможность использовать любой из псевдонимов для ссылки на любой из других псевдонимов. Кто-нибудь знает хороший способ сделать это?

Еще одна мысль, которая у меня была (но она кажется неэффективной), заключается в том, чтобы хранить каждый набор псевдонимов в массиве. При разборе я бы нашел массив, содержащий слово, которое я хочу сопоставить, и попытался бы сопоставить все остальные слова в этом массиве с ним.

Ответы [ 3 ]

6 голосов
/ 10 октября 2011

Проверка NSLinguisticTagger класс (новый в iOS 5)

2 голосов
/ 10 октября 2011

Концептуально, я думаю, вам может показаться полезным работать со всеми словами на одной основе. Пусть ваш словарь содержит любое слово из вашего словаря в качестве ключа, а значение численно кодирует интерпретацию или информацию, которая направляет интерпретацию в контексте.

0 голосов
/ 24 мая 2013
...