1. A system comprising: at least one processor; and a memory encoding computer executable instruction that, when executed by the at least one processor, cause the at least one processor to perform a method for contextual language understanding, the method comprising: receiving a first natural language input based on input from a first user; identifying a first set of entities in the first natural language input utilizing a schema; receiving a first response to the first natural language input based on the first set of entities, wherein the first response is generated by the system; identifying a second set of entities in the first response utilizing the schema; receiving a second natural language input; identifying a third set of entities in the second natural language input utilizing the schema; identifying a first set of carryover entities from any previous set of entities for carryover based on the third set of entities; determining a first user intent based on the third set of entities and the first set of carryover entities; and generating a second response based on the first user intent.
3. The system of claim 1 , wherein the system is a user device, wherein the first response is a first action performed by the user device in order to answer the first natural language input, and wherein the second response is a second action performed by the user device in order to answer the second natural language input, wherein the first set of carryover entities does not contain any entities from the first set of entities.