How to Make a Chatbot in Python Step by Step [Python Chatterbox Guide]
نشرت: 2020-07-27جدول المحتويات
كيف تصنع روبوت محادثة في بايثون؟
في السنوات القليلة الماضية ، أصبحت روبوتات المحادثة في بايثون شائعة بشكل كبير في قطاعي التكنولوجيا والأعمال. هذه الروبوتات الذكية بارعة جدًا في تقليد اللغات البشرية الطبيعية والتحدث مع البشر ، لدرجة أن الشركات في مختلف القطاعات الصناعية تتبناها. من شركات التجارة الإلكترونية إلى مؤسسات الرعاية الصحية ، يبدو أن الجميع يستفيدون من هذه الأداة الرائعة لجني الفوائد التجارية . في هذه المقالة ، سنتعرف على chatbot باستخدام Python وكيفية إنشاء chatbot في Python.
تعلم التعلم الآلي عبر الإنترنت من أفضل الجامعات في العالم - الماجستير ، وبرامج الدراسات العليا التنفيذية ، وبرنامج الشهادة المتقدم في ML & AI لتسريع حياتك المهنية.
ما هو الشات بوت؟
روبوت المحادثة هو برنامج قائم على الذكاء الاصطناعي مصمم للتفاعل مع البشر بلغاتهم الطبيعية. عادةً ما تتحدث روبوتات المحادثة هذه عبر الأساليب السمعية أو النصية ، ويمكنها بسهولة محاكاة اللغات البشرية للتواصل مع البشر بطريقة تشبه البشر. يمكن القول إن chatbot هو أحد أفضل تطبيقات معالجة اللغة الطبيعية.
يمكن تصنيف روبوتات الدردشة إلى متغيرين أساسيين - قائم على القواعد والتعلم الذاتي.
يقوم النهج القائم على القواعد بتدريب روبوت المحادثة على الإجابة عن الأسئلة بناءً على مجموعة من القواعد المحددة مسبقًا والتي تم تدريبه عليها في البداية. يمكن أن تكون قواعد المجموعة هذه إما بسيطة جدًا أو معقدة جدًا. بينما يمكن لبرامج الدردشة القائمة على القواعد التعامل مع الاستعلامات البسيطة بشكل جيد ، فإنها عادة ما تفشل في معالجة الاستعلامات / الطلبات الأكثر تعقيدًا.
كما يوحي الاسم ، فإن روبوتات التعلم الذاتي هي روبوتات محادثة يمكنها التعلم بمفردها. هذه الاستفادة من التقنيات المتقدمة مثل الذكاء الاصطناعي والتعلم الآلي لتدريب أنفسهم من المواقف والسلوكيات. بطبيعة الحال ، تعد روبوتات المحادثة هذه أكثر ذكاءً من الروبوتات القائمة على القواعد. يمكن تقسيم روبوتات التعلم الذاتي إلى فئتين - القائمة على الاسترداد أو التوليدية.

