1. A method comprising: receiving, by a computing system, data generated based on spoken user responses to prompts associated with a dialogue, the data comprising a portion corresponding to one or more of the spoken user responses spoken before a subsequently spoken response of the spoken user responses; generating, by at least one processor of the computing system, a list of natural language understanding (NLU)-ranked semantic interpretations for the subsequently spoken response; determining, by the computing system and based on the portion corresponding to the one or more of the spoken user responses spoken before the subsequently spoken response, a plurality of key-value pairs corresponding to different possible resolutions for an anaphora in the subsequently spoken response; and re-ranking, by the computing system and based on the plurality of key-value pairs, the list of NLU-ranked semantic interpretations to identify a semantic interpretation that resolves the anaphora in the subsequently spoken response based on a context of the dialogue determined from the one or more of the spoken user responses spoken before the subsequently spoken response.