Skip to content

Funciones de Productividad

Atajos de teclado, tooltips, resaltado de palabras clave y sugerencias de etiquetas.

Funciones de Productividad

Potato incluye varias funciones para ayudar a los anotadores a trabajar más rápido y con mayor precisión, incluyendo atajos de teclado, tooltips, resaltado de palabras clave y sugerencias de etiquetas.

Atajos de Teclado

Asignación Secuencial de Teclas

Para esquemas de anotación con un máximo de 10 opciones, las teclas pueden asignarse secuencialmente de forma predeterminada:

yaml
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    labels: [positive, neutral, negative]
    sequential_key_binding: true

La primera opción corresponderá a la tecla "1", la segunda a "2", y así sucesivamente.

Asignación Personalizada de Teclas

Para mayor control, configura asignaciones de teclas personalizadas en cada etiqueta:

yaml
annotation_schemes:
  - annotation_type: multiselect
    labels:
      - name: "Option 1"
        key_value: "1"
      - name: "Option 2"
        key_value: "2"
      - name: "Skip"
        key_value: "s"

Resaltado de Palabras Clave del Administrador

Ayuda a los anotadores a identificar palabras y frases relevantes con resaltados de colores alrededor del texto coincidente.

Configuración

yaml
keyword_highlights_file: data/keywords.tsv

Formato del Archivo TSV

El archivo de palabras clave debe estar separado por tabulaciones con tres columnas:

text
Word	Label	Schema
love	positive	sentiment
hate	negative	sentiment
excel*	positive	sentiment
disappoint*	negative	sentiment
ColumnaDescripción
WordPalabra clave o frase a resaltar (admite comodines *)
LabelEtiqueta de anotación asociada a esta palabra clave
SchemaNombre del esquema de anotación

Comportamiento de Coincidencia

  • Sin distinción de mayúsculas: "Love" coincide con "love", "LOVE", "Love"
  • Límites de palabra: "love" coincide con "love" pero no con "lovely" (a menos que se usen comodines)
  • Comodines: Usa * para coincidencia de prefijo/sufijo:
    • excel* coincide con "excellent", "excels", "excel"
    • *happy coincide con "unhappy", "happy"

Configuración de Colores

Los colores se configuran en la sección ui.spans.span_colors:

yaml
ui:
  spans:
    span_colors:
      sentiment:
        positive: "(34, 197, 94)"    # Green
        negative: "(239, 68, 68)"    # Red
        neutral: "(156, 163, 175)"   # Gray

Configuración de Aleatorización

Para fines de investigación, configura la aleatorización del resaltado de palabras clave para evitar que los anotadores dependan únicamente de los resaltados:

yaml
keyword_highlights_file: data/keywords.tsv
 
keyword_highlight_settings:
  keyword_probability: 1.0       # Show 100% of keywords (0.0-1.0)
  random_word_probability: 0.05  # Highlight 5% random words as distractors
  random_word_label: "distractor"
  random_word_schema: "keyword"

Características Principales:

  • Persistencia: Las palabras resaltadas se almacenan en caché por usuario+instancia
  • Aleatorización determinista: Usa el hash de nombre de usuario + instance_id como semilla
  • Seguimiento de comportamiento: Registra qué palabras fueron resaltadas

Tooltips

Agrega explicaciones detalladas para cada opción de respuesta:

Tooltips de Texto Plano

yaml
annotation_schemes:
  - annotation_type: multiselect
    name: "Question"
    labels:
      - name: "Label 1"
        tooltip: "This option means..."

Tooltips HTML

Para tooltips con formato, apunta a un archivo HTML:

yaml
annotation_schemes:
  - annotation_type: multiselect
    name: "Question"
    labels:
      - name: "Label 1"
        tooltip_file: "config/tooltips/label1_tooltip.html"

Sugerencias de Etiquetas

Muestra sugerencias para ayudar a los anotadores con dos modos:

  • highlight: Resalta las etiquetas sugeridas con color
  • prefill: Pre-selecciona automáticamente las etiquetas sugeridas

Configuración

yaml
annotation_schemes:
  - annotation_type: multiselect
    name: "sentiment"
    description: "What sentiment does the text express?"
    labels: [positive, neutral, negative]
    label_suggestions: "highlight"  # or "prefill"
 
  - annotation_type: text
    name: "explanation"
    description: "Why do you think so?"
    multiline: true
    rows: 2
    label_suggestions: "prefill"

Formato de Datos

Incluye sugerencias en tus elementos de datos:

json
{
  "id": "1",
  "text": "Good Job!",
  "label_suggestions": {
    "sentiment": "positive",
    "explanation": "Because I think "
  }
}

Asignación Automática de Tareas

Asigna fácilmente tareas de anotación a diferentes anotadores:

yaml
automatic_assignment:
  on: true
  output_filename: "task_assignment.json"
  sampling_strategy: "random"
  labels_per_instance: 10
  instance_per_annotator: 50
  test_question_per_annotator: 2

Integración con Aprendizaje Activo

Las funciones de productividad se integran con el Aprendizaje Activo para priorizar las instancias más informativas:

yaml
active_learning:
  enabled: true
  schema_names: ["sentiment"]
  min_annotations_per_instance: 2
  min_instances_for_training: 20
  update_frequency: 10

Mejores Prácticas

  1. Usa atajos de teclado para tareas de alto volumen - aceleran significativamente la anotación
  2. Agrega tooltips para etiquetas complejas o ambiguas para reducir la inconsistencia
  3. Usa resaltado de palabras clave para dirigir la atención al texto relevante, pero considera la aleatorización para la validez de la investigación
  4. Pre-rellena sugerencias con cuidado - pueden sesgar a los anotadores si se usan en exceso

Lectura Adicional

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