1. A system for answering natural language (NL) queries, comprising: one or more memories of one or more computing devices, one or more memories storing machine readable instructions, and the machine readable instructions including: a first portion that, when executed by one or more processors, causes the system to: generate an association between a first term or phrase in an imprecise syntax and a second term or phrase in an imprecise syntax, store an indication of the association as a natural language (NL) macro, and determine whether a mismatch between a context of the first term or phrase and a context of the second term or phrase exists, including: determining a meaning of the second term or phrase, comparing i) the meaning of the second term or phrase with ii) a meaning of the first term or phrase, and determining whether a mismatch exists based on the act of comparing; a second portion that, when executed by the one or more processors, causes the system to generate one or more answers to NL queries; and a third portion that, when executed by the one or more processors, causes the system to: detect the first term or phrase in a user input that is received after the determination of whether the mismatch exists, replace, based on the stored indication of the association, the first term or phrase with the second term or phrase in the received user input to form a revised user input, and provide the revised user input as an NL query to be answered by the second portion, when the second portion is executed by the one or more processors.
5. The system of claim 1 , wherein the first portion further comprises a macro assistant configured to cause the system to determine a suggested value of the second term or phrase.