1. روبوتات المحادثة القائمة على الاسترداد
روبوت المحادثة القائم على الاسترداد هو الذي يعمل على أنماط الإدخال المحددة مسبقًا وتعيين الاستجابات. بمجرد إدخال السؤال / النمط ، يستخدم chatbot نهجًا إرشاديًا لتقديم الاستجابة المناسبة. يتم استخدام النموذج المستند إلى الاسترداد على نطاق واسع لتصميم روبوتات محادثة موجهة نحو الهدف مع ميزات مخصصة مثل تدفق ونبرة الروبوت لتحسين تجربة العميل.
2. برامج الدردشة التوليدية
على عكس روبوتات المحادثة القائمة على الاسترداد ، لا تعتمد روبوتات المحادثة التوليدية على استجابات محددة مسبقًا - فهي تستفيد من الشبكات العصبية seq2seq. يعتمد هذا على مفهوم الترجمة الآلية حيث يتم ترجمة الكود المصدري من لغة إلى لغة أخرى. في نهج seq2seq ، يتم تحويل المدخلات إلى مخرجات.
يعود تاريخ أول روبوت محادثة إلى عام 1966 عندما أنشأ جوزيف وايزنباوم ELIZA التي يمكنها تقليد لغة المعالج النفسي في 200 سطر فقط من التعليمات البرمجية. ومع ذلك ، بفضل التقدم السريع للتكنولوجيا ، قطعنا شوطًا طويلاً من روبوتات الدردشة النصية إلى روبوتات المحادثة في لغة بيثون اليوم.
Chatbot في جيل اليوم
اليوم ، لدينا روبوتات محادثة ذكية تعمل بالذكاء الاصطناعي والتي تستخدم معالجة اللغة الطبيعية (NLP) لفهم الأوامر البشرية (النص والصوت) والتعلم من التجربة. أصبحت Chatbots أداة تفاعل العملاء الأساسية للشركات والعلامات التجارية التي لها وجود نشط على الإنترنت (مواقع الويب ومنصات الشبكات الاجتماعية).
تعد Chatbots التي تستخدم Python أداة رائعة لأنها تسهل المراسلة الفورية بين العلامة التجارية والعميل. فكر في Apple's Siri و Amazon's Alexa و Microsoft Cortana. أليست هذه رائعة فقط؟ ألا تشعر بالفضول بالفعل لتعلم كيفية إنشاء روبوت محادثة في بايثون؟
مصدر
في الأساس ، تمت برمجة روبوت المحادثة الذي يستخدم Python ليأخذ المعلومات التي تقدمها له ثم يقوم بتحليلها بمساعدة خوارزميات الذكاء الاصطناعي المعقدة ، ويزودك برد كتابي أو شفهي. نظرًا لأن هذه الروبوتات يمكنها التعلم من السلوك والتجارب ، فيمكنها الرد على مجموعة واسعة من الاستفسارات والأوامر.
مصدر
على الرغم من أن chatbot في Python قد بدأ بالفعل في السيطرة على المشهد التكنولوجي في الوقت الحالي ، تتوقع Gartner أنه بحلول عام 2020 ، ستتعامل برامج الدردشة الآلية مع ما يقرب من 85٪ من تفاعلات العلامة التجارية للعملاء .
في ضوء الشعبية المتزايدة واعتماد روبوتات المحادثة في الصناعة ، يمكنك زيادة القيمة السوقية من خلال تعلم كيفية إنشاء روبوت محادثة في Python - إحدى لغات البرمجة الأكثر استخدامًا في العالم.
سنعلمك اليوم كيفية إنشاء روبوت محادثة بسيط في Python باستخدام مكتبة ChatterBot Python. لذلك دعونا نبدأ!
مكتبة ChatterBot
ChatterBot هي مكتبة Python مصممة لتقديم استجابات آلية لإدخالات المستخدم. يستخدم مزيجًا من خوارزميات ML لإنشاء العديد من أنواع الاستجابات المختلفة. تتيح هذه الميزة للمطورين إنشاء روبوتات محادثة باستخدام لغة بيثون يمكنها التحدث مع البشر وتقديم استجابات مناسبة وذات صلة. ليس ذلك فحسب ، تساعد خوارزميات ML الروبوت على تحسين أدائه بالخبرة.
ميزة أخرى ممتازة في ChatterBot هي استقلال اللغة. تم تصميم المكتبة بطريقة تجعل من الممكن تدريب الروبوت الخاص بك على لغات برمجة متعددة.
كيف يعمل ChatterBot؟
عندما يقوم المستخدم بإدخال إدخال محدد في chatbot (تم تطويره على ChatterBot) ، يقوم الروبوت بحفظ الإدخال مع الاستجابة للاستخدام في المستقبل. تسمح هذه البيانات (من التجارب التي تم جمعها) لروبوت الدردشة بإنشاء استجابات آلية في كل مرة يتم فيها إدخال إدخال جديد فيه.
يختار البرنامج الاستجابة الأكثر ملاءمة من أقرب بيان يتطابق مع المدخلات ، ثم يسلم استجابة من مجموعة معروفة بالفعل من العبارات والردود. بمرور الوقت ، بينما ينخرط روبوت المحادثة في المزيد من التفاعلات ، تتحسن دقة الاستجابة.
مصدر
كيف تصنع روبوت محادثة في بايثون؟
سنتخذ نهجًا خطوة بخطوة ونفكك عملية إنشاء روبوت محادثة Python.

