تعلم الآلةمعالجة اللغات الطبيعية

المتحدث الآلي – نظرة شاملة وتطبيق عملي

مقدمة

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

ربما يوماً تحدثت مع خدمة العملاء عبر المحادثة الفورية وكان الرد سريعاً وشاملاً. أود أن أخبرك بأن هناك احتمالية كبيرة أن الرد كان من قبل الإنسان الآلي وليس هناك أي تدخل بشري في تلك المحادثة.

إذن ما هو المقصود بالرد الآلي وماهي أبرز أنواعه وماهي التطبيقات الحالية التي يمكن آستخدامها لإنشائه؟ 

هذا المقال سيجيب على استفساراتك بهذا الخصوص.

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

ستحتوي هذه المقالة على: 

  • تعريف المتحدث الآلي
  • أنواع المتحدث الآلي
  • أهم المنصات لتطبيقه
  • مثال تطبيقي باستخدام لغة Python

 

تعريف المتحدث الآلي

بداية ظهر مصطلح “chatterbot” في عام 1994 عندما أنشأ مايكل مولدين أول روبوت دردشة اسمه “جوليا” [1]. حسب قاموس أكسفورد. يُعرَّف روبوت المحادثة بأنه “برنامج كمبيوتر مصمم لمحاكاة المحادثة مع البشر، خاصة عبر الإنترنت. ويمكن اعتباره مساعداً افتراضياً يتواصل مع المستخدمين عبر الرسائل النصية ويساعد المؤسسات للاقتراب من عملائها. حيث أن تصميمه برمجياً لتقليد الطريقة التي يتواصل بها البشر مع بعضهم البعض [2].

تساعد روبوتات المحادثة في تحقيق الأهداف التالية:

  • زيادة الكفاءة التشغيلية
  • أتمتة تلبية طلبات العميل
  • التعامل مع الاستفسارات المتكررة مما يتيح للموظفين الرد على الاستفسارات المعقدة
  • تقديم دعم متعدد اللغات
  • توفير الوقت والجهد من خلال أتمتة دعم العملاء
  • يحسن معدل الاستجابة وكذلك مشاركة العملاء
  • تخصيص ردود معينة للرد على العملاء

المصدر

أنواع المتحدث الآلي

تختلف أنواع الرد الآلي باختلاف كيفية استخدامها. يوجد بشكل أساسي ثلاثة أنواع من الرد الآلي، وهي كالتالي:

1- الرد الآلي المستند على القواعد: هذا النوع هو النوع الأساسي للرد الآلي حيث يتم بناء رد لكل مدخل من قبل المستفيدين [3].

2- الرد الآلي المستند على الاسترداد: هذا النوع يتم فيه الاعتماد على الذكاء الصناعي واستخدام كلمات دلالية للرد على المستفيدين بأقرب رد مصنف حسب المحتوى الذي تم تقديمه من قبل المستفيد بكفائه وفعالية [4].

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

 

أشهر منصات المتحدث الآلي

تقدم العديد من المنصات روبوتات محادثة مخصصة ومؤتمتة، مما يحسن خدمات الدعم المتسلسل والتي تقدم خدماتها في الوقت المحدد والتي تحسن خدمة العملاء من خلال سرعة التواصل معهم من قبل مقدمين الخدمات.

منصات الرد الآلي الأكثر انتشاراً 2020:

Azure Bot Service

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

Botsify

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

Amazon Lex

يسمح للمطورين ببناء منصات دردشة للرد الآلي باستخدام الصوت والكتابة ووظائف التعلم العميق ومعالجة اللغات الطبيعية للاستفادة من سياق الكلام، وكذلك يوفر وحدات للتحكم لبناء رد آلي يغطي الاحتياجات في دقائق معدودة.

Mobile Monkey

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

IBM Watson Chatbot

توفر شركة IBM خدمة الرد الآلي، ولقي اتساعاً في تطبيقاته في العالم العربي، حيث أنه يمكن تطوير نظام للردود بناءً على العديد من الاستفسارات وهو مهيأ للتكيف مع اختلاف أهداف استخدامه.

 

مثال تطبيقي باستخدام لغة Python

والآن وقد أثرت فضولك عن أهمية المتحدث الآلي! أقدم لك طريقة لتبدأ ببناء رد آلي قابل للتخصيص بأي طريقة شئت باستخدام مكتبة chatterbot التي تستخدم لغة Python.

وكما هو اسمها chatterbot فهي مكتبة مخصصة لبناء الرد الآلي، تستخدم خوارزميات الذكاء الاصطناعي المخصصة لبناء ليكون الرد صحيح بدقة عالية.

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

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

