7. A system comprising: at least one processor; and a memory comprising instructions that when executed by the at least one processor cause the system to: receive data generated based on spoken user responses to prompts generated by the system that are 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; generate a list of natural language understanding (NLU)-ranked semantic interpretations for the subsequently spoken response; determine, 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 unresolved anaphora in the subsequently spoken response; and select, from amongst the plurality of key-value pairs and based on a context of the dialogue determined from the one or more of the spoken user responses spoken before the subsequently spoken response, a key-value pair corresponding to a semantic interpretation in the list that resolves the unresolved anaphora in the subsequently spoken response.
19. The system of claim 7 , wherein the instructions, when executed by the at least one processor, cause the system to determine that the key-value pair corresponds to the semantic interpretation in the list that resolves the unresolved anaphora based on relative similarity of the semantic interpretations determined by the at least one processor.