لإنشاء روبوت محادثة في Python ، عليك استيراد جميع الحزم الضرورية وتهيئة المتغيرات التي تريد استخدامها في مشروع chatbot الخاص بك. تذكر أيضًا أنه عند العمل مع البيانات النصية ، فإنك تحتاج إلى إجراء معالجة مسبقة للبيانات على مجموعة البيانات الخاصة بك قبل تصميم نموذج ML.
هذا هو المكان الذي يساعد فيه الترميز مع البيانات النصية - فهو يساعد على تجزئة مجموعة البيانات النصية الكبيرة إلى أجزاء أصغر يمكن قراءتها (مثل الكلمات). بمجرد القيام بذلك ، يمكنك أيضًا الذهاب إلى lemmatization التي تحول كلمة إلى شكلها lemma. ثم يقوم بإنشاء ملف pickle لتخزين كائنات python المستخدمة للتنبؤ باستجابات الروبوت.
جزء حيوي آخر من عملية تطوير روبوتات الدردشة هو إنشاء مجموعات بيانات التدريب والاختبار.
الآن بعد أن غطينا أساسيات تطوير روبوتات المحادثة في بايثون ، دعنا نتعمق أكثر في العملية الفعلية!
1. تحضير التبعيات
تتمثل الخطوة الأولى في إنشاء روبوت محادثة في Python باستخدام مكتبة ChatterBot في تثبيت المكتبة في نظامك. من الأفضل إنشاء واستخدام بيئة افتراضية Python جديدة للتثبيت. للقيام بذلك ، عليك كتابة هذا الأمر وتنفيذه في محطة Python الخاصة بك:
يمكنك أيضًا تثبيت أحدث إصدار مطور من ChatterBot مباشرةً من GitHub. لهذا ، سيتعين عليك كتابة الأمر التالي وتنفيذه:
تثبيت نقطة git + git: //github.com/gunthercox/ChatterBot.git@master
إذا كنت ترغب في ترقية الأمر ، يمكنك القيام بذلك أيضًا:
الآن بعد أن أصبح إعدادك جاهزًا ، يمكننا الانتقال إلى الخطوة التالية لإنشاء روبوت محادثة باستخدام Python.
2. فئات الاستيراد
يعد استيراد الفصول هو الخطوة الثانية في عملية إنشاء روبوت المحادثة في Python. كل ما عليك فعله هو استيراد صنفين - ChatBot من chatterbot و ListTrainer من chatterbot.trainers. للقيام بذلك ، يمكنك تنفيذ الأمر التالي:
3. إنشاء وتدريب Chatbot
هذه هي الخطوة الثالثة لإنشاء روبوت محادثة في لغة بيثون. سيكون chatbot الذي تقوم بإنشائه مثيلاً لفئة "ChatBot". بعد إنشاء مثيل ChatterBot جديد ، يمكنك تدريب الروبوت لتحسين أدائه. يضمن التدريب أن يمتلك الروبوت المعرفة الكافية للبدء باستجابات محددة لمدخلات محددة. يجب عليك تنفيذ الأمر التالي الآن:
هنا ، تمثل الوسيطة (التي تتوافق مع اسم المعلمة) اسم روبوت محادثة Python الخاص بك. إذا كنت ترغب في تعطيل قدرة الروبوت على التعلم بعد التدريب ، فيمكنك تضمين الأمر "read_only = True". يشير الأمر "logic_adapters" إلى قائمة المحولات المستخدمة لتدريب روبوت المحادثة.
بينما تساعد "chatterbot.logic.MathematicalEvaluation" الروبوت على حل مسائل الرياضيات ، فإن "chatterbot.logic.BestMatch" يساعده على اختيار أفضل تطابق من قائمة الردود المقدمة بالفعل.
نظرًا لأنه يتعين عليك تقديم قائمة بالردود ، يمكنك القيام بذلك عن طريق تحديد قوائم السلاسل التي يمكن استخدامها لاحقًا لتدريب روبوت محادثة Python الخاص بك ، والعثور على أفضل تطابق لكل استعلام. في ما يلي مثال على الاستجابات التي يمكنك تدريب روبوت المحادثة الخاص بك عليها باستخدام Python لتتعلم:
يمكنك أيضًا إنشاء الروبوت وتدريبه عن طريق كتابة مثيل لـ "ListTrainer" وتزويده بقائمة من السلاسل مثل:
الآن ، روبوت المحادثة Python جاهز للتواصل.
4. التواصل مع Python Chatbot
للتفاعل مع روبوت المحادثة في Python ، يمكنك استخدام وظيفة .get_response (). هذه هي الطريقة التي يجب أن تبدو عليها أثناء التواصل:
ومع ذلك ، من الضروري أن نفهم أن روبوت المحادثة الذي يستخدم لغة بيثون قد لا يعرف كيفية الإجابة على جميع أسئلتك. نظرًا لأن معرفتها وتدريبها لا يزالان محدودان للغاية ، عليك أن تمنحها الوقت وتوفر المزيد من بيانات التدريب لتدريبها بشكل أكبر.
5. قم بتدريب برنامج Python Chatbot الخاص بك باستخدام مجموعة من البيانات
في هذه الخطوة الأخيرة حول كيفية إنشاء روبوت محادثة في Python ، لتدريب روبوت محادثة Python بشكل أكبر ، يمكنك استخدام مجموعة بيانات موجودة. فيما يلي مثال على كيفية تدريب روبوت محادثة Python الخاص بك باستخدام مجموعة من البيانات التي يوفرها الروبوت نفسه:

