المشكلة التي تحلها
يريد الصحفيون المحليون والسكان معرفة ما قاله المسؤولون عن تعديل في تقسيم الأراضي أو بند في الميزانية أو سياسة مدرسية. والعثور على ذلك يعني تقليب ساعات من الفيديو عبر اجتماعات كثيرة. ونادرًا ما تنقل جداول الأعمال والمحاضر النقاش كاملًا، ولم يعد لدى كثير من غرف الأخبار المحلية مراسلون يحضرون كل اجتماع.
ما يجب تضمينه في نسختك الأولى
- استيعاب تلقائي لكل اجتماع من قناة الجهة
- تمييز المتحدثين لتتمكن من البحث حسب المسؤول
- بحث بالموضوع والكلمات المفتاحية عبر سنوات من الاجتماعات
- تنبيهات عند مناقشة موضوع أو عنوان معين
- روابط قابلة للمشاركة إلى اللحظة الدقيقة في التسجيل
كيف تبنيها خطوة بخطوة
- 01
اجمع فيديوهات الاجتماعات
حلّل قناة المجلس أو قائمة تشغيل الاجتماعات واستمر في التحقق من الفيديوهات الجديدة.
- 02
فرّغ مع تمييز المتحدثين
استخدم ASR مع تفعيل speakerLabels، وspeakerId مع الأسماء المعروفة، لينسب كل مقطع إلى متحدث. الاجتماعات طويلة، لذا استخدم نقطة نهاية التقدير لمعاينة التكلفة.
- 03
فهرس حسب الاجتماع والمتحدث
خزّن الفقرات مع تاريخ الاجتماع والمتحدث والطابع الزمني، وأضف بحث النص الكامل والبحث الدلالي.
- 04
أضف التنبيهات
دع المستخدمين يحفظون عمليات بحث مثل اسم شارع أو موضوع سياسة، وأرسل إليهم بريدًا إلكترونيًا عند طرحه في اجتماع جديد.
كود جاهز للبدء
تعتمد هذه الفكرة على نمط «الوصفة 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لماذا تستحق البناء
ستدفع وسائل الإعلام المحلية ومجموعات المناصرة وشركات العقارات أو السياسات مقابل التنبيهات وأدوات البحث. وغالبًا ما تعمل المشاريع المدنية بالمنح أو تقدم أرشيفًا عامًا مجانيًا مع تنبيهات مدفوعة.
أخطاء يجب تجنبها
- الاعتماد على الترجمة التلقائية في الاجتماعات الطويلة متعددة المتحدثين: تمييز المتحدثين يجعل الأرشيف أكثر فائدة بكثير.
- التقليل من تقدير المدة: تستمر الاجتماعات ساعات، لذا قدّر أرصدة ASR قبل تفريغ مجموعة متراكمة.
- النشر دون سياق: اربط كل اقتباس بالتسجيل ليتمكن القراء من سماعه بأنفسهم.
أسئلة حول هذه الفكرة
هل يمكنني تفريغ اجتماعات المجلس البلدي من YouTube؟
نعم. استخدم الترجمة المصاحبة حين تتوفر، أو التعرف على الكلام بالذكاء الاصطناعي مع تمييز المتحدثين للحصول على نصوص أوضح للاجتماعات الطويلة.
كيف أحدد من يتحدث؟
فعّل تمييز المتحدثين للفصل بينهم، والتعرف على هوية المتحدث مع قائمة بالأسماء أو الأدوار المعروفة لنسبة الكلام إليهم.
كم تكلّف تفريغ اجتماع مدته ثلاث ساعات؟
يكلّف التعرف على الكلام بالذكاء الاصطناعي نحو 40 رصيدًا للساعة قبل الإضافات. استخدم نقطة نهاية التقدير لمعرفة التكلفة الدقيقة قبل البدء.