1. A method for natural language processing on a computing device, comprising: receiving a free text document; parsing, on a computing device, the free text document for gross structure, wherein the gross structure comprises sections, paragraphs and sentences; determining, on the computing device, an application of at least one knowledge base; parsing the free text document for fine structure on the computing device, wherein the fine structure comprises sub-sentences; applying, on the computing device, the parsed document and at least one likelihood vector to a Bayesian network; and outputting meanings and probabilities from the computing device.