HW5 Example

For example, let us observe the state just for the slot "food" in a short dialogue.

Note: This is slightly refined/improved from what you've seen in the video. I've removed any dealings with bad ASR since you'll be working with textual inputs.

Dialogue start

The belief state for food looks like this before the dialogue starts:

food: {None: 1.0}

Dialogue Turn 1

Let's assume that the system poses a starting question and the user replies:

Sys: Hi, how can I help?

Usr: I want Chines

You can see that the user made a typo. The NLU isn't very confident about that, so you can get e.g. this probability distribution:

NLU: food=None: 0.8, food=Chinese: 0.2

The state, given our update rule, is now simple -- all the probability was under None, so we can redistribute it according to the current values:

food: {None: 0.8, Chinese: 0.2}

Dialogue Turn 2:

The probability for Chinese is too low, so the system doesn't understand and the user needs to confirm in the 2nd state:

Sys: I'm sorry I didn't understand

Usr: Iwant Chinese

Now the NLU is more confident. Since the user has made another typo, it's not completely sure. Let's assume we get this probability distribution from our NLU system:

NLU: food=Chinese: 0.7, food=Italian: 0.2, food=None: 0.1

Now we have a 0.1 probability that food wasn't mentioned in this turn, so we take that amount to redistribute the previous probability. We add the non-null values from this turn, with their new probabilities. So this is how the computation looks like:

food: 0.1 x previous = {None: 0.08, Chinese: 0.02} 

+ new: {Chinese: 0.7, Italian: 0.2}

And this is the resulting state:

food: {None: 0.08, Chinese: 0.72, Italian: 0.2}