チュートリアル6分で読めます
発音評価アノテーション
オーディオ再生とリッカートスケールを使用した発音品質評価のための語学学習アノテーションタスクの構築。
Potato Team
発音評価は、語学学習アプリ、言語療法、アクセントコーチングにとって重要です。本チュートリアルでは、発音品質の評価、特定のエラーの識別、詳細なフィードバックの提供のためのインターフェース構築を紹介します。
基本的な発音評価
yaml
annotation_task_name: "Pronunciation Assessment"
task_dir: "."
data_files:
- data/learner_recordings.json
item_properties:
id_key: id
text_key: target_text
instance_display:
fields:
- key: target_text
type: text
label: "Target sentence"
- key: audio_path
type: audio
label: "Learner recording"
display_options:
controls: true
show_waveform: true
annotation_schemes:
- annotation_type: likert
name: overall_quality
description: "Overall pronunciation quality"
size: 5
min_label: "Very poor"
max_label: "Excellent"
label_requirement:
required: true
output_annotation_dir: annotation_output/
export_annotation_format: jsonl
user_config:
allow_all_users: true詳細な評価設定
yaml
annotation_task_name: "Detailed Pronunciation Assessment"
task_dir: "."
data_files:
- data/recordings.json
item_properties:
id_key: id
text_key: sentence
instance_display:
fields:
- key: sentence
type: text
label: "Target text"
- key: native_language
type: text
label: "First language"
- key: learner_audio
type: audio
label: "Learner recording"
display_options:
controls: true
show_waveform: true
- key: native_audio
type: audio
label: "Native reference"
display_options:
controls: true
annotation_schemes:
- annotation_type: likert
name: overall
description: "Overall pronunciation quality"
size: 5
min_label: "Very poor"
max_label: "Excellent"
label_requirement:
required: true
- annotation_type: likert
name: intelligibility
description: "How understandable is the speaker?"
size: 5
min_label: "Unintelligible"
max_label: "Perfectly clear"
label_requirement:
required: true
- annotation_type: likert
name: accent_strength
description: "How strong is the foreign accent?"
size: 5
min_label: "No accent"
max_label: "Very strong"
- annotation_type: likert
name: intonation
description: "Intonation and rhythm"
size: 5
min_label: "Unnatural"
max_label: "Native-like"
- annotation_type: likert
name: fluency
description: "Fluency, meaning smoothness and pausing"
size: 5
min_label: "Very disfluent"
max_label: "Very fluent"
- annotation_type: multiselect
name: error_types
description: "What errors are present? Select all that apply."
labels:
- Vowel errors
- Consonant errors
- Word stress errors
- Sentence intonation errors
- Rhythm or timing errors
- Added sounds
- Deleted sounds
- Substituted sounds
- No significant errors
- annotation_type: text
name: problem_words
description: "List any mispronounced words"
placeholder: "e.g. 'thought' pronounced as 'taught'"
label_requirement:
required: false
- annotation_type: radio
name: native_comparison
description: "Compared to the native reference"
labels:
- Very different
- Somewhat different
- Fairly similar
- Very similar
- Indistinguishable
- annotation_type: likert
name: confidence
description: "Your confidence in this assessment"
size: 5
min_label: "Low"
max_label: "High"
output_annotation_dir: annotation_output/
export_annotation_format: jsonl単語レベルの評価
詳細な音素/単語フィードバック用:
yaml
annotation_schemes:
- annotation_type: multirate
name: word_ratings
description: "Rate the pronunciation of each word"
options:
- "the"
- "weather"
- "is"
- "really"
- "nice"
- "today"
labels:
- Poor
- Fair
- Good
arrangement: vertical音素レベルのアノテーション
音声研究用:
yaml
data_files:
- data/phoneme_data.json
item_properties:
id_key: id
text_key: expected_phonemes
annotation_schemes:
- annotation_type: speech_transcript
name: phonemes
description: "Mark substitutions, deletions, and insertions against the expected phonemes"
segments_key: expected_phonemes
error_types:
- substitution
- deletion
- insertion
allow_correction: true完全な設定
yaml
annotation_task_name: "L2 English Pronunciation Assessment"
task_dir: "."
data_files:
- data/esl_recordings.json
item_properties:
id_key: id
text_key: target_sentence
instance_display:
fields:
- key: target_sentence
type: text
label: "The learner was asked to say"
- key: native_language
type: text
label: "First language"
- key: proficiency_level
type: text
label: "Level"
- key: audio_url
type: audio
label: "Recording"
display_options:
controls: true
show_waveform: true
annotation_instructions: |
## Pronunciation Assessment Guidelines
### Rating scales
**Overall score (1-9)**
- 1-3: significant difficulty, hard to understand
- 4-6: noticeable accent, still understandable
- 7-9: minor issues through to native-like
**Comprehensibility** is how much effort understanding takes. Ignore the
accent where the message is clear.
**Accentedness** is the degree of foreign accent, judged independently of
whether you understood it.
### What to listen for
Individual sounds, word stress, sentence intonation, and speaking rate.
### Tips
Listen at least twice. Use slow playback for the details. Be consistent
across recordings rather than across raters.
annotation_schemes:
- annotation_type: likert
name: overall_score
description: "Overall pronunciation score"
size: 9
min_label: "Very poor"
max_label: "Native-like"
label_requirement:
required: true
- annotation_type: likert
name: comprehensibility
description: "How easy is it to understand?"
size: 9
min_label: "Very hard"
max_label: "Very easy"
label_requirement:
required: true
- annotation_type: likert
name: accentedness
description: "How strong is the foreign accent?"
size: 9
min_label: "No accent"
max_label: "Very strong"
- annotation_type: likert
name: vowels
description: "Vowel pronunciation accuracy"
size: 5
min_label: "Poor"
max_label: "Excellent"
- annotation_type: likert
name: consonants
description: "Consonant pronunciation accuracy"
size: 5
min_label: "Poor"
max_label: "Excellent"
- annotation_type: likert
name: word_stress
description: "Word stress patterns"
size: 5
min_label: "Incorrect"
max_label: "Correct"
- annotation_type: likert
name: sentence_intonation
description: "Sentence intonation"
size: 5
min_label: "Unnatural"
max_label: "Natural"
- annotation_type: likert
name: fluency
description: "Speaking fluency"
size: 5
min_label: "Disfluent"
max_label: "Fluent"
- annotation_type: multiselect
name: common_errors
description: "Check all that apply"
labels:
- Th-sounds (think, this)
- R-sounds
- L-sounds
- Vowel length
- Final consonants dropped
- Consonant clusters simplified
- Word stress on wrong syllable
- Flat intonation
- No errors detected
label_requirement:
required: false
- annotation_type: text
name: feedback
description: "Specific words or sounds that need work"
rows: 4
placeholder: "e.g. 'world' - /r/ needs work; 'through' - th sound"
label_requirement:
required: false
- annotation_type: radio
name: confidence
description: "How confident are you in your ratings?"
labels:
- Not confident
- Somewhat confident
- Very confident
training:
enabled: true
data_file: data/calibration_recordings.json
annotation_schemes: ["overall_score", "comprehensibility"]
passing_criteria:
min_correct: 4
allow_retry: true
phases:
order: [training, annotation]
training:
type: training
file: data/calibration_recordings.json
output_annotation_dir: annotation_output/
export_annotation_format: jsonl
user_config:
allow_all_users: true出力フォーマット
json
{
"overall_score": "6",
"comprehensibility": "7",
"accentedness": "5",
"vowels": "4",
"consonants": "3",
"word_stress": "4",
"sentence_intonation": "3",
"fluency": "4",
"common_errors": ["Th-sounds (think, this)", "R-sounds"],
"feedback": "'weather' - th sound; 'really' - r sound",
"confidence": "Very confident"
}発音評価のコツ
- キャリブレーション: 最初にサンプル録音を一緒に評価する
- 一貫性: アンカリングにリファレンス録音を使用する
- 複数回の聴取: 1回目は全体、2回目は詳細
- 高品質オーディオ: 良いヘッドフォンが不可欠
- 評価者のトレーニング: 音声学の背景知識が役立つ
次のステップ
オーディオの完全なドキュメントは音声アノテーションをご覧ください。