מדריך בנייה · חוקרים

איך לבנות קורפוס תמלולי YouTube לניתוח שיח

YouTube הוא זירה מרכזית לפרשנות פוליטית, חדשות, חינוך ותרבות, אבל חוקרים חקרו אותו בעיקר דרך כותרות, תגובות ומספרי צפיות. תמלולים מאפשרים לנתח את מה שבאמת נאמר, בהיקף גדול, עם חותמת זמן לכל ציטוט.

למי זה מתאים
חוקרי תקשורת, לימודי מדיה, מדע המדינה ובלשנות
זמן פיתוח
1–2 שבועות
נקודות קצה של ה-API
/channels/resolve/batch/transcripts

הבעיה שזה פותר

תמלול ידני מגביל מחקרים לכמה עשרות סרטונים, וסקריפטים מאולתרים לסקרייפינג נשברים וקשה לשחזר אותם. חוקרים צריכים דרך אמינה לאסוף תמלולים מלאים עבור מדגם מוגדר של ערוצים ותאריכים, לשמור אותם עם מטא-דאטה, ולשתף את השיטה כדי שאחרים יוכלו לשחזר אותה.

מה לכלול בגרסה הראשונה

  • מדגם מתועד של ערוצים וטווח תאריכים
  • תמלולים מלאים שנשמרים כ-JSON גולמי עם מטא-דאטה
  • תיעוד מקור הכתוביות לכל סרטון (ידניות, אוטומטיות או AI)
  • ייצוא ל-CSV או לטקסט עבור R, Python, NVivo או ATLAS.ti
  • סקריפט איסוף שאפשר להריץ מחדש לצורך שחזור

איך לבנות את זה, שלב אחר שלב

  1. 01

    הגדירו את המדגם

    רשמו את הערוצים ואת חלון הזמן שתחקרו, ותעדו את קריטריוני ההכללה לפרק השיטה.

  2. 02

    המירו לרשימות סרטונים

    קראו ל-/channels/resolve לכל ערוץ וסננו את התוצאות לפי תאריך פרסום.

  3. 03

    אספו תמלולים

    שלחו מזהי סרטונים ל-/batch ושמרו את תגובת ה-JSON המלאה, כולל השפה ומקור הכתוביות של כל תמלול.

  4. 04

    הכינו לניתוח

    ייצאו את התמלולים כטקסט או כ-CSV עם מזהה סרטון, ערוץ, תאריך וחותמות זמן, ואז נתחו אותם במודלים של נושאים, בספירת מילות מפתח או בקידוד איכותני.

קוד התחלתי

הרעיון הזה מבוסס על התבנית "מתכון 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

למה כדאי לבנות את זה

עבור חוקרים, התמורה היא מערך נתונים משוחזר בחלק קטן מהעלות והזמן של תמלול ידני. צוותים בונים גם מערכי נתונים בתשלום או שירותי אנליטיקה לחברות ניטור מדיה ולמכוני מחקר.

טעויות שכדאי להימנע מהן

  • ערבוב כתוביות אוטומטיות ואנושיות בלי לציין זאת: תעדו את מקור הכתוביות כי רמת הדיוק שונה.
  • אי-שמירה של התגובות הגולמיות: שמרו את ה-JSON המקורי כדי שאפשר יהיה להריץ את הניתוח מחדש.
  • התעלמות מוועדת אתיקה ומתנאי הפלטפורמה: בדקו את דרישות המוסד שלכם ואת תנאי השימוש של YouTube לפני פרסום מערכי נתונים.

שאלות על הרעיון הזה

אפשר להשתמש בתמלולי YouTube למחקר אקדמי?

חוקרים רבים עושים זאת. בדקו את דרישות האתיקה של המוסד שלכם, את תנאי השימוש של YouTube ואת דיני זכויות היוצרים, במיוחד לפני שיתוף מערך נתונים בפומבי.

כמה מדויקות הכתוביות האוטומטיות של YouTube?

זה משתנה לפי איכות האודיו, המבטאים והנושא. ה-API מדווח אם כל תמלול הגיע מכתוביות ידניות, מכתוביות אוטומטיות או מזיהוי דיבור מבוסס AI, כדי שתוכלו להביא את זה בחשבון.

כמה סרטונים אפשר לאסוף בבת אחת?

בקשת batch אחת מקבלת עד 3,000 מזהי סרטונים במסלול Business. מחקרים גדולים יותר יכולים להריץ כמה מנות.

התחילו לבנות עוד היום

10 קרדיטים בחינם בכל חודש. לא צריך כרטיס אשראי.

איך לבנות קורפוס תמלולי YouTube למחקר | YouTubeTranscript.dev