Skip to content

Fundamentos de Configuración

Aprende los fundamentos de los archivos de configuración de Potato.

Fundamentos de Configuración

Potato utiliza archivos de configuración YAML para definir tareas de anotación. Esta guía cubre las opciones esenciales de configuración.

Estructura del Archivo de Configuración

Una configuración básica de Potato tiene estas secciones principales:

yaml
# Task settings
annotation_task_name: "My Annotation Task"
port: 8000
 
# Data configuration
data_files:
  - data.json
 
item_properties:
  id_key: id
  text_key: text
 
# Output settings
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
 
# Annotation schemes
annotation_schemes:
  - annotation_type: radio
    name: my_annotation
    labels:
      - Label 1
      - Label 2
 
# User settings
allow_all_users: true

Ajustes Esenciales

Configuración de Tarea y Servidor

yaml
annotation_task_name: "My Task"  # Display name for your task
port: 8000                       # Port to run the server on

Configuración de Datos

yaml
data_files:
  - data.json           # Path to your data file(s)
  - more_data.json      # You can specify multiple files
 
item_properties:
  id_key: id            # Field containing unique ID
  text_key: text        # Field containing text to annotate

Formatos de datos soportados:

  • JSON (.json)
  • JSON Lines (.jsonl)
  • CSV (.csv)
  • TSV (.tsv)

Configuración de Salida

yaml
output_annotation_dir: "annotation_output/"   # Directory for annotation files
output_annotation_format: "json"              # Format: json, jsonl, csv, tsv

Esquemas de Anotación

Define uno o más esquemas de anotación:

yaml
annotation_schemes:
  - annotation_type: radio      # Type of annotation
    name: sentiment             # Internal name
    description: "Select the sentiment"  # Instructions
    labels:                     # Options for annotators
      - Positive
      - Negative
      - Neutral

Tipos de Anotación Disponibles

TipoDescripción
radioSelección de opción única
multiselectSelección de opción múltiple
likertCalificación en una escala
textEntrada de texto libre
numberEntrada numérica
spanResaltado de segmentos de texto
sliderSelección de rango continuo
multirateCalificar múltiples elementos

Configuración de Usuarios

Permitir todos los usuarios

yaml
allow_all_users: true

Restringir a usuarios específicos

yaml
allow_all_users: false
authorized_users:
  - user1@example.com
  - user2@example.com

Directorio de Tarea

La configuración task_dir define el directorio raíz para rutas relativas:

yaml
task_dir: ./my-task/
data_files:
  - data/input.json    # Resolves to ./my-task/data/input.json

Ejemplo Completo

Aquí tienes una configuración completa para una tarea de análisis de sentimiento:

yaml
# config.yaml
annotation_task_name: "Sentiment Analysis"
port: 8000
task_dir: ./
 
# Data
data_files:
  - data/tweets.json
 
item_properties:
  id_key: id
  text_key: text
  context_key: metadata
 
# Output
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
 
# Annotation
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "What is the sentiment expressed in this tweet?"
    labels:
      - name: Positive
        key_value: "1"
      - name: Negative
        key_value: "2"
      - name: Neutral
        key_value: "3"
    sequential_key_binding: true
 
# Users
allow_all_users: true
 
# Assignment
instances_per_annotator: 100
annotation_per_instance: 2

Próximos Pasos