The only hope is to create guidelines for choosing a good name, especially one that would easy for unfamiliar users. One solution is to use aliasing. But results with aliasing show that you would need many aliases to cover all attempts. Finally, it's very tedious to build this alias list. One good way to do this is to return a list of choices, possibly ordered by frequency.
Adaptive indices are another option.
When users fail to get something, the entry is saved and when they finally succeed, all the failed attempts become future aliases for other users. Unlimited aliasing should only be used in help facilities. The Vocabulary Problem is that users seldom select the same words when trying to refer to a particular concept. In fact, no single access word, however chosen, can retrieve more than a small percentage of desired output. A study was conducted over 5 different application domains to find a solution to the Vocabulary Problem.