العمل مع الكيانات
تستخدم محَادثَات العَامل فهم اللغة الطبيعية لتَحديد نية المستخدم بنَاءً عَلى مَا تم إدخَاله فِي نَافذة المحَادثة. عَلى سَبِيل المِثَال، يقوم المستخدم بإدخَال النص حَاولت استخدَام بطَاقة الهدَايَا الخَاصة بي، لكنهَا لا تعمل. يسَاعد فهم اللغة الطبيعية فِي تَحديد وتوجيه المستخدم إلى الموضوع المتعلق ببطَاقَات الهدَايَا التي لا تعمل، حتى إذا لم تكن هَذه العبارة بالضبط مدرجة كعبارة التشغيل.
يتمثل أحد الجوانب الأسَاسية لفهم اللغة الطبيعية فِي تَحديد الكيَانَات التي يتم استخدَامهَا فِي مربع حوار المستخدم. فكّر في أحد الكيانات كوحدة معلوماتية تمثل نوعاً معيناً من موضوعات العالم الحقيقي مثل رقم الهاتف أو الرمز البريدي أو المدينة أو اسم الشخص.
يأتي Microsoft Copilot Studio مع مجموعة من الكيانات المُنشأة مسبقاً بشكل ابتكاري. تمثل هذه بعض المعلومات فِي مربعات الحوار فِي العالم الحقيقي مثل العمر والألوان والأرقام والأسماء. تسمح المعرفة التي تمنحهَا الكيَانَات للعَامل بالتعرَّف عَلى المعلومَات ذات الصلة مِن مدخلات المستخدم وحفظهَا لاستخدَامهَا لاحقًا.
دعونا نستخدم الكيان الذي تم إنشاؤه مسبقا المدينة. يمكن الوصول إليهَا مثل الكيَانَات الأخرى سَابقة الإنشَاء مِن علامةِ تبويبِ الكيَانَاتِ. وعند فحص الكيَان، يمكنك رؤية الشرح والطرق التي يمكن استخدَامه بهَا.
عَلى سَبِيل المِثَال، عندمَا يقوم المستخدم بإدخَال مقر عملنَا فِي سيَاتل، بَاستخدَام كيَان المدينة هَذا، يعرف العَامل أن سيَاتل تمثل نوع المدينة مِن المعلومَات. عندمَا يستخرج العَامل هَذا الكيَان ويحفظه فِي أحد المُتغيرَات، فإنه يحفظ سيَاتل كمدينة، رغم أن المعلومَات المحيطة كَانت نصًا.
يمكنك استخدَام الكيَانَات فِي قسم التعريف بالسؤال عند إدرَاج عقدة سؤال فِي موضوع مَا. على سبيل المثال، فِي المثال أدناه، نسأل المستخدم عن المدينة التي يعيش فيها. يقوم العَامل باستخرَاج مدينة المستخدم مِن النص الذي يكتبه مِن خلال تعيين حقل التعريف عَلى "المدينة".
يتم تخزين مدينة المستخدم فِي متغير يسمى UserCity يمكن استخدَامه لاحقًا فِي الموضوع أو فِي المحَادثة.
دعنَا نفحص كيف يمكنك إنشَاء كيَانَات مخصصة حسب الحَاجة وهَذَا بعد أن قمنَا الآن بفحص بعض الكيَانَات المتوفرة مسبقًا.
تتوفر الكيَانَات الخَاصة بك للاستخدَام عند إنشَاء محَادثَات العَامل فور تَحديدهَا. أسهل طريقة لاستخدَامهَا هي فتح لوحة التأليف لموضوع وإضَافة عُقدة سؤال. تتيحُ عقدُ السؤال للعَامل تَحدِيد المَعلومَات المُقدَّمة مِن المُستَخدِم باستِخدَام الكيَانَات وحفظ هَذه المَعلومَات كمُتغيِّر. تخبرُ وظيفة تحديد لعُقدَة السُؤال العَامل بجزءِ المَعلومَات التي يجبُ تَحديدهَا مِن استِعلام المُستَخدِم.
يحتاج المستخدم ببساطة إلى كتابة القسم الذي يبحث عنه عند تقديم هذا السؤال في المحادثة. تتمُّ مُقَارنة العُنصر ومُطَابقته مع عُنصرٍ فِي قَائمة الكيَانِ.
فِي الصورة أعلاه، أعرب المستخدم عَن اهتمَامه بـ الارتحَال (Trekking)، والتي تعد طريقة أخرى لقول التنزه (Hiking). يتعرَّف العَامل عَلى هَذَا، وبمَا أنَّنَا عَرفنَا الارتحَال عَلى أنهَا مرَادف لكلمة التنزه، يعرضُ العَامل المعلومَات المتعلقة بالتنزه.
فِي بعض الحالات، قد تقرر المؤسسة أنها تفضل عرض الأزرار للمستخدمين لتبسيط التَحديد. عَلى سبيل المثَال، إذا كنت ترغب فِي عرض بعض عنَاصر الفئة كأزرَار، يمكن للمستخدمين تحديدهَا كمدخلات لهم، واختيَار تحديد الخيَارَات للمستخدم، ثم الاختيَار مِن القَائمة. فِي أثنَاء المحَادثة، يمكن للعَمِيل إمَا تَحديد زر العنصر الذي يريده، أو إدخَال فئة مختلفة يدويًا كنص.
العمل مع تعبئة الأجزاء
تعبئة الأجزَاء هو مفهوم فهم اللغة الطبيعية الذي يحفظ الكيَان المستخرج إلى كَائن. بعبارات بسيطة، تتطابق تعبئة الأجزاء مع ما أدخله العميل ثم يخزنه بشكل مناسب في أحد المتغيرات. عَلى سَبِيل المِثَال، عند سؤالك عن نوع الفئة، يمكن للعَمِيل تَحديد التنزه، أو قد يكتب شيئاً مثل الارتحَال كمَا هو موضح فِي الصورة أدنَاه. نظرًا لأن الارتحَال تم تعريفه عَلى أنه مرَادف، فلا يزَال يتعين اعتبارهَا عند دخول المستخدم فِي ريَاضة التنزه. تضمن تعبئة الأجزاء أنه عَلى الرغم مِن إدخال شيء آخر، إلا أنها مرتبطة بالفئة الصحيحة. سيتم استخدَام الكيَان المستخرج التنزه كقيم لمتغير فئة المنتج.
تعبئة الأجزاء الاستباقية
يُعرف مفهوم آخر باسم التعبئة الاستباقية للأجزاء. هذا هو المكان الذي يمكن فيه للمستخدم تحديد أجزاء متعددة من المعلومات التي يتم تعيينها إلى كيانات متعددة. يفهم العَامل المعلومَات التي تنتمي إلى أي كيَان تلقَائيًا.
يمكن التحكم في ملء الفتحة الاستباقي يدوياً على مستوى العُقدة. إذا كنت ترغب دَائمًا فِي المطَالبة بَالسؤال دَاخل عُقدة معينة، بغض النظر عمَا إذا كَان قد تمت تعبئة الجزء مِن ردود المستخدم السَابقة، يمكنك تعطيل خيَار تخطي السؤال واجعله يسأل هَذا السؤال فِي كل مرةٍ عن عقدةِ السؤالِ.
يتمُّ تعيينُ سُلوك السُؤَال الافتِرَاضِي عَلى السمَاح بتخطِّي السُؤال، مَا يسمحُ للعَاملِ باكتِشَاف الكيَانَات بشكلٍ استِباقِي مِن استِعلامَاتِ المُستَخدِم دُون مُطَالبة المُستَخدِم بالمَعلومَات التي قدَّمهَا بالفِعل.
فِي المِثَال أدناه، كتب المستخدم، أريد شراء بعض معدات الرحلات. يتضمن هذا عبارة التشغيل التي يرغب العميل في شراء معداتها، ولكنه يوفر أيضاً معلومة ثانية عن النوع الفعلي للمعدات. فِي هَذه الحَالة، يملأ العَامل فِي كلا الكيَانين لشرَاء المعدَات والكيَان الخَاص بنوع أيقونة الترس. يختلفُ هَذا عن المِثَال السَابق، حيث يحتَاج العَامل إلى مطَالبة المستخدم بنوع المعدَات. يأخذ العَامل إدخَال المستخدم ويتخطى بذكَاء السؤال الذي يطلب فئة المنتج.
ملاحظة
لاحِظ أنَّه نظرًا لأن المُستَخدِم قدَّم قيمةً لكيَان فِئَات الريَاضَات الخَارجيَّة، يتمُّ تخطِّي عُقدَة السُؤال، مَا يسمحُ للعَامل بنَقلِ المُحَادثةِ إلى الأمَام دُون طَلبِ المَعلومَات التي قدَّمهَا المُستَخدِم بالفِعل.
يستمع العَامل دَائمًا بنشَاط إلى إدخَال المستخدم، ويتذكر المعلومَات مقدمًا حتى يتمكن مِن تخطي الخطوات غير الضرورية بحسب الحَاجة.
لنعد تشغيل الاختبار مرة أخرى ونجرب حالة أخرى. فِي هَذه الجولة، أضفنَا عددًا قليلاً مِن عقد الأسئلة التي تطلب أشيَاء مثل نوع معدَات التنزه ونطَاق السعر (باستِخدَام كيَان المَال).
هَذه المرة عندمَا يتم عرض سؤال فئة المنتج، بدلاً مِن إخبار العَامل فقط بفئة المنتج، يمكن للمستخدم أن يقول أنني أريد شرَاء حذاء التنزه بأقل مِن 100 دولار أمريكي.
فِي هَذا المِثَال، لا يتمكن العَامل مِن التوجيه إلى المسَار الصَحِيح لفئة منتج التنزه فحسب، بل يمكنه أيضًا تعبئة الأجزَاء التي تطلب نوع معدَات التنزه ومعلومَات النطَاق السعري المستهدف.
تغطي الكيانات التي تم إنشاؤها مسبقا التي تمت مناقشتها في الوحدة السابقة العديد من أنواع المعلومات الشائعة. ومع هَذَا، هنَاك مِنَاسبات قد تتطلب فِيهَا المؤسسة فهمَاً لغويَاً لسينَاريوهَات فريدة أكثر. عَلى سَبِيل المِثَال، لنفترض أنه طُلب مِنك إنشَاء مِندوب لمتجر خارجي. مِن المحتمل أن يحتاج المِندوب إلى التعرّف عَلى أنواع مختلفة مِن المِنتجَات الخارجية. يمكن إنشاء كيان مخصص يُسمى فئات المنتجات الخارجية. يمكن للكيَان تخزين جميع المِنتجَات الخارجية المختلفة التي يوفرهَا المتجر. سيسَاعد الكيَان فِي ضمَان أنه عندمَا يكتب شخص مَا مِنتجَاً فِي الهواء الطلق مثل صيد الأسمَاك أو التزلج أو ركوب القوارب، سيتمكن المِندوب مِن توجيههم إلى المكَان الصحيح.
يتم إنشَاء الكيَانات المخصصة عن طريق تحديد زر الإعدَادَات، ثم الانتقَال إلى علامة تبويب الكيَانات وتحديد إضافة كيَان. عند إنشَاء كيَان مخصص، تحتاج إلى تَحديد نوع الكيَان الذي تريد إنشَاءه.
الكيانات المخصصة
هناك نوعان مِن الكيانات التي يمكنك إنشاؤها:
- القائمة المغلقة: يُستخدم لتحديد قائمة صغيرة مِن العناصر مثل قائمة الأحجام أو الأقسام أو المواقع.
- التعبير العادي (regex): يُستخدم لتحديد نمط منطقي محدد، مثل رقم الهوية أو رقم بطاقة الائتمان أو عنوان IP.
كيانات القائمة المغلقة
مِن الأفضَل استخدَام كيَانَات القَائمة المغلقة عندمَا تريد تَحديد قَائمة صغيرة مِن العنَاصر التي قد تكون مفِيدة عند التفاعل مع العَمِيل، مثل مثَال الشركة الخارجية الذي ذكرنَاه سَابقًا. فِي الصورة أدنَاه، أنشأنَا كيَانَاً مخصصًا للقَائمة المغلقة يسمى فئات المتاجر الخارجية. أضفنَا قَائمة بأسمَاء فئات المِنتجَات الخارجية.
عندمَا يتفاعل المستخدم مع جلسة محَادثة، يبحث النظام عن القيم المحدّدة فِي القَائمة. إذا أنشأنا مواضيع خاصة بالعناصر الموجودة فِي القائمة، فيمكن بسهولة نقل المستخدم إلَى أحد هذه المواضيع. عَلى سَبِيل المِثَال، إذا قَام مستخدم بإدخال لدي سؤال عن baseball، يحدّد النظام عنصر baseball فِي القَائمة ويمكن أن تعرض موضوع البيسبول بنَاءً عَلى التَكوِين.
العمل باستخدام المطابقة الذكية
نظرَاً لأن العَمَلاء يتفاعلون مع المِندوبين، فليس مِن غير المألوف أن يخطئوا فِي كتابة شيء مَا، أو إدخال عبارة مختلفة قليلاً عمَا تم تعريفه فِي الكيَان. عَلى سَبِيل المِثَال، قد يدخل العَمِيل softball بدلاً مِن baseball. تستخدم كلا الريَاضتين نفس النوع مِن المعدَات. فيما يتعلق بفئات المنتج، يجب اعتبار softball نفس baseball. تتيح المطابقة الذكية للمِندوب أن يأخذ مدخلات المستخدم بطريقة غامضة بنَاءً عَلى عنَاصر القَائمة المعطاة للكيَان. يعني هذا أنه ليس من الضروري العثور على تطابق تام.
عند تشغيل المطابقة الذكية، سيقوم المِندوب تلقَائيَاً بالتصحيح التلقَائي للأخطاء الإملائية وتوسيع مِنطق المطابقة بشكل دلالي، مثل مطابقة "softball" بـ "baseball".
العَمَل مع المرَادفات
يشبه خيَار المرَادف المطابقة الذكية، باستثنَاء أنه ليس تلقَائيًا مثل المطابقة الذكية. يتم إدخال المرَادفات يدويًا. إنهَا توسع المِنطق ليشمل الكلمَات ذات المعَاني المتشَابهة أو تعتبر متشَابهة بطبيعتهَا. عَلى سَبِيل المِثَال، ليس مِن غير المألوف أن يتم تجميع الريَاضات مثل التزلج والتزلج عَلى الجليد والمشي بالأحذية الثلجية معَاً بنَاءً عَلى حقيقة أنهَا جميعَاً ريَاضات ثلجية. لاستيعاب هذا في قائمتنا، يمكن أن تُضاف فئة منتج Skiing على كلٍّ من Snowboarding وSnowshoeing كمرادفات. إذا دخل المستخدم فِي التزلج عَلى الجليد أو المشي بالأحذية الثلجية، فِيفهم المِندوبين أن هذه الأشيَاء مرتبطة بفئة التزلج. للأنشطة الأخرى مثل Yoga، يمكنك إضافة Pilates. تعمل المطابقة الذكية والمرَادفات معَاً بسلاسة لجعل المِندوب أكثر ذكَاءً كهَذَا.
كيانات التعبير النمطي (regex)
تتيح لك كيانات التعبير العادي (regex) تحديد الأنماط المنطقية التي يمكنك استخدامها لمطابقة المعلومات واستخراجها من الإدخال. تعتبر كيَانَات Regex رَائعة لمطابقة الأنمَاط المعقدة مقَابل إدخال المستخدم، أو إذا كنت بحَاجة إلى السمَاح بتغيرَات معينة فِي كيفِية تنسيق المستخدم أو إدخال مدخلاته فِي محَادثة.
عَلى سَبِيل المِثَال، يمكنك استخدَام كيَان regex لتَحديد عنَاصر مثل معرف التتبع أو رقم الترخيص أو رقم بطاقة الائتمَان أو عنوان IP مِن سلسلة يدخلهَا المستخدم فِي المِندوب.
عند تحديد كيان regex، ستحتاج إلى تحديد ما يلي:
- الاسم: تحديد اسم كيان Regex.
- الوصف: وصف اختياري يحدّد المزيد مِن التفاصيل حول الكيان.
- نمط: تعريف الأنماط المستخدمة لاستخراج النص.
في الصورة أعلاه، نقوم بإنشاء كيان تعبير regex يسمى رقم التعقب. تحدّد الصيغة التي تم إدخالهَا أن رقم التتبع يبدأ بتسعة أرقَام وينتهي بحرف واحد إمَا بأحرف كبيرة أو صغيرة. (Ex.100456789A)
تستخدم كيَانَات Regex بنَاء جملة التعبيرَات العَادية لـ .NET.
يمكنك معرفة المزيد حول إنشَاء بنية التعبير العَادي لـ NET. باستِخدَام الروابط أدنَاه:
بعد ذلك، سننظر في العمل مع المتغيرات في الموضوعات.