Extractive QA
Oberflächen für Question Answering im SQuAD-Stil in Potato bauen, für die spanbasierte Extraktion von Antworten, Aufgaben zum Leseverständnis und das Markieren von Textstellen in Passagen.
Das Annotationsschema Extractive QA bietet eine Oberfläche für Question Answering, in der Annotatoren die Antwortspanne direkt in einer Textpassage markieren. Das Schema eignet sich für den Aufbau von Datensätzen zum Leseverständnis, für QA-Annotation im SQuAD-Stil, für Faktenprüfung und für jede Aufgabe, bei der Antworten wörtlich aus dem Quelltext entnommen werden.
Extractive QA in Potato
Überblick
Das Schema Extractive QA zeigt:
- Eine Frage, gut sichtbar über der Passage
- Eine Textpassage, in der Annotatoren die Antwortspanne durch Markieren auswählen
- Farbige Markierungen für den ausgewählten Antworttext
- Eine Option für unbeantwortbar, falls sich die Frage aus der Passage nicht beantworten lässt
Schnelleinstieg
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: trueKonfigurationsoptionen
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
annotation_type | string | Pflicht | muss "extractive_qa" sein |
name | string | Pflicht | eindeutige Kennung dieses Schemas |
description | string | Pflicht | Anweisungen, die Annotatoren angezeigt werden |
question_field | string | "question" | Feld im Daten-JSON mit dem Fragetext |
passage_field | string | "" | Feld im Daten-JSON mit dem Passagentext (bei leerem String wird das Standard-Textfeld verwendet) |
allow_unanswerable | boolean | true | zeigt ein Kontrollkästchen, um Fragen als unbeantwortbar zu markieren |
highlight_color | string | "#FFEB3B" | CSS-Farbe für die Markierung der Antwort |
Beispiele
QA im SQuAD-Stil
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"Mit Beispieldaten:
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."
}Faktenprüfung
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"Antwortextraktion ohne Option für unbeantwortbar
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"Ausgabeformat
json
{
"answer_span": {
"labels": {
"answer_start": 45,
"answer_end": 49,
"answer_text": "1817",
"unanswerable": false
}
}
}Markiert der Annotator eine Frage als unbeantwortbar:
json
{
"answer_span": {
"labels": {
"unanswerable": true
}
}
}Bewährte Vorgehensweisen
- Annotatoren zu minimalen Spannen anhalten - der kürzeste Text, der die Frage vollständig beantwortet, ergibt saubere Trainingsdaten
- allow_unanswerable für realistische Aufgaben nutzen - in der Praxis enthält QA häufig unbeantwortbare Fragen; wer die Option abschaltet, zwingt Annotatoren zum Raten
- Gut lesbare Markierungsfarben wählen - die Markierungsfarbe sollte genug Kontrast zum Text haben, damit dieser lesbar bleibt
- Passagen in vernünftiger Länge halten - 100 bis 500 Wörter je Passage funktionieren gut; sehr lange Passagen machen die Auswahl der Spanne mühsam
- Fragen klar formulieren - gut formulierte, eindeutige Fragen verringern Unsicherheit bei den Annotatoren
Weiterführende Literatur
- Spannen-Annotation - allgemeine Auszeichnung von Spannen
- Text- und Zahleneingabe - Freitextantworten eingeben
- KI-Unterstützung - KI-gestützte Annotationshinweise
Implementierungsdetails stehen in der Quelldokumentation.