التعرف على الكلام من طرف إلى طرف باستخدام RNN-Transducer في Tensorflow 2.0
يعتمد نموذج التعرف على الكلام هذا على ورقة البحث الخاصة بالتعرف على الكلام المتدفق من طرف إلى طرف للأجهزة المحمولة من Google ويتم تنفيذه في Python 3 باستخدام Tensorflow 2.0
لإعداد بيئتك، قم بتشغيل الأمر التالي:
git clone --recurse https://github.com/noahchalifour/rnnt-speech-recognition.git
cd rnnt-speech-recognition
pip install tensorflow==2.2.0 # or tensorflow-gpu==2.2.0 for GPU support
pip install -r requirements.txt
./scripts/build_rnnt.sh # to setup the rnnt loss
يمكنك العثور على مجموعة بيانات "الصوت للعموم" وتنزيلها هنا
قبل أن تتمكن من تدريب نموذج على مجموعة بيانات Common Voice، يجب عليك أولاً تحويل جميع أنواع ملفات الصوت mp3 إلى wavs. قم بذلك عن طريق تشغيل الأمر التالي:
ملاحظة: تأكد من تثبيت
ffmpeg
على جهاز الكمبيوتر الخاص بك، لأنه يستخدم ذلك لتحويل mp3 إلى wav
./scripts/common_voice_convert.sh <data_dir> <# of threads>
python scripts/remove_missing_samples.py
--data_dir <data_dir>
--replace_old
بعد تحويل جميع ملفات mp3 إلى wavs، ستحتاج إلى معالجة مجموعة البيانات مسبقًا، ويمكنك القيام بذلك عن طريق تشغيل الأمر التالي:
python preprocess_common_voice.py
--data_dir <data_dir>
--output_dir <preprocessed_dir>
لتدريب نموذج بسيط، قم بتشغيل الأمر التالي:
python run_rnnt.py
--mode train
--data_dir <path to data directory>