الخطوات كالتالي:

تحميل المكتبة وتحميل ملحقاتها من مجموعة الكلمات التي تخدم النموذج (model) في الإنشاء والتي تسمى Corpus، باستخدام Anaconda Jupyter.

أوامر تثبيت  المكتبات:

!pip install chatterbot
!pip install chatterbot_corpus

 

إنشاء Class  من Module  معين:

from chatterbot import ChatBot

 

إنشاء Object من Class ChatBot:

bot = ChatBot('Buddy')

 

كذلك ربط قاعدة بيانات  من نوع  SQL مع Chatterbot object:

bot = ChatBot(
    'Buddy',
    storage_adapter='chatterbot.storage.SQLStorageAdapter',
    database_uri='sqlite:///database.sqlite3'
)

 

كذلك ربط الكائن المنطقي مع كائن Chatterbot object:

# Create object of ChatBot class with Logic Adapter
bot = ChatBot(
    'Buddy',  
    logic_adapters=[
        'chatterbot.logic.BestMatch',
        'chatterbot.logic.TimeLogicAdapter'],
)

 

تدريب النموذج بكتابة مدخلات ومخرجات مناسبة:

# Inport ListTrainer
from chatterbot.trainers import ListTrainer

trainer = ListTrainer(bot)

trainer.train([
'السلام عليكم',
'وعليكم السلام ',
'أحتاج آستفسار بخصوص رقم الطلب  ',
'لطفا: ماهو رقم الطلب ؟ ',
'رقم الطلب هو 1122 ' ,
'  , سيتم الرد عليك في عدد5 أو 6 أيام'
'شكرا',
'أهلا بك ! يومك سعيد'
])

 

النتائج

response = bot.get_response('السلام عليكم')
print("Bot Response:", response)
response = bot.get_response('شكرا')
print("Bot Response:", response)

 

 الخلاصة

تهانينا، لقد حصلت على معلومات شاملة عن المتحدث الآلي!

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

 

المراجع 

[1]          S. Rozga, “Introduction to Chat Bots,” Pract. Bot Dev., pp. 1–28, 2018, doi: 10.1007/978-1-4842-3540-9_1.

[2]          M. Dahiya, “A Tool of Conversation: Chatbot, International Journal of Computer Sciences and Engineering, Volume-5, Issue-5 E-ISSN: 2347-2693,” Int. J. Comput. Sci. Eng., vol. 5, no. December, 2017, [Online]. Available: https://www.researchgate.net/publication/321864990_A_Tool_of_Conversation_Chatbot.

[3]          Y. Wu, Z. Li, W. Wu, and M. Zhou, “Response selection with topic clues for retrieval-based chatbots,” Neurocomputing, vol. 316, pp. 251–261, Nov. 2018, doi: 10.1016/j.neucom.2018.07.073.

[4]          “Generative Model Chatbots. Or, how to build a bot that creates its… | by Kumar Shridhar | BotSupply | Medium.” https://medium.com/botsupply/generative-model-chatbots-e422ab08461e (accessed Jul. 02, 2021).

[5]          D. Kalla and V. Samiuddin, “Chatbot for Medical Treatment using NLTK Lib,” J. Comput. Eng., vol. 22, no. 1, pp. 50–56, 2020, doi: 10.9790/0661-2201035056.

اظهر المزيد

abrar2021

أعمل كمتخصصه تقنية في مجال البيانات والذكاء الآصطناعي لدى البنك المركزي السعودي .. ومهتمه بتطوير تطبيقات الذكاء الاصطناعي لخدمة القطاع المالي .

‫4 تعليقات

  1. شكرا لك على المقالة السلسة.
    أعجبني مصطلح “الرد الآلي”، لأن أغلب الأنظمة التي جربتها حاليا عبارة عن “أنظمة رد آلي” وليست “محادثات آلية” وإن كان هذا هو المصطلح الشائع. لأنها فقط تجيب على أسئلة في نطاق معين وفي عالم صغير ومغلق وبعمق محدود (وفي الغالب معرفة مسبقا). أعتقد أن أنسب إطار لتطوير المحادث الآلي هو التعليم بالتعزيز Reinforcement Learning الذي يمكنه من التعلم من خلال التفاعل مع المستخدم وعن طريق ردة فعله.

    1. الطرق المثلى الحالية هي supervised learning مع
      online learning.
      Reinforcement learning بحاجة لمئات ملايين التجارب ليصل البوت لنتائج جيدة و تحديد المكافئة reward بنطاق مجيب آلي يتعلم لغة البشر موضوع غير منطقي كفاية.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى