Skip to content

Vinculación de Entidades

Vincula anotaciones de segmentos a bases de conocimiento externas como Wikidata, UMLS o APIs personalizadas.

Vinculación de Entidades

La vinculación de entidades permite a los anotadores conectar anotaciones de segmentos a bases de conocimiento (KB) externas como Wikidata o UMLS. Esto crea vínculos semánticos entre menciones de texto y entidades canónicas, valioso para el reconocimiento de entidades nombradas, la normalización de conceptos y la construcción de grafos de conocimiento.

Cómo Funciona

Cuando la vinculación de entidades está habilitada para un esquema de anotación de segmentos:

  1. Los anotadores resaltan texto y asignan una etiqueta (por ejemplo, "PERSON", "ORGANIZATION")
  2. Aparece un icono de enlace en la barra de control del segmento
  3. Al hacer clic en el icono se abre un modal de búsqueda para encontrar entidades KB coincidentes
  4. El ID de la entidad seleccionada se almacena con la anotación del segmento
  5. Los segmentos vinculados muestran un icono relleno y detalles de la entidad al pasar el cursor

Inicio Rápido

Habilita la vinculación de entidades añadiendo la configuración entity_linking a un esquema de segmentos:

yaml
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: en

Opciones de Configuración

OpciónTipoPredeterminadoDescripción
enabledbooleanfalseHabilitar vinculación de entidades para este esquema
knowledge_baseslist[]Lista de configuraciones de KB
auto_searchbooleantrueBuscar automáticamente cuando se abre el modal
requiredbooleanfalseRequerir vínculo de entidad antes de guardar el segmento
multi_selectbooleanfalsePermitir vincular a múltiples entidades

Configuración de Base de Conocimiento

OpciónTipoPredeterminadoDescripción
namestringrequeridoIdentificador único para esta KB
typestringrequeridoTipo de KB: wikidata, umls o rest
api_keystringnullClave API para servicios autenticados
base_urlstringnullURL base para APIs REST
languagestring"en"Código de idioma para resultados de búsqueda
timeoutinteger10Tiempo de espera de solicitud en segundos

Bases de Conocimiento Soportadas

Wikidata

Base de conocimiento libre y abierta con más de 100 millones de entidades. No requiere clave API.

yaml
entity_linking:
  enabled: true
  knowledge_bases:
    - name: wikidata
      type: wikidata
      language: en

Incluye etiquetas multilingües, alias de entidades (por ejemplo, "NYC" encuentra "New York City") y enlaces a artículos de Wikipedia.

UMLS

Terminología médica y biomédica integral. Requiere una clave API gratuita de UTS.

yaml
entity_linking:
  enabled: true
  knowledge_bases:
    - name: umls
      type: umls
      api_key: ${UMLS_API_KEY}

Incluye conceptos médicos, medicamentos, enfermedades, procedimientos y referencias cruzadas a más de 200 vocabularios fuente (SNOMED CT, ICD-10, MeSH, RxNorm).

APIs REST Personalizadas

Conéctate a cualquier base de conocimiento con una API REST:

yaml
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: description

Múltiples Bases de Conocimiento

Configura múltiples KBs para permitir a los anotadores elegir la fuente más apropiada:

yaml
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/entities

Un menú desplegable en el modal de búsqueda permite a los anotadores cambiar entre las bases de conocimiento configuradas.

Modo Multi-Selección

Habilita la multi-selección para permitir vincular un segmento a múltiples entidades, útil para menciones ambiguas:

yaml
entity_linking:
  enabled: true
  multi_select: true
  knowledge_bases:
    - name: wikidata
      type: wikidata
      language: en

Formato de Datos

Los segmentos vinculados a entidades incluyen campos adicionales en la salida:

json
{
  "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"
        }
      ]
    }
  }
}

Mejores Prácticas

  1. Habilitar auto-búsqueda para eficiencia - pre-rellena la búsqueda con el texto del segmento
  2. No requerir vinculación a menos que sea esencial - no bloquees la anotación si la entidad no se encuentra
  3. Establecer tiempos de espera apropiados para redes lentas
  4. Emparejar KB con tipo de entidad - Usa Wikidata para entidades generales, UMLS para términos biomédicos, APIs personalizadas para entidades específicas del dominio
  5. Usar multi-selección para menciones ambiguas - abreviaturas, nombres comunes, términos polisémicos

Lectura Adicional

Para detalles de implementación, consulta la documentación fuente.