ما هي روبوتات الدردشة؟
تعرف على كيفية قيام برامج المحادثة الآلية بإحداث ثورة في التفاعلات بين الإنسان والحاسوب، بدءًا من تاريخها وأنواعها وحتى بناء برنامج المحادثة الآلية المبني على القواعد.
تخيّل أنك تتحدث مع آلة تفهمك وتستجيب لك آنيًا. هذا هو روبوت الدردشة! ببساطة، روبوت الدردشة هو برنامج حاسوبي مصمم لمحاكاة المحادثة مع المستخدمين.
روبوتات الدردشة متعددة الاستخدامات، حيث تتكامل بسلاسة مع تطبيقات المراسلة والمواقع الإلكترونية، وحتى الرسائل النصية على هاتفك. يمكنها مساعدتك في طلب البيتزا، أو التحقق من حالة الطقس، أو الرد على استفسارات خدمة العملاء. ولكن ما أهمية روبوتات الدردشة؟
تُحدث روبوتات الدردشة ثورةً في كيفية تفاعلنا مع التكنولوجيا والشركات من خلال توفير راحة لا مثيل لها. فهي متاحة على مدار الساعة طوال أيام الأسبوع للمساعدة عند الحاجة. تُعزز هذه الروبوتات الكفاءة من خلال إدارة محادثات متعددة في آنٍ واحد، مما يُقلل من أوقات انتظار المستخدمين. كما تُوفر روبوتات الدردشة تجربة شخصية من خلال تذكر تفضيلات المستخدم وتخصيص الردود وفقًا لذلك. إنها حلٌّ اقتصادي للشركات، حيث تُقلل الحاجة إلى فرق خدمة عملاء كبيرة مع تعزيز رضا العملاء.
معلومة طريفة: قدّم إسحاق أسيموف، كاتب الخيال العلمي الشهير، القوانين الثلاثة للروبوتات في قصته القصيرة "Runaround" عام ١٩٤٢. ورغم عدم ارتباط هذه القوانين مباشرةً بروبوتات الدردشة، إلا أنها شكّلت طريقة تفكير الناس في التفاعلات بين الإنسان والآلة حتى يومنا هذا.
لا يجوز للروبوت أن يؤذي الإنسان، أو أن يسمح للإنسان بالتسبب في الأذى من خلال التقاعس عن العمل.
يجب على الروبوت أن يطيع الأوامر البشرية ما لم تتعارض تلك الأوامر مع القانون الأول.
يجب على الروبوت حماية وجوده طالما أن هذه الحماية لا تتعارض مع القانون الأول أو القانون الثاني.
ما هي استخدامات برامج المحادثة الروبوتية؟
روبوتات الدردشة منتشرة في كل مكان، مما يُسهّل الحياة على الأفراد والشركات. إليك الطريقة:
دعم العملاء: يتعاملون مع الاستفسارات الروتينية مثل "أين طلبي؟" أو "ما هي سياسة استرداد الأموال الخاصة بك؟" دون جعل المستخدمين ينتظرون وكيلًا بشريًا.
المساعدون الشخصيون: بدءًا من جدولة الاجتماعات وحتى إعداد التذكيرات، يساعد المساعدون الافتراضيون مثل Siri وAlexa في تنظيم الحياة اليومية.
التجارة الإلكترونية وتجارة التجزئة: يوصون بالمنتجات، ويساعدون في إتمام عملية الشراء، وحتى يجيبون على الأسئلة المتعلقة بالمقاسات أو الشحن.
التعليم: تجيب برامج المحادثة الآلية مثل ChatGPT أو المعلمون المعتمدون على الذكاء الاصطناعي على الأسئلة وتوفر مواد الدراسة وتشارك في جلسات التعلم التفاعلية.
الرعاية الصحية: يقوم المساعدون الافتراضيون بحجز المواعيد، وتذكيرك بتناول الأدوية، ودعم الصحة العقلية.
تاريخ موجز لروبوتات الدردشة
لنأخذ جولة في ذكريات الماضي ونرى كيف تطورت روبوتات الدردشة. في عام ١٩٦٦، طُوّر برنامج ELIZA في معهد ماساتشوستس للتكنولوجيا كأحد أوائل روبوتات الدردشة. كان يُحاكي المعالج النفسي بإعادة صياغة عباراتك على هيئة أسئلة. إذا قلتَ: "أشعر بالحزن"، فسيجيب ELIZA: "لماذا تشعر بالحزن؟" كان برنامجًا بسيطًا، ولكنه كان رائدًا في ذلك الوقت، إذ فتح آفاقًا جديدة في التفاعل بين الإنسان والحاسوب.
في عام ١٩٩٥، ظهر برنامج ALICE، الذي استخدم مطابقة الأنماط وكان أكثر تطورًا من ELIZA. ثم في عام ٢٠٠١، ظهر برنامج SmarterChild على برنامج AOL Instant Messenger، وهو روبوت دردشة يمكنه الدردشة حول مواضيع مختلفة، وقد قدّم الترفيه لملايين المستخدمين.
شهد العقد الثاني من القرن الحادي والعشرين قفزة نوعية عندما اكتسبت روبوتات الدردشة دورًا أكثر تخصيصًا في نموذج مساعدين افتراضيين مثل سيري وأليكسا ومساعد جوجل. أدخلت هذه الروبوتات، المدعومة بالصوت، الذكاء الاصطناعي إلى منازلنا وجيوبنا، مما سهّل التفاعل مع التكنولوجيا من خلال اللغة المنطوقة الطبيعية أكثر من أي وقت مضى. لم تكتفِ هذه الروبوتات بالاستجابة للأوامر، بل تمكنت من فهم السياق، والتعلم من التفاعلات، وأداء المهام، كل ذلك بصوت حواري.
لكن الثورة التالية جاءت مع ظهور الذكاء الاصطناعي التوليدي في عشرينيات القرن الحادي والعشرين، مدفوعةً بتقنيات مثل نماذج اللغات الكبيرة (LLMs). قدمت أدوات مثل ChatGPT من OpenAI وGemini من Google فئة جديدة من روبوتات الدردشة القائمة على الذكاء الاصطناعي القادرة على توليد نصوص شبيهة بالنصوص البشرية، تتميز بتماسك وإبداع وعمق ملحوظين. بخلاف روبوتات الدردشة التقليدية، التي تعتمد على برمجة صارمة أو تدريب محدود، تستطيع هذه الروبوتات فهم اللغة الدقيقة، والإجابة على أسئلة معقدة، وحتى إنشاء محتوى من الصفر، سواءً كان ذلك كتابة مقالات، أو صياغة رسائل بريد إلكتروني، أو حتى المساعدة في البرمجة.
يُمثل هذا التحول نحو الذكاء الاصطناعي التوليدي بداية عصر جديد من روبوتات الدردشة الذكية حقًا - أدوات قادرة على التعلم والتكيف وتنفيذ مهام لم تكن لتخطر على بال الآلات من قبل. مع تقدمنا في هذه الدورة المجانية، سنستكشف الأسس التي تجعل هذه الروبوتات المتقدمة ممكنة، ممهدين الطريق لبناء أنظمة محادثة مدعومة بالذكاء الاصطناعي.
معلومة طريفة: هل تعلم أن إليزا، أول روبوت محادثة، صُمم في البداية لإظهار طبيعة التواصل السطحي بين البشر والآلات؟ تفاجأ جوزيف وايزنباوم، مبتكره، برؤية تفاعل الناس عاطفيًا مع روبوت المحادثة، رغم أنه لم يُظهر سوى عباراتهم كأسئلة.
كيف تعمل برامج المحادثة الآلية؟
قد تبدو روبوتات الدردشة سحرًا - آلاتٌ تُردُّ علينا وكأنها تفهم كل كلمة. لكن لا توجد عصا سحرية وراء الكواليس، بل برمجة ذكية وتقنيات فعّالة. دعونا نُقسِّمها إلى نوعين رئيسيين من روبوتات الدردشة، بدءًا من البسيط وصولًا إلى الأذكى.
روبوتات الدردشة القائمة على القواعد
تخيل روبوتات الدردشة القائمة على القواعد ككتب "اختر مغامرتك بنفسك" في عالم روبوتات الدردشة. تعمل هذه الروبوتات كمخطط انسيابي: لكل إدخال، يوجد إخراج مُحدد مسبقًا. إذا قلت "مرحبًا"، يُجيبك بـ "مرحبًا! كيف يُمكنني مساعدتك اليوم؟". إذا سألت "كيف حال الطقس؟"، فقد يبحث في قاعدة البيانات ويُعطيك توقعات اليوم. لكن إذا سألت شيئًا لم يُبرمج له، مثل "ما معنى الحياة؟"، فستحصل على الأرجح على "لا أفهم ذلك". لنفترض أنك تُحادث روبوت بيتزا. إليك كيفية عمله:
أنت تكتب: اطلب بيتزا.
ردّ البوت: ما هو الحجم؟ صغير، متوسط، أم كبير؟
أنت تكتب: متوسط.
الرد الآلي: ما هي الإضافات التي تريدها؟
كل خطوة تتبع قاعدة: إدخال تُفعّل استجابة مُبرمجة مُسبقًا. إذا كتبتَ فجأةً "كم عدد السعرات الحرارية في بيتزا متوسطة؟"، فلن يُساعدك البوت - ليس لديه قاعدة. هذه البوتات سهلة بناء وقابلة للتنبؤ، مما يجعلها مثالية للمهام البسيطة. لكن لها حدودها:
إنهم لا يتعلمون: يمكنك طرح نفس السؤال مائة مرة، ولن يتمكنوا أبدًا من التحسن في الإجابة.
لا يمكنهم التعامل مع الغموض : إذا كان إدخال غير دقيق بعض الشيء، مثل "بيتزا متوسطة من فضلك"، فقد لا يفهم الروبوت ذلك.
تشبه برامج المحادثة الروبوتية القائمة على القواعد كتب الوصفات: فهي ممتازة في اتباع تعليمات محددة ومحددة مسبقًا ولكنها غير مفيدة على الإطلاق عند مواجهة أي شيء خارج إرشاداتها المحددة.
روبوتات الدردشة المدعومة بالذكاء الاصطناعي
الآن، تُعتبر روبوتات الدردشة المدعومة بالذكاء الاصطناعي عباقرة هذه العائلة. إنها أشبه بذلك الصديق الذي يبدو أنه يعرف القليل عن كل شيء، ويستطيع مواكبة أي موضوع تطرحه عليه. تستخدم هذه الروبوتات التعلم الآلي ومعالجة اللغة الطبيعية (NLP) لتحليل ما تقوله وما تقصده.
دعونا ننظر إلى مثال:
تسأل روبوت المحادثة الذكي: "ما هو الطقس في طوكيو اليوم؟"
لا يكتفي الروبوت بمطابقة "الطقس" و"طوكيو" مع قاعدة البيانات، بل يقوم بما يلي:
معالجة إدخال: يقوم بتقسيم جملتك إلى أجزاء - "الطقس"، "طوكيو"، و"اليوم" - ويفهم العلاقات بينها.
يجد السياق: فهو يدرك أن "طوكيو" هي مدينة، وأن "الطقس" يشير إلى توقعات، وأن "اليوم" يعني اليوم الحالي.
جلب الإجابة: باستخدام هذا الفهم، قد يستفسر عن API الطقس للطقس الحالي في طوكيو.
يُولّد استجابة طبيعية: بدلًا من "طقس طوكيو: ٢٤ درجة مئوية" الآلي، يُجيب: "الطقس في طوكيو اليوم ٢٤ درجة مئوية وسماء صافية. لا تنسَ نظارتك الشمسية!"
تكمن عبقرية روبوتات الدردشة الذكية في قدرتها على التعامل مع الغموض. لنفترض أنك سألت: "هل سأحتاج إلى مظلة في طوكيو؟" يستطيع روبوت الدردشة الذكي أن يستنتج أنك تسأل عن المطر، ويتحقق من توقعات هطول الأمطار. مع مرور الوقت، قد يلاحظ أنك تسأل كثيرًا عن طقس طوكيو، ويبدأ بتقديم التحديثات بشكل استباقي: "مرحبًا، طوكيو تبدو مشمسة اليوم - مثالية للتنزه!"
معلومة تثقيفية: إذا كانت روبوتات الدردشة القائمة على القواعد أشبه بآلات البيع - بارعة في إعطائك قطعة حلوى بمجرد الضغط على زر الصحيح - فإن روبوتات الدردشة القائمة على الذكاء الاصطناعي أشبه بالمساعدين الشخصيين. فهي لا تُقدم لك ما تطلبه فحسب؛ بل تُفكر مُسبقًا، وتتوقع احتياجاتك، وتتكيف مع الموقف. في حين أن آلة البيع ستُقدم لك دائمًا نفس الوجبة الخفيفة، فقد يُوصيك مساعد مُزود بالذكاء الاصطناعي بخيار صحي أكثر إذا لاحظ أنك تطلب نصائح غذائية.
كيفية بناء روبوت المحادثة
بعد أن ناقشنا آلية عمل برامج المحادثة الآلية، حان الوقت لتفعيلها من خلال برمجة برنامج محادثة آلي بسيط. بناء برنامج محادثة آلي يُطلعنا على الوقت الحالي في مدن مختلفة. يأخذ هذا البرنامج اسم المدينة إدخال ، ويستخدم قواعد مُحددة مسبقًا لضبط الوقت الحالي بناءً على المنطقة الزمنية للمدينة. إذا لم يتم التعرف على المدينة، فسيتم ضبطه افتراضيًا على توقيت غرينتش ويُعلم المستخدم بذلك. مع ذلك، يمكن للمستخدمين الخروج من البرنامج بالضغط على "exit". فيما يلي الكود الكامل للإصدار الأساسي من هذا البرنامج الآلي:
import datetime
while (True):
## get the name of the city from the user
city = input("Enter city: ")
## get the current time
current_time = datetime.datetime.now()
## save hours, minutes and second of the current time
## in their corresponding variables
hour = current_time.hour
minute = current_time.minute
second = current_time.second
## check for case 1: the learner has typed Boston
if city == "Boston":
hour = hour - 4
## check for case 2: the learner has typed Tokyo
elif city == "Tokyo":
hour = hour + 9
## check for case 3: the learner has typed Chicago
elif city == "Chicago":
hour = hour - 5
## check for case 4: the learner has typed Seattle
elif city == "Seattle":
hour = hour - 7
## check for case 5: the learner has typed exit
elif city == "exit":
break
## if all cases fail, show the time for GMT
else:
print(city, "is not added")
city = "GMT"
# print the name of the city and the its corresponding time
print(city, str(hour) + ":" + str(minute) + ":" + str(second))
دعونا نقوم بتقسيم الكود خطوة بخطوة:
السطر 1: هذا يستورد
datetimeوحدة أساسية للتعامل مع التواريخ والأوقات في Python. تسمح للبرنامج بجلب الوقت الحالي.الأسطر 3-5:
while True:إن الحلقة تنشئ حلقة لا نهائية، مما يضمن استمرار تشغيل برنامج المحادثة الآلي حتى يكتب المستخدم "خروج". داخل الحلقة، على السطر 5 ،input("Enter city: ")يطلب من المستخدم كتابة اسم مدينة. يُخزَّن هذا إدخال في متغيرcity.الأسطر 12-14: يتم استرجاع الوقت الحالي باستخدام
datetime.datetime.now()ويتم استخراج مكونات الساعة والدقيقة والثانية وتخزينها في متغيرات منفصلة (hour،minute،second).الأسطر من 17 إلى 30: يحدد هذا منطق روبوت المحادثة للتعامل مع أسماء المدن المحددة إذا أدخل المستخدم
"Boston"، الكود يطرح4منhourمتغير لضبط توقيت غرينتش-4. وبالمثل، بالنسبة لـ"Tokyo"،9تتم إضافة الساعات لحساب GMT+9، لـ"Chicago"،5يتم خصم الساعات (GMT-5) لـ"Seattle"،7يتم خصم الساعات (GMT-7).السطران ٣٧-٣٩: إذا لم يتطابق إدخال مع أيٍّ من الحالات المُحددة مُسبقًا، يُعيّن البرنامج توقيت غرينتش افتراضيًا. يعرض رسالة تُشير إلى أن المدينة غير مُدرجة في قاعدة البيانات، ويُعيّن
"GMT"الىcityمتغير.السطر 42: يقوم البرنامج بطباعة اسم المدينة والوقت المقابل، بتنسيق
hour:minute:second. الstr()تضمن الوظيفة تحويل القيم الرقمية إلى سلاسل للعرض.
بعد أن أنشأتَ روبوت دردشة أساسيًا للساعة العالمية، حان الوقت لتوسيع وظائفه بإضافة المزيد من المدن. مهمتك هي إضافة المناطق الزمنية لمدن مثل لندن (توقيت غرينتش)، وسيدني (توقيت غرينتش +10)، ومومباي (توقيت غرينتش +5:30)، وكيب تاون (توقيت غرينتش +2)، ودمجها في الكود الخاص بك. أضف مناطق زمنية جديدة.elif عبارات لهذه المدن في المساحة المُخصصة على السطر ٢٣ ، مع ضمان دقة تعديلات المنطقة الزمنية، مثل التعامل مع إزاحة نصف ساعة في مومباي بزيادة الدقائق والساعات بشكل مناسب. تُعزز هذه المهمة فهمك للذكاء الاصطناعي القائم على القواعد والمنطق الشرطي. كما أنها تُحفزك على التفكير النقدي في الحالات الاستثنائية، مثل المناطق الزمنية التي يبلغ طولها نصف ساعة.
import datetime
while (True):
city = input("Enter city: ")
current_time = datetime.datetime.now()
hour = current_time.hour
minute = current_time.minute
second = current_time.second
if city == "Boston":
hour = hour - 4
elif city == "Tokyo":
hour = hour + 9
elif city == "Chicago":
hour = hour - 5
elif city == "Seattle":
hour = hour - 7
## add more cities here
elif city == "exit":
break
else:
print(city, "is not added")
city = "GMT"
print(city, str(hour) + ":" + str(minute) + ":" + str(second))
إذا لم تكن متأكدًا من كيفية إكمال المهمة، فلا تقلق! يمكنك الوصول إلى الحل بالضغط على زر أدناه. مع ذلك، نشجعك بشدة على تجربته بنفسك مرة واحدة على الأقل، فهي أفضل طريقة للتعلم وتعميق فهمك.