Annotazione di dialoghi
Annota conversazioni e testi multi-elemento con opzioni di visualizzazione speciali.
Annotazione di dialoghi e liste
Potato supporta l'annotazione di dati multi-elemento in cui ogni istanza contiene un elenco di elementi testuali. Questo è comunemente usato per:
- Annotazione di dialoghi: Conversazioni con più turni
- Confronto a coppie: Confronto di due o più varianti testuali
- Compiti multi-documento: Valutazione o etichettatura di più testi correlati
Formato dei dati
Dati di input
I dati multi-elemento sono rappresentati come un elenco di stringhe nel campo text:
{"id": "conv_001", "text": ["Tom: Isn't this awesome?!", "Sam: Yes! I like you!", "Tom: Great!", "Sam: Awesome! Let's party!"]}
{"id": "conv_002", "text": ["Tom: I am so sorry for that", "Sam: No worries", "Tom: Thanks for your understanding!"]}Ogni stringa nell'elenco rappresenta un elemento (ad es., un turno di dialogo, una variante di documento).
Configurazione
Configurazione di base
# Data configuration
data_files:
- data/dialogues.json
item_properties:
id_key: id
text_key: text
# Configure list display
list_as_text:
text_list_prefix_type: none # No prefix since speaker names are in text
alternating_shading: true # Shade every other turn for readability
# Annotation schemes
annotation_schemes:
- annotation_type: radio
name: sentiment
description: "What is the overall sentiment of this conversation?"
labels:
- positive
- neutral
- negativeOpzioni di visualizzazione
La configurazione list_as_text controlla come vengono visualizzati gli elementi dell'elenco:
list_as_text:
text_list_prefix_type: alphabet # Prefix type for items
horizontal: false # Layout direction
alternating_shading: false # Shade alternate turnsTipi di prefisso
| Opzione | Esempio | Ideale per |
|---|---|---|
alphabet | A. B. C. | Confronti a coppie, opzioni |
number | 1. 2. 3. | Turni sequenziali, liste ordinate |
bullet | . . . | Elementi non ordinati |
none | (nessun prefisso) | Dialogo con nomi degli oratori nel testo |
Opzioni di layout
| Opzione | Descrizione |
|---|---|
horizontal: false | Layout verticale (predefinito) - elementi impilati |
horizontal: true | Layout affiancato - per confronto a coppie |
alternating_shading: true | Ombreggia ogni altro turno per i dialoghi |
Configurazioni di esempio
Annotazione di dialoghi
annotation_task_name: Dialogue Analysis
data_files:
- data/dialogues.json
item_properties:
id_key: id
text_key: text
list_as_text:
text_list_prefix_type: none
alternating_shading: true
annotation_schemes:
- annotation_type: span
name: certainty
description: Highlight phrases expressing certainty or uncertainty
labels:
- certain
- uncertain
sequential_key_binding: true
- annotation_type: radio
name: sentiment
description: What sentiment does the conversation hold?
labels:
- positive
- neutral
- negative
sequential_key_binding: trueConfronto di testi a coppie
annotation_task_name: Text Comparison
data_files:
- data/pairs.json
item_properties:
id_key: id
text_key: text
list_as_text:
text_list_prefix_type: alphabet
horizontal: true
annotation_schemes:
- annotation_type: radio
name: preference
description: Which text is better?
labels:
- A is better
- B is better
- EqualEsempio funzionante
Un esempio funzionante completo è disponibile in project-hub/dialogue_analysis/:
python potato/flask_server.py start project-hub/dialogue_analysis/configs/dialogue-analysis.yaml -p 8000Formato dei dati di esempio:
{"id":"1","text":["Tom: Isn't this awesome?!", "Sam: Yes! I like you!", "Tom: great!", "Sam: Awesome! Let's party!"]}
{"id":"2","text":["Tom: I am so sorry for that", "Sam: No worries", "Tom: thanks for your understanding!"]}Suggerimenti
-
Nomi degli oratori: Includi i nomi degli oratori nel testo (ad es., "Tom: Ciao") quando usi
text_list_prefix_type: noneper i dialoghi -
Annotazione span: Quando si usa l'annotazione span con dati di dialogo, gli annotatori possono evidenziare testo all'interno di qualsiasi turno visualizzato
-
Scelta del prefisso:
- Usa
noneper i dialoghi in cui i nomi degli oratori sono incorporati nel testo - Usa
numberquando l'ordine sequenziale è importante - Usa
alphabetper compiti di confronto a coppie
- Usa
-
Leggibilità: Abilita
alternating_shadingper dialoghi lunghi per aiutare gli annotatori a seguire il turno che stanno leggendo -
Compiti di confronto: Usa
horizontal: truecon prefissialphabetper confronti affiancati
Ulteriori letture
- Confronto a coppie - Annotazione per confronto affiancato
- Annotazione Span - Evidenziazione di testo nei turni di dialogo
- Radio e selezione multipla - Classificazione delle conversazioni
Per i dettagli di implementazione, consulta la documentazione sorgente.