Skip to content

Anotación de tramos

Una guía completa de la anotación de tramos: resaltar regiones de texto, tramos solapados y anidados, colores de etiquetas, etiquetado BIO/IOB y cómo crear tareas de tramos en Potato.

La anotación de tramos consiste en marcar una región dentro de un elemento en lugar de etiquetar el elemento entero. El anotador resalta un fragmento de texto (o un segmento de audio) y le asigna una etiqueta. Es la base del reconocimiento de entidades nombradas, el marcado de errores, las preguntas y respuestas extractivas y la detección de eventos de audio: todas son tareas de tramos con distintos conjuntos de etiquetas.

Un tramo es una subsecuencia etiquetada: una posición de inicio, una posición de fin y una categoría. En aprendizaje automático esto suele plantearse como etiquetado de secuencias, donde cada token recibe una etiqueta.

Una tarea de tramos básica

Define las etiquetas y deja que los anotadores resalten. Los colores y las descripciones emergentes hacen que la interfaz sea rápida y se explique por sí sola:

yaml
annotation_schemes:
  - annotation_type: span
    name: entities
    description: "Highlight each named entity and choose its type."
    labels: [PERSON, ORGANIZATION, LOCATION, DATE, MISC]
    label_colors:
      PERSON: "#3b82f6"
      ORGANIZATION: "#10b981"
      LOCATION: "#f59e0b"
      DATE: "#8b5cf6"
      MISC: "#6b7280"
    sequential_key_binding: true
    allow_overlapping: false

El diseño de reconocimiento de entidades nombradas es exactamente esta tarea, listo para ejecutarse.

Tramos solapados y anidados

Por defecto, un carácter pertenece como máximo a un tramo. Algunas tareas necesitan más:

  • Tramos solapados: dos anotaciones cubren parte del mismo texto, por ejemplo un tramo de sentimiento sobre un tramo de entidad.
  • Tramos anidados: un tramo está dentro de otro, por ejemplo "[University of [Michigan]]", donde la ubicación está anidada dentro de la organización.

Activa allow_overlapping: true cuando tus directrices lo requieran. Decídelo pronto, porque cambia la forma en que los anotadores piensan sobre los límites.

Etiquetado BIO/IOB: cómo se ve tu exportación

Las anotaciones de tramos suelen exportarse para el entrenamiento como etiquetas de token en el esquema BIO (también llamado IOB): B- marca el primer token de una entidad, I- marca los tokens dentro de ella y O marca los tokens que están fuera de cualquier entidad.

text
Barack    B-PERSON
Obama     I-PERSON
visited   O
Paris     B-LOCATION

Potato puede exportar tramos a los formatos CoNLL y spaCy, que usan este etiquetado directamente. Consulta Exportar anotaciones para ML.

Acertar con los límites

Lo más difícil del trabajo con tramos es ponerse de acuerdo sobre dónde empieza y termina un tramo. Algunas reglas que ayudan:

  • Decide si incluir la puntuación circundante, los tratamientos ("Dr.") y los posesivos finales, y déjalo por escrito.
  • Mide la concordancia a nivel de tramo, no solo a nivel de documento, para que afloren los desacuerdos sobre los límites. Consulta La concordancia entre anotadores.
  • Usa descripciones emergentes para mantener la regla de los límites siempre delante del anotador.

Tareas de tramos más allá del NER

El mismo mecanismo impulsa muchas tareas:

Lecturas adicionales