Sinceramente, ni idea. Para hacer algo así, yo solo veo dos opciones, las cuales solo te las puedo decir por pura lógica, más no explicarte cómo llevarlas acabo en ningún lenguaje de programación.
Para empezar, la primera opción que se me ocurre es que hagas arrays con todas las variantes que se te ocurran de una palabra X, por ejemplo, camino. Y luego, un algoritmo que según la palabra que estés escribiendo te muestre las diferentes opciones. O que simplemente, al escribir cami, te salgan todas las palabras que hayas introducido en el array.
La otra opción, podría ser que busques los tipos de prefijo y sufijo que pueden llevar una palabra (por ejemplo, a, pre, mente, etc.) y los prefijos y sufijos usados para crear todas las formas verbales en español. Luego, dado una raíz, te vaya haciendo combinaciones, claro que de esa forma, te van a salir muchísimas palabras inventadas.