Parses a word list and produces a set of unique X-length patterns and the corresponding word in the list