1. A method for extracting and annotating text, the method comprising the steps of: extracting, by one or more processors, text data from a first source wherein the text data comprises a stream of characters in a first text format; applying, by one or more processors, heuristics to extracted text data from the first source, wherein the heuristics detect readability of the text data; encoding, by one or more processors, the text data into a second text format; and transforming, by one or more processors, the second text format into annotations with the first text format.