تصميم تجربة المستخدم

مكتمل

ومن الاعتبارات المهمة لتجربة المستخدم هو كيفية تقديم الروبوت ومكوناته للمستخدم. يمكنك تنفيذ الميزات التالية في روبوت:

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

A bot with multiple user interface elements

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

النص

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

يمكن أن يكشف التخطيط الدقيق عن خيار تصميم أفضل حيث يكون الروبوت محددًا في الموجه. يمكن أن يطالب روبوتك المستخدم بـ "ما اسمك الأول؟". لا يزيل الغموض تمامًا ولكنه يميل نحو استجابة أكثر ملاءمة قد لا تتطلب منطق تحليل واسع.

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

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

الكلام

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

سيتطلب استخدام الكلام من الروبوت الخاص بك التفاعل مع Azure الذكاء الاصطناعي Speech لنسخ الكلمة المنطوقة إلى نص، لإجراءات الروبوت، ثم تركيب استجابات النص إلى الكلام كإخراج.

عناصر التحكم للمستخدم الغنية

الأزرار والصور والعروض الدوارة والقوائم هي أمثلة على عناصر التحكم للمستخدم الغنية. ميزة استخدام هذه الأنواع من عناصر التحكم مع روبوتك هي؛

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

بطاقات

تسمح لك البطاقات بتزويد مستخدميك بمجموعة متنوعة من الرسائل المرئية والصوتية والقابلة للتحديد أو أيٍ منها وتساعدك في مساعدة تدفق المحادثة. البطاقات هي عناصر قابلة للبرمجة تحتوي على مجموعات قياسية من عناصر تحكم المستخدم الغنية. ميزة البطاقات هي أنها معترف بها عبر مجموعة واسعة من القنوات. فيما يلي أمثلة للبطاقات:

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

للحصول على أمثلة حول كيفية استخدام البطاقات في الروبوت الخاص بك، راجع صفحة وثائق إرسال البطاقات باستخدام composer .

توصيات لاختيار خيارات التجربة

يسلط الجدول التالي الضوء على بعض الاعتبارات لتصميم تجربة المستخدم من خلال الخيارات على العناصر التي يستخدمها روبوتك. الجدول ليس شاملًا ولكن يقدم بعض النتائج المعرفية بشأن صنع القرار لتجربة مستخدم جيدة.

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

تقديم الاستجابات مع Bot Framework Composer

يتم سرد جميع الاستجابات التي يقدمها الروبوت للمستخدمين لمربع الحوار الحالي (أو الأصل). في جذر الروبوت، يستخدم ما يسمى منشئ اللغة (lg) لإنشاء الاستجابات. يمكنك استخدام القوالب لتعريف الاستجابات (يتم عرضها بالنقر فوق Show code مربع الحوار المحدد داخل Composer)، والتي يمكن أن تتضمن عبارات متعددة لنوع معين من الاستجابة، أو استجابات رسومية محددة.

على سبيل المثال، تحدد التعليمة البرمجية لإنشاء اللغة التالية عدة استجابات محتملة يمكن أن يرسلها الروبوت للتحية:

#Greeting
- Hi!
- Hello
- Welcome ${user.name}!
- Welcome to your bot.

لاحظ أن الخيار الثالث يتضمن عنصرًا نائبًا لقيمة خاصية - في هذه الحالة خاصية الاسم في نطاق المستخدم.

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

يمكنك أيضًا تحديد الاستجابات المهيكلة التي تتكون من نص صريح وعناصر واجهة المستخدم الأخرى. على سبيل المثال:

[Activity
    text = Hello ${user.name}!)
]

الاستجابات المنظمة مفيدة بخاصةٍ للاستجابات التي تتكون من واجهات المستخدم الرسومية والنص. على سبيل المثال، تعرض الاستجابة التالية بطاقة مصغرة.

[ThumbnailCard
    title = Pizza Order Confirmation
    text = Your pizza is on its way!
    image = http://.../pizza.png
]

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