Entity Linking
Collega le annotazioni span a basi di conoscenza esterne come Wikidata, UMLS o API personalizzate.
Entity Linking
L'entity linking consente agli annotatori di collegare le annotazioni span a basi di conoscenza (KB) esterne come Wikidata o UMLS. Questo crea link semantici tra le menzioni testuali e le entità canoniche, utile per il riconoscimento di entità nominate, la normalizzazione dei concetti e la costruzione di grafi di conoscenza.
Come funziona
Quando l'entity linking è abilitato per uno schema di annotazione span:
- Gli annotatori evidenziano il testo e assegnano un'etichetta (ad es., "PERSON", "ORGANIZATION")
- Un'icona di collegamento appare nella barra di controllo dello span
- Facendo clic sull'icona si apre una finestra modale di ricerca per trovare le entità KB corrispondenti
- L'ID dell'entità selezionata viene memorizzato con l'annotazione span
- Gli span collegati mostrano un'icona piena e i dettagli dell'entità al passaggio del mouse
Avvio rapido
Abilita l'entity linking aggiungendo la configurazione entity_linking a uno schema span:
annotation_schemes:
- annotation_type: span
name: ner
description: Named Entity Recognition with KB linking
labels:
- name: PERSON
tooltip: "People's names"
- name: ORGANIZATION
tooltip: "Companies, agencies, institutions"
- name: LOCATION
tooltip: "Places, cities, countries"
entity_linking:
enabled: true
knowledge_bases:
- name: wikidata
type: wikidata
language: enOpzioni di configurazione
| Opzione | Tipo | Predefinito | Descrizione |
|---|---|---|---|
enabled | boolean | false | Abilita l'entity linking per questo schema |
knowledge_bases | list | [] | Elenco delle configurazioni KB |
auto_search | boolean | true | Cerca automaticamente quando si apre la finestra modale |
required | boolean | false | Richiede il link all'entità prima di salvare lo span |
multi_select | boolean | false | Consente il collegamento a più entità |
Configurazione della base di conoscenza
| Opzione | Tipo | Predefinito | Descrizione |
|---|---|---|---|
name | string | obbligatorio | Identificatore univoco per questa KB |
type | string | obbligatorio | Tipo di KB: wikidata, umls o rest |
api_key | string | null | Chiave API per servizi autenticati |
base_url | string | null | URL base per API REST |
language | string | "en" | Codice lingua per i risultati di ricerca |
timeout | integer | 10 | Timeout della richiesta in secondi |
Basi di conoscenza supportate
Wikidata
Base di conoscenza gratuita e aperta con oltre 100 milioni di entità. Non è richiesta una chiave API.
entity_linking:
enabled: true
knowledge_bases:
- name: wikidata
type: wikidata
language: enSupporta etichette multilingue, alias di entità (ad es., "NYC" trova "New York City") e link agli articoli di Wikipedia.
UMLS
Terminologia medica e biomedica completa. Richiede una chiave API gratuita da UTS.
entity_linking:
enabled: true
knowledge_bases:
- name: umls
type: umls
api_key: ${UMLS_API_KEY}Include concetti medici, farmaci, malattie, procedure e riferimenti incrociati a oltre 200 vocabolari sorgente (SNOMED CT, ICD-10, MeSH, RxNorm).
API REST personalizzate
Collegati a qualsiasi base di conoscenza con un'API REST:
entity_linking:
enabled: true
knowledge_bases:
- name: internal_kb
type: rest
base_url: https://api.example.com
api_key: optional_api_key
extra_params:
search_endpoint: /search
entity_endpoint: /entity/{entity_id}
search_query_param: q
results_path: data.results
entity_id_field: id
label_field: name
description_field: descriptionBasi di conoscenza multiple
Configura più KB per consentire agli annotatori di scegliere la fonte più appropriata:
entity_linking:
enabled: true
knowledge_bases:
- name: wikidata
type: wikidata
language: en
- name: umls
type: umls
api_key: ${UMLS_API_KEY}
- name: company_entities
type: rest
base_url: https://internal.company.com/api/entitiesUn menu a discesa nella finestra modale di ricerca consente agli annotatori di passare tra le basi di conoscenza configurate.
Modalità multi-selezione
Abilita la multi-selezione per consentire il collegamento di uno span a più entità, utile per menzioni ambigue:
entity_linking:
enabled: true
multi_select: true
knowledge_bases:
- name: wikidata
type: wikidata
language: enFormato dei dati
Gli span con entity linking includono campi aggiuntivi nell'output:
{
"id": "instance_001",
"text": "Albert Einstein was born in Ulm, Germany in 1879.",
"annotations": {
"ner": {
"spans": [
{
"text": "Albert Einstein",
"start": 0,
"end": 15,
"label": "PERSON",
"kb_id": "Q937",
"kb_source": "wikidata",
"kb_label": "Albert Einstein"
},
{
"text": "Ulm",
"start": 28,
"end": 31,
"label": "LOCATION",
"kb_id": "Q3012",
"kb_source": "wikidata",
"kb_label": "Ulm"
}
]
}
}
}Buone pratiche
- Abilita la ricerca automatica per l'efficienza - pre-popola la ricerca con il testo dello span
- Non rendere il collegamento obbligatorio salvo che sia essenziale - non bloccare l'annotazione se l'entità non viene trovata
- Imposta timeout appropriati per reti lente
- Abbina la KB al tipo di entità - Usa Wikidata per entità generali, UMLS per termini biomedici, API personalizzate per entità specifiche del dominio
- Usa la multi-selezione per menzioni ambigue - abbreviazioni, nomi comuni, termini polisemici
Ulteriori letture
- Annotazione Span - Configurazione base dell'annotazione span
- Catene di coreferenza - Raggruppamento delle menzioni di entità
- Annotazione di eventi - Strutture di eventi N-ari
Per i dettagli di implementazione, consulta la documentazione sorgente.