كيفية تحويل الكلام إلى نص باستخدام Python [عملية خطوة بخطوة]

نشرت: 2020-08-07

جدول المحتويات

مقدمة في الكلام إلى النص

نحن نعيش في عصر أصبحت فيه طرق تفاعلنا مع الآلات متنوعة ومعقدة. لقد تطورنا من أزرار ميكانيكية مكتنزة إلى واجهة شاشة تعمل باللمس. لكن هذا التطور لا يقتصر على الأجهزة. كان الوضع الراهن لإدخال أجهزة الكمبيوتر نصًا منذ الحمل. ومع ذلك ، مع التقدم في NLP (معالجة اللغة الطبيعية) و ML (التعلم الآلي) ، لدينا أدوات لدمج الكلام كوسيلة للتفاعل مع أدواتنا.

هذه الأدوات تحيط بنا بالفعل وتخدمنا في الغالب كمساعدين افتراضيين. تعد Google و Siri و Alexa وما إلى ذلك من الإنجازات البارزة في إضافة بُعد آخر أكثر شخصية وملاءمة للتفاعل مع العالم الرقمي.

على عكس معظم الابتكارات التكنولوجية ، فإن تقنية الكلام إلى نص متاحة للجميع لاستكشافها ، سواء للاستهلاك أو لبناء مشاريعك.

Python هي واحدة من أكثر لغات البرمجة شيوعًا في العالم ولديها أدوات لإنشاء تطبيقات تحويل الكلام إلى نص.

تاريخ الكلام إلى نص

قبل أن نستكشف العبارة إلى نص في بايثون ، من المفيد أن نقدر مقدار التقدم الذي أحرزناه في هذا المجال. فيما يلي الجدول الزمني المبسط لـ:

  • أودري ، 1952: أول نظام للتعرف على الكلام طوره باحثو 3 مختبرات Bells. يمكنه التعرف على الأرقام فقط.
  • IBM Showbox (1962): أول نظام للتعرف على الكلام لشركة IBM والذي يقوم بالتعرف على 16 كلمة بالإضافة إلى الأرقام. يمكنه حل الإملاء الحسابي البسيط وطباعة النتيجة.
  • وكالة مشاريع الأبحاث الدفاعية المتقدمة (DARPA) (1970): قامت DARPA بتمويل بحث فهم الكلام ، مما أدى إلى تطوير Harpy للتعرف على 1011 كلمة.
  • نموذج ماركوف المخفي (HMM) ، الثمانينيات: HMM هو نموذج إحصائي يصمم المشكلات التي تتطلب معلومات متسلسلة. تم تطبيق هذا النموذج لمزيد من التقدم في التعرف على الكلام.
  • البحث الصوتي بواسطة Google ، 2001: قدمت Google ميزة البحث الصوتي التي مكنت المستخدمين من البحث باستخدام الكلام. كان هذا أول تطبيق صوتي أصبح شائعًا للغاية.
  • Siri ، 2011: قدمت Apple Siri الذي كان قادرًا على أداء طريقة ملائمة في الوقت الفعلي للتفاعل مع أجهزتها.
  • Alexa ، 2014 & google home ، 2016: أصبح المساعدون الافتراضيون القائمون على الأوامر الصوتية سائدًا مثل google home وتبيع Alexa بشكل جماعي أكثر من 150 مليون وحدة.

اقرأ أيضًا: أفضل 7 مكتبات للغة البرمجة اللغوية العصبية في Python

التحديات في الكلام إلى نص

لا يزال الكلام إلى نص مشكلة معقدة بعيدة كل البعد عن كونها منتجًا نهائيًا حقًا. العديد من الصعوبات الفنية تجعل هذه الأداة غير كاملة في أحسن الأحوال. فيما يلي التحديات الشائعة مع تقنية التعرف على الكلام:

1. أنا mprecise التفسير

لا يفسر التعرف على الكلام الكلمات المنطوقة دائمًا بشكل صحيح. واجهة المستخدم الصوتية (VUIs) ليست بارعة مثل البشر في سياق الفهم الذي يغير العلاقة بين الكلمات والجمل. وهكذا قد تكافح الآلات لفهم دلالات الجملة.

