Falantes e sentimento
Quem falou, o clima de cada trecho e métricas da conversa.
curl -sS "$NOUS_API_BASE_URL/transcriptions?diarization=true&sentiment=true" \
-H "Authorization: Bearer $NOUS_API_KEY" \
-H "Content-Type: audio/mpeg" \
--data-binary "@atendimento.mp3"Falantes vem incluído no preço do minuto. Sentimento custa + R$ 0,002 por minuto, só quando pedido, e faz parte da assinatura: sem assinatura ativa, sentiment=true volta 402 plan_required (a transcrição sem sentimento continua liberada).
Falantes (diarization)
Separa até 4 vozes. Cada palavra ganha speaker (spk0, spk1, na ordem em que cada voz aparece), e speakers lista cada trecho de fala:
"speakers": [
{ "speaker": "spk0", "label": null, "start_s": 0.16, "end_s": 6.16 },
{ "speaker": "spk1", "label": null, "start_s": 6.16, "end_s": 18.24 }
]A Nous percebe que as vozes são diferentes, mas não sabe quem é cada pessoa. Não é reconhecimento biométrico.
Sentimento (sentiment)
"sentiment": {
"overall": "neutro",
"spans": [
{ "label": "negativo", "score": 0.81, "start_s": 92.4, "end_s": 104.9, "speaker": "spk1", "arousal": 1.7, "tone": "irritado" }
]
}| Campo | Significado |
|---|---|
overall | positivo, neutro ou negativo para a conversa inteira. Vem vazio quando todas as falas são curtas demais para medir. |
spans[].label | Sentimento do trecho, pelo texto. |
spans[].score | Confiança, de 0 a 1. |
spans[].arousal | Quanto a voz está acima do normal daquela pessoa. A partir de 1,5 conta como agitada. |
spans[].tone | Texto e voz juntos: satisfeito, entusiasmado, neutro, agitado, insatisfeito ou irritado. |
spans[].speaker | Quem falou, quando diarization=true. |
Métricas da conversa
Com diarization=true e sentiment=true juntos, vem também conversation:
"conversation": {
"talk_seconds": { "spk0": 212.4, "spk1": 251.9 },
"overlap_seconds": 3.2,
"interruptions": 4,
"non_talk_seconds": 22.1,
"long_silences": 1
}