Skip to content

Entity linking

Come annotare l'entity linking, cioè collegare le menzioni nel testo alle voci di una knowledge base come Wikidata, e come impostare un task di linking in Potato.

L'entity linking collega una menzione nel testo a una voce precisa di una knowledge base: risolve «Parigi» nella città francese e non nella persona, o nella città del Texas. Se il riconoscimento di entità nominate stabilisce che qualcosa è un'entità, l'entity linking decide quale entità del mondo reale sia.

Per il contesto, vedi Entity linking e i bersagli più comuni, Wikidata e Wikipedia. Il tema è strettamente legato alla disambiguazione dei sensi delle parole.

Cosa fanno gli annotatori

  1. Viene individuato lo span della menzione (spesso già marcato da un passaggio di NER).
  2. L'annotatore cerca nella knowledge base e seleziona la voce corrispondente.
  3. Se nessuna voce va bene, marca NIL (non presente nella knowledge base).

Il caso NIL è indispensabile: senza, gli annotatori forzano le menzioni su voci sbagliate e rovinano i dati.

Come impostarlo in Potato

Potato supporta l'entity linking con una ricerca typeahead su una knowledge base (Wikidata, UMLS o un elenco personalizzato), così gli annotatori scelgono tra candidati reali invece di digitare ID. La vetrina dedicata all'entity linking è un esempio funzionante.

yaml
annotation_schemes:
  - annotation_type: span
    name: mentions
    description: "Mark the mention to link."
    labels: [Entity]
  - annotation_type: text
    name: kb_id
    description: "Search the knowledge base and enter the matching ID, or write NIL if none fits."

Aspetti di qualità

  • Qualità dei candidati. Un buon typeahead con le descrizioni riduce le scelte sbagliate molto più di linee guida lunghe.
  • Default per l'ambiguità. Di' agli annotatori cosa fare quando due voci sembrano ugualmente valide.
  • Granularità. Collegare all'azienda o alla controllata? Al film o alla saga? Decidilo una volta per tutte.

Approfondimenti