المشكلة التي تحلها
يجد الباحثون الذين يدرسون اللغة المنطوقة أو التبديل اللغوي أو اللغات منخفضة الموارد صعوبة في العثور على بيانات طبيعية ومحادثية كافية. فكثير من الفيديوهات تفتقر إلى الترجمة المصاحبة، والمتوفر منها يخلط بين مصادر بشرية وتلقائية متفاوتة الجودة. تحتاج الفرق إلى مسار متسق يتعامل مع لغات كثيرة ويسجّل مصدر كل نص.
ما يجب تضمينه في نسختك الأولى
- اكتشاف لغات الترجمة المصاحبة المتاحة لكل فيديو
- التعرف على الكلام بالذكاء الاصطناعي بـ 99 لغة للفيديوهات بلا ترجمة مصاحبة
- دعم التبديل اللغوي للكلام الذي يمزج بين اللغات
- طوابع زمنية على مستوى الكلمة للمحاذاة
- بيانات وصفية عن اللغة ومصدر الترجمة لكل نص
كيف تبنيها خطوة بخطوة
- 01
اعثر على الفيديوهات المرشحة
حلّل القنوات أو قوائم التشغيل المعروفة بتقديم لغاتك المستهدفة، واستدعِ /transcripts/{video_id}/languages لمعرفة مسارات الترجمة المتوفرة.
- 02
استخدم الترجمة المصاحبة حيثما توفرت
اجلب الترجمات اليدوية حيث توجد، فهي عادةً الأكثر دقة.
- 03
سدّ الفجوات بالتعرف على الكلام
للفيديوهات بلا ترجمة مصاحبة، اطلب ASR مع تحديد اللغة أو اكتشافها تلقائيًا، وفعّل codeSwitching للكلام المختلط بين اللغات.
- 04
خزّن مع بيانات المحاذاة
اطلب format.words للحصول على طوابع زمنية على مستوى الكلمة، وخزّن لغة كل نص ومصدره إلى جانب النص.
كود جاهز للبدء
تعتمد هذه الفكرة على نمط «الوصفة 3: حمّل قائمة تشغيل كاملة في قاعدة معرفة». استبدل القنوات والتعليمات (prompts) ووسيلة التخزين بما يناسبك.
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لماذا تستحق البناء
تحصل المختبرات وفرق الذكاء الاصطناعي على بيانات تقييم وبحث بلغات يكون جمعها مكلفًا بطرق أخرى. كما أن مجموعات البيانات النظيفة والموثّقة جيدًا للغات أو مجالات معينة ذات قيمة لبناة النماذج.
أخطاء يجب تجنبها
- افتراض أن الترجمة التلقائية هي الحقيقة المرجعية: صنّف المصادر وتحقق من عينة يدويًا.
- خلط اللهجات دون بيانات وصفية: سجّل القناة والمنطقة ليمكن تفسير النتائج.
- إغفال الترخيص: تحقق من شروط المنصة وحقوق النشر قبل إعادة توزيع أي مجموعة بيانات.
أسئلة حول هذه الفكرة
كم لغة يدعمها التعرف على الكلام؟
يدعم التعرف على الكلام بالذكاء الاصطناعي 99 لغة، مع اكتشاف تلقائي للغة ودعم اختياري للتبديل اللغوي في الكلام المختلط.
هل يمكنني الحصول على طوابع زمنية على مستوى الكلمة؟
نعم. اطلب format.words لتحصل على توقيت كل كلمة، وهو مفيد للمحاذاة والأبحاث الصوتية.
هل يمكنني إعادة توزيع مجموعة بيانات مبنية من YouTube؟
يعتمد ذلك على شروط YouTube وقانون حقوق النشر وسياسات مؤسستك. يشارك كثير من الباحثين معرّفات الفيديوهات والكود بدلًا من النصوص نفسها.