Search code examples
nlp

Understanding the Winograd Schema


What is the Winograd Schema? A Winograd schema is a pair of sentences that differ in only one or two words and that contain an ambiguity that is resolved in opposite ways in the two sentences and requires the use of world knowledge and reasoning for its resolution.

Is this a good summary?

I do not understand why it is difficult to use NLP to resolve coreference in a winograd schema?


Solution

  • The Wikipedia page gives an example of a Winograd Schema, with the two instances:

    1. The city councilmen refused the demonstrators a permit because they feared violence.

    2. The city councilmen refused the demonstrators a permit because they advocated violence.

    The question is, which noun group does they refer to. In sentence 1 it would be the city councilmen, in sentence 2 it would be the demonstrators.

    How do you make that decision? The syntactic structure of the two sentences is identical, so it all hinges on the verbs to fear and to advocate. In order to make the right choice, you need to understand why councilmen fear violence, and would thus refuse it if demonstrators advovate it. This involves semantic and pragmatic knowledge, which are weak areas in NLP. It usually only works for limited domains, as it requires a lot of world knowledge (in this case about what you would expect from councilmen and demonstrators, and what the role of permits is).

    So while syntax is easy to handle for current NLP, it is mostly irrelevant in resolving the Winograd Schema challenges.