الأسرار والنصائح والحيل: كيفية إنشاء إجراء رائع لمساعد Google

النظام البيئي حول Google Assistant ينمو بسرعة. في أبريل 2017 ، كان هناك 165 إجراء متاحًا للمستخدمين ، واليوم باللغة الإنجليزية فقط يوجد أكثر من 4500. يعتمد مدى تنوع ومثيرة للاهتمام في ركن اللغة الروسية في هذا الكون على المطورين. يشارك ديمتري تشيتكين ، مدير المشاريع الاستراتيجية في Just AI ومؤلف كتاب "نعم يا سيدي" ، وهي واحدة من أكثر الألعاب شعبية للمساعد ، ليس فقط في روسيا ولكن أيضًا في العالم (أكثر من 240 ألف شخص قاموا بذلك بالفعل) ، يشاركون في عمليات اختراق حياة مهمة مساعد جوجل. لماذا فصل الكود والمحتوى عن البرنامج النصي؟ ما الذي يجب تذكره عند العمل على واجهة محادثة؟ بشكل عام ، نحن نفهم كيفية تحريك الحلم.



اهتز ولكن ليس المزيج: دور البرنامج النصي والمحتوى والرمز


يتكون أي تطبيق صوتي من ثلاثة مكونات - برنامج نصي تفاعلي ، ومحتوى يتفاعل فيه الإجراء ، ومنطق قابل للبرمجة ، أي التعليمات البرمجية.

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

بالنسبة للمبتدئين ، لا يؤلم رسم مخطط بسيط للنص على الورق. لذلك عليك أن تقرر ماذا وما يلي في الحوار. ثم يمكنك نقل البرنامج النصي إلى بعض المنتجات لتصور ذلك. أستخدم مُنشئنا المرئي مع NLU Aimylogic ( كيفية إنشاء إجراء لمساعد Google في Aimylogic ) لمعرفة كيف ستعمل جميع الانتقالات في مربع الحوار الخاص بي واختبارها والتحقق من صحة الفرضية نفسها وفكرة ما أريد تنفيذه. في Aimylogic ، يمكنك إنشاء برنامج نصي دون مهارات البرمجة المتعمقة ، ويمكنك اختبار الإجراء على الفور. تقدم Google نفسها مربع حوار Dialogflow لإنشاء حوار مخصص ، وللبرامج النصية البسيطة والقصيرة التي لا تتطلب فهمًا شاملًا للغة ، Actions SDK .



غالبًا ما يكون المنطق القابل للبرمجة مطلوبًا. على سبيل المثال ، قد يبدو موقعك رائعًا ، ولكن لكي "يعرف كيف" ، سيتعين عليه الرجوع إلى الكود الموجود على الخادم وستتمكن الشفرة من حساب شيء ما وحفظ النتيجة وإعادتها. نفس الشيء مع السيناريو العمل. يجب تشغيل الرمز بسلاسة ، وأفضل إذا كان مجانيًا تمامًا. اليوم ليست هناك حاجة لدفع آلاف الدولارات حتى يتوفر رمز من 50 ، 100 ، 1000 سطر لعملك 24/7. يمكنني استخدام العديد من الخدمات لهذا في وقت واحد: وظائف سحابة ، Heroku ، Webtask.io ، أمازون لامدا. تتوفر مثيلات مجانية على Google Cloud Platform.

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



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



كيفية استخدام الجداول العادية في السحابة حتى لا تخزن كل المحتوى في البرنامج النصي نفسه؟ على سبيل المثال ، في لعبة "First or Second" ، استخدمنا جدول بيانات Excel يستند إلى مجموعة النظراء حيث يمكن لأي من المشاركين في المشروع إضافة أسئلة وإجابات جديدة للإجراء. يصل البرنامج النصي Aimylogic إلى هذا الجدول باستخدام طلب http واحد من خلال واجهة برمجة تطبيقات خاصة. كما ترى ، البرنامج النصي نفسه صغير - لأنه لا يخزن كل البيانات من الجدول ، والذي يتم تحديثه كل يوم. وبالتالي ، فإننا نفصل بين البرنامج النصي التفاعلي والمحتوى ، والذي يسمح لنا بالعمل مع المحتوى بشكل مستقل ومجتمع تجديد البرنامج النصي ببيانات جديدة. بالمناسبة ، لعب 80 ألف شخص هذه اللعبة بالفعل.

