تسريع التطوير باستخدام خدمات Azure: بناء روبوتات المحادثة والخدمات المعرفية باستخدام النظام الأساسي

يا هبر! سنعرض لك اليوم كيفية استخدام Azure لحل المهام التي تتطلب عادةً مشاركة بشرية. يقضي المشغلون الكثير من الوقت في الإجابة على نفس الأسئلة ومعالجة المكالمات الهاتفية والرسائل النصية. تعمل روبوتات المحادثة على أتمتة الاتصال والتعرف وتقليل العبء على الأشخاص. تُستخدم الروبوتات أيضًا في Azure DevOps ، حيث تسمح ، على سبيل المثال ، بالموافقة على الإصدارات وإدارة الإصدارات - العرض والبدء والإيقاف - مباشرةً من Slack أو Microsoft Teams. في الواقع ، برنامج chatbot يذكرنا إلى حد ما بـ CLI ، فهو تفاعلي فقط ، ويسمح للمطور بعدم ترك سياق المناقشة في الدردشة.

في هذه المقالة ، سنتحدث عن أدوات chatbot ، ونوضح كيف يمكن تحسينها بالخدمات المعرفية ، ونوصف كيفية تسريع التطوير مع الخدمات الجاهزة في Azure.

تسريع التطوير باستخدام خدمات Azure: بناء روبوتات المحادثة والخدمات المعرفية باستخدام النظام الأساسي

روبوتات المحادثة والخدمات المعرفية: كيف يتشابهان وما هو الاختلاف

يستخدم Microsoft Azure خدمة Azure Bot و Bot Framework لإنشاء روبوتات. وهما معًا عبارة عن مجموعة من البرامج لبناء الروبوتات واختبارها ونشرها وإدارتها ، مما يسمح لك بالإنشاء من وحدات جاهزة كل من أنظمة الاتصال البسيطة والمتقدمة مع دعم الكلام والتعرف على اللغة الطبيعية وميزات أخرى.

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

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

عادة ما يخلط الناس بشكل حدسي بين "الروبوتات" و "الخدمات المعرفية" لأن كلا المفهومين يعتمدان على مبدأ الاتصال ، وهناك حوارات في سيناريو استخدام الروبوتات والخدمات. لكن روبوتات الدردشة تعمل مع الكلمات الرئيسية والمشغلات ، بينما تعمل الخدمات المعرفية مع الطلبات التعسفية التي عادةً ما تتم معالجتها بواسطة الأشخاص: 

تسريع التطوير باستخدام خدمات Azure: بناء روبوتات المحادثة والخدمات المعرفية باستخدام النظام الأساسي

تعد الخدمات المعرفية طريقة أخرى للتواصل مع المستخدم ، مما يساعد على تحويل طلب تعسفي إلى أمر واضح ونقله إلى الروبوت. 

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

إنشاء روبوتات الدردشة

يكون نمط التصميم الموصى به لروبوت في Azure كما يلي: 

تسريع التطوير باستخدام خدمات Azure: بناء روبوتات المحادثة والخدمات المعرفية باستخدام النظام الأساسي

لتصميم الروبوتات وتطويرها في Azure ، استخدم إطار عمل البوت. يوجد على جيثب أمثلة بوت، تتغير إمكانيات إطار العمل ، لذلك عليك أن تأخذ في الاعتبار إصدار SDK المستخدم في برامج الروبوت.

يتضمن إطار العمل العديد من الخيارات لإنشاء روبوتات: استخدام التعليمات البرمجية الكلاسيكية أو أدوات سطر الأوامر أو المخططات الانسيابية. يعرض الخيار الأخير مربعات الحوار ، لذلك يمكنك استخدام المدير منشئ إطار عمل البوت. لقد تم إنشاؤه فوق Bot Framework SDK كأداة تطوير وصفية يمكن للفرق متعددة التخصصات استخدامها لبناء الروبوتات.

