Skip to content

QA estrattivo

Costruisci in Potato interfacce di question answering in stile SQuAD per l'estrazione di risposte basata su span, i compiti di comprensione del testo e l'annotazione tramite evidenziazione di passaggi.

Lo schema di annotazione per il QA estrattivo offre un'interfaccia di question answering in cui gli annotatori evidenziano gli span di risposta direttamente dentro un passaggio di testo. È lo schema giusto per creare dataset di comprensione del testo, per l'annotazione QA in stile SQuAD, per la verifica dei fatti e per qualunque compito in cui le risposte vengono estratte alla lettera dal testo di partenza.

Interfaccia di QA estrattivo di Potato con uno span di risposta evidenziato in un passaggioQA estrattivo in Potato

Panoramica

Lo schema di QA estrattivo presenta:

  • Una domanda mostrata in evidenza sopra il passaggio
  • Un passaggio di testo in cui gli annotatori selezionano gli span di risposta evidenziandoli
  • Evidenziazioni colorate che marcano il testo di risposta selezionato
  • Un'opzione «senza risposta» per le domande a cui il passaggio non risponde

Avvio rapido

yaml
annotation_schemes:
  - annotation_type: extractive_qa
    name: answer_span
    description: Highlight the answer to the question in the passage below.
    question_field: question
    passage_field: passage
    allow_unanswerable: true

Opzioni di configurazione

CampoTipoDefaultDescrizione
annotation_typestringObbligatorioDeve essere "extractive_qa"
namestringObbligatorioIdentificatore univoco di questo schema
descriptionstringObbligatorioIstruzioni mostrate agli annotatori
question_fieldstring"question"Campo del JSON dei dati che contiene il testo della domanda
passage_fieldstring""Campo del JSON dei dati che contiene il testo del passaggio (la stringa vuota usa il campo di testo predefinito)
allow_unanswerablebooleantrueMostra una casella per marcare le domande come prive di risposta
highlight_colorstring"#FFEB3B"Colore CSS dell'evidenziazione della risposta

Esempi

QA in stile SQuAD

yaml
annotation_schemes:
  - annotation_type: extractive_qa
    name: squad_answer
    description: >
      Select the shortest span in the passage that answers the question.
      If the question cannot be answered from the passage, mark it as unanswerable.
    question_field: question
    passage_field: context
    allow_unanswerable: true
    highlight_color: "#FFEB3B"

Con dati di esempio:

json
{
  "id": "q001",
  "question": "When was the university founded?",
  "context": "The University of Michigan was founded in 1817 in Detroit and moved to Ann Arbor in 1837. It is one of the oldest public universities in the United States."
}

Verifica dei fatti

yaml
annotation_schemes:
  - annotation_type: extractive_qa
    name: evidence_span
    description: >
      Highlight the evidence in the passage that supports or refutes the claim.
      Mark as unanswerable if the passage contains no relevant evidence.
    question_field: claim
    passage_field: document
    allow_unanswerable: true
    highlight_color: "#81C784"

Estrazione della risposta senza opzione «senza risposta»

yaml
annotation_schemes:
  - annotation_type: extractive_qa
    name: definition_extraction
    description: >
      Highlight the definition of the term in the passage.
      Every passage contains a definition — select the most precise span.
    question_field: term
    passage_field: text
    allow_unanswerable: false
    highlight_color: "#64B5F6"

Formato di output

json
{
  "answer_span": {
    "labels": {
      "answer_start": 45,
      "answer_end": 49,
      "answer_text": "1817",
      "unanswerable": false
    }
  }
}

Quando l'annotatore marca una domanda come priva di risposta:

json
{
  "answer_span": {
    "labels": {
      "unanswerable": true
    }
  }
}

Buone pratiche

  1. Chiedi agli annotatori di selezionare span minimi - il testo più breve che risponde per intero alla domanda produce dati di addestramento più puliti
  2. Usa allow_unanswerable per compiti realistici - il QA reale contiene spesso domande senza risposta; disattivare l'opzione costringe gli annotatori a tirare a indovinare
  3. Scegli colori di evidenziazione leggibili - il colore deve avere abbastanza contrasto con il testo perché la lettura resti agevole
  4. Tieni i passaggi di lunghezza ragionevole - dalle 100 alle 500 parole funziona bene; con passaggi molto lunghi selezionare gli span diventa faticoso
  5. Formula le domande con chiarezza - domande ben costruite e non ambigue riducono i dubbi degli annotatori

Approfondimenti

Per i dettagli implementativi, vedi la documentazione sorgente.