Интересует методика генерации синонимичных запросов. Сразу уточню что имею ввиду под синонимичными запросами: это запросы, которые по смыслу подразумевают ту же самую сущность, что и исходные. Важно - не путать с производными запросами. Например:

Парсер и парсер контента - здесь второй запрос производный от первого.
Парсер и граббер - вот здесь второй запрос синонимичен первому (по крайней мере одно из его значений)

Как я вижу на данный момент набросок алгоритма, например для фразы “импорт товаров в Joomla”:
1.Подбираем синонимы для каждого слова:
Импорт = загрузка, заливание
Товар = продукт, контент (в данном случае)
Joomla = Virtuemart, Joomshoping (понимаю, вещи разные, но все же в данной ситуации актуально)

2. Генерируем комбинации родственных запросов:
Импорт товаров в Joomla
Загрузка товаров в Joomla
Заливание товаров в Joomla
Импорт продуктов в Joomla
И так далее...


Еще несколько вопросов
1. Какие этапы стоит добавить в алгоритм?
2. Подскажите как более эффективно реализовать тот или иной этап? Например, при подборе синонимов можно использовать синонимические словари (причем желательно и с жаргонными высказываниями), переводчики, поисковые подсказки, сервисы вроде вордстат (поиск что еще искали люди), related searches в гугле, что еще?
3. Насколько понимаю, поисковики также ищут по синонимичным запросам. Где можно почитать об этом подробнее?
4.Я так понимаю, к синонимам стоит добавить транслитерированные варианты ключевиков + ключевики, а также варианты, использованные в неправильных формах или с ошибками?
5.Может то, что я выше описал уже кем то реализовано и автоматизировано? Подскажите готовые решения?

Предложение
Кому интересно поучаствовать в разработке методики и дальнейшей автоматизации, давайте группироваться)