Skip to content

Chaînes de coréférence

Regroupez les segments de texte qui font référence à la même entité pour les tâches de résolution de coréférence.

Chaînes de coréférence

L'annotation de coréférence permet aux annotateurs de regrouper les segments de texte qui font référence à la même entité. C'est essentiel pour la résolution d'entités, la résolution de pronoms et l'analyse du discours.

Aperçu

Une chaîne de coréférence est une collection de mentions (segments de texte) qui font toutes référence à la même entité du monde réel. Par exemple :

"Marie Curie était physicienne. Elle a remporté le prix Nobel. La scientifique a changé son domaine pour toujours."

Les segments "Marie Curie", "Elle", "La scientifique" et "son" font tous référence à la même personne et forment une seule chaîne de coréférence.

Démarrage rapide

L'annotation de coréférence nécessite deux composants de schéma :

  1. Un schéma de segments pour créer les mentions
  2. Un schéma de coréférence pour regrouper les mentions en chaînes
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

Options de configuration

ChampTypeDéfautDescription
annotation_typestringObligatoireDoit être "coreference"
namestringObligatoireIdentifiant unique pour ce schéma
descriptionstringObligatoireInstructions affichées aux annotateurs
span_schemastringObligatoireNom du schéma de segments fournissant les mentions
entity_typeslist[]Liste de catégories de types d'entités
allow_singletonsbooleantrueAutoriser les chaînes avec une seule mention
visual_display.highlight_modestring"background"Style visuel : "background", "bracket" ou "underline"

Exemples

Avec types d'entités

Classifiez les chaînes par type d'entité :

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"

Sans singletons

Pour les tâches où chaque mention doit être liée à au moins une autre mention :

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

Affichage visuel personnalisé

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 utilisateur

Création de chaînes

  1. Créer des mentions : Utilisez l'outil d'annotation de segments pour surligner toutes les mentions d'entités
  2. Sélectionner des mentions : Cliquez sur les segments surlignés que vous souhaitez chaîner ensemble
  3. Créer la chaîne : Cliquez sur "Nouvelle chaîne" pour regrouper les mentions sélectionnées

Gestion des chaînes

  • Ajouter à la chaîne : Sélectionnez des mentions supplémentaires et cliquez sur "Ajouter à la chaîne"
  • Fusionner des chaînes : Sélectionnez plusieurs chaînes et cliquez sur "Fusionner les chaînes" pour les combiner
  • Supprimer une mention : Sélectionnez une mention et cliquez sur "Supprimer la mention" pour la retirer de sa chaîne

Codage couleur

Chaque chaîne se voit automatiquement attribuer une couleur distincte. Les mentions d'une même chaîne partagent la même couleur, ce qui facilite l'identification visuelle de l'appartenance à une chaîne.

Format de sortie

Les annotations de coréférence sont sauvegardées comme liens de segments :

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"
    }
  ]
}

Flux de travail recommandé

  1. Premier passage - Lisez le texte et surlignez toutes les mentions d'entités
  2. Deuxième passage - Regroupez les mentions en chaînes de coréférence
  3. Révision - Vérifiez que toutes les mentions sont correctement assignées et qu'aucune chaîne ne manque

Bonnes pratiques

  1. Définissez des limites de mentions claires - établissez des directives sur ce qui constitue une mention
  2. Gérez les mentions imbriquées - décidez comment traiter les cas comme "le PDG de Microsoft"
  3. Considérez les références génériques - déterminez si les références génériques doivent être incluses
  4. Formez les annotateurs - la coréférence est complexe ; fournissez des exemples et des tours d'entraînement
  5. Utilisez les types d'entités avec parcimonie - trop de types peuvent ralentir l'annotation sans améliorer la qualité des données

Pour aller plus loin

Pour les détails d'implémentation, voir la documentation source.