Идея тезауруса имеет некоторые достоинства. Одной из идей было бы создание графа на основе тезауруса с узлами, являющимися словами, и ребром, указывающим, что там они перечислены как синонимы в тезаурусе. Затем вы можете использовать алгоритм кратчайшего пути, чтобы определить расстояние между узлами в качестве меры их сходства.
Одна трудность здесь в том, что некоторые слова имеют разные значения в разных контекстах. Вашему алгоритму может потребоваться принять это во внимание и использовать направленные ссылки с весом исходящей ссылки в зависимости от используемой входящей ссылки (или игнорировать некоторые исходящие ссылки на основе входящей ссылки).