If you're on Linux and want to do this look for ibus-typing-booster. I submitted it 6 days ago, but it didn't get much attention. Unlike the author's method of manually setting up shortcuts for the most used words, ibus-typing-booster learns your most frequent words and then it's just a matter of typing a few chars followed by space, which inserts the whole word.