বিল্ড গাইড · গবেষক

YouTube ট্রান্সক্রিপ্ট থেকে বহুভাষিক স্পিচ ডেটাসেট কীভাবে তৈরি করবেন

লিখিত টেক্সট কর্পাসে মানুষ আসলে কীভাবে কথা বলে তা কম প্রতিফলিত হয়, বিশেষ করে যেসব ভাষা ও উপভাষায় প্রকাশিত লেখা কম। YouTube-এ প্রায় প্রতিটি ভাষায় কথোপকথনমূলক বক্তব্য আছে। শব্দ-স্তরের টাইমিংসহ ট্রান্সক্রিপ্ট সেগুলোকে ব্যবহারযোগ্য গবেষণা ডেটায় রূপ দেয়।

কাদের জন্য
কম্পিউটেশনাল ভাষাবিদ, NLP ল্যাব, AI মূল্যায়ন টিম
বানাতে সময়
1 মাস
API এন্ডপয়েন্ট
/transcripts/{video_id}/languagesasr_options.codeSwitchingformat.words

যে সমস্যার সমাধান করে

কথ্য ভাষা, কোড-সুইচিং বা স্বল্প-সম্পদের ভাষা নিয়ে কাজ করা গবেষকরা যথেষ্ট স্বাভাবিক, কথোপকথনমূলক ডেটা খুঁজে পেতে হিমশিম খান। অনেক ভিডিওতে ক্যাপশন নেই, আর যেগুলোতে আছে সেগুলোতে বিভিন্ন মানের মানুষের ও স্বয়ংক্রিয় উৎস মেশানো। টিমগুলোর দরকার একটি সামঞ্জস্যপূর্ণ পাইপলাইন যা অনেক ভাষা সামলায় এবং প্রতিটি ট্রান্সক্রিপ্ট কোথা থেকে এসেছে তা লিপিবদ্ধ করে।

প্রথম ভার্সনে কী কী রাখবেন

  • প্রতি ভিডিওর উপলব্ধ ক্যাপশন ভাষা শনাক্তকরণ
  • ক্যাপশন নেই এমন ভিডিওর জন্য 99টি ভাষায় AI স্পিচ রিকগনিশন
  • ভাষা মিশিয়ে বলা বক্তব্যের জন্য কোড-সুইচিং সাপোর্ট
  • অ্যালাইনমেন্টের জন্য শব্দ-স্তরের টাইমস্ট্যাম্প
  • প্রতিটি ট্রান্সক্রিপ্টের ভাষা ও ক্যাপশনের উৎসের মেটাডেটা

ধাপে ধাপে কীভাবে বানাবেন

  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