Очевидно, что делать это хорошо очень сложно. Хотя, если это задание, то я предполагаю, что ожидание немного ниже. Вот некоторые мысли, которые, как мы надеемся, помогут вам начать:
Я бы разделил проблему на 2 части; парсинг блока вопроса и затем передача блока ответа. Из блока вопросов вам нужно знать 2 фрагмента информации, существительное того, что вы ищете, а также тип ответа. В этом случае существительное - Эверест, а тип - высота. «Типы» данных, которые вы можете создать словарь для довольно быстрого поиска вашей входной строки (например, «рост», «вес», «расстояние», «возраст»). Существительные являются более сложными, поэтому я бы сказал, что просто предположим, что каждый не тип в вопросе является потенциальным существительным, возможно, удаляя словарь известных не существительных (таких как "at", "the", "of" и др.).
После того, как вы определили существительное и введите из вопроса, вы можете начать сканирование блока ответа. Я бы начал с того, что разбил это на предложения. Затем отсканируйте каждое предложение для каждого из ваших существительных. Если он найден в этом предложении, вам необходимо снова отсканировать предложение на предмет чисел (принимая во внимание возможные пробелы или разделение запятыми). Наконец, вам нужно «обойти» любые числа, которые вы найдете для типа измерения. Таким образом, в данном случае ваш "тип", который мы проанализировали из вопроса, был "высота". Вам нужно будет создать отображение типов на измерения, поэтому «высота» будет отображать «км, футы, дюймы, см, м» и т. Д. Если число имеет один из этих типов вокруг него, то возвращает число и тип измерения как ответ.
Надеюсь, что вы начали. Как указано выше, это не является надежным коммерческим решением. Это домашнее задание.