Čeština
English
  • Vítejte na stránkách NLP Centra!
  • Zapojte se do vývoje softwarových nástrojů!
  • Analýza přirozeného jazyka
  • Vyzkoušejte si korpusy o velikosti knihoven online!
  • Studujte jednu ze specializací!
  • Členové laboratoře

Anaphora resolution

IA161 NLP in Practice Course, Course Guarantee: Aleš Horák

Prepared by: Marek Medveď

State of the Art

Anaphora resolution (or pronoun resolution) is the problem of resolving references to earlier or later items in the discourse.
Main approaches:

  1. Knowledge-rich approaches:
    1. Syntax-based approaches
    2. Discourse-Based Approaches
    3. Hybrid Approaches
    4. Corpus based Approaches
  2. Knowledge-poor Approaches:
    1. Machine learning techniques

References

  1. Anaphora Resolution, Studies in Language and Linguistics by Mitkov, R., 2014, Taylor & Francis
  2. Caw-coref: Conjunction-aware word-level coreference resolution. D’Oosterlinc at all. (2023)
  3. F-coref: Fast, accurate and easy to use coreference resolution. Otmazgin, S., Cattan, A., and Goldberg, Y. (2022)
  4. Efficient and interpretable neural models for entity tracking. Toshniwal, S. (2022)
  5. Coreference resolution through a seq2seq transition-based system. Bohnet, B., Alberti, C., and Collins, M. (2022)

Practical Session

Student has to understand Hobbs' definition of anaphora resolution and according to it implement the main function of Hobbs' algorithm in the proposed python script that contains all necessary functions. According to real data (syntactic trees) students test their adjusted program and evaluate it. At the end of the session students hand in the results to prove completing the task. An additional task is to find sentence structures that are not covered by Hobbs' algorithm.

The task:

  1. Open Google Colab notebook IA161-AnaphoraResolution.ipynb.
  2. understand Hobbs' definition of anaphora resolution and replace XXX function calls with correct ones
  3. find 20 nontrivial sentences with anaphora: 10 that Hobbs algorithm can recognize and 10 sentences it dos not.
  4. submit your hobbs.py script with 10 examples that are correctly recognized with hobbs.py and 10 examples that are not correctly recognized by hobbs.py in the homework vault. For each unrecognized example write an explanation into a separate file named unrecognized_notes.txt (first column: example id, second column: explanation).

Commands:

  1. execute Hobbs script:
    python3 ./hobbs.py demosents.txt He