Привет, я прошел короткий курс искусственного интеллекта, и мы разработали чат-бота на основе AIML и python. У меня есть новая задача разработать какую-то форму семантической поисковой системы. Я хочу, чтобы люди могли перемещаться по данным или искать вопросы, а я даю им результаты. Первоначально это будет для конкретной темы, например. транспорт и география. Некоторые примеры ввода от пользователя:
Сколько мне будет стоить добраться от x до y?
Ответ: Вам это будет стоить 26 $.
Как далеко x от z?
Ответ: Это 25 миль.
Пользователь может добавить факультативные маршруты, чтобы они могли просто ввести «Добавить в избранное», и затем пользователю будет предложено ввести маршруты f.
Ответ: Вы просите добавить запись к любимым маршрутам?
Пользователь: да.
Ответ: Пожалуйста, введите любимый маршрут.
Покажи мои общие маршруты.
Ответ: Ваши общие маршруты - это x, y и z.
Таким образом, данные, в которых выполняется поиск, могут быть специфичными для пользователя, поэтому, возможно, придется использовать базу данных. Некоторые данные являются внешними, возможно, вызовите карты Google, чтобы узнать о расстояниях. На некоторые вопросы может просто потребоваться ответ от чат-бота.
Итак, что мне делать после ввода пользователем? Токенизировать, пресекать, разбирать?
Я надеялся где-нибудь использовать AIML, но прочитал статью http://knytetrypper.proboards.com/index.cgi?board=gbot&action=print&thread=285. Говорит, что AIML хорош только для сопоставления с образцом. Кто-нибудь, пожалуйста, укажите мне правильное направление. Я загрузил NLTK, он кажется полезным, но я не знаю, может ли он сам по себе делать то, что мне нужно.
Есть какие-нибудь похожие статьи по проектам?