Annotazione Span
Evidenzia ed etichetta span di testo per il riconoscimento di entità nominate e altro ancora.
Annotazione Span
L'annotazione span consente agli annotatori di selezionare ed etichettare porzioni di testo, comunemente usata per il riconoscimento di entità nominate (NER), l'etichettatura delle parti del discorso e i compiti di evidenziazione del testo.
Configurazione di base
annotation_schemes:
- annotation_type: span
name: entities
description: "Highlight named entities in the text"
labels:
- PERSON
- ORGANIZATION
- LOCATIONOpzioni di configurazione
Etichette delle entità
Definisci i tipi di span che gli annotatori possono creare:
labels:
- PERSON
- ORGANIZATION
- LOCATION
- DATE
- EVENTColori delle etichette
Personalizza i colori per la distinzione visiva:
label_colors:
PERSON: "#3b82f6"
ORGANIZATION: "#10b981"
LOCATION: "#f59e0b"
DATE: "#8b5cf6"
EVENT: "#ec4899"I colori possono essere in formato esadecimale (#ff0000) o RGB (rgb(255, 0, 0)).
Scorciatoie da tastiera
Accelera l'annotazione con i binding da tastiera:
keyboard_shortcuts:
PERSON: "1"
ORGANIZATION: "2"
LOCATION: "3"
DATE: "4"Tooltip
Fornisci indicazioni per ogni etichetta:
tooltips:
PERSON: "Names of people, characters, or personas"
ORGANIZATION: "Companies, agencies, institutions"
LOCATION: "Physical locations, addresses, geographic regions"Span sovrapposti
Consenti la sovrapposizione
Abilita span che possono sovrapporsi:
- annotation_type: span
name: entities
labels:
- PERSON
- ROLE
allow_overlapping: trueQuesto è utile quando lo stesso testo può avere più etichette (ad es., "Dr. Smith" è sia una PERSON che ha un ROLE).
Disabilita la sovrapposizione (predefinito)
- annotation_type: span
name: entities
labels:
- PERSON
- ORGANIZATION
allow_overlapping: false # Default behaviorModalità di selezione degli span
Selezione a livello di parola
Seleziona solo parole complete:
- annotation_type: span
name: entities
selection_mode: word
labels:
- ENTITYSelezione a livello di carattere
Consenti la selezione di parole parziali:
- annotation_type: span
name: entities
selection_mode: character
labels:
- ENTITYSpan pre-annotati
Carica annotazioni esistenti per la revisione o la correzione:
{
"id": "doc1",
"text": "John Smith works at Microsoft in Seattle.",
"spans": [
{"start": 0, "end": 10, "label": "PERSON"},
{"start": 20, "end": 29, "label": "ORGANIZATION"},
{"start": 33, "end": 40, "label": "LOCATION"}
]
}Configura il caricamento delle pre-annotazioni:
- annotation_type: span
name: entities
load_pre_annotations: true
pre_annotation_field: spansConfigurazioni NER comuni
NER standard (4 tipi)
- annotation_type: span
name: ner
description: "Label named entities"
labels:
- PER # Person
- ORG # Organization
- LOC # Location
- MISC # Miscellaneous
label_colors:
PER: "#3b82f6"
ORG: "#10b981"
LOC: "#f59e0b"
MISC: "#6b7280"
keyboard_shortcuts:
PER: "1"
ORG: "2"
LOC: "3"
MISC: "4"NER esteso (stile OntoNotes)
- annotation_type: span
name: ner_extended
labels:
- PERSON
- NORP # Nationalities, religious/political groups
- FAC # Facilities
- ORG
- GPE # Geopolitical entities
- LOC
- PRODUCT
- EVENT
- WORK_OF_ART
- LAW
- LANGUAGE
- DATE
- TIME
- PERCENT
- MONEY
- QUANTITY
- ORDINAL
- CARDINALNER biomedico
- annotation_type: span
name: bio_ner
labels:
- GENE
- PROTEIN
- DISEASE
- DRUG
- SPECIES
label_colors:
GENE: "#22c55e"
PROTEIN: "#3b82f6"
DISEASE: "#ef4444"
DRUG: "#f59e0b"
SPECIES: "#8b5cf6"NER per social media
- annotation_type: span
name: social_ner
labels:
- PERSON
- ORGANIZATION
- LOCATION
- PRODUCT
- CREATIVE_WORK
- GROUPSpan con attributi
Aggiungi attributi agli span per un'annotazione più ricca:
annotation_schemes:
- annotation_type: span
name: entities
labels:
- PERSON
- ORGANIZATION
- annotation_type: radio
name: entity_type
description: "What type of entity is this?"
show_for_span: entities
labels:
- Named
- Nominal
- PronominalSchemi span multipli
Annota aspetti diversi separatamente:
annotation_schemes:
# Named entities
- annotation_type: span
name: entities
description: "Label named entities"
labels:
- PERSON
- ORGANIZATION
- LOCATION
# Sentiment expressions
- annotation_type: span
name: sentiment_spans
description: "Highlight sentiment expressions"
labels:
- POSITIVE
- NEGATIVE
label_colors:
POSITIVE: "#22c55e"
NEGATIVE: "#ef4444"Annotazione span su più campi
Novità nella v2.1.0
L'annotazione span può essere indirizzata a campi di testo specifici nei dati multi-campo usando l'opzione target_field. Questo è utile quando i dati contengono più campi di testo e si desidera annotare span in uno di essi in particolare.
Configurazione
annotation_schemes:
- annotation_type: span
name: source_entities
description: "Label entities in the source text"
target_field: "source_text"
labels:
- PERSON
- ORGANIZATION
- annotation_type: span
name: summary_entities
description: "Label entities in the summary"
target_field: "summary"
labels:
- PERSON
- ORGANIZATIONFormato dei dati multi-campo
I dati devono includere i campi di testo separati:
{
"id": "doc1",
"source_text": "John Smith works at Microsoft in Seattle.",
"summary": "Smith is employed by Microsoft."
}Formato di output
Quando si usa target_field, le annotazioni sono indicizzate per campo:
{
"id": "doc1",
"source_entities": {
"source_text": [
{"start": 0, "end": 10, "text": "John Smith", "label": "PERSON"},
{"start": 20, "end": 29, "text": "Microsoft", "label": "ORGANIZATION"}
]
},
"summary_entities": {
"summary": [
{"start": 0, "end": 5, "text": "Smith", "label": "PERSON"},
{"start": 22, "end": 31, "text": "Microsoft", "label": "ORGANIZATION"}
]
}
}Per un esempio funzionante completo, consulta project-hub/simple_examples/simple-multi-span/ nel repository Potato.
Opzioni di visualizzazione
Mostra etichetta nello span
Visualizza il testo dell'etichetta all'interno degli span evidenziati:
- annotation_type: span
name: entities
show_label_in_span: trueStile a sottolineatura
Usa la sottolineatura invece dell'evidenziazione di sfondo:
- annotation_type: span
name: entities
display_style: underlineFormato di output
Le annotazioni span vengono salvate con offset di carattere:
{
"id": "doc1",
"entities": [
{
"start": 0,
"end": 10,
"text": "John Smith",
"label": "PERSON"
},
{
"start": 20,
"end": 29,
"text": "Microsoft",
"label": "ORGANIZATION"
}
]
}Esempio completo: compito NER
task_name: "Named Entity Recognition"
data_files:
- path: data/documents.json
text_field: text
annotation_schemes:
- annotation_type: span
name: entities
description: "Highlight and label all named entities"
labels:
- PERSON
- ORGANIZATION
- LOCATION
- DATE
- MONEY
label_colors:
PERSON: "#3b82f6"
ORGANIZATION: "#10b981"
LOCATION: "#f59e0b"
DATE: "#8b5cf6"
MONEY: "#ec4899"
keyboard_shortcuts:
PERSON: "1"
ORGANIZATION: "2"
LOCATION: "3"
DATE: "4"
MONEY: "5"
tooltips:
PERSON: "Names of people"
ORGANIZATION: "Companies, agencies, institutions"
LOCATION: "Cities, countries, addresses"
DATE: "Dates and time expressions"
MONEY: "Monetary values"
allow_overlapping: false
selection_mode: word
- annotation_type: radio
name: difficulty
description: "How difficult was this document to annotate?"
labels:
- Easy
- Medium
- HardSpan discontinui
Novità nella v2.2.0
Abilita span di testo non contigui con il parametro allow_discontinuous. Questo consente agli annotatori di selezionare più segmenti di testo non adiacenti come una singola annotazione span, utile per entità discontinue o espressioni suddivise.
- annotation_type: span
name: entities
labels:
- PERSON
- ORGANIZATION
allow_discontinuous: trueQuando abilitato, gli annotatori possono tenere premuto un tasto modificatore mentre selezionano segmenti di testo aggiuntivi per aggiungerli allo span corrente. L'output include più coppie start/end per ogni segmento.
Integrazione con Entity Linking
Novità nella v2.2.0
Le annotazioni span possono essere collegate a basi di conoscenza esterne (Wikidata, UMLS o API REST personalizzate) aggiungendo un blocco di configurazione entity_linking allo schema span:
- annotation_type: span
name: entities
labels:
- PERSON
- ORGANIZATION
- LOCATION
entity_linking:
enabled: true
knowledge_bases:
- name: wikidata
type: wikidata
language: enQuando l'entity linking è abilitato, un'icona di collegamento appare nella barra di controllo di ogni span. Facendo clic su di essa si apre una finestra modale di ricerca per trovare e collegare le entità KB corrispondenti. Consulta la documentazione di Entity Linking per i dettagli completi.
Buone pratiche
- Usa colori distinti per una facile differenziazione visiva
- Fornisci tooltip chiari con esempi per ogni tipo di entità
- Abilita le scorciatoie da tastiera per un'annotazione più rapida
- Usa la selezione a livello di parola a meno che non sia necessaria la precisione a livello di carattere
- Considera la pre-annotazione per flussi di lavoro di correzione più rapidi
- Testa le impostazioni di sovrapposizione in base alle tue linee guida di annotazione
Ulteriori letture
- Entity Linking - Collega gli span a basi di conoscenza
- Catene di coreferenza - Raggruppa le menzioni che si riferiscono alla stessa entità
- Annotazione di eventi - Strutture di eventi N-ari con argomenti span
- Span Linking - Crea relazioni tra span
- Visualizzazione delle istanze - Visualizzazione di contenuti multi-campo con target span
- Configurazione UI - Personalizza i colori degli span
- Funzionalità di produttività - Scorciatoie da tastiera
Per i dettagli di implementazione, consulta la documentazione sorgente.