
يفتقر المتخصصون في التعرف على الكلام لفترة طويلة إلى مجموعة كبيرة من الكلام الروسي الشفهي ، لذلك لا يمكن إلا للشركات الكبرى أن تتحمل هذه المهمة ، لكنهم لم يتعجلوا مشاركة تجاربهم.
نحن في عجلة من أمرنا لإصلاح هذا سوء التفاهم الدائم لسنوات.
لذلك ، نلفت انتباهك إلى مجموعة بيانات من 4000 ساعة من الكلام الشفوي المشروح ، تم جمعها من مصادر الإنترنت المختلفة.
التفاصيل تحت خفض.
فيما يلي بيانات الإصدار الحالي 0.3:
وهنا
رابط لموقعنا الإلكتروني .
هل سنطور المشروع أكثر؟
لم ينته عملنا في هذا ، فنحن نريد الحصول على 10 آلاف ساعة على الأقل من الكلام المشروح.
ثم سنقوم بعمل نماذج تجارية مفتوحة للتعرف على الكلام باستخدام مجموعة البيانات هذه. ونقترح عليك الانضمام: ساعدنا في تحسين مجموعة البيانات ، واستخدمها في مهامنا.
لماذا هو هدفنا 10 آلاف ساعة؟
هناك العديد من الدراسات حول تعميم الشبكات العصبية في التعرف على الكلام ، ولكن من المعروف أن التعميم الجيد لا يعمل على مجموعات بيانات تقل عن 1000 ساعة. يعتبر رقم الطلب الذي يبلغ 10 آلاف ساعة مقبولًا بالفعل في معظم الحالات ، ثم يعتمد بالفعل على المهمة المحددة.
ما الذي يمكن القيام به لتحسين جودة التعرف إذا كانت البيانات لا تزال غير كافية؟
في كثير من الأحيان ، يمكنك تكييف الشبكة العصبية مع مكبرات الصوت من خلال سرد مذيعي النص.
يمكنك أيضًا تكييف الشبكة العصبية مع قاموس من مجال الموضوع الخاص بك (نموذج اللغة).
كيف صنعنا مجموعة البيانات هذه؟
- يمكنك العثور على قنوات ذات ترجمة عالية الجودة على YouTube ، وتحميل الصوت وترجمات
- قدم صوتًا للتعرف على أنظمة التعرف على الكلام الأخرى
- نقرأ عناوين بأصوات الروبوتية
- وجدنا الكتب الصوتية ونصوص الكتب على الإنترنت ، ثم قسمناها إلى أجزاء متوقفة مؤقتًا وأحدناها مع الأخرى (ما يسمى بمهمة "المحاذاة")
- أضيفت على الإنترنت مجموعات البيانات الروسية الصغيرة.
- بعد ذلك ، تم تحويل الملفات إلى تنسيق واحد (16-بت wav ، 16 كيلو هرتز ، أحادي ، ترتيب هرمي للملفات الموجودة على القرص).
- تم تخزين البيانات التعريفية في ملف manifest.csv منفصل.
كيفية استخدامها:
ملف ديسيبل
يتم تحديد موقع الملفات حسب التجزئة ، مثل هذا:
target_format = 'wav' wavb = wav.tobytes() f_hash = hashlib.sha1(wavb).hexdigest() store_path = Path(root_folder, f_hash[0], f_hash[1:3], f_hash[3:15]+'.'+target_format)
قراءة الملفات
from utils.open_stt_utils import read_manifest from scipy.io import wavfile from pathlib import Path manifest_df = read_manifest('path/to/manifest.csv') for info in manifest_df.itertuples(): sample_rate, sound = wavfile.read(info.wav_path) text = Path(info.text_path).read_text() duration = info.duration
تحتوي ملفات البيان على ثلاثة أضعاف: اسم الملف الصوتي ، واسم الملف مع الوصف النصي ، ومدة الجملة بالثواني.
تصفية الملفات ذات طول معين فقط
from utils.open_stt_utils import (plain_merge_manifests, check_files, save_manifest) train_manifests = [ 'path/to/manifest1.csv', 'path/to/manifest2.csv', ] train_manifest = plain_merge_manifests(train_manifests, MIN_DURATION=0.1, MAX_DURATION=100) check_files(train_manifest) save_manifest(train_manifest, 'my_manifest.csv')
ما القراءة أو البحث باللغة الروسية للتعرف بشكل أفضل على مهمة التعرف على الكلام؟
في الآونة الأخيرة ، كجزء من دورة
التعلم العميق على الأصابع ، سجلنا محاضرة حول مشكلة التعرف على الكلام (والقليل حول التوليف). ربما ستكون مفيدة لك!
قضايا الترخيص
- ننشر مجموعة البيانات بموجب ترخيص مزدوج: لأغراض غير تجارية ، نقدم ترخيصًا من فئة cc-by-nc 4.0 ، لأغراض تجارية - يتم استخدامه بعد الاتفاق معنا.
- كالمعتاد في مثل هذه الحالات ، تظل جميع حقوق استخدام البيانات المدرجة في مجموعة البيانات مع مالكيها. تنطبق حقوقنا على مجموعة البيانات نفسها. تنطبق قواعد منفصلة للأغراض العلمية والتعليمية ، راجع التشريعات في بلدك.
مرة أخرى
، موقع المشروع لأولئك الذين لم يروا الرابط أعلاه .