أنشئ تجارب محادثة لإدارة طلبات البيع بالتجزئة باستخدام Amazon Lex

عقدة المصدر: 1318214

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

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

حل نظرة عامة

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

دعنا نراجع بعض نماذج المحادثات حيث نغطي المكونات المختلفة لحالة الطلب التي تم إنشاؤها مسبقًا:

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

الوكيل: شكرًا لك على اتصالك بـ Acme. كيف استطيع مساعدتك اليوم؟

المتصل: أريد التحقق من حالة طلبي

الوكيل: بالتأكيد ، يمكنني مساعدتك في ذلك. يُرجى قول أو إدخال رقم الطلب المكون من 13 رقمًا.

المتصل: 1234 56789 1234

الوكيل: للتأكيد ، لدي رقم طلبك كـ 1234 56789 1234. هل هذا صحيح؟

المتصل: نعم

الوكيل: حسنًا. أعطني لحظة. وقد تم شحن طلبك. هل تريد معرفة تفاصيل التوصيل؟

المتصل: نعم

الوكيل: بالتأكيد. أعطني لحظة. وصلت الحزمة الخاصة بك إلى منشأة التوزيع النهائية ، وسيتم تسليمها في 11/20/2021. المتصل: شكرا.

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

الوكيل: شكرًا لك على اتصالك بـ Acme. كيف استطيع مساعدتك اليوم؟

المتصل: أريد إعادة جدولة التوصيل الخاص بي

الوكيل: بالتأكيد. يمكنني المساعدة في ذلك. يُرجى قول أو إدخال رقم الطلب المكون من 13 رقمًا.

المتصل: 1234 56789 1234

الوكيل: لدي رقم الطلب 1234 56789 1234. هل هذا صحيح؟

المتصل: نعم

الوكيل: حسنًا. لا يزال طلبك قيد المعالجة ، لذا يمكن إعادة جدولته. هل يمكنك إخباري بالتاريخ الذي تريد تسليم الطلب فيه؟

المتصل: 20 تشرين الثاني (نوفمبر)th

الوكيل: 20 نوفمبر 2021. للتحقق ، هل يمكنني الحصول على الرمز البريدي لعنوان إرسال الفواتير الخاص بك؟

المتصل: ١٢٣٤

الوكيل: شكرا لك. تم إعادة جدولة التسليم الخاص بك. سنقوم بتوصيل طلبك في الموعد الجديد المحدد في 20 نوفمبرth 2021. أي شيء آخر يمكنني مساعدتك به؟

RetailOrderManagementBot يحتوي على نوايا لأنشطة إدارة الطلبات الشائعة مثل الحصول على حالة الطلب ، وتتبع حزمة ، وإلغاء أو تعديل أحد الطلبات ، وإرجاع عنصر ، وإعادة جدولة التسليم. يتضمن المقاصد التالية:

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

يتضمن تعريف الروبوت مربع حوار كاملًا بالإضافة إلى المطالبات لإدارة المحادثة. يتكامل كل روبوت أيضًا مع AWS لامدا وظيفة تحتوي على رمز لمحاكاة تنفيذ منطق الأعمال. التكامل مع أمازون كندرا يوفر القدرة على الإجابة على أسئلة اللغة الطبيعية أثناء المحادثة.

هندسة الحل

دعنا نراجع الهيكل العام للحل (انظر الرسم البياني التالي).

  • نستخدم أمازون ليكس bot لمصادقة المتصل أو إجراء المعاملات (على سبيل المثال ، "إعادة جدولة التسليم") أو تزويد المتصل بالمعلومات المطلوبة (على سبيل المثال ، "الحصول على حالة الطلب").
  • نستخدم AWS لامدا لمحاكاة الوصول إلى الأنظمة الخلفية وتشغيل منطق الأعمال المطلوب لإتمام المعاملات. لغرض منشور المدونة هذا ، يتم تخزين البيانات المستخدمة في جدول DynamoDB.
  • للإجابة على أي أسئلة للمستخدم ، نقوم بتكوين أمازون كندرا فهرس البحث حتى يتمكن الروبوت من البحث عن المعلومات وتقديم الرد.
  • يمكنك نشر تجربة المحادثة على ملف قم بتوصيل مثيل أو دمجه مع موقع الويب الخاص بك.

