Вам понадобится большая база данных, содержащая эту информацию. Все остальное просто - посмотрите на вход и посмотрите, какие слова сохранены.
Сложная часть - это создание базы данных. Выполнение этого вручную может занять годы, если вы хотите охватить большое количество слов и тем.
Генерировать это непривычно нетривиально. Возможно, вы могли бы попытаться загрузить веб-страницы и проанализировать слова, часто встречающиеся вместе, но я предполагаю, что на создание, настройку и, наконец, сбор данных хорошего качества все еще уйдут месяцы Может быть, извлечение ссылок из Википедии может быть хорошим источником информации из-за ее полуструктуры.