قائمة التحقق: أشياء يجب تذكرها عند إنشاء واجهة محادثة


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

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

العمل يتعلق بالصوت ، وليس عن الخدمة ككل. لا ينبغي أن يندم المستخدم على بدء الإجراء في المساعد ، ولم يذهب ، على سبيل المثال ، إلى التطبيق أو الموقع. ولكن كيف نفهم أن المرء لا يستطيع الاستغناء عن صوت؟ للبدء ، جرب فكرة العمل على نفسك. إذا كنت تستطيع القيام بنفس الإجراء بسهولة بدون صوت ، فلن يكون هناك أي معنى. أحد تطبيقات مساعدتي الأولى كانت Yoga for the Eyes . هذا هو المدرب الشخصي الافتراضي الذي يساعد على القيام بتمارين للرؤية. مما لا شك فيه أن هناك حاجة إلى صوت هنا: عيناك مشغولتان بالتمارين ، أنت مرتاح وتركزان على التوصيات الشفوية. من شأن إلقاء نظرة على المذكرة ، وصرف الانتباه عن التدريب ، أن يكون غير مريح وغير فعال.

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

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


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

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

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

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



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

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

كيفية العمل مع التقييمات والمراجعات


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



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

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

ثلاثة أسرار مساعد جوجل


  1. استخدام الموسيقى. من بين المساعدين الصوتيين باللغة الروسية ، يسمح لك Google Assistant فقط باستخدام الموسيقى مباشرة في البرنامج النصي للعمل. يبدو الترتيب الموسيقي رائعًا في ألعاب حركة الألعاب ، ومن اليوغا إلى الموسيقى ، توجد أحاسيس مختلفة تمامًا.

  2. خيارات الدفع داخل الإجراء. لعمليات الشراء داخل التطبيق ، يستخدم مساعد Google منصة Google Play. شروط العمل مع النظام الأساسي لمنشئي تصرفات الألعاب هي نفسها المطبقة على مطوري تطبيقات الأجهزة المحمولة - يتم خصم 70٪ من المعاملة للمطور.
  3. الاعتدال . من أجل الإشراف الناجح ، يجب أن يحتوي الإجراء على سياسة معالجة البيانات الشخصية. يلزمك وضعها على sites.google.com ، وبيان اسم الإجراء والبريد الإلكتروني - وهو نفس اسم المطور في وحدة تحكم المطور ، واكتب أن التطبيق لا يستخدم بيانات المستخدم. تدوم عملية إجراء ما بدون معاملات من يومين إلى ثلاثة أيام ، لكن يمكن أن يستغرق الإشراف على تطبيق ذي دفعات مدمجة 4-6 أسابيع. المزيد عن إجراء المراجعة

بشكل عام ، جرب أعمالنا Yoga for the Eyes ، الألعاب First or Second و Yes ، سيدي نفسك (وسرعان ما ستظهر المعاملات ، وسيكون من الأسهل على ربي الحفاظ على قوتها وثروتها!).

وقمنا أيضًا بتطوير Voice Quest "Lovecraft World" لمساعد Google - ولكن لم يتم إنشاؤه في Aimylogic ، ولكن على Just AI Conversational Platform ، وهو حل مؤسسة مهنية ، لذلك سوف نخبرك بهذا الإجراء بشكل منفصل. هذه دراما تفاعلية بأسلوب "Call of Cthulhu" الغامض ، حيث يتم التعبير عن المشاهد من قبل ممثلين محترفين ، ويمكن التحكم في المؤامرة باستخدام الصوت وإجراء عمليات الدفع داخل اللعبة.

Source: https://habr.com/ru/post/ar462301/


All Articles