2 مرة

في بعض الأحيان ، تستغرق أنظمة التعرف على الصوت وقتًا طويلاً للمعالجة. قد يكون هذا بسبب تنوع أنماط الصوت التي يمتلكها البشر. يمكن تجنب مثل هذه الصعوبة في التعرف على الصوت عن طريق إبطاء الكلام أو أن تكون أكثر دقة في النطق ، مما يقلل من ملاءمة الأداة.

3. اللهجات

قد تجد VUI صعوبة في فهم اللهجات التي تختلف عن المتوسط. في نفس اللغة ، يمكن للمتحدثين أن يكون لديهم طرق مختلفة تمامًا للتحدث نفس الكلمات.

4. ضوضاء الخلفية وبهارة الصوت

في عالم مثالي ، لن تكون هذه مشكلة ، ولكن هذا ليس هو الحال ببساطة ، وبالتالي قد تجد VUI صعوبة في العمل في البيئات الصاخبة (الأماكن العامة والمكاتب الكبيرة وما إلى ذلك).

يجب أن تقرأ: كيفية إنشاء روبوت محادثة في بايثون

الكلام إلى نص في بايثون

إذا لم يرغب المرء في الخوض في العملية الشاقة لبناء بيان إلى نص من الألف إلى الياء ، فاستخدم ما يلي كدليل. هذا الدليل هو مجرد مقدمة أساسية لإنشاء تطبيق تحويل الكلام إلى نص خاص بك. تأكد من أن لديك ميكروفون يعمل بالإضافة إلى إصدار حديث نسبيًا من Python.

الخطوة الأولى :

قم بتنزيل حزم python التالية:

  • eech_recogntion (تثبيت Pip SpeechRecogntion): هذه هي الحزمة الرئيسية التي تدير أهم خطوة لتحويل الكلام إلى نص. البدائل الأخرى لها مزايا وعيوب ، مثل الاستئناف والتجميع والبحث السحابي من Google و pocketsphinx و Watson-developer-cloud و wit وما إلى ذلك.
  • الصوت الخاص بي (تثبيت Pyaudio)
  • Portaudio (تثبيت نقطة Portaudio)

الخطوة الثانية :

أنشئ مشروعًا (أطلق عليه اسمًا ما تريد) ، وقم باستيراد speech_recogntion كـ sr.

قم بإنشاء العديد من مثيلات فئة أداة التعرف.

الخطوة الثالثة :

بمجرد إنشاء هذه الحالات ، يتعين علينا الآن تحديد مصدر الإدخال.

في الوقت الحالي ، دعنا نحدد المصدر على أنه الميكروفون نفسه (يمكنك استخدام ملف صوتي موجود)

الخطوة الرابعة :

سنقوم الآن بتعريف متغير لتخزين المدخلات. نستخدم طريقة "الاستماع" لأخذ المعلومات من المصدر. لذلك ، في حالتنا ، سوف نستخدم الميكروفون كمصدر أنشأناه في السطر السابق من التعليمات البرمجية.

الخطوة الخامسة :

الآن بعد أن حددنا المدخلات (الميكروفون كمصدر) وقمنا بتخزينها في متغير ('صوت') ، علينا ببساطة استخدام طريقة Recogn_google لتحويلها إلى نص. قد نقوم بتخزين النتيجة في متغير أو يمكننا ببساطة طباعة النتيجة. لا يتعين علينا الاعتماد فقط على Recogn_google ، فلدينا طرق أخرى تستخدم واجهات برمجة تطبيقات مختلفة تعمل أيضًا. أمثلة على هذه الأساليب هي:

Recogn_bing ()

recongize_google_cloud ()

recongize_houndify ()

recongize_ibm ()

recongize_Sphinx () (يعمل دون اتصال بالإنترنت أيضًا)

