1. A method for automatic labeling of natural language text, the method comprising: providing at least one computer processor coupled to at least one non-transitory storage medium, the at least one computer processor performing the method, including: receiving text from at least one natural language document in electronic form; performing a basic linguistic analysis of the text; matching the linguistically analyzed text against stored target semantic relationship patterns; producing semantically labeled text by generating semantic relationship labels based on the linguistically analyzed text and a result of the matching of the linguistically analyzed text against the target semantic relationship patterns, wherein the semantic relationship labels are associated with words or phrases from sentences within the text and indicate components of predetermined types of semantic relationships; and storing the semantically labeled text in a database.