Skip to content
هذه الصفحة غير متوفرة بلغتك بعد. يتم عرض النسخة الإنجليزية.

Confronto a coppie

Confronta coppie di elementi per la valutazione delle preferenze e della qualità.

Confronto a coppie

Il confronto a coppie consente agli annotatori di confrontare due elementi affiancati e di indicare la loro preferenza. Supporta due modalità:

  1. Modalità binaria (predefinita): Fai clic sul riquadro preferito (A o B), con pulsante di parità opzionale
  2. Modalità scala: Usa un cursore per valutare quanto un'opzione è preferita rispetto all'altra

I casi d'uso comuni includono il confronto degli output dei modelli, l'apprendimento delle preferenze per RLHF, il confronto della qualità di traduzioni o riassunti e il test A/B.

Modalità binaria

La modalità binaria visualizza due riquadri cliccabili. Gli annotatori fanno clic sull'opzione preferita.

yaml
annotation_schemes:
  - annotation_type: pairwise
    name: preference
    description: "Which response is better?"
    mode: binary
 
    # Data source - key in instance data containing items to compare
    items_key: "responses"
 
    # Display options
    show_labels: true
    labels:
      - "Response A"
      - "Response B"
 
    # Tie option
    allow_tie: true
    tie_label: "No preference"
 
    # Keyboard shortcuts
    sequential_key_binding: true
 
    # Validation
    label_requirement:
      required: true

Modalità scala

La modalità scala visualizza un cursore tra due elementi, consentendo agli annotatori di indicare il grado di preferenza.

yaml
annotation_schemes:
  - annotation_type: pairwise
    name: preference_scale
    description: "Rate how much better A is than B"
    mode: scale
 
    items_key: "responses"
 
    labels:
      - "Response A"
      - "Response B"
 
    # Scale configuration
    scale:
      min: -3           # Negative = prefer left item (A)
      max: 3            # Positive = prefer right item (B)
      step: 1
      default: 0
 
      # Endpoint labels
      labels:
        min: "A is much better"
        max: "B is much better"
        center: "Equal"
 
    label_requirement:
      required: true

Formato dei dati

Lo schema si aspetta dati di istanza con un elenco di elementi da confrontare:

json
{"id": "1", "responses": ["Response A text", "Response B text"]}
{"id": "2", "responses": ["First option here", "Second option here"]}

La configurazione items_key specifica quale campo contiene gli elementi da confrontare. Il campo deve contenere un elenco con almeno 2 elementi.

Scorciatoie da tastiera

In modalità binaria con sequential_key_binding: true:

TastoAzione
1Seleziona l'opzione A
2Seleziona l'opzione B
0Seleziona parità/nessuna preferenza (se allow_tie: true)

La modalità scala usa l'interazione con il cursore.

Formato di output

Modalità binaria

json
{
  "preference": {
    "selection": "A"
  }
}

Con parità:

json
{
  "preference": {
    "selection": "tie"
  }
}

Modalità scala

I valori negativi indicano preferenza per A, positivi per B, zero per uguaglianza:

json
{
  "preference_scale": {
    "scale_value": "-2"
  }
}

Esempi

Confronto binario di base

yaml
annotation_schemes:
  - annotation_type: pairwise
    name: quality
    description: "Which text is higher quality?"
    labels: ["Text A", "Text B"]
    allow_tie: true

Confronto multi-aspetto

Confronta su più dimensioni:

yaml
annotation_schemes:
  - annotation_type: pairwise
    name: fluency
    description: "Which response is more fluent?"
    labels: ["Response A", "Response B"]
 
  - annotation_type: pairwise
    name: relevance
    description: "Which response is more relevant?"
    labels: ["Response A", "Response B"]
 
  - annotation_type: pairwise
    name: overall
    description: "Which response is better overall?"
    labels: ["Response A", "Response B"]
    allow_tie: true

Scala di preferenza con intervallo personalizzato

yaml
annotation_schemes:
  - annotation_type: pairwise
    name: sentiment_comparison
    description: "Compare the sentiment of these two statements"
    mode: scale
    labels: ["Statement A", "Statement B"]
    scale:
      min: -5
      max: 5
      step: 1
      labels:
        min: "A is much more positive"
        max: "B is much more positive"
        center: "Equal sentiment"

Raccolta di preferenze RLHF

yaml
annotation_schemes:
  - annotation_type: pairwise
    name: overall
    description: "Overall, which response is better?"
    labels: ["Response A", "Response B"]
    allow_tie: true
    sequential_key_binding: true
 
  - annotation_type: multiselect
    name: criteria
    description: "What factors influenced your decision?"
    labels:
      - Accuracy
      - Helpfulness
      - Clarity
      - Safety
      - Completeness
 
  - annotation_type: text
    name: notes
    description: "Additional notes (optional)"
    textarea: true
    required: false

Stile

L'annotazione pairwise usa le variabili CSS del sistema di temi. Aggiungi CSS personalizzato per la personalizzazione dei riquadri:

css
/* Make tiles taller */
.pairwise-tile {
  min-height: 200px;
}
 
/* Change selected tile highlight */
.pairwise-tile.selected {
  border-color: #10b981;
  background-color: rgba(16, 185, 129, 0.1);
}

Buone pratiche

  1. Usa etichette chiare e distinte - gli annotatori devono capire immediatamente le opzioni
  2. Considera attentamente le opzioni di parità - a volte forzare una scelta è appropriato
  3. Usa le scorciatoie da tastiera - accelera significativamente l'annotazione
  4. Aggiungi campi di giustificazione - aiuta a comprendere il ragionamento e migliora la qualità dei dati
  5. Testa con i tuoi dati - assicurati che la visualizzazione funzioni bene con la lunghezza del contenuto

Ulteriori letture

Per i dettagli di implementazione, consulta la documentazione sorgente.