Skip to content

Cadeias de Correferência

Agrupe segmentos de texto que se referem à mesma entidade para tarefas de resolução de correferência.

A anotação de correferência permite que os anotadores agrupem segmentos de texto que se referem à mesma entidade. Isso é essencial para resolução de entidades, resolução de pronomes e análise do discurso.

Visão Geral

Uma cadeia de correferência é um conjunto de menções (segmentos de texto) que se referem todas à mesma entidade do mundo real. Por exemplo:

"Marie Curie foi uma física. Ela ganhou o Prêmio Nobel. A cientista mudou seu campo para sempre."

Os segmentos "Marie Curie", "Ela", "A cientista" e "seu" referem-se todos à mesma pessoa e formam uma única cadeia de correferência.

Início Rápido

A anotação de correferência exige dois componentes de esquema:

  1. Um esquema de segmentos para criar menções
  2. Um esquema de correferência para agrupar menções em cadeias
yaml
annotation_schemes:
  - annotation_type: span
    name: mentions
    description: Highlight all entity mentions
    labels:
      - name: MENTION
        tooltip: "Any reference to an entity"
    sequential_key_binding: true
 
  - annotation_type: coreference
    name: coref_chains
    description: Group mentions that refer to the same entity
    span_schema: mentions
    allow_singletons: true

Opções de Configuração

CampoTipoPadrãoDescrição
annotation_typestringObrigatórioDeve ser "coreference"
namestringObrigatórioIdentificador único para este esquema
descriptionstringObrigatórioInstruções exibidas aos anotadores
span_schemastringObrigatórioNome do esquema de segmentos que fornece as menções
entity_typeslist[]Lista de categorias de tipos de entidade
allow_singletonsbooleantruePermitir cadeias com apenas uma menção
visual_display.highlight_modestring"background"Estilo visual: "background", "bracket" ou "underline"

Exemplos

Com Tipos de Entidade

Classifique cadeias por tipo de entidade:

yaml
annotation_schemes:
  - annotation_type: span
    name: ner
    description: Mark named entities
    labels:
      - name: ENTITY
        tooltip: "Any named entity mention"
 
  - annotation_type: coreference
    name: coref
    description: Create coreference chains
    span_schema: ner
    entity_types:
      - name: PERSON
        color: "#6E56CF"
      - name: ORGANIZATION
        color: "#22C55E"
      - name: LOCATION
        color: "#3B82F6"
      - name: OTHER
        color: "#F59E0B"

Sem Singletons

Para tarefas em que cada menção deve estar vinculada a pelo menos outra menção:

yaml
annotation_schemes:
  - annotation_type: span
    name: mentions
    description: Highlight co-referring mentions
    labels:
      - name: MENTION
 
  - annotation_type: coreference
    name: strict_coref
    description: All mentions must be part of a chain with at least 2 mentions
    span_schema: mentions
    allow_singletons: false

Exibição Visual Personalizada

yaml
annotation_schemes:
  - annotation_type: coreference
    name: coref
    description: Link coreference chains
    span_schema: mentions
    visual_display:
      highlight_mode: "underline"  # Options: background, bracket, underline

Interface do Usuário

Criar Cadeias

  1. Criar menções: Use a ferramenta de anotação de segmentos para destacar todas as menções de entidades
  2. Selecionar menções: Clique nos segmentos destacados que deseja encadear
  3. Criar cadeia: Clique em "Nova Cadeia" para agrupar as menções selecionadas

Gerenciar Cadeias

  • Adicionar à Cadeia: Selecione menções adicionais e clique em "Adicionar à Cadeia"
  • Mesclar Cadeias: Selecione várias cadeias e clique em "Mesclar Cadeias" para combiná-las
  • Remover Menção: Selecione uma menção e clique em "Remover Menção" para retirá-la de sua cadeia

Código de Cores

Cada cadeia recebe automaticamente uma cor distinta. As menções da mesma cadeia compartilham a mesma cor, o que facilita identificar visualmente a que cadeia cada menção pertence.

Formato de Saída

As anotações de correferência são salvas como vínculos de segmentos:

json
{
  "span_links": [
    {
      "schema": "coref_chains",
      "link_type": "coreference",
      "span_ids": ["mentions_0_5_MENTION", "mentions_34_37_MENTION", "mentions_72_85_MENTION"],
      "entity_type": "PERSON"
    },
    {
      "schema": "coref_chains",
      "link_type": "coreference",
      "span_ids": ["mentions_15_23_MENTION", "mentions_95_97_MENTION"],
      "entity_type": "ORGANIZATION"
    }
  ]
}

Fluxo de Trabalho Recomendado

  1. Primeira passada - Leia o texto e destaque todas as menções de entidades
  2. Segunda passada - Agrupe as menções em cadeias de correferência
  3. Revisão - Verifique se todas as menções estão corretamente atribuídas e se nenhuma cadeia está faltando

Boas Práticas

  1. Defina limites claros de menção - estabeleça diretrizes sobre o que conta como uma menção
  2. Trate menções aninhadas - decida como lidar com casos como "o CEO da Microsoft"
  3. Considere referências genéricas - determine se referências genéricas devem ser incluídas
  4. Treine os anotadores - a correferência é complexa; forneça exemplos e rodadas de prática
  5. Use tipos de entidade com moderação - muitos tipos podem deixar a anotação mais lenta sem melhorar a qualidade dos dados

Leitura Adicional

Para detalhes de implementação, consulte a documentação fonte.