Reconnaissance d'entités nommées
Ce qu'est la reconnaissance d'entités nommées (NER), les jeux d'étiquettes courants et comment construire une tâche d'annotation NER dans Potato avec des étiquettes de segment colorées et des infobulles.
La reconnaissance d'entités nommées (NER) est la tâche qui consiste à repérer et à classer les choses nommées dans un texte : personnes, organisations, lieux, dates, et plus encore. C'est une tâche d'annotation de segments dotée d'un jeu d'étiquettes typées par entité. Le NER est une brique de base pour la recherche, les graphes de connaissances, l'anonymisation et l'extraction d'information.
Pour le contexte, voir Reconnaissance d'entités nommées.
Choisir un jeu d'étiquettes
Partez d'un schéma standard et réduisez-le à votre domaine :
- CoNLL-2003 :
PER,ORG,LOC,MISC. Un bon minimum par défaut. - OntoNotes : 18 types, dont les dates, les montants et les pourcentages, pour des besoins plus riches.
- Spécifique au domaine : biomédical (gènes, maladies), juridique (lois, parties) ou financier.
Moins de types, bien définis, donnent un meilleur accord. N'ajoutez des types que lorsqu'un usage en aval réel les exige.
Construire la tâche dans Potato
annotation_schemes:
- annotation_type: span
name: entities
description: "Highlight each named entity and select its type."
labels: [PERSON, ORGANIZATION, LOCATION, DATE, MISC]
label_colors:
PERSON: "#3b82f6"
ORGANIZATION: "#10b981"
LOCATION: "#f59e0b"
DATE: "#8b5cf6"
MISC: "#6b7280"
tooltips:
PERSON: "Names of people, e.g. 'Ada Lovelace'."
ORGANIZATION: "Companies, agencies, teams, e.g. 'United Nations'."
LOCATION: "Cities, countries, landmarks, e.g. 'Paris'."
DATE: "Dates and time expressions, e.g. 'next Monday'."
MISC: "Named entities that fit none of the above."
allow_overlapping: false
sequential_key_binding: trueLa vitrine de reconnaissance d'entités nommées exécute cette configuration avec des données d'exemple.
Des règles de frontières qui évitent les désaccords
La plupart des désaccords en NER portent sur l'endroit où une entité commence et se termine, pas sur *ce qu'*elle est. Décidez et documentez :
- Les titres comptent-ils ? (« Dr. Jane Smith » contre « Dr. Jane Smith ».)
- Incluez-vous le « the » dans « the United Nations » ?
- Comment étiquetez-vous les entités imbriquées comme « Bank of England » ? Si vous en avez besoin, mettez
allow_overlapping: true.
Des étiquettes à un modèle
Exportez au format CoNLL ou spaCy, qui représentent les entités avec des étiquettes BIO/IOB. Voir Exporter des annotations pour le ML.
Pour aller plus loin
- Annotation de segments
- Liage d'entités, relier les entités à une base de connaissances
- Extraction de relations et d'événements