Skip to content

Resolução de Correferência

O que é a anotação de correferência, como agrupar menções em cadeias de entidades e como montar uma tarefa de correferência no Potato.

A resolução de correferência é a tarefa de agrupar todas as menções de um texto que se referem à mesma coisa. "Marie Curie … ela … a física" é uma cadeia que aponta para uma única pessoa. Ela transforma menções dispersas em entidades, o que é essencial para sumarização, resposta a perguntas e extração de conhecimento.

Veja Correferência para contexto.

O que os anotadores fazem

  1. Marque cada menção (um nome, um pronome ou um sintagma nominal) como um span.
  2. Agrupe as menções que se referem à mesma entidade em uma cadeia.
  3. Repita para cada entidade distinta da passagem.

A saída é um conjunto de cadeias, cada uma uma lista de spans que se correferenciam. As cadeias podem cruzar fronteiras de frases, e é isso que torna a tarefa mais difícil do que a simples anotação de spans.

Como montar no Potato

O Potato tem um tipo de anotação de correferência que permite aos anotadores marcar menções e vinculá-las em cadeias. A vitrine de correferência é um exemplo pronto para rodar.

yaml
annotation_schemes:
  - annotation_type: span
    name: mentions
    description: "Mark every mention (names, pronouns, noun phrases), then group mentions that refer to the same entity into a chain."
    labels: [Entity]
    allow_overlapping: true

Permita spans sobrepostos, porque as menções costumam se aninhar ("[[a] mãe dele]").

Armadilhas comuns

  • Singletons. Decida se vai marcar entidades mencionadas uma única vez. Isso afeta suas contagens e métricas.
  • Genérico vs. específico. "Os médicos recomendam repouso": "médicos" é uma entidade a rastrear? Escreva uma regra.
  • Antecedentes divididos. "Alice e Bob … eles" se refere a ambos; decida como representar isso.

Como as cadeias são estruturadas, meça a concordância com cuidado, veja Concordância entre Anotadores e faça a arbitragem com atenção.

Leitura adicional