تسريع التطوير باستخدام خدمات Azure: بناء روبوتات المحادثة والخدمات المعرفية باستخدام النظام الأساسي

يتيح لك Bot Framework Composer استخدام الكتل لإنشاء بنية حوار يعمل معها الروبوت. بالإضافة إلى ذلك ، يمكنك إنشاء مشغلات ، أي الكلمات الرئيسية التي سيستجيب لها الروبوت أثناء الحوار. على سبيل المثال ، الكلمات "عامل" ، "سرقة" أو "توقف" و "يكفي".

في Bot Framework Composer ، يمكنك إنشاء نظام معقد من الحوارات باستخدام حوارات تكيفية. يمكن أن تستخدم الحوارات كلاً من الخدمات المعرفية وبطاقات الأحداث (البطاقات التكيفية):

تسريع التطوير باستخدام خدمات Azure: بناء روبوتات المحادثة والخدمات المعرفية باستخدام النظام الأساسي

بعد الإنشاء ، يمكنك نشر chatbot في اشتراك ، وسيقوم البرنامج النصي المُعد تلقائيًا بإنشاء جميع الموارد الضرورية: الخدمات المعرفية ، وخطة التطبيق ، ورؤى التطبيق ، وقاعدة البيانات ، وما إلى ذلك.

صانع قنا

لإنشاء روبوتات بسيطة بناءً على قواعد بيانات الشركة للأسئلة والأجوبة ، يمكنك استخدام الخدمة المعرفية لـ QnA Maker. تم تنفيذه كمعالج ويب بسيط ، فهو يسمح لك بإرسال ارتباط إلى قاعدة معارف الشركة (FAQ Urls) كمدخل أو استخدام قاعدة بيانات للمستندات بتنسيق * .doc أو * .pdf كأساس. بعد إنشاء الفهرس ، سيحدد الروبوت الإجابات الأكثر ملاءمة لأسئلة المستخدم.

باستخدام QnAMaker ، يمكنك أيضًا إنشاء سلاسل لتوضيح الأسئلة من خلال الإنشاء التلقائي للأزرار ، وتكملة قاعدة المعرفة بالبيانات الوصفية ، وزيادة تدريب الخدمة أثناء الاستخدام.

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

العمل مع الخدمات المعرفية الأخرى

هناك العديد من الخدمات المعرفية المختلفة على منصة Azure. من الناحية الفنية ، هذه خدمات ويب قائمة بذاتها يمكن استدعاؤها من التعليمات البرمجية. ردًا على ذلك ، ترسل الخدمة json بتنسيق معين يمكن استخدامه في روبوت الدردشة.

تسريع التطوير باستخدام خدمات Azure: بناء روبوتات المحادثة والخدمات المعرفية باستخدام النظام الأساسي
أكثر روبوتات المحادثة شيوعًا هي:

  1. التعرف على النص.
  2. التعرف على الفئات المحددة من قبل المطور لصور خدمة الرؤية المخصصة (حالة الإنتاج: التعرف على ما إذا كان الموظف يرتدي قبعة صلبة أو نظارات واقية أو قناع).
  3. التعرف على الوجوه (حالة استخدام ممتازة هي التحقق مما إذا كان الشخص قد نشر وجهه ، أو ، على سبيل المثال ، صورة لكلب أو صورة لشخص من الجنس الآخر).
  4. التعرف على الكلام.
  5. تحليل الصور.
  6. الترجمة (نتذكر جميعًا مقدار الضجيج في الترجمة الفورية في Skype).
  7. التدقيق الإملائي واقتراحات لتصحيح الأخطاء.

LUIS

أيضًا ، لإنشاء روبوتات ، قد تحتاج LUIS (خدمة فهم اللغة الذكية). مهام الخدمة:

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

