Anaphora Resolution

Let's learn about the linguistic concepts of anaphora and cohesion.

We'll now explore the linguistic concepts of anaphora and cohesion. In linguistics, cohesion means the grammatical links that glue a text together semantically. This text can be a single sentence, a paragraph, or a dialogue segment. Consider the following two sentences:

I didn't like this dress. Can I see another one

Here, the word one refers to the dress from the first sentence. A human can resolve this link easily. It's not so straightforward for software programs, though. Also, consider the following dialogue segment:

Where are you going?

To my grandma's.

The second sentence is completely understandable, though some parts of the sentence are missing:

I'm going to my grandma's house.

In written and spoken language, we use such shortcuts every day. However, resolving such shortcuts needs attention while programming, especially in chatbot NLU. Consider these utterances and dialogue segments from our dataset:

Example 1:

- Do you want to make a reservation?

- Yes, I want to make one.

Example 2:

- I've found 2 Malaysian restaurants in Cupertino. Merlion Restaurant & Bar is one.

- What is the other one?

Example 3:

- There's another restaurant in San Francisco that's called Bourbon Steak Restaurant

- Yes, I'm interested in that one.

Example 4:

- Found 3 results, Asian pearl Seafood Restaurant is the best one in Fremont city, hope you like it.

- Yes, I like the same.

Example 5:

- Do you have a specific which you want the eating place to be located at?

- I would like for it to be in San Jose.

Example 6:

- Would you like a reservation?

- Yes make it for March 10th.

All the highlighted parts of the preceding sentences and dialogues are examples of a linguistic event named anaphora. Anaphora means to look backward linguistically. An anaphora consists of two phrases: a phrase that refers to a phrase previously used in the context and the phrase that is referred to. Commonly used anaphoric words are one, more, same, it, and so on. Anaphora resolution means to resolve exactly the phrases anaphoric words point to.

How do we apply this information to our chatbot NLU then?

First of all, we need to determine whether an utterance involves an anaphora and whether we need an anaphora resolution. Consider the following dialogue segment again:

Do you want to make a reservation?

Yes, I want to make one.

The dependency parse of the second utterance looks like this:

Get hands-on with 1200+ tech skills courses.