1. A machine-implemented method, comprising: organizing characters from words into a hierarchy, the words are obtained from a dictionary and organized into the hierarchy, each node of the hierarchy representing a single character representing a single letter and each first character of a particular word appears as a particular node within the hierarchy, and each leaf node of the hierarchy represents a particular one of the words, each word representing a common word, a domain specific word, an acronym for that word, a colloquialism for that word, an abbreviation for that word, a proper name, or a common misspelling for that word, and representing the dictionary as a directory where each character from each word is stored as its own independent subdirectory and a folder within the directory, each word also including an annotation indicating the origin of that word; receiving a target string; iterating each target character of the string and attempting to assemble a substring of the target characters that match to a particular leaf node of the hierarchy; and identifying target words from the target string in response matched substrings found.