This shows the flow of information when I am interacting with Steve. In this case he asks me to set a timer for his egg but he doesn’t tell me the duration so I have to prompt him for it.
Steve’s speech input is on the left, and my responses are on the right. When I hear the wake-up phrase “Hey Cyba”, I first check that the speaker really is Steve and then I recognise the words he has spoken and convert them into an intent graph which is my internal representation of his meaning. I then update my belief state to record his intent, but from the ontology stored in my knowledge graph I see that I cannot create a timer without a duration. So my conversation manager creates a system intent (I am the system) to prompt him for it. This system intent is first converted to words and then into speech using my speech synthesiser. Steve tells me that he wants a 4 minute timer so I update my belief state and find that his goal is now fully specified. So I execute his request.