في الواقع ، الهدف الرئيسي من LUIS هو فهم ما يعنيه المستخدم باحتمالية معينة وتحويل الطلب الطبيعي إلى أمر متماسك. للتعرف على قيم الاستعلام ، يستخدم LUIS مجموعة من المقاصد (المعاني والنوايا) والكيانات (إما تم تكوينها مسبقًا من قبل المطورين ، أو "المجالات" المأخوذة والمُشكَّلة مسبقًا - بعض المكتبات الجاهزة من عبارات النوع التي أعدتها Microsoft). 

مثال بسيط: لديك روبوت لتنبؤات الطقس. بالنسبة له ، سيكون القصد هو ترجمة طلب طبيعي إلى "إجراء" - طلب لتنبؤ بالطقس ، وستكون الكيانات هي الزمان والمكان. فيما يلي رسم تخطيطي لكيفية عمل هدف CheckWeather لمثل هذا الروبوت.

نية
جوهر
مثال على الاستعلام الطبيعي

تحقق الطقس
{"النوع": "الموقع" ، "الكيان": "موسكو"}
{"النوع": "builtin.datetimeV2.date"، "الكيان": "المستقبل"، "الحل": "2020-05-30"}
كيف سيكون الطقس في موسكو غدا؟

تحقق الطقس
{"type": "date_range"، "الكيان": "عطلة نهاية الأسبوع هذه"}
أرني توقعات نهاية هذا الأسبوع

للجمع بين QnA Maker و LUIS ، يمكنك استخدام المرسل

تسريع التطوير باستخدام خدمات Azure: بناء روبوتات المحادثة والخدمات المعرفية باستخدام النظام الأساسي

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

اختبار البوتات والنشر

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

تم تقديم مثال لاستخدام المحاكي في هذا العرض التوضيحي ، والذي يوضح إنشاء مساعد افتراضي لسيارات BMW. يتحدث الفيديو أيضًا عن مسرعات جديدة لإنشاء روبوتات محادثة - قوالب:

تسريع التطوير باستخدام خدمات Azure: بناء روبوتات المحادثة والخدمات المعرفية باستخدام النظام الأساسي
https://youtu.be/u7Gql-ClcVA?t=564

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

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

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

تسريع التطوير باستخدام خدمات Azure: بناء روبوتات المحادثة والخدمات المعرفية باستخدام النظام الأساسي

التقييم والتحليلات

يمكنك استخدام كل من التحليلات المضمنة لخدمة Azure Bot وخدمة رؤى التطبيق المخصصة لتقييم تفاعل المستخدم.

نتيجة لذلك ، يمكن جمع المعلومات وفقًا للمعايير التالية:

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

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

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

تسريع التطوير باستخدام خدمات Azure: بناء روبوتات المحادثة والخدمات المعرفية باستخدام النظام الأساسي

شكرا لكم جميعا على اهتمامكم! في هذه المقالة ، استخدمنا مادة من ندوة عبر الويب أعدتها آنا فينيوشينا ، مهندسة Microsoft Azure ، "عندما لا يكون لدى الناس الوقت. كيفية استخدام روبوتات المحادثة والخدمات المعرفية بنسبة 100٪ لأتمتة العمليات الروتينية "، حيث أظهرنا بوضوح ما هي روبوتات الدردشة في Azure وما هي السيناريوهات لاستخدامها ، كما أوضحنا أيضًا كيفية إنشاء روبوت في QnA Maker في 15 دقيقة وكيف بنية الاستعلام في LUIS لتقف على. 

لقد أجرينا هذه الندوة عبر الويب كجزء من ماراثون Dev Bootcamp Online Developer. كان الأمر يتعلق بالمنتجات التي تسرع التطوير وتخفف بعض أعباء العمل الروتينية عن موظفي الشركة باستخدام أدوات التشغيل الآلي ووحدات Azure النمطية الجاهزة مسبقًا. تتوفر تسجيلات ندوات الويب الأخرى التي تم تضمينها في الماراثون على الروابط:

المصدر: www.habr.com

إضافة تعليق