Skip to content

Extraction de relations et d'événements

Comment annoter les relations entre entités et les événements structurés avec déclencheurs et arguments, à l'aide du lien de segments et de l'annotation d'événements dans Potato.

L'extraction de relations relie deux entités par un lien typé (« Marie Curie, a remporté, le prix Nobel »). L'extraction d'événements va plus loin : elle marque un déclencheur d'événement et les rôles qui l'entourent (qui a fait quoi, à qui, et quand). Toutes deux transforment un texte brut en connaissance structurée.

Voir Extraction de relations et Extraction d'événements pour le contexte.

Relations : relier des segments

Une annotation de relation comporte trois parties : un segment tête, un segment queue et un type de relation. Dans Potato, les annotateurs marquent d'abord les segments, puis tracent entre eux un lien dirigé et typé (lien de segments).

yaml
annotation_schemes:
  - annotation_type: span
    name: entities
    description: "Mark the entities involved."
    labels: [PERSON, ORGANIZATION, AWARD]
  - annotation_type: span_link
    name: relations
    description: "Draw a link between two entities and choose the relation."
    labels: [won, works_for, located_in, founded_by]

Les relations sont directionnelles : décidez et documentez donc le sens de chaque type (« founded_by » pointe-t-il de l'entreprise vers la personne, ou l'inverse ?).

Événements : déclencheurs et arguments

Un événement est ancré par un mot déclencheur (souvent un verbe comme « acquired ») et possède des arguments qui remplissent des rôles typés (Acheteur, Vendeur, Prix, Date). Le type d'annotation d'événements de Potato permet aux annotateurs de marquer le déclencheur et d'y rattacher des segments étiquetés par rôle.

La vitrine d'annotation d'événements présente une configuration fonctionnelle de déclencheur et d'arguments.

Pourquoi ces tâches sont difficiles

  • L'espace des étiquettes est vaste, ce qui fait baisser l'accord. Gardez des types de relation et de rôle peu nombreux et bien définis.
  • Les annotateurs doivent d'abord obtenir les bons segments ; les erreurs s'accumulent. Envisagez d'annoter les entités lors d'une première passe et les relations lors d'une seconde.
  • La sortie structurée rend les mesures d'accord non triviales : mesurez au niveau qui vous intéresse (déclencheur correct, argument correct, événement complet correct).

Pour aller plus loin