استخدمت الطريقة التالية الحزم الحالية التي تساعد في تقليل الاضطرار إلى تطوير برنامج التعرف على الكلام إلى نص من البداية. تحتوي هذه الحزم على المزيد من الأدوات التي يمكن أن تساعدك في بناء مشاريعك التي تحل مشاكل أكثر تحديدًا. أحد الأمثلة على الميزة المفيدة هو أنه يمكنك تغيير اللغة الافتراضية من الإنجليزية إلى الهندية. سيؤدي هذا إلى تغيير النتائج التي تتم طباعتها إلى اللغة الهندية (على الرغم من أنها كما هي حاليًا ، فإن تحويل الكلام إلى نص هو الأكثر تطورًا لفهم اللغة الإنجليزية).

ولكن ، من الجيد أن يدرك المطورون الجادون كيفية عمل مثل هذه البرامج.

دعونا نكسرها.

في أبسط صوره ، الكلام هو مجرد موجة صوتية. تحتوي هذه الموجات الصوتية أو الإشارات الصوتية على بعض الخصائص المميزة (التي قد تبدو مألوفة لفيزياء الصوتيات) مثل السعة والقمة والقاع والطول الموجي والدورة والتردد.

هذه الإشارات الصوتية مستمرة وبالتالي لها نقاط بيانات لا نهائية. لتحويل مثل هذه الإشارة الصوتية إلى إشارة رقمية ، بحيث يتمكن الكمبيوتر من معالجتها ، يجب أن تأخذ الشبكة توزيعًا منفصلاً للعينات التي تشبه إلى حد كبير استمرارية إشارة الصوت.

بمجرد أن يكون لدينا تردد مناسب لأخذ العينات (8000 هرتز معيار جيد لأن معظم ترددات الكلام في هذا النطاق) ، يمكننا الآن مكتبات Python مثل LibROSA و SciPy معالجة الإشارات الصوتية. يمكننا بعد ذلك البناء على هذه المدخلات من خلال تقسيم مجموعة البيانات إلى 2 ، وتدريب النموذج ، والآخر للتحقق من صحة نتائج النموذج.

في هذه المرحلة ، يمكن للمرء استخدام بنية نموذج Conv1d ، وهي شبكة عصبية تلافيفية تعمل على طول بُعد واحد فقط. يمكننا بعد ذلك بناء نموذج وتحديد وظيفته الخاسرة واستخدام الشبكات العصبية لحفظ أفضل نموذج من تحويل الكلام إلى نص. باستخدام التعلم العميق و NLP (معالجة اللغة الطبيعية) ، يمكننا تحسين العبارة إلى نص لمزيد من التطبيقات الشاملة والاعتماد.

تطبيقات التعرف على الكلام

كما تعلمنا ، فإن الأدوات اللازمة لتشغيل هذا الابتكار التكنولوجي يمكن الوصول إليها بشكل أكبر لأن هذا في الغالب ابتكار برمجي ، ولا تمتلكه شركة واحدة. لقد فتحت إمكانية الوصول هذه الأبواب أمام مطوري الموارد المحدودة للتوصل إلى تطبيقاتهم لهذه التكنولوجيا.

فيما يلي بعض المجالات التي ينمو فيها التعرف على الكلام:

  • التطور في محركات البحث: يساعد التعرف على الكلام في تحسين دقة البحث عن طريق سد الفجوة بين الاتصال الشفهي والمكتوب.
  • التأثير على صناعة الرعاية الصحية: أصبح التعرف على الكلام سمة مشتركة في القطاع الطبي من خلال المساعدة في إكمال التقارير الطبية. نظرًا لأن VUIs أصبحت أفضل في فهم المصطلحات الطبية ، فإن اعتماد هذه التكنولوجيا سيوفر الوقت بعيدًا عن العمل الإداري للأطباء.
  • صناعة الخدمات: في الاتجاهات المتزايدة للأتمتة ، قد يكون السبب هو عدم تمكن العميل من جعل الإنسان يستجيب لاستعلام ما ، وبالتالي ، يمكن لأنظمة التعرف على الكلام ملء هذه الفجوة. سنرى نموًا سريعًا لهذه الميزة في المطارات والنقل العام وما إلى ذلك.
  • مقدمو الخدمات: قد يعتمد مقدمو خدمات الاتصالات بشكل أكبر على الكلام إلى الأنظمة القائمة على النصوص التي يمكن أن تقلل أوقات الانتظار من خلال المساعدة في تحديد طلبات المتصل وتوجيههم إلى المساعدة المناسبة.

