1. A system comprising: at least one processor; and a memory encoding computer executable instructions which, when executed by at least one processor, perform a method for contextual language understanding, comprising: receiving at least a first natural language expression and a second natural language expression, wherein each of the first natural language expression and the second natural language expression include at least one of words, terms, and phrases; determining, using a single-turn model, a first weighted prediction of at least one of a domain classification, intent classification, and slot type of the first natural language expression; determining, using a multi-turn model, a second weighted prediction of at least one of a domain classification, intent classification, and slot type of the second natural language expression using at least one of the first natural language expression and contextual information; and performing an action based on the second weighted prediction of the second natural language expression.