Solving morphological analogies: from retrieval to generation