المهارة المعرفية الشرطية

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

يوضح الرمز الزائف التالي ما تحققه المهارة الشرطية:

if (condition) 
    { output = whenTrue } 
else 
    { output = whenFalse } 

ملاحظة

هذه المهارة ليست مرتبطة بالخدمات المعرفية. إنه غير قابل للفوترة وليس له متطلبات رئيسية للخدمات المعرفية.

@odata.type

Microsoft.Skills.Util.ConditionalSkill

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

هذه المهارة خاصة لأن مدخلاتها يتم تقييمها في الحقول.

العناصر التالية هي قيم صالحة لتعبير:

  • مسارات التعليقات التوضيحية (يجب تحديد المسارات في التعبيرات ب "$(" و ")")
    أمثلة:

        "= $(/document)"
        "= $(/document/content)"
    
  • الحروف الحرفية (السلاسل، الأرقام، الصواب، الخطأ، الخالية)
    أمثلة:

       "= 'this is a string'"   // string (note the single quotation marks)
       "= 34"                   // number
       "= true"                 // Boolean
       "= null"                 // null value
    
  • التعبيرات التي تستخدم عوامل تشغيل المقارنة (==, !=, =, , =, >><) <
    أمثلة:

        "= $(/document/language) == 'en'"
        "= $(/document/sentiment) >= 0.5"
    
  • التعبيرات التي تستخدم عوامل التشغيل المنطقية (&&, ||, !, ^)
    أمثلة:

        "= $(/document/language) == 'en' && $(/document/sentiment) > 0.5"
        "= !true"
    
  • التعبيرات التي تستخدم عوامل تشغيل رقمية (+, -, *, /, ٪)
    أمثلة:

        "= $(/document/sentiment) + 0.5"         // addition
        "= $(/document/totalValue) * 1.10"       // multiplication
        "= $(/document/lengthInMeters) / 0.3049" // division
    

نظرا لأن المهارة الشرطية تدعم التقييم، يمكنك استخدامها في سيناريوهات التحويل الثانوي. على سبيل المثال، راجع تعريف المهارة 4.

مدخلات المهارات

المدخلات حساسة لحالة الأحرف.

إدخال الوصف
الحالة هذا الإدخال هو حقل تم تقييمه يمثل الشرط المطلوب تقييمه. يجب تقييم هذا الشرط إلى قيمة منطقية (صواب أو خطأ).
أمثلة:
"= صحيح"
"= $(/document/language) =='fr'"
"= $(/document/pages/*/language) == $(/document/expectLanguage)"
متىصحيح هذا الإدخال هو حقل تم تقييمه يمثل القيمة المراد إرجاعها إذا تم تقييم الشرط إلى true. يجب إرجاع سلاسل الثوابت في علامتي اقتباس مفردتين (' و ').
قيم العينة:
"= 'عقد'"
"= $(/document/contractType)"
"= $(/document/entities/*)"
متىكاذبة هذا الإدخال هو حقل تم تقييمه يمثل القيمة المراد إرجاعها إذا تم تقييم الشرط إلى false.
قيم العينة:
"= 'عقد'"
"= $(/document/contractType)"
"= $(/document/entities/*)"

مخرجات المهارات

هناك إخراج واحد يسمى ببساطة "الإخراج". ترجع القيمة عندماخطأ إذا كان الشرط خاطئا أو متىTrue إذا كان الشرط صحيحا.

أمثلة

نموذج تعريف المهارة 1: تصفية المستندات لإرجاع المستندات الفرنسية فقط

يرجع الناتج التالي مجموعة من الجمل ("/document/frenchSentences") إذا كانت لغة المستند فرنسية. إذا لم تكن اللغة فرنسية، تعيين القيمة إلى فارغة.

{
    "@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
    "context": "/document",
    "inputs": [
        { "name": "condition", "source": "= $(/document/language) == 'fr'" },
        { "name": "whenTrue", "source": "/document/sentences" },
        { "name": "whenFalse", "source": "= null" }
    ],
    "outputs": [ { "name": "output", "targetName": "frenchSentences" } ]
}

إذا تم استخدام "/document/frenchPhrases" كسياق لمهارة أخرى، فلن يتم تشغيل هذه المهارة إلا إذا لم يتم تعيين "/document/frenchPhrases" إلى لاغية.

نموذج تعريف المهارة 2: تعيين قيمة افتراضية لقيمة غير موجودة

ينشئ الناتج التالي تعليقا توضيحيا ("/document/languageWithDefault") يتم تعيينه على لغة المستند أو على "es" إذا لم يتم تعيين اللغة.

{
    "@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
    "context": "/document",
    "inputs": [
        { "name": "condition", "source": "= $(/document/language) == null" },
        { "name": "whenTrue", "source": "= 'es'" },
        { "name": "whenFalse", "source": "= $(/document/language)" }
    ],
    "outputs": [ { "name": "output", "targetName": "languageWithDefault" } ]
}

نموذج تعريف المهارة 3: دمج القيم من حقلين في حقل واحد

في هذا المثال، تحتوي بعض الجمل على خاصية frenchSentiment . عندما تكون الخاصية frenchSentiment فارغة، نريد استخدام قيمة EnglishSentiment . نقوم بتعيين الناتج لعضو يسمى المشاعر ("/document/phrases/*/sentiment").

{
    "@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
    "context": "/document/sentences/*",
    "inputs": [
        { "name": "condition", "source": "= $(/document/sentences/*/frenchSentiment) == null" },
        { "name": "whenTrue", "source": "/document/sentences/*/englishSentiment" },
        { "name": "whenFalse", "source": "/document/sentences/*/frenchSentiment" }
    ],
    "outputs": [ { "name": "output", "targetName": "sentiment" } ]
}

مثال على التحول

نموذج تعريف المهارة 4: تحويل البيانات في حقل واحد

في هذا المثال، نتلقى شعورا يتراوح بين 0 و1. نريد تحويلها لتكون بين -1 و 1. يمكننا استخدام المهارة الشرطية للقيام بهذا التحول الطفيف.

في هذا المثال، لا نستخدم الجانب الشرطي للمهارة لأن الشرط صحيح دائما.

{
    "@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
    "context": "/document/sentences/*",
    "inputs": [
        { "name": "condition", "source": "= true" },
        { "name": "whenTrue", "source": "= $(/document/sentences/*/sentiment) * 2 - 1" },
        { "name": "whenFalse", "source": "= 0" }
    ],
    "outputs": [ { "name": "output", "targetName": "normalizedSentiment" } ]
}

اعتبارات خاصة

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

الخطوات التالية