Ответ 1
Так как ваш вход находится в форме естественного языка, лучший способ начать изучать его, сначала проанализируйте структуру предложения. и запускать предложение через NER (Named Entity Recognizer).
Разбор предложения позволяет вам придумать такие правила, как определенные типы зависимостей всегда дают вам намерение. Запуск NER позволит вам определить места и даты. Если не просто придумать правила для классификации намерения, вы можете также использовать классификатор, чтобы сделать то же самое, используя вектор функций, сформулированный из входного предложения. Фактически, некоторые из парсеров могут входить в формулировку вектор-функции.
Для обоих существует программное обеспечение из Stanford NLP Group
Возможно, вы можете посмотреть:
После того, как вы разобрали предложение, у вас есть намерение и другая информация, чтобы ответить на вопрос.
Ех: Я принял ваше предложение: "Будет ли солнечно в эти выходные в Чикаго". и пропустил его через Online Stanford NER Tagger. Который дал мне следующее:
Will it be sunny this <DATE>weekend</DATE> in <LOCATION>Chicago</LOCATION>
Теперь вы определили дату и местоположение.
Надеюсь, это поможет. Я знаю, что ответ довольно общий, и может быть полезным только в начале.