مصدر مقتطف التعليمات البرمجية
الشيء الجيد هو أن ChatterBot يقدم هذه الوظيفة بعدة لغات مختلفة. لذلك ، يمكنك أيضًا تحديد مجموعة فرعية من مجموعة النصوص باللغة التي تفضلها. هذه هي الطريقة التي نصنع بها chatbot في Python.
خاتمة
ما أوضحناه هنا هو مجرد طريقة واحدة من بين العديد من الطرق لكيفية إنشاء روبوت محادثة في بايثون. يمكنك أيضًا استخدام NLTK ، مكتبة Python الأخرى ذات الحيلة لإنشاء روبوت محادثة Python. وعلى الرغم من أن ما تعلمته هنا هو روبوت محادثة أساسي للغاية في Python لا يمتلك أي مهارات معرفية ، إلا أنه يجب أن يكون كافيًا لمساعدتك على فهم تشريح روبوتات المحادثة.
بمجرد أن تفهم تصميم روبوت المحادثة باستخدام Python جيدًا ، يمكنك تجربته باستخدام أدوات وأوامر مختلفة لجعله أكثر ذكاءً.
أيضًا ، إذا كنت مهتمًا بمعرفة المزيد عن التعلم الآلي ، فراجع برنامج IIIT-B & upGrad's Executive PG في التعلم الآلي المصمم للمهنيين العاملين ويقدم أكثر من 450 ساعة من التدريب الصارم ، وأكثر من 30 دراسة حالة ومهمة ، IIIT -ب حالة الخريجين ، 5+ مشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.
ما هو الشات بوت؟
روبوت المحادثة هو جزء من برنامج قائم على الذكاء الاصطناعي يمكنه التحدث مع البشر بلغتهم الخاصة. غالبًا ما تتصل روبوتات المحادثة هذه بالبشر من خلال الوسائل الصوتية أو المكتوبة ، ويمكنها بسهولة تقليد اللغات البشرية للتحدث معهم بطريقة تشبه البشر. يُعلِّم النهج القائم على القواعد روبوت المحادثة الإجابة على الاستفسارات بناءً على مجموعة من القواعد المحددة مسبقًا التي تم تدريسها عند إنشائها لأول مرة. يمكن أن تكون هذه القواعد المحددة مسبقًا بسيطة أو معقدة. روبوتات التعلم الذاتي ، كما يوحي الاسم ، هي روبوتات يمكنها التدريب بمفردها. يستفيد هؤلاء من أحدث التقنيات مثل الذكاء الاصطناعي والتعلم الآلي للتعلم من الأمثلة والسلوكيات.
ما المهارات التي أحتاجها لإنشاء روبوت محادثة؟
يجب أن يمتلك مطورو روبوتات المحادثة مجموعة متنوعة من المهارات. يجب أن يكون لديهم فهم شامل للمنصات ولغات البرمجة من أجل العمل بكفاءة على تطوير Chatbot. يجب أن يكون مطورو روبوتات المحادثة على دراية جيدة بخوارزميات التعلم والذكاء الاصطناعي ومعالجة اللغة الطبيعية. خلفية متعددة اللغات مع خبرة في البرمجة بلغات مثل Java و PHP و Python و Ruby وغيرها. يجب أن يكون المبرمجون على دراية بالمنصات من أجل تحسين جودة روبوت المحادثة.
ما هو روبوت المحادثة القائم على القواعد؟
بدلاً من استخدام الذكاء الاصطناعي ، يستخدم الروبوت القائم على القواعد تدفقًا يشبه الشجرة لمساعدة الضيوف في الإجابة على أسئلتهم. يشير هذا إلى أن الروبوت سيوجه الضيف عبر سلسلة من أسئلة المتابعة للوصول إلى الحل المناسب. لديك سيطرة كاملة على الحوار لأن الهياكل والاستجابات كلها محددة مسبقًا. لذا ، لماذا يجب عليك استخدام chatbot مع القواعد؟ تعد الأرقام الأصغر والاستفسارات البسيطة ، مثل حجز طاولة في مطعم أو الاستعلام عن ساعات العمل ، مثالية لبرامج الدردشة القائمة على القواعد.