1. A computer-implemented natural language processing method, comprising: receiving, by a processor, a text, wherein the text is able to be broken down into parts; identifying, by the processor parsing the text using natural language processing, a language of the text and a set of linguistic characteristics of the language contained in the text, wherein the linguistic characteristics include grammatical features, syntactic features, idiomatic features, slang, nouns, jargon, emoticons, hashtags, sources of documents, short hand, writing styles, acronyms, and online dictionary and encyclopedia terms, wherein the set of linguistic characteristics include a first linguistic characteristic and a second linguistic characteristic; retrieving a set of reference documents, wherein the reference documents include social media, literature, government documents, and text books; determining a plurality of locations of origin in which the text was potentially written based on (a) the set of linguistic characteristics identified in the text, and (b) the set of reference documents, wherein the plurality of locations of origin including a first location of origin corresponding to the first linguistic characteristic, and a second location of origin corresponding to the second linguistic characteristic; determining that at least a portion of the first location of origin overlaps with at least a portion of the second location of origin, and the first location of origin is within an area defined by the second location of origin; ranking the plurality of locations of origin, wherein the first location of origin is ranked higher than the second location of origin based on the determined overlap of the first location of origin and the second location of origin and the first location of origin being within an area defined by the second location of origin; and returning, via a user interface, a set of one or more ranked locations of origin of the plurality of locations of origin, wherein the set of one or more ranked locations of origin include a number of ranked locations of origin, and wherein the number of ranked locations of origin does not exceed a maximum number of ranked locations of origin set by a user.