نقوم بتضمين نموذج يقوم بإنشاء حزمة AWS CloudFormation لك تحتوي على موارد AWS ، بالإضافة إلى أدوار AWS Identity and Access Management (IAM) المطلوبة. مع وجود هذه الموارد في مكانها الصحيح ، يمكنك استخدام الحل المبني مسبقًا لإدارة أوامر البيع بالتجزئة على أمازون كونيكت القناة.

المتطلبات الأساسية المسبقة

يجب أن تكون لديك المتطلبات المسبقة التالية قبل نشر الحل

  • An حساب AWS
  • الوصول إلى خدمات AWS التالية
    • Amazon Lex لإنشاء روبوتات
    • Lambda لوظائف منطق الأعمال
    • DynamoDB لإنشاء الجداول
    • IAM مع الوصول لإنشاء السياسات والأدوار
    • AWS CloudFormation لتشغيل الحزمة
  • وصول IAM وبيانات اعتماد المفتاح السري
  • اختياريا ، موجود أمازون كونيكت المثيل (إذا كنت تخطط للنشر على Amazon Connect)

انشر الحل المبني مسبقًا

لنشر هذا الحل ، أكمل الخطوات التالية:

  1. اختار قم بتشغيل Stack لإطلاق حزمة AWS CloudFormation في المنطقة التي تختارها:
  2. في حالة اسم المكدس، أدخل اسمًا للمكدس الخاص بك. يستخدم هذا المنشور اسم حزمة البيع بالتجزئة ، كما هو موضح في لقطة الشاشة التالية.
  3. التالي ، في المعلمات ، أدخل قيمًا لروبوتات Amazon Lex وجدول DynamoDB وتدفق جهات اتصال Amazon Connect.
  4. راجع إنشاء مورد IAM وانقر فوق إنشاء المكدس. بعد بضع دقائق ، يجب أن تكتمل مجموعتك. الموارد الأساسية مذكورة أدناه:
    • روبوت أمازون ليكس: RetailOrderManagementBot
    • وظائف لامدا: RetailOrderManagementBusinessLogic
    • دينامو دي بي: retail_order_table
    • تدفق جهات اتصال Amazon Connect: RetailOrderManagementContactFlow
    • أدوار IAM: LexRole, LexImportRole, LambdaRole, ConnectRole
  5. إذا قدمت Connect ARN أثناء إنشاء المكدس ، فانتقل إلى ملف أمازون كونيكت لوحة القيادة واختيار أرقام الهواتف على التوجيه القائمة في جزء التنقل.
  6. بعد ذلك ، قم بربط رقم هاتف بتدفق جهات اتصال إدارة أوامر البيع بالتجزئة. بمجرد إقران رقم الهاتف ، يصبح الحل جاهزًا للاختبار.

اختبر المحلول

يمكنك استخدام بيانات العينة لاختبار البوت. إذا استخدمت مثيل Amazon Connect للنشر، فيمكنك الاتصال برقم هاتف Amazon Connect والتفاعل مع الروبوت. يمكنك أيضًا اختبار الحل مباشرة على وحدة تحكم Amazon Lex V2 باستخدام الصوت أو النص. أثناء تفاعلك مع الروبوت ، يمكنك رؤية تحديث جدول DynamoDB بناءً على المحادثة. بعد تجربة تدفقات المحادثة المبنية مسبقًا ، يمكنك تخصيص الروبوت وإضافة المزيد من الأهداف كما هو مطلوب والتكامل مع أنظمة الخلفية الإضافية.

