РУКОВОДСТВО ПО СОЗДАНИЮ · ИССЛЕДОВАТЕЛИ

Как собрать многоязычный речевой датасет из расшифровок YouTube

Письменные корпуса плохо отражают то, как люди говорят на самом деле, особенно в языках и диалектах, на которых мало опубликованных текстов. На YouTube есть разговорная речь почти на любом языке. Расшифровки с таймингом на уровне слов превращают её в пригодные для исследований данные.

Для кого
Компьютерные лингвисты, NLP-лаборатории, команды оценки AI
Срок разработки
1 месяц
Эндпоинты API
/transcripts/{video_id}/languagesasr_options.codeSwitchingformat.words

Какую проблему решает

Исследователям устной речи, переключения кодов или малоресурсных языков трудно найти достаточно естественных разговорных данных. У многих видео нет субтитров, а существующие смешивают человеческие и автоматические источники разного качества. Командам нужен единый конвейер, который работает со многими языками и фиксирует происхождение каждой расшифровки.

Что включить в первую версию

  • Определение доступных языков субтитров для каждого видео
  • AI-распознавание речи на 99 языках для видео без субтитров
  • Поддержка переключения кодов для речи на смеси языков
  • Таймкоды на уровне слов для выравнивания
  • Метаданные о языке и источнике субтитров для каждой расшифровки

Как создать: пошагово

  1. 01

    Найдите подходящие видео

    Получите списки видео каналов или плейлистов, где звучат ваши целевые языки, и вызовите /transcripts/{video_id}/languages, чтобы увидеть доступные дорожки субтитров.

  2. 02

    Используйте субтитры, где они есть

    Получайте ручные субтитры там, где они есть, — обычно они самые точные.

  3. 03

    Заполните пробелы распознаванием речи

    Для видео без субтитров запрашивайте ASR с заданным или автоматически определяемым языком и включайте codeSwitching для речи на смеси языков.

  4. 04

    Храните с данными выравнивания

    Запрашивайте format.words для таймкодов на уровне слов и сохраняйте язык и источник каждой расшифровки вместе с текстом.

Стартовый код

Эта идея построена на шаблоне «Рецепт 3: массовая загрузка плейлиста в базу знаний». Подставьте свои каналы, промпты и хранилище.

import requests

API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}

playlist = requests.post(f"{API}/playlists/resolve", headers=HEADERS,
                         json={"playlist_url": "https://www.youtube.com/playlist?list=PLAYLIST_ID",
                               "limit": 100}).json()

ids = [v["video_id"] for v in playlist["items"]]
batch = requests.post(f"{API}/batch", headers=HEADERS, json={
    "video_ids": ids,
    "format": {"timestamp": True, "paragraphs": True},
}).json()

# Large batches run async: poll GET /batch/{batch_id} until status is "completed"
for r in batch.get("results", []):
    if r["status"] == "completed":
        for p in r["data"]["transcript"].get("paragraphs") or []:
            store(video_id=r["video_id"], start=p["start"], text=p["text"])  # your vector DB

Почему это стоит создать

Лаборатории и AI-команды получают данные для оценки и исследований на языках, сбор которых иначе обходится дорого. Чистые, хорошо задокументированные датасеты для конкретных языков или областей также ценны для разработчиков моделей.

Каких ошибок избегать

  • Считать автоматические субтитры эталоном: помечайте источники и вручную проверяйте выборку.
  • Смешивать диалекты без метаданных: фиксируйте канал и регион, чтобы результаты можно было интерпретировать.
  • Забывать о лицензиях: перед распространением любого датасета проверьте правила платформы и авторское право.

Вопросы об этой идее

Сколько языков поддерживает распознавание речи?

AI-распознавание речи поддерживает 99 языков с автоматическим определением языка и опциональным переключением кодов для речи на смеси языков.

Можно ли получить таймкоды на уровне слов?

Да. Запросите format.words, чтобы получить тайминг каждого слова, — это полезно для выравнивания и фонетических исследований.

Можно ли распространять датасет, собранный с YouTube?

Это зависит от условий YouTube, авторского права и правил вашего учреждения. Многие исследователи публикуют ID видео и код, а не сами расшифровки.

Начните создавать уже сегодня

10 бесплатных кредитов каждый месяц. Банковская карта не нужна.

Как собрать многоязычный речевой датасет с YouTube | YouTubeTranscript.dev