범주와 차원으로 하는 음성 감정 어노테이션
IEMOCAP과 MSP-Podcast가 라벨, 척도, 클립당 평가자를 어떻게 정했는지, 각 코퍼스가 보고한 일치도, 이에 맞는 청취 연구를 운영하는 방법을 설명합니다.
음성 감정 어노테이션은 청취자에게 녹음에서 들리는 감정을 분노나 슬픔 같은 범주로, 또는 정서가, 각성도, 지배도 평점으로 라벨링하도록 요청합니다. 주요 코퍼스는 클립당 두 개에서 열 개의 판단을 수집했으며 범주에 대해 0.27에서 0.52 사이의 우연 보정 일치도를 보고했습니다. 클립당 최소 다섯 명의 평가자를 계획하고 모든 평가자의 라벨을 보관하세요.
음성 감정 인식 모델은 음성 감정 라벨로부터 학습합니다. 범주형 라벨은 감정 분류의 이산 모델에서처럼 고정된 집합에서 하나의 감정을 부여합니다. 차원 평점은 발화를 연속적인 척도 위에 놓으며, 보통 정서가(부정에서 긍정), 각성도 또는 활성도(차분함에서 흥분), 지배도(약함에서 강함)를 사용합니다. 세 척도는 PAD 모델의 축입니다. 차원 평점은 흔히 자기평가 마네킹으로 수집합니다. 마네킹은 각 척도마다 만화 인물이 한 줄로 늘어선 것입니다.
지각된 감정은 청취자가 듣는 감정이며, 표현된 감정 또는 의도된 감정은 화자나 배우가 전달하려 한 감정입니다. 평가자 간 일치도는 평가자 간 신뢰도로 보고합니다. 가장 흔한 계수는 Fleiss의 카파나 Krippendorff의 알파입니다.
이 가이드는 음성 감정 연구의 설계 결정을 다루며 Potato를 실제 사례로 사용합니다. 오디오 어노테이션은 모든 오디오 작업을 Potato 스킴에 대응시키고, 튜토리얼 음성 속 감정 분류하기는 여러 감정 인터페이스를 단계별로 만듭니다. 오디오 어노테이션 도구 비교는 도구를 비교하고, 평정 척도와 리커트 설계는 모든 작업에 대한 척도 설계를 다룹니다.
네 가지 음성 감정 코퍼스의 라벨과 평가자
널리 쓰이는 네 가지 영어 코퍼스는 라벨 집합, 평가자 수, 합의 규칙의 범위를 보여 줍니다. 각 행은 참고문헌에 나열된 코퍼스 논문에서 가져온 것입니다.
| 코퍼스 | 음성 | 클립당 평가자 | 제시된 범주 | 차원 | 합의 규칙 |
|---|---|---|---|---|---|
| IEMOCAP (Busso et al., 2008) | 배우 10명의 대본 및 즉흥 대화 약 12시간 | 범주 3명, 차원 2명 | Anger, sadness, happiness, disgust, fear, surprise, frustration, excited, neutral, other이며 둘 이상 허용 | 1-5 마네킹 척도의 정서가, 활성도, 지배도 | 한 범주가 가장 많은 표를 얻으면 다수결 |
| MSP-Podcast (Busso et al., 2025) | 2.75초에서 11초 길이의 팟캐스트 발화 턴 409시간 | 최소 5명 | anger, sadness, happiness, surprise, fear, disgust, contempt, neutral, other 중 하나의 주 감정, 그리고 16개 보조 감정 중 아무거나 | 1-7 마네킹 척도의 정서가, 각성도, 지배도 | 주 감정은 상대다수 투표, 각 차원은 평균 점수 |
| CREMA-D (Cao et al., 2014) | 배우 91명이 문장 12개를 읽은 클립 7,442개 | 목표 10명, 평균 9.8명 | Anger, disgust, fear, happy, sad, 또는 "No Emotion" | 0-100 슬라이더의 강도 | 이항 다수결로, 최상위 라벨이 95% 수준에서 우연을 이겨야 함 |
| RAVDESS (Livingstone and Russo, 2018) | 배우 24명의 녹음 7,356개 | 10명 | Neutral, calm, happy, sad, angry, fearful, disgust, surprise, "None of these are correct" | 1-5 척도의 강도와 진정성 | 평가자 정확도로 확인한, 배우가 의도한 감정 |
IEMOCAP의 평가자는 턴의 74.6%에서 다수에 도달했으며, MSP-Podcast는 상대다수가 나타나지 않은 턴에 대해 "no agreement" 클래스를 보고합니다. CREMA-D는 이항 다수결이 없는 클립을 모호한 것으로 따로 둡니다. 클립당 하나의 라벨이 필요한 연구는 다수 라벨 없이 끝나는 클립의 비율을 감안하여 계획해야 합니다.
발표된 음성 감정 라벨의 일치도
네 코퍼스는 감정 범주에 대해 0.27에서 0.52 사이의 우연 보정 일치도를 보고합니다. IEMOCAP은 모든 턴에 대해 Fleiss의 카파 0.27을 보고합니다. 저자들이 happiness를 excited와 합치고 fear, disgust, surprise를 other로 합친 후 카파는 0.35로 올랐습니다. MSP-Podcast는 주 감정에 대해 카파 0.411을, CREMA-D는 감정 라벨에 대해 Krippendorff의 알파 0.42를 보고합니다. RAVDESS는 음성만 있는 발화에 대한 Fleiss의 카파를 보통 강도에서 0.41, 강한 강도에서 0.52로 보고합니다.
세 차원을 모두 보고하는 두 코퍼스에서 정서가 평점이 가장 잘 일치합니다. MSP-Podcast는 Krippendorff의 알파를 정서가 0.508, 각성도 0.441, 지배도 0.386으로 보고합니다. IEMOCAP은 두 평가자 사이의 Cronbach의 알파를 정서가 0.809, 활성도 0.607, 지배도 0.608로 보고합니다. Cronbach의 알파와 Krippendorff의 알파는 서로 다른 것을 측정하므로, 두 코퍼스는 값이 아니라 차원의 순서로 비교하세요. 범주형 카파가 0.4 근처인 시범 적용은 발표된 코퍼스와 같은 수준이며, IEMOCAP의 0.27보다 훨씬 낮은 시범 카파는 규모를 키우기 전에 지침을 수정하거나 평가자를 점검할 이유입니다.
지각된 감정과 표현된 감정
배우와 청취자는 발화가 어떤 감정을 표현하는지를 두고 자주 의견이 갈립니다. IEMOCAP에서 배우 여섯 명이 각자 연기한 즉흥 턴에 라벨을 붙였으며, 배우의 라벨은 청취자의 다수 라벨과 60% 일치했고 다른 청취자들과는 79% 일치했습니다. CREMA-D에서 개별 평가자는 음성만 있는 클립의 40.9%, 영상만 있는 클립의 58.2%, 음성과 영상이 함께 있는 클립의 63.6%에서 배우가 의도한 감정과 일치했습니다. RAVDESS 평가자는 음성만 있는 발화의 보통 강도 58%, 강한 강도 67%에서 의도된 감정을 식별했습니다.
질문을 쓰기 전에 라벨이 어떤 구성 개념을 측정해야 하는지 결정하세요. 지각된 감정 연구에서는 "어떤 감정이 들립니까?"라고 묻고 평가자의 분포를 답으로 취급합니다. 표현된 감정 연구에서는 화자가 의도한 라벨이나 자기 보고를 유지하고, 청취자 평점은 녹음이 그 감정을 전달하는지 확인하는 데 씁니다. CREMA-D와 RAVDESS 같은 연기 코퍼스는 의도된 감정과 지각된 감정을 모두 기록하고, MSP-Podcast 같은 자연스러운 코퍼스는 지각된 감정만 기록합니다.
전체 대화 또는 고립된 발화
IEMOCAP 저자들은 발화의 맥락이 감정 인식에 중요하다고 보았기 때문에 평가자에게 맥락 속에서 턴을 판단하게 했습니다. IEMOCAP 평가자는 각 세션을 보면서 턴을 순서대로 평가했습니다. 이전 턴은 모든 판단에서 평가자가 이용할 수 있었습니다. MSP-Podcast는 팟캐스트를 단일 화자 턴으로 자르고 각 턴을 별도의 항목으로 평가하게 합니다. MSP-Podcast는 평가자가 판단할 만큼 충분한 음성을 확보하기 위해 하한을 2.75초로 둡니다. MSP-Podcast 팀은 한 턴 안에서도 감정이 바뀔 수 있으므로 11초보다 긴 턴을 나눴습니다.
Potato에서 클립별 라벨은 audio 디스플레이 옆의 radio 또는 likert 스킴이며, 이전 턴은 클립 위의 텍스트 필드에 둘 수 있습니다. 감정이 바뀌는 긴 녹음에서는 audio_annotation 스킴으로 평가자가 파형에서 구간을 표시하고 각각에 라벨을 붙입니다. questions 모드에서는 같은 스킴이 평가자가 표시한 모든 구간에 대해 일련의 질문을 던집니다.
청취 환경과 평가자 선별
RAVDESS, CREMA-D, MSP-Podcast는 각각 평가자가 들은 것이나 평가한 사람에 대한 통제를 문서화합니다. RAVDESS 평가자는 방음 부스에서 고정된 음량의 Sennheiser 헤드폰을 끼고 앉았으며, 평가 화면은 클립이 끝난 뒤에만 나타났습니다. CREMA-D 평가자는 작업이 시작되기 전에 낮은, 중간, 높은 음량으로 재생되는 세 단어를 최대 세 번의 시도로 인식해야 했습니다. MSP-Podcast는 일치도 점검 후 크라우드 작업자 430명과 그들의 어노테이션 44,968건을 제거한 다음, 선별 테스트를 통과하고 주간 일치도 보고서를 받는 훈련된 학생 평가자로 전환했습니다.
Potato는 이러한 통제의 온라인 버전을 지원합니다. headphone_check 단계는 스피커로 듣는 참가자를 걸러 냅니다. 훈련 단계는 피드백이 있는 연습 클립을 제공하고, 골드 항목과 주의력 확인은 실제 작업 중 정확도를 평가합니다. min_response_time을 설정하면 Potato는 클립을 들을 수 있었던 시간보다 빠르게 주어진 모든 주의력 확인 응답을 실패 처리합니다. 평가자는 Prolific과 SONA에서 크라우드소싱 연구 운영하기에 설명된 대로 Prolific이나 대학 SONA 풀에서 올 수 있습니다. Potato는 소프트웨어일 뿐이며 Potato 팀은 평가자를 제공하지 않습니다.
다수결 또는 라벨 분포
다수결은 여러 판단을 하나의 학습 라벨로 바꾸고 불일치를 버립니다. IEMOCAP과 MSP-Podcast는 모두 범주에 투표를 사용하며, MSP-Podcast는 차원 평점을 평균합니다. MSP-Podcast는 각 턴의 개별 어노테이션도 배포하며, 저자들은 소프트 라벨로의 학습을 활용 사례로 나열합니다. 소프트 라벨은 각 감정을 선택한 평가자의 비율입니다. 다섯 명 중 세 명이 화난 것으로, 두 명이 좌절한 것으로 들은 클립은 분노 0.6, 좌절 0.4가 됩니다.
Potato는 각 평가자의 응답을 따로 저장하며, 투표, 평균, 분포는 수집 후에 계산할 수 있습니다. soft_label 스킴은 한 걸음 더 나아가 각 평가자에게 100점을 감정들에 나누어 배분하도록 요청합니다. 크라우드 라벨 집계는 투표 기반 집계와 모델 기반 집계를 더 자세히 비교합니다.
/admin/iaa의 일치도 보고서는 스킴 유형별로 척도를 고릅니다.
radio: 퍼센트 일치도, Cohen의 카파, Fleiss의 카파, 명목 Krippendorff의 알파.likert: 선형 및 이차 가중 카파, Spearman의 rho, 순서형 Krippendorff의 알파.slider: Pearson의 r, 평균 절대 오차, 제곱근 평균 제곱 오차, 등간 Krippendorff의 알파, ICC(2,k).soft_label: 모든 감정에 걸쳐 합친 Krippendorff의 알파와 각 감정별 Krippendorff의 알파.
발표된 코퍼스의 클립당 평가자
발표된 코퍼스는 클립당 두 명에서 열 명의 평가자를 사용했습니다. IEMOCAP의 범주형 평가자 세 명과 차원 평가자 두 명이 하한이며, CREMA-D와 RAVDESS는 클립마다 10개의 판단을 수집했습니다. MSP-Podcast의 최소 다섯 명은 상대다수 투표에 충분하며 소프트 라벨을 위한 다섯 표 분포를 줍니다. 모든 클립이 아니라 모호한 클립에 더 많은 평가자를 투입하고, 검정력 계산은 어노테이터는 몇 명이 필요한가?를 참조하세요.
Potato의 음성 감정 작업
IEMOCAP 쇼케이스 항목은 코퍼스를 요약합니다. 아래 구성은 IEMOCAP의 라벨 집합을 음성만 있는 클립에 맞게 조정하고, 세 차원을 IEMOCAP의 5점 척도로 평가하며, 이전 턴을 텍스트로 보여 줍니다. 맥락 필드는 IEMOCAP의 맥락 속 설계를 따릅니다. 각 클립은 MSP-Podcast의 최소치에 맞추어 평가자 다섯 명을 받으며, 헤드폰 점검과 연습 클립은 첫 실제 항목 전에 실행됩니다.
annotation_task_name: "Speech emotion, one utterance at a time"
task_dir: "."
data_files:
- "data/utterances.jsonl"
item_properties:
id_key: id
text_key: audio_url
output_annotation_dir: "annotation_output/"
instance_display:
fields:
- key: context
type: text
label: "Earlier in the conversation"
- key: audio_url
type: audio
label: "Utterance to rate"
display_options:
show_waveform: true
annotation_schemes:
- annotation_type: radio
name: emotion
description: "Which emotion do you hear in this utterance?"
labels: [neutral, happiness, excitement, sadness, anger, frustration, fear, surprise, disgust, other]
label_requirement: {required: true}
- annotation_type: likert
name: valence
description: "How negative or positive does the speaker sound?"
size: 5
min_label: "Very negative"
max_label: "Very positive"
- annotation_type: likert
name: arousal
description: "How calm or excited does the speaker sound?"
size: 5
min_label: "Very calm"
max_label: "Very excited"
- annotation_type: likert
name: dominance
description: "How weak or strong does the speaker sound?"
size: 5
min_label: "Very weak"
max_label: "Very strong"
num_annotators_per_item: 5
training:
enabled: true
data_file: "data/training.json"
allow_retry: true
phases:
order: [headphones, training, annotation]
headphones:
type: headphone_check
test: huggins
training: {type: training, title: "Practice clips"}
annotation: {type: annotation}data/utterances.jsonl의 각 줄에는 id, audio_url, 그리고 이전 턴이 담긴 context 문자열이 들어 있습니다. MSP-Podcast처럼 각 턴을 별도의 항목으로 평가하려면 instance_display에서 context 필드를 제거하세요. data/training.json은 각 클립에 대한 correct_answers 항목과 explanation이 있는 연습 클립을 나열합니다. potato start config.yaml로 서버를 시작하고, 시범 배치 후 /admin/iaa를 확인하여 일치도가 발표된 범위에 가까운지 살펴보세요.
자주 묻는 질문
음성 감정 어노테이션이란 무엇인가요?
음성 감정 어노테이션은 녹음된 음성에 청취자가 듣는 감정을 범주로, 정서가, 각성도, 지배도 평점으로, 또는 둘 다로 라벨링하는 일입니다. IEMOCAP과 MSP-Podcast는 두 종류의 라벨을 모두 수집합니다. 이 라벨은 음성 감정 인식 모델을 학습하고 평가하는 데 쓰입니다. 발표된 코퍼스는 클립당 두 개에서 열 개의 판단을 수집합니다.
오디오 및 음성 어노테이션에는 어떤 감정 라벨이 쓰이나요?
IEMOCAP, MSP-Podcast, CREMA-D, RAVDESS는 각각 기본 감정의 짧은 목록에 중립 또는 감정 없음 선택지를 더해 사용합니다. IEMOCAP은 anger, sadness, happiness, disgust, fear, surprise에 frustration과 excited를 더하고, MSP-Podcast는 주 목록에 contempt를 더하고 16개의 보조 감정을 제공합니다. 정서가, 각성도, 지배도에 대한 차원 라벨은 보통 범주 옆에 놓입니다. 평가자는 각 차원을 5점 또는 7점 마네킹 척도로 채점합니다.
평가자가 음성 클립을 듣고 감정에 라벨을 붙이는 작업은 어떻게 설정하나요?
각 클립을 오디오 플레이어에 하나의 범주형 질문과 각 차원에 대한 선택적 평정 척도 옆에 표시한 다음, 클립당 최소 다섯 명의 평가자를 배정하세요. 실제 작업 전에 헤드폰 점검과 연습 클립으로 평가자를 선별하세요. 모든 평가자의 응답을 보관하고, 수집 후에 다수 라벨, 라벨 분포, 또는 둘 다를 계산하세요.
더 읽을거리
- 오디오 어노테이션, Potato에서 설정하는 모든 오디오 작업
- 음성 속 감정 분류하기, 단계별 튜토리얼
- 오디오 및 음성 어노테이션을 위한 Potato
- 평정 척도와 리커트 설계
- 어노테이터 간 일치도 설명
- 크라우드 라벨 집계
- 오디오 어노테이션 도구 비교
참고문헌
Busso, C., Bulut, M., Lee, C.-C., Kazemzadeh, A., Mower, E., Kim, S., Chang, J. N., Lee, S., and Narayanan, S. S. (2008). IEMOCAP: Interactive Emotional Dyadic Motion Capture Database. Language Resources and Evaluation, 42(4), 335-359. https://doi.org/10.1007/s10579-008-9076-6
Busso, C., Lotfian, R., Sridhar, K., Salman, A. N., Lin, W.-C., Goncalves, L., Parthasarathy, S., Naini, A. R., Leem, S.-G., Martinez-Lucas, L., Chou, H.-C., and Mote, P. (2025). The MSP-Podcast Corpus. arXiv 2509.09791. https://doi.org/10.48550/arXiv.2509.09791
Cao, H., Cooper, D. G., Keutmann, M. K., Gur, R. C., Nenkova, A., and Verma, R. (2014). CREMA-D: Crowd-Sourced Emotional Multimodal Actors Dataset. IEEE Transactions on Affective Computing, 5(4), 377-390. https://doi.org/10.1109/TAFFC.2014.2336244
Livingstone, S. R., and Russo, F. A. (2018). The Ryerson Audio-Visual Database of Emotional Speech and Song (RAVDESS): A Dynamic, Multimodal Set of Facial and Vocal Expressions in North American English. PLOS ONE, 13(5), e0196391. https://doi.org/10.1371/journal.pone.0196391