إدارة أوامر البيع بالتجزئة: القدرات الرئيسية

دعنا نراجع بعض الميزات التي يوفرها الحل المبني مسبقًا لتوفير تجربة عميل سلسة للمتصل.

استمرار المعلومات عبر الطلبات

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

الكود التالي مخصص لسمات الجلسة المستمرة:

previous_intent = dialog.get_session_attribute(intent_request, 'previous_intent') if previous_intent == 'GetOrderStatus': if order_number: dialog.set_session_attribute(intent_request, 'order_number', order_number) session_attributes = dialog.get_session_attributes(intent_request) order_number_from_session = dialog.get_session_attribute( intent_request, 'order_number') if order_number_from_session: dialog.set_slot('OrderNumber', order_number_from_session, intent) order_number = order_number_from_session if order_number and not order_number_confirmation: previous_slot_to_elicit = dialog.get_previous_slot_to_elicit( intent_request) if previous_slot_to_elicit == 'OrderNumberConfirmation': if intent['confirmationState'] == 'Confirmed': dialog.set_slot('OrderNumberConfirmation', 'yes', intent) order_number_confirmation = 'yes' elif intent['confirmationState'] == 'Denied': dialog.set_slot('OrderNumberConfirmation', None, intent) prompt = prompts.get('OrderNumber1') return dialog.elicit_slot( 'OrderNumber', active_contexts, session_attributes, intent, [{'contentType': 'PlainText', 'content': prompt}]) elif intent['confirmationState'] == 'None': prompt = prompts.get( 'OrderNumberConfirmation1', order_number=order_number) return dialog.confirm_intent( active_contexts, session_attributes, intent, [{'contentType': 'SSML', 'content': prompt}], previous_dialog_action_type='ElicitSlot', previous_slot_to_elicit='OrderNumberConfirmation') else: prompt = prompts.get( 'OrderNumberConfirmation', order_number=order_number) return dialog.confirm_intent( active_contexts, session_attributes, intent, [{'contentType': 'SSML', 'content': prompt}], previous_dialog_action_type='ElicitSlot', previous_slot_to_elicit='OrderNumberConfirmation')

عبارات حل

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

تُظهر لقطة الشاشة التالية تعريف الفتحة واستراتيجية الحوار المرتبطة بها:

if not order_return_reason and previous_slot_to_elicit == 'OrderReturnReason': prompt = prompts.get('re_elicit_order_return_reason') return dialog.elicit_slot( 'OrderReturnReason', active_context, session_attributes, intent, [{'contentType': 'PlainText', 'content': prompt}] )

إنهاء المحادثات

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

تدفقات مركز الاتصال

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

تنظيف

لتجنب تكبد أي رسوم في المستقبل ، احذف جميع الموارد التي تم إنشاؤها.

  1. روبوتات أمازون ليكس
  2. وظائف لامدا
  3. جدول DynamoDB
  4. تدفق جهات اتصال Amazon Connect
  5. أدوار IAM

وفي الختام

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


حول المؤلف

جايا براكاش كومو هو قائد التكنولوجيا في فريق Smartbots.ai. يدير فريقًا متحمسًا من مهندسي الذكاء الاصطناعي لبناء واجهات الذكاء الاصطناعي للمحادثة من الجيل التالي. عندما لا تقوم بتصميم الروبوتات ، فإن JP يستمتع بلعب كرة القدم.

سانديب سرينيفاسان مدير منتج في فريق Amazon Lex. بصفته مراقبًا شديدًا للسلوك البشري ، فهو متحمس لتجربة العملاء. يقضي ساعات يقظته عند تقاطع الناس والتكنولوجيا والمستقبل.

المصدر: https://aws.amazon.com/blogs/machine-learning/build-conversational-experiences-for-retail-order-management-using-amazon-lex/

الطابع الزمني:

اكثر من AWS مدونة التعلم الآلي