Чтобы сделать это правильно для любого произвольного предложения, вам необходимо выполнить анализ исходного предложения на естественном языке. Возможно, вы захотите заглянуть в библиотеку SharpNLP - это бесплатная библиотека инструментов обработки естественного языка для C # /. NET.
Если вы ищете более простой подход, вы должны быть готовы пожертвовать правильностью до некоторой степени. Например, вы можете создать словарь триггерных слов, которые - когда они появляются в предложении - заменяются синонимами из тезауруса. Проблема этого подхода заключается в том, чтобы заменить слово эквивалентной частью речи. В английском языке определенные слова могут быть разными частями речи (глагол, прилагательное, наречие и т. Д.) В зависимости от их контекстуального использования в предложении.
Еще одно соображение, которое вам необходимо рассмотреть (если вы не используете библиотеку НЛП), заключается в следующем. В большинстве языков определенные части речи сопряжены / изменены (глаголы на английском языке) в зависимости от предмета, к которому они относятся (или предмета, говорящего или времени предложения).
Если все, что вы хотите сделать, это заменить прилагательные (как в вашем примере), то подход с использованием триггерных слов может сработать, но он не будет легко расширяемым. Прежде чем что-то делать, я бы предложил, чтобы вы четко определили требования и правила для вашей проблемной области ... и использовал это, чтобы решить, какой путь выбрать.