اقرأ أيضًا: تقنية البحث الصوتي - حقائق مثيرة للاهتمام

خاتمة

يعد الكلام إلى نص تقنية قوية ستنتشر قريبًا في كل مكان. إن قابليتها للاستخدام المباشر والمعقول بالتزامن مع Python (إحدى لغات البرمجة الأكثر شيوعًا في العالم) تجعل إنشاء تطبيقاتها أسهل. بينما نخطو خطوات كبيرة في هذا المجال ، فإننا نمهد الطريق إلى عالم لا يقتصر فيه الوصول إلى العالم الرقمي على أصابع اليد فحسب ، بل أيضًا كلمة منطوقة.

إذا كنت مهتمًا بمعرفة المزيد عن معالجة اللغة الطبيعية ، فراجع برنامجنا التنفيذي في التعلم الآلي والذكاء الاصطناعي المصمم للمهنيين العاملين وأكثر من 450 ساعة من التدريب الصارم.

إذا كنت مهتمًا بالتعرف على علوم البيانات ، فراجع برنامج IIIT-B & upGrad التنفيذي PG في علوم البيانات الذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع خبراء الصناعة ، 1 - في 1 مع موجهين في الصناعة ، أكثر من 400 ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.

ما هو الكلام لتحويل النص؟

في الأيام الأولى للتعرف على الكلام ، جلس ناسخ مع سماعة رأس وقام بتسجيل الكلام. استغرقت العملية وقتًا طويلاً وأنتجت نسخًا منخفضة الجودة. اليوم ، تستخدم أنظمة التعرف على الكلام أجهزة الكمبيوتر لتحويل الكلام إلى نص. وهذا ما يسمى تحويل الكلام إلى نص. التعرف على الكلام (المعروف أيضًا باسم تحويل الكلام إلى نص) هو عملية تحويل الكلمات المنطوقة إلى بيانات يمكن قراءتها آليًا. والغرض من ذلك هو السماح للأشخاص بالتواصل مع الآلات عن طريق الصوت وتمكين الآلات من التواصل مع الناس من خلال إنتاج الكلام. يتم استخدام برنامج تحويل الكلام إلى نص لإجراء هذا التحويل.

ما هي التحديات في الكلام لتحويل النص؟

هناك العديد من التحديات في الكلام لتحويل النص. تتمثل التحديات الرئيسية في: الدقة ، حيث يتعين على النظام الحصول على الكلمات المنطوقة بشكل صحيح لاستخراج نية المستخدم. السرعة ، يجب أن يكون النظام قادرًا على أداء ما سبق بسرعة كافية ليكون مقبولًا للمستخدم. طبيعي ، يجب أن يبدو النظام طبيعيًا قدر الإمكان ، حتى لا يشعر المستخدم أنه يتعين عليه التحدث بطريقة غير طبيعية. المتانة ، يجب أن يكون النظام قادرًا على التعامل مع قدر كبير من ضوضاء الخلفية والكلام الآخر وأي تأثيرات أخرى قد تتداخل مع عملية التحويل.

ما هي تطبيقات تحويل الكلام الى معالجة نصية؟

سبب احتياجك لتحويل الكلام إلى نص هو أنه طريقة سريعة وملائمة للتواصل. يمكن استخدام الكلام إلى معالجة النص في العديد من التطبيقات المختلفة ، على سبيل المثال ، يمكن استخدامه في جهاز اتصال محمول ، حيث يمكن للمستخدم استخدام حديثه لإرسال الرسائل وإجراء المكالمات بدلاً من الكتابة على لوحة المفاتيح. تطبيق آخر للكلام لمعالجة النص هو التحكم في الآلة. إنها طريقة للتحكم في محرك أو آلة صناعية أخرى من خلال التحدث إليها.