チュートリアル5分で読めます
音声文字起こしレビューの設定
音声文字起こしタスクのための波形表示、再生コントロール、テキスト修正インターフェースの設定方法。
Potato Team
文字起こしレビューは、高品質なASRトレーニングデータに不可欠です。このチュートリアルでは、アノテーターが音声を聴き、波形を表示し、機械生成された文字起こしを修正できるインターフェースの構築方法を紹介します。
構築するもの
以下の機能を持つインターフェース:
- 波形表示
- 再生コントロール(再生、一時停止、速度調整)
- 編集可能なトランスクリプトテキスト
- 音声品質評価
- 不確実なセグメントの信頼度マーキング
基本設定
yaml
annotation_task_name: "Transcription Review"
data_files:
- "data/transcripts.json"
item_properties:
id_key: id
text_key: asr_transcript
instance_display:
fields:
- key: audio_path
type: audio
label: "Recording"
display_options:
controls: true
show_waveform: true
annotation_schemes:
# Corrected transcript
- annotation_type: text
name: corrected_transcript
description: "Edit the transcript to match what you hear"
rows: 4
placeholder: "Type the corrected transcript..."
label_requirement:
required: true
# Quality rating
- annotation_type: radio
name: audio_quality
description: "Rate the audio quality"
labels:
- Clear
- Slightly noisy
- Very noisy
- Unintelligibleサンプルデータ形式
data/transcripts.jsonを作成:
json
{"id": "audio_001", "audio_path": "/audio/recording_001.wav", "asr_transcript": "Hello how are you doing today"}
{"id": "audio_002", "audio_path": "/audio/recording_002.wav", "asr_transcript": "The weather is nice outside"}
{"id": "audio_003", "audio_path": "/audio/recording_003.wav", "asr_transcript": "Please call me back when your free"}音声アノテーションセットアップ
Potatoの音声アノテーションは、アノテーションスキーム内のaudio_annotationタイプを使用します。音声プレーヤーは波形表示と再生コントロールを自動的に提供します。
yaml
instance_display:
fields:
- key: audio_path
type: audio
label: "Recording"
display_options:
controls: true
show_waveform: true音声プレーヤーには、再生/一時停止、シーク、速度調整のための組み込みコントロールが含まれています。
包括的な文字起こしインターフェース
yaml
annotation_task_name: "ASR Correction and Annotation"
data_files:
- "data/asr_output.json"
item_properties:
id_key: id
text_key: hypothesis
instance_display:
fields:
- key: audio_path
type: audio
label: "Recording"
display_options:
controls: true
show_waveform: true
annotation_schemes:
# Main transcript correction
- annotation_type: text
name: transcript
description: "Correct the transcript below"
rows: 4
label_requirement:
required: true
# Speaker identification
- annotation_type: radio
name: num_speakers
description: "How many speakers are in this recording?"
labels:
- "1 speaker"
- "2 speakers"
- "3+ speakers"
- "Cannot determine"
# Audio quality
- annotation_type: radio
name: quality
description: "Overall audio quality"
labels:
- name: Excellent
description: "Crystal clear, studio quality"
- name: Good
description: "Clear speech, minor background noise"
- name: Fair
description: "Understandable but noisy"
- name: Poor
description: "Very difficult to understand"
- name: Unusable
description: "Cannot transcribe accurately"
# Issues checklist
- annotation_type: multiselect
name: issues
description: "Select all issues present (if any)"
labels:
- Background noise
- Overlapping speech
- Accented speech
- Fast speech
- Mumbling/unclear
- Technical audio issues
- Non-English words
- Profanity present
- None
# Confidence
- annotation_type: likert
name: confidence
description: "How confident are you in your transcription?"
size: 5
min_label: "Guessing"
max_label: "Certain"
annotation_instructions: |
## Transcription Guidelines
### Your Task
Listen to the audio and correct the ASR transcript.
### Transcription Rules
- Transcribe exactly what is said
- Include filler words (um, uh, like)
- Use proper punctuation and capitalization
- Mark unintelligible sections with [unintelligible]
- Mark uncertain words with [word?]
### Special Notations
- [unintelligible] - Cannot understand
- [word?] - Uncertain about word
- [crosstalk] - Overlapping speech
- [noise] - Non-speech sound
- [pause] - Significant silence単語レベルアノテーション
詳細な単語レベルの修正には、テキストフィールドと並行してスパンアノテーションを使用できます:
yaml
annotation_schemes:
- annotation_type: text
name: transcript
description: "Correct the transcript below"
rows: 4
- annotation_type: span
name: word_corrections
description: "Mark words that needed correction"
title: transcript
labels:
- name: corrected
color: "#FCD34D"
description: "Word was changed"
- name: inserted
color: "#4ADE80"
description: "Word was added"
- name: uncertain
color: "#F87171"
description: "Still not sure"セグメントベースの文字起こし
長い音声ファイルの場合、タイミング情報付きのセグメントとしてデータを準備できます:
yaml
data_files:
- "data/segments.json"
item_properties:
id_key: id
text_key: asr_text
instance_display:
fields:
- key: audio_path
type: audio
label: "Segment audio"
display_options:
controls: true
annotation_schemes:
- annotation_type: text
name: transcript
rows: 4
description: "Correct the transcript for this segment"セグメントタイミング付きデータ形式:
json
{
"id": "seg_001",
"audio_path": "/audio/long_recording.wav",
"start_time": 0.0,
"end_time": 5.5,
"asr_text": "Welcome to today's presentation"
}出力形式
json
{
"instance_id": "audio_001",
"user_id": "transcriber_01",
"labels": {
"transcript": {"text_box": "Hello, how are you doing today?"},
"num_speakers": {"1 speaker": "true"},
"quality": {"Good": "true"},
"issues": {"None": "true"},
"confidence": {"5": "true"}
},
"spans": {},
"links": {}
}品質管理
Potatoはアノテーション時間を自動的に追跡します。品質管理のために、データファイルにアテンションチェックアイテム(正解がわかっているアイテム)を含めて、アノテーターの精度を検証することを検討してください。
出力設定でアノテーションを追跡できます:
yaml
output_annotation_dir: "annotation_output"
export_annotation_format: "jsonl"文字起こしタスクのヒント
- 良いヘッドフォン:精度に不可欠
- 静かな環境:疲労を軽減
- 速度調整:難しいセクションはスローダウン
- 複数パス:1回聴いて、文字起こしして、確認
- 定期的な休憩:文字起こしは精神的に負担が大きい
次のステップ
- マルチスピーカー音声に話者ダイアライゼーションを追加
- 文字起こしと並行して感情分類を設定
- 大規模文字起こしにクラウドソーシングを設定
音声の完全なドキュメントは音声アノテーションをご覧ください。