تصنيف المشاعر في الكلام
أنشئ مهمة لتصنيف المشاعر في الصوت في Potato مع عرض تفاعلي للموجة الصوتية، وأدوات التحكم في سرعة التشغيل، ومقاييس ليكرت، ومجموعات قابلة للتهيئة من تسميات المشاعر.
يظهر التعرف على المشاعر في الكلام (SER) في المساعدين الافتراضيين وأدوات الصحة النفسية وتحليلات مراكز الاتصال، وكل ذلك يحتاج إلى صوت مُوسَّم للتدريب عليه. يستعرض هذا الدليل التعليمي واجهات توسيم للمشاعر الفئوية، والتقييمات البُعدية، والمقاطع التي تحضر فيها أكثر من عاطفة واحدة. للاطلاع على خيارات الصوت الأساسية، راجع وثائق توسيم الصوت.
مناهج توسيم المشاعر
هناك بضع طرق شائعة لتوسيم المشاعر في الكلام. يمكنك استخدام فئات منفصلة مثل سعيد أو حزين أو غاضب. ويمكنك تقييم أبعاد مستمرة مثل التكافؤ والاستثارة والسيطرة. ويمكنك أن تتيح للمُوسِّمين تحديد عدة مشاعر في آن واحد مع تقييمات للشدة. أو، في المقاطع الأطول، يمكنك وسم مشاعر مختلفة عند طوابع زمنية مختلفة.
تصنيف المشاعر الفئوي
الإعداد الأساسي
annotation_task_name: "Speech Emotion Recognition"
data_files:
- data/utterances.json
item_properties:
id_key: id
text_key: transcript # Optional transcript
instance_display:
fields:
- key: audio_path
type: audio
label: "Utterance"
display_options:
controls: true
show_waveform: true
preload: metadata
annotation_schemes:
- annotation_type: radio
name: emotion
description: "What emotion is expressed in this speech?"
labels:
- name: Happy
description: "Joy, excitement, amusement"
key_value: "h"
- name: Sad
description: "Sorrow, disappointment, grief"
key_value: "s"
- name: Angry
description: "Frustration, irritation, rage"
key_value: "a"
- name: Fearful
description: "Anxiety, worry, terror"
key_value: "f"
- name: Surprised
description: "Astonishment, shock"
key_value: "u"
- name: Disgusted
description: "Revulsion, distaste"
key_value: "d"
- name: Neutral
description: "No clear emotion"
key_value: "n"
label_requirement:
required: trueيعرض Potato موجة صوتية تفاعلية مع أدوات التحكم في التشغيل بجانب تسميات التوسيم:
واجهة توسيم الصوت تعرض موجة صوتية تفاعلية مع أدوات التحكم في التشغيل وتسميات فئوية للمشاعر
إضافة الشدة
annotation_schemes:
- annotation_type: radio
name: emotion
description: "What emotion does the speaker express?"
labels: [Happy, Sad, Angry, Fearful, Surprised, Disgusted, Neutral]
label_requirement:
required: true
- annotation_type: likert
name: intensity
description: "How intense is this emotion?"
size: 5
min_label: "Very weak"
max_label: "Very strong"توسيم المشاعر البُعدي
يقيّم نموذج VAD (التكافؤ-الاستثارة-السيطرة) كل مقطع على ثلاثة مقاييس مستمرة بدلًا من حصره في فئة واحدة:
annotation_task_name: "Dimensional Emotion Rating"
annotation_schemes:
# Valence: negative to positive
- annotation_type: likert
name: valence
description: "Valence: How positive or negative?"
size: 7
min_label: "Very negative"
max_label: "Very positive"
# Arousal: calm to excited
- annotation_type: likert
name: arousal
description: "Arousal: How calm or excited?"
size: 7
min_label: "Very calm"
max_label: "Very excited"
# Dominance: submissive to dominant
- annotation_type: likert
name: dominance
description: "Dominance: How submissive or dominant?"
size: 7
min_label: "Very submissive"
max_label: "Very dominant"المقاييس المرئية (SAM)
على أسلوب Self-Assessment Manikin:
annotation_schemes:
- annotation_type: likert
min_label: "Very negative"
max_label: "Very positive"
name: valence
description: "Select the figure that matches the emotional valence"
size: 9اكتشاف المشاعر المختلطة
للكلام الذي يحتوي على مشاعر متعددة:
annotation_schemes:
- annotation_type: multiselect
name: emotions_present
description: "Select ALL emotions you detect (can be multiple)"
labels:
- Happy
- Sad
- Angry
- Fearful
- Surprised
- Disgusted
- Contempt
- annotation_type: radio
name: primary_emotion
description: "Which emotion is MOST prominent?"
labels:
- Happy
- Sad
- Angry
- Fearful
- Surprised
- Disgusted
- Contempt
- Mixed (no dominant)توسيم المشاعر الكامل
annotation_task_name: "Comprehensive Speech Emotion Annotation"
data_files:
- data/speech_samples.json
item_properties:
id_key: id
text_key: transcript
instance_display:
fields:
- key: audio_url
type: audio
label: "Speech sample"
display_options:
controls: true
show_waveform: true
preload: metadata
autoplay: false
# Show the transcript alongside the audio
- key: transcript
type: text
label: "Transcript (for reference)"
annotation_schemes:
# Primary categorical emotion
- annotation_type: radio
name: primary_emotion
description: "Primary emotion expressed"
labels:
- name: Happiness
color: "#FCD34D"
key_value: "1"
- name: Sadness
color: "#60A5FA"
key_value: "2"
- name: Anger
color: "#F87171"
key_value: "3"
- name: Fear
color: "#A78BFA"
key_value: "4"
- name: Surprise
color: "#34D399"
key_value: "5"
- name: Disgust
color: "#FB923C"
key_value: "6"
- name: Neutral
color: "#9CA3AF"
key_value: "7"
label_requirement:
required: true
# Emotional intensity
- annotation_type: likert
name: intensity
description: "Emotional intensity"
size: 5
min_label: "Very mild"
max_label: "Very intense"
label_requirement:
required: true
# Dimensional ratings
- annotation_type: likert
name: valence
description: "Valence (negative to positive)"
size: 7
min_label: "Negative"
max_label: "Positive"
- annotation_type: likert
name: arousal
description: "Arousal (calm to excited)"
size: 7
min_label: "Calm"
max_label: "Excited"
# Voice quality
- annotation_type: multiselect
name: voice_qualities
description: "Voice characteristics (select all that apply)"
labels:
- Trembling voice
- Raised pitch
- Lowered pitch
- Loud/shouting
- Soft/whisper
- Fast speech rate
- Slow speech rate
- Breathy
- Tense/strained
- Crying
- Laughing
# Genuineness
- annotation_type: radio
name: authenticity
description: "Does the emotion seem genuine?"
labels:
- Clearly genuine
- Likely genuine
- Uncertain
- Likely acted/fake
- Clearly acted/fake
# Confidence
- annotation_type: likert
name: confidence
description: "How confident are you in your annotation?"
size: 5
min_label: "Guessing"
max_label: "Certain"
annotation_instructions: |
## Emotion Annotation Guidelines
### Listening Instructions
1. Listen to the entire clip before annotating
2. You may replay as many times as needed
3. Focus on the VOICE, not just the words
### Emotion Categories
- **Happiness**: Joy, amusement, contentment
- **Sadness**: Sorrow, disappointment, melancholy
- **Anger**: Frustration, irritation, rage
- **Fear**: Anxiety, nervousness, terror
- **Surprise**: Astonishment, startle
- **Disgust**: Revulsion, contempt
- **Neutral**: Calm, matter-of-fact
### Tips
- Consider tone, pitch, speaking rate
- The transcript may not match the emotion
- When unsure between two emotions, choose the stronger one
- Use the intensity scale for unclear cases
output_annotation_dir: annotations/
export_annotation_format: jsonlصيغة الإخراج
{
"instance_id": "utt_001",
"user_id": "rater_01",
"labels": {
"primary_emotion": {"Surprise": "true"},
"voice_qualities": {"Raised pitch": "true", "Fast speech rate": "true"},
"authenticity": {"Clearly genuine": "true"},
"confidence": {"4": "true"}
},
"spans": {},
"links": {}
}المشاعر على مستوى المقطع
للتسجيلات الصوتية الأطول التي تتغير فيها المشاعر:
annotation_schemes:
- annotation_type: audio_annotation
name: emotion_segments
description: "Mark time segments with different emotions"
labels:
- name: Happy
color: "#FCD34D"
- name: Sad
color: "#60A5FA"
- name: Angry
color: "#F87171"
- name: Neutral
color: "#9CA3AF"ضبط الجودة
المقاطع الواضحة ذات التسميات المعروفة تكشف المُوسِّمين الذين ينقرون دون انتباه. تقع كلتا الكتلتين في المستوى الأعلى من ملف الإعداد، وكلتاهما تأخذ عناصرها من ملف بدلًا من تعريفها داخل الإعداد:
attention_checks:
enabled: true
frequency: 20
items_file: data/attention_checks.json
min_response_time: 3.0
gold_standards:
enabled: true
items_file: data/gold_standards.json
mode: mixed
frequency: 20
accuracy:
min_threshold: 0.7
evaluation_count: 10يبدو العنصر الذهبي مثل أي عنصر من عناصر بياناتك مع إضافة gold_label، ولذلك يُعرض بالطريقة نفسها التي يُعرض بها كل شيء آخر:
[
{
"id": "gold_001",
"audio_path": "/audio/gold/clearly_happy.wav",
"gold_label": { "primary_emotion": "Happiness" },
"explanation": "Laughter and rising pitch throughout, with no ambiguity.",
"difficulty": "easy"
}
]تستخدم عناصر فحص الانتباه expected_answer بدلًا من gold_label. ويُعد min_response_time أداة التحكم المفيدة في حالة الصوت، إذ يكشف حدٌّ أدنى قدره ثلاث ثوانٍ كل من يوسم مقطعًا لا يمكن أن يكون قد أنهى الاستماع إليه.
إن وضع هاتين الكتلتين داخل كتلة quality_control: خطأ شائع، وهو يفشل بصمت. يقرأ Potato attention_checks وgold_standards من المستوى الأعلى، والمفتاح الوحيد الذي يقرؤه من quality_control هو geometry_iou_tolerance، لذا تجتاز الكتلة المتداخلة التحقق دون أخطاء ولا تعمل أبدًا.
نصائح لتوسيم المشاعر
استمع إلى المقطع كاملًا قبل أن تقرر، وانتبه إلى طريقة قول الشيء لا إلى الكلمات نفسها. وضع في اعتبارك أن معايير التعبير تختلف بين الثقافات، فما يُفهم على أنه غضب في ثقافة قد يُفهم على أنه تأكيد في أخرى. توسيم المشاعر عمل مُرهق، لذا شجّع على أخذ فترات راحة، واجعل الفريق يناقش حالات الخلاف بانتظام ليحافظ على معايرة متسقة.
الخطوات التالية
- أضف تحديد المتحدثين لتتبع مشاعر المتحدثين المتعددين
- أعدّ التعهيد الجماعي للجمع على نطاق واسع
- احسب اتفاق المُوسِّمين لمهام المشاعر
الوثائق في توسيم الصوت.