Вместо того, чтобы работать со статической коллекцией слов, как предлагается в других ответах, я бы использовал что-то гораздо более динамичное - Интернет .
Хорошая эвристика может быть - найдите, если искомое слово появляется в названии статьи в wikipedia , и примите его, если оно есть!
Обратите внимание, чтоПреимущество - динамически растущий «список» слов, без необходимости хранить их в словаре.
Недостатки: медленный ввод-вывод [постоянное использование Интернета], и список еще не полный [некоторые термины непоявляются даже в википедии].Он также требует, чтобы пользователь был подключен к Интернету, чтобы использовать этот подход.
Посмотрите API Википедии , чтобы понять, как это сделать.
Еще один онлайнисточником информации, которую вы можете использовать, является API поиска Bing [это бесплатно!хотя в последнее время есть некоторые проблемы ...]